From cfd12f3fab71a326093c25ec66ebdddb0657639e Mon Sep 17 00:00:00 2001
From: Hailey
Date: Mon, 1 Apr 2024 22:45:08 -0700
Subject: [PATCH 01/54] rm old login code
---
src/screens/Login/LoginForm.tsx | 186 +++-----------------------------
1 file changed, 12 insertions(+), 174 deletions(-)
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index 6bf215ee56..157ea52939 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -53,8 +53,6 @@ export const LoginForm = ({
const {track} = useAnalytics()
const t = useTheme()
const [isProcessing, setIsProcessing] = useState(false)
- const [identifier, setIdentifier] = useState(initialHandle)
- const [password, setPassword] = useState('')
const passwordInputRef = useRef(null)
const {_} = useLingui()
const {login} = useSessionApi()
@@ -64,69 +62,8 @@ export const LoginForm = ({
track('Signin:PressedSelectService')
}, [track])
- const onPressNext = async () => {
- if (isProcessing) return
- Keyboard.dismiss()
- LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
- setError('')
- setIsProcessing(true)
-
- try {
- // try to guess the handle if the user just gave their own username
- let fullIdent = identifier
- if (
- !identifier.includes('@') && // not an email
- !identifier.includes('.') && // not a domain
- serviceDescription &&
- serviceDescription.availableUserDomains.length > 0
- ) {
- let matched = false
- for (const domain of serviceDescription.availableUserDomains) {
- if (fullIdent.endsWith(domain)) {
- matched = true
- }
- }
- if (!matched) {
- fullIdent = createFullHandle(
- identifier,
- serviceDescription.availableUserDomains[0],
- )
- }
- }
+ const onPressNext = async () => {}
- // TODO remove double login
- await login(
- {
- service: serviceUrl,
- identifier: fullIdent,
- password,
- },
- 'LoginForm',
- )
- } catch (e: any) {
- const errMsg = e.toString()
- LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
- setIsProcessing(false)
- if (errMsg.includes('Authentication Required')) {
- logger.debug('Failed to login due to invalid credentials', {
- error: errMsg,
- })
- setError(_(msg`Invalid username or password`))
- } else if (isNetworkError(e)) {
- logger.warn('Failed to login due to network error', {error: errMsg})
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- } else {
- logger.warn('Failed to login', {error: errMsg})
- setError(cleanError(errMsg))
- }
- }
- }
-
- const isReady = !!serviceDescription && !!identifier && !!password
return (
Sign in}>
@@ -139,84 +76,8 @@ export const LoginForm = ({
onOpenDialog={onPressSelectService}
/>
-
-
- Account
-
-
-
-
- {
- passwordInputRef.current?.focus()
- }}
- blurOnSubmit={false} // prevents flickering due to onSubmitEditing going to next field
- value={identifier}
- onChangeText={str =>
- setIdentifier((str || '').toLowerCase().trim())
- }
- editable={!isProcessing}
- accessibilityHint={_(
- msg`Input the username or email address you used at signup`,
- )}
- />
-
-
-
-
-
-
-
-
-
-
+
-
- {!serviceDescription && error ? (
-
- ) : !serviceDescription ? (
- <>
-
-
- Connecting...
-
- >
- ) : isReady ? (
-
- ) : undefined}
+
)
From 9128cb16905682feef525e1f9723f72751dac103 Mon Sep 17 00:00:00 2001
From: Hailey
Date: Mon, 1 Apr 2024 23:56:43 -0700
Subject: [PATCH 02/54] rm some more code and add some new code
---
src/screens/Login/LoginForm.tsx | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index 157ea52939..e090e080c3 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -6,6 +6,7 @@ import {
TextInput,
View,
} from 'react-native'
+import * as Browser from 'expo-web-browser'
import {ComAtprotoServerDescribeServer} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
@@ -57,12 +58,33 @@ export const LoginForm = ({
const {_} = useLingui()
const {login} = useSessionApi()
+ // This improves speed at which the browser presents itself on Android
+ React.useEffect(() => {
+ Browser.warmUpAsync()
+ }, [])
+
const onPressSelectService = React.useCallback(() => {
Keyboard.dismiss()
track('Signin:PressedSelectService')
}, [track])
- const onPressNext = async () => {}
+ const onPressNext = async () => {
+ const authSession = await Browser.openAuthSessionAsync(
+ 'https://bsky.app/login', // Replace this with the PDS auth url
+ 'bsky://login', // Replace this as well with the appropriate link
+ {
+ // Similar to how Google auth works. Sessions will be remembered so that we can
+ // usually proceed without needing credentials
+ preferEphemeralSession: true,
+ },
+ )
+
+ if (authSession.type !== 'success') {
+ return
+ }
+
+ // Handle session storage here
+ }
return (
Sign in}>
From 103d441f081328bcbe4b4e3e8e505998fdc88e52 Mon Sep 17 00:00:00 2001
From: Hailey
Date: Tue, 2 Apr 2024 15:49:39 -0700
Subject: [PATCH 03/54] remove some more unnecessary stuff
---
src/screens/Login/ForgotPasswordForm.tsx | 184 ---------------------
src/screens/Login/LoginForm.tsx | 46 ++----
src/screens/Login/PasswordUpdatedForm.tsx | 50 ------
src/screens/Login/SetNewPasswordForm.tsx | 192 ----------------------
src/screens/Login/index.tsx | 55 +------
5 files changed, 15 insertions(+), 512 deletions(-)
delete mode 100644 src/screens/Login/ForgotPasswordForm.tsx
delete mode 100644 src/screens/Login/PasswordUpdatedForm.tsx
delete mode 100644 src/screens/Login/SetNewPasswordForm.tsx
diff --git a/src/screens/Login/ForgotPasswordForm.tsx b/src/screens/Login/ForgotPasswordForm.tsx
deleted file mode 100644
index 580452e75b..0000000000
--- a/src/screens/Login/ForgotPasswordForm.tsx
+++ /dev/null
@@ -1,184 +0,0 @@
-import React, {useEffect, useState} from 'react'
-import {ActivityIndicator, Keyboard, View} from 'react-native'
-import {ComAtprotoServerDescribeServer} from '@atproto/api'
-import {BskyAgent} from '@atproto/api'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import * as EmailValidator from 'email-validator'
-
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {isNetworkError} from '#/lib/strings/errors'
-import {cleanError} from '#/lib/strings/errors'
-import {logger} from '#/logger'
-import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
-import {FormError} from '#/components/forms/FormError'
-import {HostingProvider} from '#/components/forms/HostingProvider'
-import * as TextField from '#/components/forms/TextField'
-import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
-import {Text} from '#/components/Typography'
-import {FormContainer} from './FormContainer'
-
-type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
-
-export const ForgotPasswordForm = ({
- error,
- serviceUrl,
- serviceDescription,
- setError,
- setServiceUrl,
- onPressBack,
- onEmailSent,
-}: {
- error: string
- serviceUrl: string
- serviceDescription: ServiceDescription | undefined
- setError: (v: string) => void
- setServiceUrl: (v: string) => void
- onPressBack: () => void
- onEmailSent: () => void
-}) => {
- const t = useTheme()
- const [isProcessing, setIsProcessing] = useState(false)
- const [email, setEmail] = useState('')
- const {screen} = useAnalytics()
- const {_} = useLingui()
-
- useEffect(() => {
- screen('Signin:ForgotPassword')
- }, [screen])
-
- const onPressSelectService = React.useCallback(() => {
- Keyboard.dismiss()
- }, [])
-
- const onPressNext = async () => {
- if (!EmailValidator.validate(email)) {
- return setError(_(msg`Your email appears to be invalid.`))
- }
-
- setError('')
- setIsProcessing(true)
-
- try {
- const agent = new BskyAgent({service: serviceUrl})
- await agent.com.atproto.server.requestPasswordReset({email})
- onEmailSent()
- } catch (e: any) {
- const errMsg = e.toString()
- logger.warn('Failed to request password reset', {error: e})
- setIsProcessing(false)
- if (isNetworkError(e)) {
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- } else {
- setError(cleanError(errMsg))
- }
- }
- }
-
- return (
- Reset password}>
-
-
- Hosting provider
-
-
-
-
-
- Email address
-
-
-
-
-
-
-
-
-
- Enter the email you used to create your account. We'll send you a
- "reset code" so you can set a new password.
-
-
-
-
-
-
-
-
- {!serviceDescription || isProcessing ? (
-
- ) : (
-
- )}
- {!serviceDescription || isProcessing ? (
-
- Processing...
-
- ) : undefined}
-
-
-
-
-
- )
-}
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index e090e080c3..919591eb5e 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -1,31 +1,17 @@
-import React, {useRef, useState} from 'react'
-import {
- ActivityIndicator,
- Keyboard,
- LayoutAnimation,
- TextInput,
- View,
-} from 'react-native'
+import React from 'react'
+import {Keyboard, View} from 'react-native'
import * as Browser from 'expo-web-browser'
import {ComAtprotoServerDescribeServer} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useAnalytics} from '#/lib/analytics/analytics'
-import {isNetworkError} from '#/lib/strings/errors'
-import {cleanError} from '#/lib/strings/errors'
-import {createFullHandle} from '#/lib/strings/handles'
-import {logger} from '#/logger'
-import {useSessionApi} from '#/state/session'
-import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {isAndroid} from 'platform/detection'
+import {atoms as a} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
import {FormError} from '#/components/forms/FormError'
import {HostingProvider} from '#/components/forms/HostingProvider'
import * as TextField from '#/components/forms/TextField'
-import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
-import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
-import {Loader} from '#/components/Loader'
-import {Text} from '#/components/Typography'
import {FormContainer} from './FormContainer'
type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
@@ -34,17 +20,14 @@ export const LoginForm = ({
error,
serviceUrl,
serviceDescription,
- initialHandle,
setError,
setServiceUrl,
onPressRetryConnect,
onPressBack,
- onPressForgotPassword,
}: {
error: string
serviceUrl: string
serviceDescription: ServiceDescription | undefined
- initialHandle: string
setError: (v: string) => void
setServiceUrl: (v: string) => void
onPressRetryConnect: () => void
@@ -52,15 +35,13 @@ export const LoginForm = ({
onPressForgotPassword: () => void
}) => {
const {track} = useAnalytics()
- const t = useTheme()
- const [isProcessing, setIsProcessing] = useState(false)
- const passwordInputRef = useRef(null)
const {_} = useLingui()
- const {login} = useSessionApi()
// This improves speed at which the browser presents itself on Android
React.useEffect(() => {
- Browser.warmUpAsync()
+ if (isAndroid) {
+ Browser.warmUpAsync()
+ }
}, [])
const onPressSelectService = React.useCallback(() => {
@@ -73,9 +54,7 @@ export const LoginForm = ({
'https://bsky.app/login', // Replace this with the PDS auth url
'bsky://login', // Replace this as well with the appropriate link
{
- // Similar to how Google auth works. Sessions will be remembered so that we can
- // usually proceed without needing credentials
- preferEphemeralSession: true,
+ windowFeatures: {},
},
)
@@ -86,6 +65,8 @@ export const LoginForm = ({
// Handle session storage here
}
+ console.log(serviceDescription)
+
return (
Sign in}>
@@ -115,9 +96,10 @@ export const LoginForm = ({
variant="solid"
color="primary"
size="medium"
- onPress={onPressBack}>
+ onPress={onPressNext}
+ disabled={!serviceDescription}>
- Login
+ Sign In
diff --git a/src/screens/Login/PasswordUpdatedForm.tsx b/src/screens/Login/PasswordUpdatedForm.tsx
deleted file mode 100644
index 5407f3f1e3..0000000000
--- a/src/screens/Login/PasswordUpdatedForm.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import React, {useEffect} from 'react'
-import {View} from 'react-native'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {atoms as a, useBreakpoints} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
-import {Text} from '#/components/Typography'
-import {FormContainer} from './FormContainer'
-
-export const PasswordUpdatedForm = ({
- onPressNext,
-}: {
- onPressNext: () => void
-}) => {
- const {screen} = useAnalytics()
- const {_} = useLingui()
- const {gtMobile} = useBreakpoints()
-
- useEffect(() => {
- screen('Signin:PasswordUpdatedForm')
- }, [screen])
-
- return (
-
-
- Password updated!
-
-
- You can now sign in with your new password.
-
-
-
-
-
- )
-}
diff --git a/src/screens/Login/SetNewPasswordForm.tsx b/src/screens/Login/SetNewPasswordForm.tsx
deleted file mode 100644
index e7b4886550..0000000000
--- a/src/screens/Login/SetNewPasswordForm.tsx
+++ /dev/null
@@ -1,192 +0,0 @@
-import React, {useEffect, useState} from 'react'
-import {ActivityIndicator, View} from 'react-native'
-import {BskyAgent} from '@atproto/api'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {isNetworkError} from '#/lib/strings/errors'
-import {cleanError} from '#/lib/strings/errors'
-import {checkAndFormatResetCode} from '#/lib/strings/password'
-import {logger} from '#/logger'
-import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
-import {FormError} from '#/components/forms/FormError'
-import * as TextField from '#/components/forms/TextField'
-import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
-import {Ticket_Stroke2_Corner0_Rounded as Ticket} from '#/components/icons/Ticket'
-import {Text} from '#/components/Typography'
-import {FormContainer} from './FormContainer'
-
-export const SetNewPasswordForm = ({
- error,
- serviceUrl,
- setError,
- onPressBack,
- onPasswordSet,
-}: {
- error: string
- serviceUrl: string
- setError: (v: string) => void
- onPressBack: () => void
- onPasswordSet: () => void
-}) => {
- const {screen} = useAnalytics()
- const {_} = useLingui()
- const t = useTheme()
-
- useEffect(() => {
- screen('Signin:SetNewPasswordForm')
- }, [screen])
-
- const [isProcessing, setIsProcessing] = useState(false)
- const [resetCode, setResetCode] = useState('')
- const [password, setPassword] = useState('')
-
- const onPressNext = async () => {
- // Check that the code is correct. We do this again just incase the user enters the code after their pw and we
- // don't get to call onBlur first
- const formattedCode = checkAndFormatResetCode(resetCode)
- // TODO Better password strength check
- if (!formattedCode || !password) {
- setError(
- _(
- msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
- ),
- )
- return
- }
-
- setError('')
- setIsProcessing(true)
-
- try {
- const agent = new BskyAgent({service: serviceUrl})
- await agent.com.atproto.server.resetPassword({
- token: formattedCode,
- password,
- })
- onPasswordSet()
- } catch (e: any) {
- const errMsg = e.toString()
- logger.warn('Failed to set new password', {error: e})
- setIsProcessing(false)
- if (isNetworkError(e)) {
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- } else {
- setError(cleanError(errMsg))
- }
- }
- }
-
- const onBlur = () => {
- const formattedCode = checkAndFormatResetCode(resetCode)
- if (!formattedCode) {
- setError(
- _(
- msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
- ),
- )
- return
- }
- setResetCode(formattedCode)
- }
-
- return (
- Set new password}>
-
-
- You will receive an email with a "reset code." Enter that code here,
- then enter your new password.
-
-
-
-
- Reset code
-
-
- setError('')}
- onBlur={onBlur}
- editable={!isProcessing}
- accessibilityHint={_(
- msg`Input code sent to your email for password reset`,
- )}
- />
-
-
-
-
- New password
-
-
-
-
-
-
-
-
-
-
-
- {isProcessing ? (
-
- ) : (
-
- )}
- {isProcessing ? (
-
- Updating...
-
- ) : undefined}
-
-
- )
-}
diff --git a/src/screens/Login/index.tsx b/src/screens/Login/index.tsx
index 1fce63d298..42b355a730 100644
--- a/src/screens/Login/index.tsx
+++ b/src/screens/Login/index.tsx
@@ -4,17 +4,13 @@ import {LayoutAnimationConfig} from 'react-native-reanimated'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useAnalytics} from '#/lib/analytics/analytics'
import {DEFAULT_SERVICE} from '#/lib/constants'
import {logger} from '#/logger'
import {useServiceQuery} from '#/state/queries/service'
import {SessionAccount, useSession} from '#/state/session'
import {useLoggedOutView} from '#/state/shell/logged-out'
import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
-import {ForgotPasswordForm} from '#/screens/Login/ForgotPasswordForm'
import {LoginForm} from '#/screens/Login/LoginForm'
-import {PasswordUpdatedForm} from '#/screens/Login/PasswordUpdatedForm'
-import {SetNewPasswordForm} from '#/screens/Login/SetNewPasswordForm'
import {atoms as a} from '#/alf'
import {ChooseAccountForm} from './ChooseAccountForm'
import {ScreenTransition} from './ScreenTransition'
@@ -22,16 +18,12 @@ import {ScreenTransition} from './ScreenTransition'
enum Forms {
Login,
ChooseAccount,
- ForgotPassword,
- SetNewPassword,
- PasswordUpdated,
}
export const Login = ({onPressBack}: {onPressBack: () => void}) => {
const {_} = useLingui()
const {accounts} = useSession()
- const {track} = useAnalytics()
const {requestedAccountSwitchTo} = useLoggedOutView()
const requestedAccount = accounts.find(
acc => acc.did === requestedAccountSwitchTo,
@@ -41,9 +33,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
const [serviceUrl, setServiceUrl] = React.useState(
requestedAccount?.service || DEFAULT_SERVICE,
)
- const [initialHandle, setInitialHandle] = React.useState(
- requestedAccount?.handle || '',
- )
const [currentForm, setCurrentForm] = React.useState(
requestedAccount
? Forms.Login
@@ -62,7 +51,7 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
if (account?.service) {
setServiceUrl(account.service)
}
- setInitialHandle(account?.handle || '')
+ // TODO set the service URL. We really need to fix this though in general
setCurrentForm(Forms.Login)
}
@@ -86,11 +75,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
}
}, [serviceError, serviceUrl, _])
- const onPressForgotPassword = () => {
- track('Signin:PressedForgotPassword')
- setCurrentForm(Forms.ForgotPassword)
- }
-
let content = null
let title = ''
let description = ''
@@ -104,13 +88,11 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
error={error}
serviceUrl={serviceUrl}
serviceDescription={serviceDescription}
- initialHandle={initialHandle}
setError={setError}
setServiceUrl={setServiceUrl}
onPressBack={() =>
accounts.length ? gotoForm(Forms.ChooseAccount) : onPressBack()
}
- onPressForgotPassword={onPressForgotPassword}
onPressRetryConnect={refetchService}
/>
)
@@ -125,41 +107,6 @@ export const Login = ({onPressBack}: {onPressBack: () => void}) => {
/>
)
break
- case Forms.ForgotPassword:
- title = _(msg`Forgot Password`)
- description = _(msg`Let's get your password reset!`)
- content = (
- gotoForm(Forms.Login)}
- onEmailSent={() => gotoForm(Forms.SetNewPassword)}
- />
- )
- break
- case Forms.SetNewPassword:
- title = _(msg`Forgot Password`)
- description = _(msg`Let's get your password reset!`)
- content = (
- gotoForm(Forms.ForgotPassword)}
- onPasswordSet={() => gotoForm(Forms.PasswordUpdated)}
- />
- )
- break
- case Forms.PasswordUpdated:
- title = _(msg`Password updated`)
- description = _(msg`You can now sign in with your new password.`)
- content = (
- gotoForm(Forms.Login)} />
- )
- break
}
return (
From 6856b7665624262e0ceeb5b6f87b8844f33b95b5 Mon Sep 17 00:00:00 2001
From: Hailey
Date: Tue, 2 Apr 2024 15:54:56 -0700
Subject: [PATCH 04/54] add auth session browser for native
---
src/screens/Login/LoginForm.tsx | 25 ++++---------------------
src/screens/Login/hooks/useLogin.ts | 25 +++++++++++++++++++++++++
src/screens/Login/hooks/useLogin.web.ts | 0
3 files changed, 29 insertions(+), 21 deletions(-)
create mode 100644 src/screens/Login/hooks/useLogin.ts
create mode 100644 src/screens/Login/hooks/useLogin.web.ts
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
index 919591eb5e..237e160d61 100644
--- a/src/screens/Login/LoginForm.tsx
+++ b/src/screens/Login/LoginForm.tsx
@@ -7,6 +7,7 @@ import {useLingui} from '@lingui/react'
import {useAnalytics} from '#/lib/analytics/analytics'
import {isAndroid} from 'platform/detection'
+import {useLogin} from '#/screens/Login/hooks/useLogin'
import {atoms as a} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import {FormError} from '#/components/forms/FormError'
@@ -32,10 +33,10 @@ export const LoginForm = ({
setServiceUrl: (v: string) => void
onPressRetryConnect: () => void
onPressBack: () => void
- onPressForgotPassword: () => void
}) => {
const {track} = useAnalytics()
const {_} = useLingui()
+ const {openAuthSession} = useLogin(serviceUrl)
// This improves speed at which the browser presents itself on Android
React.useEffect(() => {
@@ -49,24 +50,6 @@ export const LoginForm = ({
track('Signin:PressedSelectService')
}, [track])
- const onPressNext = async () => {
- const authSession = await Browser.openAuthSessionAsync(
- 'https://bsky.app/login', // Replace this with the PDS auth url
- 'bsky://login', // Replace this as well with the appropriate link
- {
- windowFeatures: {},
- },
- )
-
- if (authSession.type !== 'success') {
- return
- }
-
- // Handle session storage here
- }
-
- console.log(serviceDescription)
-
return (
Sign in}>
@@ -80,7 +63,7 @@ export const LoginForm = ({
/>
-
+
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo : bar
+}>
+
+
+ `,
+ errors: 2,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText() {
+ return
+}
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText({ foo }) {
+ return {foo}
+}
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText({ foo }) {
+ if (foo) {
+ return {foo}
+ }
+ return foo
+}
+ `,
+ errors: 1,
+ },
+ ],
+ }
+
+ // For easier local testing
+ if (!process.env.CI) {
+ let only = []
+ let skipped = []
+ ;[...tests.valid, ...tests.invalid].forEach(t => {
+ if (t.skip) {
+ delete t.skip
+ skipped.push(t)
+ }
+ if (t.only) {
+ delete t.only
+ only.push(t)
+ }
+ })
+ const predicate = t => {
+ if (only.length > 0) {
+ return only.indexOf(t) !== -1
+ }
+ if (skipped.length > 0) {
+ return skipped.indexOf(t) === -1
+ }
+ return true
+ }
+ tests.valid = tests.valid.filter(predicate)
+ tests.invalid = tests.invalid.filter(predicate)
+ }
+ ruleTester.run('avoid-unwrapped-text', avoidUnwrappedText, tests)
+})
diff --git a/eslint/avoid-unwrapped-text.js b/eslint/avoid-unwrapped-text.js
new file mode 100644
index 0000000000..79d099f00a
--- /dev/null
+++ b/eslint/avoid-unwrapped-text.js
@@ -0,0 +1,147 @@
+'use strict'
+
+// Partially based on eslint-plugin-react-native.
+// Portions of code by Alex Zhukov, MIT license.
+
+function hasOnlyLineBreak(value) {
+ return /^[\r\n\t\f\v]+$/.test(value.replace(/ /g, ''))
+}
+
+function getTagName(node) {
+ const reversedIdentifiers = []
+ if (
+ node.type === 'JSXElement' &&
+ node.openingElement.type === 'JSXOpeningElement'
+ ) {
+ let object = node.openingElement.name
+ while (object.type === 'JSXMemberExpression') {
+ if (object.property.type === 'JSXIdentifier') {
+ reversedIdentifiers.push(object.property.name)
+ }
+ object = object.object
+ }
+
+ if (object.type === 'JSXIdentifier') {
+ reversedIdentifiers.push(object.name)
+ }
+ }
+
+ return reversedIdentifiers.reverse().join('.')
+}
+
+exports.create = function create(context) {
+ const options = context.options[0] || {}
+ const impliedTextProps = options.impliedTextProps ?? []
+ const impliedTextComponents = options.impliedTextComponents ?? []
+ const textProps = [...impliedTextProps]
+ const textComponents = ['Text', ...impliedTextComponents]
+
+ function isTextComponent(tagName) {
+ return textComponents.includes(tagName) || tagName.endsWith('Text')
+ }
+
+ return {
+ JSXText(node) {
+ if (typeof node.value !== 'string' || hasOnlyLineBreak(node.value)) {
+ return
+ }
+ let parent = node.parent
+ while (parent) {
+ if (parent.type === 'JSXElement') {
+ const tagName = getTagName(parent)
+ if (isTextComponent(tagName)) {
+ // We're good.
+ return
+ }
+ if (tagName === 'Trans') {
+ // Skip over it and check above.
+ // TODO: Maybe validate that it's present.
+ parent = parent.parent
+ continue
+ }
+ let message = 'Wrap this string in .'
+ if (tagName !== 'View') {
+ message +=
+ ' If <' +
+ tagName +
+ '> is guaranteed to render , ' +
+ 'rename it to <' +
+ tagName +
+ 'Text> or add it to impliedTextComponents.'
+ }
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ if (
+ parent.type === 'JSXAttribute' &&
+ parent.name.type === 'JSXIdentifier' &&
+ parent.parent.type === 'JSXOpeningElement' &&
+ parent.parent.parent.type === 'JSXElement'
+ ) {
+ const tagName = getTagName(parent.parent.parent)
+ const propName = parent.name.name
+ if (
+ textProps.includes(tagName + ' ' + propName) ||
+ propName === 'text' ||
+ propName.endsWith('Text')
+ ) {
+ // We're good.
+ return
+ }
+ const message =
+ 'Wrap this string in .' +
+ ' If `' +
+ propName +
+ '` is guaranteed to be wrapped in , ' +
+ 'rename it to `' +
+ propName +
+ 'Text' +
+ '` or add it to impliedTextProps.'
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ parent = parent.parent
+ continue
+ }
+ },
+ ReturnStatement(node) {
+ let fnScope = context.getScope()
+ while (fnScope && fnScope.type !== 'function') {
+ fnScope = fnScope.upper
+ }
+ if (!fnScope) {
+ return
+ }
+ const fn = fnScope.block
+ if (!fn.id || fn.id.type !== 'Identifier' || !fn.id.name) {
+ return
+ }
+ if (!/^[A-Z]\w*Text$/.test(fn.id.name)) {
+ return
+ }
+ if (!node.argument || node.argument.type !== 'JSXElement') {
+ return
+ }
+ const openingEl = node.argument.openingElement
+ if (openingEl.name.type !== 'JSXIdentifier') {
+ return
+ }
+ const returnedComponentName = openingEl.name.name
+ if (!isTextComponent(returnedComponentName)) {
+ context.report({
+ node,
+ message:
+ 'Components ending with *Text must return or .',
+ })
+ }
+ },
+ }
+}
diff --git a/eslint/index.js b/eslint/index.js
new file mode 100644
index 0000000000..daf5bd81d9
--- /dev/null
+++ b/eslint/index.js
@@ -0,0 +1,7 @@
+'use strict'
+
+module.exports = {
+ rules: {
+ 'avoid-unwrapped-text': require('./avoid-unwrapped-text'),
+ },
+}
diff --git a/lingui.config.js b/lingui.config.js
index 6da69e98ed..14a94b5ded 100644
--- a/lingui.config.js
+++ b/lingui.config.js
@@ -2,19 +2,22 @@
module.exports = {
locales: [
'en',
+ 'ca',
'de',
'es',
'fi',
'fr',
+ 'ga',
'hi',
'id',
+ 'it',
'ja',
'ko',
'pt-BR',
+ 'tr',
'uk',
- 'ca',
'zh-CN',
- 'it',
+ 'zh-TW',
],
catalogs: [
{
diff --git a/modules/react-native-ui-text-view/README.md b/modules/react-native-ui-text-view/README.md
deleted file mode 100644
index b19ac89670..0000000000
--- a/modules/react-native-ui-text-view/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# React Native UITextView
-
-Drop in replacement for `` that renders a `UITextView`, support selection and native translation features on iOS.
-
-## Installation
-
-In this project, no installation is required. The pod will be installed automatically during a `pod install`.
-
-In another project, clone the repo and copy the `modules/react-native-ui-text-view` directory to your own project
-directory. Afterward, run `pod install`.
-
-## Usage
-
-Replace the outermost `` with ``. Styles and press events should be handled the same way they would
-with ``. Both `` and `` are supported as children of the root ``.
-
-## Technical
-
-React Native's `Text` component allows for "infinite" nesting of further `Text` components. To make a true "drop-in",
-we want to do the same thing.
-
-To achieve this, we first need to handle determining if we are dealing with an ancestor or root `UITextView` component.
-We can implement similar logic to the `Text` component [see Text.js](https://github.com/facebook/react-native/blob/7f2529de7bc9ab1617eaf571e950d0717c3102a6/packages/react-native/Libraries/Text/Text.js).
-
-We create a context that contains a boolean to tell us if we have already rendered the root `UITextView`. We also store
-the root styles so that we can apply those styles if the ancestor `UITextView`s have not overwritten those styles.
-
-All of our children are placed into `RNUITextView`, which is the main native view that will display the iOS `UITextView`.
-
-We next map each child into the view. We have to be careful here to check if the child's `children` prop is a string. If
-it is, that means we have encountered what was once an RN `Text` component. RN doesn't let us pass plain text as
-children outside of `Text`, so we instead just pass the text into the `text` prop on `RNUITextViewChild`. We continue
-down the tree, until we run out of children.
-
-On the native side, we make use of the shadow view to calculate text container dimensions before the views are mounted.
-We cannot simply set the `UITextView` text first, since React will not have properly measured the layout before this
-occurs.
-
-
-As for `Text` props, the following props are implemented:
-
-- All accessibility props
-- `allowFontScaling`
-- `adjustsFontSizeToFit`
-- `ellipsizeMode`
-- `numberOfLines`
-- `onLayout`
-- `onPress`
-- `onTextLayout`
-- `selectable`
-
-All `ViewStyle` props will apply to the root `UITextView`. Individual children will respect these `TextStyle` styles:
-
-- `color`
-- `fontSize`
-- `fontStyle`
-- `fontWeight`
-- `fontVariant`
-- `letterSpacing`
-- `lineHeight`
-- `textDecorationLine`
diff --git a/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h b/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h
deleted file mode 100644
index e669b47eb2..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import
-#import
-#import
diff --git a/modules/react-native-ui-text-view/ios/RNUITextView.swift b/modules/react-native-ui-text-view/ios/RNUITextView.swift
deleted file mode 100644
index 3fb55873dc..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextView.swift
+++ /dev/null
@@ -1,153 +0,0 @@
-class RNUITextView: UIView {
- var textView: UITextView
-
- @objc var numberOfLines: Int = 0 {
- didSet {
- textView.textContainer.maximumNumberOfLines = numberOfLines
- }
- }
- @objc var selectable: Bool = true {
- didSet {
- textView.isSelectable = selectable
- }
- }
- @objc var ellipsizeMode: String = "tail" {
- didSet {
- textView.textContainer.lineBreakMode = self.getLineBreakMode()
- }
- }
- @objc var onTextLayout: RCTDirectEventBlock?
-
- override init(frame: CGRect) {
- if #available(iOS 16.0, *) {
- textView = UITextView(usingTextLayoutManager: false)
- } else {
- textView = UITextView()
- }
-
- // Disable scrolling
- textView.isScrollEnabled = false
- // Remove all the padding
- textView.textContainerInset = .zero
- textView.textContainer.lineFragmentPadding = 0
-
- // Remove other properties
- textView.isEditable = false
- textView.backgroundColor = .clear
-
- // Init
- super.init(frame: frame)
- self.clipsToBounds = true
-
- // Add the view
- addSubview(textView)
-
- let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(callOnPress(_:)))
- tapGestureRecognizer.isEnabled = true
- textView.addGestureRecognizer(tapGestureRecognizer)
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- // Resolves some animation issues
- override func reactSetFrame(_ frame: CGRect) {
- UIView.performWithoutAnimation {
- super.reactSetFrame(frame)
- }
- }
-
- func setText(string: NSAttributedString, size: CGSize, numberOfLines: Int) -> Void {
- self.textView.frame.size = size
- self.textView.textContainer.maximumNumberOfLines = numberOfLines
- self.textView.attributedText = string
- self.textView.selectedTextRange = nil
-
- if let onTextLayout = self.onTextLayout {
- var lines: [String] = []
- textView.layoutManager.enumerateLineFragments(
- forGlyphRange: NSRange(location: 0, length: textView.attributedText.length))
- { (rect, usedRect, textContainer, glyphRange, stop) in
- let characterRange = self.textView.layoutManager.characterRange(forGlyphRange: glyphRange, actualGlyphRange: nil)
- let line = (self.textView.text as NSString).substring(with: characterRange)
- lines.append(line)
- }
-
- onTextLayout([
- "lines": lines
- ])
- }
- }
-
- @IBAction func callOnPress(_ sender: UITapGestureRecognizer) -> Void {
- // If we find a child, then call onPress
- if let child = getPressed(sender) {
- if textView.selectedTextRange == nil, let onPress = child.onPress {
- onPress(["": ""])
- } else {
- // Clear the selected text range if we are not pressing on a link
- textView.selectedTextRange = nil
- }
- }
- }
-
- // Try to get the pressed segment
- func getPressed(_ sender: UITapGestureRecognizer) -> RNUITextViewChild? {
- let layoutManager = textView.layoutManager
- var location = sender.location(in: textView)
-
- // Remove the padding
- location.x -= textView.textContainerInset.left
- location.y -= textView.textContainerInset.top
-
- // Get the index of the char
- let charIndex = layoutManager.characterIndex(
- for: location,
- in: textView.textContainer,
- fractionOfDistanceBetweenInsertionPoints: nil
- )
-
- var lastUpperBound: String.Index? = nil
- for child in self.reactSubviews() {
- if let child = child as? RNUITextViewChild, let childText = child.text {
- let fullText = self.textView.attributedText.string
-
- // We want to skip over the children we have already checked, otherwise we could run into
- // collisions of similar strings (i.e. links that get shortened to the same hostname but
- // different paths)
- let range = fullText.range(of: childText, options: [], range: (lastUpperBound ?? String.Index(utf16Offset: 0, in: fullText) )..= lowerOffset,
- charIndex <= upperOffset
- {
- return child
- } else {
- lastUpperBound = upperBound
- }
- }
- }
- }
-
- return nil
- }
-
- func getLineBreakMode() -> NSLineBreakMode {
- switch self.ellipsizeMode {
- case "head":
- return .byTruncatingHead
- case "middle":
- return .byTruncatingMiddle
- case "tail":
- return .byTruncatingTail
- case "clip":
- return .byClipping
- default:
- return .byTruncatingTail
- }
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift b/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift
deleted file mode 100644
index c341c46e44..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-class RNUITextViewChild: UIView {
- @objc var text: String?
- @objc var onPress: RCTDirectEventBlock?
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift b/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift
deleted file mode 100644
index 09119a369b..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift
+++ /dev/null
@@ -1,56 +0,0 @@
-// We want all of our props to be available in the child's shadow view so we
-// can create the attributed text before mount and calculate the needed size
-// for the view.
-class RNUITextViewChildShadow: RCTShadowView {
- @objc var text: String = ""
- @objc var color: UIColor = .black
- @objc var fontSize: CGFloat = 16.0
- @objc var fontStyle: String = "normal"
- @objc var fontWeight: String = "normal"
- @objc var letterSpacing: CGFloat = 0.0
- @objc var lineHeight: CGFloat = 0.0
- @objc var pointerEvents: NSString?
-
- override func isYogaLeafNode() -> Bool {
- return true
- }
-
- override func didSetProps(_ changedProps: [String]!) {
- guard let superview = self.superview as? RNUITextViewShadow else {
- return
- }
-
- if !YGNodeIsDirty(superview.yogaNode) {
- superview.setAttributedText()
- }
- }
-
- func getFontWeight() -> UIFont.Weight {
- switch self.fontWeight {
- case "bold":
- return .bold
- case "normal":
- return .regular
- case "100":
- return .ultraLight
- case "200":
- return .ultraLight
- case "300":
- return .light
- case "400":
- return .regular
- case "500":
- return .medium
- case "600":
- return .semibold
- case "700":
- return .semibold
- case "800":
- return .bold
- case "900":
- return .heavy
- default:
- return .regular
- }
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewManager.m b/modules/react-native-ui-text-view/ios/RNUITextViewManager.m
deleted file mode 100644
index 32dfb3b285..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewManager.m
+++ /dev/null
@@ -1,26 +0,0 @@
-#import
-
-@interface RCT_EXTERN_MODULE(RNUITextViewManager, RCTViewManager)
-RCT_REMAP_SHADOW_PROPERTY(numberOfLines, numberOfLines, NSInteger)
-RCT_REMAP_SHADOW_PROPERTY(allowsFontScaling, allowsFontScaling, BOOL)
-
-RCT_EXPORT_VIEW_PROPERTY(numberOfLines, NSInteger)
-RCT_EXPORT_VIEW_PROPERTY(onTextLayout, RCTDirectEventBlock)
-RCT_EXPORT_VIEW_PROPERTY(ellipsizeMode, NSString)
-RCT_EXPORT_VIEW_PROPERTY(selectable, BOOL)
-
-@end
-
-@interface RCT_EXTERN_MODULE(RNUITextViewChildManager, RCTViewManager)
-RCT_REMAP_SHADOW_PROPERTY(text, text, NSString)
-RCT_REMAP_SHADOW_PROPERTY(color, color, UIColor)
-RCT_REMAP_SHADOW_PROPERTY(fontSize, fontSize, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(fontStyle, fontStyle, NSString)
-RCT_REMAP_SHADOW_PROPERTY(fontWeight, fontWeight, NSString)
-RCT_REMAP_SHADOW_PROPERTY(letterSpacing, letterSpacing, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(lineHeight, lineHeight, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(pointerEvents, pointerEvents, NSString)
-
-RCT_EXPORT_VIEW_PROPERTY(text, NSString)
-RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
-@end
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift b/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift
deleted file mode 100644
index 297bcbbb26..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift
+++ /dev/null
@@ -1,30 +0,0 @@
-@objc(RNUITextViewManager)
-class RNUITextViewManager: RCTViewManager {
- override func view() -> (RNUITextView) {
- return RNUITextView()
- }
-
- @objc override static func requiresMainQueueSetup() -> Bool {
- return true
- }
-
- override func shadowView() -> RCTShadowView {
- // Pass the bridge to the shadow view
- return RNUITextViewShadow(bridge: self.bridge)
- }
-}
-
-@objc(RNUITextViewChildManager)
-class RNUITextViewChildManager: RCTViewManager {
- override func view() -> (RNUITextViewChild) {
- return RNUITextViewChild()
- }
-
- @objc override static func requiresMainQueueSetup() -> Bool {
- return true
- }
-
- override func shadowView() -> RCTShadowView {
- return RNUITextViewChildShadow()
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift b/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift
deleted file mode 100644
index 5a462f6b62..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift
+++ /dev/null
@@ -1,152 +0,0 @@
-class RNUITextViewShadow: RCTShadowView {
- // Props
- @objc var numberOfLines: Int = 0 {
- didSet {
- if !YGNodeIsDirty(self.yogaNode) {
- self.setAttributedText()
- }
- }
- }
- @objc var allowsFontScaling: Bool = true
-
- var attributedText: NSAttributedString = NSAttributedString()
- var frameSize: CGSize = CGSize()
-
- var lineHeight: CGFloat = 0
-
- var bridge: RCTBridge
-
- init(bridge: RCTBridge) {
- self.bridge = bridge
- super.init()
-
- // We need to set a custom measure func here to calculate the height correctly
- YGNodeSetMeasureFunc(self.yogaNode) { node, width, widthMode, height, heightMode in
- // Get the shadowview and determine the needed size to set
- let shadowView = Unmanaged.fromOpaque(YGNodeGetContext(node)).takeUnretainedValue()
- return shadowView.getNeededSize(maxWidth: width)
- }
-
- // Subscribe to ynamic type size changes
- NotificationCenter.default.addObserver(
- self,
- selector: #selector(preferredContentSizeChanged(_:)),
- name: UIContentSizeCategory.didChangeNotification,
- object: nil
- )
- }
-
- @objc func preferredContentSizeChanged(_ notification: Notification) {
- self.setAttributedText()
- }
-
- // Returning true here will tell Yoga to not use flexbox and instead use our custom measure func.
- override func isYogaLeafNode() -> Bool {
- return true
- }
-
- // We should only insert children that are UITextView shadows
- override func insertReactSubview(_ subview: RCTShadowView!, at atIndex: Int) {
- if subview.isKind(of: RNUITextViewChildShadow.self) {
- super.insertReactSubview(subview, at: atIndex)
- }
- }
-
- // Every time the subviews change, we need to reformat and render the text.
- override func didUpdateReactSubviews() {
- self.setAttributedText()
- }
-
- // Whenever we layout, update the UI
- override func layoutSubviews(with layoutContext: RCTLayoutContext) {
- // Don't do anything if the layout is dirty
- if(YGNodeIsDirty(self.yogaNode)) {
- return
- }
-
- // Since we are inside the shadow view here, we have to find the real view and update the text.
- self.bridge.uiManager.addUIBlock { uiManager, viewRegistry in
- guard let textView = viewRegistry?[self.reactTag] as? RNUITextView else {
- return
- }
- textView.setText(string: self.attributedText, size: self.frameSize, numberOfLines: self.numberOfLines)
- }
- }
-
- override func dirtyLayout() {
- super.dirtyLayout()
- YGNodeMarkDirty(self.yogaNode)
- }
-
- // Update the attributed text whenever changes are made to the subviews.
- func setAttributedText() -> Void {
- // Create an attributed string to store each of the segments
- let finalAttributedString = NSMutableAttributedString()
-
- self.reactSubviews().forEach { child in
- guard let child = child as? RNUITextViewChildShadow else {
- return
- }
- let scaledFontSize = self.allowsFontScaling ?
- UIFontMetrics.default.scaledValue(for: child.fontSize) : child.fontSize
- let font = UIFont.systemFont(ofSize: scaledFontSize, weight: child.getFontWeight())
-
- // Set some generic attributes that don't need ranges
- let attributes: [NSAttributedString.Key:Any] = [
- .font: font,
- .foregroundColor: child.color,
- ]
-
- // Create the attributed string with the generic attributes
- let string = NSMutableAttributedString(string: child.text, attributes: attributes)
-
- // Set the paragraph style attributes if necessary. We can check this by seeing if the provided
- // line height is not 0.0.
- let paragraphStyle = NSMutableParagraphStyle()
- if child.lineHeight != 0.0 {
- // Whenever we change the line height for the text, we are also removing the DynamicType
- // adjustment for line height. We need to get the multiplier and apply that to the
- // line height.
- let scaleMultiplier = scaledFontSize / child.fontSize
- paragraphStyle.minimumLineHeight = child.lineHeight * scaleMultiplier
- paragraphStyle.maximumLineHeight = child.lineHeight * scaleMultiplier
-
- string.addAttribute(
- NSAttributedString.Key.paragraphStyle,
- value: paragraphStyle,
- range: NSMakeRange(0, string.length)
- )
-
- // To calcualte the size of the text without creating a new UILabel or UITextView, we have
- // to store this line height for later.
- self.lineHeight = child.lineHeight
- } else {
- self.lineHeight = font.lineHeight
- }
-
- finalAttributedString.append(string)
- }
-
- self.attributedText = finalAttributedString
- self.dirtyLayout()
- }
-
- // To create the needed size we need to:
- // 1. Get the max size that we can use for the view
- // 2. Calculate the height of the text based on that max size
- // 3. Determine how many lines the text is, and limit that number if it exceeds the max
- // 4. Set the frame size and return the YGSize. YGSize requires Float values while CGSize needs CGFloat
- func getNeededSize(maxWidth: Float) -> YGSize {
- let maxSize = CGSize(width: CGFloat(maxWidth), height: CGFloat(MAXFLOAT))
- let textSize = self.attributedText.boundingRect(with: maxSize, options: .usesLineFragmentOrigin, context: nil)
-
- var totalLines = Int(ceil(textSize.height / self.lineHeight))
-
- if self.numberOfLines != 0, totalLines > self.numberOfLines {
- totalLines = self.numberOfLines
- }
-
- self.frameSize = CGSize(width: CGFloat(maxWidth), height: CGFloat(CGFloat(totalLines) * self.lineHeight))
- return YGSize(width: Float(self.frameSize.width), height: Float(self.frameSize.height))
- }
-}
diff --git a/modules/react-native-ui-text-view/package.json b/modules/react-native-ui-text-view/package.json
deleted file mode 100644
index 184a9014e8..0000000000
--- a/modules/react-native-ui-text-view/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "react-native-ui-text-view",
- "version": "0.1.0",
- "description": "UITextView in React Native on iOS",
- "main": "src/index",
- "author": "haileyok",
- "license": "MIT",
- "homepage": "https://github.com/bluesky-social/social-app/modules/react-native-ui-text-view"
-}
diff --git a/modules/react-native-ui-text-view/react-native-ui-text-view.podspec b/modules/react-native-ui-text-view/react-native-ui-text-view.podspec
deleted file mode 100644
index 1e0dee93f8..0000000000
--- a/modules/react-native-ui-text-view/react-native-ui-text-view.podspec
+++ /dev/null
@@ -1,42 +0,0 @@
-require "json"
-
-package = JSON.parse(File.read(File.join(__dir__, "package.json")))
-folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
-
-Pod::Spec.new do |s|
- s.name = "react-native-ui-text-view"
- s.version = package["version"]
- s.summary = package["description"]
- s.homepage = package["homepage"]
- s.license = package["license"]
- s.authors = package["author"]
-
- s.platforms = { :ios => "11.0" }
- s.source = { :git => ".git", :tag => "#{s.version}" }
-
- s.source_files = "ios/**/*.{h,m,mm,swift}"
-
- # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
- # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
- if respond_to?(:install_modules_dependencies, true)
- install_modules_dependencies(s)
- else
- s.dependency "React-Core"
-
- # Don't install the dependencies when we run `pod install` in the old architecture.
- if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
- s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
- s.pod_target_xcconfig = {
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
- "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
- }
- s.dependency "React-RCTFabric"
- s.dependency "React-Codegen"
- s.dependency "RCT-Folly"
- s.dependency "RCTRequired"
- s.dependency "RCTTypeSafety"
- s.dependency "ReactCommon/turbomodule/core"
- end
- end
-end
diff --git a/modules/react-native-ui-text-view/src/UITextView.tsx b/modules/react-native-ui-text-view/src/UITextView.tsx
deleted file mode 100644
index bbb45dccc6..0000000000
--- a/modules/react-native-ui-text-view/src/UITextView.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import React from 'react'
-import {Platform, StyleSheet, TextProps, ViewStyle} from 'react-native'
-import {RNUITextView, RNUITextViewChild} from './index'
-
-const TextAncestorContext = React.createContext<[boolean, ViewStyle]>([
- false,
- StyleSheet.create({}),
-])
-const useTextAncestorContext = () => React.useContext(TextAncestorContext)
-
-const textDefaults: TextProps = {
- allowFontScaling: true,
- selectable: true,
-}
-
-export function UITextView({style, children, ...rest}: TextProps) {
- const [isAncestor, rootStyle] = useTextAncestorContext()
-
- // Flatten the styles, and apply the root styles when needed
- const flattenedStyle = React.useMemo(
- () => StyleSheet.flatten([rootStyle, style]),
- [rootStyle, style],
- )
-
- if (Platform.OS !== 'ios') {
- throw new Error('UITextView is only available on iOS')
- }
-
- if (!isAncestor) {
- return (
-
-
- {React.Children.toArray(children).map((c, index) => {
- if (React.isValidElement(c)) {
- return c
- } else if (typeof c === 'string') {
- return (
-
- )
- }
- })}
-
-
- )
- } else {
- return (
- <>
- {React.Children.toArray(children).map((c, index) => {
- if (React.isValidElement(c)) {
- return c
- } else if (typeof c === 'string') {
- return (
-
- )
- }
- })}
- >
- )
- }
-}
diff --git a/modules/react-native-ui-text-view/src/index.tsx b/modules/react-native-ui-text-view/src/index.tsx
deleted file mode 100644
index d5bde136f7..0000000000
--- a/modules/react-native-ui-text-view/src/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import {
- requireNativeComponent,
- UIManager,
- Platform,
- type ViewStyle,
- TextProps,
-} from 'react-native'
-
-const LINKING_ERROR =
- `The package 'react-native-ui-text-view' doesn't seem to be linked. Make sure: \n\n` +
- Platform.select({ios: "- You have run 'pod install'\n", default: ''}) +
- '- You rebuilt the app after installing the package\n' +
- '- You are not using Expo Go\n'
-
-export interface RNUITextViewProps extends TextProps {
- children: React.ReactNode
- style: ViewStyle[]
-}
-
-export interface RNUITextViewChildProps extends TextProps {
- text: string
- onTextPress?: (...args: any[]) => void
- onTextLongPress?: (...args: any[]) => void
-}
-
-export const RNUITextView =
- UIManager.getViewManagerConfig &&
- UIManager.getViewManagerConfig('RNUITextView') != null
- ? requireNativeComponent('RNUITextView')
- : () => {
- throw new Error(LINKING_ERROR)
- }
-
-export const RNUITextViewChild =
- UIManager.getViewManagerConfig &&
- UIManager.getViewManagerConfig('RNUITextViewChild') != null
- ? requireNativeComponent('RNUITextViewChild')
- : () => {
- throw new Error(LINKING_ERROR)
- }
-
-export * from './UITextView'
diff --git a/package.json b/package.json
index 3ad135377d..6165d953af 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "bsky.app",
- "version": "1.75.0",
+ "version": "1.76.0",
"private": true,
"engines": {
"node": ">=18"
@@ -14,11 +14,12 @@
"ios": "expo run:ios",
"web": "expo start --web",
"use-build-number": "./scripts/useBuildNumberEnv.sh",
+ "use-build-number-with-bump": "./scripts/useBuildNumberEnvWithBump.sh",
"build-web": "expo export:web && node ./scripts/post-web-build.js && cp -v ./web-build/static/js/*.* ./bskyweb/static/js/",
- "build-all": "yarn intl:build && yarn use-build-number eas build --platform all",
- "build-ios": "yarn use-build-number eas build -p ios",
- "build-android": "yarn use-build-number eas build -p android",
- "build": "yarn use-build-number eas build",
+ "build-all": "yarn intl:build && yarn use-build-number-with-bump eas build --platform all",
+ "build-ios": "yarn use-build-number-with-bump eas build -p ios",
+ "build-android": "yarn use-build-number-with-bump eas build -p android",
+ "build": "yarn use-build-number-with-bump eas build",
"start": "expo start --dev-client",
"start:prod": "expo start --dev-client --no-dev --minify",
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
@@ -26,7 +27,7 @@
"test-watch": "NODE_ENV=test jest --watchAll",
"test-ci": "NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit",
"test-coverage": "NODE_ENV=test jest --coverage",
- "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
+ "lint": "eslint --cache --ext .js,.jsx,.ts,.tsx src",
"typecheck": "tsc --project ./tsconfig.check.json",
"e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node --project tsconfig.e2e.json __e2e__/mock-server.ts",
"e2e:metro": "NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios",
@@ -38,13 +39,14 @@
"perf:test:results": "NODE_ENV=test flashlight report .perf/results.json",
"perf:measure": "NODE_ENV=test flashlight measure",
"intl:build": "yarn intl:extract && yarn intl:compile",
- "intl:check": "yarn intl:extract && git diff-index -G'(^[^\\*# /])|(^#\\w)|(^\\s+[^\\*#/])' HEAD || (echo '\n⚠️ i18n detected un-extracted translations\n' && exit 1)",
"intl:extract": "lingui extract",
"intl:compile": "lingui compile",
"nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
"update-extensions": "bash scripts/updateExtensions.sh",
"export": "npx expo export",
- "make-deploy-bundle": "bash scripts/bundleUpdate.sh"
+ "make-deploy-bundle": "bash scripts/bundleUpdate.sh",
+ "generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 yarn build-web",
+ "open-analyzer": "EXPO_PUBLIC_OPEN_ANALYZER=1 yarn build-web"
},
"dependencies": {
"@atproto/api": "^0.12.2",
@@ -174,7 +176,7 @@
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "~3.29.0",
"react-native-svg": "14.1.0",
- "react-native-ui-text-view": "link:./modules/react-native-ui-text-view",
+ "react-native-uitextview": "^1.1.6",
"react-native-url-polyfill": "^1.3.0",
"react-native-uuid": "^2.0.1",
"react-native-version-number": "^0.3.6",
@@ -234,6 +236,7 @@
"babel-preset-expo": "^10.0.0",
"detox": "^20.14.8",
"eslint": "^8.19.0",
+ "eslint-plugin-bsky-internal": "link:./eslint",
"eslint-plugin-detox": "^1.0.0",
"eslint-plugin-ft-flow": "^2.0.3",
"eslint-plugin-lingui": "^0.2.0",
@@ -257,6 +260,7 @@
"typescript": "^5.3.3",
"url-loader": "^4.1.1",
"webpack": "^5.75.0",
+ "webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1"
},
@@ -314,6 +318,9 @@
]
},
"lint-staged": {
- "*{.js,.jsx,.ts,.tsx}": "yarn eslint --fix"
+ "*{.js,.jsx,.ts,.tsx}": [
+ "eslint --cache --fix",
+ "prettier --cache --write --ignore-unknown"
+ ]
}
}
diff --git a/patches/expo-updates+0.24.7.patch b/patches/expo-updates+0.24.7.patch
new file mode 100644
index 0000000000..603ae32ef8
--- /dev/null
+++ b/patches/expo-updates+0.24.7.patch
@@ -0,0 +1,26 @@
+diff --git a/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift b/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
+index 189a5f5..8d5b8e6 100644
+--- a/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
++++ b/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
+@@ -68,13 +68,20 @@ public final class NewUpdate: Update {
+ processedAssets.append(asset)
+ }
+
++ // Instead of relying on various hacks to get the correct format for the specific
++ // platform on the backend, we can just add this little patch..
++ let dateFormatter = DateFormatter()
++ dateFormatter.locale = Locale(identifier: "en_US_POSIX")
++ dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
++ let date = dateFormatter.date(from:commitTime) ?? RCTConvert.nsDate(commitTime)!
++
+ return Update(
+ manifest: manifest,
+ config: config,
+ database: database,
+ updateId: uuid,
+ scopeKey: config.scopeKey,
+- commitTime: RCTConvert.nsDate(commitTime),
++ commitTime: date,
+ runtimeVersion: runtimeVersion,
+ keep: true,
+ status: UpdateStatus.StatusPending,
diff --git a/patches/expo-updates+0.24.7.patch.md b/patches/expo-updates+0.24.7.patch.md
new file mode 100644
index 0000000000..8a8848127e
--- /dev/null
+++ b/patches/expo-updates+0.24.7.patch.md
@@ -0,0 +1,7 @@
+# Expo-Updates Patch
+
+This is a small patch to convert timestamp formats that are returned from the backend. Instead of relying on the
+backend to return the correct format for a specific format (the format required on Android is not the same as on iOS)
+we can just add this conversion in.
+
+Don't remove unless we make changes on the backend to support both platforms.
\ No newline at end of file
diff --git a/scripts/bundleUpdate.sh b/scripts/bundleUpdate.sh
index 18db81a20c..5927a36c8e 100644
--- a/scripts/bundleUpdate.sh
+++ b/scripts/bundleUpdate.sh
@@ -9,10 +9,13 @@ rm -rf bundle.tar.gz
echo "Creating tarball..."
node scripts/bundleUpdate.js
-cd bundleTempDir || exit
+if [ -z "$RUNTIME_VERSION" ]; then
+ RUNTIME_VERSION=$(cat package.json | jq '.version' -r)
+fi
+cd bundleTempDir || exit
BUNDLE_VERSION=$(date +%s)
-DEPLOYMENT_URL="https://updates.bsky.app/v1/upload?runtime-version=$RUNTIME_VERSION&bundle-version=$BUNDLE_VERSION"
+DEPLOYMENT_URL="https://updates.bsky.app/v1/upload?runtime-version=$RUNTIME_VERSION&bundle-version=$BUNDLE_VERSION&channel=$CHANNEL_NAME&ios-build-number=$BSKY_IOS_BUILD_NUMBER&android-build-number=$BSKY_ANDROID_VERSION_CODE"
tar czvf bundle.tar.gz ./*
diff --git a/scripts/useBuildNumberEnv.sh b/scripts/useBuildNumberEnv.sh
index fe273d3948..2251c09078 100755
--- a/scripts/useBuildNumberEnv.sh
+++ b/scripts/useBuildNumberEnv.sh
@@ -1,11 +1,7 @@
#!/bin/bash
outputIos=$(eas build:version:get -p ios)
outputAndroid=$(eas build:version:get -p android)
-currentIosVersion=${outputIos#*buildNumber - }
-currentAndroidVersion=${outputAndroid#*versionCode - }
-
-BSKY_IOS_BUILD_NUMBER=$((currentIosVersion+1))
-BSKY_ANDROID_VERSION_CODE=$((currentAndroidVersion+1))
+BSKY_IOS_BUILD_NUMBER=${outputIos#*buildNumber - }
+BSKY_ANDROID_VERSION_CODE=${outputAndroid#*versionCode - }
bash -c "BSKY_IOS_BUILD_NUMBER=$BSKY_IOS_BUILD_NUMBER BSKY_ANDROID_VERSION_CODE=$BSKY_ANDROID_VERSION_CODE $*"
-
diff --git a/scripts/useBuildNumberEnvWithBump.sh b/scripts/useBuildNumberEnvWithBump.sh
new file mode 100755
index 0000000000..fe273d3948
--- /dev/null
+++ b/scripts/useBuildNumberEnvWithBump.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+outputIos=$(eas build:version:get -p ios)
+outputAndroid=$(eas build:version:get -p android)
+currentIosVersion=${outputIos#*buildNumber - }
+currentAndroidVersion=${outputAndroid#*versionCode - }
+
+BSKY_IOS_BUILD_NUMBER=$((currentIosVersion+1))
+BSKY_ANDROID_VERSION_CODE=$((currentAndroidVersion+1))
+
+bash -c "BSKY_IOS_BUILD_NUMBER=$BSKY_IOS_BUILD_NUMBER BSKY_ANDROID_VERSION_CODE=$BSKY_ANDROID_VERSION_CODE $*"
+
diff --git a/src/App.native.tsx b/src/App.native.tsx
index d6e726a592..9abe4a559d 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -12,19 +12,16 @@ import {
import * as SplashScreen from 'expo-splash-screen'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client'
+import {useQueryClient} from '@tanstack/react-query'
import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
import {init as initPersistedState} from '#/state/persisted'
import * as persisted from '#/state/persisted'
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
import {useIntentHandler} from 'lib/hooks/useIntentHandler'
-import * as notifications from 'lib/notifications/notifications'
-import {
- asyncStoragePersister,
- dehydrateOptions,
- queryClient,
-} from 'lib/react-query'
+import {useOTAUpdates} from 'lib/hooks/useOTAUpdates'
+import {useNotificationsListener} from 'lib/notifications/notifications'
+import {QueryProvider} from 'lib/react-query'
import {s} from 'lib/styles'
import {ThemeProvider} from 'lib/ThemeContext'
import {Provider as DialogStateProvider} from 'state/dialogs'
@@ -59,11 +56,12 @@ function InnerApp() {
const {resumeSession} = useSessionApi()
const theme = useColorModeTheme()
const {_} = useLingui()
+
useIntentHandler()
+ useOTAUpdates()
// init
useEffect(() => {
- notifications.init(queryClient)
listenSessionDropped(() => {
Toast.show(_(msg`Sorry! Your session expired. Please log in again.`))
})
@@ -79,25 +77,29 @@ function InnerApp() {
-
-
-
-
-
-
- {/* All components should be within this provider */}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {/* All components should be within this provider */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -105,6 +107,12 @@ function InnerApp() {
)
}
+function PushNotificationsListener({children}: {children: React.ReactNode}) {
+ const queryClient = useQueryClient()
+ useNotificationsListener(queryClient)
+ return children
+}
+
function App() {
const [isReady, setReady] = useState(false)
@@ -121,31 +129,27 @@ function App() {
* that is set up in the InnerApp component above.
*/
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/src/App.web.tsx b/src/App.web.tsx
index f47f763da1..ccf7ecb491 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -1,44 +1,38 @@
import 'lib/sentry' // must be near top
+import 'view/icons'
-import React, {useState, useEffect} from 'react'
-import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client'
-import {SafeAreaProvider} from 'react-native-safe-area-context'
+import React, {useEffect, useState} from 'react'
import {RootSiblingParent} from 'react-native-root-siblings'
+import {SafeAreaProvider} from 'react-native-safe-area-context'
-import 'view/icons'
-
-import {ThemeProvider as Alf} from '#/alf'
-import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
+import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
import {init as initPersistedState} from '#/state/persisted'
-import {Shell} from 'view/shell/index'
-import {ToastContainer} from 'view/com/util/Toast.web'
+import * as persisted from '#/state/persisted'
+import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
+import {useIntentHandler} from 'lib/hooks/useIntentHandler'
+import {QueryProvider} from 'lib/react-query'
import {ThemeProvider} from 'lib/ThemeContext'
-import {
- queryClient,
- asyncStoragePersister,
- dehydrateOptions,
-} from 'lib/react-query'
-import {Provider as ShellStateProvider} from 'state/shell'
-import {Provider as ModalStateProvider} from 'state/modals'
import {Provider as DialogStateProvider} from 'state/dialogs'
+import {Provider as InvitesStateProvider} from 'state/invites'
import {Provider as LightboxStateProvider} from 'state/lightbox'
+import {Provider as ModalStateProvider} from 'state/modals'
import {Provider as MutedThreadsProvider} from 'state/muted-threads'
-import {Provider as InvitesStateProvider} from 'state/invites'
import {Provider as PrefsStateProvider} from 'state/preferences'
-import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
-import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
-import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
-import I18nProvider from './locale/i18nProvider'
+import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
import {
Provider as SessionProvider,
useSession,
useSessionApi,
} from 'state/session'
-import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
-import * as persisted from '#/state/persisted'
+import {Provider as ShellStateProvider} from 'state/shell'
+import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
+import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
+import {ToastContainer} from 'view/com/util/Toast.web'
+import {Shell} from 'view/shell/index'
+import {ThemeProvider as Alf} from '#/alf'
+import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
import {Provider as PortalProvider} from '#/components/Portal'
-import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
-import {useIntentHandler} from 'lib/hooks/useIntentHandler'
+import I18nProvider from './locale/i18nProvider'
function InnerApp() {
const {isInitialLoad, currentAccount} = useSession()
@@ -60,25 +54,27 @@ function InnerApp() {
-
-
-
-
-
-
- {/* All components should be within this provider */}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ {/* All components should be within this provider */}
+
+
+
+
+
+
+
+
+
+
+
+
+
)
@@ -100,31 +96,27 @@ function App() {
* that is set up in the InnerApp component above.
*/
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/src/components/AccountList.tsx b/src/components/AccountList.tsx
new file mode 100644
index 0000000000..169e7b84fe
--- /dev/null
+++ b/src/components/AccountList.tsx
@@ -0,0 +1,141 @@
+import React, {useCallback} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useProfileQuery} from '#/state/queries/profile'
+import {type SessionAccount, useSession} from '#/state/session'
+import {UserAvatar} from '#/view/com/util/UserAvatar'
+import {atoms as a, useTheme} from '#/alf'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {ChevronRight_Stroke2_Corner0_Rounded as Chevron} from '#/components/icons/Chevron'
+import {Button} from './Button'
+import {Text} from './Typography'
+
+export function AccountList({
+ onSelectAccount,
+ onSelectOther,
+ otherLabel,
+}: {
+ onSelectAccount: (account: SessionAccount) => void
+ onSelectOther: () => void
+ otherLabel?: string
+}) {
+ const {isSwitchingAccounts, currentAccount, accounts} = useSession()
+ const t = useTheme()
+ const {_} = useLingui()
+
+ const onPressAddAccount = useCallback(() => {
+ onSelectOther()
+ }, [onSelectOther])
+
+ return (
+
+ {accounts.map(account => (
+
+
+
+
+ ))}
+
+
+ )
+}
+
+function AccountItem({
+ account,
+ onSelect,
+ isCurrentAccount,
+}: {
+ account: SessionAccount
+ onSelect: (account: SessionAccount) => void
+ isCurrentAccount: boolean
+}) {
+ const t = useTheme()
+ const {_} = useLingui()
+ const {data: profile} = useProfileQuery({did: account.did})
+
+ const onPress = React.useCallback(() => {
+ onSelect(account)
+ }, [account, onSelect])
+
+ return (
+
+ )
+}
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
index 67c33fa0c6..ece1ad6b0f 100644
--- a/src/components/Button.tsx
+++ b/src/components/Button.tsx
@@ -14,7 +14,6 @@ import {
import LinearGradient from 'react-native-linear-gradient'
import {Trans} from '@lingui/macro'
-import {logger} from '#/logger'
import {android, atoms as a, flatten, tokens, useTheme} from '#/alf'
import {Props as SVGIconProps} from '#/components/icons/common'
import {normalizeTextStyles} from '#/components/Typography'
@@ -405,51 +404,20 @@ export function Button({
)}
-
- {/* @ts-ignore */}
- {typeof children === 'string' || children?.type === Trans ? (
- /* @ts-ignore */
- {children}
- ) : typeof children === 'function' ? (
- children(context)
- ) : (
- children
- )}
-
+ {/* @ts-ignore */}
+ {typeof children === 'string' || children?.type === Trans ? (
+ /* @ts-ignore */
+ {children}
+ ) : typeof children === 'function' ? (
+ children(context)
+ ) : (
+ children
+ )}
)
}
-export class ButtonTextErrorBoundary extends React.Component<
- React.PropsWithChildren<{}>,
- {hasError: boolean; error: Error | undefined}
-> {
- public state = {
- hasError: false,
- error: undefined,
- }
-
- public static getDerivedStateFromError(error: Error) {
- return {hasError: true, error}
- }
-
- public componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {
- logger.error('ButtonTextErrorBoundary caught an error', {
- message: error.message,
- errorInfo,
- })
- }
-
- public render() {
- if (this.state.hasError) {
- return ERROR
- }
-
- return this.props.children
- }
-}
-
export function useSharedButtonTextStyles() {
const t = useTheme()
const {color, variant, disabled, size} = useButtonContext()
diff --git a/src/components/Error.tsx b/src/components/Error.tsx
index 7df166c3fc..91b33f48e0 100644
--- a/src/components/Error.tsx
+++ b/src/components/Error.tsx
@@ -1,9 +1,9 @@
import React from 'react'
import {View} from 'react-native'
-import {useNavigation} from '@react-navigation/core'
-import {StackActions} from '@react-navigation/native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/core'
+import {StackActions} from '@react-navigation/native'
import {NavigationProp} from 'lib/routes/types'
import {CenteredView} from 'view/com/util/Views'
diff --git a/src/components/LikedByList.tsx b/src/components/LikedByList.tsx
index bd12136394..239a7044f6 100644
--- a/src/components/LikedByList.tsx
+++ b/src/components/LikedByList.tsx
@@ -1,47 +1,54 @@
import React from 'react'
-import {View} from 'react-native'
import {AppBskyFeedGetLikes as GetLikes} from '@atproto/api'
-import {Trans} from '@lingui/macro'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {logger} from '#/logger'
-import {List} from '#/view/com/util/List'
-import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
import {useLikedByQuery} from '#/state/queries/post-liked-by'
+import {useResolveUriQuery} from '#/state/queries/resolve-uri'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
-import {ListFooter} from '#/components/Lists'
+import {cleanError} from 'lib/strings/errors'
+import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
+import {List} from '#/view/com/util/List'
+import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
-import {atoms as a, useTheme} from '#/alf'
-import {Loader} from '#/components/Loader'
-import {Text} from '#/components/Typography'
+function renderItem({item}: {item: GetLikes.Like}) {
+ return
+}
+
+function keyExtractor(item: GetLikes.Like) {
+ return item.actor.did
+}
export function LikedByList({uri}: {uri: string}) {
- const t = useTheme()
+ const {_} = useLingui()
+ const initialNumToRender = useInitialNumToRender()
const [isPTRing, setIsPTRing] = React.useState(false)
+
const {
data: resolvedUri,
error: resolveError,
- isFetching: isFetchingResolvedUri,
+ isLoading: isUriLoading,
} = useResolveUriQuery(uri)
const {
data,
- isFetching,
- isFetched,
- isRefetching,
+ isLoading: isLikedByLoading,
+ isFetchingNextPage,
hasNextPage,
fetchNextPage,
- isError,
error: likedByError,
refetch,
} = useLikedByQuery(resolvedUri?.uri)
+
+ const error = resolveError || likedByError
+ const isError = !!resolveError || !!likedByError
+
const likes = React.useMemo(() => {
if (data?.pages) {
return data.pages.flatMap(page => page.likes)
}
return []
}, [data])
- const initialNumToRender = useInitialNumToRender()
- const error = resolveError || likedByError
const onRefresh = React.useCallback(async () => {
setIsPTRing(true)
@@ -54,56 +61,47 @@ export function LikedByList({uri}: {uri: string}) {
}, [refetch, setIsPTRing])
const onEndReached = React.useCallback(async () => {
- if (isFetching || !hasNextPage || isError) return
+ if (isFetchingNextPage || !hasNextPage || isError) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more likes', {message: err})
}
- }, [isFetching, hasNextPage, isError, fetchNextPage])
-
- const renderItem = React.useCallback(({item}: {item: GetLikes.Like}) => {
- return (
-
- )
- }, [])
+ }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage])
- if (isFetchingResolvedUri || !isFetched) {
+ if (likes.length < 1) {
return (
-
-
-
+
)
}
- return likes.length ? (
+ return (
item.actor.did}
+ renderItem={renderItem}
+ keyExtractor={keyExtractor}
refreshing={isPTRing}
onRefresh={onRefresh}
onEndReached={onEndReached}
- onEndReachedThreshold={3}
- renderItem={renderItem}
- initialNumToRender={initialNumToRender}
- ListFooterComponent={() => (
+ ListFooterComponent={
- )}
+ }
+ onEndReachedThreshold={3}
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
/>
- ) : (
-
-
-
-
- Nobody has liked this yet. Maybe you should be the first!
-
-
-
-
)
}
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 7d0e833329..65a015ba3a 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -1,23 +1,24 @@
import React from 'react'
import {GestureResponderEvent} from 'react-native'
-import {useLinkProps, StackActions} from '@react-navigation/native'
import {sanitizeUrl} from '@braintree/sanitize-url'
+import {StackActions, useLinkProps} from '@react-navigation/native'
-import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {isWeb} from '#/platform/detection'
-import {useTheme, web, flatten, TextStyleProp, atoms as a} from '#/alf'
-import {Button, ButtonProps} from '#/components/Button'
import {AllNavigatorParams} from '#/lib/routes/types'
+import {shareUrl} from '#/lib/sharing'
import {
convertBskyAppUrlIfNeeded,
isExternalUrl,
linkRequiresWarning,
} from '#/lib/strings/url-helpers'
+import {isNative, isWeb} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
-import {router} from '#/routes'
-import {Text, TextProps} from '#/components/Typography'
-import {useOpenLink} from 'state/preferences/in-app-browser'
+import {useOpenLink} from '#/state/preferences/in-app-browser'
import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
+import {atoms as a, flatten, TextStyleProp, useTheme, web} from '#/alf'
+import {Button, ButtonProps} from '#/components/Button'
+import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {Text, TextProps} from '#/components/Typography'
+import {router} from '#/routes'
/**
* Only available within a `Link`, since that inherits from `Button`.
@@ -60,6 +61,11 @@ type BaseLinkProps = Pick<
* Web-only attribute. Sets `download` attr on web.
*/
download?: string
+
+ /**
+ * Native-only attribute. If true, will open the share sheet on long press.
+ */
+ shareOnLongPress?: boolean
}
export function useLink({
@@ -68,6 +74,7 @@ export function useLink({
action = 'push',
disableMismatchWarning,
onPress: outerOnPress,
+ shareOnLongPress,
}: BaseLinkProps & {
displayText: string
}) {
@@ -157,10 +164,34 @@ export function useLink({
],
)
+ const handleLongPress = React.useCallback(() => {
+ const requiresWarning = Boolean(
+ !disableMismatchWarning &&
+ displayText &&
+ isExternal &&
+ linkRequiresWarning(href, displayText),
+ )
+
+ if (requiresWarning) {
+ openModal({
+ name: 'link-warning',
+ text: displayText,
+ href: href,
+ share: true,
+ })
+ } else {
+ shareUrl(href)
+ }
+ }, [disableMismatchWarning, displayText, href, isExternal, openModal])
+
+ const onLongPress =
+ isNative && isExternal && shareOnLongPress ? handleLongPress : undefined
+
return {
isExternal,
href,
onPress,
+ onLongPress,
}
}
@@ -219,7 +250,7 @@ export type InlineLinkProps = React.PropsWithChildren<
BaseLinkProps & TextStyleProp & Pick
>
-export function InlineLink({
+export function InlineLinkText({
children,
to,
action = 'push',
@@ -229,16 +260,18 @@ export function InlineLink({
download,
selectable,
label,
+ shareOnLongPress,
...rest
}: InlineLinkProps) {
const t = useTheme()
const stringChildren = typeof children === 'string'
- const {href, isExternal, onPress} = useLink({
+ const {href, isExternal, onPress, onLongPress} = useLink({
to,
displayText: stringChildren ? children : '',
action,
disableMismatchWarning,
onPress: outerOnPress,
+ shareOnLongPress,
})
const {
state: hovered,
@@ -270,6 +303,7 @@ export function InlineLink({
]}
role="link"
onPress={download ? undefined : onPress}
+ onLongPress={onLongPress}
onPressIn={onPressIn}
onPressOut={onPressOut}
onFocus={onFocus}
diff --git a/src/components/Lists.tsx b/src/components/Lists.tsx
index d3e0720286..605626fef2 100644
--- a/src/components/Lists.tsx
+++ b/src/components/Lists.tsx
@@ -1,25 +1,23 @@
import React from 'react'
-import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {CenteredView} from 'view/com/util/Views'
-import {Loader} from '#/components/Loader'
import {cleanError} from 'lib/strings/errors'
+import {CenteredView} from 'view/com/util/Views'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button} from '#/components/Button'
-import {Text} from '#/components/Typography'
import {Error} from '#/components/Error'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
export function ListFooter({
- isFetching,
- isError,
+ isFetchingNextPage,
error,
onRetry,
height,
}: {
- isFetching?: boolean
- isError?: boolean
+ isFetchingNextPage?: boolean
error?: string
onRetry?: () => Promise
height?: number
@@ -36,32 +34,26 @@ export function ListFooter({
t.atoms.border_contrast_low,
{height: height ?? 180, paddingTop: 30},
]}>
- {isFetching ? (
+ {isFetchingNextPage ? (
) : (
-
+
)}
)
}
function ListFooterMaybeError({
- isError,
error,
onRetry,
}: {
- isError?: boolean
error?: string
onRetry?: () => Promise
}) {
const t = useTheme()
const {_} = useLingui()
- if (!isError) return null
+ if (!error) return null
return (
@@ -128,7 +120,7 @@ export function ListHeaderDesktop({
export function ListMaybePlaceholder({
isLoading,
- isEmpty,
+ noEmpty,
isError,
emptyTitle,
emptyMessage,
@@ -138,7 +130,7 @@ export function ListMaybePlaceholder({
onRetry,
}: {
isLoading: boolean
- isEmpty?: boolean
+ noEmpty?: boolean
isError?: boolean
emptyTitle?: string
emptyMessage?: string
@@ -151,16 +143,6 @@ export function ListMaybePlaceholder({
const {_} = useLingui()
const {gtMobile, gtTablet} = useBreakpoints()
- if (!isLoading && isError) {
- return (
-
- )
- }
-
if (isLoading) {
return (
+ )
+ }
+
+ if (!noEmpty) {
return (
)
}
+
+ return null
}
diff --git a/src/components/Loader.tsx b/src/components/Loader.tsx
index b9f399f953..e0b3be6373 100644
--- a/src/components/Loader.tsx
+++ b/src/components/Loader.tsx
@@ -1,13 +1,13 @@
import React from 'react'
import Animated, {
Easing,
- useSharedValue,
useAnimatedStyle,
+ useSharedValue,
withRepeat,
withTiming,
} from 'react-native-reanimated'
-import {atoms as a, useTheme, flatten} from '#/alf'
+import {atoms as a, flatten, useTheme} from '#/alf'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
diff --git a/src/components/Loader.web.tsx b/src/components/Loader.web.tsx
new file mode 100644
index 0000000000..d8182673f6
--- /dev/null
+++ b/src/components/Loader.web.tsx
@@ -0,0 +1,34 @@
+import React from 'react'
+import {View} from 'react-native'
+
+import {atoms as a, flatten, useTheme} from '#/alf'
+import {Props, useCommonSVGProps} from '#/components/icons/common'
+import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
+
+export function Loader(props: Props) {
+ const t = useTheme()
+ const common = useCommonSVGProps(props)
+
+ return (
+
+ {/* css rotation animation - /bskyweb/templates/base.html */}
+
+
+
+
+ )
+}
diff --git a/src/components/Prompt.tsx b/src/components/Prompt.tsx
index b81b207075..000d2a3cd5 100644
--- a/src/components/Prompt.tsx
+++ b/src/components/Prompt.tsx
@@ -3,11 +3,10 @@ import {View} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useTheme, atoms as a, useBreakpoints} from '#/alf'
-import {Text} from '#/components/Typography'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonColor, ButtonText} from '#/components/Button'
-
import * as Dialog from '#/components/Dialog'
+import {Text} from '#/components/Typography'
export {useDialogControl as usePromptControl} from '#/components/Dialog'
@@ -52,7 +51,7 @@ export function Outer({
)
}
-export function Title({children}: React.PropsWithChildren<{}>) {
+export function TitleText({children}: React.PropsWithChildren<{}>) {
const {titleId} = React.useContext(Context)
return (
@@ -61,7 +60,7 @@ export function Title({children}: React.PropsWithChildren<{}>) {
)
}
-export function Description({children}: React.PropsWithChildren<{}>) {
+export function DescriptionText({children}: React.PropsWithChildren<{}>) {
const t = useTheme()
const {descriptionId} = React.useContext(Context)
return (
@@ -80,7 +79,7 @@ export function Actions({children}: React.PropsWithChildren<{}>) {
) {
return (
- {title}
- {description}
+ {title}
+ {description}
{segment.text}
- ,
+ ,
)
} else if (link && AppBskyRichtextFacet.validateLink(link).success) {
if (disableLinks) {
els.push(toShortUrl(segment.text))
} else {
els.push(
-
+ dataSet={WORD_WRAP}
+ shareOnLongPress>
{toShortUrl(segment.text)}
- ,
+ ,
)
}
} else if (
diff --git a/src/components/Typography.tsx b/src/components/Typography.tsx
index f8b3ad1bd8..31dd931c6a 100644
--- a/src/components/Typography.tsx
+++ b/src/components/Typography.tsx
@@ -1,14 +1,9 @@
import React from 'react'
-import {
- Text as RNText,
- StyleProp,
- TextStyle,
- TextProps as RNTextProps,
-} from 'react-native'
-import {UITextView} from 'react-native-ui-text-view'
+import {StyleProp, TextProps as RNTextProps, TextStyle} from 'react-native'
+import {UITextView} from 'react-native-uitextview'
-import {useTheme, atoms, web, flatten} from '#/alf'
-import {isIOS, isNative} from '#/platform/detection'
+import {isNative} from '#/platform/detection'
+import {atoms, flatten, useTheme, web} from '#/alf'
export type TextProps = RNTextProps & {
/**
@@ -61,11 +56,8 @@ export function normalizeTextStyles(styles: StyleProp) {
export function Text({style, selectable, ...rest}: TextProps) {
const t = useTheme()
const s = normalizeTextStyles([atoms.text_sm, t.atoms.text, flatten(style)])
- return selectable && isIOS ? (
-
- ) : (
-
- )
+
+ return
}
export function createHeadingElement({level}: {level: number}) {
diff --git a/src/components/dialogs/BirthDateSettings.tsx b/src/components/dialogs/BirthDateSettings.tsx
index 4a3e96e56d..d831c6002a 100644
--- a/src/components/dialogs/BirthDateSettings.tsx
+++ b/src/components/dialogs/BirthDateSettings.tsx
@@ -1,23 +1,23 @@
import React from 'react'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import * as Dialog from '#/components/Dialog'
-import {Text} from '../Typography'
-import {DateInput} from '#/view/com/util/forms/DateInput'
+import {cleanError} from '#/lib/strings/errors'
import {logger} from '#/logger'
+import {isIOS, isWeb} from '#/platform/detection'
import {
usePreferencesQuery,
- usePreferencesSetBirthDateMutation,
UsePreferencesQueryResponse,
+ usePreferencesSetBirthDateMutation,
} from '#/state/queries/preferences'
-import {Button, ButtonIcon, ButtonText} from '../Button'
-import {atoms as a, useTheme} from '#/alf'
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
-import {cleanError} from '#/lib/strings/errors'
-import {isIOS, isWeb} from '#/platform/detection'
+import {DateInput} from '#/view/com/util/forms/DateInput'
+import {atoms as a, useTheme} from '#/alf'
+import * as Dialog from '#/components/Dialog'
import {Loader} from '#/components/Loader'
+import {Button, ButtonIcon, ButtonText} from '../Button'
+import {Text} from '../Typography'
export function BirthDateSettingsDialog({
control,
diff --git a/src/components/dialogs/MutedWords.tsx b/src/components/dialogs/MutedWords.tsx
index 46f319adfe..0eced11e3d 100644
--- a/src/components/dialogs/MutedWords.tsx
+++ b/src/components/dialogs/MutedWords.tsx
@@ -1,37 +1,36 @@
import React from 'react'
import {Keyboard, View} from 'react-native'
+import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
+import {logger} from '#/logger'
+import {isNative} from '#/platform/detection'
import {
usePreferencesQuery,
- useUpsertMutedWordsMutation,
useRemoveMutedWordMutation,
+ useUpsertMutedWordsMutation,
} from '#/state/queries/preferences'
-import {isNative} from '#/platform/detection'
import {
atoms as a,
- useTheme,
+ native,
useBreakpoints,
+ useTheme,
ViewStyleProp,
web,
- native,
} from '#/alf'
-import {Text} from '#/components/Typography'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
-import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
+import * as Dialog from '#/components/Dialog'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {Divider} from '#/components/Divider'
+import * as Toggle from '#/components/forms/Toggle'
import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
import {PageText_Stroke2_Corner0_Rounded as PageText} from '#/components/icons/PageText'
-import {Divider} from '#/components/Divider'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
import {Loader} from '#/components/Loader'
-import {logger} from '#/logger'
-import * as Dialog from '#/components/Dialog'
-import * as Toggle from '#/components/forms/Toggle'
import * as Prompt from '#/components/Prompt'
-
-import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {Text} from '#/components/Typography'
export function MutedWordsDialog() {
const {mutedWordsDialogControl: control} = useGlobalDialogsControlContext()
@@ -130,9 +129,9 @@ function MutedWordsInner({}: {control: Dialog.DialogOuterProps['control']}) {
-
+ Mute in text & tags
-
+
@@ -145,9 +144,9 @@ function MutedWordsInner({}: {control: Dialog.DialogOuterProps['control']}) {
-
+ Mute in tags only
-
+
diff --git a/src/components/dialogs/SwitchAccount.tsx b/src/components/dialogs/SwitchAccount.tsx
new file mode 100644
index 0000000000..645113d4af
--- /dev/null
+++ b/src/components/dialogs/SwitchAccount.tsx
@@ -0,0 +1,61 @@
+import React, {useCallback} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
+import {type SessionAccount, useSession} from '#/state/session'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useCloseAllActiveElements} from '#/state/util'
+import {atoms as a} from '#/alf'
+import * as Dialog from '#/components/Dialog'
+import {AccountList} from '../AccountList'
+import {Text} from '../Typography'
+
+export function SwitchAccountDialog({
+ control,
+}: {
+ control: Dialog.DialogControlProps
+}) {
+ const {_} = useLingui()
+ const {currentAccount} = useSession()
+ const {onPressSwitchAccount} = useAccountSwitcher()
+ const {setShowLoggedOut} = useLoggedOutViewControls()
+ const closeAllActiveElements = useCloseAllActiveElements()
+
+ const onSelectAccount = useCallback(
+ (account: SessionAccount) => {
+ if (account.did === currentAccount?.did) {
+ control.close()
+ } else {
+ onPressSwitchAccount(account, 'SwitchAccount')
+ }
+ },
+ [currentAccount, control, onPressSwitchAccount],
+ )
+
+ const onPressAddAccount = useCallback(() => {
+ setShowLoggedOut(true)
+ closeAllActiveElements()
+ }, [setShowLoggedOut, closeAllActiveElements])
+
+ return (
+
+
+
+
+
+
+ Switch Account
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/forms/DateField/index.android.tsx b/src/components/forms/DateField/index.android.tsx
index 700d15e6d6..1830ca4bfd 100644
--- a/src/components/forms/DateField/index.android.tsx
+++ b/src/components/forms/DateField/index.android.tsx
@@ -8,7 +8,7 @@ import * as TextField from '#/components/forms/TextField'
import {DateFieldButton} from './index.shared'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
export function DateField({
value,
diff --git a/src/components/forms/DateField/index.tsx b/src/components/forms/DateField/index.tsx
index 5662bb5941..e231ac5baf 100644
--- a/src/components/forms/DateField/index.tsx
+++ b/src/components/forms/DateField/index.tsx
@@ -13,7 +13,7 @@ import * as TextField from '#/components/forms/TextField'
import {DateFieldButton} from './index.shared'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
/**
* Date-only input. Accepts a date in the format YYYY-MM-DD, and reports date
diff --git a/src/components/forms/DateField/index.web.tsx b/src/components/forms/DateField/index.web.tsx
index 982d32711a..b764620e33 100644
--- a/src/components/forms/DateField/index.web.tsx
+++ b/src/components/forms/DateField/index.web.tsx
@@ -9,7 +9,7 @@ import * as TextField from '#/components/forms/TextField'
import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
const InputBase = React.forwardRef(
({style, ...props}, ref) => {
diff --git a/src/components/forms/TextField.tsx b/src/components/forms/TextField.tsx
index 0bdeca6458..73a660ea6c 100644
--- a/src/components/forms/TextField.tsx
+++ b/src/components/forms/TextField.tsx
@@ -225,7 +225,7 @@ export function createInput(Component: typeof TextInput) {
export const Input = createInput(TextInput)
-export function Label({
+export function LabelText({
nativeID,
children,
}: React.PropsWithChildren<{nativeID?: string}>) {
@@ -288,7 +288,7 @@ export function Icon({icon: Comp}: {icon: React.ComponentType}) {
)
}
-export function Suffix({
+export function SuffixText({
children,
label,
accessibilityHint,
diff --git a/src/components/forms/Toggle.tsx b/src/components/forms/Toggle.tsx
index 7a4b5ac959..7285e5faca 100644
--- a/src/components/forms/Toggle.tsx
+++ b/src/components/forms/Toggle.tsx
@@ -3,16 +3,16 @@ import {Pressable, View, ViewStyle} from 'react-native'
import {HITSLOP_10} from 'lib/constants'
import {
- useTheme,
atoms as a,
- native,
flatten,
- ViewStyleProp,
+ native,
TextStyleProp,
+ useTheme,
+ ViewStyleProp,
} from '#/alf'
-import {Text} from '#/components/Typography'
import {useInteractionState} from '#/components/hooks/useInteractionState'
import {CheckThick_Stroke2_Corner0_Rounded as Checkmark} from '#/components/icons/Check'
+import {Text} from '#/components/Typography'
export type ItemState = {
name: string
@@ -234,7 +234,7 @@ export function Item({
)
}
-export function Label({
+export function LabelText({
children,
style,
}: React.PropsWithChildren) {
diff --git a/src/components/moderation/LabelPreference.tsx b/src/components/moderation/LabelPreference.tsx
index 7d4bd9c321..990e736228 100644
--- a/src/components/moderation/LabelPreference.tsx
+++ b/src/components/moderation/LabelPreference.tsx
@@ -1,22 +1,21 @@
import React from 'react'
import {View} from 'react-native'
import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
+import {useLabelBehaviorDescription} from '#/lib/moderation/useLabelBehaviorDescription'
+import {getLabelStrings} from '#/lib/moderation/useLabelInfo'
import {
usePreferencesQuery,
usePreferencesSetContentLabelMutation,
} from '#/state/queries/preferences'
-import {useLabelBehaviorDescription} from '#/lib/moderation/useLabelBehaviorDescription'
-import {getLabelStrings} from '#/lib/moderation/useLabelInfo'
-
-import {useTheme, atoms as a, useBreakpoints} from '#/alf'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import * as ToggleButton from '#/components/forms/ToggleButton'
+import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
-import {InlineLink} from '#/components/Link'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '../icons/CircleInfo'
-import * as ToggleButton from '#/components/forms/ToggleButton'
export function Outer({children}: React.PropsWithChildren<{}>) {
return (
@@ -244,9 +243,9 @@ export function LabelerLabelPreference({
) : isGlobalLabel ? (
Configured in{' '}
-
+
moderation settings
-
+
.
) : null}
diff --git a/src/components/moderation/LabelsOnMeDialog.tsx b/src/components/moderation/LabelsOnMeDialog.tsx
index 6eddbc7ceb..95e3d242b9 100644
--- a/src/components/moderation/LabelsOnMeDialog.tsx
+++ b/src/components/moderation/LabelsOnMeDialog.tsx
@@ -1,20 +1,19 @@
import React from 'react'
import {View} from 'react-native'
+import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {useLabelInfo} from '#/lib/moderation/useLabelInfo'
import {makeProfileLink} from '#/lib/routes/links'
import {sanitizeHandle} from '#/lib/strings/handles'
import {getAgent} from '#/state/session'
-
+import * as Toast from '#/view/com/util/Toast'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
-import {Text} from '#/components/Typography'
-import * as Dialog from '#/components/Dialog'
import {Button, ButtonText} from '#/components/Button'
-import {InlineLink} from '#/components/Link'
-import * as Toast from '#/view/com/util/Toast'
+import * as Dialog from '#/components/Dialog'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
import {Divider} from '../Divider'
export {useDialogControl as useLabelsOnMeDialogControl} from '#/components/Dialog'
@@ -145,13 +144,13 @@ function Label({
Source:{' '}
- control.close()}>
{labeler ? sanitizeHandle(labeler.creator.handle, '@') : label.src}
-
+
@@ -204,14 +203,14 @@ function AppealForm({
This appeal will be sent to{' '}
- control.close()}
style={[a.text_md, a.leading_snug]}>
{labeler ? sanitizeHandle(labeler.creator.handle, '@') : label.src}
-
+
.
diff --git a/src/components/moderation/ModerationDetailsDialog.tsx b/src/components/moderation/ModerationDetailsDialog.tsx
index da490cb43e..da57de4df3 100644
--- a/src/components/moderation/ModerationDetailsDialog.tsx
+++ b/src/components/moderation/ModerationDetailsDialog.tsx
@@ -1,19 +1,18 @@
import React from 'react'
import {View} from 'react-native'
+import {ModerationCause} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ModerationCause} from '@atproto/api'
-import {listUriToHref} from '#/lib/strings/url-helpers'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {makeProfileLink} from '#/lib/routes/links'
-
+import {listUriToHref} from '#/lib/strings/url-helpers'
import {isNative} from '#/platform/detection'
-import {useTheme, atoms as a} from '#/alf'
-import {Text} from '#/components/Typography'
+import {atoms as a, useTheme} from '#/alf'
import * as Dialog from '#/components/Dialog'
-import {InlineLink} from '#/components/Link'
import {Divider} from '#/components/Divider'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
export {useDialogControl as useModerationDetailsDialogControl} from '#/components/Dialog'
@@ -55,9 +54,9 @@ function ModerationDetailsDialogInner({
description = (
This user is included in the{' '}
-
+
{list.name}
- {' '}
+ {' '}
list which you have blocked.
)
@@ -84,9 +83,9 @@ function ModerationDetailsDialogInner({
description = (
This user is included in the{' '}
-
+
{list.name}
- {' '}
+ {' '}
list which you have muted.
)
@@ -127,12 +126,12 @@ function ModerationDetailsDialogInner({
{modcause.source.type === 'user' ? (
the author
) : (
- control.close()}
style={a.text_md}>
{desc.source}
-
+
)}
.
diff --git a/src/components/moderation/ScreenHider.tsx b/src/components/moderation/ScreenHider.tsx
index 4e3a9680f5..0d316bc885 100644
--- a/src/components/moderation/ScreenHider.tsx
+++ b/src/components/moderation/ScreenHider.tsx
@@ -1,27 +1,26 @@
import React from 'react'
import {
- TouchableWithoutFeedback,
StyleProp,
+ TouchableWithoutFeedback,
View,
ViewStyle,
} from 'react-native'
-import {useNavigation} from '@react-navigation/native'
import {ModerationUI} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/native'
+import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {NavigationProp} from 'lib/routes/types'
-import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
-
-import {useTheme, atoms as a} from '#/alf'
import {CenteredView} from '#/view/com/util/Views'
-import {Text} from '#/components/Typography'
+import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import {
ModerationDetailsDialog,
useModerationDetailsDialogControl,
} from '#/components/moderation/ModerationDetailsDialog'
+import {Text} from '#/components/Typography'
export function ScreenHider({
testID,
@@ -125,7 +124,15 @@ export function ScreenHider({
accessibilityRole="button"
accessibilityLabel={_(msg`Learn more about this warning`)}
accessibilityHint="">
-
+ Learn More
diff --git a/src/lib/app-info.ts b/src/lib/app-info.ts
index 3f026d3fe6..3071e031b3 100644
--- a/src/lib/app-info.ts
+++ b/src/lib/app-info.ts
@@ -1,5 +1,9 @@
import VersionNumber from 'react-native-version-number'
-import * as Updates from 'expo-updates'
-export const updateChannel = Updates.channel
-export const appVersion = `${VersionNumber.appVersion} (${VersionNumber.buildVersion})`
+export const IS_DEV = process.env.EXPO_PUBLIC_ENV === 'development'
+export const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight'
+
+const UPDATES_CHANNEL = IS_TESTFLIGHT ? 'testflight' : 'production'
+export const appVersion = `${VersionNumber.appVersion} (${
+ VersionNumber.buildVersion
+}, ${IS_DEV ? 'development' : UPDATES_CHANNEL})`
diff --git a/src/lib/hooks/useOTAUpdates.ts b/src/lib/hooks/useOTAUpdates.ts
new file mode 100644
index 0000000000..181f0b2c66
--- /dev/null
+++ b/src/lib/hooks/useOTAUpdates.ts
@@ -0,0 +1,142 @@
+import React from 'react'
+import {Alert, AppState, AppStateStatus} from 'react-native'
+import app from 'react-native-version-number'
+import {
+ checkForUpdateAsync,
+ fetchUpdateAsync,
+ isEnabled,
+ reloadAsync,
+ setExtraParamAsync,
+ useUpdates,
+} from 'expo-updates'
+
+import {logger} from '#/logger'
+import {IS_TESTFLIGHT} from 'lib/app-info'
+import {isIOS} from 'platform/detection'
+
+const MINIMUM_MINIMIZE_TIME = 15 * 60e3
+
+async function setExtraParams() {
+ await setExtraParamAsync(
+ isIOS ? 'ios-build-number' : 'android-build-number',
+ // Hilariously, `buildVersion` is not actually a string on Android even though the TS type says it is.
+ // This just ensures it gets passed as a string
+ `${app.buildVersion}`,
+ )
+ await setExtraParamAsync(
+ 'channel',
+ IS_TESTFLIGHT ? 'testflight' : 'production',
+ )
+}
+
+export function useOTAUpdates() {
+ const appState = React.useRef('active')
+ const lastMinimize = React.useRef(0)
+ const ranInitialCheck = React.useRef(false)
+ const timeout = React.useRef()
+ const {isUpdatePending} = useUpdates()
+
+ const setCheckTimeout = React.useCallback(() => {
+ timeout.current = setTimeout(async () => {
+ try {
+ await setExtraParams()
+
+ logger.debug('Checking for update...')
+ const res = await checkForUpdateAsync()
+
+ if (res.isAvailable) {
+ logger.debug('Attempting to fetch update...')
+ await fetchUpdateAsync()
+ } else {
+ logger.debug('No update available.')
+ }
+ } catch (e) {
+ logger.warn('OTA Update Error', {error: `${e}`})
+ }
+ }, 10e3)
+ }, [])
+
+ const onIsTestFlight = React.useCallback(() => {
+ setTimeout(async () => {
+ try {
+ await setExtraParams()
+
+ const res = await checkForUpdateAsync()
+ if (res.isAvailable) {
+ await fetchUpdateAsync()
+
+ Alert.alert(
+ 'Update Available',
+ 'A new version of the app is available. Relaunch now?',
+ [
+ {
+ text: 'No',
+ style: 'cancel',
+ },
+ {
+ text: 'Relaunch',
+ style: 'default',
+ onPress: async () => {
+ await reloadAsync()
+ },
+ },
+ ],
+ )
+ }
+ } catch (e: any) {
+ // No need to handle
+ }
+ }, 3e3)
+ }, [])
+
+ React.useEffect(() => {
+ // For Testflight users, we can prompt the user to update immediately whenever there's an available update. This
+ // is suspect however with the Apple App Store guidelines, so we don't want to prompt production users to update
+ // immediately.
+ if (IS_TESTFLIGHT) {
+ onIsTestFlight()
+ return
+ } else if (!isEnabled || __DEV__ || ranInitialCheck.current) {
+ // Development client shouldn't check for updates at all, so we skip that here.
+ return
+ }
+
+ setCheckTimeout()
+ ranInitialCheck.current = true
+ }, [onIsTestFlight, setCheckTimeout])
+
+ // After the app has been minimized for 30 minutes, we want to either A. install an update if one has become available
+ // or B check for an update again.
+ React.useEffect(() => {
+ if (!isEnabled) return
+
+ const subscription = AppState.addEventListener(
+ 'change',
+ async nextAppState => {
+ if (
+ appState.current.match(/inactive|background/) &&
+ nextAppState === 'active'
+ ) {
+ // If it's been 15 minutes since the last "minimize", we should feel comfortable updating the client since
+ // chances are that there isn't anything important going on in the current session.
+ if (lastMinimize.current <= Date.now() - MINIMUM_MINIMIZE_TIME) {
+ if (isUpdatePending) {
+ await reloadAsync()
+ } else {
+ setCheckTimeout()
+ }
+ }
+ } else {
+ lastMinimize.current = Date.now()
+ }
+
+ appState.current = nextAppState
+ },
+ )
+
+ return () => {
+ clearTimeout(timeout.current)
+ subscription.remove()
+ }
+ }, [isUpdatePending, setCheckTimeout])
+}
diff --git a/src/lib/icons.tsx b/src/lib/icons.tsx
index 7ae88806f7..93b45ea3a9 100644
--- a/src/lib/icons.tsx
+++ b/src/lib/icons.tsx
@@ -1,6 +1,6 @@
import React from 'react'
import {StyleProp, TextStyle, ViewStyle} from 'react-native'
-import Svg, {Path, Rect, Line, Ellipse} from 'react-native-svg'
+import Svg, {Ellipse, Line, Path, Rect} from 'react-native-svg'
export function GridIcon({
style,
@@ -141,8 +141,8 @@ export function MagnifyingGlassIcon2({
width={size || 24}
height={size || 24}
style={style}>
-
-
+
+
)
}
@@ -167,14 +167,14 @@ export function MagnifyingGlassIcon2Solid({
style={style}>
-
-
+
+
)
}
diff --git a/src/lib/moderation/useGlobalLabelStrings.ts b/src/lib/moderation/useGlobalLabelStrings.ts
index 1c5a482314..4f41c62b10 100644
--- a/src/lib/moderation/useGlobalLabelStrings.ts
+++ b/src/lib/moderation/useGlobalLabelStrings.ts
@@ -1,6 +1,6 @@
+import {useMemo} from 'react'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useMemo} from 'react'
export type GlobalLabelStrings = Record<
string,
@@ -31,7 +31,7 @@ export function useGlobalLabelStrings(): GlobalLabelStrings {
),
},
porn: {
- name: _(msg`Pornography`),
+ name: _(msg`Adult Content`),
description: _(msg`Explicit sexual images.`),
},
sexual: {
diff --git a/src/lib/moderation/useReportOptions.ts b/src/lib/moderation/useReportOptions.ts
index e001705943..a22386b991 100644
--- a/src/lib/moderation/useReportOptions.ts
+++ b/src/lib/moderation/useReportOptions.ts
@@ -1,7 +1,7 @@
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {useMemo} from 'react'
import {ComAtprotoModerationDefs} from '@atproto/api'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
export interface ReportOption {
reason: string
@@ -68,7 +68,7 @@ export function useReportOptions(): ReportOptions {
{
reason: ComAtprotoModerationDefs.REASONSEXUAL,
title: _(msg`Unwanted Sexual Content`),
- description: _(msg`Nudity or pornography not labeled as such`),
+ description: _(msg`Nudity or adult content not labeled as such`),
},
...common,
],
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts
index e811f690ed..0f628f4288 100644
--- a/src/lib/notifications/notifications.ts
+++ b/src/lib/notifications/notifications.ts
@@ -1,12 +1,14 @@
+import {useEffect} from 'react'
import * as Notifications from 'expo-notifications'
import {QueryClient} from '@tanstack/react-query'
-import {resetToTab} from '../../Navigation'
-import {devicePlatform, isIOS} from 'platform/detection'
-import {track} from 'lib/analytics/analytics'
+
import {logger} from '#/logger'
import {RQKEY as RQKEY_NOTIFS} from '#/state/queries/notifications/feed'
import {truncateAndInvalidate} from '#/state/queries/util'
-import {SessionAccount, getAgent} from '#/state/session'
+import {getAgent, SessionAccount} from '#/state/session'
+import {track} from 'lib/analytics/analytics'
+import {devicePlatform, isIOS} from 'platform/detection'
+import {resetToTab} from '../../Navigation'
import {logEvent} from '../statsig/statsig'
const SERVICE_DID = (serviceUrl?: string) =>
@@ -80,53 +82,63 @@ export function registerTokenChangeHandler(
}
}
-export function init(queryClient: QueryClient) {
- // handle notifications that are received, both in the foreground or background
- // NOTE: currently just here for debug logging
- Notifications.addNotificationReceivedListener(event => {
- logger.debug(
- 'Notifications: received',
- {event},
- logger.DebugContext.notifications,
- )
- if (event.request.trigger.type === 'push') {
- // handle payload-based deeplinks
- let payload
- if (isIOS) {
- payload = event.request.trigger.payload
- } else {
- // TODO: handle android payload deeplink
+export function useNotificationsListener(queryClient: QueryClient) {
+ useEffect(() => {
+ // handle notifications that are received, both in the foreground or background
+ // NOTE: currently just here for debug logging
+ const sub1 = Notifications.addNotificationReceivedListener(event => {
+ logger.debug(
+ 'Notifications: received',
+ {event},
+ logger.DebugContext.notifications,
+ )
+ if (event.request.trigger.type === 'push') {
+ // handle payload-based deeplinks
+ let payload
+ if (isIOS) {
+ payload = event.request.trigger.payload
+ } else {
+ // TODO: handle android payload deeplink
+ }
+ if (payload) {
+ logger.debug(
+ 'Notifications: received payload',
+ payload,
+ logger.DebugContext.notifications,
+ )
+ // TODO: deeplink notif here
+ }
}
- if (payload) {
+ })
+
+ // handle notifications that are tapped on
+ const sub2 = Notifications.addNotificationResponseReceivedListener(
+ response => {
logger.debug(
- 'Notifications: received payload',
- payload,
+ 'Notifications: response received',
+ {
+ actionIdentifier: response.actionIdentifier,
+ },
logger.DebugContext.notifications,
)
- // TODO: deeplink notif here
- }
- }
- })
-
- // handle notifications that are tapped on
- Notifications.addNotificationResponseReceivedListener(response => {
- logger.debug(
- 'Notifications: response received',
- {
- actionIdentifier: response.actionIdentifier,
+ if (
+ response.actionIdentifier === Notifications.DEFAULT_ACTION_IDENTIFIER
+ ) {
+ logger.debug(
+ 'User pressed a notification, opening notifications tab',
+ {},
+ logger.DebugContext.notifications,
+ )
+ track('Notificatons:OpenApp')
+ logEvent('notifications:openApp', {})
+ truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
+ resetToTab('NotificationsTab') // open notifications tab
+ }
},
- logger.DebugContext.notifications,
)
- if (response.actionIdentifier === Notifications.DEFAULT_ACTION_IDENTIFIER) {
- logger.debug(
- 'User pressed a notification, opening notifications tab',
- {},
- logger.DebugContext.notifications,
- )
- track('Notificatons:OpenApp')
- logEvent('notifications:openApp', {})
- truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
- resetToTab('NotificationsTab') // open notifications tab
+ return () => {
+ sub1.remove()
+ sub2.remove()
}
- })
+ }, [queryClient])
}
diff --git a/src/lib/react-query.ts b/src/lib/react-query.ts
deleted file mode 100644
index d6cd3c54b2..0000000000
--- a/src/lib/react-query.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import {AppState, AppStateStatus} from 'react-native'
-import {QueryClient, focusManager} from '@tanstack/react-query'
-import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
-import AsyncStorage from '@react-native-async-storage/async-storage'
-import {PersistQueryClientProviderProps} from '@tanstack/react-query-persist-client'
-
-import {isNative} from '#/platform/detection'
-
-// any query keys in this array will be persisted to AsyncStorage
-const STORED_CACHE_QUERY_KEYS = ['labelers-detailed-info']
-
-focusManager.setEventListener(onFocus => {
- if (isNative) {
- const subscription = AppState.addEventListener(
- 'change',
- (status: AppStateStatus) => {
- focusManager.setFocused(status === 'active')
- },
- )
-
- return () => subscription.remove()
- } else if (typeof window !== 'undefined' && window.addEventListener) {
- // these handlers are a bit redundant but focus catches when the browser window
- // is blurred/focused while visibilitychange seems to only handle when the
- // window minimizes (both of them catch tab changes)
- // there's no harm to redundant fires because refetchOnWindowFocus is only
- // used with queries that employ stale data times
- const handler = () => onFocus()
- window.addEventListener('focus', handler, false)
- window.addEventListener('visibilitychange', handler, false)
- return () => {
- window.removeEventListener('visibilitychange', handler)
- window.removeEventListener('focus', handler)
- }
- }
-})
-
-export const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- // NOTE
- // refetchOnWindowFocus breaks some UIs (like feeds)
- // so we only selectively want to enable this
- // -prf
- refetchOnWindowFocus: false,
- // Structural sharing between responses makes it impossible to rely on
- // "first seen" timestamps on objects to determine if they're fresh.
- // Disable this optimization so that we can rely on "first seen" timestamps.
- structuralSharing: false,
- // We don't want to retry queries by default, because in most cases we
- // want to fail early and show a response to the user. There are
- // exceptions, and those can be made on a per-query basis. For others, we
- // should give users controls to retry.
- retry: false,
- },
- },
-})
-
-export const asyncStoragePersister = createAsyncStoragePersister({
- storage: AsyncStorage,
- key: 'queryCache',
-})
-
-export const dehydrateOptions: PersistQueryClientProviderProps['persistOptions']['dehydrateOptions'] =
- {
- shouldDehydrateMutation: (_: any) => false,
- shouldDehydrateQuery: query => {
- return STORED_CACHE_QUERY_KEYS.includes(String(query.queryKey[0]))
- },
- }
diff --git a/src/lib/react-query.tsx b/src/lib/react-query.tsx
new file mode 100644
index 0000000000..be507216aa
--- /dev/null
+++ b/src/lib/react-query.tsx
@@ -0,0 +1,124 @@
+import React, {useRef, useState} from 'react'
+import {AppState, AppStateStatus} from 'react-native'
+import AsyncStorage from '@react-native-async-storage/async-storage'
+import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
+import {focusManager, QueryClient} from '@tanstack/react-query'
+import {
+ PersistQueryClientProvider,
+ PersistQueryClientProviderProps,
+} from '@tanstack/react-query-persist-client'
+
+import {isNative} from '#/platform/detection'
+
+// any query keys in this array will be persisted to AsyncStorage
+export const labelersDetailedInfoQueryKeyRoot = 'labelers-detailed-info'
+const STORED_CACHE_QUERY_KEY_ROOTS = [labelersDetailedInfoQueryKeyRoot]
+
+focusManager.setEventListener(onFocus => {
+ if (isNative) {
+ const subscription = AppState.addEventListener(
+ 'change',
+ (status: AppStateStatus) => {
+ focusManager.setFocused(status === 'active')
+ },
+ )
+
+ return () => subscription.remove()
+ } else if (typeof window !== 'undefined' && window.addEventListener) {
+ // these handlers are a bit redundant but focus catches when the browser window
+ // is blurred/focused while visibilitychange seems to only handle when the
+ // window minimizes (both of them catch tab changes)
+ // there's no harm to redundant fires because refetchOnWindowFocus is only
+ // used with queries that employ stale data times
+ const handler = () => onFocus()
+ window.addEventListener('focus', handler, false)
+ window.addEventListener('visibilitychange', handler, false)
+ return () => {
+ window.removeEventListener('visibilitychange', handler)
+ window.removeEventListener('focus', handler)
+ }
+ }
+})
+
+const createQueryClient = () =>
+ new QueryClient({
+ defaultOptions: {
+ queries: {
+ // NOTE
+ // refetchOnWindowFocus breaks some UIs (like feeds)
+ // so we only selectively want to enable this
+ // -prf
+ refetchOnWindowFocus: false,
+ // Structural sharing between responses makes it impossible to rely on
+ // "first seen" timestamps on objects to determine if they're fresh.
+ // Disable this optimization so that we can rely on "first seen" timestamps.
+ structuralSharing: false,
+ // We don't want to retry queries by default, because in most cases we
+ // want to fail early and show a response to the user. There are
+ // exceptions, and those can be made on a per-query basis. For others, we
+ // should give users controls to retry.
+ retry: false,
+ },
+ },
+ })
+
+const dehydrateOptions: PersistQueryClientProviderProps['persistOptions']['dehydrateOptions'] =
+ {
+ shouldDehydrateMutation: (_: any) => false,
+ shouldDehydrateQuery: query => {
+ return STORED_CACHE_QUERY_KEY_ROOTS.includes(String(query.queryKey[0]))
+ },
+ }
+
+export function QueryProvider({
+ children,
+ currentDid,
+}: {
+ children: React.ReactNode
+ currentDid: string | undefined
+}) {
+ return (
+
+ {children}
+
+ )
+}
+
+function QueryProviderInner({
+ children,
+ currentDid,
+}: {
+ children: React.ReactNode
+ currentDid: string | undefined
+}) {
+ const initialDid = useRef(currentDid)
+ if (currentDid !== initialDid.current) {
+ throw Error(
+ 'Something is very wrong. Expected did to be stable due to key above.',
+ )
+ }
+ // We create the query client here so that it's scoped to a specific DID.
+ // Do not move the query client creation outside of this component.
+ const [queryClient, _setQueryClient] = useState(() => createQueryClient())
+ const [persistOptions, _setPersistOptions] = useState(() => {
+ const asyncPersister = createAsyncStoragePersister({
+ storage: AsyncStorage,
+ key: 'queryClient-' + (currentDid ?? 'logged-out'),
+ })
+ return {
+ persister: asyncPersister,
+ dehydrateOptions,
+ }
+ })
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/lib/sharing.ts b/src/lib/sharing.ts
index 9f402f8737..c50a2734a3 100644
--- a/src/lib/sharing.ts
+++ b/src/lib/sharing.ts
@@ -1,8 +1,9 @@
-import {isIOS, isAndroid} from 'platform/detection'
+import {Share} from 'react-native'
// import * as Sharing from 'expo-sharing'
import Clipboard from '@react-native-clipboard/clipboard'
-import * as Toast from '../view/com/util/Toast'
-import {Share} from 'react-native'
+
+import {isAndroid, isIOS} from 'platform/detection'
+import * as Toast from '#/view/com/util/Toast'
/**
* This function shares a URL using the native Share API if available, or copies it to the clipboard
diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts
index d07b95d93e..24ab678934 100644
--- a/src/locale/helpers.ts
+++ b/src/locale/helpers.ts
@@ -1,7 +1,8 @@
import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api'
+import * as bcp47Match from 'bcp-47-match'
import lande from 'lande'
+
import {hasProp} from 'lib/type-guards'
-import * as bcp47Match from 'bcp-47-match'
import {
AppLanguage,
LANGUAGES_MAP_CODE2,
@@ -118,6 +119,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
switch (lang) {
case 'en':
return AppLanguage.en
+ case 'ca':
+ return AppLanguage.ca
case 'de':
return AppLanguage.de
case 'es':
@@ -126,24 +129,28 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
return AppLanguage.fi
case 'fr':
return AppLanguage.fr
+ case 'ga':
+ return AppLanguage.ga
case 'hi':
return AppLanguage.hi
case 'id':
return AppLanguage.id
+ case 'it':
+ return AppLanguage.it
case 'ja':
return AppLanguage.ja
case 'ko':
return AppLanguage.ko
case 'pt-BR':
return AppLanguage.pt_BR
+ case 'tr':
+ return AppLanguage.tr
case 'uk':
return AppLanguage.uk
- case 'ca':
- return AppLanguage.ca
case 'zh-CN':
return AppLanguage.zh_CN
- case 'it':
- return AppLanguage.it
+ case 'zh-TW':
+ return AppLanguage.zh_TW
default:
continue
}
diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts
index a1e950947b..725332de01 100644
--- a/src/locale/i18n.ts
+++ b/src/locale/i18n.ts
@@ -1,30 +1,36 @@
import {useEffect} from 'react'
import {i18n} from '@lingui/core'
-import {useLanguagePrefs} from '#/state/preferences'
-import {messages as messagesEn} from '#/locale/locales/en/messages'
+import {sanitizeAppLanguageSetting} from '#/locale/helpers'
+import {AppLanguage} from '#/locale/languages'
+import {messages as messagesCa} from '#/locale/locales/ca/messages'
import {messages as messagesDe} from '#/locale/locales/de/messages'
-import {messages as messagesId} from '#/locale/locales/id/messages'
+import {messages as messagesEn} from '#/locale/locales/en/messages'
import {messages as messagesEs} from '#/locale/locales/es/messages'
import {messages as messagesFi} from '#/locale/locales/fi/messages'
import {messages as messagesFr} from '#/locale/locales/fr/messages'
+import {messages as messagesGa} from '#/locale/locales/ga/messages'
import {messages as messagesHi} from '#/locale/locales/hi/messages'
+import {messages as messagesId} from '#/locale/locales/id/messages'
+import {messages as messagesIt} from '#/locale/locales/it/messages'
import {messages as messagesJa} from '#/locale/locales/ja/messages'
import {messages as messagesKo} from '#/locale/locales/ko/messages'
import {messages as messagesPt_BR} from '#/locale/locales/pt-BR/messages'
+import {messages as messagesTr} from '#/locale/locales/tr/messages'
import {messages as messagesUk} from '#/locale/locales/uk/messages'
-import {messages as messagesCa} from '#/locale/locales/ca/messages'
import {messages as messagesZh_CN} from '#/locale/locales/zh-CN/messages'
-import {messages as messagesIt} from '#/locale/locales/it/messages'
-
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {AppLanguage} from '#/locale/languages'
+import {messages as messagesZh_TW} from '#/locale/locales/zh-TW/messages'
+import {useLanguagePrefs} from '#/state/preferences'
/**
* We do a dynamic import of just the catalog that we need
*/
export async function dynamicActivate(locale: AppLanguage) {
switch (locale) {
+ case AppLanguage.ca: {
+ i18n.loadAndActivate({locale, messages: messagesCa})
+ break
+ }
case AppLanguage.de: {
i18n.loadAndActivate({locale, messages: messagesDe})
break
@@ -41,6 +47,10 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesFr})
break
}
+ case AppLanguage.ga: {
+ i18n.loadAndActivate({locale, messages: messagesGa})
+ break
+ }
case AppLanguage.hi: {
i18n.loadAndActivate({locale, messages: messagesHi})
break
@@ -49,6 +59,10 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesId})
break
}
+ case AppLanguage.it: {
+ i18n.loadAndActivate({locale, messages: messagesIt})
+ break
+ }
case AppLanguage.ja: {
i18n.loadAndActivate({locale, messages: messagesJa})
break
@@ -61,20 +75,20 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesPt_BR})
break
}
- case AppLanguage.uk: {
- i18n.loadAndActivate({locale, messages: messagesUk})
+ case AppLanguage.tr: {
+ i18n.loadAndActivate({locale, messages: messagesTr})
break
}
- case AppLanguage.ca: {
- i18n.loadAndActivate({locale, messages: messagesCa})
+ case AppLanguage.uk: {
+ i18n.loadAndActivate({locale, messages: messagesUk})
break
}
case AppLanguage.zh_CN: {
i18n.loadAndActivate({locale, messages: messagesZh_CN})
break
}
- case AppLanguage.it: {
- i18n.loadAndActivate({locale, messages: messagesIt})
+ case AppLanguage.zh_TW: {
+ i18n.loadAndActivate({locale, messages: messagesZh_TW})
break
}
default: {
diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts
index 334b2586e5..87c3c590e9 100644
--- a/src/locale/i18n.web.ts
+++ b/src/locale/i18n.web.ts
@@ -1,9 +1,9 @@
import {useEffect} from 'react'
import {i18n} from '@lingui/core'
-import {useLanguagePrefs} from '#/state/preferences'
import {sanitizeAppLanguageSetting} from '#/locale/helpers'
import {AppLanguage} from '#/locale/languages'
+import {useLanguagePrefs} from '#/state/preferences'
/**
* We do a dynamic import of just the catalog that we need
@@ -12,6 +12,10 @@ export async function dynamicActivate(locale: AppLanguage) {
let mod: any
switch (locale) {
+ case AppLanguage.ca: {
+ mod = await import(`./locales/ca/messages`)
+ break
+ }
case AppLanguage.de: {
mod = await import(`./locales/de/messages`)
break
@@ -28,6 +32,10 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/fr/messages`)
break
}
+ case AppLanguage.ga: {
+ mod = await import(`./locales/ga/messages`)
+ break
+ }
case AppLanguage.hi: {
mod = await import(`./locales/hi/messages`)
break
@@ -36,6 +44,10 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/id/messages`)
break
}
+ case AppLanguage.it: {
+ mod = await import(`./locales/it/messages`)
+ break
+ }
case AppLanguage.ja: {
mod = await import(`./locales/ja/messages`)
break
@@ -48,20 +60,20 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/pt-BR/messages`)
break
}
- case AppLanguage.uk: {
- mod = await import(`./locales/uk/messages`)
+ case AppLanguage.tr: {
+ mod = await import(`./locales/tr/messages`)
break
}
- case AppLanguage.ca: {
- mod = await import(`./locales/ca/messages`)
+ case AppLanguage.uk: {
+ mod = await import(`./locales/uk/messages`)
break
}
case AppLanguage.zh_CN: {
mod = await import(`./locales/zh-CN/messages`)
break
}
- case AppLanguage.it: {
- mod = await import(`./locales/it/messages`)
+ case AppLanguage.zh_TW: {
+ mod = await import(`./locales/zh-TW/messages`)
break
}
default: {
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index 1cbe8fa830..626c00f389 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -6,19 +6,22 @@ interface Language {
export enum AppLanguage {
en = 'en',
+ ca = 'ca',
de = 'de',
es = 'es',
fi = 'fi',
fr = 'fr',
+ ga = 'ga',
hi = 'hi',
id = 'id',
+ it = 'it',
ja = 'ja',
ko = 'ko',
pt_BR = 'pt-BR',
+ tr = 'tr',
uk = 'uk',
- ca = 'ca',
zh_CN = 'zh-CN',
- it = 'it',
+ zh_TW = 'zh-TW',
}
interface AppLanguageConfig {
@@ -28,19 +31,22 @@ interface AppLanguageConfig {
export const APP_LANGUAGES: AppLanguageConfig[] = [
{code2: AppLanguage.en, name: 'English'},
+ {code2: AppLanguage.ca, name: 'Català – Catalan'},
{code2: AppLanguage.de, name: 'Deutsch – German'},
{code2: AppLanguage.es, name: 'Español – Spanish'},
{code2: AppLanguage.fi, name: 'Suomi – Finnish'},
{code2: AppLanguage.fr, name: 'Français – French'},
+ {code2: AppLanguage.ga, name: 'Gaeilge – Irish'},
{code2: AppLanguage.hi, name: 'हिंदी – Hindi'},
{code2: AppLanguage.id, name: 'Bahasa Indonesia – Indonesian'},
+ {code2: AppLanguage.it, name: 'Italiano – Italian'},
{code2: AppLanguage.ja, name: '日本語 – Japanese'},
{code2: AppLanguage.ko, name: '한국어 – Korean'},
{code2: AppLanguage.pt_BR, name: 'Português (BR) – Portuguese (BR)'},
+ {code2: AppLanguage.tr, name: 'Türkçe – Turkish'},
{code2: AppLanguage.uk, name: 'Українська – Ukrainian'},
- {code2: AppLanguage.ca, name: 'Català – Catalan'},
- {code2: AppLanguage.zh_CN, name: '简体中文(中国) – Chinese (Simplified)'},
- {code2: AppLanguage.it, name: 'Italiano - Italian'},
+ {code2: AppLanguage.zh_CN, name: '简体中文(中国)– Chinese (Simplified)'},
+ {code2: AppLanguage.zh_TW, name: '繁體中文(臺灣)– Chinese (Traditional)'},
]
export const LANGUAGES: Language[] = [
diff --git a/src/locale/locales/ca/messages.po b/src/locale/locales/ca/messages.po
index 9f723fd71f..4d5da97cf6 100644
--- a/src/locale/locales/ca/messages.po
+++ b/src/locale/locales/ca/messages.po
@@ -64,7 +64,7 @@ msgstr "<0/> membres"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> seguint"
#: src/screens/Profile/Header/Metrics.tsx:46
msgid "<0>{following} 0><1>following1>"
@@ -80,7 +80,7 @@ msgstr "<0>Segueix alguns0><1>usuaris1><2>recomanats2>"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
msgid "<0>Welcome to0><1>Bluesky1>"
-msgstr "<0>Benvingut a0><1>Bluesky1>"
+msgstr "<0>Us donem la benvinguda a0><1>Bluesky1>"
#: src/screens/Profile/Header/Handle.tsx:42
msgid "⚠Invalid Handle"
@@ -92,7 +92,7 @@ msgstr "⚠Identificador invàlid"
#: src/lib/hooks/useOTAUpdate.ts:16
#~ msgid "A new version of the app is available. Please update to continue using the app."
-#~ msgstr "Hi ha una nova versió d'aquesta aplicació. Actualitza-la per continuar."
+#~ msgstr "Hi ha una nova versió d'aquesta aplicació. Actualitza-la per a continuar."
#: src/view/com/util/ViewHeader.tsx:89
#: src/view/screens/Search/Search.tsx:648
@@ -110,7 +110,7 @@ msgstr "Accessibilitat"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "compte"
#: src/view/com/auth/login/LoginForm.tsx:169
#: src/view/screens/Settings/index.tsx:327
@@ -124,7 +124,7 @@ msgstr "Compte bloquejat"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Compte seguit"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
@@ -154,7 +154,7 @@ msgstr "Compte desbloquejat"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Compte no seguit"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
@@ -212,11 +212,11 @@ msgstr "Afegeix una targeta a l'enllaç:"
#: src/components/dialogs/MutedWords.tsx:158
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "Afegeix paraula silenciada a la configuració"
#: src/components/dialogs/MutedWords.tsx:87
msgid "Add muted words and tags"
-msgstr ""
+msgstr "Afegeix les paraules i etiquetes silenciades"
#: src/view/com/modals/ChangeHandle.tsx:417
msgid "Add the following DNS record to your domain:"
@@ -246,7 +246,7 @@ msgstr "Afegit als meus canals"
#: src/view/screens/PreferencesFollowingFeed.tsx:173
msgid "Adjust the number of likes a reply must have to be shown in your feed."
-msgstr "Ajusta el nombre de m'agrades que hagi de tenir una resposta per aparèixer al teu canal."
+msgstr "Ajusta el nombre de m'agrades que hagi de tenir una resposta per a aparèixer al teu canal."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
@@ -259,7 +259,7 @@ msgstr "Contingut per a adults"
#: src/components/moderation/ModerationLabelPref.tsx:114
msgid "Adult content is disabled."
-msgstr ""
+msgstr "El contingut per adults està deshabilitat."
#: src/screens/Moderation/index.tsx:377
#: src/view/screens/Settings/index.tsx:684
@@ -301,14 +301,14 @@ msgstr "S'ha enviat un correu a la teva adreça prèvia, {0}. Inclou un codi de
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "Un problema que no està inclòs en aquestes opcions"
#: src/view/com/profile/FollowButton.tsx:35
#: src/view/com/profile/FollowButton.tsx:45
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
-msgstr "Hi ha hagut un problema, prova-ho de nou"
+msgstr "Hi ha hagut un problema, prova-ho de nou."
#: src/view/com/notifications/FeedItem.tsx:240
#: src/view/com/threadgate/WhoCanReply.tsx:178
@@ -321,7 +321,7 @@ msgstr "Animals"
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Comportament antisocial"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -337,7 +337,7 @@ msgstr "La contrasenya de l'aplicació només pot estar formada per lletres, nú
#: src/view/com/modals/AddAppPasswords.tsx:99
msgid "App Password names must be at least 4 characters long."
-msgstr "La contrasenya de l'aplicació ha de ser d'almenys 4 caràcters"
+msgstr "La contrasenya de l'aplicació ha de ser d'almenys 4 caràcters."
#: src/view/screens/Settings/index.tsx:695
msgid "App password settings"
@@ -356,11 +356,11 @@ msgstr "Contrasenyes de l'aplicació"
#: src/components/moderation/LabelsOnMeDialog.tsx:134
#: src/components/moderation/LabelsOnMeDialog.tsx:137
msgid "Appeal"
-msgstr ""
+msgstr "Apel·la"
#: src/components/moderation/LabelsOnMeDialog.tsx:202
msgid "Appeal \"{0}\" label"
-msgstr ""
+msgstr "Apel·la \"{0}\" etiqueta"
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
@@ -376,7 +376,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:193
msgid "Appeal submitted."
-msgstr ""
+msgstr "Apel·lació enviada."
#: src/view/com/util/moderation/LabelInfo.tsx:52
#~ msgid "Appeal this decision"
@@ -396,7 +396,7 @@ msgstr "Confirmes que vols eliminar la contrasenya de l'aplicació \"{name}\"?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Confirmes que vols eliminar {0} dels teus canals?"
#: src/view/com/composer/Composer.tsx:508
msgid "Are you sure you'd like to discard this draft?"
@@ -459,7 +459,7 @@ msgstr "Aniversari:"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Bloqueja"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -468,7 +468,7 @@ msgstr "Bloqueja el compte"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "Vols bloquejar el compte?"
#: src/view/screens/ProfileList.tsx:530
msgid "Block accounts"
@@ -515,7 +515,7 @@ msgstr "Publicació bloquejada."
#: src/screens/Profile/Sections/Labels.tsx:153
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "El bloqueig no evita que aquest etiquetador apliqui etiquetes al teu compte."
#: src/view/screens/ProfileList.tsx:631
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
@@ -523,7 +523,7 @@ msgstr "El bloqueig és públic. Els comptes bloquejats no poden respondre els t
#: src/view/com/profile/ProfileMenu.tsx:353
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
-msgstr ""
+msgstr "Bloquejar no evitarà que s'apliquin etiquetes al teu compte, però no deixarà que aquest compte respongui els teus fils ni interactui amb tu."
#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
#: src/view/com/auth/SplashScreen.web.tsx:133
@@ -538,7 +538,7 @@ msgstr "Bluesky"
#: src/view/com/auth/server-input/index.tsx:150
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
-msgstr "Bluesky és una xarxa oberta on pots escollir el teu proveïdor d'allotjament. L'allotjament personalitzat està disponible en beta per a desenvolupadors"
+msgstr "Bluesky és una xarxa oberta on pots escollir el teu proveïdor d'allotjament. L'allotjament personalitzat està disponible en beta per a desenvolupadors."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
@@ -569,11 +569,11 @@ msgstr "Bluesky no mostrarà el teu perfil ni les publicacions als usuaris que n
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "Difumina les imatges"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Difumina les imatges i filtra-ho dels canals"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
@@ -590,7 +590,7 @@ msgstr "Negocis"
#: src/view/com/modals/ServerInput.tsx:115
#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr "Botó deshabilitat. Entra el domini personalitzat per continuar."
+#~ msgstr "Botó deshabilitat. Entra el domini personalitzat per a continuar."
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
@@ -602,7 +602,7 @@ msgstr "per {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Per {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -610,7 +610,7 @@ msgstr "per <0/>"
#: src/view/com/auth/create/Policies.tsx:87
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "Creant el compte indiques que estàs d'acord amb {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
@@ -694,7 +694,7 @@ msgstr "Cancel·la la cerca"
#: src/view/com/modals/LinkWarning.tsx:88
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "Cancel·la obrir la web enllaçada"
#: src/view/com/modals/VerifyEmail.tsx:152
msgid "Change"
@@ -746,15 +746,15 @@ msgstr "Comprova el meu estat"
#: 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 "Mira alguns canals recomanats. Prem + per afegir-los als teus canals fixats."
+msgstr "Mira alguns canals recomanats. Prem + per a afegir-los als teus canals fixats."
#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
msgid "Check out some recommended users. Follow them to see similar users."
-msgstr "Mira alguns usuaris recomanats. Segueix-los per veure altres usuaris similars."
+msgstr "Mira alguns usuaris recomanats. Segueix-los per a veure altres usuaris similars."
#: src/view/com/modals/DeleteAccount.tsx:169
msgid "Check your inbox for an email with the confirmation code to enter below:"
-msgstr "Comprova el teu correu per rebre el codi de confirmació i entra'l aquí sota:"
+msgstr "Comprova el teu correu per a rebre el codi de confirmació i entra'l aquí sota:"
#: src/view/com/modals/Threadgate.tsx:72
msgid "Choose \"Everybody\" or \"Nobody\""
@@ -808,11 +808,11 @@ msgstr "Esborra la cerca"
#: src/view/screens/Settings/index.tsx:869
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "Esborra totes les dades antigues emmagatzemades"
#: src/view/screens/Settings/index.tsx:881
msgid "Clears all storage data"
-msgstr ""
+msgstr "Esborra totes les dades emmagatzemades"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -820,11 +820,11 @@ msgstr "clica aquí"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "Clica aquí per obrir el menú d'etiquetes per {tag}"
#: src/components/RichText.tsx:191
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "Clica aquí per obrir el menú d'etiquetes per #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
@@ -863,7 +863,7 @@ msgstr "Tanca el peu de la navegació"
#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "Tanca aquest diàleg"
#: src/view/shell/index.web.tsx:56
msgid "Closes bottom navigation bar"
@@ -904,7 +904,7 @@ msgstr "Finalitza el registre i comença a utilitzar el teu compte"
#: src/view/com/auth/create/Step3.tsx:73
msgid "Complete the challenge"
-msgstr ""
+msgstr "Completa la prova"
#: src/view/com/composer/Composer.tsx:437
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
@@ -922,7 +922,7 @@ msgstr "Configura els filtres de continguts per la categoria: {0}"
#: src/components/moderation/ModerationLabelPref.tsx:116
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+msgstr "Configurat a <0>configuració de moderació0>."
#: src/components/Prompt.tsx:152
#: src/components/Prompt.tsx:155
@@ -955,15 +955,15 @@ msgstr "Confirma l'eliminació del compte"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
#~ msgid "Confirm your age to enable adult content."
-#~ msgstr "Confirma la teva edat per habilitar el contingut per a adults"
+#~ msgstr "Confirma la teva edat per a habilitar el contingut per a adults"
#: src/screens/Moderation/index.tsx:303
msgid "Confirm your age:"
-msgstr ""
+msgstr "Confirma la teva edat:"
#: src/screens/Moderation/index.tsx:294
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Confirma la teva data de naixement"
#: src/view/com/modals/ChangeEmail.tsx:157
#: src/view/com/modals/DeleteAccount.tsx:176
@@ -987,11 +987,11 @@ msgstr "Contacta amb suport"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "contingut"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
+msgstr "Contingut bloquejat"
#: src/view/screens/Moderation.tsx:83
#~ msgid "Content filtering"
@@ -1003,7 +1003,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:287
msgid "Content filters"
-msgstr ""
+msgstr "Filtres de contingut"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -1028,7 +1028,7 @@ msgstr "Advertències del contingut"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+msgstr "Teló de fons del menú contextual, fes clic per tancar-lo."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
#: src/screens/Onboarding/StepFollowingFeed.tsx:153
@@ -1086,7 +1086,7 @@ msgstr "Copia"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Copy {0}"
-msgstr ""
+msgstr "Copia {0}"
#: src/view/screens/ProfileList.tsx:388
msgid "Copy link to list"
@@ -1148,7 +1148,7 @@ msgstr "Crea un nou compte"
#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Crea un informe per a {0}"
#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
@@ -1164,7 +1164,7 @@ msgstr "Creat {0}"
#: src/view/com/composer/Composer.tsx:468
msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr "Crea una targeta amb una minuatura. La targeta enllaça a {url}"
+msgstr "Crea una targeta amb una miniatura. La targeta enllaça a {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
@@ -1186,7 +1186,7 @@ msgstr "Els canals personalitzats fets per la comunitat et porten noves experiè
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
-msgstr "Personalitza el contingut dels llocs externs"
+msgstr "Personalitza el contingut dels llocs externs."
#: src/view/screens/Settings.tsx:687
#~ msgid "Danger Zone"
@@ -1207,7 +1207,7 @@ msgstr "Tema fosc"
#: src/view/screens/Settings/index.tsx:841
msgid "Debug Moderation"
-msgstr ""
+msgstr "Moderació de depuració"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
@@ -1217,7 +1217,7 @@ msgstr "Panell de depuració"
#: src/view/screens/AppPasswords.tsx:268
#: src/view/screens/ProfileList.tsx:613
msgid "Delete"
-msgstr ""
+msgstr "Elimina"
#: src/view/screens/Settings/index.tsx:796
msgid "Delete account"
@@ -1233,7 +1233,7 @@ msgstr "Elimina la contrasenya d'aplicació"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Vols eliminar la contrasenya d'aplicació?"
#: src/view/screens/ProfileList.tsx:415
msgid "Delete List"
@@ -1258,7 +1258,7 @@ msgstr "Elimina la publicació"
#: src/view/screens/ProfileList.tsx:608
msgid "Delete this list?"
-msgstr ""
+msgstr "Vols eliminar aquesta llista?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Delete this post?"
@@ -1300,7 +1300,7 @@ msgstr "Tènue"
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
#: src/screens/Moderation/index.tsx:343
msgid "Disabled"
-msgstr ""
+msgstr "Deshabilitat"
#: src/view/com/composer/Composer.tsx:510
msgid "Discard"
@@ -1312,7 +1312,7 @@ msgstr "Descarta"
#: src/view/com/composer/Composer.tsx:507
msgid "Discard draft?"
-msgstr ""
+msgstr "Vols descartar l'esborrany?"
#: src/screens/Moderation/index.tsx:520
#: src/screens/Moderation/index.tsx:524
@@ -1342,15 +1342,15 @@ msgstr "Nom mostrat"
#: src/view/com/modals/ChangeHandle.tsx:398
msgid "DNS Panel"
-msgstr ""
+msgstr "Panell de DNS"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "No inclou nuesa."
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "Domain Value"
-msgstr ""
+msgstr "valor del domini"
#: src/view/com/modals/ChangeHandle.tsx:489
msgid "Domain verified!"
@@ -1395,7 +1395,7 @@ msgstr "Fet{extraText}"
#: src/view/com/auth/login/ChooseAccountForm.tsx:46
msgid "Double tap to sign in"
-msgstr "Fes doble toc per iniciar la sessió"
+msgstr "Fes doble toc per a iniciar la sessió"
#: src/view/screens/Settings/index.tsx:755
#~ msgid "Download Bluesky account data (repository)"
@@ -1408,47 +1408,47 @@ msgstr "Descarrega el fitxer CAR"
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
-msgstr "Deixa anar per afegir imatges"
+msgstr "Deixa anar a afegir imatges"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
-msgstr "Degut a les polítiques d'Apple, el contingut per a adults només es pot habilitar a la web després de registrar-se"
+msgstr "A causa de les polítiques d'Apple, el contingut a adults només es pot habilitar a la web després de registrar-se."
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
-msgstr ""
+msgstr "p. ex.jordi"
#: src/view/com/modals/EditProfile.tsx:185
msgid "e.g. Alice Roberts"
-msgstr "p.ex. Jordi Guix"
+msgstr "p. ex.Jordi Guix"
#: src/view/com/modals/ChangeHandle.tsx:381
msgid "e.g. alice.com"
-msgstr ""
+msgstr "p. ex.jordi.com"
#: src/view/com/modals/EditProfile.tsx:203
msgid "e.g. Artist, dog-lover, and avid reader."
-msgstr "p.ex. Artista, amant dels gossos i amant de la lectura."
+msgstr "p. ex.Artista, amant dels gossos i amant de la lectura."
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "p. ex.nuesa artística"
#: src/view/com/modals/CreateOrEditList.tsx:283
msgid "e.g. Great Posters"
-msgstr "p.ex. Gent interessant"
+msgstr "p. ex.Gent interessant"
#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Spammers"
-msgstr "p.ex. Spammers"
+msgstr "p. ex.Spammers"
#: src/view/com/modals/CreateOrEditList.tsx:312
msgid "e.g. The posters who never miss."
-msgstr "p.ex. Els que mai fallen"
+msgstr "p. ex.Els que mai fallen"
#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. Users that repeatedly reply with ads."
-msgstr "p.ex. Usuaris que sempre responen amb anuncis"
+msgstr "p. ex.Usuaris que sempre responen amb anuncis"
#: src/view/com/modals/InviteCodes.tsx:96
msgid "Each code works once. You'll receive more invite codes periodically."
@@ -1462,7 +1462,7 @@ msgstr "Edita"
#: src/view/com/util/UserAvatar.tsx:299
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Edita l'avatar"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:207
@@ -1552,11 +1552,11 @@ msgstr "Habilita només {0}"
#: src/screens/Moderation/index.tsx:331
msgid "Enable adult content"
-msgstr ""
+msgstr "Habilita el contingut per adults"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
-msgstr "Habilita el contingut per a adults"
+msgstr "Habilita el contingut per adults"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
@@ -1573,11 +1573,11 @@ msgstr "Habilita reproductors de contingut per"
#: src/view/screens/PreferencesFollowingFeed.tsx:147
msgid "Enable this setting to only see replies between people you follow."
-msgstr "Activa aquesta opció per veure només les respostes entre els comptes que segueixes."
+msgstr "Activa aquesta opció per a veure només les respostes entre els comptes que segueixes."
#: src/screens/Moderation/index.tsx:341
msgid "Enabled"
-msgstr ""
+msgstr "Habilitat"
#: src/screens/Profile/Sections/Feed.tsx:84
msgid "End of feed"
@@ -1590,7 +1590,7 @@ msgstr "Posa un nom a aquesta contrasenya d'aplicació"
#: src/components/dialogs/MutedWords.tsx:100
#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
-msgstr ""
+msgstr "Introdueix una lletra o etiqueta"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
@@ -1602,7 +1602,7 @@ msgstr "Entra el codi de confirmació"
#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
-msgstr "Introdueix el codi que has rebut per canviar la teva contrasenya."
+msgstr "Introdueix el codi que has rebut per a canviar la teva contrasenya."
#: src/view/com/modals/ChangeHandle.tsx:371
msgid "Enter the domain you want to use"
@@ -1610,7 +1610,7 @@ msgstr "Introdueix el domini que vols utilitzar"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
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 "Introdueix el correu que vas fer servir per crear el teu compte. T'enviarem un \"codi de restabliment\" perquè puguis posar una nova contrasenya."
+msgstr "Introdueix el correu que vas fer servir per a crear el teu compte. T'enviarem un \"codi de restabliment\" perquè puguis posar una nova contrasenya."
#: src/components/dialogs/BirthDateSettings.tsx:108
#: src/view/com/auth/create/Step1.tsx:228
@@ -1643,7 +1643,7 @@ msgstr "Introdueix el teu usuari i contrasenya"
#: src/view/com/auth/create/Step3.tsx:67
msgid "Error receiving captcha response."
-msgstr ""
+msgstr "Erro en rebre la resposta al captcha."
#: src/view/screens/Search/Search.tsx:110
msgid "Error:"
@@ -1655,11 +1655,11 @@ msgstr "Tothom"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Mencions o respostes excessives"
#: src/view/com/modals/DeleteAccount.tsx:231
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Surt del procés d'eliminació del compte"
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Exits handle change process"
@@ -1667,7 +1667,7 @@ msgstr "Surt del procés de canvi d'identificador"
#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Surt del procés de retallar l'imatge"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1693,11 +1693,11 @@ msgstr "Expandeix o replega la publicació completa a la qual estàs responent"
#: src/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "Contingut explícit o potencialment pertorbador."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Imatges sexuals explícites."
#: src/view/screens/Settings/index.tsx:777
msgid "Export my data"
@@ -1730,7 +1730,7 @@ msgstr "Configuració del contingut extern"
#: src/view/com/modals/AddAppPasswords.tsx:115
#: src/view/com/modals/AddAppPasswords.tsx:119
msgid "Failed to create app password."
-msgstr "No s'ha pogut crear la contrasenya d'aplicació"
+msgstr "No s'ha pogut crear la contrasenya d'aplicació."
#: src/view/com/modals/CreateOrEditList.tsx:206
msgid "Failed to create the list. Check your internet connection and try again."
@@ -1747,7 +1747,7 @@ msgstr "Error en carregar els canals recomanats"
#: src/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "Error en desar la imatge: {0}"
#: src/Navigation.tsx:196
msgid "Feed"
@@ -1783,7 +1783,7 @@ msgstr "Canals"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
-msgstr "Els canals són creats pels usuaris per curar contingut. Tria els canals que trobis interessants."
+msgstr "Els canals són creats pels usuaris per a curar contingut. Tria els canals que trobis interessants."
#: src/view/screens/SavedFeeds.tsx:156
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
@@ -1795,11 +1795,11 @@ msgstr "Els canals també poden ser d'actualitat!"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
-msgstr ""
+msgstr "Continguts del fitxer"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Filtra-ho dels canals"
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Finalizing"
@@ -1809,7 +1809,7 @@ msgstr "Finalitzant"
#: src/view/com/posts/FollowingEmptyState.tsx:57
#: src/view/com/posts/FollowingEndOfFeed.tsx:58
msgid "Find accounts to follow"
-msgstr "Troba comptes per seguir"
+msgstr "Troba comptes per a seguir"
#: src/view/screens/Search/Search.tsx:441
msgid "Find users on Bluesky"
@@ -1825,7 +1825,7 @@ msgstr "Troba comptes similars…"
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr ""
+msgstr "Ajusta el contingut que veus al teu canal Seguint."
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1874,7 +1874,7 @@ msgstr "Segueix {0}"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Segueix el compte"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
msgid "Follow All"
@@ -1886,7 +1886,7 @@ msgstr "Segueix els comptes seleccionats i continua"
#: 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 "Segueix a alguns usuaris per començar. Te'n podem recomanar més basant-nos en els que trobes interessants."
+msgstr "Segueix a alguns usuaris per a començar. Te'n podem recomanar més basant-nos en els que trobes interessants."
#: src/view/com/profile/ProfileCard.tsx:216
msgid "Followed by {0}"
@@ -1926,7 +1926,7 @@ msgstr "Seguint {0}"
#: src/view/screens/Settings/index.tsx:553
msgid "Following feed preferences"
-msgstr ""
+msgstr "Preferències del canal Seguint"
#: src/Navigation.tsx:262
#: src/view/com/home/HomeHeaderLayout.web.tsx:50
@@ -1934,7 +1934,7 @@ msgstr ""
#: src/view/screens/PreferencesFollowingFeed.tsx:104
#: src/view/screens/Settings/index.tsx:562
msgid "Following Feed Preferences"
-msgstr ""
+msgstr "Preferències del canal Seguint"
#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
@@ -1971,12 +1971,12 @@ msgstr "He oblidat la contrasenya"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Publica contingut no dessitjat freqüentment"
#: src/screens/Hashtag.tsx:108
#: src/screens/Hashtag.tsx:148
msgid "From @{sanitizedAuthor}"
-msgstr ""
+msgstr "De @{sanitizedAuthor}"
#: src/view/com/posts/FeedItem.tsx:179
msgctxt "from-feed"
@@ -1994,7 +1994,7 @@ msgstr "Comença"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Infraccions flagrants de la llei o les condicions del servei"
#: src/components/moderation/ScreenHider.tsx:144
#: src/components/moderation/ScreenHider.tsx:153
@@ -2024,16 +2024,16 @@ msgstr "Ves al pas anterior"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "Ves a l'inici"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Ves a l'inici"
#: src/view/screens/Search/Search.tsx:748
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
-msgstr "Vés a @{queryMaybeHandle}"
+msgstr "Ves a @{queryMaybeHandle}"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
@@ -2045,7 +2045,7 @@ msgstr "Ves al següent"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "Mitjans gràfics"
#: src/view/com/modals/ChangeHandle.tsx:265
msgid "Handle"
@@ -2053,19 +2053,19 @@ msgstr "Identificador"
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Assetjament, troleig o intolerància"
#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "Etiqueta"
#: src/components/RichText.tsx:188
#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
+#~ msgstr "Etiqueta: {tag}"
#: src/components/RichText.tsx:190
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "Etiqueta: #{tag}"
#: src/view/com/auth/create/CreateAccount.tsx:208
msgid "Having trouble?"
@@ -2086,7 +2086,7 @@ msgstr "Aquí tens alguns canals d'actualitat populars. Pots seguir-ne tants com
#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr "Aquí tens uns quants canals d'actualitat basats en els teus interesos: {interestsText}. Pots seguir-ne tants com vulguis."
+msgstr "Aquí tens uns quants canals d'actualitat basats en els teus interessos: {interestsText}. Pots seguir-ne tants com vulguis."
#: src/view/com/modals/AddAppPasswords.tsx:153
msgid "Here is your app password."
@@ -2150,15 +2150,15 @@ msgstr "El servidor del canal ha donat una resposta incorrecta. Avisa al propiet
#: src/view/com/posts/FeedErrorMessage.tsx:96
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
-msgstr "Tenim problemes per trobar aquest canal. Potser ha estat eliminat."
+msgstr "Tenim problemes per a trobar aquest canal. Potser ha estat eliminat."
#: src/screens/Moderation/index.tsx:61
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
-msgstr ""
+msgstr "Tenim problemes per a carregar aquestes dades. Mira a continuació per a veure més detalls. Contacta'ns si aquest problema continua."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "No podem carregar el servei de moderació."
#: src/Navigation.tsx:454
#: src/view/shell/bottom-bar/BottomBar.tsx:139
@@ -2177,7 +2177,7 @@ msgstr "Inici"
#: src/view/com/modals/ChangeHandle.tsx:421
msgid "Host:"
-msgstr ""
+msgstr "Allotjament:"
#: src/view/com/auth/create/Step1.tsx:75
#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
@@ -2216,23 +2216,23 @@ msgstr "Si no en selecciones cap, és apropiat per a totes les edats."
#: src/view/com/auth/create/Policies.tsx:91
msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
-msgstr ""
+msgstr "Si encara no ets un adult segons les lleis del teu país, el teu tutor legal haurà de llegir aquests Termes en el teu lloc."
#: src/view/screens/ProfileList.tsx:610
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Si esborres aquesta llista no la podràs recuperar."
#: src/view/com/util/forms/PostDropdownBtn.tsx:316
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "Si esborres aquesta publicació no la podràs recuperar."
#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
-msgstr "Si vols canviar la contrasenya t'enviarem un codi per verificar que aquest compte és teu."
+msgstr "Si vols canviar la contrasenya t'enviarem un codi per a verificar que aquest compte és teu."
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Il·legal i urgent"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2249,15 +2249,15 @@ msgstr "Text alternatiu de la imatge"
#: src/lib/moderation/useReportOptions.ts:47
msgid "Impersonation or false claims about identity or affiliation"
-msgstr ""
+msgstr "Suplantació d'identitat o afirmacions falses sobre identitat o afiliació"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
msgid "Input code sent to your email for password reset"
-msgstr "Introdueix el codi que s'ha enviat al teu correu per restablir la contrasenya"
+msgstr "Introdueix el codi que s'ha enviat al teu correu per a restablir la contrasenya"
#: src/view/com/modals/DeleteAccount.tsx:184
msgid "Input confirmation code for account deletion"
-msgstr "Introdueix el codi de confirmació per eliminar el compte"
+msgstr "Introdueix el codi de confirmació per a eliminar el compte"
#: src/view/com/auth/create/Step1.tsx:177
msgid "Input email for Bluesky account"
@@ -2265,7 +2265,7 @@ msgstr "Introdueix el correu del compte de Bluesky"
#: src/view/com/auth/create/Step1.tsx:151
msgid "Input invite code to proceed"
-msgstr "Introdueix el codi d'invitació per continuar"
+msgstr "Introdueix el codi d'invitació per a continuar"
#: src/view/com/modals/AddAppPasswords.tsx:180
msgid "Input name for app password"
@@ -2277,7 +2277,7 @@ msgstr "Introdueix una nova contrasenya"
#: src/view/com/modals/DeleteAccount.tsx:203
msgid "Input password for account deletion"
-msgstr "Introdueix la contrasenya per elimiar el compte"
+msgstr "Introdueix la contrasenya per a eliminar el compte"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
@@ -2289,7 +2289,7 @@ msgstr "Introdueix la contrasenya lligada a {identifier}"
#: src/view/com/auth/login/LoginForm.tsx:200
msgid "Input the username or email address you used at signup"
-msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per registrar-te"
+msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per a registrar-te"
#: src/view/com/auth/create/Step2.tsx:271
#~ msgid "Input the verification code we have texted to you"
@@ -2297,7 +2297,7 @@ msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per registrar-te"
#: src/view/com/modals/Waitlist.tsx:90
#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr "Introdueix el teu correu per afegir-te a la llista d'espera de Bluesky"
+#~ msgstr "Introdueix el teu correu per a afegir-te a la llista d'espera de Bluesky"
#: src/view/com/auth/login/LoginForm.tsx:232
msgid "Input your password"
@@ -2305,7 +2305,7 @@ msgstr "Introdueix la teva contrasenya"
#: src/view/com/modals/ChangeHandle.tsx:390
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Introdeix el teu proveïdor d'allotjament preferit"
#: src/view/com/auth/create/Step2.tsx:80
msgid "Input your user handle"
@@ -2376,35 +2376,35 @@ msgstr "Periodisme"
#: src/components/moderation/LabelsOnMe.tsx:59
msgid "label has been placed on this {labelTarget}"
-msgstr ""
+msgstr "S'ha posat l'etiqueta a aquest {labelTarget}"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Etiquetat per {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "Etiquetat per l'autor."
#: src/view/screens/Profile.tsx:186
msgid "Labels"
-msgstr ""
+msgstr "Etiquetes"
#: src/screens/Profile/Sections/Labels.tsx:143
msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
-msgstr ""
+msgstr "Les etiquetes son anotacions sobre els usuaris i el contingut. Poden ser utilitzades per a ocultar, advertir i categoritxar la xarxa."
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "S'han posat etiquetes a aquest {labelTarget}"
#: src/components/moderation/LabelsOnMeDialog.tsx:63
msgid "Labels on your account"
-msgstr ""
+msgstr "Etiquetes al teu compte"
#: src/components/moderation/LabelsOnMeDialog.tsx:65
msgid "Labels on your content"
-msgstr ""
+msgstr "Etiquetes al teu contingut"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
@@ -2438,7 +2438,7 @@ msgstr "Més informació"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "Més informació sobre la moderació que s'ha aplicat a aquest contingut."
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:126
@@ -2451,11 +2451,11 @@ msgstr "Més informació sobre què és públic a Bluesky."
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "Més informació."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
-msgstr "Deixa'ls tots sense marcar per veure tots els idiomes."
+msgstr "Deixa'ls tots sense marcar per a veure tots els idiomes."
#: src/view/com/modals/LinkWarning.tsx:51
msgid "Leaving Bluesky"
@@ -2514,7 +2514,7 @@ msgstr "Li ha agradat a {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Li ha agradat a {count} {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
@@ -2639,15 +2639,15 @@ msgstr "Assegura't que és aquí on vols anar!"
#: src/components/dialogs/MutedWords.tsx:83
msgid "Manage your muted words and tags"
-msgstr ""
+msgstr "Gestiona les teves etiquetes i paraules silenciades"
#: src/view/com/auth/create/Step2.tsx:118
msgid "May not be longer than 253 characters"
-msgstr ""
+msgstr "No pot ser més llarg de 253 caràcters"
#: src/view/com/auth/create/Step2.tsx:109
msgid "May only contain letters and numbers"
-msgstr ""
+msgstr "Només pot tenir lletres i números"
#: src/view/screens/Profile.tsx:190
msgid "Media"
@@ -2676,7 +2676,7 @@ msgstr "Missatge del servidor: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Compte enganyòs"
#: src/Navigation.tsx:119
#: src/screens/Moderation/index.tsx:106
@@ -2689,7 +2689,7 @@ msgstr "Moderació"
#: src/components/moderation/ModerationDetailsDialog.tsx:113
msgid "Moderation details"
-msgstr ""
+msgstr "Detalls de la moderació"
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
@@ -2729,20 +2729,20 @@ msgstr "Configuració de moderació"
#: src/Navigation.tsx:216
msgid "Moderation states"
-msgstr ""
+msgstr "Estats de moderació"
#: src/screens/Moderation/index.tsx:217
msgid "Moderation tools"
-msgstr ""
+msgstr "Eines de moderació"
#: src/components/moderation/ModerationDetailsDialog.tsx:49
#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
-msgstr "El moderador ha decidit establir un advertiment general sobre el contingut"
+msgstr "El moderador ha decidit establir un advertiment general sobre el contingut."
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "Més"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
@@ -2762,15 +2762,15 @@ msgstr "Respostes amb més m'agrada primer"
#: src/view/com/auth/create/Step2.tsx:122
msgid "Must be at least 3 characters"
-msgstr ""
+msgstr "Ha de tenir almenys 3 caràcters"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
-msgstr ""
+msgstr "Silencia"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "Silencia {truncatedTag}"
#: src/view/com/profile/ProfileMenu.tsx:279
#: src/view/com/profile/ProfileMenu.tsx:286
@@ -2783,19 +2783,19 @@ msgstr "Silencia els comptes"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "Silencia totes les publicacions {displayTag}"
#: src/components/TagMenu/index.tsx:211
#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "Silencia totes les publicacions {tag}"
#: src/components/dialogs/MutedWords.tsx:149
msgid "Mute in tags only"
-msgstr ""
+msgstr "Silencia només a les etiquetes"
#: src/components/dialogs/MutedWords.tsx:134
msgid "Mute in text & tags"
-msgstr ""
+msgstr "Silencia a les etiquetes i al text"
#: src/view/screens/ProfileList.tsx:461
#: src/view/screens/ProfileList.tsx:624
@@ -2812,11 +2812,11 @@ msgstr "Vols silenciar aquests comptes?"
#: src/components/dialogs/MutedWords.tsx:127
msgid "Mute this word in post text and tags"
-msgstr ""
+msgstr "Silencia aquesta paraula en el text de les publicacions i a les etiquetes"
#: src/components/dialogs/MutedWords.tsx:142
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "Silencia aquesta paraula només a les etiquetes"
#: src/view/com/util/forms/PostDropdownBtn.tsx:251
#: src/view/com/util/forms/PostDropdownBtn.tsx:257
@@ -2826,7 +2826,7 @@ msgstr "Silencia el fil de debat"
#: src/view/com/util/forms/PostDropdownBtn.tsx:267
#: src/view/com/util/forms/PostDropdownBtn.tsx:269
msgid "Mute words & tags"
-msgstr ""
+msgstr "Silencia paraules i etiquetes"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2847,11 +2847,11 @@ msgstr "Les publicacions dels comptes silenciats seran eliminats del teu canal i
#: src/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "Silenciat per \"{0}\""
#: src/screens/Moderation/index.tsx:233
msgid "Muted words & tags"
-msgstr ""
+msgstr "Paraules i etiquetes silenciades"
#: src/view/screens/ProfileList.tsx:621
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
@@ -2872,7 +2872,7 @@ msgstr "El meu perfil"
#: src/view/screens/Settings/index.tsx:596
msgid "My saved feeds"
-msgstr ""
+msgstr "Els meus canals desats"
#: src/view/screens/Settings/index.tsx:602
msgid "My Saved Feeds"
@@ -2895,7 +2895,7 @@ msgstr "Es requereix un nom"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "El nom o la descripció infringeixen els estàndards comunitaris"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
@@ -2915,12 +2915,12 @@ msgstr "Navega al teu perfil"
#: src/components/ReportDialog/SelectReportOptionView.tsx:124
msgid "Need to report a copyright violation?"
-msgstr ""
+msgstr "Necessites informar d'una infracció dels drets d'autor?"
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
msgid "Never load embeds from {0}"
-msgstr "No carreguis mai les incrustacions de {0} "
+msgstr "No carreguis mai les incrustacions de {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
@@ -2933,11 +2933,11 @@ msgstr "No perdis mai accés als teus seguidors i les teves dades."
#: src/components/dialogs/MutedWords.tsx:293
#~ msgid "Nevermind"
-#~ msgstr ""
+#~ msgstr "Tant hi fa"
#: src/view/com/modals/ChangeHandle.tsx:520
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "Tant hi fa, crea'm un identificador"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -3034,7 +3034,7 @@ msgstr "Cap descripció"
#: src/view/com/modals/ChangeHandle.tsx:406
msgid "No DNS Panel"
-msgstr ""
+msgstr "No hi ha panell de DNS"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
msgid "No longer following {0}"
@@ -3051,7 +3051,7 @@ msgstr "Cap resultat"
#: src/components/Lists.tsx:189
msgid "No results found"
-msgstr ""
+msgstr "No s'han trobat resultats"
#: src/view/screens/Feeds.tsx:495
msgid "No results found for \"{query}\""
@@ -3074,11 +3074,11 @@ msgstr "Ningú"
#: src/components/LikedByList.tsx:102
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "A ningú encara li ha agradat això. Potser hauries de ser el primer!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Nuesa no sexual"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
@@ -3097,7 +3097,7 @@ msgstr "Ara mateix no"
#: src/view/com/profile/ProfileMenu.tsx:368
#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "Note about sharing"
-msgstr ""
+msgstr "Nota sobre compartir"
#: src/screens/Moderation/index.tsx:542
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."
@@ -3119,11 +3119,11 @@ msgstr "Nuesa"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or pornography not labeled as such"
-msgstr ""
+msgstr "Nuesa o pornografia no etiquetada com a tal"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Apagat"
#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
@@ -3135,7 +3135,7 @@ msgstr "Ostres! Alguna cosa ha fallat."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
msgid "OK"
-msgstr ""
+msgstr "D'acord"
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
msgid "Okay"
@@ -3159,7 +3159,7 @@ msgstr "Només {0} poden respondre."
#: src/components/Lists.tsx:83
msgid "Oops, something went wrong!"
-msgstr ""
+msgstr "Ostres, alguna cosa ha anat malament!"
#: src/components/Lists.tsx:157
#: src/view/screens/AppPasswords.tsx:67
@@ -3173,7 +3173,7 @@ msgstr "Obre"
#: src/view/screens/Moderation.tsx:75
#~ msgid "Open content filtering settings"
-#~ msgstr ""
+#~ msgstr "Obre la configuració del filtre de contingut"
#: src/view/com/composer/Composer.tsx:490
#: src/view/com/composer/Composer.tsx:491
@@ -3182,7 +3182,7 @@ msgstr "Obre el selector d'emojis"
#: src/view/screens/ProfileFeed.tsx:299
msgid "Open feed options menu"
-msgstr ""
+msgstr "Obre el menú de les opcions del canal"
#: src/view/screens/Settings/index.tsx:734
msgid "Open links with in-app browser"
@@ -3190,11 +3190,11 @@ msgstr "Obre els enllaços al navegador de l'aplicació"
#: src/screens/Moderation/index.tsx:229
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Obre la configuració de les paraules i etiquetes silenciades"
#: src/view/screens/Moderation.tsx:92
#~ msgid "Open muted words settings"
-#~ msgstr ""
+#~ msgstr "Obre la configuració de les paraules silenciades"
#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
msgid "Open navigation"
@@ -3202,7 +3202,7 @@ msgstr "Obre la navegació"
#: src/view/com/util/forms/PostDropdownBtn.tsx:183
msgid "Open post options menu"
-msgstr ""
+msgstr "Obre el menú de les opcions de publicació"
#: src/view/screens/Settings/index.tsx:828
#: src/view/screens/Settings/index.tsx:838
@@ -3211,7 +3211,7 @@ msgstr "Obre la pàgina d'historial"
#: src/view/screens/Settings/index.tsx:816
msgid "Open system log"
-msgstr ""
+msgstr "Obre el registre del sistema"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
@@ -3219,7 +3219,7 @@ msgstr "Obre {numItems} opcions"
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
-msgstr "Obre detalls adicionals per una entrada de depuració"
+msgstr "Obre detalls addicionals per una entrada de depuració"
#: src/view/com/notifications/FeedItem.tsx:353
msgid "Opens an expanded list of users in this notification"
@@ -3243,7 +3243,7 @@ msgstr "Obre la galeria fotogràfica del dispositiu"
#: src/view/com/profile/ProfileHeader.tsx:420
#~ msgid "Opens editor for profile display name, avatar, background image, and description"
-#~ msgstr "Obre l'editor del perfil per editar el nom, avatar, imatge de fons i descripció"
+#~ msgstr "Obre l'editor del perfil per a editar el nom, avatar, imatge de fons i descripció"
#: src/view/screens/Settings/index.tsx:669
msgid "Opens external embeds settings"
@@ -3252,12 +3252,12 @@ msgstr "Obre la configuració per les incrustacions externes"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:56
#: src/view/com/auth/SplashScreen.tsx:70
msgid "Opens flow to create a new Bluesky account"
-msgstr ""
+msgstr "Obre el procés per a crear un nou compte de Bluesky"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:74
#: src/view/com/auth/SplashScreen.tsx:83
msgid "Opens flow to sign into your existing Bluesky account"
-msgstr ""
+msgstr "Obre el procés per a iniciar sessió a un compte existent de Bluesky"
#: src/view/com/profile/ProfileHeader.tsx:575
#~ msgid "Opens followers list"
@@ -3277,27 +3277,27 @@ msgstr "Obre la llista de codis d'invitació"
#: src/view/screens/Settings/index.tsx:798
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
+msgstr "Obre el modal per a la confirmació de l'eliminació del compte. Requereix codi de correu electrònic"
#: src/view/screens/Settings/index.tsx:774
#~ msgid "Opens modal for account deletion confirmation. Requires email code."
-#~ msgstr "Obre el modal per confirmar l'eliminació del compte. Requereix un codi de correu"
+#~ msgstr "Obre el modal per a confirmar l'eliminació del compte. Requereix un codi de correu"
#: src/view/screens/Settings/index.tsx:756
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Obre el modal per a canviar la contrasenya de Bluesky"
#: src/view/screens/Settings/index.tsx:718
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "Obre el modal per a triar un nou identificador de Bluesky"
#: src/view/screens/Settings/index.tsx:779
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Obre el modal per a baixar les dades del vostre compte Bluesky (repositori)"
#: src/view/screens/Settings/index.tsx:970
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "Obre el modal per a verificar el correu"
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Opens modal for using custom domain"
@@ -3314,7 +3314,7 @@ msgstr "Obre el formulari de restabliment de la contrasenya"
#: src/view/com/home/HomeHeaderLayout.web.tsx:63
#: src/view/screens/Feeds.tsx:356
msgid "Opens screen to edit Saved Feeds"
-msgstr "Obre pantalla per editar els canals desats"
+msgstr "Obre pantalla per a editar els canals desats"
#: src/view/screens/Settings/index.tsx:597
msgid "Opens screen with all saved feeds"
@@ -3322,7 +3322,7 @@ msgstr "Obre la pantalla amb tots els canals desats"
#: src/view/screens/Settings/index.tsx:696
msgid "Opens the app password settings"
-msgstr ""
+msgstr "Obre la configuració de les contrasenyes d'aplicació"
#: src/view/screens/Settings/index.tsx:676
#~ msgid "Opens the app password settings page"
@@ -3330,7 +3330,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:554
msgid "Opens the Following feed preferences"
-msgstr ""
+msgstr "Obre les preferències del canal de Seguint"
#: src/view/screens/Settings/index.tsx:535
#~ msgid "Opens the home feed preferences"
@@ -3338,7 +3338,7 @@ msgstr ""
#: src/view/com/modals/LinkWarning.tsx:76
msgid "Opens the linked website"
-msgstr ""
+msgstr "Obre la web enllaçada"
#: src/view/screens/Settings/index.tsx:829
#: src/view/screens/Settings/index.tsx:839
@@ -3359,7 +3359,7 @@ msgstr "Opció {0} de {numItems}"
#: src/components/ReportDialog/SubmitView.tsx:162
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "Opcionalment, proporciona informació addicional a continuació:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3367,7 +3367,7 @@ msgstr "O combina aquestes opcions:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "Un altre"
#: src/view/com/auth/login/ChooseAccountForm.tsx:147
msgid "Other account"
@@ -3402,7 +3402,7 @@ msgstr "Contrasenya"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "Contrasenya canviada"
#: src/view/com/auth/login/Login.tsx:157
msgid "Password updated"
@@ -3422,11 +3422,11 @@ msgstr "Persones seguint a @{0}"
#: src/view/com/lightbox/Lightbox.tsx:66
msgid "Permission to access camera roll is required."
-msgstr "Cal permís per accedir al carret de la càmera."
+msgstr "Cal permís per a accedir al carret de la càmera."
#: src/view/com/lightbox/Lightbox.tsx:72
msgid "Permission to access camera roll was denied. Please enable it in your system settings."
-msgstr "S'ha denegat el permís per accedir a la càmera. Activa'l a la configuració del teu sistema."
+msgstr "S'ha denegat el permís per a accedir a la càmera. Activa'l a la configuració del teu sistema."
#: src/screens/Onboarding/index.tsx:31
msgid "Pets"
@@ -3447,7 +3447,7 @@ msgstr "Fixa a l'inici"
#: src/view/screens/ProfileFeed.tsx:294
msgid "Pin to Home"
-msgstr ""
+msgstr "Fixa a l'Inici"
#: src/view/screens/SavedFeeds.tsx:88
msgid "Pinned Feeds"
@@ -3476,11 +3476,11 @@ msgstr "Tria la teva contrasenya."
#: src/view/com/auth/create/state.ts:131
msgid "Please complete the verification captcha."
-msgstr ""
+msgstr "Completa el captcha de verificació."
#: 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 "Confirma el teu correu abans de canviar-lo. Aquest és un requisit temporal mentre no s'afegeixin eines per actualitzar el correu. Aviat no serà necessari,"
+msgstr "Confirma el teu correu abans de canviar-lo. Aquest és un requisit temporal mentre no s'afegeixin eines per a actualitzar el correu. Aviat no serà necessari."
#: src/view/com/modals/AddAppPasswords.tsx:90
msgid "Please enter a name for your app password. All spaces is not allowed."
@@ -3496,7 +3496,7 @@ msgstr "Introdueix un nom únic per aquesta contrasenya d'aplicació o fes servi
#: src/components/dialogs/MutedWords.tsx:68
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "Introdueix una paraula, una etiqueta o una frase vàlida per a silenciar"
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
@@ -3516,7 +3516,7 @@ msgstr "Introdueix la teva contrasenya també:"
#: src/components/moderation/LabelsOnMeDialog.tsx:222
msgid "Please explain why you think this label was incorrectly applied by {0}"
-msgstr ""
+msgstr "Explica per què creieu que aquesta etiqueta ha estat aplicada incorrectament per {0}"
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
@@ -3544,7 +3544,7 @@ msgstr "Pornografia"
#: src/lib/moderation/useGlobalLabelStrings.ts:34
msgid "Pornography"
-msgstr ""
+msgstr "Pornografia"
#: src/view/com/composer/Composer.tsx:366
#: src/view/com/composer/Composer.tsx:374
@@ -3584,12 +3584,12 @@ msgstr "Publicació oculta"
#: src/components/moderation/ModerationDetailsDialog.tsx:98
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Publicació amagada per una paraula silenciada"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Publicació amagada per tu"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3606,7 +3606,7 @@ msgstr "Publicació no trobada"
#: src/components/TagMenu/index.tsx:253
msgid "posts"
-msgstr ""
+msgstr "publicacions"
#: src/view/screens/Profile.tsx:188
msgid "Posts"
@@ -3614,7 +3614,7 @@ msgstr "Publicacions"
#: src/components/dialogs/MutedWords.tsx:90
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr ""
+msgstr "Les publicacions es poder silenciar segons el seu text, etiquetes o ambdues."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
@@ -3626,7 +3626,7 @@ msgstr "Enllaç potencialment enganyós"
#: src/components/Lists.tsx:88
msgid "Press to retry"
-msgstr ""
+msgstr "Prem per a tornar-ho a provar"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3660,7 +3660,7 @@ msgstr "Processant…"
#: src/view/screens/DebugMod.tsx:888
#: src/view/screens/Profile.tsx:340
msgid "profile"
-msgstr ""
+msgstr "perfil"
#: src/view/shell/bottom-bar/BottomBar.tsx:251
#: src/view/shell/desktop/LeftNav.tsx:419
@@ -3684,11 +3684,11 @@ msgstr "Públic"
#: src/view/screens/ModerationModlists.tsx:61
msgid "Public, shareable lists of users to mute or block in bulk."
-msgstr "Llistes d'usuaris per silenciar o bloquejar en massa, públiques i per compartir."
+msgstr "Llistes d'usuaris per a silenciar o bloquejar en massa, públiques i per a compartir."
#: src/view/screens/Lists.tsx:61
msgid "Public, shareable lists which can drive feeds."
-msgstr "Llistes que poden nodrir canals, públiques i per compartir."
+msgstr "Llistes que poden nodrir canals, públiques i per a compartir."
#: src/view/com/composer/Composer.tsx:351
msgid "Publish post"
@@ -3718,7 +3718,7 @@ msgstr "Cita la publicació"
#: src/view/screens/PreferencesThreads.tsx:86
msgid "Random (aka \"Poster's Roulette\")"
-msgstr "Aleatori (també conegut com \"Poster's Roulette\")"
+msgstr "Aleatori (també conegut com a \"Poster's Roulette\")"
#: src/view/com/modals/EditImage.tsx:236
msgid "Ratios"
@@ -3726,7 +3726,7 @@ msgstr "Proporcions"
#: src/view/screens/Search/Search.tsx:776
msgid "Recent Searches"
-msgstr ""
+msgstr "Cerques recents"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
msgid "Recommended Feeds"
@@ -3755,11 +3755,11 @@ msgstr "Elimina el compte"
#: src/view/com/util/UserAvatar.tsx:358
msgid "Remove Avatar"
-msgstr ""
+msgstr "Elimina l'avatar"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Elimina el bàner"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3767,7 +3767,7 @@ msgstr "Elimina el canal"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "Vols eliminar el canal?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
@@ -3778,7 +3778,7 @@ msgstr "Elimina dels meus canals"
#: src/view/com/feeds/FeedSourceCard.tsx:278
msgid "Remove from my feeds?"
-msgstr ""
+msgstr "Vols eliminar-lo dels teus canals?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
@@ -3790,7 +3790,7 @@ msgstr "Elimina la visualització prèvia de la imatge"
#: src/components/dialogs/MutedWords.tsx:330
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "Elimina la paraula silenciada de la teva llista"
#: src/view/com/modals/Repost.tsx:47
msgid "Remove repost"
@@ -3798,11 +3798,11 @@ msgstr "Elimina la republicació"
#: src/view/com/feeds/FeedSourceCard.tsx:175
#~ msgid "Remove this feed from my feeds?"
-#~ msgstr "Vols eliminar aquest canal dels meus canals?"
+#~ msgstr "Vols eliminar aquest canal dels teus canals?"
#: src/view/com/posts/FeedErrorMessage.tsx:202
msgid "Remove this feed from your saved feeds"
-msgstr ""
+msgstr "Elimina aquest canal dels meus canals"
#: src/view/com/posts/FeedErrorMessage.tsx:132
#~ msgid "Remove this feed from your saved feeds?"
@@ -3819,7 +3819,7 @@ msgstr "Eliminat dels meus canals"
#: src/view/screens/ProfileFeed.tsx:208
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Eliminat dels teus canals"
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
@@ -3873,23 +3873,23 @@ msgstr "Informa de la publicació"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Report this content"
-msgstr ""
+msgstr "Informa d'aquest contingut"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Report this feed"
-msgstr ""
+msgstr "Informa d'aquest canal"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Report this list"
-msgstr ""
+msgstr "Informa d'aquesta llista"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Report this post"
-msgstr ""
+msgstr "Informa d'aquesta publicació"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Report this user"
-msgstr ""
+msgstr "Informa d'aquest usuari"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:48
@@ -4029,12 +4029,12 @@ msgstr "Torna a la pàgina anterior"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+msgstr "Torna a la pàgina d'inici"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:112
msgid "Returns to previous page"
-msgstr ""
+msgstr "Torna a la pàgina anterior"
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
@@ -4059,7 +4059,7 @@ msgstr "Desa el text alternatiu"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Desa la data de naixement"
#: src/view/com/modals/EditProfile.tsx:232
msgid "Save Changes"
@@ -4076,7 +4076,7 @@ msgstr "Desa la imatge retallada"
#: src/view/screens/ProfileFeed.tsx:335
#: src/view/screens/ProfileFeed.tsx:341
msgid "Save to my feeds"
-msgstr ""
+msgstr "Desa-ho als meus canals"
#: src/view/screens/SavedFeeds.tsx:122
msgid "Saved Feeds"
@@ -4084,11 +4084,11 @@ msgstr "Canals desats"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "S'ha desat a la teva galeria d'imatges."
#: src/view/screens/ProfileFeed.tsx:212
msgid "Saved to your feeds"
-msgstr ""
+msgstr "S'ha desat als teus canals."
#: src/view/com/modals/EditProfile.tsx:225
msgid "Saves any changes to your profile"
@@ -4100,7 +4100,7 @@ msgstr "Desa el canvi d'identificador a {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Saves image crop settings"
-msgstr ""
+msgstr "Desa la configuració de retall d'imatges"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
@@ -4134,19 +4134,19 @@ msgstr "Cerca per \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
+msgstr "Cerca totes les publicacions de @{authorHandle} amb l'etiqueta {displayTag}"
#: src/components/TagMenu/index.tsx:145
#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+#~ msgstr "Cerca totes les publicacions de @{authorHandle} amb l'etiqueta {tag}"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "Cerca totes les publicacions amb l'etiqueta {displayTag}"
#: src/components/TagMenu/index.tsx:90
#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
+#~ msgstr "Cerca totes les publicacions amb l'etiqueta {tag}"
#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
@@ -4160,27 +4160,27 @@ msgstr "Es requereix un pas de seguretat"
#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
-msgstr ""
+msgstr "Mostra les publicacions amb {truncatedTag}"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "Mostra les publicacions amb {truncatedTag} per usuari"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "Mostra les publicacions amb <0>{displayTag}0>"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "Mostra les publicacions amb <0>{displayTag}0> d'aquest usuari"
#: src/components/TagMenu/index.tsx:128
#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#~ msgstr "Mostra les publicacions amb <0>{tag}0>"
#: src/components/TagMenu/index.tsx:189
#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
+#~ msgstr "Mostra les publicacions amb <0>{tag}0> d'aquest usuari"
#: src/view/screens/SavedFeeds.tsx:163
msgid "See this guide"
@@ -4204,11 +4204,11 @@ msgstr "Selecciona d'un compte existent"
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Selecciona els idiomes"
#: src/components/ReportDialog/SelectLabelerView.tsx:32
msgid "Select moderator"
-msgstr ""
+msgstr "Selecciona el moderador"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
@@ -4221,11 +4221,11 @@ msgstr "Selecciona el servei"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
-msgstr "Selecciona alguns d'aquests comptes per seguir-los"
+msgstr "Selecciona alguns d'aquests comptes per a seguir-los"
#: src/components/ReportDialog/SubmitView.tsx:135
msgid "Select the moderation service(s) to report to"
-msgstr ""
+msgstr "Selecciona els serveis de moderació als quals voleu informar"
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
@@ -4233,7 +4233,7 @@ msgstr "Selecciona el servei que allotja les teves dades."
#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
msgid "Select topical feeds to follow from the list below"
-msgstr "Selecciona els canals d'actualitat per seguir d'aquesta llista"
+msgstr "Selecciona els canals d'actualitat per a seguir d'aquesta llista"
#: src/screens/Onboarding/StepModeration/index.tsx:62
msgid "Select what you want to see (or not see), and we’ll handle the rest."
@@ -4249,11 +4249,11 @@ msgstr "Selecciona quins idiomes vols que incloguin els canals a què estàs sub
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "Selecciona l'idioma de l'aplicació perquè el text predeterminat es mostri a l'aplicació."
#: src/screens/Onboarding/StepInterests/index.tsx:196
msgid "Select your interests from the options below"
-msgstr "Selecciona els teus interesos d'entre aquestes opcions"
+msgstr "Selecciona els teus interessos d'entre aquestes opcions"
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
@@ -4297,7 +4297,7 @@ msgstr "Envia comentari"
#: src/components/ReportDialog/SubmitView.tsx:214
#: src/components/ReportDialog/SubmitView.tsx:218
msgid "Send report"
-msgstr ""
+msgstr "Envia informe"
#: src/view/com/modals/report/SendReportButton.tsx:45
#~ msgid "Send Report"
@@ -4305,7 +4305,7 @@ msgstr ""
#: src/components/ReportDialog/SelectLabelerView.tsx:46
msgid "Send report to {0}"
-msgstr ""
+msgstr "Envia informe a {0}"
#: src/view/com/modals/DeleteAccount.tsx:133
msgid "Sends email with confirmation code for account deletion"
@@ -4327,7 +4327,7 @@ msgstr "Adreça del servidor"
#: src/screens/Moderation/index.tsx:306
msgid "Set birthdate"
-msgstr ""
+msgstr "Estableix la data de naixement"
#: src/view/screens/Settings/index.tsx:488
#~ msgid "Set color theme to dark"
@@ -4359,27 +4359,27 @@ msgstr "Estableix una contrasenya"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les publicacions citades del teu canal. Les republicacions encara seran visibles."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les publicacions citades del teu canal. Les republicacions encara seran visibles."
#: src/view/screens/PreferencesFollowingFeed.tsx:122
msgid "Set this setting to \"No\" to hide all replies from your feed."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les respostes del teu canal."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les respostes del teu canal."
#: src/view/screens/PreferencesFollowingFeed.tsx:191
msgid "Set this setting to \"No\" to hide all reposts from your feed."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les republicacions del teu canal."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les republicacions del teu canal."
#: 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 "Posa \"Sí\" a aquesta opció per mostrar les respostes en vista de fil de debat. Aquesta és una opció experimental."
+msgstr "Posa \"Sí\" a aquesta opció per a mostrar les respostes en vista de fil de debat. Aquesta és una opció 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 "Posa \"Sí\" a aquesta opció per mostrar algunes publicacions dels teus canals en el teu canal de seguits. Aquesta és una opció experimental."
+#~ msgstr "Posa \"Sí\" a aquesta opció per a mostrar algunes publicacions dels teus canals en el teu canal de seguits. Aquesta és una opció experimental."
#: src/view/screens/PreferencesFollowingFeed.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 ""
+msgstr "Estableix aquesta configuració a \"Sí\" per a mostrar mostres dels teus canals desats al teu canal Seguint. Aquesta és una característica experimental."
#: src/screens/Onboarding/Layout.tsx:50
msgid "Set up your account"
@@ -4391,43 +4391,43 @@ msgstr "Estableix un nom d'usuari de Bluesky"
#: src/view/screens/Settings/index.tsx:507
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Estableix el tema a fosc"
#: src/view/screens/Settings/index.tsx:500
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Estableix el tema a clar"
#: src/view/screens/Settings/index.tsx:494
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Estableix el tema a la configuració del sistema"
#: src/view/screens/Settings/index.tsx:533
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Estableix el tema fosc al tema fosc"
#: src/view/screens/Settings/index.tsx:526
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "Estableix el tema fosc al tema atenuat"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
msgid "Sets email for password reset"
-msgstr "Estableix un correu per restablir la contrasenya"
+msgstr "Estableix un correu per a restablir la contrasenya"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
msgid "Sets hosting provider for password reset"
-msgstr "Estableix un proveïdor d'allotjament per restablir la contrasenya"
+msgstr "Estableix un proveïdor d'allotjament per a restablir la contrasenya"
#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "Estableix la relació d'aspecte de la imatge com a quadrat"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "Estableix la relació d'aspecte de la imatge com a alta"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "Estableix la relació d'aspecte de la imatge com a ampla"
#: src/view/com/auth/create/Step1.tsx:97
#: src/view/com/auth/login/LoginForm.tsx:154
@@ -4448,7 +4448,7 @@ msgstr "Activitat sexual o nu eròtic."
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "Suggerent sexualment"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4467,7 +4467,7 @@ msgstr "Comparteix"
#: src/view/com/profile/ProfileMenu.tsx:373
#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Share anyway"
-msgstr ""
+msgstr "Comparteix de totes maneres"
#: src/view/screens/ProfileFeed.tsx:361
#: src/view/screens/ProfileFeed.tsx:363
@@ -4494,11 +4494,11 @@ msgstr "Mostra igualment"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "Mostra la insígnia"
#: src/lib/moderation/useLabelBehaviorDescription.ts:61
msgid "Show badge and filter from feeds"
-msgstr ""
+msgstr "Mostra la insígnia i filtra-ho dels canals"
#: src/view/com/modals/EmbedConsent.tsx:87
msgid "Show embeds from {0}"
@@ -4548,7 +4548,7 @@ msgstr "Mostra les respostes a Seguint"
#: src/screens/Onboarding/StepFollowingFeed.tsx:70
msgid "Show replies in Following feed"
-msgstr "Mostrea les respostes al canal Seguint"
+msgstr "Mostra les respostes al canal Seguint"
#: src/view/screens/PreferencesFollowingFeed.tsx:70
msgid "Show replies with at least {value} {0}"
@@ -4573,11 +4573,11 @@ msgstr "Mostra usuaris"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "Mostra l'advertiment"
#: src/lib/moderation/useLabelBehaviorDescription.ts:56
msgid "Show warning and filter from feeds"
-msgstr ""
+msgstr "Mostra l'advertiment i filtra-ho del canals"
#: src/view/com/profile/ProfileHeader.tsx:462
#~ msgid "Shows a list of users similar to this user."
@@ -4642,7 +4642,7 @@ msgstr "Registra't"
#: src/view/shell/NavSignupCard.tsx:42
msgid "Sign up or sign in to join the conversation"
-msgstr "Registra't o inicia sessió per unir-te a la conversa"
+msgstr "Registra't o inicia sessió per a unir-te a la conversa"
#: src/components/moderation/ScreenHider.tsx:98
#: src/lib/moderation/useGlobalLabelStrings.ts:28
@@ -4655,7 +4655,7 @@ msgstr "S'ha iniciat sessió com a"
#: src/view/com/auth/login/ChooseAccountForm.tsx:112
msgid "Signed in as @{0}"
-msgstr "Sha iniciat sessió com a @{0}"
+msgstr "S'ha iniciat sessió com a @{0}"
#: src/view/com/modals/SwitchAccount.tsx:70
msgid "Signs {0} out of Bluesky"
@@ -4687,11 +4687,11 @@ msgstr "Desenvolupament de programari"
#: src/screens/Moderation/index.tsx:116
#: src/screens/Profile/Sections/Labels.tsx:77
msgid "Something went wrong, please try again."
-msgstr ""
+msgstr "Alguna cosa ha fallat, torna-ho a provar."
#: src/components/Lists.tsx:203
#~ msgid "Something went wrong!"
-#~ msgstr ""
+#~ msgstr "Alguna cosa ha fallat."
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
@@ -4699,7 +4699,7 @@ msgstr ""
#: src/App.native.tsx:71
msgid "Sorry! Your session expired. Please log in again."
-msgstr "La teva sessió ha caducat. Torna a inciar-la."
+msgstr "La teva sessió ha caducat. Torna a iniciar-la."
#: src/view/screens/PreferencesThreads.tsx:69
msgid "Sort Replies"
@@ -4711,15 +4711,15 @@ msgstr "Ordena les respostes a la mateixa publicació per:"
#: src/components/moderation/LabelsOnMeDialog.tsx:147
msgid "Source:"
-msgstr ""
+msgstr "Font:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Brossa"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "Brossa; excessives mencions o respostes"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4761,11 +4761,11 @@ msgstr "Subscriure's"
#: src/screens/Profile/Sections/Labels.tsx:181
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "Subscriu-te a @{0} per a utilitzar aquestes etiquetes:"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
msgid "Subscribe to Labeler"
-msgstr ""
+msgstr "Subscriu-te a l'Etiquetador"
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
@@ -4774,7 +4774,7 @@ msgstr "Subscriu-te al canal {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
msgid "Subscribe to this labeler"
-msgstr ""
+msgstr "Subscriu-te a aquest etiquetador"
#: src/view/screens/ProfileList.tsx:586
msgid "Subscribe to this list"
@@ -4782,7 +4782,7 @@ msgstr "Subscriure's a la llista"
#: src/view/screens/Search/Search.tsx:375
msgid "Suggested Follows"
-msgstr "Usuaris suggerits per seguir"
+msgstr "Usuaris suggerits per a seguir"
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
@@ -4800,7 +4800,7 @@ msgstr "Suport"
#: src/view/com/modals/ProfilePreview.tsx:110
#~ msgid "Swipe up to see more"
-#~ msgstr "Llisca cap amunt per veure'n més"
+#~ msgstr "Llisca cap amunt per a veure'n més"
#: src/view/com/modals/SwitchAccount.tsx:123
msgid "Switch Account"
@@ -4826,15 +4826,15 @@ msgstr "Registres del sistema"
#: src/components/dialogs/MutedWords.tsx:324
msgid "tag"
-msgstr ""
+msgstr "etiqueta"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "Menú d'etiquetes: {displayTag}"
#: src/components/TagMenu/index.tsx:74
#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
+#~ msgstr "Menú d'etiquetes: {displayTag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:112
msgid "Tall"
@@ -4842,7 +4842,7 @@ msgstr "Alt"
#: src/view/com/util/images/AutoSizedImage.tsx:70
msgid "Tap to view fully"
-msgstr "Toca per veure-ho completament"
+msgstr "Toca per a veure-ho completament"
#: src/screens/Onboarding/index.tsx:39
msgid "Tech"
@@ -4864,11 +4864,11 @@ msgstr "Condicions del servei"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "Els termes utilitzats infringeixen els estàndards de la comunitat"
#: src/components/dialogs/MutedWords.tsx:324
msgid "text"
-msgstr ""
+msgstr "text"
#: src/components/moderation/LabelsOnMeDialog.tsx:220
msgid "Text input field"
@@ -4876,15 +4876,15 @@ msgstr "Camp d'introducció de text"
#: src/components/ReportDialog/SubmitView.tsx:78
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "Gràcies. El teu informe s'ha enviat."
#: src/view/com/modals/ChangeHandle.tsx:466
msgid "That contains the following:"
-msgstr ""
+msgstr "Això conté els següents:"
#: src/view/com/auth/create/CreateAccount.tsx:94
msgid "That handle is already taken."
-msgstr ""
+msgstr "Aquest identificador ja està agafat."
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:274
#: src/view/com/profile/ProfileMenu.tsx:349
@@ -4893,7 +4893,7 @@ msgstr "El compte podrà interactuar amb tu després del desbloqueig."
#: src/components/moderation/ModerationDetailsDialog.tsx:128
msgid "the author"
-msgstr ""
+msgstr "l'autor"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4905,11 +4905,11 @@ msgstr "La política de drets d'autoria ha estat traslladada a <0/>"
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "Les següents etiquetes s'han aplicat al teu compte."
#: src/components/moderation/LabelsOnMeDialog.tsx:50
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "Les següents etiquetes s'han aplicat als teus continguts."
#: src/screens/Onboarding/Layout.tsx:60
msgid "The following steps will help customize your Bluesky experience."
@@ -4926,32 +4926,32 @@ msgstr "La política de privacitat ha estat traslladada a <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 "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per contactar amb nosaltres."
+msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per a contactar amb nosaltres."
#: 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 "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per contactar amb nosaltres."
+#~ msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per a contactar amb nosaltres."
#: src/view/screens/TermsOfService.tsx:33
msgid "The Terms of Service have been moved to"
-msgstr "Les condicions del servei han estat traslladades a "
+msgstr "Les condicions del servei han estat traslladades a"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
msgid "There are many feeds to try:"
-msgstr "Hi ha molts canals per provar:"
+msgstr "Hi ha molts canals per a provar:"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:113
#: src/view/screens/ProfileFeed.tsx:543
msgid "There was an an issue contacting the server, please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per contactar amb el servidor, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a contactar amb el servidor, comprova la teva connexió a internet i torna-ho a provar."
#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per eliminar aquest canal, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a eliminar aquest canal, comprova la teva connexió a internet i torna-ho a provar."
#: src/view/screens/ProfileFeed.tsx:217
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per actualitzar els teus canals, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a actualitzar els teus canals, comprova la teva connexió a internet i torna-ho a provar."
#: src/view/screens/ProfileFeed.tsx:244
#: src/view/screens/ProfileList.tsx:275
@@ -4959,35 +4959,35 @@ msgstr "Hi ha hagut un problema per actualitzar els teus canals, comprova la tev
#: src/view/screens/SavedFeeds.tsx:231
#: src/view/screens/SavedFeeds.tsx:252
msgid "There was an issue contacting the server"
-msgstr "Hi ha hagut un problema per contactar amb el servidor"
+msgstr "Hi ha hagut un problema per a contactar amb el servidor"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
#: src/view/com/feeds/FeedSourceCard.tsx:110
#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
-msgstr "Hi ha hagut un problema per contactar amb el teu servidor"
+msgstr "Hi ha hagut un problema per a contactar amb el teu servidor"
#: src/view/com/notifications/Feed.tsx:117
msgid "There was an issue fetching notifications. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per a tornar-ho a provar."
#: src/view/com/posts/Feed.tsx:283
msgid "There was an issue fetching posts. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per a tornar-ho a provar."
#: src/view/com/lists/ListMembers.tsx:172
msgid "There was an issue fetching the list. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir la llista. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir la llista. Toca aquí per a tornar-ho a provar."
#: 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 "Hi ha hagut un problema en obtenir les teves llistes. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les teves llistes. Toca aquí per a tornar-ho a provar."
#: src/components/ReportDialog/SubmitView.tsx:83
msgid "There was an issue sending your report. Please check your internet connection."
-msgstr ""
+msgstr "S'ha produït un problema en enviar el teu informe. Comprova la teva connexió a Internet."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -5043,19 +5043,19 @@ msgstr "Aquesta {screenDescription} ha estat etiquetada:"
#: src/components/moderation/ScreenHider.tsx:112
msgid "This account has requested that users sign in to view their profile."
-msgstr "Aquest compte ha sol·licitat que els usuaris estiguin registrats per veure el seu perfil."
+msgstr "Aquest compte ha sol·licitat que els usuaris estiguin registrats per a veure el seu perfil."
#: src/components/moderation/LabelsOnMeDialog.tsx:205
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+msgstr "Aquesta apel·lació s'enviarà a <0>{0}0>."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "Aquest contingut ha estat amagat pels moderadors."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "Aquest contingut ha rebut una advertència general dels moderadors."
#: src/view/com/modals/EmbedConsent.tsx:68
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -5076,7 +5076,7 @@ msgstr "Aquest contingut no es pot veure sense un compte de Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
-msgstr ""
+msgstr "Aquesta funció està en versió beta. Podeu obtenir més informació sobre les exportacions de repositoris en <0>aquesta entrada de bloc0>."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
@@ -5090,7 +5090,7 @@ msgstr "Aquest canal està buit!"
#: 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 "Aquest canal està buit! Necessites seguir més usuaris o modificar la teva configuració d'idiomes"
+msgstr "Aquest canal està buit! Necessites seguir més usuaris o modificar la teva configuració d'idiomes."
#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
@@ -5106,11 +5106,11 @@ msgstr "Això és important si mai necessites canviar el teu correu o restablir
#: src/components/moderation/ModerationDetailsDialog.tsx:125
msgid "This label was applied by {0}."
-msgstr ""
+msgstr "Aquesta etiqueta l'ha aplicat {0}."
#: src/screens/Profile/Sections/Labels.tsx:168
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "Aquest etiquetador no ha declarat quines etiquetes publica i pot ser que no estigui actiu."
#: src/view/com/modals/LinkWarning.tsx:58
msgid "This link is taking you to the following website:"
@@ -5122,7 +5122,7 @@ msgstr "Aquesta llista està buida!"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "Aquest servei de moderació no està disponible. Mira a continuació per obtenir més detalls. Si aquest problema persisteix, posa't en contacte amb nosaltres."
#: src/view/com/modals/AddAppPasswords.tsx:106
msgid "This name is already in use"
@@ -5134,27 +5134,27 @@ msgstr "Aquesta publicació ha estat esborrada."
#: src/view/com/util/forms/PostDropdownBtn.tsx:344
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Aquesta publicació només és visible per als usuaris que han iniciat sessió. No serà visible per a les persones que no hagin iniciat sessió."
#: src/view/com/util/forms/PostDropdownBtn.tsx:326
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "Aqeusta publicació no es mostrarà als canals."
#: src/view/com/profile/ProfileMenu.tsx:370
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Aquest perfil només és visible per als usuaris que han iniciat sessió. No serà visible per a les persones que no hagin iniciat sessió."
#: src/view/com/auth/create/Policies.tsx:46
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Aquest servei no ha proporcionat termes de servei ni una política de privadesa."
#: src/view/com/modals/ChangeHandle.tsx:446
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "Això hauria de crear un registre de domini a:"
#: src/view/com/profile/ProfileFollowers.tsx:95
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Aquest usuari no té cap seguidor."
#: src/components/moderation/ModerationDetailsDialog.tsx:73
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -5163,7 +5163,7 @@ msgstr "Aquest usuari t'ha bloquejat. No pots veure les seves publicacions."
#: src/lib/moderation/useGlobalLabelStrings.ts:30
msgid "This user has requested that their content only be shown to signed-in users."
-msgstr ""
+msgstr "Aquest usuari ha sol·licitat que el seu contingut només es mostri als usuaris que hagin iniciat la sessió."
#: src/view/com/modals/ModerationDetails.tsx:42
#~ msgid "This user is included in the <0/> list which you have blocked."
@@ -5175,11 +5175,11 @@ msgstr ""
#: src/components/moderation/ModerationDetailsDialog.tsx:56
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Aquest usuari està inclòs a la llista <0>{0}0> que has bloquejat."
#: src/components/moderation/ModerationDetailsDialog.tsx:85
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "Aquest usuari està inclòs a la llista <0>{0}0> que has silenciat."
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
@@ -5187,7 +5187,7 @@ msgstr ""
#: src/view/com/profile/ProfileFollows.tsx:94
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Aquest usuari no segueix a ningú."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5195,7 +5195,7 @@ msgstr "Aquesta advertència només està disponible per publicacions amb contin
#: src/components/dialogs/MutedWords.tsx:284
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "Això suprimirà {0} de les teves paraules silenciades. Sempre la pots tornar a afegir més tard."
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
#~ msgid "This will hide this post from your feeds."
@@ -5203,7 +5203,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:574
msgid "Thread preferences"
-msgstr ""
+msgstr "Preferències dels fils de debat"
#: src/view/screens/PreferencesThreads.tsx:53
#: src/view/screens/Settings/index.tsx:584
@@ -5220,11 +5220,11 @@ msgstr "Preferències dels fils de debat"
#: src/components/ReportDialog/SelectLabelerView.tsx:35
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "A qui vols enviar aquest informe?"
#: src/components/dialogs/MutedWords.tsx:113
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "Commuta entre les opcions de paraules silenciades."
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
@@ -5232,7 +5232,7 @@ msgstr "Commuta el menú desplegable"
#: src/screens/Moderation/index.tsx:334
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Communta per a habilitar o deshabilitar el contingut per adults"
#: src/view/com/modals/EditImage.tsx:271
msgid "Transformations"
@@ -5256,7 +5256,7 @@ msgstr "Torna-ho a provar"
#: src/view/com/modals/ChangeHandle.tsx:429
msgid "Type:"
-msgstr ""
+msgstr "Tipus:"
#: src/view/screens/ProfileList.tsx:478
msgid "Un-block list"
@@ -5294,7 +5294,7 @@ msgstr "Desbloqueja el compte"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "Vols desbloquejar el compte?"
#: src/view/com/modals/Repost.tsx:42
#: src/view/com/modals/Repost.tsx:55
@@ -5306,7 +5306,7 @@ msgstr "Desfés la republicació"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
msgid "Unfollow"
-msgstr ""
+msgstr "Deixa de seguir"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
@@ -5320,11 +5320,11 @@ msgstr "Deixa de seguir a {0}"
#: src/view/com/profile/ProfileMenu.tsx:241
#: src/view/com/profile/ProfileMenu.tsx:251
msgid "Unfollow Account"
-msgstr ""
+msgstr "Deixa de seguir el compte"
#: src/view/com/auth/create/state.ts:262
msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "No compleixes les condicions per crear un compte."
+msgstr "No compleixes les condicions per a crear un compte."
#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
msgid "Unlike"
@@ -5332,7 +5332,7 @@ msgstr "Desfés el m'agrada"
#: src/view/screens/ProfileFeed.tsx:572
msgid "Unlike this feed"
-msgstr ""
+msgstr "Desfés el m'agrada a aquest canal"
#: src/components/TagMenu/index.tsx:249
#: src/view/screens/ProfileList.tsx:579
@@ -5341,7 +5341,7 @@ msgstr "Deixa de silenciar"
#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
-msgstr ""
+msgstr "Deixa de silenciar {truncatedTag}"
#: src/view/com/profile/ProfileMenu.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:284
@@ -5350,11 +5350,11 @@ msgstr "Deixa de silenciar el compte"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "Deixa de silenciar totes les publicacions amb {displayTag}"
#: src/components/TagMenu/index.tsx:210
#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "Deixa de silenciar totes les publicacions amb {tag}"
#: src/view/com/util/forms/PostDropdownBtn.tsx:251
#: src/view/com/util/forms/PostDropdownBtn.tsx:256
@@ -5368,7 +5368,7 @@ msgstr "Deixa de fixar"
#: src/view/screens/ProfileFeed.tsx:291
msgid "Unpin from home"
-msgstr ""
+msgstr "Deixa de fixar a l'inici"
#: src/view/screens/ProfileList.tsx:444
msgid "Unpin moderation list"
@@ -5380,15 +5380,15 @@ msgstr "Desancora la llista de moderació"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
msgid "Unsubscribe"
-msgstr ""
+msgstr "Dona't de baixa"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "Dona't de baixa d'aquest etiquetador"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "Contingut sexual no dessitjat"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
@@ -5400,7 +5400,7 @@ msgstr "Actualitza {displayName} a les Llistes"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Update to {handle}"
-msgstr ""
+msgstr "Actualitza a {handle}"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
msgid "Updating..."
@@ -5415,31 +5415,31 @@ msgstr "Puja un fitxer de text a:"
#: src/view/com/util/UserBanner.tsx:116
#: src/view/com/util/UserBanner.tsx:119
msgid "Upload from Camera"
-msgstr ""
+msgstr "Puja de la càmera"
#: src/view/com/util/UserAvatar.tsx:343
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Puja dels Arxius"
#: src/view/com/util/UserAvatar.tsx:337
#: src/view/com/util/UserAvatar.tsx:341
#: src/view/com/util/UserBanner.tsx:127
#: src/view/com/util/UserBanner.tsx:131
msgid "Upload from Library"
-msgstr ""
+msgstr "Puja de la biblioteca"
#: src/view/com/modals/ChangeHandle.tsx:409
msgid "Use a file on your server"
-msgstr ""
+msgstr "Utilitza un fitxer del teu servidor"
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
-msgstr "Utilitza les contrasenyes d'aplicació per iniciar sessió en altres clients de Bluesky, sense haver de donar accés total al teu compte o contrasenya."
+msgstr "Utilitza les contrasenyes d'aplicació per a iniciar sessió en altres clients de Bluesky, sense haver de donar accés total al teu compte o contrasenya."
#: src/view/com/modals/ChangeHandle.tsx:518
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "Utilitza bsky.social com a proveïdor d'allotjament"
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use default provider"
@@ -5457,11 +5457,11 @@ msgstr "Utilitza el meu navegador predeterminat"
#: src/view/com/modals/ChangeHandle.tsx:401
msgid "Use the DNS panel"
-msgstr ""
+msgstr "Utilitza el panell de DNS"
#: src/view/com/modals/AddAppPasswords.tsx:155
msgid "Use this to sign into the other app along with your handle."
-msgstr "Utilitza-ho per iniciar sessió a l'altra aplicació, juntament amb el teu identificador."
+msgstr "Utilitza-ho per a iniciar sessió a l'altra aplicació, juntament amb el teu identificador."
#: src/view/com/modals/ServerInput.tsx:105
#~ msgid "Use your domain as your Bluesky client service provider"
@@ -5478,7 +5478,7 @@ msgstr "Usuari bloquejat"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "Usuari bloquejat per \"{0}\""
#: src/components/moderation/ModerationDetailsDialog.tsx:54
msgid "User Blocked by List"
@@ -5486,7 +5486,7 @@ msgstr "Usuari bloquejat per una llista"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "L'usuari t'ha bloquejat"
#: src/components/moderation/ModerationDetailsDialog.tsx:71
msgid "User Blocks You"
@@ -5509,7 +5509,7 @@ msgstr "Llista d'usuaris feta per <0/>"
#: src/view/com/modals/UserAddRemoveLists.tsx:196
#: src/view/screens/ProfileList.tsx:775
msgid "User list by you"
-msgstr "Llista d'usaris feta per tu"
+msgstr "Llista d'usuaris feta per tu"
#: src/view/com/modals/CreateOrEditList.tsx:196
msgid "User list created"
@@ -5542,11 +5542,11 @@ msgstr "Usuaris a \"{0}\""
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Usuaris a qui els ha agradat aquest contingut o perfil"
#: src/view/com/modals/ChangeHandle.tsx:437
msgid "Value:"
-msgstr ""
+msgstr "Valor:"
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
@@ -5554,7 +5554,7 @@ msgstr ""
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
-msgstr ""
+msgstr "Verifica {0}"
#: src/view/screens/Settings/index.tsx:944
msgid "Verify email"
@@ -5591,11 +5591,11 @@ msgstr "Veure el registre de depuració"
#: src/components/ReportDialog/SelectReportOptionView.tsx:133
msgid "View details"
-msgstr ""
+msgstr "Veure els detalls"
#: src/components/ReportDialog/SelectReportOptionView.tsx:128
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Veure els detalls per a informar d'una infracció dels drets d'autor"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5603,7 +5603,7 @@ msgstr "Veure el fil de debat complet"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "Mostra informació sobre aquestes etiquetes"
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
@@ -5615,11 +5615,11 @@ msgstr "Veure l'avatar"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "Veure el servei d'etiquetatge proporcionat per @{0}"
#: src/view/screens/ProfileFeed.tsx:584
msgid "View users who like this feed"
-msgstr ""
+msgstr "Veure els usuaris a qui els agrada aquest canal"
#: src/view/com/modals/LinkWarning.tsx:75
#: src/view/com/modals/LinkWarning.tsx:77
@@ -5635,11 +5635,11 @@ msgstr "Adverteix"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+msgstr "Adverteix del contingut"
#: src/lib/moderation/useLabelBehaviorDescription.ts:46
msgid "Warn content and filter from feeds"
-msgstr ""
+msgstr "Adverteix del contingut i filtra-ho dels canals"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
msgid "We also think you'll like \"For You\" by Skygaze:"
@@ -5647,7 +5647,7 @@ msgstr "També creiem que t'agradarà el canal \"For You\" d'Skygaze:"
#: src/screens/Hashtag.tsx:132
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "No hem trobat cap resultat per a aquest hashtag."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
@@ -5663,23 +5663,23 @@ msgstr "Ja no hi ha més publicacions dels usuaris que segueixes. Aquí n'hi ha
#: src/components/dialogs/MutedWords.tsx:204
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr ""
+msgstr "Recomanem evitar les paraules habituals que apareixen en moltes publicacions, ja que pot provocar que no es mostri cap publicació."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
msgid "We recommend our \"Discover\" feed:"
-msgstr "Et reomanem el nostre canal \"Discover\":"
+msgstr "Et recomanem el nostre canal \"Discover\":"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "No hem pogut carregar les teves preferències de data de naixement. Torna-ho a provar."
#: src/screens/Moderation/index.tsx:387
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+msgstr "En aquest moment no hem pogut carregar els teus etiquetadors configurats."
#: src/screens/Onboarding/StepInterests/index.tsx:133
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
-msgstr "No ens hem pogut connectar. Torna-ho a provar per continuar configurant el teu compte. Si continua fallant, pots ometre aquest flux."
+msgstr "No ens hem pogut connectar. Torna-ho a provar per a continuar configurant el teu compte. Si continua fallant, pots ometre aquest flux."
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
@@ -5691,7 +5691,7 @@ msgstr "T'informarem quan el teu compte estigui llest."
#: src/screens/Onboarding/StepInterests/index.tsx:138
msgid "We'll use this to help customize your experience."
-msgstr "Ho farem servir per personalitzar la teva experiència."
+msgstr "Ho farem servir per a personalitzar la teva experiència."
#: src/view/com/auth/create/CreateAccount.tsx:134
msgid "We're so excited to have you join us!"
@@ -5703,7 +5703,7 @@ msgstr "Ho sentim, però no hem pogut resoldre aquesta llista. Si això continua
#: src/components/dialogs/MutedWords.tsx:230
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
-msgstr ""
+msgstr "Ho sentim, però no hem pogut carregar les teves paraules silenciades en aquest moment. Torna-ho a provar."
#: src/view/screens/Search/Search.tsx:255
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
@@ -5716,11 +5716,11 @@ msgstr "Ens sap greu! No podem trobar la pàgina que estàs cercant."
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:319
msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
-msgstr ""
+msgstr "Ho sentim! Només et pots subscriure a deu etiquetadors i has arribat al teu límit de deu."
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
-msgstr "Benvingut a <0>Bluesky0>"
+msgstr "Us donem la benvinguda a <0>Bluesky0>"
#: src/screens/Onboarding/StepInterests/index.tsx:130
msgid "What are your interests?"
@@ -5753,23 +5753,23 @@ msgstr "Qui hi pot respondre"
#: src/components/ReportDialog/SelectReportOptionView.tsx:44
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "Per què s'hauria de revisar aquest contingut?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:57
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Per què s'hauria de revisar aquest canal?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:54
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Per què s'hauria de revisar aquesta llista?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:51
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Per què s'hauria de revisar aquesta publicació?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:48
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Per què s'hauria de revisar aquest usuari?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:102
msgid "Wide"
@@ -5808,12 +5808,12 @@ msgstr "Estàs a la cua."
#: src/view/com/profile/ProfileFollows.tsx:93
msgid "You are not following anyone."
-msgstr ""
+msgstr "No segueixes a ningú."
#: 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 "També pots descobrir nous canals personalitzats per seguir."
+msgstr "També pots descobrir nous canals personalitzats per a seguir."
#: src/view/com/auth/create/Step1.tsx:106
#~ msgid "You can change hosting providers at any time."
@@ -5830,7 +5830,7 @@ msgstr "Ara pots iniciar sessió amb la nova contrasenya."
#: src/view/com/profile/ProfileFollowers.tsx:94
msgid "You do not have any followers."
-msgstr ""
+msgstr "No tens cap seguidor."
#: 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."
@@ -5867,20 +5867,20 @@ msgstr "Has entrat un codi invàlid. Hauria de ser tipus XXXXX-XXXXX."
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "Has amagat aquesta publicació"
#: src/components/moderation/ModerationDetailsDialog.tsx:102
msgid "You have hidden this post."
-msgstr ""
+msgstr "Has amagat aquesta publicació."
#: src/components/moderation/ModerationDetailsDialog.tsx:95
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Has silenciat aquest compte."
#: src/lib/moderation/useModerationCauseDescription.ts:86
msgid "You have muted this user"
-msgstr ""
+msgstr "Has silenciat aquest usuari"
#: src/view/com/modals/ModerationDetails.tsx:87
#~ msgid "You have muted this user."
@@ -5897,11 +5897,11 @@ msgstr "No tens llistes."
#: src/view/screens/ModerationBlockedAccounts.tsx:132
msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
-msgstr ""
+msgstr "Encara no has bloquejat cap compte. Per a bloquejar un compte, ves al seu perfil i selecciona \"Bloqueja el compte\" al menú del seu compte."
#: 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 "Encara no has bloquejat cap compte. Per fer-ho, vés al seu perfil i selecciona \"Bloqueja el compte\" en el menú del seu compte."
+#~ msgstr "Encara no has bloquejat cap compte. Per a fer-ho, ves al seu perfil i selecciona \"Bloqueja el compte\" en el menú del seu compte."
#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
@@ -5909,31 +5909,31 @@ msgstr "Encara no has creat cap contrasenya d'aplicació. Pots fer-ho amb el bot
#: src/view/screens/ModerationMutedAccounts.tsx:131
msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
-msgstr ""
+msgstr "Encara no has silenciat cap compte. per a silenciar un compte, ves al seu perfil i selecciona \"Silencia el compte\" al menú del seu compte."
#: 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 "Encara no has silenciat cap compte. Per fer-ho, vés al seu perfil i selecciona \"Silencia compte\" en el menú del seu compte."
+#~ msgstr "Encara no has silenciat cap compte. Per a fer-ho, al seu perfil i selecciona \"Silencia compte\" en el menú del seu compte."
#: src/components/dialogs/MutedWords.tsx:250
msgid "You haven't muted any words or tags yet"
-msgstr ""
+msgstr "Encara no has silenciat cap paraula ni etiqueta"
#: src/components/moderation/LabelsOnMeDialog.tsx:69
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+msgstr "Pots apel·lar aquestes etiquetes si creus que s'han col·locat per error,"
#: src/view/com/modals/ContentFilteringSettings.tsx:175
#~ msgid "You must be 18 or older to enable adult content."
-#~ msgstr "Has de tenir 18 anys o més per habilitar el contingut per a adults."
+#~ msgstr "Has de tenir 18 anys o més per a habilitar el contingut per a adults."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
-msgstr "Has de tenir 18 anys o més per habilitar el contingut per a adults"
+msgstr "Has de tenir 18 anys o més per a habilitar el contingut per a adults"
#: src/components/ReportDialog/SubmitView.tsx:205
msgid "You must select at least one labeler for a report"
-msgstr ""
+msgstr "Has d'escollir almenys un etiquetador per a un informe"
#: src/view/com/util/forms/PostDropdownBtn.tsx:144
msgid "You will no longer receive notifications for this thread"
@@ -5964,11 +5964,11 @@ msgstr "Ja està tot llest!"
#: src/components/moderation/ModerationDetailsDialog.tsx:99
#: src/lib/moderation/useModerationCauseDescription.ts:101
msgid "You've chosen to hide a word or tag within this post."
-msgstr ""
+msgstr "Has triat amagar una paraula o una etiqueta d'aquesta publicació."
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
-msgstr "Has arribat al final del vostre cabal! Cerca alguns comptes més per seguir."
+msgstr "Has arribat al final del vostre cabal! Cerca alguns comptes més per a seguir."
#: src/view/com/auth/create/Step1.tsx:67
msgid "Your account"
@@ -6014,7 +6014,7 @@ msgstr "El teu correu encara no s'ha verificat. Et recomanem fer-ho per segureta
#: src/view/com/posts/FollowingEmptyState.tsx:47
msgid "Your following feed is empty! Follow more users to see what's happening."
-msgstr "El teu canal de seguint està buit! Segueix a més usuaris per saber què està passant."
+msgstr "El teu canal de seguint està buit! Segueix a més usuaris per a saber què està passant."
#: src/view/com/auth/create/Step2.tsx:83
msgid "Your full handle will be"
@@ -6036,7 +6036,7 @@ msgstr "El teu identificador complet serà <0>@{0}0>"
#: src/components/dialogs/MutedWords.tsx:221
msgid "Your muted words"
-msgstr ""
+msgstr "Les teves paraules silenciades"
#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
@@ -6059,7 +6059,7 @@ msgstr "El teu perfil"
#: src/view/com/composer/Composer.tsx:282
msgid "Your reply has been published"
-msgstr "S'ha publicat a teva resposta"
+msgstr "S'ha publicat la teva resposta"
#: src/view/com/auth/create/Step2.tsx:65
msgid "Your user handle"
diff --git a/src/locale/locales/fi/messages.po b/src/locale/locales/fi/messages.po
index 0be456080b..546ecd40e2 100644
--- a/src/locale/locales/fi/messages.po
+++ b/src/locale/locales/fi/messages.po
@@ -23,7 +23,7 @@ msgstr "(ei sähköpostiosoitetta)"
#: src/screens/Profile/Header/Metrics.tsx:45
msgid "{following} following"
-msgstr "{following} seuraajaa"
+msgstr "{following} seurattua"
#: src/view/shell/desktop/RightNav.tsx:151
#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
@@ -49,11 +49,11 @@ msgstr "<0/> jäsentä"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> seurattua"
#: src/screens/Profile/Header/Metrics.tsx:46
msgid "<0>{following} 0><1>following1>"
-msgstr "<0>{following} 0><1>seuraajaa1>"
+msgstr "<0>{following} 0><1>seurattua1>"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
@@ -95,55 +95,55 @@ msgstr "Saavutettavuus"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "käyttäjätili"
#: src/view/com/auth/login/LoginForm.tsx:169
#: src/view/screens/Settings/index.tsx:327
#: src/view/screens/Settings/index.tsx:743
msgid "Account"
-msgstr "Tili"
+msgstr "Käyttäjätili"
#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
-msgstr "Tili on estetty"
+msgstr "Käyttäjtili on estetty"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Käyttäjätili seurannassa"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
-msgstr "Tili on hiljennetty"
+msgstr "Käyttäjätili hiljennetty"
#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
-msgstr "Tili on hiljennetty"
+msgstr "Käyttäjätili hiljennetty"
#: src/components/moderation/ModerationDetailsDialog.tsx:83
msgid "Account Muted by List"
-msgstr "Tili on hiljennetty listalla"
+msgstr "Käyttäjätili hiljennetty listalla"
#: src/view/com/util/AccountDropdownBtn.tsx:41
msgid "Account options"
-msgstr "Tilin asetukset"
+msgstr "Käyttäjätilin asetukset"
#: src/view/com/util/AccountDropdownBtn.tsx:25
msgid "Account removed from quick access"
-msgstr "Tili poistettu pikalinkeistä"
+msgstr "Käyttäjätili poistettu pikalinkeistä"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:130
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
-msgstr "Tilin esto poistettu"
+msgstr "Käyttäjätilin esto poistettu"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Käyttäjätilin seuranta lopetettu"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
-msgstr "Tilin hiljennys poistettu"
+msgstr "Käyttäjätilin hiljennys poistettu"
#: src/components/dialogs/MutedWords.tsx:165
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
@@ -164,7 +164,7 @@ msgstr "Lisää käyttäjä tähän listaan"
#: src/view/screens/Settings/index.tsx:402
#: src/view/screens/Settings/index.tsx:411
msgid "Add account"
-msgstr "Lisää tili"
+msgstr "Lisää käyttäjätili"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
@@ -201,7 +201,7 @@ msgstr "Lisää hiljennetty sana määritettyihin asetuksiin"
#: src/components/dialogs/MutedWords.tsx:87
msgid "Add muted words and tags"
-msgstr "Lisää hiljennetyt sanat ja tunnisteet"
+msgstr "Lisää hiljennetyt sanat ja aihetunnisteet"
#: src/view/com/modals/ChangeHandle.tsx:417
msgid "Add the following DNS record to your domain:"
@@ -248,12 +248,12 @@ msgstr "Aikuissisältöä"
#: src/components/moderation/ModerationLabelPref.tsx:114
msgid "Adult content is disabled."
-msgstr ""
+msgstr "Aikuissisältö on estetty"
#: src/screens/Moderation/index.tsx:377
#: src/view/screens/Settings/index.tsx:684
msgid "Advanced"
-msgstr "Edistynyt"
+msgstr "Edistyneemmät"
#: src/view/screens/Feeds.tsx:666
msgid "All the feeds you've saved, right in one place."
@@ -290,7 +290,7 @@ msgstr "Sähköposti on lähetetty aiempaan osoitteeseesi, {0}. Siinä on vahvis
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "Ongelma, jota ei ole sisällytetty näihin vaihtoehtoihin"
#: src/view/com/profile/FollowButton.tsx:35
#: src/view/com/profile/FollowButton.tsx:45
@@ -310,7 +310,7 @@ msgstr "Eläimet"
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Epäsosiaalinen käytös"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -345,11 +345,11 @@ msgstr "Sovellussalasanat"
#: src/components/moderation/LabelsOnMeDialog.tsx:134
#: src/components/moderation/LabelsOnMeDialog.tsx:137
msgid "Appeal"
-msgstr ""
+msgstr "Valita"
#: src/components/moderation/LabelsOnMeDialog.tsx:202
msgid "Appeal \"{0}\" label"
-msgstr ""
+msgstr "Valita \"{0}\" -merkinnästä"
#: src/view/com/util/forms/PostDropdownBtn.tsx:295
#~ msgid "Appeal content warning"
@@ -361,7 +361,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:193
msgid "Appeal submitted."
-msgstr ""
+msgstr "Valitus jätetty."
#: src/view/com/util/moderation/LabelInfo.tsx:52
#~ msgid "Appeal this decision"
@@ -381,7 +381,7 @@ msgstr "Haluatko varmasti poistaa sovellussalasanan \"{name}\"?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Haluatko varmasti poistaa {0} syötteistäsi?"
#: src/view/com/composer/Composer.tsx:508
msgid "Are you sure you'd like to discard this draft?"
@@ -444,7 +444,7 @@ msgstr "Syntymäpäivä:"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Estä"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -453,11 +453,11 @@ msgstr "Estä käyttäjä"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "Estä käyttäjätili?"
#: src/view/screens/ProfileList.tsx:530
msgid "Block accounts"
-msgstr "Estä käyttäjät"
+msgstr "Estä käyttäjätilit"
#: src/view/screens/ProfileList.tsx:478
#: src/view/screens/ProfileList.tsx:634
@@ -500,7 +500,7 @@ msgstr "Estetty viesti."
#: src/screens/Profile/Sections/Labels.tsx:153
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "Estäminen ei estä tätä merkitsijää asettamasta merkintöjä tilillesi."
#: src/view/screens/ProfileList.tsx:631
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
@@ -508,7 +508,7 @@ msgstr "Estäminen on julkista. Estetyt käyttäjät eivät voi vastata viesteih
#: src/view/com/profile/ProfileMenu.tsx:353
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
-msgstr ""
+msgstr "Estäminen ei estä merkintöjen tekemistä tilillesi, mutta se estää kyseistä tiliä vastaamasta ketjuissasi tai muuten vuorovaikuttamasta kanssasi."
#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
#: src/view/com/auth/SplashScreen.web.tsx:133
@@ -546,7 +546,7 @@ msgstr "Bluesky on julkinen."
#: src/screens/Moderation/index.tsx:535
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 "Bluesky ei näytä profiiliasi ja viestejäsi kirjautumattomille käyttäjille. Toiset sovellukset eivät ehkä noudata tätä asetusta. Tämä ei tee tilistäsi yksityistä."
+msgstr "Bluesky ei näytä profiiliasi ja viestejäsi kirjautumattomille käyttäjille. Toiset sovellukset eivät ehkä noudata tätä asetusta. Tämä ei tee käyttäjätilistäsi yksityistä."
#: src/view/com/modals/ServerInput.tsx:78
#~ msgid "Bluesky.Social"
@@ -554,11 +554,11 @@ msgstr "Bluesky ei näytä profiiliasi ja viestejäsi kirjautumattomille käytt
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "Sumenna kuvat"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Sumenna kuvat ja suodata syötteistä"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
@@ -575,7 +575,7 @@ msgstr "Yritys"
#: src/view/com/modals/ServerInput.tsx:115
#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr ""
+#~ msgstr "Painike poistettu käytöstä. Anna mukautettu verkkotunnus jatkaaksesi."
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
@@ -595,7 +595,7 @@ msgstr "käyttäjältä <0/>"
#: src/view/com/auth/create/Policies.tsx:87
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "Luomalla käyttäjätilin hyväksyt {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
@@ -646,7 +646,7 @@ msgstr "Peruuta"
#: src/view/com/modals/DeleteAccount.tsx:152
#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Cancel account deletion"
-msgstr "Peruuta tilin poisto"
+msgstr "Peruuta käyttäjätilin poisto"
#: src/view/com/modals/ChangeHandle.tsx:149
msgid "Cancel change handle"
@@ -675,11 +675,11 @@ msgstr "Peruuta haku"
#: src/view/com/modals/LinkWarning.tsx:88
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "Peruuttaa linkitetyn verkkosivuston avaamisen"
#: src/view/com/modals/VerifyEmail.tsx:152
msgid "Change"
-msgstr ""
+msgstr "Vaihda"
#: src/view/screens/Settings/index.tsx:353
msgctxt "action"
@@ -760,7 +760,7 @@ msgstr "Valitse algoritmit, jotka ohjaavat kokemustasi mukautettujen syötteiden
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
+#~ msgstr "Valitse algoritmiperustaiset syötteet"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
msgid "Choose your main feeds"
@@ -797,7 +797,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:881
msgid "Clears all storage data"
-msgstr ""
+msgstr "Tyhjentää kaikki tallennustiedot"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -805,11 +805,11 @@ msgstr "klikkaa tästä"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr "Avaa tästä valikko tunnisteelle {tag}"
+msgstr "Avaa tästä valikko aihetunnisteelle {tag}"
#: src/components/RichText.tsx:191
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "Klikkaa tästä avataksesi valikon aihetunnisteelle #{tag}."
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
@@ -885,7 +885,7 @@ msgstr "Yhteisöohjeet"
#: src/screens/Onboarding/StepFinished.tsx:148
msgid "Complete onboarding and start using your account"
-msgstr "Suorita käyttöönotto loppuun ja aloita tilisi käyttö"
+msgstr "Suorita käyttöönotto loppuun ja aloita käyttäjätilisi käyttö"
#: src/view/com/auth/create/Step3.tsx:73
msgid "Complete the challenge"
@@ -936,7 +936,7 @@ msgstr "Vahvista sisällön kieliasetukset"
#: src/view/com/modals/DeleteAccount.tsx:220
msgid "Confirm delete account"
-msgstr "Vahvista tilin poisto"
+msgstr "Vahvista käyttäjätilin poisto"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
#~ msgid "Confirm your age to enable adult content."
@@ -944,11 +944,11 @@ msgstr "Vahvista tilin poisto"
#: src/screens/Moderation/index.tsx:303
msgid "Confirm your age:"
-msgstr ""
+msgstr "Vahvista ikäsi:"
#: src/screens/Moderation/index.tsx:294
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Vahvista syntymäaikasi"
#: src/view/com/modals/ChangeEmail.tsx:157
#: src/view/com/modals/DeleteAccount.tsx:176
@@ -972,11 +972,11 @@ msgstr "Ota yhteyttä tukeen"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "sisältö"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
+msgstr "Sisältö estetty"
#: src/view/screens/Moderation.tsx:83
#~ msgid "Content filtering"
@@ -988,7 +988,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:287
msgid "Content filters"
-msgstr ""
+msgstr "Sisältösuodattimet"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -1071,7 +1071,7 @@ msgstr "Kopioi"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Copy {0}"
-msgstr ""
+msgstr "Kopioi {0}"
#: src/view/screens/ProfileList.tsx:388
msgid "Copy link to list"
@@ -1112,7 +1112,7 @@ msgstr "Listaa ei voitu ladata"
#: src/view/com/auth/SplashScreen.tsx:73
#: src/view/com/auth/SplashScreen.web.tsx:81
msgid "Create a new account"
-msgstr "Luo uusi tili"
+msgstr "Luo uusi käyttäjätili"
#: src/view/screens/Settings/index.tsx:403
msgid "Create a new Bluesky account"
@@ -1120,7 +1120,7 @@ msgstr "Luo uusi Bluesky-tili"
#: src/view/com/auth/create/CreateAccount.tsx:133
msgid "Create Account"
-msgstr "Luo tili"
+msgstr "Luo käyttäjätili"
#: src/view/com/modals/AddAppPasswords.tsx:226
msgid "Create App Password"
@@ -1129,11 +1129,11 @@ msgstr "Luo sovellussalasana"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
#: src/view/com/auth/SplashScreen.tsx:68
msgid "Create new account"
-msgstr "Luo uusi tili"
+msgstr "Luo uusi käyttäjätili"
#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Luo raportti: {0}"
#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
@@ -1145,7 +1145,7 @@ msgstr "{0} luotu"
#: src/view/screens/ProfileFeed.tsx:614
#~ msgid "Created by you"
-#~ msgstr "Sinun luoma sisältö"
+#~ msgstr "Luomasi sisältö"
#: src/view/com/composer/Composer.tsx:468
msgid "Creates a card with a thumbnail. The card links to {url}"
@@ -1167,11 +1167,11 @@ msgstr "Mukautettu verkkotunnus"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#: src/view/screens/Feeds.tsx:692
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
-msgstr "Yhteisön rakentamat mukautetut syötteet tuovat sinulle uusia kokemuksia ja auttavat löytämään sinulle mieluisaa sisältöä."
+msgstr "Yhteisön rakentamat mukautetut syötteet tuovat sinulle uusia kokemuksia ja auttavat löytämään mieluisaa sisältöä."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
-msgstr "Muokkaa mediaa ulkoisista sivustoista."
+msgstr "Muokkaa ulkoisten sivustojen mediasisältöjen asetuksia"
#: src/view/screens/Settings.tsx:687
#~ msgid "Danger Zone"
@@ -1202,7 +1202,7 @@ msgstr "Vianetsintäpaneeli"
#: src/view/screens/AppPasswords.tsx:268
#: src/view/screens/ProfileList.tsx:613
msgid "Delete"
-msgstr ""
+msgstr "Poista"
#: src/view/screens/Settings/index.tsx:796
msgid "Delete account"
@@ -1218,7 +1218,7 @@ msgstr "Poista sovellussalasana"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Poista sovellussalasana"
#: src/view/screens/ProfileList.tsx:415
msgid "Delete List"
@@ -1234,7 +1234,7 @@ msgstr "Poista käyttäjätilini"
#: src/view/screens/Settings/index.tsx:808
msgid "Delete My Account…"
-msgstr "Poista tilini…"
+msgstr "Poista käyttäjätilini…"
#: src/view/com/util/forms/PostDropdownBtn.tsx:302
#: src/view/com/util/forms/PostDropdownBtn.tsx:304
@@ -1243,7 +1243,7 @@ msgstr "Poista viesti"
#: src/view/screens/ProfileList.tsx:608
msgid "Delete this list?"
-msgstr ""
+msgstr "Poista tämä lista?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Delete this post?"
@@ -1266,7 +1266,7 @@ msgstr "Kuvaus"
#: src/view/screens/Settings.tsx:760
#~ msgid "Developer Tools"
-#~ msgstr ""
+#~ msgstr "Kehittäjätyökalut"
#: src/view/com/composer/Composer.tsx:217
msgid "Did you want to say anything?"
@@ -1281,7 +1281,7 @@ msgstr "Himmeä"
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
#: src/screens/Moderation/index.tsx:343
msgid "Disabled"
-msgstr ""
+msgstr "Poistettu käytöstä"
#: src/view/com/composer/Composer.tsx:510
msgid "Discard"
@@ -1293,7 +1293,7 @@ msgstr "Hylkää"
#: src/view/com/composer/Composer.tsx:507
msgid "Discard draft?"
-msgstr ""
+msgstr "Hylkää luonnos?"
#: src/screens/Moderation/index.tsx:520
#: src/screens/Moderation/index.tsx:524
@@ -1323,11 +1323,11 @@ msgstr "Näyttönimi"
#: src/view/com/modals/ChangeHandle.tsx:398
msgid "DNS Panel"
-msgstr ""
+msgstr "DNS-paneeli"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Ei sisällä alastomuutta."
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "Domain Value"
@@ -1397,15 +1397,15 @@ msgstr "Applen sääntöjen vuoksi aikuisviihde voidaan ottaa käyttöön vasta
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
-msgstr ""
+msgstr "esim. maija"
#: src/view/com/modals/EditProfile.tsx:185
msgid "e.g. Alice Roberts"
-msgstr "esim. Mikko Mallikas"
+msgstr "esim. Maija Mallikas"
#: src/view/com/modals/ChangeHandle.tsx:381
msgid "e.g. alice.com"
-msgstr ""
+msgstr "esim. liisa.fi"
#: src/view/com/modals/EditProfile.tsx:203
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1413,7 +1413,7 @@ msgstr "esim. Taiteilija, koiraharrastaja ja innokas lukija."
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Esimerkiksi taiteelliset alastonkuvat."
#: src/view/com/modals/CreateOrEditList.tsx:283
msgid "e.g. Great Posters"
@@ -1443,7 +1443,7 @@ msgstr "Muokkaa"
#: src/view/com/util/UserAvatar.tsx:299
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Muokkaa profiilikuvaa"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:207
@@ -1462,11 +1462,11 @@ msgstr "Muokkaa moderaatiolistaa"
#: src/view/screens/Feeds.tsx:434
#: src/view/screens/SavedFeeds.tsx:84
msgid "Edit My Feeds"
-msgstr "Muokkaa syötteitäni"
+msgstr "Muokkaa syötteitä"
#: src/view/com/modals/EditProfile.tsx:152
msgid "Edit my profile"
-msgstr "Muokkaa profiiliani"
+msgstr "Muokkaa profiilia"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:172
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:161
@@ -1533,7 +1533,7 @@ msgstr "Ota käyttöön vain {0}"
#: src/screens/Moderation/index.tsx:331
msgid "Enable adult content"
-msgstr ""
+msgstr "Ota aikuissisältö käyttöön"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1558,7 +1558,7 @@ msgstr "Ota tämä asetus käyttöön nähdäksesi vastaukset vain seuraamiltasi
#: src/screens/Moderation/index.tsx:341
msgid "Enabled"
-msgstr ""
+msgstr "Käytössä"
#: src/screens/Profile/Sections/Feed.tsx:84
msgid "End of feed"
@@ -1571,7 +1571,7 @@ msgstr "Anna sovellusalasanalle nimi"
#: src/components/dialogs/MutedWords.tsx:100
#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
-msgstr "Kirjoita sana tai tunniste"
+msgstr "Kirjoita sana tai aihetunniste"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
@@ -1632,11 +1632,11 @@ msgstr "Kaikki"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Liialliset maininnat tai vastaukset"
#: src/view/com/modals/DeleteAccount.tsx:231
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Keskeyttää tilin poistoprosessin"
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Exits handle change process"
@@ -1644,7 +1644,7 @@ msgstr "Peruuttaa käyttäjätunnuksen vaihtamisen"
#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Keskeyttää kuvan rajausprosessin"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1670,11 +1670,11 @@ msgstr "Laajenna tai pienennä viesti johon olit vastaamassa"
#: src/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "Selvästi tai mahdollisesti häiritsevä media."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Selvästi seksuaalista kuvamateriaalia."
#: src/view/screens/Settings/index.tsx:777
msgid "Export my data"
@@ -1698,11 +1698,11 @@ msgstr "Ulkoiset mediat voivat sallia verkkosivustojen kerätä tietoja sinusta
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
#: src/view/screens/Settings/index.tsx:677
msgid "External Media Preferences"
-msgstr "Ulkoisten medioiden asetukset"
+msgstr "Ulkoisten mediasoittimien asetukset"
#: src/view/screens/Settings/index.tsx:668
msgid "External media settings"
-msgstr "Ulkoisten medioiden asetukset"
+msgstr "Ulkoisten mediasoittimien asetukset"
#: src/view/com/modals/AddAppPasswords.tsx:115
#: src/view/com/modals/AddAppPasswords.tsx:119
@@ -1724,7 +1724,7 @@ msgstr "Suositeltujen syötteiden lataaminen epäonnistui"
#: src/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "Kuvan {0} tallennus epäonnistui"
#: src/Navigation.tsx:196
msgid "Feed"
@@ -1780,11 +1780,11 @@ msgstr "Syötteet voivat olla myös aihepiirikohtaisia!"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
-msgstr ""
+msgstr "Tiedoston sisältö"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Suodata syötteistä"
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Finalizing"
@@ -1810,7 +1810,7 @@ msgstr "Etsitään samankaltaisia käyttäjätilejä"
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr "Hienosäädä näkemääsi sisältöä Seuraavat-syötteessäsi."
+msgstr "Hienosäädä näkemääsi sisältöä Seuratut-syötteessäsi."
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1889,7 +1889,7 @@ msgstr "Vain seuratut käyttäjät"
msgid "followed you"
msgstr "seurasi sinua"
-#: src/view/com/profile/ProfileFollowers.tsx:109
+
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Seuraajat"
@@ -1899,15 +1899,15 @@ msgstr "Seuraajat"
#: src/view/com/profile/ProfileFollows.tsx:108
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
-msgstr "Seuraa"
+msgstr "Seurataan"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:89
msgid "Following {0}"
-msgstr "Seuraa {0}"
+msgstr "Seurataan {0}"
#: src/view/screens/Settings/index.tsx:553
msgid "Following feed preferences"
-msgstr ""
+msgstr "Seuratut -syötteen asetukset"
#: src/Navigation.tsx:262
#: src/view/com/home/HomeHeaderLayout.web.tsx:50
@@ -1952,7 +1952,7 @@ msgstr "Unohtunut salasana"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Julkaisee usein ei-toivottua sisältöä"
#: src/screens/Hashtag.tsx:108
#: src/screens/Hashtag.tsx:148
@@ -1975,7 +1975,7 @@ msgstr "Aloita tästä"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Ilmeisiä lain tai käyttöehtojen rikkomuksia"
#: src/components/moderation/ScreenHider.tsx:144
#: src/components/moderation/ScreenHider.tsx:153
@@ -2005,11 +2005,11 @@ msgstr "Palaa edelliseen vaiheeseen"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "Palaa alkuun"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Palaa alkuun"
#: src/view/screens/Search/Search.tsx:748
#: src/view/shell/desktop/Search.tsx:263
@@ -2034,19 +2034,19 @@ msgstr "Käyttäjätunnus"
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Häirintä, trollaus tai suvaitsemattomuus"
#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "Aihetunniste"
#: src/components/RichText.tsx:188
#~ msgid "Hashtag: {tag}"
-#~ msgstr "Tunniste: {tag}"
+#~ msgstr "Aihetunniste: {tag}"
#: src/components/RichText.tsx:190
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "Aihetunniste #{tag}"
#: src/view/com/auth/create/CreateAccount.tsx:208
msgid "Having trouble?"
@@ -2135,11 +2135,11 @@ msgstr "Hmm, meillä on vaikeuksia löytää tätä syötettä. Se saattaa olla
#: src/screens/Moderation/index.tsx:61
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
-msgstr ""
+msgstr "Hmm, vaikuttaa siltä, että tämän datan lataamisessa on ongelmia. Katso lisätietoja alta. Jos ongelma jatkuu, ole hyvä ja ota yhteyttä meihin."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "Hmm, emme pystyneet avaamaan kyseistä moderaatiopalvelua."
#: src/Navigation.tsx:454
#: src/view/shell/bottom-bar/BottomBar.tsx:139
@@ -2204,11 +2204,11 @@ msgstr ""
#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
-msgstr "Jos haluat vaihtaa salasanasi, lähetämme sinulle koodin varmistaaksemme, että tämä on tilisi."
+msgstr "Jos haluat vaihtaa salasanasi, lähetämme sinulle koodin varmistaaksemme, että tämä on käyttäjätilisi."
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Laiton ja kiireellinen"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2225,7 +2225,7 @@ msgstr "Kuvan ALT-teksti"
#: src/lib/moderation/useReportOptions.ts:47
msgid "Impersonation or false claims about identity or affiliation"
-msgstr ""
+msgstr "Henkilöllisyyden tai yhteyksien vääristely tai vääriä väitteitä niistä"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
msgid "Input code sent to your email for password reset"
@@ -2233,7 +2233,7 @@ msgstr "Syötä sähköpostiisi lähetetty koodi salasanan nollaamista varten"
#: src/view/com/modals/DeleteAccount.tsx:184
msgid "Input confirmation code for account deletion"
-msgstr "Syötä vahvistuskoodi tilin poistoa varten"
+msgstr "Syötä vahvistuskoodi käyttäjätilin poistoa varten"
#: src/view/com/auth/create/Step1.tsx:177
msgid "Input email for Bluesky account"
@@ -2253,7 +2253,7 @@ msgstr "Syötä uusi salasana"
#: src/view/com/modals/DeleteAccount.tsx:203
msgid "Input password for account deletion"
-msgstr "Syötä salasana tilin poistoa varten"
+msgstr "Syötä salasana käyttäjätilin poistoa varten"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
@@ -2281,7 +2281,7 @@ msgstr "Syötä salasanasi"
#: src/view/com/modals/ChangeHandle.tsx:390
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Syötä haluamasi palveluntarjoaja"
#: src/view/com/auth/create/Step2.tsx:80
msgid "Input your user handle"
@@ -2297,7 +2297,7 @@ msgstr "Virheellinen käyttäjätunnus tai salasana"
#: src/view/screens/Settings.tsx:411
#~ msgid "Invite"
-#~ msgstr ""
+#~ msgstr "Kutsu"
#: src/view/com/modals/InviteCodes.tsx:93
msgid "Invite a Friend"
@@ -2427,7 +2427,7 @@ msgstr "Lue lisää siitä, mikä on julkista Blueskyssa."
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "Lue lisää."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2486,17 +2486,17 @@ msgstr "Tykänneet"
#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
-msgstr "Tykänneet {0} {1}"
+msgstr "Tykännyt {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Tykännyt {count} {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
#: src/view/screens/ProfileFeed.tsx:587
msgid "Liked by {likeCount} {0}"
-msgstr "Tykkäyksiä {likeCount} {0}"
+msgstr "Tykännyt {likeCount} {0}"
#: src/view/com/notifications/FeedItem.tsx:174
msgid "liked your custom feed"
@@ -2608,7 +2608,7 @@ msgstr "Varmista, että olet menossa oikeaan paikkaan!"
#: src/components/dialogs/MutedWords.tsx:83
msgid "Manage your muted words and tags"
-msgstr "Hallinnoi hiljennettyjä sanojasi ja tunnisteitasi"
+msgstr "Hallinnoi hiljennettyjä sanoja ja aihetunnisteita"
#: src/view/com/auth/create/Step2.tsx:118
msgid "May not be longer than 253 characters"
@@ -2641,7 +2641,7 @@ msgstr "Viesti palvelimelta: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Harhaanjohtava käyttäjätili"
#: src/Navigation.tsx:119
#: src/screens/Moderation/index.tsx:106
@@ -2654,7 +2654,7 @@ msgstr "Moderointi"
#: src/components/moderation/ModerationDetailsDialog.tsx:113
msgid "Moderation details"
-msgstr ""
+msgstr "Moderaation yksityiskohdat"
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
@@ -2698,7 +2698,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:217
msgid "Moderation tools"
-msgstr ""
+msgstr "Moderointityökalut"
#: src/components/moderation/ModerationDetailsDialog.tsx:49
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2707,7 +2707,7 @@ msgstr "Ylläpitäjä on asettanut yleisen varoituksen sisällölle."
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "Lisää"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
@@ -2748,7 +2748,7 @@ msgstr "Hiljennä käyttäjät"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "Hiljennä kaikki {displayTag} viestit"
#: src/components/TagMenu/index.tsx:211
#~ msgid "Mute all {tag} posts"
@@ -2756,11 +2756,11 @@ msgstr ""
#: src/components/dialogs/MutedWords.tsx:149
msgid "Mute in tags only"
-msgstr "Hiljennä vain tunnisteissa"
+msgstr "Hiljennä vain aihetunnisteissa"
#: src/components/dialogs/MutedWords.tsx:134
msgid "Mute in text & tags"
-msgstr "Hiljennä tekstissä ja tunnisteissa"
+msgstr "Hiljennä tekstissä ja aihetunnisteissa"
#: src/view/screens/ProfileList.tsx:461
#: src/view/screens/ProfileList.tsx:624
@@ -2777,11 +2777,11 @@ msgstr "Hiljennä nämä käyttäjät?"
#: src/components/dialogs/MutedWords.tsx:127
msgid "Mute this word in post text and tags"
-msgstr "Hiljennä tämä sana viesteissä ja tunnisteissa"
+msgstr "Hiljennä tämä sana viesteissä ja aihetunnisteissa"
#: src/components/dialogs/MutedWords.tsx:142
msgid "Mute this word in tags only"
-msgstr "Hiljennä tämä sana vain tunnisteissa"
+msgstr "Hiljennä tämä sana vain aihetunnisteissa"
#: src/view/com/util/forms/PostDropdownBtn.tsx:251
#: src/view/com/util/forms/PostDropdownBtn.tsx:257
@@ -2791,7 +2791,7 @@ msgstr "Hiljennä keskustelu"
#: src/view/com/util/forms/PostDropdownBtn.tsx:267
#: src/view/com/util/forms/PostDropdownBtn.tsx:269
msgid "Mute words & tags"
-msgstr "Hiljennä sanat ja tunnisteet"
+msgstr "Hiljennä sanat ja aihetunnisteet"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2812,11 +2812,11 @@ msgstr "Hiljennettyjen käyttäjien viestit poistetaan syötteestäsi ja ilmoitu
#: src/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "Hiljentäjä: \"{0}\""
#: src/screens/Moderation/index.tsx:233
msgid "Muted words & tags"
-msgstr "Hiljennetyt sanat ja tunnisteet"
+msgstr "Hiljennetyt sanat ja aihetunnisteet"
#: src/view/screens/ProfileList.tsx:621
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
@@ -2837,11 +2837,11 @@ msgstr "Profiilini"
#: src/view/screens/Settings/index.tsx:596
msgid "My saved feeds"
-msgstr ""
+msgstr "Tallennetut syötteeni"
#: src/view/screens/Settings/index.tsx:602
msgid "My Saved Feeds"
-msgstr "Omat tallennetut syötteet"
+msgstr "Tallennetut syötteeni"
#: src/view/com/auth/server-input/index.tsx:118
#~ msgid "my-server.com"
@@ -2860,7 +2860,7 @@ msgstr "Nimi vaaditaan"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "Nimi tai kuvaus rikkoo yhteisön sääntöjä"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
@@ -2880,7 +2880,7 @@ msgstr "Siirtyy profiiliisi"
#: src/components/ReportDialog/SelectReportOptionView.tsx:124
msgid "Need to report a copyright violation?"
-msgstr ""
+msgstr "Tarvitseeko ilmoittaa tekijänoikeusrikkomuksesta?"
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
@@ -3012,7 +3012,7 @@ msgstr "Ei tuloksia"
#: src/components/Lists.tsx:189
msgid "No results found"
-msgstr ""
+msgstr "Tuloksia ei löydetty"
#: src/view/screens/Feeds.tsx:495
msgid "No results found for \"{query}\""
@@ -3030,16 +3030,16 @@ msgstr "Ei kiitos"
#: src/view/com/modals/Threadgate.tsx:82
msgid "Nobody"
-msgstr "Ei ketään"
+msgstr "Ei kukaan"
#: src/components/LikedByList.tsx:102
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "Kukaan ei ole vielä tykännyt tästä. Ehkä sinun pitäisi olla ensimmäinen!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Ei-seksuaalinen alastomuus"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
@@ -3096,7 +3096,7 @@ msgstr "Voi ei! Jokin meni pieleen."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
msgid "Okay"
@@ -3143,7 +3143,7 @@ msgstr "Avaa emoji-valitsin"
#: src/view/screens/ProfileFeed.tsx:299
msgid "Open feed options menu"
-msgstr ""
+msgstr "Avaa syötteen asetusvalikko"
#: src/view/screens/Settings/index.tsx:734
msgid "Open links with in-app browser"
@@ -3151,7 +3151,7 @@ msgstr "Avaa linkit sovelluksen sisäisellä selaimella"
#: src/screens/Moderation/index.tsx:229
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Avaa hiljennettyjen sanojen ja aihetunnisteiden asetukset"
#: src/view/screens/Moderation.tsx:92
#~ msgid "Open muted words settings"
@@ -3172,7 +3172,7 @@ msgstr "Avaa storybook-sivu"
#: src/view/screens/Settings/index.tsx:816
msgid "Open system log"
-msgstr ""
+msgstr "Avaa järjestelmäloki"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
@@ -3283,7 +3283,7 @@ msgstr "Avaa näkymän kaikkiin tallennettuihin syötteisiin"
#: src/view/screens/Settings/index.tsx:696
msgid "Opens the app password settings"
-msgstr ""
+msgstr "Avaa sovelluksen salasanojen asetukset"
#: src/view/screens/Settings/index.tsx:676
#~ msgid "Opens the app password settings page"
@@ -3291,7 +3291,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:554
msgid "Opens the Following feed preferences"
-msgstr ""
+msgstr "Avaa Seuratut-syötteen asetukset"
#: src/view/screens/Settings/index.tsx:535
#~ msgid "Opens the home feed preferences"
@@ -3299,7 +3299,7 @@ msgstr ""
#: src/view/com/modals/LinkWarning.tsx:76
msgid "Opens the linked website"
-msgstr ""
+msgstr "Avaa linkitetyn verkkosivun"
#: src/view/screens/Settings/index.tsx:829
#: src/view/screens/Settings/index.tsx:839
@@ -3320,7 +3320,7 @@ msgstr "Asetus {0}/{numItems}"
#: src/components/ReportDialog/SubmitView.tsx:162
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "Voit tarvittaessa antaa lisätietoja alla:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3328,7 +3328,7 @@ msgstr "Tai yhdistä nämä asetukset:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "Joku toinen"
#: src/view/com/auth/login/ChooseAccountForm.tsx:147
msgid "Other account"
@@ -3363,7 +3363,7 @@ msgstr "Salasana"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "Salasana vaihdettu"
#: src/view/com/auth/login/Login.tsx:157
msgid "Password updated"
@@ -3408,7 +3408,7 @@ msgstr "Kiinnitä etusivulle"
#: src/view/screens/ProfileFeed.tsx:294
msgid "Pin to Home"
-msgstr ""
+msgstr "Kiinnitä etusivulle"
#: src/view/screens/SavedFeeds.tsx:88
msgid "Pinned Feeds"
@@ -3457,7 +3457,7 @@ msgstr "Anna uniikki nimi tälle sovellussalasanalle tai käytä satunnaisesti l
#: src/components/dialogs/MutedWords.tsx:68
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "Ole hyvä ja syötä oikea sana, aihetunniste tai lause hiljennettäväksi."
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
@@ -3487,7 +3487,7 @@ msgstr ""
#: 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 "Kerro meille, miksi uskot tämän päätöksen olleen virheellinen."
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -3507,7 +3507,7 @@ msgstr "Porno"
#: src/lib/moderation/useGlobalLabelStrings.ts:34
msgid "Pornography"
-msgstr ""
+msgstr "Pornografia"
#: src/view/com/composer/Composer.tsx:366
#: src/view/com/composer/Composer.tsx:374
@@ -3541,12 +3541,12 @@ msgstr "Viesti piilotettu"
#: src/components/moderation/ModerationDetailsDialog.tsx:98
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Viesti piilotettu hiljennetyn sanan takia"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Sinun hiljentämä viesti"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3571,7 +3571,7 @@ msgstr "Viestit"
#: src/components/dialogs/MutedWords.tsx:90
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr "Viestejä voidaan hiljentää niiden tekstin, tunnisteiden tai molempien perusteella."
+msgstr "Viestejä voidaan hiljentää sanojen, aihetunnisteiden tai molempien perusteella."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
@@ -3583,7 +3583,7 @@ msgstr "Mahdollisesti harhaanjohtava linkki"
#: src/components/Lists.tsx:88
msgid "Press to retry"
-msgstr ""
+msgstr "Paina uudelleen jatkaaksesi"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3617,7 +3617,7 @@ msgstr "Käsitellään..."
#: src/view/screens/DebugMod.tsx:888
#: src/view/screens/Profile.tsx:340
msgid "profile"
-msgstr ""
+msgstr "profiili"
#: src/view/shell/bottom-bar/BottomBar.tsx:251
#: src/view/shell/desktop/LeftNav.tsx:419
@@ -3633,7 +3633,7 @@ msgstr "Profiili päivitetty"
#: src/view/screens/Settings/index.tsx:983
msgid "Protect your account by verifying your email."
-msgstr "Suojaa tilisi vahvistamalla sähköpostiosoitteesi."
+msgstr "Suojaa käyttäjätilisi vahvistamalla sähköpostiosoitteesi."
#: src/screens/Onboarding/StepFinished.tsx:101
msgid "Public"
@@ -3679,7 +3679,7 @@ msgstr "Suhdeluvut"
#: src/view/screens/Search/Search.tsx:776
msgid "Recent Searches"
-msgstr ""
+msgstr "Viimeaikaiset haut"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
msgid "Recommended Feeds"
@@ -3704,15 +3704,15 @@ msgstr "Poista"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
-msgstr "Poista tili"
+msgstr "Poista käyttäjätili"
#: src/view/com/util/UserAvatar.tsx:358
msgid "Remove Avatar"
-msgstr ""
+msgstr "Poista avatar"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Poista banneri"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3720,7 +3720,7 @@ msgstr "Poista syöte"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "Poista syöte?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
@@ -3731,7 +3731,7 @@ msgstr "Poista syötteistäni"
#: src/view/com/feeds/FeedSourceCard.tsx:278
msgid "Remove from my feeds?"
-msgstr ""
+msgstr "Poista syötteistäni?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
@@ -3751,11 +3751,11 @@ msgstr "Poista uudelleenjako"
#: src/view/com/feeds/FeedSourceCard.tsx:175
#~ msgid "Remove this feed from my feeds?"
-#~ msgstr "Poistetaanko tämä syöte omista syötteistäni?"
+#~ msgstr "Poista tämä syöte omista syötteistäni?"
#: src/view/com/posts/FeedErrorMessage.tsx:202
msgid "Remove this feed from your saved feeds"
-msgstr ""
+msgstr "Poista tämä syöte seurannasta"
#: src/view/com/posts/FeedErrorMessage.tsx:132
#~ msgid "Remove this feed from your saved feeds?"
@@ -3772,7 +3772,7 @@ msgstr "Poistettu syötteistäni"
#: src/view/screens/ProfileFeed.tsx:208
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Poistettu syötteistäsi"
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
@@ -3803,46 +3803,46 @@ msgstr "Vastaa käyttäjälle <0/>"
#: src/view/com/modals/report/Modal.tsx:166
#~ msgid "Report {collectionName}"
-#~ msgstr "Raportoi {collectionName}"
+#~ msgstr "Ilmianna {collectionName}"
#: src/view/com/profile/ProfileMenu.tsx:319
#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
-msgstr "Ilmoita tili"
+msgstr "Ilmianna käyttäjätili"
#: src/view/screens/ProfileFeed.tsx:351
#: src/view/screens/ProfileFeed.tsx:353
msgid "Report feed"
-msgstr "Ilmoita syöte"
+msgstr "Ilmianna syöte"
#: src/view/screens/ProfileList.tsx:429
msgid "Report List"
-msgstr "Ilmoita luettelo"
+msgstr "Ilmianna luettelo"
#: src/view/com/util/forms/PostDropdownBtn.tsx:292
#: src/view/com/util/forms/PostDropdownBtn.tsx:294
msgid "Report post"
-msgstr "Ilmoita viesti"
+msgstr "Ilmianna viesti"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Report this content"
-msgstr ""
+msgstr "Ilmianna tämä sisältö"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Report this feed"
-msgstr ""
+msgstr "Ilmianna tämä syöte"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Report this list"
-msgstr ""
+msgstr "Ilmianna tämä lista"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Report this post"
-msgstr ""
+msgstr "Ilmianna tämä viesti"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Report this user"
-msgstr ""
+msgstr "Ilmianna tämä käyttäjä"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:48
@@ -3897,7 +3897,7 @@ msgstr "Pyydä koodia"
#: src/view/screens/Settings/index.tsx:475
msgid "Require alt text before posting"
-msgstr "Vaadi vaihtoehtoista ALT-tekstiä ennen julkaisua"
+msgstr "Edellytä ALT-tekstiä ennen viestin julkaisua"
#: src/view/com/auth/create/Step1.tsx:146
msgid "Required for this provider"
@@ -3974,12 +3974,12 @@ msgstr "Palaa edelliselle sivulle"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+msgstr "Palaa etusivulle"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:112
msgid "Returns to previous page"
-msgstr ""
+msgstr "Palaa edelliselle sivulle"
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
@@ -4004,7 +4004,7 @@ msgstr "Tallenna vaihtoehtoinen ALT-teksti"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Tallenna syntymäpäivä"
#: src/view/com/modals/EditProfile.tsx:232
msgid "Save Changes"
@@ -4021,7 +4021,7 @@ msgstr "Tallenna kuvan rajaus"
#: src/view/screens/ProfileFeed.tsx:335
#: src/view/screens/ProfileFeed.tsx:341
msgid "Save to my feeds"
-msgstr ""
+msgstr "Tallenna syötteisiini"
#: src/view/screens/SavedFeeds.tsx:122
msgid "Saved Feeds"
@@ -4029,11 +4029,11 @@ msgstr "Tallennetut syötteet"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "Tallennettu kameraasi"
#: src/view/screens/ProfileFeed.tsx:212
msgid "Saved to your feeds"
-msgstr ""
+msgstr "Tallennettu syötteisiisi"
#: src/view/com/modals/EditProfile.tsx:225
msgid "Saves any changes to your profile"
@@ -4045,7 +4045,7 @@ msgstr "Tallentaa käyttäjätunnuksen muutoksen muotoon {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Saves image crop settings"
-msgstr ""
+msgstr "Tallentaa kuvan rajausasetukset"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
@@ -4079,19 +4079,19 @@ msgstr "Haku hakusanalla \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
+msgstr "Hae kaikki @{authorHandle}:n julkaisut, joissa on aihetunniste {displayTag}."
#: src/components/TagMenu/index.tsx:145
#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr "Etsi kaikki viestit käyttäjältä @{authorHandle} tunnisteella {tag}"
+#~ msgstr "Etsi kaikki viestit käyttäjältä @{authorHandle} aihetunnisteella {tag}"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "Etsi kaikki viestit aihetunnisteella {displayTag}."
#: src/components/TagMenu/index.tsx:90
#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr "Etsi kaikki viestit tunnisteella {tag}"
+#~ msgstr "Etsi kaikki viestit aihetunnisteella {tag}"
#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
@@ -4113,11 +4113,11 @@ msgstr "Näytä käyttäjän {truncatedTag} viestit"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "Näytä <0>{displayTag}0> viestit"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "Näytä tämän käyttäjän <0>{displayTag}0> viestit"
#: src/components/TagMenu/index.tsx:128
#~ msgid "See <0>{tag}0> posts"
@@ -4141,7 +4141,7 @@ msgstr "Valitse {item}"
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
-#~ msgstr ""
+#~ msgstr "Valitse Bluesky Social"
#: src/view/com/auth/login/Login.tsx:117
msgid "Select from an existing account"
@@ -4149,11 +4149,11 @@ msgstr "Valitse olemassa olevalta tililtä"
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Valitse kielet"
#: src/components/ReportDialog/SelectLabelerView.tsx:32
msgid "Select moderator"
-msgstr ""
+msgstr "Valitse moderaattori"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
@@ -4198,11 +4198,11 @@ msgstr "Valitse, mitä kieliä haluat tilattujen syötteidesi sisältävän. Jos
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "Valitse sovelluksen käyttöliittymän kieli."
#: src/screens/Onboarding/StepInterests/index.tsx:196
msgid "Select your interests from the options below"
-msgstr "Valitse kiinnostuksenkohteesi alla olevista vaihtoehdoista"
+msgstr "Valitse kiinnostuksen kohteesi alla olevista vaihtoehdoista"
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
@@ -4210,7 +4210,7 @@ msgstr "Valitse kiinnostuksenkohteesi alla olevista vaihtoehdoista"
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
-msgstr "Valitse haluamasi kieli käännöksille syötteessäsi."
+msgstr "Valitse käännösten kieli syötteessäsi."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
msgid "Select your primary algorithmic feeds"
@@ -4242,7 +4242,7 @@ msgstr "Lähetä palautetta"
#: src/components/ReportDialog/SubmitView.tsx:214
#: src/components/ReportDialog/SubmitView.tsx:218
msgid "Send report"
-msgstr ""
+msgstr "Lähetä raportti"
#: src/view/com/modals/report/SendReportButton.tsx:45
#~ msgid "Send Report"
@@ -4272,7 +4272,7 @@ msgstr "Palvelimen osoite"
#: src/screens/Moderation/index.tsx:306
msgid "Set birthdate"
-msgstr ""
+msgstr "Aseta syntymäaika"
#: src/view/screens/Settings/index.tsx:488
#~ msgid "Set color theme to dark"
@@ -4328,7 +4328,7 @@ msgstr "Aseta tämä asetus \"Kyllä\"-tilaan nähdäksesi esimerkkejä tallenne
#: src/screens/Onboarding/Layout.tsx:50
msgid "Set up your account"
-msgstr "Luo tili"
+msgstr "Luo käyttäjätili"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Sets Bluesky username"
@@ -4336,23 +4336,23 @@ msgstr "Asettaa Bluesky-käyttäjätunnuksen"
#: src/view/screens/Settings/index.tsx:507
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Muuttaa väriteeman tummaksi"
#: src/view/screens/Settings/index.tsx:500
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Muuttaa väriteeman vaaleaksi"
#: src/view/screens/Settings/index.tsx:494
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Muuttaa väriteeman käyttöjärjestelmän mukaiseksi"
#: src/view/screens/Settings/index.tsx:533
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Muuttaa tumman väriteeman tummaksi"
#: src/view/screens/Settings/index.tsx:526
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "Asettaa tumman teeman himmeäksi teemaksi"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
msgid "Sets email for password reset"
@@ -4364,15 +4364,15 @@ msgstr "Asettaa palveluntarjoajan salasanan palautusta varten"
#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "Asettaa kuvan kuvasuhteen neliöksi"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "Asettaa kuvan kuvasuhteen korkeaksi"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "Asettaa kuvan kuvasuhteen leveäksi"
#: src/view/com/auth/create/Step1.tsx:97
#: src/view/com/auth/login/LoginForm.tsx:154
@@ -4393,7 +4393,7 @@ msgstr "Erotiikka tai muu aikuisviihde."
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "Seksuaalisesti vihjaileva"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4412,7 +4412,7 @@ msgstr "Jaa"
#: src/view/com/profile/ProfileMenu.tsx:373
#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Share anyway"
-msgstr ""
+msgstr "Jaa kuitenkin"
#: src/view/screens/ProfileFeed.tsx:361
#: src/view/screens/ProfileFeed.tsx:363
@@ -4518,11 +4518,11 @@ msgstr "Näytä käyttäjät"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "Näytä varoitus"
#: src/lib/moderation/useLabelBehaviorDescription.ts:56
msgid "Show warning and filter from feeds"
-msgstr ""
+msgstr "Näytä varoitus ja suodata syötteistä"
#: src/view/com/profile/ProfileHeader.tsx:462
#~ msgid "Shows a list of users similar to this user."
@@ -4626,13 +4626,13 @@ msgstr "Ohjelmistokehitys"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr ""
+#~ msgstr "Jotain meni pieleen, emmekä ole varmoja mitä."
#: src/components/ReportDialog/index.tsx:52
#: src/screens/Moderation/index.tsx:116
#: src/screens/Profile/Sections/Labels.tsx:77
msgid "Something went wrong, please try again."
-msgstr ""
+msgstr "Jotain meni pieleen, yritä uudelleen"
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
@@ -4652,11 +4652,11 @@ msgstr "Lajittele saman viestin vastaukset seuraavasti:"
#: src/components/moderation/LabelsOnMeDialog.tsx:147
msgid "Source:"
-msgstr ""
+msgstr "Lähde:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Roskapostia"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
@@ -4723,7 +4723,7 @@ msgstr "Tilaa tämä lista"
#: src/view/screens/Search/Search.tsx:375
msgid "Suggested Follows"
-msgstr "Ehdotetut seurattavat"
+msgstr "Mahdollisia seurattavia"
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
@@ -4741,11 +4741,11 @@ msgstr "Tuki"
#: src/view/com/modals/ProfilePreview.tsx:110
#~ msgid "Swipe up to see more"
-#~ msgstr ""
+#~ msgstr "Pyyhkäise ylöspäin nähdäksesi lisää"
#: src/view/com/modals/SwitchAccount.tsx:123
msgid "Switch Account"
-msgstr "Vaihda tiliä"
+msgstr "Vaihda käyttäjätiliä"
#: src/view/com/modals/SwitchAccount.tsx:103
#: src/view/screens/Settings/index.tsx:139
@@ -4767,15 +4767,15 @@ msgstr "Järjestelmäloki"
#: src/components/dialogs/MutedWords.tsx:324
msgid "tag"
-msgstr "tunniste"
+msgstr "aihetunniste"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "Aihetunnistevalikko: {displayTag}"
#: src/components/TagMenu/index.tsx:74
#~ msgid "Tag menu: {tag}"
-#~ msgstr "Tunnistevalikko: {tag}"
+#~ msgstr "Aihetunnistevalikko: {tag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:112
msgid "Tall"
@@ -4817,11 +4817,11 @@ msgstr "Tekstikenttä"
#: src/components/ReportDialog/SubmitView.tsx:78
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "Kiitos. Raporttisi on lähetetty."
#: src/view/com/modals/ChangeHandle.tsx:466
msgid "That contains the following:"
-msgstr ""
+msgstr "Se sisältää seuraavaa:"
#: src/view/com/auth/create/CreateAccount.tsx:94
msgid "That handle is already taken."
@@ -4830,11 +4830,11 @@ msgstr "Tuo käyttätunnus on jo käytössä."
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:274
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
-msgstr "Tili voi olla vuorovaikutuksessa kanssasi, kun estäminen on poistettu."
+msgstr "Käyttäjä voi olla vuorovaikutuksessa kanssasi, kun poistat eston."
#: src/components/moderation/ModerationDetailsDialog.tsx:128
msgid "the author"
-msgstr ""
+msgstr "kirjoittaja"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4924,7 +4924,7 @@ msgstr "Ongelma listojesi hakemisessa. Napauta tästä yrittääksesi uudelleen.
#: src/components/ReportDialog/SubmitView.tsx:83
msgid "There was an issue sending your report. Please check your internet connection."
-msgstr ""
+msgstr "Raportin lähettämisessä ilmeni ongelma. Tarkista internet-yhteytesi."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -4977,7 +4977,7 @@ msgstr "Tämä {screenDescription} on liputettu:"
#: src/components/moderation/ScreenHider.tsx:112
msgid "This account has requested that users sign in to view their profile."
-msgstr "Tämä tili pyytää käyttäjiä kirjautumaan sisään nähdäkseen profiilinsa."
+msgstr "Tämä käyttäjätili on pyytänyt, että käyttät kirjautuvat sisään nähdäkseen profiilinsa."
#: src/components/moderation/LabelsOnMeDialog.tsx:205
msgid "This appeal will be sent to <0>{0}0>."
@@ -4985,11 +4985,11 @@ msgstr ""
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "Moderaattorit ovat piilottaneet tämän sisällön."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "Tämä sisältö on saanut yleisen varoituksen moderaattoreilta."
#: src/view/com/modals/EmbedConsent.tsx:68
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -5064,19 +5064,19 @@ msgstr "Tämä viesti on poistettu."
#: src/view/com/util/forms/PostDropdownBtn.tsx:344
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Tämä julkaisu on näkyvissä vain kirjautuneille käyttäjille. Sitä ei näytetä kirjautumattomille henkilöille."
#: src/view/com/util/forms/PostDropdownBtn.tsx:326
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "Tämä julkaisu piilotetaan syötteistä."
#: src/view/com/profile/ProfileMenu.tsx:370
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Tämä profiili on näkyvissä vain kirjautuneille käyttäjille. Sitä ei näytetä kirjautumattomille henkilöille."
#: src/view/com/auth/create/Policies.tsx:46
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Tämä palvelu ei ole toimittanut käyttöehtoja tai tietosuojakäytäntöä."
#: src/view/com/modals/ChangeHandle.tsx:446
msgid "This should create a domain record at:"
@@ -5084,16 +5084,16 @@ msgstr ""
#: src/view/com/profile/ProfileFollowers.tsx:95
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Tällä käyttäjällä ei ole yhtään seuraajaa"
#: src/components/moderation/ModerationDetailsDialog.tsx:73
#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
-msgstr "Tämä käyttäjä on estänyt sinut. Et voi nähdä heidän sisältöään."
+msgstr "Tämä käyttäjä on estänyt sinut. Et voi nähdä hänen sisältöä."
#: src/lib/moderation/useGlobalLabelStrings.ts:30
msgid "This user has requested that their content only be shown to signed-in users."
-msgstr ""
+msgstr "Tämä käyttäjä on pyytänyt, että hänen sisältö näkyy vain kirjautuneille"
#: src/view/com/modals/ModerationDetails.tsx:42
#~ msgid "This user is included in the <0/> list which you have blocked."
@@ -5105,11 +5105,11 @@ msgstr ""
#: src/components/moderation/ModerationDetailsDialog.tsx:56
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Tämä käyttäjä on <0>{0}0>-listassa, jonka olet estänyt."
#: src/components/moderation/ModerationDetailsDialog.tsx:85
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "Tämä käyttäjä on <0>{0}0>-listassa, jonka olet hiljentänyt."
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
@@ -5117,7 +5117,7 @@ msgstr ""
#: src/view/com/profile/ProfileFollows.tsx:94
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Tämä käyttäjä ei seuraa ketään."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5133,7 +5133,7 @@ msgstr "Tämä poistaa {0}:n hiljennetyistä sanoistasi. Voit lisätä sen takai
#: src/view/screens/Settings/index.tsx:574
msgid "Thread preferences"
-msgstr ""
+msgstr "Keskusteluketjun asetukset"
#: src/view/screens/PreferencesThreads.tsx:53
#: src/view/screens/Settings/index.tsx:584
@@ -5150,7 +5150,7 @@ msgstr "Keskusteluketjujen asetukset"
#: src/components/ReportDialog/SelectLabelerView.tsx:35
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "Kenelle haluaisit lähettää tämän raportin?"
#: src/components/dialogs/MutedWords.tsx:113
msgid "Toggle between muted word options."
@@ -5162,7 +5162,7 @@ msgstr "Vaihda pudotusvalikko"
#: src/screens/Moderation/index.tsx:334
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Vaihda ottaaksesi käyttöön tai poistaaksesi käytöstä aikuisille tarkoitettu sisältö."
#: src/view/com/modals/EditImage.tsx:271
msgid "Transformations"
@@ -5215,12 +5215,12 @@ msgstr "Poista esto"
#: src/view/com/profile/ProfileMenu.tsx:299
#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
-msgstr "Poista tilin esto"
+msgstr "Poista käyttäjätilin esto"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "Poista esto?"
#: src/view/com/modals/Repost.tsx:42
#: src/view/com/modals/Repost.tsx:55
@@ -5232,7 +5232,7 @@ msgstr "Kumoa uudelleenjako"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
msgid "Unfollow"
-msgstr ""
+msgstr "Älä seuraa"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
@@ -5246,7 +5246,7 @@ msgstr "Lopeta seuraaminen {0}"
#: src/view/com/profile/ProfileMenu.tsx:241
#: src/view/com/profile/ProfileMenu.tsx:251
msgid "Unfollow Account"
-msgstr ""
+msgstr "Lopeta käyttäjätilin seuraaminen"
#: src/view/com/auth/create/state.ts:262
msgid "Unfortunately, you do not meet the requirements to create an account."
@@ -5258,7 +5258,7 @@ msgstr "En tykkää"
#: src/view/screens/ProfileFeed.tsx:572
msgid "Unlike this feed"
-msgstr ""
+msgstr "Poista tykkäys tästä syötteestä"
#: src/components/TagMenu/index.tsx:249
#: src/view/screens/ProfileList.tsx:579
@@ -5272,11 +5272,11 @@ msgstr "Poista hiljennys {truncatedTag}"
#: src/view/com/profile/ProfileMenu.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
-msgstr "Poista tilin hiljennys"
+msgstr "Poista käyttäjätilin hiljennys"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "Poista hiljennys kaikista {displayTag}-julkaisuista"
#: src/components/TagMenu/index.tsx:210
#~ msgid "Unmute all {tag} posts"
@@ -5294,7 +5294,7 @@ msgstr "Poista kiinnitys"
#: src/view/screens/ProfileFeed.tsx:291
msgid "Unpin from home"
-msgstr ""
+msgstr "Poista kiinnitys etusivulta"
#: src/view/screens/ProfileList.tsx:444
msgid "Unpin moderation list"
@@ -5306,7 +5306,7 @@ msgstr "Poista moderointilistan kiinnitys"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
msgid "Unsubscribe"
-msgstr ""
+msgstr "Peruuta tilaus"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
msgid "Unsubscribe from this labeler"
@@ -5314,7 +5314,7 @@ msgstr ""
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "Ei-toivottu seksuaalinen sisältö"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
@@ -5326,7 +5326,7 @@ msgstr "Päivitä {displayName} listoissa"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Update to {handle}"
-msgstr ""
+msgstr "Päivitä {handle}""
#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
msgid "Updating..."
@@ -5341,23 +5341,23 @@ msgstr "Lataa tekstitiedosto kohteeseen:"
#: src/view/com/util/UserBanner.tsx:116
#: src/view/com/util/UserBanner.tsx:119
msgid "Upload from Camera"
-msgstr ""
+msgstr "Lataa kamerasta"
#: src/view/com/util/UserAvatar.tsx:343
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Lataa tiedostoista"
#: src/view/com/util/UserAvatar.tsx:337
#: src/view/com/util/UserAvatar.tsx:341
#: src/view/com/util/UserBanner.tsx:127
#: src/view/com/util/UserBanner.tsx:131
msgid "Upload from Library"
-msgstr ""
+msgstr "Lataa kirjastosta"
#: src/view/com/modals/ChangeHandle.tsx:409
msgid "Use a file on your server"
-msgstr ""
+msgstr "Käytä palvelimellasi olevaa tiedostoa"
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
@@ -5404,15 +5404,15 @@ msgstr "Käyttäjä estetty"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "\"{0}\" on estänyt käyttäjän."
#: src/components/moderation/ModerationDetailsDialog.tsx:54
msgid "User Blocked by List"
-msgstr "Käyttäjä estetty listan vuoksi"
+msgstr "Käyttäjä on estetty listalla"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "Käyttäjä on estänyt sinut"
#: src/components/moderation/ModerationDetailsDialog.tsx:71
msgid "User Blocks You"
@@ -5435,7 +5435,7 @@ msgstr "Käyttäjälistan on tehnyt <0/>"
#: src/view/com/modals/UserAddRemoveLists.tsx:196
#: src/view/screens/ProfileList.tsx:775
msgid "User list by you"
-msgstr "Sinun käyttäjälistasi"
+msgstr "Käyttäjälistasi"
#: src/view/com/modals/CreateOrEditList.tsx:196
msgid "User list created"
@@ -5464,11 +5464,11 @@ msgstr "käyttäjät, joita <0/> seuraa"
#: src/view/com/modals/Threadgate.tsx:106
msgid "Users in \"{0}\""
-msgstr "Käyttäjät ryhmässä \"{0}\""
+msgstr "Käyttäjät listassa \"{0}\""
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Käyttäjät, jotka ovat pitäneet tästä sisällöstä tai profiilista"
#: src/view/com/modals/ChangeHandle.tsx:437
msgid "Value:"
@@ -5480,7 +5480,7 @@ msgstr ""
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
-msgstr ""
+msgstr "Vahvista {0}"
#: src/view/screens/Settings/index.tsx:944
msgid "Verify email"
@@ -5517,11 +5517,11 @@ msgstr "Katso vianmääritystietue"
#: src/components/ReportDialog/SelectReportOptionView.tsx:133
msgid "View details"
-msgstr ""
+msgstr "Näytä tiedot"
#: src/components/ReportDialog/SelectReportOptionView.tsx:128
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Näytä tiedot tekijänoikeusrikkomuksen ilmoittamisesta"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5573,7 +5573,7 @@ msgstr "Uskomme myös, että pitäisit Skygazen \"For You\" -syötteestä:"
#: src/screens/Hashtag.tsx:132
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "Emme löytäneet tuloksia tuolla aihetunnisteella."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
@@ -5593,7 +5593,7 @@ msgstr "Emme enää löytäneet viestejä seurattavilta. Tässä on uusin tekij
#: src/components/dialogs/MutedWords.tsx:204
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr "Suosittelemme välttämään yleisiä sanoja, jotka esiintyvät monissa viesteissä. Se voi johtaa siihen, ettei viestejä näytetä."
+msgstr "Suosittelemme välttämään yleisiä sanoja, jotka esiintyvät monissa viesteissä. Se voi johtaa siihen, ettei mitään viestejä näytetä."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
msgid "We recommend our \"Discover\" feed:"
@@ -5613,7 +5613,7 @@ msgstr "Yhteyden muodostaminen ei onnistunut. Yritä uudelleen jatkaaksesi tilis
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
-msgstr "Ilmoitamme sinulle, kun tilisi on valmis."
+msgstr "Ilmoitamme sinulle, kun käyttäjätilisi on valmis."
#: src/view/com/modals/AppealLabel.tsx:48
#~ msgid "We'll look into your appeal promptly."
@@ -5680,23 +5680,23 @@ msgstr "Kuka voi vastata"
#: src/components/ReportDialog/SelectReportOptionView.tsx:44
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "Miksi tämä sisältö tulisi arvioida?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:57
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Miksi tämä syöte tulisi arvioida?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:54
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Miksi tämä lista tulisi arvioida?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:51
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Miksi tämä viesti tulisi arvioida?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:48
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Miksi tämä käyttäjä tulisi arvioida?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:102
msgid "Wide"
@@ -5761,7 +5761,7 @@ msgstr "Voit nyt kirjautua sisään uudella salasanallasi."
#: src/view/com/profile/ProfileFollowers.tsx:94
msgid "You do not have any followers."
-msgstr ""
+msgstr "Sinulla ei ole kyhtään seuraajaa."
#: 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."
@@ -5787,7 +5787,7 @@ msgstr "Olet estänyt tekijän tai sinut on estetty tekijän toimesta."
#: src/lib/moderation/useModerationCauseDescription.ts:50
#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
-msgstr "Olet estänyt tämän käyttäjän. Et voi nähdä heidän sisältöään."
+msgstr "Olet estänyt tämän käyttäjän. Et voi nähdä hänen sisältöä."
#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
@@ -5848,7 +5848,7 @@ msgstr ""
#: src/components/dialogs/MutedWords.tsx:250
msgid "You haven't muted any words or tags yet"
-msgstr "Et ole vielä hiljentänyt yhtään sanaa tai tunnistetta"
+msgstr "Et ole vielä hiljentänyt yhtään sanaa tai aihetunnistetta"
#: src/components/moderation/LabelsOnMeDialog.tsx:69
msgid "You may appeal these labels if you feel they were placed in error."
@@ -5903,15 +5903,15 @@ msgstr "Olet saavuttanut syötteesi lopun! Etsi lisää käyttäjiä seurattavak
#: src/view/com/auth/create/Step1.tsx:67
msgid "Your account"
-msgstr "Tilisi"
+msgstr "Käyttäjätilisi"
#: src/view/com/modals/DeleteAccount.tsx:67
msgid "Your account has been deleted"
-msgstr "Tilisi on poistettu"
+msgstr "Käyttäjätilisi on poistettu"
#: src/view/screens/Settings/ExportCarDialog.tsx:47
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
-msgstr "Tilisi arkisto, joka sisältää kaikki julkiset tietueet, voidaan ladata \"CAR\"-tiedostona. Tämä tiedosto ei sisällä upotettuja mediaelementtejä, kuten kuvia, tai yksityisiä tietojasi, jotka on haettava erikseen."
+msgstr "Käyttäjätilisi arkisto, joka sisältää kaikki julkiset tietueet, voidaan ladata \"CAR\"-tiedostona. Tämä tiedosto ei sisällä upotettuja mediaelementtejä, kuten kuvia, tai yksityisiä tietojasi, jotka on haettava erikseen."
#: src/view/com/auth/create/Step1.tsx:215
msgid "Your birth date"
diff --git a/src/locale/locales/ga/messages.po b/src/locale/locales/ga/messages.po
new file mode 100644
index 0000000000..2e04e4e8e4
--- /dev/null
+++ b/src/locale/locales/ga/messages.po
@@ -0,0 +1,4637 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: bsky\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-11-05 16:01-0800\n"
+"PO-Revision-Date: 2023-11-05 16:01-0800\n"
+"Last-Translator: Kevin Scannell \n"
+"Language-Team: Irish \n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? 3 : 4\n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(gan ríomhphost)"
+
+#: src/view/com/profile/ProfileHeader.tsx:592
+msgid "{following} following"
+msgstr "{following} á leanúint"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite code available"
+#~ msgstr "{invitesAvailable} chód cuiridh ar fáil"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite codes available"
+#~ msgstr "{invitesAvailable} cód cuiridh ar fáil"
+
+#: src/view/shell/Drawer.tsx:440
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} gan léamh"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> ball"
+
+#: src/view/com/profile/ProfileHeader.tsx:594
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>á leanúint1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>Roghnaigh do chuid0><1>Fothaí1><2>Molta2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>Lean cúpla0><1>Úsáideoirí1><2>Molta2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>Fáilte go0><1>Bluesky1>"
+
+#: src/view/com/profile/ProfileHeader.tsx:557
+msgid "⚠Invalid Handle"
+msgstr "⚠Leasainm Neamhbhailí"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:45
+msgid "A content warning has been applied to this {0}."
+msgstr "Cuireadh rabhadh ábhair leis an {0} seo."
+
+#: src/lib/hooks/useOTAUpdate.ts:16
+msgid "A new version of the app is available. Please update to continue using the app."
+msgstr "Tá leagan nua den aip ar fáil. Uasdátaigh leis an aip a úsáid anois."
+
+#: src/view/com/util/ViewHeader.tsx:83
+#: src/view/screens/Search/Search.tsx:624
+msgid "Access navigation links and settings"
+msgstr "Oscail nascanna agus socruithe"
+
+#: src/view/com/pager/FeedsTabBarMobile.tsx:89
+msgid "Access profile and other navigation links"
+msgstr "Oscail próifíl agus nascanna eile"
+
+#: src/view/com/modals/EditImage.tsx:299
+#: src/view/screens/Settings/index.tsx:451
+msgid "Accessibility"
+msgstr "Inrochtaineacht"
+
+#: src/view/com/auth/login/LoginForm.tsx:166
+#: src/view/screens/Settings/index.tsx:308
+#: src/view/screens/Settings/index.tsx:721
+msgid "Account"
+msgstr "Cuntas"
+
+#: src/view/com/profile/ProfileHeader.tsx:245
+msgid "Account blocked"
+msgstr "Cuntas blocáilte"
+
+#: src/view/com/profile/ProfileHeader.tsx:212
+msgid "Account muted"
+msgstr "Cuireadh an cuntas i bhfolach"
+
+#: src/view/com/modals/ModerationDetails.tsx:86
+msgid "Account Muted"
+msgstr "Cuireadh an cuntas i bhfolach"
+
+#: src/view/com/modals/ModerationDetails.tsx:72
+msgid "Account Muted by List"
+msgstr "Cuireadh an cuntas i bhfolach trí liosta"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "Roghanna cuntais"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "Baineadh an cuntas ón mearliosta"
+
+#: src/view/com/profile/ProfileHeader.tsx:267
+msgid "Account unblocked"
+msgstr "Cuntas díbhlocáilte"
+
+#: src/view/com/profile/ProfileHeader.tsx:225
+msgid "Account unmuted"
+msgstr "Níl an cuntas i bhfolach a thuilleadh"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:812
+msgid "Add"
+msgstr "Cuir leis"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "Cuir rabhadh faoin ábhar leis"
+
+#: src/view/screens/ProfileList.tsx:802
+msgid "Add a user to this list"
+msgstr "Cuir cuntas leis an liosta seo"
+
+#: src/view/screens/Settings/index.tsx:383
+#: src/view/screens/Settings/index.tsx:392
+msgid "Add account"
+msgstr "Cuir cuntas leis seo"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:116
+msgid "Add alt text"
+msgstr "Cuir téacs malartach leis seo"
+
+#: src/view/screens/AppPasswords.tsx:102
+#: src/view/screens/AppPasswords.tsx:143
+#: src/view/screens/AppPasswords.tsx:156
+msgid "Add App Password"
+msgstr "Cuir pasfhocal aipe leis seo"
+
+#: src/view/com/modals/report/InputIssueDetails.tsx:41
+#: src/view/com/modals/report/Modal.tsx:191
+msgid "Add details"
+msgstr "Cuir mionsonraí leis seo"
+
+#: src/view/com/modals/report/Modal.tsx:194
+msgid "Add details to report"
+msgstr "Cuir mionsonraí leis an tuairisc"
+
+#: src/view/com/composer/Composer.tsx:446
+msgid "Add link card"
+msgstr "Cuir cárta leanúna leis seo"
+
+#: src/view/com/composer/Composer.tsx:451
+msgid "Add link card:"
+msgstr "Cuir cárta leanúna leis seo:"
+
+#: src/view/com/modals/ChangeHandle.tsx:417
+msgid "Add the following DNS record to your domain:"
+msgstr "Cuir an taifead DNS seo a leanas le d'fhearann:"
+
+#: src/view/com/profile/ProfileHeader.tsx:309
+msgid "Add to Lists"
+msgstr "Cuir le liostaí"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:243
+#: src/view/screens/ProfileFeed.tsx:272
+msgid "Add to my feeds"
+msgstr "Cuir le mo chuid fothaí"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "Curtha leis"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "Curtha leis an liosta"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:125
+msgid "Added to my feeds"
+msgstr "Curtha le mo chuid fothaí"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "Sonraigh an méid moltaí ar fhreagra atá de dhíth le bheith le feiceáil i d'fhotha."
+
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "Ábhar do dhaoine fásta"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:141
+msgid "Adult content can only be enabled via the Web at <0/>."
+msgstr "Ní féidir ábhar do dhaoine fásta a chur ar fáil ach tríd an nGréasán ag <0/>."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
+#~ msgstr "Ní féidir ábhar do dhaoine fásta a chur ar fáil ach tríd an nGréasán ag <0>bsky.app0>."
+
+#: src/view/screens/Settings/index.tsx:664
+msgid "Advanced"
+msgstr "Ardleibhéal"
+
+#: src/view/screens/Feeds.tsx:666
+msgid "All the feeds you've saved, right in one place."
+msgstr "Na fothaí go léir a shábháil tú, in áit amháin."
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Already have a code?"
+msgstr "An bhfuil cód agat cheana?"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+msgid "Already signed in as @{0}"
+msgstr "Logáilte isteach cheana mar @{0}"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:315
+msgid "Alt text"
+msgstr "Téacs malartach"
+
+#: 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 "Cuireann an téacs malartach síos ar na híomhánna do dhaoine atá dall nó a bhfuil lagú radhairc orthu agus cuireann sé an comhthéacs ar fáil do chuile dhuine."
+
+#: 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."
+msgstr "Cuireadh teachtaireacht ríomhphoist chuig {0}. Tá cód dearbhaithe faoi iamh. Is féidir leat an cód a chur isteach thíos anseo."
+
+#: 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 "Cuireadh teachtaireacht ríomhphoist chuig do sheanseoladh. {0}. Tá cód dearbhaithe faoi iamh."
+
+#: src/view/com/profile/FollowButton.tsx:30
+#: src/view/com/profile/FollowButton.tsx:40
+msgid "An issue occurred, please try again."
+msgstr "Tharla fadhb. Déan iarracht eile, le do thoil."
+
+#: src/view/com/notifications/FeedItem.tsx:236
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "agus"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "Ainmhithe"
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "Teanga na haipe"
+
+#: src/view/screens/AppPasswords.tsx:228
+msgid "App password deleted"
+msgstr "Pasfhocal na haipe scriosta"
+
+#: src/view/com/modals/AddAppPasswords.tsx:134
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "Ní féidir ach litreacha, uimhreacha, spásanna, daiseanna agus fostríocanna a bheith in ainmneacha phasfhocal na haipe."
+
+#: src/view/com/modals/AddAppPasswords.tsx:99
+msgid "App Password names must be at least 4 characters long."
+msgstr "Caithfear 4 charachtar ar a laghad a bheith in ainmneacha phasfhocal na haipe."
+
+#: src/view/screens/Settings/index.tsx:675
+msgid "App password settings"
+msgstr "Socruithe phasfhocal na haipe"
+
+#: src/view/screens/Settings.tsx:650
+#~ msgid "App passwords"
+#~ msgstr "Pasfhocal na haipe"
+
+#: src/Navigation.tsx:237
+#: src/view/screens/AppPasswords.tsx:187
+#: src/view/screens/Settings/index.tsx:684
+msgid "App Passwords"
+msgstr "Pasfhocal na haipe"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:250
+msgid "Appeal content warning"
+msgstr "Déan achomharc in aghaidh rabhadh ábhair."
+
+#: src/view/com/modals/AppealLabel.tsx:65
+msgid "Appeal Content Warning"
+msgstr "Achomharc in aghaidh rabhadh ábhair"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:52
+msgid "Appeal this decision"
+msgstr "Dean achomharc in aghaidh an chinnidh seo"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:56
+msgid "Appeal this decision."
+msgstr "Dean achomharc in aghaidh an chinnidh seo."
+
+#: src/view/screens/Settings/index.tsx:466
+msgid "Appearance"
+msgstr "Cuma"
+
+#: src/view/screens/AppPasswords.tsx:224
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "An bhfuil tú cinnte gur mhaith leat pasfhocal na haipe “{name}” a scriosadh?"
+
+#: src/view/com/composer/Composer.tsx:143
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "An bhfuil tú cinnte gur mhaith leat an dréacht seo a scriosadh?"
+
+#: src/view/screens/ProfileList.tsx:364
+msgid "Are you sure?"
+msgstr "Lánchinnte?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:233
+msgid "Are you sure? This cannot be undone."
+msgstr "An bhfuil tú cinnte? Ní féidir é seo a chealú."
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "An bhfuil tú ag scríobh sa teanga <0>{0}0>?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "Ealaín"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "Lomnochtacht ealaíonta nó gan a bheith gáirsiúil."
+
+#: src/view/com/auth/create/CreateAccount.tsx:154
+#: src/view/com/auth/login/ChooseAccountForm.tsx:151
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
+#: src/view/com/auth/login/LoginForm.tsx:259
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
+#: src/view/com/modals/report/InputIssueDetails.tsx:46
+#: src/view/com/post-thread/PostThread.tsx:471
+#: src/view/com/post-thread/PostThread.tsx:521
+#: src/view/com/post-thread/PostThread.tsx:529
+#: src/view/com/profile/ProfileHeader.tsx:648
+#: src/view/com/util/ViewHeader.tsx:81
+msgid "Back"
+msgstr "Ar ais"
+
+#: src/view/com/post-thread/PostThread.tsx:479
+msgctxt "action"
+msgid "Back"
+msgstr "Ar ais"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+msgid "Based on your interest in {interestsText}"
+msgstr "Toisc go bhfuil suim agat in {interestsText}"
+
+#: src/view/screens/Settings/index.tsx:523
+msgid "Basics"
+msgstr "Bunrudaí"
+
+#: src/view/com/auth/create/Step1.tsx:250
+#: src/view/com/modals/BirthDateSettings.tsx:73
+msgid "Birthday"
+msgstr "Breithlá"
+
+#: src/view/screens/Settings/index.tsx:340
+msgid "Birthday:"
+msgstr "Breithlá:"
+
+#: src/view/com/profile/ProfileHeader.tsx:238
+#: src/view/com/profile/ProfileHeader.tsx:345
+msgid "Block Account"
+msgstr "Blocáil an cuntas seo"
+
+#: src/view/screens/ProfileList.tsx:555
+msgid "Block accounts"
+msgstr "Blocáil na cuntais seo"
+
+#: src/view/screens/ProfileList.tsx:505
+msgid "Block list"
+msgstr "Liosta blocála"
+
+#: src/view/screens/ProfileList.tsx:315
+msgid "Block these accounts?"
+msgstr "An bhfuil fonn ort na cuntais seo a bhlocáil?"
+
+#: src/view/screens/ProfileList.tsx:319
+msgid "Block this List"
+msgstr "Blocáil an liosta seo"
+
+#: src/view/com/lists/ListCard.tsx:109
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:60
+msgid "Blocked"
+msgstr "Blocáilte"
+
+#: src/view/screens/Moderation.tsx:123
+msgid "Blocked accounts"
+msgstr "Cuntais bhlocáilte"
+
+#: src/Navigation.tsx:130
+#: src/view/screens/ModerationBlockedAccounts.tsx:107
+msgid "Blocked Accounts"
+msgstr "Cuntais bhlocáilte"
+
+#: src/view/com/profile/ProfileHeader.tsx:240
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat."
+
+#: 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 "Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat. Ní fheicfidh tú a gcuid ábhair agus ní fheicfidh siad do chuid ábhair."
+
+#: src/view/com/post-thread/PostThread.tsx:324
+msgid "Blocked post."
+msgstr "Postáil bhlocáilte."
+
+#: 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 "Tá an bhlocáil poiblí. Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat."
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
+#: src/view/com/auth/SplashScreen.web.tsx:133
+msgid "Blog"
+msgstr "Blag"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
+#: src/view/com/auth/server-input/index.tsx:89
+#: src/view/com/auth/server-input/index.tsx:90
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/server-input/index.tsx:150
+msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
+msgstr "Is líonra oscailte é Bluesky, lenar féidir leat do sholáthraí óstála féin a roghnú. Tá leagan béite d'óstáil shaincheaptha ar fáil d'fhorbróirí anois."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+msgid "Bluesky is flexible."
+msgstr "Tá Bluesky solúbtha."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+msgid "Bluesky is open."
+msgstr "Tá Bluesky oscailte."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+msgid "Bluesky is public."
+msgstr "Tá Bluesky poiblí."
+
+#: 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 "Baineann Bluesky úsáid as cuirí le pobal níos sláintiúla a thógáil. Mura bhfuil aithne agat ar dhuine a bhfuil cuireadh acu is féidir leat d’ainm a chur ar an liosta feithimh agus cuirfidh muid cuireadh chugat roimh i bhfad."
+
+#: src/view/screens/Moderation.tsx:226
+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 "Ní thaispeánfaidh Bluesky do phróifíl ná do chuid postálacha d’úsáideoirí atá logáilte amach. Is féidir nach gcloífidh aipeanna eile leis an iarratas seo. I bhfocail eile, ní bheidh do chuntas anseo príobháideach."
+
+#: src/view/com/modals/ServerInput.tsx:78
+#~ msgid "Bluesky.Social"
+#~ msgstr "Bluesky.Social"
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "Leabhair"
+
+#: src/view/screens/Settings/index.tsx:859
+msgid "Build version {0} {1}"
+msgstr "Leagan {0} {1}"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
+#: src/view/com/auth/SplashScreen.web.tsx:128
+msgid "Business"
+msgstr "Gnó"
+
+#: src/view/com/modals/ServerInput.tsx:115
+#~ msgid "Button disabled. Input custom domain to proceed."
+#~ msgstr "Cnaipe as feidhm. Úsáid sainfhearann le leanúint ar aghaidh."
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "le —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "le {0}"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "le <0/>"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "leat"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
+#: src/view/com/util/UserAvatar.tsx:224
+#: src/view/com/util/UserBanner.tsx:40
+msgid "Camera"
+msgstr "Ceamara"
+
+#: src/view/com/modals/AddAppPasswords.tsx:216
+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 "Ní féidir ach litreacha, uimhreacha, spásanna, daiseanna agus fostríocanna a bheith ann. Caithfear 4 charachtar ar a laghad a bheith ann agus gan níos mó ná 32 charachtar."
+
+#: src/components/Prompt.tsx:91
+#: src/view/com/composer/Composer.tsx:300
+#: src/view/com/composer/Composer.tsx:305
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangePassword.tsx:265
+#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/CreateOrEditList.tsx:355
+#: src/view/com/modals/EditImage.tsx:323
+#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/LinkWarning.tsx:87
+#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253
+#: src/view/com/modals/Waitlist.tsx:142
+#: src/view/screens/Search/Search.tsx:693
+#: src/view/shell/desktop/Search.tsx:238
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: src/view/com/modals/Confirm.tsx:88
+#: src/view/com/modals/Confirm.tsx:91
+#: src/view/com/modals/CreateOrEditList.tsx:360
+#: src/view/com/modals/DeleteAccount.tsx:156
+#: src/view/com/modals/DeleteAccount.tsx:234
+msgctxt "action"
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: src/view/com/modals/DeleteAccount.tsx:152
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Cancel account deletion"
+msgstr "Ná scrios an chuntas"
+
+#: src/view/com/modals/ChangeHandle.tsx:149
+msgid "Cancel change handle"
+msgstr "Ná hathraigh an leasainm"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+msgid "Cancel image crop"
+msgstr "Cealaigh bearradh na híomhá"
+
+#: src/view/com/modals/EditProfile.tsx:244
+msgid "Cancel profile editing"
+msgstr "Cealaigh eagarthóireacht na próifíle"
+
+#: src/view/com/modals/Repost.tsx:78
+msgid "Cancel quote post"
+msgstr "Ná déan athlua na postála"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:234
+msgid "Cancel search"
+msgstr "Cealaigh an cuardach"
+
+#: src/view/com/modals/Waitlist.tsx:136
+msgid "Cancel waitlist signup"
+msgstr "Ná sábháil d’ainm ar an liosta feithimh"
+
+#: src/view/screens/Settings/index.tsx:334
+msgctxt "action"
+msgid "Change"
+msgstr "Athraigh"
+
+#: src/view/screens/Settings/index.tsx:696
+msgid "Change handle"
+msgstr "Athraigh mo leasainm"
+
+#: src/view/com/modals/ChangeHandle.tsx:161
+#: src/view/screens/Settings/index.tsx:705
+msgid "Change Handle"
+msgstr "Athraigh mo leasainm"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "Athraigh mo ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:732
+msgid "Change password"
+msgstr "Athraigh mo phasfhocal"
+
+#: src/view/screens/Settings/index.tsx:741
+msgid "Change Password"
+msgstr "Athraigh mo phasfhocal"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "Athraigh an teanga phostála go {0}"
+
+#: src/view/screens/Settings/index.tsx:733
+msgid "Change your Bluesky password"
+msgstr "Athraigh do phasfhocal Bluesky"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "Athraigh do ríomhphost"
+
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
+msgid "Check my status"
+msgstr "Seiceáil mo stádas"
+
+#: 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 "Cuir súil ar na fothaí seo. Brúigh + len iad a chur le liosta na bhfothaí atá greamaithe agat."
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "Cuir súil ar na húsáideoirí seo. Lean iad le húsáideoirí atá cosúil leo a fheiceáil."
+
+#: src/view/com/modals/DeleteAccount.tsx:169
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "Féach ar do bhosca ríomhphoist le haghaidh teachtaireachta leis an gcód dearbhaithe atá le cur isteach thíos."
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "Roghnaigh “Chuile Dhuine” nó “Duine Ar Bith”"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Choose a new Bluesky username or create"
+msgstr "Roghnaigh leasainm Bluesky nua nó cruthaigh leasainm"
+
+#: src/view/com/auth/server-input/index.tsx:79
+msgid "Choose Service"
+msgstr "Roghnaigh Seirbhís"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "Roghnaigh na halgartaim le haghaidh do chuid sainfhothaí."
+
+#: 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 "Roghnaigh na halgartaim a shainíonn an dóigh a n-oibríonn do chuid sainfhothaí."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#~ msgid "Choose your algorithmic feeds"
+#~ msgstr "Roghnaigh do chuid fothaí algartamacha"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+msgid "Choose your main feeds"
+msgstr "Roghnaigh do phríomhfhothaí"
+
+#: src/view/com/auth/create/Step1.tsx:219
+msgid "Choose your password"
+msgstr "Roghnaigh do phasfhocal"
+
+#: src/view/screens/Settings/index.tsx:834
+#: src/view/screens/Settings/index.tsx:835
+msgid "Clear all legacy storage data"
+msgstr "Glan na sonraí oidhreachta ar fad atá i dtaisce."
+
+#: src/view/screens/Settings/index.tsx:837
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "Glan na sonraí oidhreachta ar fad atá i dtaisce. Ansin atosaigh."
+
+#: src/view/screens/Settings/index.tsx:846
+#: src/view/screens/Settings/index.tsx:847
+msgid "Clear all storage data"
+msgstr "Glan na sonraí ar fad atá i dtaisce."
+
+#: src/view/screens/Settings/index.tsx:849
+msgid "Clear all storage data (restart after this)"
+msgstr "Glan na sonraí ar fad atá i dtaisce. Ansin atosaigh."
+
+#: src/view/com/util/forms/SearchInput.tsx:88
+#: src/view/screens/Search/Search.tsx:674
+msgid "Clear search query"
+msgstr "Glan an cuardach"
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "cliceáil anseo"
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "Aeráid"
+
+#: src/view/com/modals/ChangePassword.tsx:265
+#: src/view/com/modals/ChangePassword.tsx:268
+msgid "Close"
+msgstr "Dún"
+
+#: src/components/Dialog/index.web.tsx:78
+msgid "Close active dialog"
+msgstr "Dún an dialóg oscailte"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "Dún an rabhadh"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+msgid "Close bottom drawer"
+msgstr "Dún an tarraiceán íochtair"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+msgid "Close image"
+msgstr "Dún an íomhá"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:119
+msgid "Close image viewer"
+msgstr "Dún amharcóir na n-íomhánna"
+
+#: src/view/shell/index.web.tsx:49
+msgid "Close navigation footer"
+msgstr "Dún an buntásc"
+
+#: src/view/shell/index.web.tsx:50
+msgid "Closes bottom navigation bar"
+msgstr "Dúnann sé seo an barra nascleanúna ag an mbun"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "Dúnann sé seo an rabhadh faoi uasdátú an phasfhocail"
+
+#: src/view/com/composer/Composer.tsx:302
+msgid "Closes post composer and discards post draft"
+msgstr "Dúnann sé seo cumadóir na postálacha agus ní shábhálann sé an dréacht"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+msgid "Closes viewer for header image"
+msgstr "Dúnann sé seo an t-amharcóir le haghaidh íomhá an cheanntáisc"
+
+#: src/view/com/notifications/FeedItem.tsx:317
+msgid "Collapses list of users for a given notification"
+msgstr "Laghdaíonn sé seo liosta na n-úsáideoirí le haghaidh an fhógra sin"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "Greann"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "Greannáin"
+
+#: src/Navigation.tsx:227
+#: src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "Treoirlínte an phobail"
+
+#: src/screens/Onboarding/StepFinished.tsx:148
+msgid "Complete onboarding and start using your account"
+msgstr "Críochnaigh agus tosaigh ag baint úsáide as do chuntas."
+
+#: src/view/com/auth/create/Step3.tsx:73
+msgid "Complete the challenge"
+msgstr "Freagair an dúshlán"
+
+#: src/view/com/composer/Composer.tsx:417
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "Scríobh postálacha chomh fada le {MAX_GRAPHEME_LENGTH} litir agus carachtair eile"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "Scríobh freagra"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+msgid "Configure content filtering setting for category: {0}"
+msgstr "Socraigh scagadh an ábhair le haghaidh catagóir: {0}"
+
+#: src/components/Prompt.tsx:113
+#: src/view/com/modals/AppealLabel.tsx:98
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesHomeFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "Dearbhaigh"
+
+#: src/view/com/modals/Confirm.tsx:75
+#: src/view/com/modals/Confirm.tsx:78
+msgctxt "action"
+msgid "Confirm"
+msgstr "Dearbhaigh"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "Dearbhaigh an t-athrú"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+msgid "Confirm content language settings"
+msgstr "Dearbhaigh socruithe le haghaidh teanga an ábhair"
+
+#: src/view/com/modals/DeleteAccount.tsx:220
+msgid "Confirm delete account"
+msgstr "Dearbhaigh scriosadh an chuntais"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:156
+msgid "Confirm your age to enable adult content."
+msgstr "Dearbhaigh d’aois chun ábhar do dhaoine fásta a fháil."
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "Cód dearbhaithe"
+
+#: src/view/com/modals/Waitlist.tsx:120
+msgid "Confirms signing up {email} to the waitlist"
+msgstr "Dearbhaíonn sé seo go gcuirfear {email} leis an liosta feithimh"
+
+#: src/view/com/auth/create/CreateAccount.tsx:189
+#: src/view/com/auth/login/LoginForm.tsx:278
+msgid "Connecting..."
+msgstr "Ag nascadh…"
+
+#: src/view/com/auth/create/CreateAccount.tsx:209
+msgid "Contact support"
+msgstr "Teagmháil le Support"
+
+#: src/view/screens/Moderation.tsx:81
+msgid "Content filtering"
+msgstr "Scagadh ábhair"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:44
+msgid "Content Filtering"
+msgstr "Scagadh Ábhair"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "Teangacha ábhair"
+
+#: src/view/com/modals/ModerationDetails.tsx:65
+msgid "Content Not Available"
+msgstr "Ábhar nach bhfuil ar fáil"
+
+#: src/view/com/modals/ModerationDetails.tsx:33
+#: src/view/com/util/moderation/ScreenHider.tsx:78
+msgid "Content Warning"
+msgstr "Rabhadh ábhair"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "Rabhadh ábhair"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
+#: src/screens/Onboarding/StepFollowingFeed.tsx:153
+#: src/screens/Onboarding/StepInterests/index.tsx:248
+#: src/screens/Onboarding/StepModeration/index.tsx:118
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:108
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+msgid "Continue"
+msgstr "Lean ar aghaidh"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:150
+#: src/screens/Onboarding/StepInterests/index.tsx:245
+#: src/screens/Onboarding/StepModeration/index.tsx:115
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:105
+msgid "Continue to next step"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+msgid "Continue to the next step"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+msgid "Continue to the next step without following any accounts"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile gan aon chuntas a leanúint"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "Cócaireacht"
+
+#: src/view/com/modals/AddAppPasswords.tsx:195
+#: src/view/com/modals/InviteCodes.tsx:182
+msgid "Copied"
+msgstr "Cóipeáilte"
+
+#: src/view/screens/Settings/index.tsx:241
+msgid "Copied build version to clipboard"
+msgstr "Leagan cóipeáilte sa ghearrthaisce"
+
+#: src/view/com/modals/AddAppPasswords.tsx:76
+#: src/view/com/modals/InviteCodes.tsx:152
+#: src/view/com/util/forms/PostDropdownBtn.tsx:112
+msgid "Copied to clipboard"
+msgstr "Cóipeáilte sa ghearrthaisce"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copies app password"
+msgstr "Cóipeálann sé seo pasfhocal na haipe"
+
+#: src/view/com/modals/AddAppPasswords.tsx:188
+msgid "Copy"
+msgstr "Cóipeáil"
+
+#: src/view/screens/ProfileList.tsx:417
+msgid "Copy link to list"
+msgstr "Cóipeáil an nasc leis an liosta"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+msgid "Copy link to post"
+msgstr "Cóipeáil an nasc leis an bpostáil"
+
+#: src/view/com/profile/ProfileHeader.tsx:294
+msgid "Copy link to profile"
+msgstr "Cóipeáil an nasc leis an bpróifíl"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:139
+msgid "Copy post text"
+msgstr "Cóipeáil téacs na postála"
+
+#: src/Navigation.tsx:232
+#: src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "An polasaí maidir le cóipcheart"
+
+#: src/view/screens/ProfileFeed.tsx:96
+msgid "Could not load feed"
+msgstr "Ní féidir an fotha a lódáil"
+
+#: src/view/screens/ProfileList.tsx:888
+msgid "Could not load list"
+msgstr "Ní féidir an liosta a lódáil"
+
+#: src/view/com/auth/create/Step2.tsx:91
+#~ msgid "Country"
+#~ msgstr "Tír"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
+#: src/view/com/auth/SplashScreen.tsx:71
+#: src/view/com/auth/SplashScreen.web.tsx:81
+msgid "Create a new account"
+msgstr "Cruthaigh cuntas nua"
+
+#: src/view/screens/Settings/index.tsx:384
+msgid "Create a new Bluesky account"
+msgstr "Cruthaigh cuntas nua Bluesky"
+
+#: src/view/com/auth/create/CreateAccount.tsx:129
+msgid "Create Account"
+msgstr "Cruthaigh cuntas"
+
+#: src/view/com/modals/AddAppPasswords.tsx:226
+msgid "Create App Password"
+msgstr "Cruthaigh pasfhocal aipe"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
+#: src/view/com/auth/SplashScreen.tsx:68
+msgid "Create new account"
+msgstr "Cruthaigh cuntas nua"
+
+#: src/view/screens/AppPasswords.tsx:249
+msgid "Created {0}"
+msgstr "Cruthaíodh {0}"
+
+#: src/view/screens/ProfileFeed.tsx:616
+msgid "Created by <0/>"
+msgstr "Cruthaithe ag <0/>"
+
+#: src/view/screens/ProfileFeed.tsx:614
+msgid "Created by you"
+msgstr "Cruthaithe agat"
+
+#: src/view/com/composer/Composer.tsx:448
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "Cruthaíonn sé seo cárta le mionsamhail. Nascann an cárta le {url}."
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "Cultúr"
+
+#: src/view/com/auth/server-input/index.tsx:95
+#: src/view/com/auth/server-input/index.tsx:96
+msgid "Custom"
+msgstr "Saincheaptha"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Custom domain"
+msgstr "Sainfhearann"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#: src/view/screens/Feeds.tsx:692
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "Cruthaíonn an pobal fothaí chun eispéiris nua a chur ar fáil duit, agus chun cabhrú leat teacht ar an ábhar a thaitníonn leat"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "Oiriúnaigh na meáin ó shuíomhanna seachtracha"
+
+#: src/view/screens/Settings.tsx:687
+#~ msgid "Danger Zone"
+#~ msgstr "Limistéar Contúirte"
+
+#: src/view/screens/Settings/index.tsx:485
+#: src/view/screens/Settings/index.tsx:511
+msgid "Dark"
+msgstr "Dorcha"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "Modh dorcha"
+
+#: src/view/screens/Settings/index.tsx:498
+msgid "Dark Theme"
+msgstr "Téama Dorcha"
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "Painéal dífhabhtaithe"
+
+#: src/view/screens/Settings/index.tsx:772
+msgid "Delete account"
+msgstr "Scrios an cuntas"
+
+#: src/view/com/modals/DeleteAccount.tsx:87
+msgid "Delete Account"
+msgstr "Scrios an Cuntas"
+
+#: src/view/screens/AppPasswords.tsx:222
+#: src/view/screens/AppPasswords.tsx:242
+msgid "Delete app password"
+msgstr "Scrios pasfhocal na haipe"
+
+#: src/view/screens/ProfileList.tsx:363
+#: src/view/screens/ProfileList.tsx:444
+msgid "Delete List"
+msgstr "Scrios an liosta"
+
+#: src/view/com/modals/DeleteAccount.tsx:223
+msgid "Delete my account"
+msgstr "Scrios mo chuntas"
+
+#: src/view/screens/Settings.tsx:706
+#~ msgid "Delete my account…"
+#~ msgstr "Scrios mo chuntas"
+
+#: src/view/screens/Settings/index.tsx:784
+msgid "Delete My Account…"
+msgstr "Scrios mo chuntas…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+msgid "Delete post"
+msgstr "Scrios an phostáil"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
+msgid "Delete this post?"
+msgstr "An bhfuil fonn ort an phostáil seo a scriosadh?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:69
+msgid "Deleted"
+msgstr "Scriosta"
+
+#: src/view/com/post-thread/PostThread.tsx:316
+msgid "Deleted post."
+msgstr "Scriosadh an phostáil."
+
+#: src/view/com/modals/CreateOrEditList.tsx:300
+#: src/view/com/modals/CreateOrEditList.tsx:321
+#: src/view/com/modals/EditProfile.tsx:198
+#: src/view/com/modals/EditProfile.tsx:210
+msgid "Description"
+msgstr "Cur síos"
+
+#: src/view/screens/Settings.tsx:760
+#~ msgid "Developer Tools"
+#~ msgstr "Áiseanna forbróra"
+
+#: src/view/com/composer/Composer.tsx:211
+msgid "Did you want to say anything?"
+msgstr "Ar mhaith leat rud éigin a rá?"
+
+#: src/view/screens/Settings/index.tsx:504
+msgid "Dim"
+msgstr "Breacdhorcha"
+
+#: src/view/com/composer/Composer.tsx:144
+msgid "Discard"
+msgstr "Ná sábháil"
+
+#: src/view/com/composer/Composer.tsx:138
+msgid "Discard draft"
+msgstr "Ná sábháil an dréacht"
+
+#: src/view/screens/Moderation.tsx:207
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "Cuir ina luí ar aipeanna gan mo chuntas a thaispeáint d'úsáideoirí atá logáilte amach"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "Aimsigh sainfhothaí nua"
+
+#: src/view/screens/Feeds.tsx:473
+#~ msgid "Discover new feeds"
+#~ msgstr "Aimsigh fothaí nua"
+
+#: src/view/screens/Feeds.tsx:689
+msgid "Discover New Feeds"
+msgstr "Aimsigh Fothaí Nua"
+
+#: src/view/com/modals/EditProfile.tsx:192
+msgid "Display name"
+msgstr "Ainm taispeána"
+
+#: src/view/com/modals/EditProfile.tsx:180
+msgid "Display Name"
+msgstr "Ainm Taispeána"
+
+#: src/view/com/modals/ChangeHandle.tsx:487
+msgid "Domain verified!"
+msgstr "Fearann dearbhaithe!"
+
+#: src/view/com/auth/create/Step1.tsx:170
+msgid "Don't have an invite code?"
+msgstr "Níl cód cuiridh agat?"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "Déanta"
+
+#: src/view/com/auth/server-input/index.tsx:165
+#: src/view/com/auth/server-input/index.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/view/com/modals/AltImage.tsx:139
+#: src/view/com/modals/ContentFilteringSettings.tsx:88
+#: src/view/com/modals/ContentFilteringSettings.tsx:96
+#: src/view/com/modals/crop-image/CropImage.web.tsx:152
+#: src/view/com/modals/InviteCodes.tsx:80
+#: src/view/com/modals/InviteCodes.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesHomeFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:93
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+msgid "Done"
+msgstr "Déanta"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+msgid "Done{extraText}"
+msgstr "Déanta{extraText}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+msgid "Double tap to sign in"
+msgstr "Tapáil faoi dhó le logáil isteach"
+
+#: src/view/screens/Settings/index.tsx:755
+msgid "Download Bluesky account data (repository)"
+msgstr "Íoslódáil na sonraí ó do chuntas Bluesky (cartlann)"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:59
+#: src/view/screens/Settings/ExportCarDialog.tsx:63
+msgid "Download CAR file"
+msgstr "Íoslódáil comhad CAR"
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:247
+msgid "Drop to add images"
+msgstr "Scaoil anseo chun íomhánna a chur leis"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "De bharr pholasaí Apple, ní féidir ábhar do dhaoine fásta ar an nGréasán a fháil roimh an logáil isteach a chríochnú."
+
+#: src/view/com/modals/EditProfile.tsx:185
+msgid "e.g. Alice Roberts"
+msgstr "m.sh. Cáit Ní Dhuibhir"
+
+#: src/view/com/modals/EditProfile.tsx:203
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "m.sh. Ealaíontóir, File, Eolaí"
+
+#: src/view/com/modals/CreateOrEditList.tsx:283
+msgid "e.g. Great Posters"
+msgstr "m.sh. Na cuntais is fearr"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Spammers"
+msgstr "m.sh. Seoltóirí turscair"
+
+#: src/view/com/modals/CreateOrEditList.tsx:312
+msgid "e.g. The posters who never miss."
+msgstr "m.sh. Na cuntais nach dteipeann orthu riamh"
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "m.sh. Úsáideoirí a fhreagraíonn le fógraí"
+
+#: src/view/com/modals/InviteCodes.tsx:96
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "Oibríonn gach cód uair amháin. Gheobhaidh tú tuilleadh cód go tráthrialta."
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "Eagar"
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:207
+msgid "Edit image"
+msgstr "Cuir an íomhá seo in eagar"
+
+#: src/view/screens/ProfileList.tsx:432
+msgid "Edit list details"
+msgstr "Athraigh mionsonraí an liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:250
+msgid "Edit Moderation List"
+msgstr "Athraigh liosta na modhnóireachta"
+
+#: src/Navigation.tsx:242
+#: src/view/screens/Feeds.tsx:434
+#: src/view/screens/SavedFeeds.tsx:84
+msgid "Edit My Feeds"
+msgstr "Athraigh mo chuid fothaí"
+
+#: src/view/com/modals/EditProfile.tsx:152
+msgid "Edit my profile"
+msgstr "Athraigh mo phróifíl"
+
+#: src/view/com/profile/ProfileHeader.tsx:417
+msgid "Edit profile"
+msgstr "Athraigh an phróifíl"
+
+#: src/view/com/profile/ProfileHeader.tsx:422
+msgid "Edit Profile"
+msgstr "Athraigh an Phróifíl"
+
+#: src/view/screens/Feeds.tsx:355
+msgid "Edit Saved Feeds"
+msgstr "Athraigh na fothaí sábháilte"
+
+#: src/view/com/modals/CreateOrEditList.tsx:245
+msgid "Edit User List"
+msgstr "Athraigh an liosta d’úsáideoirí"
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Edit your display name"
+msgstr "Athraigh d’ainm taispeána"
+
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Edit your profile description"
+msgstr "Athraigh an cur síos ort sa phróifíl"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "Oideachas"
+
+#: src/view/com/auth/create/Step1.tsx:199
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/view/com/modals/ChangeEmail.tsx:141
+#: src/view/com/modals/Waitlist.tsx:88
+msgid "Email"
+msgstr "Ríomhphost"
+
+#: src/view/com/auth/create/Step1.tsx:190
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+msgid "Email address"
+msgstr "Seoladh ríomhphoist"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "Seoladh ríomhphoist uasdátaithe"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "Seoladh ríomhphoist uasdátaithe"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "Ríomhphost dearbhaithe"
+
+#: src/view/screens/Settings/index.tsx:312
+msgid "Email:"
+msgstr "Ríomhphost:"
+
+#: src/view/com/modals/EmbedConsent.tsx:113
+msgid "Enable {0} only"
+msgstr "Cuir {0} amháin ar fáil"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:167
+msgid "Enable Adult Content"
+msgstr "Cuir ábhar do dhaoine fásta ar fáil"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+msgid "Enable adult content in your feeds"
+msgstr "Cuir ábhar do dhaoine fásta ar fáil i do chuid fothaí"
+
+#: src/view/com/modals/EmbedConsent.tsx:97
+msgid "Enable External Media"
+msgstr "Cuir meáin sheachtracha ar fáil"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "Cuir seinnteoirí na meán ar fáil le haghaidh"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "Cuir an socrú seo ar siúl le gan ach freagraí i measc na ndaoine a leanann tú a fheiceáil."
+
+#: src/view/screens/Profile.tsx:455
+msgid "End of feed"
+msgstr "Deireadh an fhotha"
+
+#: src/view/com/modals/AddAppPasswords.tsx:166
+msgid "Enter a name for this App Password"
+msgstr "Cuir isteach ainm don phasfhocal aipe seo"
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "Cuir isteach an cód dearbhaithe"
+
+#: src/view/com/modals/ChangePassword.tsx:151
+msgid "Enter the code you received to change your password."
+msgstr "Cuir isteach an cód a fuair tú chun do phasfhocal a athrú."
+
+#: src/view/com/modals/ChangeHandle.tsx:371
+msgid "Enter the domain you want to use"
+msgstr "Cuir isteach an fearann is maith leat a úsáid"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+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 "Cuir isteach an seoladh ríomhphoist a d’úsáid tú le do chuntas a chruthú. Cuirfidh muid “cód athshocraithe” chugat le go mbeidh tú in ann do phasfhocal a athrú."
+
+#: src/view/com/auth/create/Step1.tsx:251
+#: src/view/com/modals/BirthDateSettings.tsx:74
+msgid "Enter your birth date"
+msgstr "Cuir isteach do bhreithlá"
+
+#: src/view/com/modals/Waitlist.tsx:78
+msgid "Enter your email"
+msgstr "Cuir isteach do sheoladh ríomhphoist"
+
+#: src/view/com/auth/create/Step1.tsx:195
+msgid "Enter your email address"
+msgstr "Cuir isteach do sheoladh ríomhphoist"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "Cuir isteach do sheoladh ríomhphoist nua thuas"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "Cuir isteach do sheoladh ríomhphoist nua thíos."
+
+#: src/view/com/auth/create/Step2.tsx:188
+#~ msgid "Enter your phone number"
+#~ msgstr "Cuir isteach d’uimhir ghutháin"
+
+#: src/view/com/auth/login/Login.tsx:99
+msgid "Enter your username and password"
+msgstr "Cuir isteach do leasainm agus do phasfhocal"
+
+#: src/view/com/auth/create/Step3.tsx:67
+msgid "Error receiving captcha response."
+msgstr "Earráid agus an freagra ar an captcha á phróiseáil."
+
+#: src/view/screens/Search/Search.tsx:109
+msgid "Error:"
+msgstr "Earráid:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "Chuile dhuine"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Exits handle change process"
+msgstr "Fágann sé seo athrú do leasainm"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:120
+msgid "Exits image view"
+msgstr "Fágann sé seo an radharc ar an íomhá"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Exits inputting search query"
+msgstr "Fágann sé seo an cuardach"
+
+#: src/view/com/modals/Waitlist.tsx:138
+msgid "Exits signing up for waitlist with {email}"
+msgstr "Fágann sé seo an síniú ar an liosta feithimh le {email}"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:163
+msgid "Expand alt text"
+msgstr "Taispeáin an téacs malartach ina iomláine"
+
+#: 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 "Leathnaigh nó laghdaigh an téacs iomlán a bhfuil tú ag freagairt"
+
+#: src/view/screens/Settings/index.tsx:753
+msgid "Export my data"
+msgstr "Easpórtáil mo chuid sonraí"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:44
+#: src/view/screens/Settings/index.tsx:764
+msgid "Export My Data"
+msgstr "Easpórtáil mo chuid sonraí"
+
+#: src/view/com/modals/EmbedConsent.tsx:64
+msgid "External Media"
+msgstr "Meáin sheachtracha"
+
+#: 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 "Is féidir le meáin sheachtracha cumas a thabhairt do shuíomhanna ar an nGréasán eolas fútsa agus faoi do ghléas a chnuasach. Ní sheoltar ná iarrtar aon eolas go dtí go mbrúnn tú an cnaipe “play”."
+
+#: src/Navigation.tsx:258
+#: src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings/index.tsx:657
+msgid "External Media Preferences"
+msgstr "Roghanna maidir le meáin sheachtracha"
+
+#: src/view/screens/Settings/index.tsx:648
+msgid "External media settings"
+msgstr "Socruithe maidir le meáin sheachtracha"
+
+#: src/view/com/modals/AddAppPasswords.tsx:115
+#: src/view/com/modals/AddAppPasswords.tsx:119
+msgid "Failed to create app password."
+msgstr "Teip ar phasfhocal aipe a chruthú."
+
+#: src/view/com/modals/CreateOrEditList.tsx:206
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "Teip ar chruthú an liosta. Seiceáil do nasc leis an idirlíon agus déan iarracht eile."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:88
+msgid "Failed to delete post, please try again"
+msgstr "Teip ar scriosadh na postála. Déan iarracht eile."
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+msgid "Failed to load recommended feeds"
+msgstr "Teip ar lódáil na bhfothaí molta"
+
+#: src/Navigation.tsx:192
+msgid "Feed"
+msgstr "Fotha"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:229
+msgid "Feed by {0}"
+msgstr "Fotha le {0}"
+
+#: src/view/screens/Feeds.tsx:605
+msgid "Feed offline"
+msgstr "Fotha as líne"
+
+#: src/view/com/feeds/FeedPage.tsx:143
+msgid "Feed Preferences"
+msgstr "Roghanna fotha"
+
+#: src/view/shell/desktop/RightNav.tsx:61
+#: src/view/shell/Drawer.tsx:311
+msgid "Feedback"
+msgstr "Aiseolas"
+
+#: src/Navigation.tsx:442
+#: src/view/screens/Feeds.tsx:419
+#: src/view/screens/Feeds.tsx:524
+#: src/view/screens/Profile.tsx:184
+#: src/view/shell/bottom-bar/BottomBar.tsx:181
+#: src/view/shell/desktop/LeftNav.tsx:342
+#: src/view/shell/Drawer.tsx:476
+#: src/view/shell/Drawer.tsx:477
+msgid "Feeds"
+msgstr "Fothaí"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#~ msgid "Feeds are created by users and can give you entirely new experiences."
+#~ msgstr "Cruthaíonn úsáideoirí fothaí a d'fhéadfadh eispéiris úrnua a thabhairt duit."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
+#~ msgstr "Is iad úsáideoirí agus eagraíochtaí a chruthaíonn na fothaí. Is féidir leo radharcanna úrnua a oscailt duit."
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "Is iad na húsáideoirí a chruthaíonn na fothaí le hábhar is spéis leo a chur ar fáil. Roghnaigh cúpla fotha a bhfuil suim agat iontu."
+
+#: src/view/screens/SavedFeeds.tsx:156
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "Is sainalgartaim iad na fothaí. Cruthaíonn úsáideoirí a bhfuil beagán taithí acu ar chódáil iad. <0/> le tuilleadh eolais a fháil."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:70
+msgid "Feeds can be topical as well!"
+msgstr "Is féidir le fothaí a bheith bunaithe ar chúrsaí reatha freisin!"
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Finalizing"
+msgstr "Ag cur crích air"
+
+#: 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 "Aimsigh fothaí le leanúint"
+
+#: src/view/screens/Search/Search.tsx:439
+msgid "Find users on Bluesky"
+msgstr "Aimsigh úsáideoirí ar Bluesky"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Find users with the search tool on the right"
+msgstr "Aimsigh úsáideoirí leis an uirlis chuardaigh ar dheis"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+msgid "Finding similar accounts..."
+msgstr "Cuntais eile atá cosúil leis seo á n-aimsiú..."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:111
+msgid "Fine-tune the content you see on your home screen."
+msgstr "Mionathraigh an t-ábhar a fheiceann tú ar do scáileán baile."
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "Mionathraigh na snáitheanna chomhrá"
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "Folláine"
+
+#: src/screens/Onboarding/StepFinished.tsx:131
+msgid "Flexible"
+msgstr "Solúbtha"
+
+#: src/view/com/modals/EditImage.tsx:115
+msgid "Flip horizontal"
+msgstr "Iompaigh go cothrománach é"
+
+#: src/view/com/modals/EditImage.tsx:120
+#: src/view/com/modals/EditImage.tsx:287
+msgid "Flip vertically"
+msgstr "Iompaigh go hingearach é"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
+#: src/view/com/profile/ProfileHeader.tsx:512
+msgid "Follow"
+msgstr "Lean"
+
+#: src/view/com/profile/FollowButton.tsx:64
+msgctxt "action"
+msgid "Follow"
+msgstr "Lean"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
+#: src/view/com/profile/ProfileHeader.tsx:503
+msgid "Follow {0}"
+msgstr "Lean {0}"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+msgid "Follow All"
+msgstr "Lean iad uile"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+msgid "Follow selected accounts and continue to the next step"
+msgstr "Lean na cuntais roghnaithe agus téigh ar aghaidh go dtí an chéad chéim eile"
+
+#: 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 "Lean cúpla cuntas mar thosú. Tig linn níos mó úsáideoirí a mholadh duit a mbeadh suim agat iontu."
+
+#: src/view/com/profile/ProfileCard.tsx:194
+msgid "Followed by {0}"
+msgstr "Leanta ag {0}"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "Cuntais a leanann tú"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:154
+msgid "Followed users only"
+msgstr "Cuntais a leanann tú amháin"
+
+#: src/view/com/notifications/FeedItem.tsx:166
+msgid "followed you"
+msgstr "— lean sé/sí thú"
+
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "Leantóirí"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
+#: src/view/com/profile/ProfileHeader.tsx:494
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "Á leanúint"
+
+#: src/view/com/profile/ProfileHeader.tsx:148
+msgid "Following {0}"
+msgstr "Ag leanúint {0}"
+
+#: src/view/com/profile/ProfileHeader.tsx:545
+msgid "Follows you"
+msgstr "Leanann sé/sí thú"
+
+#: src/view/com/profile/ProfileCard.tsx:141
+msgid "Follows You"
+msgstr "Leanann sé/sí thú"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "Bia"
+
+#: src/view/com/modals/DeleteAccount.tsx:111
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "Ar chúiseanna slándála, beidh orainn cód dearbhaithe a chur chuig do sheoladh ríomhphoist."
+
+#: src/view/com/modals/AddAppPasswords.tsx:209
+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 "Ar chúiseanna slándála, ní bheidh tú in ann é seo a fheiceáil arís. Má chailleann tú an pasfhocal seo beidh ort ceann nua a chruthú."
+
+#: src/view/com/auth/login/LoginForm.tsx:241
+msgid "Forgot"
+msgstr "Dearmadta"
+
+#: src/view/com/auth/login/LoginForm.tsx:238
+msgid "Forgot password"
+msgstr "Pasfhocal dearmadta"
+
+#: src/view/com/auth/login/Login.tsx:127
+#: src/view/com/auth/login/Login.tsx:143
+msgid "Forgot Password"
+msgstr "Pasfhocal dearmadta"
+
+#: src/view/com/posts/FeedItem.tsx:186
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "Ó <0/>"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "Gailearaí"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "Ar aghaidh leat anois!"
+
+#: 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 "Ar ais"
+
+#: src/view/screens/ProfileFeed.tsx:105
+#: src/view/screens/ProfileFeed.tsx:110
+#: src/view/screens/ProfileList.tsx:897
+#: src/view/screens/ProfileList.tsx:902
+msgid "Go Back"
+msgstr "Ar ais"
+
+#: src/screens/Onboarding/Layout.tsx:104
+#: src/screens/Onboarding/Layout.tsx:193
+msgid "Go back to previous step"
+msgstr "Fill ar an gcéim roimhe seo"
+
+#: src/view/screens/Search/Search.tsx:724
+#: src/view/shell/desktop/Search.tsx:262
+msgid "Go to @{queryMaybeHandle}"
+msgstr "Téigh go dtí @{queryMaybeHandle}"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
+#: src/view/com/auth/login/LoginForm.tsx:288
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
+#: src/view/com/modals/ChangePassword.tsx:165
+msgid "Go to next"
+msgstr "Téigh go dtí an chéad rud eile"
+
+#: src/view/com/modals/ChangeHandle.tsx:265
+msgid "Handle"
+msgstr "Leasainm"
+
+#: src/view/com/auth/create/CreateAccount.tsx:204
+msgid "Having trouble?"
+msgstr "Fadhb ort?"
+
+#: src/view/shell/desktop/RightNav.tsx:90
+#: src/view/shell/Drawer.tsx:321
+msgid "Help"
+msgstr "Cúnamh"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+msgid "Here are some accounts for you to follow"
+msgstr "Seo cúpla cuntas le leanúint duit"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:79
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "Seo cúpla fotha a bhfuil ráchairt orthu. Is féidir leat an méid acu is mian leat a leanúint."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:74
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "Seo cúpla fotha a phléann le rudaí a bhfuil suim agat iontu: {interestsText}. Is féidir leat an méid acu is mian leat a leanúint."
+
+#: src/view/com/modals/AddAppPasswords.tsx:153
+msgid "Here is your app password."
+msgstr "Seo é do phasfhocal aipe."
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
+#: src/view/com/modals/ContentFilteringSettings.tsx:251
+#: src/view/com/util/moderation/ContentHider.tsx:105
+#: src/view/com/util/moderation/PostHider.tsx:108
+msgid "Hide"
+msgstr "Cuir i bhfolach"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:224
+#: src/view/com/notifications/FeedItem.tsx:325
+msgctxt "action"
+msgid "Hide"
+msgstr "Cuir i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:187
+msgid "Hide post"
+msgstr "Cuir an phostáil seo i bhfolach"
+
+#: src/view/com/util/moderation/ContentHider.tsx:67
+#: src/view/com/util/moderation/PostHider.tsx:61
+msgid "Hide the content"
+msgstr "Cuir an t-ábhar seo i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Hide this post?"
+msgstr "An bhfuil fonn ort an phostáil seo a chur i bhfolach?"
+
+#: src/view/com/notifications/FeedItem.tsx:315
+msgid "Hide user list"
+msgstr "Cuir liosta na gcuntas i bhfolach"
+
+#: src/view/com/profile/ProfileHeader.tsx:486
+msgid "Hides posts from {0} in your feed"
+msgstr "Cuireann sé seo na postálacha ó {0} i d’fhotha i bhfolach"
+
+#: 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. Tharla fadhb éigin sa dul i dteagmháil le freastalaí an fhotha seo. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: 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. Is cosúil nach bhfuil freastalaí an fhotha seo curtha le chéile i gceart. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: 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. Is cosúil go bhfuil freastalaí an fhotha as líne. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: 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. Thug freastalaí an fhotha drochfhreagra. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "Hmm. Ní féidir linn an fotha seo a aimsiú. Is féidir gur scriosadh é."
+
+#: src/Navigation.tsx:432
+#: src/view/shell/bottom-bar/BottomBar.tsx:137
+#: src/view/shell/desktop/LeftNav.tsx:306
+#: src/view/shell/Drawer.tsx:398
+#: src/view/shell/Drawer.tsx:399
+msgid "Home"
+msgstr "Baile"
+
+#: src/Navigation.tsx:247
+#: src/view/com/pager/FeedsTabBarMobile.tsx:123
+#: src/view/screens/PreferencesHomeFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:543
+msgid "Home Feed Preferences"
+msgstr "Roghanna le haghaidh an fhotha baile"
+
+#: src/view/com/auth/create/Step1.tsx:82
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+msgid "Hosting provider"
+msgstr "Soláthraí óstála"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "Conas ar cheart dúinn an nasc seo a oscailt?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "Tá cód agam"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "Tá cód dearbhaithe agam"
+
+#: src/view/com/modals/ChangeHandle.tsx:283
+msgid "I have my own domain"
+msgstr "Tá fearann de mo chuid féin agam"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:165
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "Má tá an téacs malartach rófhada, athraíonn sé seo go téacs leathnaithe"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "Mura roghnaítear tada, tá sé oiriúnach do gach aois."
+
+#: src/view/com/modals/ChangePassword.tsx:146
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "Más mian leat do phasfhocal a athrú, seolfaimid cód duit chun dearbhú gur leatsa an cuntas seo."
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "Íomhá"
+
+#: src/view/com/modals/AltImage.tsx:120
+msgid "Image alt text"
+msgstr "Téacs malartach le híomhá"
+
+#: src/view/com/util/UserAvatar.tsx:311
+#: src/view/com/util/UserBanner.tsx:118
+msgid "Image options"
+msgstr "Roghanna maidir leis an íomhá"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+msgid "Input code sent to your email for password reset"
+msgstr "Cuir isteach an cód a seoladh chuig do ríomhphost leis an bpasfhocal a athrú"
+
+#: src/view/com/modals/DeleteAccount.tsx:184
+msgid "Input confirmation code for account deletion"
+msgstr "Cuir isteach an cód dearbhaithe leis an gcuntas a scriosadh"
+
+#: src/view/com/auth/create/Step1.tsx:200
+msgid "Input email for Bluesky account"
+msgstr "Cuir isteach an ríomhphost don chuntas Bluesky"
+
+#: src/view/com/auth/create/Step1.tsx:158
+msgid "Input invite code to proceed"
+msgstr "Cuir isteach an cód cuiridh le dul ar aghaidh"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+msgid "Input name for app password"
+msgstr "Cuir isteach an t-ainm le haghaidh phasfhocal na haipe"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+msgid "Input new password"
+msgstr "Cuir isteach an pasfhocal nua"
+
+#: src/view/com/modals/DeleteAccount.tsx:203
+msgid "Input password for account deletion"
+msgstr "Cuir isteach an pasfhocal chun an cuntas a scriosadh"
+
+#: src/view/com/auth/create/Step2.tsx:196
+#~ msgid "Input phone number for SMS verification"
+#~ msgstr "Cuir isteach an uimhir ghutháin le haghaidh dhearbhú SMS"
+
+#: src/view/com/auth/login/LoginForm.tsx:230
+msgid "Input the password tied to {identifier}"
+msgstr "Cuir isteach an pasfhocal ceangailte le {identifier}"
+
+#: src/view/com/auth/login/LoginForm.tsx:197
+msgid "Input the username or email address you used at signup"
+msgstr "Cuir isteach an leasainm nó an seoladh ríomhphoist a d’úsáid tú nuair a chláraigh tú"
+
+#: src/view/com/auth/create/Step2.tsx:271
+#~ msgid "Input the verification code we have texted to you"
+#~ msgstr "Cuir isteach an cód dearbhaithe a chuir muid chugat i dteachtaireacht téacs"
+
+#: src/view/com/modals/Waitlist.tsx:90
+msgid "Input your email to get on the Bluesky waitlist"
+msgstr "Cuir isteach do ríomhphost le bheith ar an liosta feithimh"
+
+#: src/view/com/auth/login/LoginForm.tsx:229
+msgid "Input your password"
+msgstr "Cuir isteach do phasfhocal"
+
+#: src/view/com/auth/create/Step2.tsx:45
+msgid "Input your user handle"
+msgstr "Cuir isteach do leasainm"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:223
+msgid "Invalid or unsupported post record"
+msgstr "Taifead postála atá neamhbhailí nó gan bhunús"
+
+#: src/view/com/auth/login/LoginForm.tsx:113
+msgid "Invalid username or password"
+msgstr "Leasainm nó pasfhocal míchruinn"
+
+#: src/view/screens/Settings.tsx:411
+#~ msgid "Invite"
+#~ msgstr "Cuireadh"
+
+#: src/view/com/modals/InviteCodes.tsx:93
+msgid "Invite a Friend"
+msgstr "Tabhair cuireadh chuig cara leat"
+
+#: src/view/com/auth/create/Step1.tsx:148
+#: src/view/com/auth/create/Step1.tsx:157
+msgid "Invite code"
+msgstr "Cód cuiridh"
+
+#: src/view/com/auth/create/state.ts:158
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "Níor glacadh leis an gcód cuiridh. Bí cinnte gur scríobh tú i gceart é agus bain triail eile as."
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: {0} available"
+msgstr "Cóid chuiridh: {0} ar fáil"
+
+#: src/view/shell/Drawer.tsx:645
+#~ msgid "Invite codes: {invitesAvailable} available"
+#~ msgstr "Cóid chuiridh: {invitesAvailable} ar fáil"
+
+#: src/view/com/modals/InviteCodes.tsx:169
+msgid "Invite codes: 1 available"
+msgstr "Cóid chuiridh: 1 ar fáil"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+msgid "It shows posts from the people you follow as they happen."
+msgstr "Taispeánann sé postálacha ó na daoine a leanann tú nuair a fhoilsítear iad."
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
+#: src/view/com/auth/SplashScreen.web.tsx:138
+msgid "Jobs"
+msgstr "Jabanna"
+
+#: src/view/com/modals/Waitlist.tsx:67
+msgid "Join the waitlist"
+msgstr "Cuir d’ainm ar an liosta feithimh"
+
+#: src/view/com/auth/create/Step1.tsx:174
+#: src/view/com/auth/create/Step1.tsx:178
+msgid "Join the waitlist."
+msgstr "Cuir d’ainm ar an liosta feithimh."
+
+#: src/view/com/modals/Waitlist.tsx:128
+msgid "Join Waitlist"
+msgstr "Cuir d’ainm ar an liosta feithimh"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "Iriseoireacht"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "Rogha teanga"
+
+#: src/view/screens/Settings/index.tsx:594
+msgid "Language settings"
+msgstr "Socruithe teanga"
+
+#: src/Navigation.tsx:140
+#: src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "Socruithe teanga"
+
+#: src/view/screens/Settings/index.tsx:603
+msgid "Languages"
+msgstr "Teangacha"
+
+#: src/view/com/auth/create/StepHeader.tsx:20
+msgid "Last step!"
+msgstr "An chéim dheireanach!"
+
+#: src/view/com/util/moderation/ContentHider.tsx:103
+msgid "Learn more"
+msgstr "Le tuilleadh a fhoghlaim"
+
+#: src/view/com/util/moderation/PostAlerts.tsx:47
+#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
+#: src/view/com/util/moderation/ScreenHider.tsx:104
+msgid "Learn More"
+msgstr "Le tuilleadh a fhoghlaim"
+
+#: src/view/com/util/moderation/ContentHider.tsx:85
+#: src/view/com/util/moderation/PostAlerts.tsx:40
+#: src/view/com/util/moderation/PostHider.tsx:78
+#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
+#: src/view/com/util/moderation/ScreenHider.tsx:101
+msgid "Learn more about this warning"
+msgstr "Le tuilleadh a fhoghlaim faoin rabhadh seo"
+
+#: src/view/screens/Moderation.tsx:243
+msgid "Learn more about what is public on Bluesky."
+msgstr "Le tuilleadh a fhoghlaim faoi céard atá poiblí ar Bluesky"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "Fág iad uile gan tic le teanga ar bith a fheiceáil."
+
+#: src/view/com/modals/LinkWarning.tsx:51
+msgid "Leaving Bluesky"
+msgstr "Ag fágáil slán ag Bluesky"
+
+#: src/screens/Deactivated.tsx:128
+msgid "left to go."
+msgstr "le déanamh fós."
+
+#: src/view/screens/Settings/index.tsx:278
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "Stóráil oidhreachta scriosta, tá ort an aip a atosú anois."
+
+#: src/view/com/auth/login/Login.tsx:128
+#: src/view/com/auth/login/Login.tsx:144
+msgid "Let's get your password reset!"
+msgstr "Socraímis do phasfhocal arís!"
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Let's go!"
+msgstr "Ar aghaidh linn!"
+
+#: src/view/com/util/UserAvatar.tsx:248
+#: src/view/com/util/UserBanner.tsx:62
+msgid "Library"
+msgstr "Leabharlann"
+
+#: src/view/screens/Settings/index.tsx:479
+msgid "Light"
+msgstr "Sorcha"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:216
+msgid "Like"
+msgstr "Mol"
+
+#: src/view/screens/ProfileFeed.tsx:591
+msgid "Like this feed"
+msgstr "Mol an fotha seo"
+
+#: src/Navigation.tsx:197
+msgid "Liked by"
+msgstr "Molta ag"
+
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "Molta ag"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:277
+msgid "Liked by {0} {1}"
+msgstr "Molta ag {0} {1}"
+
+#: src/view/screens/ProfileFeed.tsx:606
+msgid "Liked by {likeCount} {0}"
+msgstr "Molta ag {likeCount} {0}"
+
+#: src/view/com/notifications/FeedItem.tsx:170
+msgid "liked your custom feed"
+msgstr "a mhol do shainfhotha"
+
+#: src/view/com/notifications/FeedItem.tsx:155
+msgid "liked your post"
+msgstr "a mhol do phostáil"
+
+#: src/view/screens/Profile.tsx:183
+msgid "Likes"
+msgstr "Moltaí"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:180
+msgid "Likes on this post"
+msgstr "Moltaí don phostáil seo"
+
+#: src/Navigation.tsx:166
+msgid "List"
+msgstr "Liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:261
+msgid "List Avatar"
+msgstr "Abhatár an Liosta"
+
+#: src/view/screens/ProfileList.tsx:323
+msgid "List blocked"
+msgstr "Liosta blocáilte"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:231
+msgid "List by {0}"
+msgstr "Liosta le {0}"
+
+#: src/view/screens/ProfileList.tsx:377
+msgid "List deleted"
+msgstr "Scriosadh an liosta"
+
+#: src/view/screens/ProfileList.tsx:282
+msgid "List muted"
+msgstr "Balbhaíodh an liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:275
+msgid "List Name"
+msgstr "Ainm an liosta"
+
+#: src/view/screens/ProfileList.tsx:342
+msgid "List unblocked"
+msgstr "Liosta díbhlocáilte"
+
+#: src/view/screens/ProfileList.tsx:301
+msgid "List unmuted"
+msgstr "Liosta nach bhfuil balbhaithe níos mó"
+
+#: src/Navigation.tsx:110
+#: src/view/screens/Profile.tsx:185
+#: src/view/shell/desktop/LeftNav.tsx:379
+#: src/view/shell/Drawer.tsx:492
+#: src/view/shell/Drawer.tsx:493
+msgid "Lists"
+msgstr "Liostaí"
+
+#: src/view/com/post-thread/PostThread.tsx:333
+#: src/view/com/post-thread/PostThread.tsx:341
+msgid "Load more posts"
+msgstr "Lódáil tuilleadh postálacha"
+
+#: src/view/screens/Notifications.tsx:159
+msgid "Load new notifications"
+msgstr "Lódáil fógraí nua"
+
+#: src/view/com/feeds/FeedPage.tsx:181
+#: src/view/screens/Profile.tsx:440
+#: src/view/screens/ProfileFeed.tsx:494
+#: src/view/screens/ProfileList.tsx:680
+msgid "Load new posts"
+msgstr "Lódáil postálacha nua"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+msgid "Loading..."
+msgstr "Ag lódáil …"
+
+#: src/view/com/modals/ServerInput.tsx:50
+#~ msgid "Local dev server"
+#~ msgstr "Freastálaí forbróra áitiúil"
+
+#: src/Navigation.tsx:207
+msgid "Log"
+msgstr "Logleabhar"
+
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
+msgid "Log out"
+msgstr "Logáil amach"
+
+#: src/view/screens/Moderation.tsx:136
+msgid "Logged-out visibility"
+msgstr "Feiceálacht le linn a bheith logáilte amach"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+msgid "Login to account that is not listed"
+msgstr "Logáil isteach ar chuntas nach bhfuil liostáilte"
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Make sure this is where you intend to go!"
+msgstr "Bí cinnte go bhfuil tú ag iarraidh cuairt a thabhairt ar an áit sin!"
+
+#: src/view/screens/Profile.tsx:182
+msgid "Media"
+msgstr "Meáin"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "úsáideoirí luaite"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "Úsáideoirí luaite"
+
+#: src/view/com/util/ViewHeader.tsx:81
+#: src/view/screens/Search/Search.tsx:623
+msgid "Menu"
+msgstr "Clár"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:197
+msgid "Message from server: {0}"
+msgstr "Teachtaireacht ón bhfreastalaí: {0}"
+
+#: src/Navigation.tsx:115
+#: src/view/screens/Moderation.tsx:64
+#: src/view/screens/Settings/index.tsx:625
+#: src/view/shell/desktop/LeftNav.tsx:397
+#: src/view/shell/Drawer.tsx:511
+#: src/view/shell/Drawer.tsx:512
+msgid "Moderation"
+msgstr "Modhnóireacht"
+
+#: src/view/com/lists/ListCard.tsx:92
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "Liosta modhnóireachta le {0}"
+
+#: src/view/screens/ProfileList.tsx:774
+msgid "Moderation list by <0/>"
+msgstr "Liosta modhnóireachta le <0/>"
+
+#: src/view/com/lists/ListCard.tsx:90
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:772
+msgid "Moderation list by you"
+msgstr "Liosta modhnóireachta leat"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "Moderation list created"
+msgstr "Liosta modhnóireachta cruthaithe"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "Moderation list updated"
+msgstr "Liosta modhnóireachta uasdátaithe"
+
+#: src/view/screens/Moderation.tsx:95
+msgid "Moderation lists"
+msgstr "Liostaí modhnóireachta"
+
+#: src/Navigation.tsx:120
+#: src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "Liostaí modhnóireachta"
+
+#: src/view/screens/Settings/index.tsx:619
+msgid "Moderation settings"
+msgstr "Socruithe modhnóireachta"
+
+#: src/view/com/modals/ModerationDetails.tsx:35
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "Chuir an modhnóir rabhadh ginearálta ar an ábhar."
+
+#: src/view/shell/desktop/Feeds.tsx:63
+msgid "More feeds"
+msgstr "Tuilleadh fothaí"
+
+#: src/view/com/profile/ProfileHeader.tsx:522
+#: src/view/screens/ProfileFeed.tsx:362
+#: src/view/screens/ProfileList.tsx:616
+msgid "More options"
+msgstr "Tuilleadh roghanna"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:270
+msgid "More post options"
+msgstr "Tuilleadh roghanna postála"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "Freagraí a fuair an méid is mó moltaí ar dtús"
+
+#: src/view/com/profile/ProfileHeader.tsx:326
+msgid "Mute Account"
+msgstr "Cuir an cuntas i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:543
+msgid "Mute accounts"
+msgstr "Cuir na cuntais i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:490
+msgid "Mute list"
+msgstr "Cuir an liosta i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:274
+msgid "Mute these accounts?"
+msgstr "An bhfuil fonn ort na cuntais seo a chur i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:278
+msgid "Mute this List"
+msgstr "Cuir an liosta seo i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:171
+msgid "Mute thread"
+msgstr "Cuir an snáithe seo i bhfolach"
+
+#: src/view/com/lists/ListCard.tsx:101
+msgid "Muted"
+msgstr "Curtha i bhfolach"
+
+#: src/view/screens/Moderation.tsx:109
+msgid "Muted accounts"
+msgstr "Cuntais a cuireadh i bhfolach"
+
+#: src/Navigation.tsx:125
+#: src/view/screens/ModerationMutedAccounts.tsx:107
+msgid "Muted Accounts"
+msgstr "Cuntais a Cuireadh i bhFolach"
+
+#: 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 "Baintear na postálacha ó na cuntais a chuir tú i bhfolach as d’fhotha agus as do chuid fógraí. Is príobháideach ar fad é an cur i bhfolach."
+
+#: 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 "Tá an cur i bhfolach príobháideach. Is féidir leis na cuntais a chuir tú i bhfolach do chuid postálacha a fheiceáil agus is féidir leo scríobh chugat ach ní fheicfidh tú a gcuid postálacha eile ná aon fhógraí uathu."
+
+#: src/view/com/modals/BirthDateSettings.tsx:56
+msgid "My Birthday"
+msgstr "Mo Bhreithlá"
+
+#: src/view/screens/Feeds.tsx:663
+msgid "My Feeds"
+msgstr "Mo Chuid Fothaí"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "Mo Phróifíl"
+
+#: src/view/screens/Settings/index.tsx:582
+msgid "My Saved Feeds"
+msgstr "Na Fothaí a Shábháil Mé"
+
+#: src/view/com/auth/server-input/index.tsx:118
+msgid "my-server.com"
+msgstr "my-server.com"
+
+#~ msgid "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+#~ msgstr "Cuir an comhrá seo i bhfolach"
+
+#: src/view/com/modals/AddAppPasswords.tsx:179
+#: src/view/com/modals/CreateOrEditList.tsx:290
+msgid "Name"
+msgstr "Ainm"
+
+#: src/view/com/modals/CreateOrEditList.tsx:145
+msgid "Name is required"
+msgstr "Tá an t-ainm riachtanach"
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "Nádúr"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
+#: src/view/com/auth/login/LoginForm.tsx:289
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
+#: src/view/com/modals/ChangePassword.tsx:166
+msgid "Navigates to the next screen"
+msgstr "Téann sé seo chuig an gcéad scáileán eile"
+
+#: src/view/shell/Drawer.tsx:71
+msgid "Navigates to your profile"
+msgstr "Téann sé seo chuig do phróifíl"
+
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+msgid "Never load embeds from {0}"
+msgstr "Ná lódáil ábhar leabaithe ó {0} go deo"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+msgid "Never lose access to your followers and data."
+msgstr "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Never lose access to your followers or data."
+msgstr "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "Nua"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "Nua"
+
+#: src/view/com/modals/CreateOrEditList.tsx:252
+msgid "New Moderation List"
+msgstr "Liosta modhnóireachta nua"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+msgid "New password"
+msgstr "Pasfhocal Nua"
+
+#: src/view/com/modals/ChangePassword.tsx:215
+msgid "New Password"
+msgstr "Pasfhocal Nua"
+
+#: src/view/com/feeds/FeedPage.tsx:192
+msgctxt "action"
+msgid "New post"
+msgstr "Postáil nua"
+
+#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Notifications.tsx:168
+#: src/view/screens/Profile.tsx:382
+#: src/view/screens/ProfileFeed.tsx:432
+#: src/view/screens/ProfileList.tsx:195
+#: src/view/screens/ProfileList.tsx:223
+#: src/view/shell/desktop/LeftNav.tsx:248
+msgid "New post"
+msgstr "Postáil nua"
+
+#: src/view/shell/desktop/LeftNav.tsx:258
+msgctxt "action"
+msgid "New Post"
+msgstr "Postáil nua"
+
+#: src/view/com/modals/CreateOrEditList.tsx:247
+msgid "New User List"
+msgstr "Liosta Nua d’Úsáideoirí"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "Na freagraí is déanaí ar dtús"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "Nuacht"
+
+#: src/view/com/auth/create/CreateAccount.tsx:168
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
+#: src/view/com/auth/login/LoginForm.tsx:291
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: src/view/com/modals/ChangePassword.tsx:251
+#: src/view/com/modals/ChangePassword.tsx:253
+msgid "Next"
+msgstr "Ar aghaidh"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "Ar aghaidh"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:149
+msgid "Next image"
+msgstr "An chéad íomhá eile"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:129
+#: src/view/screens/PreferencesHomeFeed.tsx:200
+#: src/view/screens/PreferencesHomeFeed.tsx:235
+#: src/view/screens/PreferencesHomeFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "Níl"
+
+#: src/view/screens/ProfileFeed.tsx:584
+#: src/view/screens/ProfileList.tsx:754
+msgid "No description"
+msgstr "Gan chur síos"
+
+#: src/view/com/profile/ProfileHeader.tsx:169
+msgid "No longer following {0}"
+msgstr "Ní leantar {0} níos mó"
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "Níl aon fhógra ann fós!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+msgid "No result"
+msgstr "Gan torthaí"
+
+#: src/view/screens/Feeds.tsx:495
+msgid "No results found for \"{query}\""
+msgstr "Gan torthaí ar “{query}”"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:280
+#: src/view/screens/Search/Search.tsx:308
+msgid "No results found for {query}"
+msgstr "Gan torthaí ar {query}"
+
+#: src/view/com/modals/EmbedConsent.tsx:129
+msgid "No thanks"
+msgstr "Níor mhaith liom é sin."
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "Duine ar bith"
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "Ní bhaineann sé sin le hábhar."
+
+#: src/Navigation.tsx:105
+#: src/view/screens/Profile.tsx:106
+msgid "Not Found"
+msgstr "Ní bhfuarthas é sin"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "Ní anois"
+
+#: src/view/screens/Moderation.tsx:233
+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 "Nod leat: is gréasán oscailte poiblí Bluesky. Ní chuireann an socrú seo srian ar fheiceálacht do chuid ábhair ach amháin ar aip agus suíomh Bluesky. Is féidir nach gcloífidh aipeanna eile leis an socrú seo. Is féidir go dtaispeánfar do chuid ábhair d’úsáideoirí atá lógáilte amach ar aipeanna agus suíomhanna eile."
+
+#: src/Navigation.tsx:447
+#: src/view/screens/Notifications.tsx:124
+#: src/view/screens/Notifications.tsx:148
+#: src/view/shell/bottom-bar/BottomBar.tsx:205
+#: src/view/shell/desktop/LeftNav.tsx:361
+#: src/view/shell/Drawer.tsx:435
+#: src/view/shell/Drawer.tsx:436
+msgid "Notifications"
+msgstr "Fógraí"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "Lomnochtacht"
+
+#: src/view/com/util/ErrorBoundary.tsx:35
+msgid "Oh no!"
+msgstr "Úps!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:128
+msgid "Oh no! Something went wrong."
+msgstr "Úps! Theip ar rud éigin."
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+msgid "Okay"
+msgstr "Maith go leor"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "Na freagraí is sine ar dtús"
+
+#: src/view/screens/Settings/index.tsx:234
+msgid "Onboarding reset"
+msgstr "Atosú an chláraithe"
+
+#: src/view/com/composer/Composer.tsx:375
+msgid "One or more images is missing alt text."
+msgstr "Tá téacs malartach de dhíth ar íomhá amháin nó níos mó acu."
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "Ní féidir ach le {0} freagra a thabhairt."
+
+#: src/view/screens/AppPasswords.tsx:65
+#: src/view/screens/Profile.tsx:106
+msgid "Oops!"
+msgstr "Úps!"
+
+#: src/screens/Onboarding/StepFinished.tsx:115
+msgid "Open"
+msgstr "Oscail"
+
+#: src/view/com/composer/Composer.tsx:470
+#: src/view/com/composer/Composer.tsx:471
+msgid "Open emoji picker"
+msgstr "Oscail roghnóir na n-emoji"
+
+#: src/view/screens/Settings/index.tsx:712
+msgid "Open links with in-app browser"
+msgstr "Oscail nascanna leis an mbrabhsálaí san aip"
+
+#: src/view/com/pager/FeedsTabBarMobile.tsx:87
+msgid "Open navigation"
+msgstr "Oscail an nascleanúint"
+
+#: src/view/screens/Settings/index.tsx:804
+msgid "Open storybook page"
+msgstr "Oscail leathanach an Storybook"
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "Osclaíonn sé seo {numItems} rogha"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "Osclaíonn sé seo tuilleadh sonraí le haghaidh iontráil dífhabhtaithe"
+
+#: src/view/com/notifications/FeedItem.tsx:348
+msgid "Opens an expanded list of users in this notification"
+msgstr "Osclaíonn sé seo liosta méadaithe d’úsáideoirí san fhógra seo"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+msgid "Opens camera on device"
+msgstr "Osclaíonn sé seo an ceamara ar an ngléas"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "Osclaíonn sé seo an t-eagarthóir"
+
+#: src/view/screens/Settings/index.tsx:595
+msgid "Opens configurable language settings"
+msgstr "Osclaíonn sé seo na socruithe teanga is féidir a dhéanamh"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "Osclaíonn sé seo gailearaí na ngrianghraf ar an ngléas"
+
+#: src/view/com/profile/ProfileHeader.tsx:419
+msgid "Opens editor for profile display name, avatar, background image, and description"
+msgstr "Osclaíonn sé seo an t-eagarthóir le haghaidh gach a bhfuil i do phróifíl: an t-ainm, an t-abhatár, an íomhá sa chúlra, agus an cur síos."
+
+#: src/view/screens/Settings/index.tsx:649
+msgid "Opens external embeds settings"
+msgstr "Osclaíonn sé seo na socruithe le haghaidh leabuithe seachtracha"
+
+#: src/view/com/profile/ProfileHeader.tsx:574
+msgid "Opens followers list"
+msgstr "Osclaíonn sé seo liosta na leantóirí"
+
+#: src/view/com/profile/ProfileHeader.tsx:593
+msgid "Opens following list"
+msgstr "Osclaíonn sé seo liosta na ndaoine a leanann tú"
+
+#: src/view/screens/Settings.tsx:412
+#~ msgid "Opens invite code list"
+#~ msgstr "Osclaíonn sé seo liosta na gcód cuiridh"
+
+#: src/view/com/modals/InviteCodes.tsx:172
+msgid "Opens list of invite codes"
+msgstr "Osclaíonn sé seo liosta na gcód cuiridh"
+
+#: src/view/screens/Settings/index.tsx:774
+msgid "Opens modal for account deletion confirmation. Requires email code."
+msgstr "Osclaíonn sé seo an fhuinneog le scriosadh an chuntais a dhearbhú. Tá cód ríomhphoist riachtanach."
+
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Opens modal for using custom domain"
+msgstr "Osclaíonn sé seo an fhuinneog le sainfhearann a úsáid"
+
+#: src/view/screens/Settings/index.tsx:620
+msgid "Opens moderation settings"
+msgstr "Osclaíonn sé seo socruithe na modhnóireachta"
+
+#: src/view/com/auth/login/LoginForm.tsx:239
+msgid "Opens password reset form"
+msgstr "Osclaíonn sé seo an fhoirm leis an bpasfhocal a athrú"
+
+#: src/view/screens/Feeds.tsx:356
+msgid "Opens screen to edit Saved Feeds"
+msgstr "Osclaíonn sé seo an scáileán leis na fothaí sábháilte a athrú"
+
+#: src/view/screens/Settings/index.tsx:576
+msgid "Opens screen with all saved feeds"
+msgstr "Osclaíonn sé seo an scáileán leis na fothaí sábháilte go léir"
+
+#: src/view/screens/Settings/index.tsx:676
+msgid "Opens the app password settings page"
+msgstr "Osclaíonn sé seo an leathanach a bhfuil socruithe phasfhocal na haipe air"
+
+#: src/view/screens/Settings/index.tsx:535
+msgid "Opens the home feed preferences"
+msgstr "Osclaíonn sé seo roghanna fhotha an bhaile"
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Opens the storybook page"
+msgstr "Osclaíonn sé seo leathanach an Storybook"
+
+#: src/view/screens/Settings/index.tsx:793
+msgid "Opens the system log page"
+msgstr "Osclaíonn sé seo logleabhar an chórais"
+
+#: src/view/screens/Settings/index.tsx:556
+msgid "Opens the threads preferences"
+msgstr "Osclaíonn sé seo roghanna na snáitheanna"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "Rogha {0} as {numItems}"
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "Nó cuir na roghanna seo le chéile:"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+msgid "Other account"
+msgstr "Cuntas eile"
+
+#: src/view/com/modals/ServerInput.tsx:88
+#~ msgid "Other service"
+#~ msgstr "Seirbhís eile"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "Eile…"
+
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "Leathanach gan aimsiú"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "Leathanach gan aimsiú"
+
+#: src/view/com/auth/create/Step1.tsx:214
+#: src/view/com/auth/create/Step1.tsx:224
+#: src/view/com/auth/login/LoginForm.tsx:226
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Password"
+msgstr "Pasfhocal"
+
+#: src/view/com/auth/login/Login.tsx:157
+msgid "Password updated"
+msgstr "Pasfhocal uasdátaithe"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+msgid "Password updated!"
+msgstr "Pasfhocal uasdátaithe!"
+
+#: src/Navigation.tsx:160
+msgid "People followed by @{0}"
+msgstr "Na daoine atá leanta ag @{0}"
+
+#: src/Navigation.tsx:153
+msgid "People following @{0}"
+msgstr "Na leantóirí atá ag @{0}"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "Tá cead de dhíth le rolla an cheamara a oscailt."
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "Ní bhfuarthas cead le rolla an cheamara a oscailt. Athraigh socruithe an chórais len é seo a chur ar fáil, le do thoil."
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "Peataí"
+
+#: src/view/com/auth/create/Step2.tsx:183
+#~ msgid "Phone number"
+#~ msgstr "Uimhir ghutháin"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "Pictiúir le haghaidh daoine fásta."
+
+#: src/view/screens/ProfileFeed.tsx:353
+#: src/view/screens/ProfileList.tsx:580
+msgid "Pin to home"
+msgstr "Greamaigh le baile"
+
+#: src/view/screens/SavedFeeds.tsx:88
+msgid "Pinned Feeds"
+msgstr "Fothaí greamaithe"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+msgid "Play {0}"
+msgstr "Seinn {0}"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+msgid "Play Video"
+msgstr "Seinn an físeán"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+msgid "Plays the GIF"
+msgstr "Seinneann sé seo an GIF"
+
+#: src/view/com/auth/create/state.ts:124
+msgid "Please choose your handle."
+msgstr "Roghnaigh do leasainm, le do thoil."
+
+#: src/view/com/auth/create/state.ts:117
+msgid "Please choose your password."
+msgstr "Roghnaigh do phasfhocal, le do thoil."
+
+#: src/view/com/auth/create/state.ts:131
+msgid "Please complete the verification captcha."
+msgstr "Déan an captcha, le do thoil."
+
+#: 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 "Dearbhaigh do ríomhphost roimh é a athrú. Riachtanas sealadach é seo le linn dúinn acmhainní a chur isteach le haghaidh uasdátú an ríomhphoist. Scriosfar é seo roimh i bhfad."
+
+#: src/view/com/modals/AddAppPasswords.tsx:90
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "Cuir isteach ainm le haghaidh phasfhocal na haipe, le do thoil. Ní cheadaítear spásanna gan aon rud eile ann."
+
+#: src/view/com/auth/create/Step2.tsx:206
+#~ msgid "Please enter a phone number that can receive SMS text messages."
+#~ msgstr "Cuir isteach uimhir ghutháin atá in ann teachtaireachtaí SMS a fháil, le do thoil."
+
+#: src/view/com/modals/AddAppPasswords.tsx:145
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "Cuir isteach ainm nach bhfuil in úsáid cheana féin le haghaidh Phasfhocal na hAipe nó bain úsáid as an gceann a chruthóidh muid go randamach."
+
+#: src/view/com/auth/create/state.ts:170
+#~ msgid "Please enter the code you received by SMS."
+#~ msgstr "Cuir isteach an cód a fuair tú trí SMS, le do thoil."
+
+#: src/view/com/auth/create/Step2.tsx:282
+#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
+#~ msgstr "Cuir isteach an cód dearbhaithe a cuireadh chuig {phoneNumberFormatted}, le do thoil."
+
+#: src/view/com/auth/create/state.ts:103
+msgid "Please enter your email."
+msgstr "Cuir isteach do sheoladh ríomhphoist, le do thoil."
+
+#: src/view/com/modals/DeleteAccount.tsx:191
+msgid "Please enter your password as well:"
+msgstr "Cuir isteach do phasfhocal freisin, le do thoil."
+
+#: 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 "Abair linn, le do thoil, cén fáth a gcreideann tú gur cuireadh an rabhadh ábhair seo i bhfeidhm go mícheart."
+
+#: 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 "Abair linn, le do thoil, cén fáth a gcreideann tú go bhfuil an cinneadh seo mícheart."
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "Dearbhaigh do ríomhphost, le do thoil."
+
+#: src/view/com/composer/Composer.tsx:215
+msgid "Please wait for your link card to finish loading"
+msgstr "Fan le lódáil ar fad do chárta naisc, le do thoil."
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "Polaitíocht"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "Pornagrafaíocht"
+
+#: src/view/com/composer/Composer.tsx:350
+#: src/view/com/composer/Composer.tsx:358
+msgctxt "action"
+msgid "Post"
+msgstr "Postáil"
+
+#: src/view/com/post-thread/PostThread.tsx:303
+msgctxt "description"
+msgid "Post"
+msgstr "Postáil"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:172
+msgid "Post by {0}"
+msgstr "Postáil ó {0}"
+
+#: src/Navigation.tsx:172
+#: src/Navigation.tsx:179
+#: src/Navigation.tsx:186
+msgid "Post by @{0}"
+msgstr "Postáil ó @{0}"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:84
+msgid "Post deleted"
+msgstr "Scriosadh an phostáil"
+
+#: src/view/com/post-thread/PostThread.tsx:461
+msgid "Post hidden"
+msgstr "Cuireadh an phostáil i bhfolach"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "Teanga postála"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "Teangacha postála"
+
+#: src/view/com/post-thread/PostThread.tsx:513
+msgid "Post not found"
+msgstr "Ní bhfuarthas an phostáil"
+
+#: src/view/screens/Profile.tsx:180
+msgid "Posts"
+msgstr "Postálacha"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "Cuireadh na postálacha i bhfolach"
+
+#: src/view/com/modals/LinkWarning.tsx:46
+msgid "Potentially Misleading Link"
+msgstr "Is féidir go bhfuil an nasc seo míthreorach."
+
+#: src/view/com/lightbox/Lightbox.web.tsx:135
+msgid "Previous image"
+msgstr "An íomhá roimhe seo"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "Príomhtheanga"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "Tabhair Tosaíocht do Do Chuid Leantóirí"
+
+#: src/view/screens/Settings/index.tsx:632
+#: src/view/shell/desktop/RightNav.tsx:72
+msgid "Privacy"
+msgstr "Príobháideacht"
+
+#: src/Navigation.tsx:217
+#: src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings/index.tsx:891
+#: src/view/shell/Drawer.tsx:262
+msgid "Privacy Policy"
+msgstr "Polasaí príobháideachta"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+msgid "Processing..."
+msgstr "Á phróiseáil..."
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:247
+#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:546
+#: src/view/shell/Drawer.tsx:547
+msgid "Profile"
+msgstr "Próifíl"
+
+#: src/view/com/modals/EditProfile.tsx:128
+msgid "Profile updated"
+msgstr "Próifíl uasdátaithe"
+
+#: src/view/screens/Settings/index.tsx:949
+msgid "Protect your account by verifying your email."
+msgstr "Dearbhaigh do ríomhphost le do chuntas a chosaint."
+
+#: src/screens/Onboarding/StepFinished.tsx:101
+msgid "Public"
+msgstr "Poiblí"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "Liostaí poiblí agus inroinnte d’úsáideoirí le cur i bhfolach nó le blocáil ar an mórchóir"
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "Liostaí poiblí agus inroinnte atá in ann fothaí a bheathú"
+
+#: src/view/com/composer/Composer.tsx:335
+msgid "Publish post"
+msgstr "Foilsigh an phostáil"
+
+#: src/view/com/composer/Composer.tsx:335
+msgid "Publish reply"
+msgstr "Foilsigh an freagra"
+
+#: src/view/com/modals/Repost.tsx:65
+msgctxt "action"
+msgid "Quote post"
+msgstr "Luaigh an phostáil seo"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "Postáil athluaite"
+
+#: src/view/com/modals/Repost.tsx:70
+msgctxt "action"
+msgid "Quote Post"
+msgstr "Luaigh an phostáil seo"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "Randamach"
+
+#: src/view/com/modals/EditImage.tsx:236
+msgid "Ratios"
+msgstr "Cóimheasa"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+msgid "Recommended Feeds"
+msgstr "Fothaí molta"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+msgid "Recommended Users"
+msgstr "Cuntais mholta"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/util/UserAvatar.tsx:285
+#: src/view/com/util/UserBanner.tsx:91
+msgid "Remove"
+msgstr "Scrios"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:106
+msgid "Remove {0} from my feeds?"
+msgstr "An bhfuil fonn ort {0} a bhaint de do chuid fothaí?"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "Bain an cuntas de"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:131
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "Remove feed"
+msgstr "Bain an fotha de"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:105
+#: src/view/com/feeds/FeedSourceCard.tsx:167
+#: src/view/com/feeds/FeedSourceCard.tsx:172
+#: src/view/com/feeds/FeedSourceCard.tsx:243
+#: src/view/screens/ProfileFeed.tsx:272
+msgid "Remove from my feeds"
+msgstr "Bain de mo chuid fothaí"
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "Bain an íomhá de"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "Bain réamhléiriú den íomhá"
+
+#: src/view/com/modals/Repost.tsx:47
+msgid "Remove repost"
+msgstr "Scrios an athphostáil"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+msgid "Remove this feed from my feeds?"
+msgstr "An bhfuil fonn ort an fotha seo a bhaint de do chuid fothaí?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:132
+msgid "Remove this feed from your saved feeds?"
+msgstr "An bhfuil fonn ort an fotha seo a bhaint de do chuid fothaí sábháilte?"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "Baineadh den liosta é"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:111
+#: src/view/com/feeds/FeedSourceCard.tsx:178
+msgid "Removed from my feeds"
+msgstr "Baineadh de do chuid fothaí é"
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "Baineann sé seo an mhionsamhail réamhshocraithe de {0}"
+
+#: src/view/screens/Profile.tsx:181
+msgid "Replies"
+msgstr "Freagraí"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "Ní féidir freagraí a thabhairt ar an gcomhrá seo"
+
+#: src/view/com/composer/Composer.tsx:348
+msgctxt "action"
+msgid "Reply"
+msgstr "Freagair"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:144
+msgid "Reply Filters"
+msgstr "Scagairí freagra"
+
+#: src/view/com/post/Post.tsx:166
+#: src/view/com/posts/FeedItem.tsx:284
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "Freagra ar <0/>"
+
+#: src/view/com/modals/report/Modal.tsx:166
+msgid "Report {collectionName}"
+msgstr "Déan gearán faoi {collectionName}"
+
+#: src/view/com/profile/ProfileHeader.tsx:360
+msgid "Report Account"
+msgstr "Déan gearán faoi chuntas"
+
+#: src/view/screens/ProfileFeed.tsx:292
+msgid "Report feed"
+msgstr "Déan gearán faoi fhotha"
+
+#: src/view/screens/ProfileList.tsx:458
+msgid "Report List"
+msgstr "Déan gearán faoi liosta"
+
+#: src/view/com/modals/report/SendReportButton.tsx:37
+#: src/view/com/util/forms/PostDropdownBtn.tsx:210
+msgid "Report post"
+msgstr "Déan gearán faoi phostáil"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:48
+#: src/view/com/modals/Repost.tsx:53
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "Athphostáil"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "Athphostáil"
+
+#: 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 "Athphostáil nó luaigh postáil"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "Athphostáilte ag"
+
+#: src/view/com/posts/FeedItem.tsx:204
+msgid "Reposted by {0}"
+msgstr "Athphostáilte ag {0}"
+
+#: src/view/com/posts/FeedItem.tsx:221
+msgid "Reposted by <0/>"
+msgstr "Athphostáilte ag <0/>"
+
+#: src/view/com/notifications/FeedItem.tsx:162
+msgid "reposted your post"
+msgstr "— d'athphostáil sé/sí do phostáil"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:185
+msgid "Reposts of this post"
+msgstr "Athphostálacha den phostáil seo"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "Iarr Athrú"
+
+#: src/view/com/auth/create/Step2.tsx:219
+#~ msgid "Request code"
+#~ msgstr "Iarr cód"
+
+#: src/view/com/modals/ChangePassword.tsx:239
+#: src/view/com/modals/ChangePassword.tsx:241
+msgid "Request Code"
+msgstr "Iarr Cód"
+
+#: src/view/screens/Settings/index.tsx:456
+msgid "Require alt text before posting"
+msgstr "Bíodh téacs malartach ann roimh phostáil i gcónaí"
+
+#: src/view/com/auth/create/Step1.tsx:153
+msgid "Required for this provider"
+msgstr "Riachtanach don soláthraí seo"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+msgid "Reset code"
+msgstr "Cód athshocraithe"
+
+#: src/view/com/modals/ChangePassword.tsx:190
+msgid "Reset Code"
+msgstr "Cód Athshocraithe"
+
+#: src/view/screens/Settings/index.tsx:824
+msgid "Reset onboarding"
+msgstr "Athshocraigh an próiseas cláraithe"
+
+#: src/view/screens/Settings/index.tsx:827
+msgid "Reset onboarding state"
+msgstr "Athshocraigh an próiseas cláraithe"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+msgid "Reset password"
+msgstr "Athshocraigh an pasfhocal"
+
+#: src/view/screens/Settings/index.tsx:814
+msgid "Reset preferences"
+msgstr "Athshocraigh na roghanna"
+
+#: src/view/screens/Settings/index.tsx:817
+msgid "Reset preferences state"
+msgstr "Athshocraigh na roghanna"
+
+#: src/view/screens/Settings/index.tsx:825
+msgid "Resets the onboarding state"
+msgstr "Athshocraíonn sé seo an clárú"
+
+#: src/view/screens/Settings/index.tsx:815
+msgid "Resets the preferences state"
+msgstr "Athshocraíonn sé seo na roghanna"
+
+#: src/view/com/auth/login/LoginForm.tsx:269
+msgid "Retries login"
+msgstr "Baineann sé seo triail eile as an logáil isteach"
+
+#: src/view/com/util/error/ErrorMessage.tsx:57
+#: src/view/com/util/error/ErrorScreen.tsx:74
+msgid "Retries the last action, which errored out"
+msgstr "Baineann sé seo triail eile as an ngníomh is déanaí, ar theip air"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:221
+#: src/screens/Onboarding/StepInterests/index.tsx:224
+#: src/view/com/auth/create/CreateAccount.tsx:177
+#: src/view/com/auth/create/CreateAccount.tsx:182
+#: src/view/com/auth/login/LoginForm.tsx:268
+#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:72
+msgid "Retry"
+msgstr "Bain triail eile as"
+
+#: src/view/com/auth/create/Step2.tsx:247
+#~ msgid "Retry."
+#~ msgstr "Bain triail eile as."
+
+#: src/view/screens/ProfileList.tsx:898
+msgid "Return to previous page"
+msgstr "Fill ar an leathanach roimhe seo"
+
+#: src/view/shell/desktop/RightNav.tsx:55
+#~ msgid "SANDBOX. Posts and accounts are not permanent."
+#~ msgstr "BOSCA GAINIMH. Ní choinneofar póstálacha ná cuntais."
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:345
+msgctxt "action"
+msgid "Save"
+msgstr "Sábháil"
+
+#: src/view/com/modals/BirthDateSettings.tsx:94
+#: src/view/com/modals/BirthDateSettings.tsx:97
+#: src/view/com/modals/ChangeHandle.tsx:173
+#: src/view/com/modals/CreateOrEditList.tsx:337
+#: src/view/com/modals/EditProfile.tsx:224
+#: src/view/screens/ProfileFeed.tsx:345
+msgid "Save"
+msgstr "Sábháil"
+
+#: src/view/com/modals/AltImage.tsx:130
+msgid "Save alt text"
+msgstr "Sábháil an téacs malartach"
+
+#: src/view/com/modals/EditProfile.tsx:232
+msgid "Save Changes"
+msgstr "Sábháil na hathruithe"
+
+#: src/view/com/modals/ChangeHandle.tsx:170
+msgid "Save handle change"
+msgstr "Sábháil an leasainm nua"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+msgid "Save image crop"
+msgstr "Sábháil an pictiúr bearrtha"
+
+#: src/view/screens/SavedFeeds.tsx:122
+msgid "Saved Feeds"
+msgstr "Fothaí Sábháilte"
+
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Saves any changes to your profile"
+msgstr "Sábhálann sé seo na hathruithe a rinne tú ar do phróifíl"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Saves handle change to {handle}"
+msgstr "Sábhálann sé seo athrú an leasainm go {handle}"
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "Eolaíocht"
+
+#: src/view/screens/ProfileList.tsx:854
+msgid "Scroll to top"
+msgstr "Fill ar an mbarr"
+
+#: src/Navigation.tsx:437
+#: src/view/com/auth/LoggedOut.tsx:122
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:67
+#: src/view/com/util/forms/SearchInput.tsx:79
+#: src/view/screens/Search/Search.tsx:418
+#: src/view/screens/Search/Search.tsx:645
+#: src/view/screens/Search/Search.tsx:663
+#: src/view/shell/bottom-bar/BottomBar.tsx:159
+#: src/view/shell/desktop/LeftNav.tsx:324
+#: src/view/shell/desktop/Search.tsx:214
+#: src/view/shell/desktop/Search.tsx:223
+#: src/view/shell/Drawer.tsx:362
+#: src/view/shell/Drawer.tsx:363
+msgid "Search"
+msgstr "Cuardaigh"
+
+#: src/view/screens/Search/Search.tsx:712
+#: src/view/shell/desktop/Search.tsx:255
+msgid "Search for \"{query}\""
+msgstr "Déan cuardach ar “{query}”"
+
+#: 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 "Cuardaigh úsáideoirí"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "Céim Slándála de dhíth"
+
+#: src/view/screens/SavedFeeds.tsx:163
+msgid "See this guide"
+msgstr "Féach ar an treoirleabhar seo"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
+msgid "See what's next"
+msgstr "Féach an chéad rud eile"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "Roghnaigh {item}"
+
+#: src/view/com/modals/ServerInput.tsx:75
+#~ msgid "Select Bluesky Social"
+#~ msgstr "Roghnaigh Bluesky Social"
+
+#: src/view/com/auth/login/Login.tsx:117
+msgid "Select from an existing account"
+msgstr "Roghnaigh ó chuntas atá ann"
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "Roghnaigh rogha {i} as {numItems}"
+
+#: src/view/com/auth/create/Step1.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:150
+msgid "Select service"
+msgstr "Roghnaigh seirbhís"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "Roghnaigh cúpla cuntas le leanúint"
+
+#: src/view/com/auth/server-input/index.tsx:82
+msgid "Select the service that hosts your data."
+msgstr "Roghnaigh an tseirbhís a óstálann do chuid sonraí."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:49
+#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
+#~ msgstr "Roghnaigh na rudaí ba mhaith leat a fheiceáil (nó gan a fheiceáil), agus leanfaimid ar aghaidh as sin."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:90
+msgid "Select topical feeds to follow from the list below"
+msgstr "Roghnaigh fothaí le leanúint ón liosta thíos"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:75
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "Roghnaigh na rudaí ba mhaith leat a fheiceáil (nó gan a fheiceáil), agus leanfaimid ar aghaidh as sin"
+
+#: 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 "Roghnaigh na teangacha ba mhaith leat a fheiceáil i do chuid fothaí. Mura roghnaíonn tú, taispeánfar ábhar i ngach teanga duit."
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app"
+msgstr "Roghnaigh teanga na roghchlár a fheicfidh tú san aip"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:196
+msgid "Select your interests from the options below"
+msgstr "Roghnaigh na rudaí a bhfuil suim agat iontu as na roghanna thíos"
+
+#: src/view/com/auth/create/Step2.tsx:155
+#~ msgid "Select your phone's country"
+#~ msgstr "Roghnaigh tír do ghutháin"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "Do rogha teanga nuair a dhéanfar aistriúchán ar ábhar i d'fhotha."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+msgid "Select your primary algorithmic feeds"
+msgstr "Roghnaigh do phríomhfhothaí algartamacha"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+msgid "Select your secondary algorithmic feeds"
+msgstr "Roghnaigh do chuid fothaí algartamacha tánaisteacha"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "Seol ríomhphost dearbhaithe"
+
+#: src/view/com/modals/DeleteAccount.tsx:131
+msgid "Send email"
+msgstr "Seol ríomhphost"
+
+#: src/view/com/modals/DeleteAccount.tsx:144
+msgctxt "action"
+msgid "Send Email"
+msgstr "Seol ríomhphost"
+
+#: src/view/shell/Drawer.tsx:295
+#: src/view/shell/Drawer.tsx:316
+msgid "Send feedback"
+msgstr "Seol aiseolas"
+
+#: src/view/com/modals/report/SendReportButton.tsx:45
+msgid "Send Report"
+msgstr "Seol an tuairisc"
+
+#: src/view/com/modals/DeleteAccount.tsx:133
+msgid "Sends email with confirmation code for account deletion"
+msgstr "Seolann sé seo ríomhphost ina bhfuil cód dearbhaithe chun an cuntas a scriosadh"
+
+#: src/view/com/auth/server-input/index.tsx:110
+msgid "Server address"
+msgstr "Seoladh an fhreastalaí"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:311
+msgid "Set {value} for {labelGroup} content moderation policy"
+msgstr "Socraigh {value} le haghaidh polasaí modhnóireachta {labelGroup}"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:160
+#: src/view/com/modals/ContentFilteringSettings.tsx:179
+msgctxt "action"
+msgid "Set Age"
+msgstr "Cén aois thú?"
+
+#: src/view/screens/Settings/index.tsx:488
+msgid "Set color theme to dark"
+msgstr "Roghnaigh an modh dorcha"
+
+#: src/view/screens/Settings/index.tsx:481
+msgid "Set color theme to light"
+msgstr "Roghnaigh an modh sorcha"
+
+#: src/view/screens/Settings/index.tsx:475
+msgid "Set color theme to system setting"
+msgstr "Úsáid scéim dathanna an chórais"
+
+#: src/view/screens/Settings/index.tsx:514
+msgid "Set dark theme to the dark theme"
+msgstr "Úsáid an téama dorcha mar théama dorcha"
+
+#: src/view/screens/Settings/index.tsx:507
+msgid "Set dark theme to the dim theme"
+msgstr "Úsáid an téama breacdhorcha mar théama dorcha"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+msgid "Set new password"
+msgstr "Socraigh pasfhocal nua"
+
+#: src/view/com/auth/create/Step1.tsx:225
+msgid "Set password"
+msgstr "Socraigh pasfhocal"
+
+#: 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 "Roghnaigh “Níl” chun postálacha athluaite a chur i bhfolach i d'fhotha. Feicfidh tú athphostálacha fós."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "Roghnaigh “Níl” chun freagraí a chur i bhfolach i d'fhotha."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "Roghnaigh “Níl” chun athphostálacha a chur i bhfolach i d'fhotha."
+
+#: 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 "Roghnaigh “Tá” le freagraí a thaispeáint i snáitheanna. Is gné thurgnamhach é seo."
+
+#: 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 "Roghnaigh “Tá” le samplaí ó do chuid fothaí sábháilte a thaispeáint in ”Á Leanúint”. Is gné thurgnamhach é seo."
+
+#: src/screens/Onboarding/Layout.tsx:50
+msgid "Set up your account"
+msgstr "Socraigh do chuntas"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Sets Bluesky username"
+msgstr "Socraíonn sé seo d'ainm úsáideora ar Bluesky"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+msgid "Sets email for password reset"
+msgstr "Socraíonn sé seo an seoladh ríomhphoist le haghaidh athshocrú an phasfhocail"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
+msgid "Sets hosting provider for password reset"
+msgstr "Socraíonn sé seo an soláthraí óstála le haghaidh athshocrú an phasfhocail"
+
+#: src/view/com/auth/create/Step1.tsx:104
+#: src/view/com/auth/login/LoginForm.tsx:151
+msgid "Sets server for the Bluesky client"
+msgstr "Socraíonn sé seo freastalaí an chliaint Bluesky"
+
+#: src/Navigation.tsx:135
+#: src/view/screens/Settings/index.tsx:294
+#: src/view/shell/desktop/LeftNav.tsx:433
+#: src/view/shell/Drawer.tsx:567
+#: src/view/shell/Drawer.tsx:568
+msgid "Settings"
+msgstr "Socruithe"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "Gníomhaíocht ghnéasach nó lomnochtacht gháirsiúil."
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "Comhroinn"
+
+#: src/view/com/profile/ProfileHeader.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+#: src/view/screens/ProfileList.tsx:417
+msgid "Share"
+msgstr "Comhroinn"
+
+#: src/view/screens/ProfileFeed.tsx:304
+msgid "Share feed"
+msgstr "Comhroinn an fotha"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
+#: src/view/com/modals/ContentFilteringSettings.tsx:266
+#: src/view/com/util/moderation/ContentHider.tsx:107
+#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/view/screens/Settings/index.tsx:344
+msgid "Show"
+msgstr "Taispeáin"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:68
+msgid "Show all replies"
+msgstr "Taispeáin gach freagra"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:132
+msgid "Show anyway"
+msgstr "Taispeáin mar sin féin"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+msgid "Show embeds from {0}"
+msgstr "Taispeáin ábhar leabaithe ó {0}"
+
+#: src/view/com/profile/ProfileHeader.tsx:458
+msgid "Show follows similar to {0}"
+msgstr "Taispeáin cuntais cosúil le {0}"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+#: src/view/com/post/Post.tsx:197
+#: src/view/com/posts/FeedItem.tsx:360
+msgid "Show More"
+msgstr "Tuilleadh"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "Taispeáin postálacha ó mo chuid fothaí"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "Taispeáin postálacha athluaite"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+msgid "Show quote-posts in Following feed"
+msgstr "Taispeáin postálacha athluaite san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+msgid "Show quotes in Following"
+msgstr "Taispeáin postálacha athluaite san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+msgid "Show re-posts in Following feed"
+msgstr "Taispeáin athphostálacha san fhotha “Á Leanúint”"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:119
+msgid "Show Replies"
+msgstr "Taispeáin freagraí"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "Taispeáin freagraí ó na daoine a leanann tú roimh aon fhreagra eile."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+msgid "Show replies in Following"
+msgstr "Taispeáin freagraí san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+msgid "Show replies in Following feed"
+msgstr "Taispeáin freagraí san fhotha “Á Leanúint”"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "Taispeáin freagraí a bhfuil ar a laghad {value} {0} acu"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:188
+msgid "Show Reposts"
+msgstr "Taispeáin athphostálacha"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+msgid "Show reposts in Following"
+msgstr "Taispeáin athphostálacha san fhotha “Á Leanúint”"
+
+#: src/view/com/util/moderation/ContentHider.tsx:67
+#: src/view/com/util/moderation/PostHider.tsx:61
+msgid "Show the content"
+msgstr "Taispeáin an t-ábhar"
+
+#: src/view/com/notifications/FeedItem.tsx:346
+msgid "Show users"
+msgstr "Taispeáin úsáideoirí"
+
+#: src/view/com/profile/ProfileHeader.tsx:461
+msgid "Shows a list of users similar to this user."
+msgstr "Taispeánann sé seo liosta úsáideoirí cosúil leis an úsáideoir seo."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
+#: src/view/com/profile/ProfileHeader.tsx:505
+msgid "Shows posts from {0} in your feed"
+msgstr "Taispeánann sé seo postálacha ó {0} i d'fhotha"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
+#: src/view/com/auth/login/Login.tsx:98
+#: src/view/com/auth/SplashScreen.tsx:79
+#: src/view/shell/bottom-bar/BottomBar.tsx:285
+#: src/view/shell/bottom-bar/BottomBar.tsx:286
+#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:58
+#: src/view/shell/NavSignupCard.tsx:59
+msgid "Sign in"
+msgstr "Logáil isteach"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
+#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/SplashScreen.web.tsx:91
+msgid "Sign In"
+msgstr "Logáil isteach"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+msgid "Sign in as {0}"
+msgstr "Logáil isteach mar {0}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:118
+#: src/view/com/auth/login/Login.tsx:116
+msgid "Sign in as..."
+msgstr "Logáil isteach mar..."
+
+#: src/view/com/auth/login/LoginForm.tsx:137
+msgid "Sign into"
+msgstr "Logáil isteach i"
+
+#: src/view/com/modals/SwitchAccount.tsx:64
+#: src/view/com/modals/SwitchAccount.tsx:69
+#: src/view/screens/Settings/index.tsx:100
+#: src/view/screens/Settings/index.tsx:103
+msgid "Sign out"
+msgstr "Logáil amach"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:275
+#: src/view/shell/bottom-bar/BottomBar.tsx:276
+#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:49
+#: src/view/shell/NavSignupCard.tsx:50
+#: src/view/shell/NavSignupCard.tsx:52
+msgid "Sign up"
+msgstr "Cláraigh"
+
+#: src/view/shell/NavSignupCard.tsx:42
+msgid "Sign up or sign in to join the conversation"
+msgstr "Cláraigh nó logáil isteach chun páirt a ghlacadh sa chomhrá"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:76
+msgid "Sign-in Required"
+msgstr "Caithfidh tú logáil isteach"
+
+#: src/view/screens/Settings/index.tsx:355
+msgid "Signed in as"
+msgstr "Logáilte isteach mar"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+msgid "Signed in as @{0}"
+msgstr "Logáilte isteach mar @{0}"
+
+#: src/view/com/modals/SwitchAccount.tsx:66
+msgid "Signs {0} out of Bluesky"
+msgstr "Logálann sé seo {0} amach as Bluesky"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:235
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+msgid "Skip"
+msgstr "Ná bac leis"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:232
+msgid "Skip this flow"
+msgstr "Ná bac leis an bpróiseas seo"
+
+#: src/view/com/auth/create/Step2.tsx:82
+#~ msgid "SMS verification"
+#~ msgstr "Dearbhú SMS"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "Forbairt Bogearraí"
+
+#: src/view/com/modals/ProfilePreview.tsx:62
+#~ msgid "Something went wrong and we're not sure what."
+#~ msgstr "Chuaigh rud éigin ó rath, agus nílimid cinnte céard a bhí ann."
+
+#: src/view/com/modals/Waitlist.tsx:51
+msgid "Something went wrong. Check your email and try again."
+msgstr "Chuaigh rud éigin ó rath. Féach ar do ríomhphost agus bain triail eile as."
+
+#: src/App.native.tsx:61
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "Ár leithscéal. Chuaigh do sheisiún i léig. Ní mór duit logáil isteach arís."
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "Sórtáil freagraí"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "Sórtáil freagraí ar an bpostáil chéanna de réir:"
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "Spórt"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+msgid "Square"
+msgstr "Cearnóg"
+
+#: src/view/com/modals/ServerInput.tsx:62
+#~ msgid "Staging"
+#~ msgstr "Freastalaí tástála"
+
+#: src/view/screens/Settings/index.tsx:871
+msgid "Status page"
+msgstr "Leathanach stádais"
+
+#: src/view/com/auth/create/StepHeader.tsx:22
+msgid "Step {0} of {numSteps}"
+msgstr "Céim {0} as {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:274
+msgid "Storage cleared, you need to restart the app now."
+msgstr "Stóráil scriosta, tá ort an aip a atosú anois."
+
+#: src/Navigation.tsx:202
+#: src/view/screens/Settings/index.tsx:807
+msgid "Storybook"
+msgstr "Storybook"
+
+#: src/view/com/modals/AppealLabel.tsx:101
+msgid "Submit"
+msgstr "Seol"
+
+#: src/view/screens/ProfileList.tsx:607
+msgid "Subscribe"
+msgstr "Liostáil"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "Liostáil leis an bhfotha {0}"
+
+#: src/view/screens/ProfileList.tsx:603
+msgid "Subscribe to this list"
+msgstr "Liostáil leis an liosta seo"
+
+#: src/view/screens/Search/Search.tsx:373
+msgid "Suggested Follows"
+msgstr "Cuntais le leanúint"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+msgid "Suggested for you"
+msgstr "Molta duit"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "Gáirsiúil"
+
+#: src/Navigation.tsx:212
+#: src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "Tacaíocht"
+
+#: src/view/com/modals/ProfilePreview.tsx:110
+#~ msgid "Swipe up to see more"
+#~ msgstr "Svaidhpeáil aníos le tuilleadh a fheiceáil"
+
+#: src/view/com/modals/SwitchAccount.tsx:117
+msgid "Switch Account"
+msgstr "Athraigh an cuntas"
+
+#: src/view/com/modals/SwitchAccount.tsx:97
+#: src/view/screens/Settings/index.tsx:130
+msgid "Switch to {0}"
+msgstr "Athraigh go {0}"
+
+#: src/view/com/modals/SwitchAccount.tsx:98
+#: src/view/screens/Settings/index.tsx:131
+msgid "Switches the account you are logged in to"
+msgstr "Athraíonn sé seo an cuntas beo"
+
+#: src/view/screens/Settings/index.tsx:472
+msgid "System"
+msgstr "Córas"
+
+#: src/view/screens/Settings/index.tsx:795
+msgid "System log"
+msgstr "Logleabhar an chórais"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+msgid "Tall"
+msgstr "Ard"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "Tapáil leis an rud iomlán a fheiceáil"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "Teic"
+
+#: src/view/shell/desktop/RightNav.tsx:81
+msgid "Terms"
+msgstr "Téarmaí"
+
+#: src/Navigation.tsx:222
+#: src/view/screens/Settings/index.tsx:885
+#: src/view/screens/TermsOfService.tsx:29
+#: src/view/shell/Drawer.tsx:256
+msgid "Terms of Service"
+msgstr "Téarmaí Seirbhíse"
+
+#: src/view/com/modals/AppealLabel.tsx:70
+#: src/view/com/modals/report/InputIssueDetails.tsx:51
+msgid "Text input field"
+msgstr "Réimse téacs"
+
+#: src/view/com/auth/create/CreateAccount.tsx:90
+msgid "That handle is already taken."
+msgstr "Tá an leasainm sin in úsáid cheana féin."
+
+#: src/view/com/profile/ProfileHeader.tsx:262
+msgid "The account will be able to interact with you after unblocking."
+msgstr "Beidh an cuntas seo in ann caidreamh a dhéanamh leat tar éis duit é a dhíbhlocáil"
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "Bogadh Treoirlínte an Phobail go dtí <0/>"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "Bogadh an Polasaí Cóipchirt go dtí <0/>"
+
+#: src/screens/Onboarding/Layout.tsx:60
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "Cuideoidh na céimeanna seo a leanas leat Bluesky a chur in oiriúint duit féin."
+
+#: src/view/com/post-thread/PostThread.tsx:516
+msgid "The post may have been deleted."
+msgstr "Is féidir gur scriosadh an phostáil seo."
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <0/>"
+msgstr "Bogadh Polasaí na Príobháideachta go dtí <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 "Bogadh an fhoirm tacaíochta go dtí <0/>. Má tá cuidiú ag teastáil uait, <0/> le do thoil, nó tabhair cuairt ar {HELP_DESK_URL} le dul i dteagmháil linn."
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "Bogadh ár dTéarmaí Seirbhíse go dtí"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+msgid "There are many feeds to try:"
+msgstr "Tá a lán fothaí ann le blaiseadh:"
+
+#: src/view/screens/ProfileFeed.tsx:549
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "Bhí fadhb ann maidir le dul i dteagmháil leis an bhfreastalaí. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: 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 "Bhí fadhb ann maidir leis an bhfotha seo a bhaint. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: src/view/screens/ProfileFeed.tsx:209
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "Bhí fadhb ann maidir le huasdátú do chuid fothaí. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: src/view/screens/ProfileFeed.tsx:236
+#: src/view/screens/ProfileList.tsx:266
+#: src/view/screens/SavedFeeds.tsx:209
+#: src/view/screens/SavedFeeds.tsx:231
+#: src/view/screens/SavedFeeds.tsx:252
+msgid "There was an issue contacting the server"
+msgstr "Bhí fadhb ann maidir le teagmháil a dhéanamh leis an bhfreastalaí"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:113
+#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:181
+msgid "There was an issue contacting your server"
+msgstr "Bhí fadhb ann maidir le teagmháil a dhéanamh le do fhreastálaí"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "Bhí fadhb ann maidir le fógraí a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/view/com/posts/Feed.tsx:263
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "Bhí fadhb ann maidir le postálacha a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+msgstr "Bhí fadhb ann maidir leis an liosta a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: 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 "Bhí fadhb ann maidir le do chuid liostaí a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
+#: src/view/com/modals/ContentFilteringSettings.tsx:126
+msgid "There was an issue syncing your preferences with the server"
+msgstr "Bhí fadhb ann maidir le do chuid roghanna a shioncronú leis an bhfreastalaí"
+
+#: src/view/screens/AppPasswords.tsx:66
+msgid "There was an issue with fetching your app passwords"
+msgstr "Bhí fadhb ann maidir le do chuid pasfhocal don aip a fháil"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
+#: src/view/com/profile/ProfileHeader.tsx:156
+#: src/view/com/profile/ProfileHeader.tsx:177
+#: src/view/com/profile/ProfileHeader.tsx:216
+#: src/view/com/profile/ProfileHeader.tsx:229
+#: src/view/com/profile/ProfileHeader.tsx:249
+#: src/view/com/profile/ProfileHeader.tsx:271
+msgid "There was an issue! {0}"
+msgstr "Bhí fadhb ann! {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 "Bhí fadhb ann. Seiceáil do cheangal leis an idirlíon, le do thoil, agus bain triail eile as."
+
+#: 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 "D’éirigh fadhb gan choinne leis an aip. Abair linn, le do thoil, má tharla sé sin duit!"
+
+#: src/screens/Deactivated.tsx:106
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Tá ráchairt ar Bluesky le déanaí! Cuirfidh muid do chuntas ag obair chomh luath agus is féidir."
+
+#: src/view/com/auth/create/Step2.tsx:55
+#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
+#~ msgstr "Tá rud éigin mícheart leis an uimhir seo. Roghnaigh do thír, le do thoil, agus cuir d’uimhir ghutháin iomlán isteach."
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+msgid "These are popular accounts you might like:"
+msgstr "Is cuntais iad seo a bhfuil a lán leantóirí acu. Is féidir go dtaitneoidh siad leat."
+
+#: src/view/com/util/moderation/ScreenHider.tsx:88
+msgid "This {screenDescription} has been flagged:"
+msgstr "Cuireadh bratach leis an {screenDescription} seo:"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:83
+msgid "This account has requested that users sign in to view their profile."
+msgstr "Ní mór duit logáil isteach le próifíl an chuntais seo a fheiceáil."
+
+#: src/view/com/modals/EmbedConsent.tsx:68
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "Tá an t-ábhar seo ar fáil ó {0}. An bhfuil fonn ort na meáin sheachtracha a thaispeáint?"
+
+#: src/view/com/modals/ModerationDetails.tsx:67
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "Níl an t-ábhar seo le feiceáil toisc gur bhlocáil duine de na húsáideoirí an duine eile."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "Níl an t-ábhar seo le feiceáil gan chuntas Bluesky."
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+msgstr "Tá an ghné seo á tástáil fós. Tig leat níos mó faoi chartlanna easpórtáilte a léamh sa <0>bhlagphost seo.0>"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "Tá ráchairt an-mhór ar an bhfotha seo faoi láthair. Níl sé ar fáil anois díreach dá bhrí sin. Bain triail eile as níos déanaí, le do thoil."
+
+#: src/view/screens/Profile.tsx:420
+#: src/view/screens/ProfileFeed.tsx:475
+#: src/view/screens/ProfileList.tsx:660
+msgid "This feed is empty!"
+msgstr "Tá an fotha seo folamh!"
+
+#: 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 "Tá an fotha seo folamh! Is féidir go mbeidh ort tuilleadh úsáideoirí a leanúint nó do shocruithe teanga a athrú."
+
+#: src/view/com/modals/BirthDateSettings.tsx:61
+msgid "This information is not shared with other users."
+msgstr "Ní roinntear an t-eolas seo le húsáideoirí eile."
+
+#: 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 "Tá sé seo tábhachtach má bhíonn ort do ríomhphost nó do phasfhocal a athrú."
+
+#: src/view/com/modals/LinkWarning.tsx:58
+msgid "This link is taking you to the following website:"
+msgstr "Téann an nasc seo go dtí an suíomh idirlín seo:"
+
+#: src/view/screens/ProfileList.tsx:834
+msgid "This list is empty!"
+msgstr "Tá an liosta seo folamh!"
+
+#: src/view/com/modals/AddAppPasswords.tsx:106
+msgid "This name is already in use"
+msgstr "Tá an t-ainm seo in úsáid cheana féin"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:122
+msgid "This post has been deleted."
+msgstr "Scriosadh an phostáil seo."
+
+#: src/view/com/modals/ModerationDetails.tsx:62
+msgid "This user has blocked you. You cannot view their content."
+msgstr "Tá an t-úsáideoir seo tar éis thú a bhlocáil. Ní féidir leat a gcuid ábhair a fheiceáil."
+
+#: src/view/com/modals/ModerationDetails.tsx:42
+msgid "This user is included in the <0/> list which you have blocked."
+msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a bhlocáil tú."
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+msgid "This user is included in the <0/> list which you have muted."
+msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a chuir tú i bhfolach."
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included the <0/> list which you have muted."
+#~ msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a chuir tú i bhfolach."
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "Níl an rabhadh seo ar fáil ach le haghaidh postálacha a bhfuil meáin ceangailte leo."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:192
+msgid "This will hide this post from your feeds."
+msgstr "Leis seo ní bheidh an phostáil seo le feiceáil ar do chuid fothaí."
+
+#: src/view/screens/PreferencesThreads.tsx:53
+#: src/view/screens/Settings/index.tsx:565
+msgid "Thread Preferences"
+msgstr "Roghanna Snáitheanna"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "Modh Snáithithe"
+
+#: src/Navigation.tsx:252
+msgid "Threads Preferences"
+msgstr "Roghanna Snáitheanna"
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "Scoránaigh an bosca anuas"
+
+#: src/view/com/modals/EditImage.tsx:271
+msgid "Transformations"
+msgstr "Trasfhoirmithe"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:682
+#: src/view/com/post-thread/PostThreadItem.tsx:684
+#: src/view/com/util/forms/PostDropdownBtn.tsx:125
+msgid "Translate"
+msgstr "Aistrigh"
+
+#: src/view/com/util/error/ErrorScreen.tsx:82
+msgctxt "action"
+msgid "Try again"
+msgstr "Bain triail eile as"
+
+#: src/view/screens/ProfileList.tsx:505
+msgid "Un-block list"
+msgstr "Díbhlocáil an liosta"
+
+#: src/view/screens/ProfileList.tsx:490
+msgid "Un-mute list"
+msgstr "Ná coinnigh an liosta sin i bhfolach níos mó"
+
+#: src/view/com/auth/create/CreateAccount.tsx:58
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
+#: src/view/com/auth/login/Login.tsx:76
+#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "Ní féidir teagmháil a dhéanamh le do sheirbhís. Seiceáil do cheangal leis an idirlíon, le do thoil."
+
+#: src/view/com/profile/ProfileHeader.tsx:432
+#: src/view/screens/ProfileList.tsx:589
+msgid "Unblock"
+msgstr "Díbhlocáil"
+
+#: src/view/com/profile/ProfileHeader.tsx:435
+msgctxt "action"
+msgid "Unblock"
+msgstr "Díbhlocáil"
+
+#: src/view/com/profile/ProfileHeader.tsx:260
+#: src/view/com/profile/ProfileHeader.tsx:344
+msgid "Unblock Account"
+msgstr "Díbhlocáil an cuntas"
+
+#: src/view/com/modals/Repost.tsx:42
+#: src/view/com/modals/Repost.tsx:55
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "Cuir stop leis an athphostáil"
+
+#: src/view/com/profile/FollowButton.tsx:55
+msgctxt "action"
+msgid "Unfollow"
+msgstr "Dílean"
+
+#: src/view/com/profile/ProfileHeader.tsx:484
+msgid "Unfollow {0}"
+msgstr "Dílean {0}"
+
+#: src/view/com/auth/create/state.ts:262
+msgid "Unfortunately, you do not meet the requirements to create an account."
+msgstr "Ar an drochuair, ní chomhlíonann tú na riachtanais le cuntas a chruthú."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:216
+msgid "Unlike"
+msgstr "Dímhol"
+
+#: src/view/screens/ProfileList.tsx:596
+msgid "Unmute"
+msgstr "Ná coinnigh i bhfolach"
+
+#: src/view/com/profile/ProfileHeader.tsx:325
+msgid "Unmute Account"
+msgstr "Ná coinnigh an cuntas seo i bhfolach níos mó"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:171
+msgid "Unmute thread"
+msgstr "Ná coinnigh an snáithe seo i bhfolach níos mó"
+
+#: src/view/screens/ProfileFeed.tsx:353
+#: src/view/screens/ProfileList.tsx:580
+msgid "Unpin"
+msgstr "Díghreamaigh"
+
+#: src/view/screens/ProfileList.tsx:473
+msgid "Unpin moderation list"
+msgstr "Díghreamaigh an liosta modhnóireachta"
+
+#: src/view/screens/ProfileFeed.tsx:345
+msgid "Unsave"
+msgstr "Díshábháil"
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "Uasdátú {displayName} sna Liostaí"
+
+#: src/lib/hooks/useOTAUpdate.ts:15
+msgid "Update Available"
+msgstr "Uasdátú ar fáil"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+msgid "Updating..."
+msgstr "Á uasdátú…"
+
+#: src/view/com/modals/ChangeHandle.tsx:455
+msgid "Upload a text file to:"
+msgstr "Uaslódáil comhad téacs chuig:"
+
+#: 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 "Bain úsáid as pasfhocail na haipe le logáil isteach ar chliaint eile de chuid Bluesky gan fáil iomlán ar do chuntas ná do phasfhocal a thabhairt dóibh."
+
+#: src/view/com/modals/ChangeHandle.tsx:515
+msgid "Use default provider"
+msgstr "Úsáid an soláthraí réamhshocraithe"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "Úsáid an brabhsálaí san aip seo"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "Úsáid an brabhsálaí réamhshocraithe atá agam"
+
+#: src/view/com/modals/AddAppPasswords.tsx:155
+msgid "Use this to sign into the other app along with your handle."
+msgstr "Úsáid é seo le logáil isteach ar an aip eile in éindí le do leasainm."
+
+#: src/view/com/modals/ServerInput.tsx:105
+#~ msgid "Use your domain as your Bluesky client service provider"
+#~ msgstr "Úsáid d’fhearann féin mar sholáthraí seirbhíse cliaint Bluesky"
+
+#: src/view/com/modals/InviteCodes.tsx:200
+msgid "Used by:"
+msgstr "In úsáid ag:"
+
+#: src/view/com/modals/ModerationDetails.tsx:54
+msgid "User Blocked"
+msgstr "Úsáideoir blocáilte"
+
+#: src/view/com/modals/ModerationDetails.tsx:40
+msgid "User Blocked by List"
+msgstr "Úsáideoir blocáilte le liosta"
+
+#: src/view/com/modals/ModerationDetails.tsx:60
+msgid "User Blocks You"
+msgstr "Blocálann an t-úsáideoir seo thú"
+
+#: src/view/com/auth/create/Step2.tsx:44
+msgid "User handle"
+msgstr "Leasainm"
+
+#: src/view/com/lists/ListCard.tsx:84
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "Liosta úsáideoirí le {0}"
+
+#: src/view/screens/ProfileList.tsx:762
+msgid "User list by <0/>"
+msgstr "Liosta úsáideoirí le <0/>"
+
+#: src/view/com/lists/ListCard.tsx:82
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:760
+msgid "User list by you"
+msgstr "Liosta úsáideoirí leat"
+
+#: src/view/com/modals/CreateOrEditList.tsx:196
+msgid "User list created"
+msgstr "Liosta úsáideoirí cruthaithe"
+
+#: src/view/com/modals/CreateOrEditList.tsx:182
+msgid "User list updated"
+msgstr "Liosta úsáideoirí uasdátaithe"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "Liostaí Úsáideoirí"
+
+#: src/view/com/auth/login/LoginForm.tsx:177
+#: src/view/com/auth/login/LoginForm.tsx:195
+msgid "Username or email address"
+msgstr "Ainm úsáideora nó ríomhphost"
+
+#: src/view/screens/ProfileList.tsx:796
+msgid "Users"
+msgstr "Úsáideoirí"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "Úsáideoirí a bhfuil <0/> á leanúint"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "Úsáideoirí in ”{0}“"
+
+#: src/view/com/auth/create/Step2.tsx:243
+#~ msgid "Verification code"
+#~ msgstr "Cód dearbhaithe"
+
+#: src/view/screens/Settings/index.tsx:910
+msgid "Verify email"
+msgstr "Dearbhaigh ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:935
+msgid "Verify my email"
+msgstr "Dearbhaigh mo ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:944
+msgid "Verify My Email"
+msgstr "Dearbhaigh Mo Ríomhphost"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "Dearbhaigh an Ríomhphost Nua"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "Dearbhaigh Do Ríomhphost"
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "Físchluichí"
+
+#: src/view/com/profile/ProfileHeader.tsx:661
+msgid "View {0}'s avatar"
+msgstr "Féach ar an abhatár atá ag {0}"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "Féach ar an iontráil dífhabhtaithe"
+
+#: src/view/com/posts/FeedSlice.tsx:103
+msgid "View full thread"
+msgstr "Féach ar an snáithe iomlán"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:172
+msgid "View profile"
+msgstr "Féach ar an bpróifíl"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "Féach ar an abhatár"
+
+#: src/view/com/modals/LinkWarning.tsx:75
+msgid "Visit Site"
+msgstr "Tabhair cuairt ar an suíomh"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
+#: src/view/com/modals/ContentFilteringSettings.tsx:259
+msgid "Warn"
+msgstr "Rabhadh"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+msgid "We also think you'll like \"For You\" by Skygaze:"
+msgstr "Creidimid go dtaitneoidh “For You” le Skygaze leat:"
+
+#: src/screens/Deactivated.tsx:133
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "Measaimid go mbeidh do chuntas réidh i gceann {estimatedTime}"
+
+#: src/screens/Onboarding/StepFinished.tsx:93
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "Tá súil againn go mbeidh an-chraic agat anseo. Ná déan dearmad go bhfuil Bluesky:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "Níl aon ábhar nua le taispeáint ó na cuntais a leanann tú. Seo duit an t-ábhar is déanaí ó <0/>."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
+#~ msgid "We recommend \"For You\" by Skygaze:"
+#~ msgstr "Creidimid go dtaitneoidh “For You” le Skygaze leat:"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+msgid "We recommend our \"Discover\" feed:"
+msgstr "Molaimid an fotha “Discover”."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:133
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "Níorbh fhéidir linn ceangal a bhunú. Bain triail eile as do chuntas a shocrú. Má mhaireann an fhadhb, ní gá duit an próiseas seo a chur i gcrích."
+
+#: src/screens/Deactivated.tsx:137
+msgid "We will let you know when your account is ready."
+msgstr "Déarfaidh muid leat nuair a bheidh do chuntas réidh."
+
+#: src/view/com/modals/AppealLabel.tsx:48
+msgid "We'll look into your appeal promptly."
+msgstr "Fiosróimid d'achomharc gan mhoill."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:138
+msgid "We'll use this to help customize your experience."
+msgstr "Bainfimid úsáid as seo chun an suíomh a chur in oiriúint duit."
+
+#: src/view/com/auth/create/CreateAccount.tsx:130
+msgid "We're so excited to have you join us!"
+msgstr "Tá muid an-sásta go bhfuil tú linn!"
+
+#: src/view/screens/ProfileList.tsx:85
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "Ár leithscéal, ach ní féidir linn an liosta seo a thaispeáint. Má mhaireann an fhadhb, déan teagmháil leis an duine a chruthaigh an liosta, @{handleOrDid}."
+
+#: src/view/screens/Search/Search.tsx:253
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "Ár leithscéal, ach níorbh fhéidir linn do chuardach a chur i gcrích. Bain triail eile as i gceann cúpla nóiméad."
+
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "Ár leithscéal, ach ní féidir linn an leathanach atá tú ag lorg a aimsiú."
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+msgid "Welcome to <0>Bluesky0>"
+msgstr "Fáilte go <0>Bluesky0>"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:130
+msgid "What are your interests?"
+msgstr "Cad iad na rudaí a bhfuil suim agat iontu?"
+
+#: src/view/com/modals/report/Modal.tsx:169
+msgid "What is the issue with this {collectionName}?"
+msgstr "Cad é an fhadhb le {collectionName}?"
+
+#: src/view/com/auth/SplashScreen.tsx:59
+#: src/view/com/composer/Composer.tsx:279
+msgid "What's up?"
+msgstr "Aon scéal?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "Cad iad na teangacha sa phostáil seo?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "Cad iad na teangacha ba mhaith leat a fheiceáil i do chuid fothaí algartamacha?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "Cé atá in ann freagra a thabhairt"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+msgid "Wide"
+msgstr "Leathan"
+
+#: src/view/com/composer/Composer.tsx:415
+msgid "Write post"
+msgstr "Scríobh postáil"
+
+#: src/view/com/composer/Composer.tsx:278
+#: src/view/com/composer/Prompt.tsx:33
+msgid "Write your reply"
+msgstr "Scríobh freagra"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "Scríbhneoirí"
+
+#: src/view/com/auth/create/Step2.tsx:263
+#~ msgid "XXXXXX"
+#~ msgstr "XXXXXX"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesHomeFeed.tsx:129
+#: src/view/screens/PreferencesHomeFeed.tsx:201
+#: src/view/screens/PreferencesHomeFeed.tsx:236
+#: src/view/screens/PreferencesHomeFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "Tá"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:46
+#~ msgid "You are in control"
+#~ msgstr "Tá sé faoi do stiúir"
+
+#: src/screens/Deactivated.tsx:130
+msgid "You are in line."
+msgstr "Tá tú sa scuaine."
+
+#: 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 "Is féidir leat sainfhothaí nua a aimsiú le leanúint."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
+#~ msgid "You can also try our \"Discover\" algorithm:"
+#~ msgstr "Tig leat freisin triail a bhaint as ár n-algartam “Discover”:"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+msgid "You can change these settings later."
+msgstr "Is féidir leat na socruithe seo a athrú níos déanaí."
+
+#: src/view/com/auth/login/Login.tsx:158
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+msgid "You can now sign in with your new password."
+msgstr "Is féidir leat logáil isteach le do phasfhocal nua anois."
+
+#: 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 "Níl aon chóid chuiridh agat fós! Cuirfidh muid cúpla cód chugat tar éis duit beagán ama a chaitheamh anseo."
+
+#: src/view/screens/SavedFeeds.tsx:102
+msgid "You don't have any pinned feeds."
+msgstr "Níl aon fhothaí greamaithe agat."
+
+#: src/view/screens/Feeds.tsx:452
+msgid "You don't have any saved feeds!"
+msgstr "Níl aon fhothaí sábháilte agat!"
+
+#: src/view/screens/SavedFeeds.tsx:135
+msgid "You don't have any saved feeds."
+msgstr "Níl aon fhothaí sábháilte agat."
+
+#: src/view/com/post-thread/PostThread.tsx:464
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "Bhlocáil tú an t-údar nó tá tú blocáilte ag an údar."
+
+#: src/view/com/modals/ModerationDetails.tsx:56
+msgid "You have blocked this user. You cannot view their content."
+msgstr "Bhlocáil tú an cuntas seo. Ní féidir leat a gcuid ábhar a fheiceáil."
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "Tá tú tar éis cód míchruinn a chur isteach. Ba cheart an cruth seo a bheith air: XXXXX-XXXXX."
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+msgid "You have muted this user."
+msgstr "Chuir tú an cuntas seo i bhfolach."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:136
+msgid "You have no feeds."
+msgstr "Níl aon fhothaí agat."
+
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:140
+msgid "You have no lists."
+msgstr "Níl aon liostaí agat."
+
+#: 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 "Níor bhlocáil tú aon chuntas fós. Le cuntas a bhlocáil, téigh go dtí a bpróifíl agus roghnaigh “Blocáil an cuntas seo” ar an gclár ansin."
+
+#: 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 "Níor chruthaigh tú aon phasfhocal aipe fós. Is féidir leat ceann a chruthú ach brú ar an gcnaipe thíos."
+
+#: 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 "Níor chuir tú aon chuntas i bhfolach fós. Le cuntas a chur i bhfolach, téigh go dtí a bpróifíl agus roghnaigh “Cuir an cuntas i bhfolach” ar an gclár ansin."
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+msgid "You must be 18 or older to enable adult content."
+msgstr "Caithfidh tú a bheith 18 mbliana d’aois nó níos sine le hábhar do dhaoine fásta a fháil."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+msgid "You must be 18 years or older to enable adult content"
+msgstr "Caithfidh tú a bheith 18 mbliana d’aois nó níos sine le hábhar do dhaoine fásta a fháil."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:98
+msgid "You will no longer receive notifications for this thread"
+msgstr "Ní bhfaighidh tú fógraí don snáithe seo a thuilleadh."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:101
+msgid "You will now receive notifications for this thread"
+msgstr "Gheobhaidh tú fógraí don snáithe seo anois."
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "Gheobhaidh tú teachtaireacht ríomhphoist le “cód athshocraithe” ann. Cuir an cód sin isteach anseo, ansin cuir do phasfhocal nua isteach."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:72
+msgid "You're in control"
+msgstr "Tá sé faoi do stiúir"
+
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:103
+msgid "You're in line"
+msgstr "Tá tú sa scuaine"
+
+#: src/screens/Onboarding/StepFinished.tsx:90
+msgid "You're ready to go!"
+msgstr "Tá tú réidh!"
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "Tháinig tú go deireadh d’fhotha! Aimsigh cuntais eile le leanúint."
+
+#: src/view/com/auth/create/Step1.tsx:74
+msgid "Your account"
+msgstr "Do chuntas"
+
+#: src/view/com/modals/DeleteAccount.tsx:67
+msgid "Your account has been deleted"
+msgstr "Scriosadh do chuntas"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:47
+msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
+msgstr "Is féidir cartlann do chuntais, a bhfuil na taifid phoiblí uile inti, a íoslódáil mar chomhad “CAR”. Ní bheidh aon mheáin leabaithe (íomhánna, mar shampla) ná do shonraí príobháideacha inti. Ní mór iad a fháil ar dhóigh eile."
+
+#: src/view/com/auth/create/Step1.tsx:238
+msgid "Your birth date"
+msgstr "Do bhreithlá"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "Sábhálfar do rogha, ach is féidir é athrú níos déanaí sna socruithe."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+msgid "Your default feed is \"Following\""
+msgstr "Is é “Following” d’fhotha réamhshocraithe"
+
+#: src/view/com/auth/create/state.ts:110
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "Is cosúil go bhfuil do ríomhphost neamhbhailí."
+
+#: src/view/com/modals/Waitlist.tsx:109
+msgid "Your email has been saved! We'll be in touch soon."
+msgstr "Cláraíodh do sheoladh ríomhphost! Beidh muid i dteagmháil leat go luath."
+
+#: 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 "Uasdátaíodh do sheoladh ríomhphoist ach níor dearbhaíodh é. An chéad chéim eile anois ná do sheoladh nua a dhearbhú, le do thoil."
+
+#: 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 "Níor dearbhaíodh do sheoladh ríomhphoist fós. Is tábhachtach an chéim shábháilteachta é sin agus molaimid é."
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "Tá an fotha de na daoine a leanann tú folamh! Lean tuilleadh úsáideoirí le feiceáil céard atá ar siúl."
+
+#: src/view/com/auth/create/Step2.tsx:48
+msgid "Your full handle will be"
+msgstr "Do leasainm iomlán anseo:"
+
+#: src/view/com/modals/ChangeHandle.tsx:270
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "Do leasainm iomlán anseo: <0>@{0}0>"
+
+#: src/view/screens/Settings.tsx:NaN
+#: src/view/shell/Drawer.tsx:660
+#~ msgid "Your invite codes are hidden when logged in using an App Password"
+#~ msgstr "Níl do chuid cód cuiridh le feiceáil nuair atá tú logáilte isteach le pasfhocal aipe"
+
+#: src/view/com/modals/ChangePassword.tsx:155
+msgid "Your password has been changed successfully!"
+msgstr "Athraíodh do phasfhocal!"
+
+#: src/view/com/composer/Composer.tsx:267
+msgid "Your post has been published"
+msgstr "Foilsíodh do phostáil"
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+#: 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 "Tá do chuid postálacha, moltaí, agus blocálacha poiblí. Is príobháideach iad na cuntais a chuireann tú i bhfolach."
+
+#: src/view/com/modals/SwitchAccount.tsx:84
+#: src/view/screens/Settings/index.tsx:118
+msgid "Your profile"
+msgstr "Do phróifíl"
+
+#: src/view/com/composer/Composer.tsx:266
+msgid "Your reply has been published"
+msgstr "Foilsíodh do fhreagra"
+
+#: src/view/com/auth/create/Step2.tsx:28
+msgid "Your user handle"
+msgstr "Do leasainm"
diff --git a/src/locale/locales/id/messages.po b/src/locale/locales/id/messages.po
index c0005b4386..001520fb2b 100644
--- a/src/locale/locales/id/messages.po
+++ b/src/locale/locales/id/messages.po
@@ -4,8 +4,8 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-12-28 11:56+07000\n"
"PO-Revision-Date: \n"
-"Last-Translator: GID0317\n"
-"Language-Team: GID0317, danninov, thinkbyte1024, mary-ext\n"
+"Last-Translator: danninov\n"
+"Language-Team: GID0317, danninov, thinkbyte1024, mary-ext, kodebanget\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@@ -260,7 +260,7 @@ msgstr "Konten Dewasa"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
+#~ msgstr "Konten dewasa hanya dapat diaktifkan melalui Web di <0>bsky.app0>."
#: src/components/moderation/ModerationLabelPref.tsx:114
msgid "Adult content is disabled."
@@ -278,7 +278,7 @@ msgstr ""
#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
-msgstr ""
+msgstr "Sudah memiliki kode?"
#: src/view/com/auth/login/ChooseAccountForm.tsx:103
msgid "Already signed in as @{0}"
@@ -322,7 +322,7 @@ msgstr "dan"
#: src/screens/Onboarding/index.tsx:32
msgid "Animals"
-msgstr ""
+msgstr "Hewan"
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
@@ -421,7 +421,7 @@ msgstr "Apakah Anda menulis dalam <0>{0}0>?"
#: src/screens/Onboarding/index.tsx:26
msgid "Art"
-msgstr ""
+msgstr "Seni"
#: src/view/com/modals/SelfLabel.tsx:123
msgid "Artistic or non-erotic nudity."
@@ -446,7 +446,7 @@ msgstr "Kembali"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
msgid "Based on your interest in {interestsText}"
-msgstr ""
+msgstr "Berdasarkan minat Anda pada {interestsText}"
#: src/view/screens/Settings/index.tsx:542
msgid "Basics"
@@ -582,7 +582,7 @@ msgstr ""
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
-msgstr ""
+msgstr "Buku"
#: src/view/screens/Settings/index.tsx:893
msgid "Build version {0} {1}"
@@ -724,20 +724,20 @@ msgstr "Ubah email saya"
#: src/view/screens/Settings/index.tsx:754
msgid "Change password"
-msgstr ""
+msgstr "Ubah kata sandi"
#: src/view/com/modals/ChangePassword.tsx:141
#: src/view/screens/Settings/index.tsx:765
msgid "Change Password"
-msgstr ""
+msgstr "Ubah Kata Sandi"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
msgid "Change post language to {0}"
msgstr "Ubah bahasa postingan menjadi {0}"
#: src/view/screens/Settings/index.tsx:733
-#~ msgid "Change your Bluesky password"
-#~ msgstr ""
+msgid "Change your Bluesky password"
+msgstr "Ubah kata sandi Bluesky Anda"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -746,7 +746,7 @@ msgstr "Ubah Email Anda"
#: src/screens/Deactivated.tsx:72
#: src/screens/Deactivated.tsx:76
msgid "Check my status"
-msgstr ""
+msgstr "Periksa status saya"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
@@ -774,20 +774,20 @@ msgstr "Pilih Layanan"
#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Choose the algorithms that power your custom feeds."
-msgstr ""
+msgstr "Pilih algoritma yang akan digunakan untuk feed khusus Anda."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
-msgstr "Pilih algoritma yang akan digunakan untuk kustom feed Anda."
+msgstr "Pilih algoritma yang akan digunakan untuk feed khusus Anda."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
+#~ msgstr "Pilih feed algoritma Anda"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
msgid "Choose your main feeds"
-msgstr ""
+msgstr "Pilih feed utama Anda"
#: src/view/com/auth/create/Step1.tsx:196
msgid "Choose your password"
@@ -836,17 +836,17 @@ msgstr ""
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
-msgstr ""
+msgstr "Iklim"
#: src/view/com/modals/ChangePassword.tsx:267
#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
-msgstr ""
+msgstr "Tutup"
#: src/components/Dialog/index.web.tsx:84
#: src/components/Dialog/index.web.tsx:198
msgid "Close active dialog"
-msgstr ""
+msgstr "Tutup dialog aktif"
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
@@ -895,11 +895,11 @@ msgstr "Menciutkan daftar pengguna untuk notifikasi tertentu"
#: src/screens/Onboarding/index.tsx:41
msgid "Comedy"
-msgstr ""
+msgstr "Komedi"
#: src/screens/Onboarding/index.tsx:27
msgid "Comics"
-msgstr ""
+msgstr "Komik"
#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
@@ -908,7 +908,7 @@ msgstr "Panduan Komunitas"
#: src/screens/Onboarding/StepFinished.tsx:148
msgid "Complete onboarding and start using your account"
-msgstr ""
+msgstr "Selesaikan onboarding dan mulai menggunakan akun Anda"
#: src/view/com/auth/create/Step3.tsx:73
msgid "Complete the challenge"
@@ -926,7 +926,7 @@ msgstr "Tulis balasan"
#: src/components/moderation/ModerationLabelPref.tsx:149
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr ""
+msgstr "Konfigurasikan pengaturan penyaringan konten untuk kategori: {0}"
#: src/components/moderation/ModerationLabelPref.tsx:116
msgid "Configured in <0>moderation settings0>."
@@ -991,7 +991,7 @@ msgstr "Menghubungkan..."
#: src/view/com/auth/create/CreateAccount.tsx:213
msgid "Contact support"
-msgstr ""
+msgstr "Hubungi pusat bantuan"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
@@ -1054,19 +1054,19 @@ msgstr "Lanjutkan"
#: src/screens/Onboarding/StepModeration/index.tsx:99
#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
msgid "Continue to next step"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
msgid "Continue to the next step"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
msgid "Continue to the next step without following any accounts"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya tanpa mengikuti akun apa pun"
#: src/screens/Onboarding/index.tsx:44
msgid "Cooking"
-msgstr ""
+msgstr "Memasak"
#: src/view/com/modals/AddAppPasswords.tsx:195
#: src/view/com/modals/InviteCodes.tsx:182
@@ -1129,7 +1129,7 @@ msgstr "Tidak dapat memuat daftar"
#: src/view/com/auth/create/Step2.tsx:91
#~ msgid "Country"
-#~ msgstr ""
+#~ msgstr "Negara"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:64
#: src/view/com/auth/SplashScreen.tsx:73
@@ -1176,7 +1176,7 @@ msgstr "Buat kartu dengan gambar kecil. Tautan kartu ke {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
-msgstr ""
+msgstr "Budaya"
#: src/view/com/auth/server-input/index.tsx:95
#: src/view/com/auth/server-input/index.tsx:96
@@ -1190,7 +1190,7 @@ msgstr "Domain kustom"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#: src/view/screens/Feeds.tsx:692
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
-msgstr ""
+msgstr "Feed khusus yang dibuat oleh komunitas memberikan pengalaman baru dan membantu Anda menemukan konten yang Anda sukai."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
@@ -1211,7 +1211,7 @@ msgstr "Mode gelap"
#: src/view/screens/Settings/index.tsx:517
msgid "Dark Theme"
-msgstr ""
+msgstr "Tema Gelap"
#: src/Navigation.tsx:204
#~ msgid "Debug"
@@ -1261,7 +1261,7 @@ msgstr "Hapus akun saya"
#: src/view/screens/Settings/index.tsx:808
msgid "Delete My Account…"
-msgstr ""
+msgstr "Hapus Akun Saya…"
#: src/view/com/util/forms/PostDropdownBtn.tsx:302
#: src/view/com/util/forms/PostDropdownBtn.tsx:304
@@ -1305,7 +1305,7 @@ msgstr "Apakah Anda ingin mengatakan sesuatu?"
#: src/view/screens/Settings/index.tsx:523
msgid "Dim"
-msgstr ""
+msgstr "Redup"
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
@@ -1420,11 +1420,11 @@ msgstr ""
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
-msgstr ""
+msgstr "Lepaskan untuk menambahkan gambar"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
-msgstr ""
+msgstr "Sesuai dengan kebijakan Apple, konten dewasa hanya dapat diaktifkan di web setelah menyelesaikan pendaftaran."
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
@@ -1528,7 +1528,7 @@ msgstr "Ubah deskripsi profil Anda"
#: src/screens/Onboarding/index.tsx:34
msgid "Education"
-msgstr ""
+msgstr "Pendidikan"
#: src/view/com/auth/create/Step1.tsx:176
#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
@@ -1573,7 +1573,7 @@ msgstr "Aktifkan Konten Dewasa"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
-msgstr ""
+msgstr "Aktifkan konten dewasa di feed Anda"
#: src/view/com/modals/EmbedConsent.tsx:97
msgid "Enable External Media"
@@ -1614,7 +1614,7 @@ msgstr "Masukkan Kode Konfirmasi"
#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
-msgstr ""
+msgstr "Masukkan kode yang Anda terima untuk mengubah kata sandi Anda."
#: src/view/com/modals/ChangeHandle.tsx:371
msgid "Enter the domain you want to use"
@@ -1647,7 +1647,7 @@ msgstr "Masukkan alamat email baru Anda di bawah ini."
#: src/view/com/auth/create/Step2.tsx:188
#~ msgid "Enter your phone number"
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon Anda"
#: src/view/com/auth/login/Login.tsx:99
msgid "Enter your username and password"
@@ -1795,11 +1795,11 @@ msgstr "Feed"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#~ msgid "Feeds are created by users and can give you entirely new experiences."
-#~ msgstr ""
+#~ msgstr "Feed dibuat oleh pengguna dan dapat memberikan Anda pengalaman yang benar-benar baru."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
-#~ msgstr ""
+#~ msgstr "Feed dibuat oleh pengguna dan organisasi. Mereka menawarkan Anda pengalaman yang beragam dan menyarankan konten yang mungkin Anda sukai menggunakan algoritma."
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
@@ -1811,7 +1811,7 @@ msgstr "Feed adalah algoritma khusus yang dibuat oleh pengguna dengan sedikit ke
#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
msgid "Feeds can be topical as well!"
-msgstr ""
+msgstr "Feed juga bisa tentang tren terkini!"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
@@ -1823,7 +1823,7 @@ msgstr ""
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Finalizing"
-msgstr ""
+msgstr "Menyelesaikan"
#: src/view/com/posts/CustomFeedEmptyState.tsx:47
#: src/view/com/posts/FollowingEmptyState.tsx:57
@@ -1857,11 +1857,11 @@ msgstr "Atur utasan diskusi."
#: src/screens/Onboarding/index.tsx:38
msgid "Fitness"
-msgstr ""
+msgstr "Kebugaran"
#: src/screens/Onboarding/StepFinished.tsx:131
msgid "Flexible"
-msgstr ""
+msgstr "Fleksibel"
#: src/view/com/modals/EditImage.tsx:115
msgid "Flip horizontal"
@@ -1898,15 +1898,15 @@ msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
msgid "Follow All"
-msgstr ""
+msgstr "Ikuti Semua"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
msgid "Follow selected accounts and continue to the next step"
-msgstr ""
+msgstr "Ikuti akun yang dipilih dan lanjutkan ke langkah berikutnya"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
#~ msgid "Follow selected accounts and continue to then next step"
-#~ msgstr ""
+#~ msgstr "Ikuti akun yang dipilih dan lanjutkan ke langkah berikutnya"
#: 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."
@@ -1969,7 +1969,7 @@ msgstr "Mengikuti Anda"
#: src/screens/Onboarding/index.tsx:43
msgid "Food"
-msgstr ""
+msgstr "Makanan"
#: src/view/com/modals/DeleteAccount.tsx:111
msgid "For security reasons, we'll need to send a confirmation code to your email address."
@@ -2043,7 +2043,7 @@ msgstr "Kembali"
#: src/screens/Onboarding/Layout.tsx:104
#: src/screens/Onboarding/Layout.tsx:193
msgid "Go back to previous step"
-msgstr ""
+msgstr "Kembali ke langkah sebelumnya"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
@@ -2056,7 +2056,7 @@ msgstr ""
#: src/view/screens/Search/Search.tsx:748
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
-msgstr ""
+msgstr "Kembali ke @{queryMaybeHandle}"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
@@ -2092,7 +2092,7 @@ msgstr ""
#: src/view/com/auth/create/CreateAccount.tsx:208
msgid "Having trouble?"
-msgstr ""
+msgstr "Mengalami masalah?"
#: src/view/shell/desktop/RightNav.tsx:90
#: src/view/shell/Drawer.tsx:324
@@ -2101,19 +2101,19 @@ msgstr "Bantuan"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
msgid "Here are some accounts for you to follow"
-msgstr ""
+msgstr "Berikut beberapa akun untuk Anda ikuti"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
#~ msgid "Here are some accounts for your to follow"
-#~ msgstr ""
+#~ msgstr "Berikut beberapa akun untuk Anda ikuti"
#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
-msgstr ""
+msgstr "Berikut beberapa feed topik terkini yang populer. Anda dapat memilih untuk mengikuti sebanyak yang Anda suka."
#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr ""
+msgstr "Berikut beberapa feed topik terkini terdasarkan minat Anda: {interestsText}. Anda dapat memilih untuk mengikuti sebanyak yang Anda suka."
#: src/view/com/modals/AddAppPasswords.tsx:153
msgid "Here is your app password."
@@ -2254,7 +2254,7 @@ msgstr ""
#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
-msgstr ""
+msgstr "Jika Anda ingin mengubah kata sandi, kami akan mengirimkan kode untuk memverifikasi bahwa ini adalah akun Anda."
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
@@ -2287,7 +2287,7 @@ msgstr "Masukkan kode konfirmasi untuk penghapusan akun"
#: src/view/com/auth/create/Step1.tsx:177
msgid "Input email for Bluesky account"
-msgstr ""
+msgstr "Masukkan email untuk akun Bluesky"
#: src/view/com/auth/create/Step2.tsx:109
#~ msgid "Input email for Bluesky waitlist"
@@ -2315,7 +2315,7 @@ msgstr "Masukkan kata sandi untuk penghapusan akun"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon untuk verifikasi SMS"
#: src/view/com/auth/login/LoginForm.tsx:233
msgid "Input the password tied to {identifier}"
@@ -2327,7 +2327,7 @@ msgstr "Masukkan nama pengguna atau alamat email yang Anda gunakan saat mendafta
#: src/view/com/auth/create/Step2.tsx:271
#~ msgid "Input the verification code we have texted to you"
-#~ msgstr ""
+#~ msgstr "Masukkan kode verifikasi yang telah kami kirimkan melalui SMS"
#: src/view/com/modals/Waitlist.tsx:90
#~ msgid "Input your email to get on the Bluesky waitlist"
@@ -2384,7 +2384,7 @@ msgstr "Kode undangan: 1 tersedia"
#: src/screens/Onboarding/StepFollowingFeed.tsx:64
msgid "It shows posts from the people you follow as they happen."
-msgstr ""
+msgstr "Feed ini menampilkan postingan secara langsung dari orang yang Anda ikuti."
#: src/view/com/auth/HomeLoggedOutCTA.tsx:103
#: src/view/com/auth/SplashScreen.web.tsx:138
@@ -2406,7 +2406,7 @@ msgstr "Karir"
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
-msgstr ""
+msgstr "Jurnalisme"
#: src/components/moderation/LabelsOnMe.tsx:59
msgid "label has been placed on this {labelTarget}"
@@ -2497,7 +2497,7 @@ msgstr "Meninggalkan Bluesky"
#: src/screens/Deactivated.tsx:128
msgid "left to go."
-msgstr ""
+msgstr "yang tersisa"
#: src/view/screens/Settings/index.tsx:296
msgid "Legacy storage cleared, you need to restart the app now."
@@ -2510,7 +2510,7 @@ msgstr "Reset kata sandi Anda!"
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Let's go!"
-msgstr ""
+msgstr "Ayo!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
@@ -2540,7 +2540,7 @@ msgstr "Disukai oleh"
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
-msgstr ""
+msgstr "Disukai Oleh"
#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
@@ -2558,15 +2558,15 @@ msgstr "Disukai oleh {likeCount} {0}"
#: src/view/com/notifications/FeedItem.tsx:174
msgid "liked your custom feed"
-msgstr ""
+msgstr "menyukai feed khusus Anda"
#: src/view/com/notifications/FeedItem.tsx:171
#~ msgid "liked your custom feed '{0}'"
-#~ msgstr ""
+#~ msgstr "menyukai feed khusus Anda '{0}'"
#: src/view/com/notifications/FeedItem.tsx:171
#~ msgid "liked your custom feed{0}"
-#~ msgstr "menyukai feed Anda{0}"
+#~ msgstr "menyukai feed khusus Anda{0}"
#: src/view/com/notifications/FeedItem.tsx:159
msgid "liked your post"
@@ -2658,7 +2658,7 @@ msgstr "Catatan"
#: src/screens/Deactivated.tsx:178
#: src/screens/Deactivated.tsx:181
msgid "Log out"
-msgstr ""
+msgstr "Keluar"
#: src/screens/Moderation/index.tsx:444
msgid "Logged-out visibility"
@@ -2936,7 +2936,7 @@ msgstr ""
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
-msgstr ""
+msgstr "Alam"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
@@ -2966,7 +2966,7 @@ msgstr "Tidak akan lagi kehilangan akses ke data dan pengikut Anda."
#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Never lose access to your followers or data."
-msgstr ""
+msgstr "Tidak akan lagi kehilangan akses ke data dan pengikut Anda."
#: src/components/dialogs/MutedWords.tsx:293
#~ msgid "Nevermind"
@@ -2996,7 +2996,7 @@ msgstr "Kata sandi baru"
#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
-msgstr ""
+msgstr "Kata Sandi Baru"
#: src/view/com/feeds/FeedPage.tsx:135
msgctxt "action"
@@ -3031,7 +3031,7 @@ msgstr "Balasan terbaru terlebih dahulu"
#: src/screens/Onboarding/index.tsx:23
msgid "News"
-msgstr ""
+msgstr "Berita"
#: src/view/com/auth/create/CreateAccount.tsx:172
#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
@@ -3167,7 +3167,7 @@ msgstr "Oh tidak!"
#: src/screens/Onboarding/StepInterests/index.tsx:128
msgid "Oh no! Something went wrong."
-msgstr ""
+msgstr "Oh tidak! Sepertinya ada yang salah."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
msgid "OK"
@@ -3205,7 +3205,7 @@ msgstr "Uups!"
#: src/screens/Onboarding/StepFinished.tsx:115
msgid "Open"
-msgstr ""
+msgstr "Buka"
#: src/view/screens/Moderation.tsx:75
#~ msgid "Open content filtering settings"
@@ -3350,7 +3350,7 @@ msgstr "Membuka formulir pengaturan ulang kata sandi"
#: src/view/com/home/HomeHeaderLayout.web.tsx:63
#: src/view/screens/Feeds.tsx:356
msgid "Opens screen to edit Saved Feeds"
-msgstr "Membuka layar untuk mengedit Umpan Tersimpan"
+msgstr "Membuka layar untuk mengedit Feed Tersimpan"
#: src/view/screens/Settings/index.tsx:597
msgid "Opens screen with all saved feeds"
@@ -3403,7 +3403,7 @@ msgstr "Atau gabungkan opsi-opsi berikut:"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:122
#~ msgid "Or you can try our \"Discover\" algorithm:"
-#~ msgstr ""
+#~ msgstr "Atau Anda dapat mencoba algoritma \"Temukan\" kami:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
@@ -3428,7 +3428,7 @@ msgstr "Halaman tidak ditemukan"
#: src/view/screens/NotFound.tsx:42
msgid "Page Not Found"
-msgstr ""
+msgstr "Halaman Tidak Ditemukan"
#: src/view/com/auth/create/Step1.tsx:191
#: src/view/com/auth/create/Step1.tsx:201
@@ -3470,11 +3470,11 @@ msgstr "Izin untuk mengakses rol kamera ditolak. Silakan aktifkan di pengaturan
#: src/screens/Onboarding/index.tsx:31
msgid "Pets"
-msgstr ""
+msgstr "Hewan Peliharaan"
#: src/view/com/auth/create/Step2.tsx:183
#~ msgid "Phone number"
-#~ msgstr ""
+#~ msgstr "Nomor telepon"
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
@@ -3528,7 +3528,7 @@ msgstr "Masukkan nama untuk kata sandi aplikasi Anda. Semua spasi tidak diperbol
#: src/view/com/auth/create/Step2.tsx:206
#~ msgid "Please enter a phone number that can receive SMS text messages."
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon yang dapat menerima pesan teks SMS."
#: src/view/com/modals/AddAppPasswords.tsx:145
msgid "Please enter a unique name for this App Password or use our randomly generated one."
@@ -3540,11 +3540,11 @@ msgstr ""
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
-#~ msgstr ""
+#~ msgstr "Masukkan kode yang Anda terima melalui SMS."
#: src/view/com/auth/create/Step2.tsx:282
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr ""
+#~ msgstr "Masukkan kode verifikasi yang dikirim ke {phoneNumberFormatted}."
#: src/view/com/auth/create/state.ts:103
msgid "Please enter your email."
@@ -3576,7 +3576,7 @@ msgstr "Harap tunggu hingga kartu tautan Anda selesai dimuat"
#: src/screens/Onboarding/index.tsx:37
msgid "Politics"
-msgstr ""
+msgstr "Politik"
#: src/view/com/modals/SelfLabel.tsx:111
msgid "Porn"
@@ -3717,7 +3717,7 @@ msgstr "Amankan akun Anda dengan memverifikasi email Anda."
#: src/screens/Onboarding/StepFinished.tsx:101
msgid "Public"
-msgstr ""
+msgstr "Publik"
#: src/view/screens/ModerationModlists.tsx:61
msgid "Public, shareable lists of users to mute or block in bulk."
@@ -3950,11 +3950,11 @@ msgstr "Posting ulang atau kutip postingan"
#: src/view/screens/PostRepostedBy.tsx:27
msgid "Reposted By"
-msgstr ""
+msgstr "Diposting Ulang Oleh"
#: src/view/com/posts/FeedItem.tsx:197
msgid "Reposted by {0}"
-msgstr ""
+msgstr "Diposting ulang oleh {0}"
#: src/view/com/posts/FeedItem.tsx:206
#~ msgid "Reposted by {0})"
@@ -3979,12 +3979,12 @@ msgstr "Ajukan Perubahan"
#: src/view/com/auth/create/Step2.tsx:219
#~ msgid "Request code"
-#~ msgstr ""
+#~ msgstr "Minta kode"
#: src/view/com/modals/ChangePassword.tsx:241
#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
-msgstr ""
+msgstr "Minta Kode"
#: src/view/screens/Settings/index.tsx:475
msgid "Require alt text before posting"
@@ -4002,7 +4002,7 @@ msgstr "Kode reset"
#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
-msgstr ""
+msgstr "Kode Reset"
#: src/view/screens/Settings/index.tsx:824
#~ msgid "Reset onboarding"
@@ -4057,7 +4057,7 @@ msgstr "Ulangi"
#: src/view/com/auth/create/Step2.tsx:247
#~ msgid "Retry."
-#~ msgstr ""
+#~ msgstr "Ulangi"
#: src/view/screens/ProfileList.tsx:917
msgid "Return to previous page"
@@ -4140,7 +4140,7 @@ msgstr ""
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
-msgstr ""
+msgstr "Sains"
#: src/view/screens/ProfileList.tsx:873
msgid "Scroll to top"
@@ -4166,7 +4166,7 @@ msgstr "Cari"
#: src/view/screens/Search/Search.tsx:736
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
-msgstr ""
+msgstr "Cari \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
@@ -4257,7 +4257,7 @@ msgstr "Pilih layanan"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
-msgstr ""
+msgstr "Pilih beberapa akun di bawah ini untuk diikuti"
#: src/components/ReportDialog/SubmitView.tsx:135
msgid "Select the moderation service(s) to report to"
@@ -4269,15 +4269,15 @@ msgstr ""
#: src/screens/Onboarding/StepModeration/index.tsx:49
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
-#~ msgstr ""
+#~ msgstr "Pilih jenis konten yang ingin Anda lihat (atau tidak lihat), dan kami akan menangani sisanya."
#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
msgid "Select topical feeds to follow from the list below"
-msgstr ""
+msgstr "Pilih feed terkini untuk diikuti dari daftar di bawah ini"
#: src/screens/Onboarding/StepModeration/index.tsx:62
msgid "Select what you want to see (or not see), and we’ll handle the rest."
-msgstr ""
+msgstr "Pilih apa yang ingin Anda lihat (atau tidak lihat), dan kami akan menangani sisanya."
#: 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."
@@ -4293,11 +4293,11 @@ msgstr ""
#: src/screens/Onboarding/StepInterests/index.tsx:196
msgid "Select your interests from the options below"
-msgstr ""
+msgstr "Pilih minat Anda dari opsi di bawah ini"
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
-#~ msgstr ""
+#~ msgstr "Pilih negara telepon Anda"
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
@@ -4305,11 +4305,11 @@ msgstr "Pilih bahasa yang disukai untuk penerjemahaan feed Anda."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
msgid "Select your primary algorithmic feeds"
-msgstr ""
+msgstr "Pilih feed algoritma utama Anda"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
msgid "Select your secondary algorithmic feeds"
-msgstr ""
+msgstr "Pilih feed algoritma sekunder Anda"
#: src/view/com/modals/VerifyEmail.tsx:202
#: src/view/com/modals/VerifyEmail.tsx:204
@@ -4381,12 +4381,13 @@ msgstr ""
#~ msgstr "Atur tema warna ke pengaturan sistem"
#: src/view/screens/Settings/index.tsx:514
-#~ msgid "Set dark theme to the dark theme"
-#~ msgstr ""
+msgid "Set dark theme to the dark theme"
+msgstr "Atur tema gelap ke tema gelap"
#: src/view/screens/Settings/index.tsx:507
-#~ msgid "Set dark theme to the dim theme"
-#~ msgstr ""
+msgid "Set dark theme to the dim theme"
+msgstr "Atur tema gelap ke tema redup"
+
#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
msgid "Set new password"
@@ -4414,15 +4415,15 @@ msgstr "Pilih \"Ya\" untuk menampilkan balasan dalam bentuk utasan. Ini merupaka
#: 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 "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan Anda pada feed mengikuti. Ini merupakan fitur eksperimental."
+#~ msgstr "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan di feed mengikuti Anda. Ini merupakan fitur eksperimental."
#: src/view/screens/PreferencesFollowingFeed.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 ""
+msgstr "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan di feed Mengikuti Anda. Ini merupakan fitur eksperimental"
#: src/screens/Onboarding/Layout.tsx:50
msgid "Set up your account"
-msgstr ""
+msgstr "Atur akun Anda"
#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Sets Bluesky username"
@@ -4567,15 +4568,15 @@ msgstr "Tampilkan Kutipan Postingan"
#: src/screens/Onboarding/StepFollowingFeed.tsx:118
msgid "Show quote-posts in Following feed"
-msgstr ""
+msgstr "Tampilkan kutipan postingan di feed Mengikuti"
#: src/screens/Onboarding/StepFollowingFeed.tsx:134
msgid "Show quotes in Following"
-msgstr ""
+msgstr "Tampilkan kutipan di Mengikuti"
#: src/screens/Onboarding/StepFollowingFeed.tsx:94
msgid "Show re-posts in Following feed"
-msgstr ""
+msgstr "Tampilkan posting ulang di feed Mengikuti"
#: src/view/screens/PreferencesFollowingFeed.tsx:119
msgid "Show Replies"
@@ -4587,11 +4588,11 @@ msgstr "Tampilkan balasan dari orang yang Anda ikuti sebelum balasan lainnya."
#: src/screens/Onboarding/StepFollowingFeed.tsx:86
msgid "Show replies in Following"
-msgstr ""
+msgstr "Tampilkan balasan di Mengikuti"
#: src/screens/Onboarding/StepFollowingFeed.tsx:70
msgid "Show replies in Following feed"
-msgstr ""
+msgstr "Tampilkan balasan di feed Mengikuti"
#: src/view/screens/PreferencesFollowingFeed.tsx:70
msgid "Show replies with at least {value} {0}"
@@ -4603,7 +4604,7 @@ msgstr "Tampilkan Posting Ulang"
#: src/screens/Onboarding/StepFollowingFeed.tsx:110
msgid "Show reposts in Following"
-msgstr ""
+msgstr "Tampilkan posting ulang di Mengikuti"
#: src/components/moderation/ContentHider.tsx:68
#: src/components/moderation/PostHider.tsx:64
@@ -4712,15 +4713,15 @@ msgstr "Lewati"
#: src/screens/Onboarding/StepInterests/index.tsx:232
msgid "Skip this flow"
-msgstr ""
+msgstr "Lewati tahap ini"
#: src/view/com/auth/create/Step2.tsx:82
#~ msgid "SMS verification"
-#~ msgstr ""
+#~ msgstr "Verifikasi SMS"
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
-msgstr ""
+msgstr "Pengembang Perangkat Lunak"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
@@ -4766,7 +4767,7 @@ msgstr ""
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
-msgstr ""
+msgstr "Olahraga"
#: src/view/com/modals/crop-image/CropImage.web.tsx:122
msgid "Square"
@@ -4782,7 +4783,7 @@ msgstr "Halaman status"
#: src/view/com/auth/create/StepHeader.tsx:22
msgid "Step {0} of {numSteps}"
-msgstr ""
+msgstr "Langkah {0} dari {numSteps}"
#: src/view/com/auth/create/StepHeader.tsx:15
#~ msgid "Step {step} of 3"
@@ -4817,7 +4818,7 @@ msgstr ""
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
msgid "Subscribe to the {0} feed"
-msgstr ""
+msgstr "Langganan ke feed {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
msgid "Subscribe to this labeler"
@@ -4893,7 +4894,7 @@ msgstr "Ketuk untuk melihat sepenuhnya"
#: src/screens/Onboarding/index.tsx:39
msgid "Tech"
-msgstr ""
+msgstr "Teknologi"
#: src/view/shell/desktop/RightNav.tsx:81
msgid "Terms"
@@ -4960,7 +4961,7 @@ msgstr ""
#: src/screens/Onboarding/Layout.tsx:60
msgid "The following steps will help customize your Bluesky experience."
-msgstr ""
+msgstr "Langkah berikut akan membantu menyesuaikan pengalaman Bluesky Anda."
#: src/view/com/post-thread/PostThread.tsx:153
#: src/view/com/post-thread/PostThread.tsx:165
@@ -4984,7 +4985,7 @@ msgstr "Ketentuan Layanan telah dipindahkan ke"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
msgid "There are many feeds to try:"
-msgstr ""
+msgstr "Ada banyak feed untuk dicoba:"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:113
#: src/view/screens/ProfileFeed.tsx:543
@@ -5070,19 +5071,19 @@ msgstr "Sepertinya ada masalah pada aplikasi. Harap beri tahu kami jika Anda men
#: src/screens/Deactivated.tsx:106
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
-msgstr ""
+msgstr "Sedang ada lonjakan pengguna baru di Bluesky! Kami akan mengaktifkan akun Anda secepat mungkin."
#: src/view/com/auth/create/Step2.tsx:55
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
-#~ msgstr ""
+#~ msgstr "Ada kesalahan pada nomor ini. Mohon pilih negara dan masukkan nomor telepon lengkap Anda!"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
msgid "These are popular accounts you might like:"
-msgstr ""
+msgstr "Berikut adalah akun populer yang mungkin Anda sukai:"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
#~ msgid "These are popular accounts you might like."
-#~ msgstr ""
+#~ msgstr "Berikut adalah akun populer yang mungkin Anda sukai."
#~ msgid "This {0} has been labeled."
#~ msgstr "Ini {0} telah diberi label."
@@ -5220,16 +5221,16 @@ msgstr ""
#~ msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda blokir."
#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included in the <0/> list which you have muted."
-#~ msgstr ""
+msgid "This user is included in the <0/> list which you have muted."
+msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda bisukan."
#: src/components/moderation/ModerationDetailsDialog.tsx:56
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Pengguna ini termasuk dalam daftar <0>{0}0> yang telah Anda blokir"
#: src/components/moderation/ModerationDetailsDialog.tsx:85
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "Pengguna ini termasuk dalam daftar <0>{0}0> yang telah Anda bisukan"
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
@@ -5599,7 +5600,7 @@ msgstr ""
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
-#~ msgstr ""
+#~ msgstr "Kode verifikasi"
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
@@ -5628,7 +5629,7 @@ msgstr "Verifikasi Email Anda"
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
-msgstr ""
+msgstr "Permainan Video"
#: src/screens/Profile/Header/Shell.tsx:110
msgid "View {0}'s avatar"
@@ -5692,7 +5693,7 @@ msgstr ""
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr ""
+msgstr "Sepertinya Anda juga akan menyukai \"For You\" oleh Skygaze:"
#: src/screens/Hashtag.tsx:132
msgid "We couldn't find any results for that hashtag."
@@ -5700,11 +5701,11 @@ msgstr ""
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
-msgstr ""
+msgstr "Kami perkirakan {estimatedTime} hingga akun Anda siap."
#: src/screens/Onboarding/StepFinished.tsx:93
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
-msgstr ""
+msgstr "Semoga Anda senang dan betah di sini. Ingat, Bluesky adalah:"
#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
#~ msgid "We ran out of posts from your follows. Here's the latest from"
@@ -5712,11 +5713,11 @@ 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 "Kami kehabisan postingan dari akun yang Anda ikuti. Inilah yang terbaru dari <0/>."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr ""
+#~ msgstr "Kami merekomendasikan \"For You\" oleh Skygaze:"
#: src/components/dialogs/MutedWords.tsx:204
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
@@ -5724,7 +5725,7 @@ msgstr ""
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
msgid "We recommend our \"Discover\" feed:"
-msgstr ""
+msgstr "Kami merekomendasikan feed \"Discover\" kami:"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
@@ -5736,11 +5737,11 @@ msgstr ""
#: src/screens/Onboarding/StepInterests/index.tsx:133
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
-msgstr ""
+msgstr "Sepertinya ada masalah koneksi. Mohon coba lagi untuk melanjutkan pengaturan akun Anda. Jika terus gagal, Anda dapat melewati langkah ini."
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
-msgstr ""
+msgstr "Kami akan memberi tahu Anda ketika akun Anda siap."
#: src/view/com/modals/AppealLabel.tsx:48
#~ msgid "We'll look into your appeal promptly."
@@ -5748,7 +5749,7 @@ msgstr ""
#: src/screens/Onboarding/StepInterests/index.tsx:138
msgid "We'll use this to help customize your experience."
-msgstr ""
+msgstr "Kami akan menggunakan ini untuk menyesuaikan pengalaman Anda."
#: src/view/com/auth/create/CreateAccount.tsx:134
msgid "We're so excited to have you join us!"
@@ -5781,7 +5782,7 @@ msgstr "Selamat Datang di <0>Bluesky0>"
#: src/screens/Onboarding/StepInterests/index.tsx:130
msgid "What are your interests?"
-msgstr ""
+msgstr "Apa saja minat Anda?"
#: src/view/com/modals/report/Modal.tsx:169
#~ msgid "What is the issue with this {collectionName}?"
@@ -5843,11 +5844,11 @@ msgstr "Tulis balasan Anda"
#: src/screens/Onboarding/index.tsx:28
msgid "Writers"
-msgstr ""
+msgstr "Penulis"
#: src/view/com/auth/create/Step2.tsx:263
#~ msgid "XXXXXX"
-#~ msgstr ""
+#~ msgstr "XXXXXX"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
#: src/view/screens/PreferencesFollowingFeed.tsx:129
@@ -5861,11 +5862,11 @@ msgstr "Ya"
#: src/screens/Onboarding/StepModeration/index.tsx:46
#~ msgid "You are in control"
-#~ msgstr ""
+#~ msgstr "Anda memiliki kendali"
#: src/screens/Deactivated.tsx:130
msgid "You are in line."
-msgstr ""
+msgstr "Anda sedang dalam antrian."
#: src/view/com/profile/ProfileFollows.tsx:93
msgid "You are not following anyone."
@@ -5878,7 +5879,7 @@ msgstr "Anda juga dapat menemukan Feed Khusus baru untuk diikuti."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
#~ msgid "You can also try our \"Discover\" algorithm:"
-#~ msgstr ""
+#~ msgstr "Anda juga dapat mencoba algoritma \"Discover\" kami:"
#: src/view/com/auth/create/Step1.tsx:106
#~ msgid "You can change hosting providers at any time."
@@ -5886,7 +5887,7 @@ msgstr "Anda juga dapat menemukan Feed Khusus baru untuk diikuti."
#: src/screens/Onboarding/StepFollowingFeed.tsx:142
msgid "You can change these settings later."
-msgstr ""
+msgstr "Anda dapat mengubah pengaturan ini nanti."
#: src/view/com/auth/login/Login.tsx:158
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
@@ -5928,7 +5929,7 @@ msgstr "Anda telah memblokir pengguna ini. Anda tidak dapat melihat konten merek
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
-msgstr ""
+msgstr "Anda telah memasukkan kode yang tidak valid. Seharusnya terlihat seperti XXXXX-XXXXX."
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
@@ -5994,7 +5995,7 @@ msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
-msgstr ""
+msgstr "Anda harus berusia 18 tahun atau lebih untuk mengaktifkan konten dewasa"
#: src/components/ReportDialog/SubmitView.tsx:205
msgid "You must select at least one labeler for a report"
@@ -6014,17 +6015,17 @@ msgstr "Anda akan menerima email berisikan \"kode reset\". Masukkan kode tersebu
#: src/screens/Onboarding/StepModeration/index.tsx:59
msgid "You're in control"
-msgstr ""
+msgstr "Anda memiliki kendali"
#: src/screens/Deactivated.tsx:87
#: src/screens/Deactivated.tsx:88
#: src/screens/Deactivated.tsx:103
msgid "You're in line"
-msgstr ""
+msgstr "Anda sedang dalam antrian"
#: src/screens/Onboarding/StepFinished.tsx:90
msgid "You're ready to go!"
-msgstr ""
+msgstr "Anda siap untuk mulai!"
#: src/components/moderation/ModerationDetailsDialog.tsx:99
#: src/lib/moderation/useModerationCauseDescription.ts:101
@@ -6057,7 +6058,7 @@ msgstr "Pilihan Anda akan disimpan, tetapi dapat diubah nanti di pengaturan."
#: src/screens/Onboarding/StepFollowingFeed.tsx:61
msgid "Your default feed is \"Following\""
-msgstr ""
+msgstr "Feed bawaan Anda adalah \"Mengikuti\""
#: src/view/com/auth/create/state.ts:110
#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
@@ -6105,7 +6106,7 @@ msgstr ""
#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
-msgstr ""
+msgstr "Kata sandi Anda telah berhasil diubah!"
#: src/view/com/composer/Composer.tsx:283
msgid "Your post has been published"
diff --git a/src/locale/locales/ja/messages.po b/src/locale/locales/ja/messages.po
index ca09edd542..fc9c7884ea 100644
--- a/src/locale/locales/ja/messages.po
+++ b/src/locale/locales/ja/messages.po
@@ -8,9 +8,9 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-01-30 19:00+0900\n"
+"PO-Revision-Date: 2024-03-24 09:30+0900\n"
"Last-Translator: Hima-Zinn\n"
-"Language-Team: Hima-Zinn, tkusano, dolciss, oboenikui, noritada, middlingphys\n"
+"Language-Team: Hima-Zinn, tkusano, dolciss, oboenikui, noritada, middlingphys, hibiki, reindex-ot, haoyayoi, vyv03354\n"
"Plural-Forms: \n"
#: src/view/com/modals/VerifyEmail.tsx:142
@@ -32,7 +32,7 @@ msgstr "メールがありません"
#: src/screens/Profile/Header/Metrics.tsx:45
msgid "{following} following"
-msgstr "{following}人をフォロー中"
+msgstr "{following} フォロー"
#: src/view/shell/desktop/RightNav.tsx:151
#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
@@ -66,11 +66,11 @@ msgstr "<0/>のメンバー"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> フォロー"
#: src/screens/Profile/Header/Metrics.tsx:46
msgid "<0>{following} 0><1>following1>"
-msgstr "<0>{following}0><1>人をフォロー中1>"
+msgstr "<0>{following} 0><1>フォロー1>"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
@@ -86,7 +86,7 @@ msgstr "<1>Bluesky1><0>へようこそ0>"
#: src/screens/Profile/Header/Handle.tsx:42
msgid "⚠Invalid Handle"
-msgstr "⚠不正なハンドル"
+msgstr "⚠無効なハンドル"
#: src/view/com/util/moderation/LabelInfo.tsx:45
#~ msgid "A content warning has been applied to this {0}."
@@ -112,7 +112,7 @@ msgstr "アクセシビリティ"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "アカウント"
#: src/view/com/auth/login/LoginForm.tsx:169
#: src/view/screens/Settings/index.tsx:327
@@ -126,7 +126,7 @@ msgstr "アカウントをブロックしました"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "アカウントをフォローしました"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
@@ -156,7 +156,7 @@ msgstr "アカウントのブロックを解除しました"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "アカウントのフォローを解除しました"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
@@ -202,7 +202,7 @@ msgstr "アプリパスワードを追加"
#: src/view/com/modals/report/Modal.tsx:194
#~ msgid "Add details to report"
-#~ msgstr "レポートに詳細を追加"
+#~ msgstr "報告に詳細を追加"
#: src/view/com/composer/Composer.tsx:466
msgid "Add link card"
@@ -214,11 +214,11 @@ msgstr "リンクカードを追加:"
#: src/components/dialogs/MutedWords.tsx:158
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "ミュートするワードを設定に追加"
#: src/components/dialogs/MutedWords.tsx:87
msgid "Add muted words and tags"
-msgstr ""
+msgstr "ミュートするワードとタグを追加"
#: src/view/com/modals/ChangeHandle.tsx:417
msgid "Add the following DNS record to your domain:"
@@ -248,7 +248,7 @@ msgstr "マイフィードに追加"
#: src/view/screens/PreferencesFollowingFeed.tsx:173
msgid "Adjust the number of likes a reply must have to be shown in your feed."
-msgstr "返信がフィードに表示されるために必要な「いいね」の数を調整します。"
+msgstr "返信がフィードに表示されるために必要ないいねの数を調整します。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
@@ -265,7 +265,7 @@ msgstr "成人向けコンテンツ"
#: src/components/moderation/ModerationLabelPref.tsx:114
msgid "Adult content is disabled."
-msgstr ""
+msgstr "成人向けコンテンツは無効になっています。"
#: src/screens/Moderation/index.tsx:377
#: src/view/screens/Settings/index.tsx:684
@@ -274,7 +274,7 @@ msgstr "高度な設定"
#: src/view/screens/Feeds.tsx:666
msgid "All the feeds you've saved, right in one place."
-msgstr ""
+msgstr "保存したすべてのフィードを1箇所にまとめます。"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
#: src/view/com/modals/ChangePassword.tsx:170
@@ -307,7 +307,7 @@ msgstr "以前のメールアドレス{0}にメールが送信されました。
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "ほかの選択肢にはあてはまらない問題"
#: src/view/com/profile/FollowButton.tsx:35
#: src/view/com/profile/FollowButton.tsx:45
@@ -327,7 +327,7 @@ msgstr "動物"
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "反社会的な行動"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -343,7 +343,7 @@ msgstr "アプリパスワードの名前には、英数字、スペース、ハ
#: src/view/com/modals/AddAppPasswords.tsx:99
msgid "App Password names must be at least 4 characters long."
-msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。"
+msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。"
#: src/view/screens/Settings/index.tsx:695
msgid "App password settings"
@@ -362,11 +362,11 @@ msgstr "アプリパスワード"
#: src/components/moderation/LabelsOnMeDialog.tsx:134
#: src/components/moderation/LabelsOnMeDialog.tsx:137
msgid "Appeal"
-msgstr ""
+msgstr "異議を申し立てる"
#: src/components/moderation/LabelsOnMeDialog.tsx:202
msgid "Appeal \"{0}\" label"
-msgstr ""
+msgstr "「{0}」のラベルに異議を申し立てる"
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
@@ -383,7 +383,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:193
msgid "Appeal submitted."
-msgstr ""
+msgstr "異議申し立てを提出しました。"
#: src/view/com/util/moderation/LabelInfo.tsx:52
#~ msgid "Appeal this decision"
@@ -403,7 +403,7 @@ msgstr "アプリパスワード「{name}」を本当に削除しますか?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "あなたのフィードから{0}を削除してもよろしいですか?"
#: src/view/com/composer/Composer.tsx:508
msgid "Are you sure you'd like to discard this draft?"
@@ -448,7 +448,7 @@ msgstr "戻る"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
msgid "Based on your interest in {interestsText}"
-msgstr "「{interestsText}」への興味に基づいたおすすめです。"
+msgstr "{interestsText}への興味に基づいたおすすめ"
#: src/view/screens/Settings/index.tsx:542
msgid "Basics"
@@ -466,7 +466,7 @@ msgstr "誕生日:"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "ブロック"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -475,7 +475,7 @@ msgstr "アカウントをブロック"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "アカウントをブロックしますか?"
#: src/view/screens/ProfileList.tsx:530
msgid "Block accounts"
@@ -522,7 +522,7 @@ msgstr "投稿をブロックしました。"
#: src/screens/Profile/Sections/Labels.tsx:153
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "ブロックしてもこのラベラーがあなたのアカウントにラベルを貼ることができます。"
#: src/view/screens/ProfileList.tsx:631
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
@@ -530,7 +530,7 @@ msgstr "ブロックしたことは公開されます。ブロック中のアカ
#: src/view/com/profile/ProfileMenu.tsx:353
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
-msgstr ""
+msgstr "ブロックしてもこのラベラーがあなたのアカウントにラベルを貼ることができますが、このアカウントがあなたのスレッドに返信したり、やりとりをしたりといったことはできなくなります。"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
#: src/view/com/auth/SplashScreen.web.tsx:133
@@ -545,7 +545,7 @@ msgstr "Bluesky"
#: src/view/com/auth/server-input/index.tsx:150
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
-msgstr "Bluesky は、ホスティング プロバイダーを選択できるオープン ネットワークです。 カスタム ホスティングは、開発者向けのベータ版で利用できるようになりました。"
+msgstr "Bluesky は、ホスティング プロバイダーを選択できるオープン ネットワークです。 カスタムホスティングは、開発者向けのベータ版で利用できるようになりました。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
@@ -576,11 +576,11 @@ msgstr "Blueskyはログアウトしたユーザーにあなたのプロフィ
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "画像をぼかす"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "画像のぼかしとフィードからのフィルタリング"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
@@ -609,7 +609,7 @@ msgstr "作成者:{0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "作成者:{0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -617,7 +617,7 @@ msgstr "作成者:<0/>"
#: src/view/com/auth/create/Policies.tsx:87
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "アカウントを作成することで、{els}に同意したものとみなされます。"
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
@@ -629,7 +629,7 @@ msgstr "カメラ"
#: src/view/com/modals/AddAppPasswords.tsx:216
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/Menu/index.tsx:213
#: src/components/Prompt.tsx:116
@@ -701,7 +701,7 @@ msgstr "検索をキャンセル"
#: src/view/com/modals/LinkWarning.tsx:88
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "リンク先のウェブサイトを開くことをキャンセル"
#: src/view/com/modals/VerifyEmail.tsx:152
msgid "Change"
@@ -769,7 +769,7 @@ msgstr "「全員」か「返信不可」のどちらかを選択"
#: src/view/screens/Settings/index.tsx:697
#~ msgid "Choose a new Bluesky username or create"
-#~ msgstr "Blueskyの別のユーザー名を選択するか、新規に作成します"
+#~ msgstr "Blueskyの別のユーザー名を選択するか、新規作成します"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
@@ -802,7 +802,7 @@ msgstr "レガシーストレージデータをすべてクリア"
#: src/view/screens/Settings/index.tsx:871
msgid "Clear all legacy storage data (restart after this)"
-msgstr "すべてのレガシーストレージデータをクリア(この後再起動します)"
+msgstr "すべてのレガシーストレージデータをクリア(このあと再起動します)"
#: src/view/screens/Settings/index.tsx:880
msgid "Clear all storage data"
@@ -810,7 +810,7 @@ msgstr "すべてのストレージデータをクリア"
#: src/view/screens/Settings/index.tsx:883
msgid "Clear all storage data (restart after this)"
-msgstr "すべてのストレージデータをクリア(この後再起動します)"
+msgstr "すべてのストレージデータをクリア(このあと再起動します)"
#: src/view/com/util/forms/SearchInput.tsx:88
#: src/view/screens/Search/Search.tsx:698
@@ -819,11 +819,11 @@ msgstr "検索クエリをクリア"
#: src/view/screens/Settings/index.tsx:869
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "すべてのレガシーストレージデータをクリア"
#: src/view/screens/Settings/index.tsx:881
msgid "Clears all storage data"
-msgstr ""
+msgstr "すべてのストレージデータをクリア"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -831,11 +831,11 @@ msgstr "こちらをクリック"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "{tag}のタグメニューをクリックして表示"
#: src/components/RichText.tsx:191
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "#{tag}のタグメニューをクリックして表示"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
@@ -874,7 +874,7 @@ msgstr "ナビゲーションフッターを閉じる"
#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "このダイアログを閉じる"
#: src/view/shell/index.web.tsx:56
msgid "Closes bottom navigation bar"
@@ -886,7 +886,7 @@ msgstr "パスワード更新アラートを閉じる"
#: src/view/com/composer/Composer.tsx:318
msgid "Closes post composer and discards post draft"
-msgstr "投稿の編集画面を閉じ、下書きを削除する"
+msgstr "投稿の編集画面を閉じて下書きを削除する"
#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
@@ -915,7 +915,7 @@ msgstr "初期設定を完了してアカウントを使い始める"
#: src/view/com/auth/create/Step3.tsx:73
msgid "Complete the challenge"
-msgstr ""
+msgstr "テストをクリアしてください"
#: src/view/com/composer/Composer.tsx:437
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
@@ -929,11 +929,11 @@ msgstr "返信を作成"
#: src/components/moderation/ModerationLabelPref.tsx:149
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr "このカテゴリのコンテンツフィルタリングを設定: {0}"
+msgstr "このカテゴリのコンテンツフィルタリングを設定:{0}"
#: src/components/moderation/ModerationLabelPref.tsx:116
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+msgstr "<0>モデレーションの設定0>で設定されています。"
#: src/components/Prompt.tsx:152
#: src/components/Prompt.tsx:155
@@ -970,11 +970,11 @@ msgstr "アカウントの削除を確認"
#: src/screens/Moderation/index.tsx:303
msgid "Confirm your age:"
-msgstr ""
+msgstr "年齢の確認:"
#: src/screens/Moderation/index.tsx:294
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "生年月日の確認"
#: src/view/com/modals/ChangeEmail.tsx:157
#: src/view/com/modals/DeleteAccount.tsx:176
@@ -998,11 +998,11 @@ msgstr "サポートに連絡"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "コンテンツ"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
+msgstr "ブロックされたコンテンツ"
#: src/view/screens/Moderation.tsx:83
#~ msgid "Content filtering"
@@ -1014,7 +1014,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:287
msgid "Content filters"
-msgstr ""
+msgstr "コンテンツのフィルター"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -1039,7 +1039,7 @@ msgstr "コンテンツの警告"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+msgstr "コンテキストメニューの背景をクリックし、メニューを閉じる。"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
#: src/screens/Onboarding/StepFollowingFeed.tsx:153
@@ -1097,7 +1097,7 @@ msgstr "コピー"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Copy {0}"
-msgstr ""
+msgstr "{0}をコピー"
#: src/view/screens/ProfileList.tsx:388
msgid "Copy link to list"
@@ -1124,11 +1124,11 @@ msgstr "著作権ポリシー"
#: src/view/screens/ProfileFeed.tsx:102
msgid "Could not load feed"
-msgstr "フィードのロードに失敗しました"
+msgstr "フィードの読み込みに失敗しました"
#: src/view/screens/ProfileList.tsx:907
msgid "Could not load list"
-msgstr "リストのロードに失敗しました"
+msgstr "リストの読み込みに失敗しました"
#: src/view/com/auth/create/Step2.tsx:91
#~ msgid "Country"
@@ -1159,11 +1159,11 @@ msgstr "新しいアカウントを作成"
#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "{0}の報告を作成"
#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
-msgstr "{0}を作成済み"
+msgstr "{0}に作成"
#: src/view/screens/ProfileFeed.tsx:616
#~ msgid "Created by <0/>"
@@ -1222,7 +1222,7 @@ msgstr "ダークテーマ"
#: src/view/screens/Settings/index.tsx:841
msgid "Debug Moderation"
-msgstr ""
+msgstr "モデレーションをデバッグ"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
@@ -1232,7 +1232,7 @@ msgstr "デバッグパネル"
#: src/view/screens/AppPasswords.tsx:268
#: src/view/screens/ProfileList.tsx:613
msgid "Delete"
-msgstr ""
+msgstr "削除"
#: src/view/screens/Settings/index.tsx:796
msgid "Delete account"
@@ -1248,7 +1248,7 @@ msgstr "アプリパスワードを削除"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "アプリパスワードを削除しますか?"
#: src/view/screens/ProfileList.tsx:415
msgid "Delete List"
@@ -1273,7 +1273,7 @@ msgstr "投稿を削除"
#: src/view/screens/ProfileList.tsx:608
msgid "Delete this list?"
-msgstr ""
+msgstr "このリストを削除しますか?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Delete this post?"
@@ -1315,7 +1315,7 @@ msgstr "グレー"
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
#: src/screens/Moderation/index.tsx:343
msgid "Disabled"
-msgstr ""
+msgstr "無効"
#: src/view/com/composer/Composer.tsx:510
msgid "Discard"
@@ -1327,7 +1327,7 @@ msgstr "破棄"
#: src/view/com/composer/Composer.tsx:507
msgid "Discard draft?"
-msgstr ""
+msgstr "下書きを削除しますか?"
#: src/screens/Moderation/index.tsx:520
#: src/screens/Moderation/index.tsx:524
@@ -1341,11 +1341,11 @@ msgstr "新しいカスタムフィードを見つける"
#: src/view/screens/Feeds.tsx:473
#~ msgid "Discover new feeds"
-#~ msgstr "新しいフィードを見つける"
+#~ msgstr "新しいフィードを探す"
#: src/view/screens/Feeds.tsx:689
msgid "Discover New Feeds"
-msgstr ""
+msgstr "新しいフィードを探す"
#: src/view/com/modals/EditProfile.tsx:192
msgid "Display name"
@@ -1357,15 +1357,15 @@ msgstr "表示名"
#: src/view/com/modals/ChangeHandle.tsx:398
msgid "DNS Panel"
-msgstr ""
+msgstr "DNSパネルがある場合"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "ヌードは含まれません。"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "Domain Value"
-msgstr ""
+msgstr "ドメインの値"
#: src/view/com/modals/ChangeHandle.tsx:489
msgid "Domain verified!"
@@ -1414,12 +1414,12 @@ msgstr "ダブルタップでサインイン"
#: src/view/screens/Settings/index.tsx:755
#~ msgid "Download Bluesky account data (repository)"
-#~ msgstr ""
+#~ msgstr "Blueskyのアカウントのデータ(リポジトリ)をダウンロード"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
-msgstr ""
+msgstr "CARファイルをダウンロード"
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
@@ -1431,7 +1431,7 @@ msgstr "Appleのポリシーにより、成人向けコンテンツはサイン
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
-msgstr ""
+msgstr "例:太郎"
#: src/view/com/modals/EditProfile.tsx:185
msgid "e.g. Alice Roberts"
@@ -1439,7 +1439,7 @@ msgstr "例:山田 太郎"
#: src/view/com/modals/ChangeHandle.tsx:381
msgid "e.g. alice.com"
-msgstr ""
+msgstr "例:taro.com"
#: src/view/com/modals/EditProfile.tsx:203
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1447,7 +1447,7 @@ msgstr "例:アーティスト、犬好き、熱烈な読書愛好家。"
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "例:芸術的なヌード。"
#: src/view/com/modals/CreateOrEditList.tsx:283
msgid "e.g. Great Posters"
@@ -1477,7 +1477,7 @@ msgstr "編集"
#: src/view/com/util/UserAvatar.tsx:299
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "アバターを編集"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:207
@@ -1567,7 +1567,7 @@ msgstr "{0}のみ有効にする"
#: src/screens/Moderation/index.tsx:331
msgid "Enable adult content"
-msgstr ""
+msgstr "成人向けコンテンツを有効にする"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1592,7 +1592,7 @@ msgstr "この設定を有効にすると、自分がフォローしているユ
#: src/screens/Moderation/index.tsx:341
msgid "Enabled"
-msgstr ""
+msgstr "有効"
#: src/screens/Profile/Sections/Feed.tsx:84
msgid "End of feed"
@@ -1605,7 +1605,7 @@ msgstr "このアプリパスワードの名前を入力"
#: src/components/dialogs/MutedWords.tsx:100
#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
-msgstr ""
+msgstr "ワードまたはタグを入力"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
@@ -1658,7 +1658,7 @@ msgstr "ユーザー名とパスワードを入力してください"
#: src/view/com/auth/create/Step3.tsx:67
msgid "Error receiving captcha response."
-msgstr ""
+msgstr "Captchaレスポンスの受信中にエラーが発生しました。"
#: src/view/screens/Search/Search.tsx:110
msgid "Error:"
@@ -1670,11 +1670,11 @@ msgstr "全員"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "過剰なメンションや返信"
#: src/view/com/modals/DeleteAccount.tsx:231
msgid "Exits account deletion process"
-msgstr ""
+msgstr "アカウントの削除処理を終了"
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Exits handle change process"
@@ -1682,7 +1682,7 @@ msgstr "ハンドルの変更を終了"
#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Exits image cropping process"
-msgstr ""
+msgstr "画像の切り抜き処理を終了"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1708,11 +1708,11 @@ msgstr "返信する投稿全体を展開または折りたたむ"
#: src/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "露骨な、または不愉快になる可能性のあるメディア。"
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "露骨な性的画像。"
#: src/view/screens/Settings/index.tsx:777
msgid "Export my data"
@@ -1758,11 +1758,11 @@ msgstr "投稿の削除に失敗しました。もう一度お試しください
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
msgid "Failed to load recommended feeds"
-msgstr "おすすめのフィードのロードに失敗しました"
+msgstr "おすすめのフィードの読み込みに失敗しました"
#: src/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "画像の保存に失敗しました:{0}"
#: src/Navigation.tsx:196
msgid "Feed"
@@ -1818,11 +1818,11 @@ msgstr "フィードには特定の話題に焦点を当てたものもありま
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
-msgstr ""
+msgstr "ファイルのコンテンツ"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "フィードからのフィルター"
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Finalizing"
@@ -1848,7 +1848,7 @@ msgstr "似ているアカウントを検索中..."
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr ""
+msgstr "Followingフィードに表示されるコンテンツを調整します。"
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1897,7 +1897,7 @@ msgstr "{0}をフォロー"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "アカウントをフォロー"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
msgid "Follow All"
@@ -1953,7 +1953,7 @@ msgstr "{0}をフォローしています"
#: src/view/screens/Settings/index.tsx:553
msgid "Following feed preferences"
-msgstr ""
+msgstr "Followingフィードの設定"
#: src/Navigation.tsx:262
#: src/view/com/home/HomeHeaderLayout.web.tsx:50
@@ -1961,7 +1961,7 @@ msgstr ""
#: src/view/screens/PreferencesFollowingFeed.tsx:104
#: src/view/screens/Settings/index.tsx:562
msgid "Following Feed Preferences"
-msgstr ""
+msgstr "Followingフィードの設定"
#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
@@ -1998,12 +1998,12 @@ msgstr "パスワードを忘れた"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "望ましくないコンテンツを頻繁に投稿"
#: src/screens/Hashtag.tsx:108
#: src/screens/Hashtag.tsx:148
msgid "From @{sanitizedAuthor}"
-msgstr ""
+msgstr "@{sanitizedAuthor}による"
#: src/view/com/posts/FeedItem.tsx:179
msgctxt "from-feed"
@@ -2021,7 +2021,7 @@ msgstr "開始"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "法律または利用規約への明らかな違反"
#: src/components/moderation/ScreenHider.tsx:144
#: src/components/moderation/ScreenHider.tsx:153
@@ -2051,11 +2051,11 @@ msgstr "前のステップに戻る"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "ホームへ"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "ホームへ"
#: src/view/screens/Search/Search.tsx:748
#: src/view/shell/desktop/Search.tsx:263
@@ -2072,7 +2072,7 @@ msgstr "次へ"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "生々しいメディア"
#: src/view/com/modals/ChangeHandle.tsx:265
msgid "Handle"
@@ -2080,23 +2080,23 @@ msgstr "ハンドル"
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "嫌がらせ、荒らし、不寛容"
#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "ハッシュタグ"
#: src/components/RichText.tsx:188
#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
+#~ msgstr "ハッシュタグ:{tag}"
#: src/components/RichText.tsx:190
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "ハッシュタグ:#{tag}"
#: src/view/com/auth/create/CreateAccount.tsx:208
msgid "Having trouble?"
-msgstr "何か問題が発生しましたか?"
+msgstr "なにか問題が発生しましたか?"
#: src/view/shell/desktop/RightNav.tsx:90
#: src/view/shell/Drawer.tsx:324
@@ -2117,7 +2117,7 @@ msgstr "人気のあるフィードを紹介します。好きなだけフォロ
#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr "「{interestsText}」への興味に基づいたおすすめです。好きなだけフォローすることができます。"
+msgstr "{interestsText}への興味に基づいたおすすめです。好きなだけフォローすることができます。"
#: src/view/com/modals/AddAppPasswords.tsx:153
msgid "Here is your app password."
@@ -2185,11 +2185,11 @@ msgstr "このフィードが見つからないようです。もしかしたら
#: src/screens/Moderation/index.tsx:61
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
-msgstr ""
+msgstr "このデータの読み込みに問題があるようです。詳細は以下をご覧ください。この問題が解決しない場合は、サポートにご連絡ください。"
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "そのモデレーションサービスを読み込めませんでした。"
#: src/Navigation.tsx:454
#: src/view/shell/bottom-bar/BottomBar.tsx:139
@@ -2208,7 +2208,7 @@ msgstr "ホーム"
#: src/view/com/modals/ChangeHandle.tsx:421
msgid "Host:"
-msgstr ""
+msgstr "ホスト:"
#: src/view/com/auth/create/Step1.tsx:75
#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
@@ -2243,19 +2243,19 @@ msgstr "ALTテキストが長い場合、ALTテキストの展開状態を切り
#: src/view/com/modals/SelfLabel.tsx:127
msgid "If none are selected, suitable for all ages."
-msgstr "何も選択しない場合は、全年齢対象です。"
+msgstr "なにも選択しない場合は、全年齢対象です。"
#: src/view/com/auth/create/Policies.tsx:91
msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
-msgstr ""
+msgstr "あなたがお住いの国の法律においてまだ成人していない場合は、親権者または法定後見人があなたに代わって本規約をお読みください。"
#: src/view/screens/ProfileList.tsx:610
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "このリストを削除すると、復元できなくなります。"
#: src/view/com/util/forms/PostDropdownBtn.tsx:316
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "この投稿を削除すると、復元できなくなります。"
#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
@@ -2263,7 +2263,7 @@ msgstr "パスワードを変更する場合は、あなたのアカウントで
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "違法かつ緊急"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2280,7 +2280,7 @@ msgstr "画像のALTテキスト"
#: src/lib/moderation/useReportOptions.ts:47
msgid "Impersonation or false claims about identity or affiliation"
-msgstr ""
+msgstr "なりすまし、または身元もしくは所属に関する虚偽の主張"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
msgid "Input code sent to your email for password reset"
@@ -2344,7 +2344,7 @@ msgstr "あなたのパスワードを入力"
#: src/view/com/modals/ChangeHandle.tsx:390
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "ご希望のホスティングプロバイダーを入力"
#: src/view/com/auth/create/Step2.tsx:80
msgid "Input your user handle"
@@ -2381,7 +2381,7 @@ msgstr "招待コード:{0}個使用可能"
#: src/view/shell/Drawer.tsx:645
#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr "使用可能な招待コード: {invitesAvailable} 個"
+#~ msgstr "使用可能な招待コード:{invitesAvailable}個"
#: src/view/com/modals/InviteCodes.tsx:169
msgid "Invite codes: 1 available"
@@ -2415,35 +2415,35 @@ msgstr "報道"
#: src/components/moderation/LabelsOnMe.tsx:59
msgid "label has been placed on this {labelTarget}"
-msgstr ""
+msgstr "個のラベルがこの{labelTarget}に貼られました"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "{0}によるラベル"
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "投稿者によるラベル。"
#: src/view/screens/Profile.tsx:186
msgid "Labels"
-msgstr ""
+msgstr "ラベル"
#: src/screens/Profile/Sections/Labels.tsx:143
msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
-msgstr ""
+msgstr "ラベルは、ユーザーやコンテンツに対する注釈です。ラベルはネットワークを隠したり、警告したり、分類したりするのに使われます。"
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "個のラベルがこの{labelTarget}に貼られました"
#: src/components/moderation/LabelsOnMeDialog.tsx:63
msgid "Labels on your account"
-msgstr ""
+msgstr "あなたのアカウントのラベル"
#: src/components/moderation/LabelsOnMeDialog.tsx:65
msgid "Labels on your content"
-msgstr ""
+msgstr "あなたのコンテンツのラベル"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
@@ -2477,7 +2477,7 @@ msgstr "詳細"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "このコンテンツに適用されるモデレーションはこちらを参照してください。"
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:126
@@ -2490,7 +2490,7 @@ msgstr "Blueskyで公開されている内容はこちらを参照してくだ
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "詳細。"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2553,7 +2553,7 @@ msgstr "{0} {1}にいいねされました"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "{count} {0}にいいねされました"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
@@ -2637,22 +2637,22 @@ msgstr "リスト"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
#~ msgid "Load more posts"
-#~ msgstr "投稿をさらにロード"
+#~ msgstr "投稿をさらに読み込む"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
-msgstr "最新の通知をロード"
+msgstr "最新の通知を読み込む"
#: src/screens/Profile/Sections/Feed.tsx:70
#: src/view/com/feeds/FeedPage.tsx:124
#: src/view/screens/ProfileFeed.tsx:495
#: src/view/screens/ProfileList.tsx:695
msgid "Load new posts"
-msgstr "最新の投稿をロード"
+msgstr "最新の投稿を読み込む"
#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
-msgstr "ロード中..."
+msgstr "読み込み中..."
#: src/view/com/modals/ServerInput.tsx:50
#~ msgid "Local dev server"
@@ -2691,15 +2691,15 @@ msgstr "意図した場所であることを確認してください!"
#: src/components/dialogs/MutedWords.tsx:83
msgid "Manage your muted words and tags"
-msgstr ""
+msgstr "ミュートしたワードとタグの管理"
#: src/view/com/auth/create/Step2.tsx:118
msgid "May not be longer than 253 characters"
-msgstr ""
+msgstr "253文字より長くはできません"
#: src/view/com/auth/create/Step2.tsx:109
msgid "May only contain letters and numbers"
-msgstr ""
+msgstr "英字と数字のみ使用可能です"
#: src/view/screens/Profile.tsx:190
msgid "Media"
@@ -2728,7 +2728,7 @@ msgstr "サーバーからのメッセージ:{0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "誤解を招くアカウント"
#: src/Navigation.tsx:119
#: src/screens/Moderation/index.tsx:106
@@ -2741,7 +2741,7 @@ msgstr "モデレーション"
#: src/components/moderation/ModerationDetailsDialog.tsx:113
msgid "Moderation details"
-msgstr ""
+msgstr "モデレーションの詳細"
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
@@ -2781,11 +2781,11 @@ msgstr "モデレーションの設定"
#: src/Navigation.tsx:216
msgid "Moderation states"
-msgstr ""
+msgstr "モデレーションのステータス"
#: src/screens/Moderation/index.tsx:217
msgid "Moderation tools"
-msgstr ""
+msgstr "モデレーションのツール"
#: src/components/moderation/ModerationDetailsDialog.tsx:49
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2794,7 +2794,7 @@ msgstr "モデレーターによりコンテンツに一般的な警告が設定
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "さらに"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
@@ -2806,7 +2806,7 @@ msgstr "その他のオプション"
#: src/view/com/util/forms/PostDropdownBtn.tsx:315
#~ msgid "More post options"
-#~ msgstr "そのほかの投稿のオプション"
+#~ msgstr "その他の投稿のオプション"
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
@@ -2814,15 +2814,15 @@ msgstr "いいねの数が多い順に返信を表示"
#: src/view/com/auth/create/Step2.tsx:122
msgid "Must be at least 3 characters"
-msgstr ""
+msgstr "最低でも3文字以上にしてください"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
-msgstr ""
+msgstr "ミュート"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "{truncatedTag}をミュート"
#: src/view/com/profile/ProfileMenu.tsx:279
#: src/view/com/profile/ProfileMenu.tsx:286
@@ -2835,19 +2835,19 @@ msgstr "アカウントをミュート"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "{displayTag}のすべての投稿をミュート"
#: src/components/TagMenu/index.tsx:211
#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿をミュート"
#: src/components/dialogs/MutedWords.tsx:149
msgid "Mute in tags only"
-msgstr ""
+msgstr "タグのみをミュート"
#: src/components/dialogs/MutedWords.tsx:134
msgid "Mute in text & tags"
-msgstr ""
+msgstr "テキストとタグをミュート"
#: src/view/screens/ProfileList.tsx:461
#: src/view/screens/ProfileList.tsx:624
@@ -2864,11 +2864,11 @@ msgstr "これらのアカウントをミュートしますか?"
#: src/components/dialogs/MutedWords.tsx:127
msgid "Mute this word in post text and tags"
-msgstr ""
+msgstr "投稿のテキストやタグでこのワードをミュート"
#: src/components/dialogs/MutedWords.tsx:142
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "タグのみでこのワードをミュート"
#: src/view/com/util/forms/PostDropdownBtn.tsx:251
#: src/view/com/util/forms/PostDropdownBtn.tsx:257
@@ -2878,7 +2878,7 @@ msgstr "スレッドをミュート"
#: src/view/com/util/forms/PostDropdownBtn.tsx:267
#: src/view/com/util/forms/PostDropdownBtn.tsx:269
msgid "Mute words & tags"
-msgstr ""
+msgstr "ワードとタグをミュート"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
@@ -2899,11 +2899,11 @@ msgstr "ミュート中のアカウントの投稿は、フィードや通知か
#: src/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "「{0}」によってミュート中"
#: src/screens/Moderation/index.tsx:233
msgid "Muted words & tags"
-msgstr ""
+msgstr "ミュートしたワードとタグ"
#: src/view/screens/ProfileList.tsx:621
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
@@ -2924,7 +2924,7 @@ msgstr "マイプロフィール"
#: src/view/screens/Settings/index.tsx:596
msgid "My saved feeds"
-msgstr ""
+msgstr "保存されたフィード"
#: src/view/screens/Settings/index.tsx:602
msgid "My Saved Feeds"
@@ -2932,7 +2932,7 @@ msgstr "保存されたフィード"
#: src/view/com/auth/server-input/index.tsx:118
#~ msgid "my-server.com"
-#~ msgstr ""
+#~ msgstr "my-server.com"
#: src/view/com/modals/AddAppPasswords.tsx:179
#: src/view/com/modals/CreateOrEditList.tsx:290
@@ -2947,7 +2947,7 @@ msgstr "名前は必須です"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "名前または説明がコミュニティ基準に違反"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
@@ -2967,7 +2967,7 @@ msgstr "あなたのプロフィールに移動します"
#: src/components/ReportDialog/SelectReportOptionView.tsx:124
msgid "Need to report a copyright violation?"
-msgstr ""
+msgstr "著作権違反を報告する必要がありますか?"
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
@@ -2985,11 +2985,11 @@ msgstr "フォロワーやデータへのアクセスを失うことはありま
#: src/components/dialogs/MutedWords.tsx:293
#~ msgid "Nevermind"
-#~ msgstr ""
+#~ msgstr "やめておく"
#: src/view/com/modals/ChangeHandle.tsx:520
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "気にせずにハンドルを作成"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -3086,7 +3086,7 @@ msgstr "説明はありません"
#: src/view/com/modals/ChangeHandle.tsx:406
msgid "No DNS Panel"
-msgstr ""
+msgstr "DNSパネルがない場合"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
msgid "No longer following {0}"
@@ -3103,7 +3103,7 @@ msgstr "結果はありません"
#: src/components/Lists.tsx:189
msgid "No results found"
-msgstr ""
+msgstr "結果は見つかりません"
#: src/view/screens/Feeds.tsx:495
msgid "No results found for \"{query}\""
@@ -3126,11 +3126,11 @@ msgstr "返信不可"
#: src/components/LikedByList.tsx:102
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "まだ誰もこれをいいねしていません。あなたが最初になるべきかもしれません!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "性的ではないヌード"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
@@ -3149,7 +3149,7 @@ msgstr "今はしない"
#: src/view/com/profile/ProfileMenu.tsx:368
#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "Note about sharing"
-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."
@@ -3175,11 +3175,11 @@ msgstr "ヌード"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or pornography not labeled as such"
-msgstr ""
+msgstr "ヌードもしくはポルノと表示されていないもの"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "オフ"
#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
@@ -3187,11 +3187,11 @@ msgstr "ちょっと!"
#: src/screens/Onboarding/StepInterests/index.tsx:128
msgid "Oh no! Something went wrong."
-msgstr "ちょっと!何かがおかしいです。"
+msgstr "ちょっと!なにかがおかしいです。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
msgid "Okay"
@@ -3207,7 +3207,7 @@ msgstr "オンボーディングのリセット"
#: src/view/com/composer/Composer.tsx:391
msgid "One or more images is missing alt text."
-msgstr "1つもしくは複数の画像にALTテキストがありません。"
+msgstr "1つもしくは複数の画像にALTテキストがありません。"
#: src/view/com/threadgate/WhoCanReply.tsx:100
msgid "Only {0} can reply."
@@ -3215,7 +3215,7 @@ msgstr "{0}のみ返信可能"
#: src/components/Lists.tsx:83
msgid "Oops, something went wrong!"
-msgstr ""
+msgstr "おっと、なにかが間違っているようです!"
#: src/components/Lists.tsx:157
#: src/view/screens/AppPasswords.tsx:67
@@ -3229,7 +3229,7 @@ msgstr "開かれています"
#: src/view/screens/Moderation.tsx:75
#~ msgid "Open content filtering settings"
-#~ msgstr ""
+#~ msgstr "コンテンツのフィルタリング設定を開く"
#: src/view/com/composer/Composer.tsx:490
#: src/view/com/composer/Composer.tsx:491
@@ -3238,7 +3238,7 @@ msgstr "絵文字を入力"
#: src/view/screens/ProfileFeed.tsx:299
msgid "Open feed options menu"
-msgstr ""
+msgstr "フィードの設定メニューを開く"
#: src/view/screens/Settings/index.tsx:734
msgid "Open links with in-app browser"
@@ -3246,11 +3246,11 @@ msgstr "アプリ内ブラウザーでリンクを開く"
#: src/screens/Moderation/index.tsx:229
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "ミュートしたワードとタグの設定を開く"
#: src/view/screens/Moderation.tsx:92
#~ msgid "Open muted words settings"
-#~ msgstr ""
+#~ msgstr "ミュートしたワードの設定を開く"
#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
msgid "Open navigation"
@@ -3258,7 +3258,7 @@ msgstr "ナビゲーションを開く"
#: src/view/com/util/forms/PostDropdownBtn.tsx:183
msgid "Open post options menu"
-msgstr ""
+msgstr "投稿のオプションを開く"
#: src/view/screens/Settings/index.tsx:828
#: src/view/screens/Settings/index.tsx:838
@@ -3267,7 +3267,7 @@ msgstr "絵本のページを開く"
#: src/view/screens/Settings/index.tsx:816
msgid "Open system log"
-msgstr ""
+msgstr "システムのログを開く"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
@@ -3308,12 +3308,12 @@ msgstr "外部コンテンツの埋め込みの設定を開く"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:56
#: src/view/com/auth/SplashScreen.tsx:70
msgid "Opens flow to create a new Bluesky account"
-msgstr ""
+msgstr "新しいBlueskyのアカウントを作成するフローを開く"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:74
#: src/view/com/auth/SplashScreen.tsx:83
msgid "Opens flow to sign into your existing Bluesky account"
-msgstr ""
+msgstr "既存のBlueskyアカウントにサインインするフローを開く"
#: src/view/com/profile/ProfileHeader.tsx:575
#~ msgid "Opens followers list"
@@ -3333,7 +3333,7 @@ msgstr "招待コードのリストを開く"
#: src/view/screens/Settings/index.tsx:798
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
+msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です"
#: src/view/screens/Settings/index.tsx:774
#~ msgid "Opens modal for account deletion confirmation. Requires email code."
@@ -3341,19 +3341,19 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:756
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Blueskyのパスワードを変更するためのモーダルを開く"
#: src/view/screens/Settings/index.tsx:718
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "新しいBlueskyのハンドルを選択するためのモーダルを開く"
#: src/view/screens/Settings/index.tsx:779
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Blueskyのアカウントのデータ(リポジトリ)をダウンロードするためのモーダルを開く"
#: src/view/screens/Settings/index.tsx:970
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "メールアドレスの認証のためのモーダルを開く"
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Opens modal for using custom domain"
@@ -3378,7 +3378,7 @@ msgstr "保存されたすべてのフィードで画面を開く"
#: src/view/screens/Settings/index.tsx:696
msgid "Opens the app password settings"
-msgstr ""
+msgstr "アプリパスワードの設定を開く"
#: src/view/screens/Settings/index.tsx:676
#~ msgid "Opens the app password settings page"
@@ -3386,7 +3386,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:554
msgid "Opens the Following feed preferences"
-msgstr ""
+msgstr "Followingフィードの設定を開く"
#: src/view/screens/Settings/index.tsx:535
#~ msgid "Opens the home feed preferences"
@@ -3394,7 +3394,7 @@ msgstr ""
#: src/view/com/modals/LinkWarning.tsx:76
msgid "Opens the linked website"
-msgstr ""
+msgstr "リンク先のウェブサイトを開く"
#: src/view/screens/Settings/index.tsx:829
#: src/view/screens/Settings/index.tsx:839
@@ -3415,7 +3415,7 @@ msgstr "{numItems}個中{0}目のオプション"
#: src/components/ReportDialog/SubmitView.tsx:162
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "オプションとして、以下に追加情報をご記入ください:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3427,7 +3427,7 @@ msgstr "または以下のオプションを組み合わせてください:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "その他"
#: src/view/com/auth/login/ChooseAccountForm.tsx:147
msgid "Other account"
@@ -3462,7 +3462,7 @@ msgstr "パスワード"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "パスワードが変更されました"
#: src/view/com/auth/login/Login.tsx:157
msgid "Password updated"
@@ -3507,7 +3507,7 @@ msgstr "ホームにピン留め"
#: src/view/screens/ProfileFeed.tsx:294
msgid "Pin to Home"
-msgstr ""
+msgstr "ホームにピン留め"
#: src/view/screens/SavedFeeds.tsx:88
msgid "Pinned Feeds"
@@ -3536,7 +3536,7 @@ msgstr "パスワードを選択してください。"
#: src/view/com/auth/create/state.ts:131
msgid "Please complete the verification captcha."
-msgstr ""
+msgstr "Captcha認証を完了してください。"
#: 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."
@@ -3556,7 +3556,7 @@ msgstr "このアプリパスワードに固有の名前を入力するか、ラ
#: src/components/dialogs/MutedWords.tsx:68
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "ミュートにする有効な単語、タグ、フレーズを入力してください"
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
@@ -3576,7 +3576,7 @@ msgstr "パスワードも入力してください:"
#: src/components/moderation/LabelsOnMeDialog.tsx:222
msgid "Please explain why you think this label was incorrectly applied by {0}"
-msgstr ""
+msgstr "{0}によって貼られたこのラベルが誤って適用されたと思われる理由を説明してください"
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
@@ -3594,7 +3594,7 @@ msgstr "メールアドレスを確認してください"
#: src/view/com/composer/Composer.tsx:221
msgid "Please wait for your link card to finish loading"
-msgstr "リンクカードがロードされるまでお待ちください"
+msgstr "リンクカードが読み込まれるまでお待ちください"
#: src/screens/Onboarding/index.tsx:37
msgid "Politics"
@@ -3606,7 +3606,7 @@ msgstr "ポルノ"
#: src/lib/moderation/useGlobalLabelStrings.ts:34
msgid "Pornography"
-msgstr ""
+msgstr "ポルノグラフィ"
#: src/view/com/composer/Composer.tsx:366
#: src/view/com/composer/Composer.tsx:374
@@ -3646,12 +3646,12 @@ msgstr "投稿を非表示"
#: src/components/moderation/ModerationDetailsDialog.tsx:98
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "ミュートしたワードによって投稿が表示されません"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "あなたが非表示にした投稿"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3668,7 +3668,7 @@ msgstr "投稿が見つかりません"
#: src/components/TagMenu/index.tsx:253
msgid "posts"
-msgstr ""
+msgstr "投稿"
#: src/view/screens/Profile.tsx:188
msgid "Posts"
@@ -3676,7 +3676,7 @@ msgstr "投稿"
#: src/components/dialogs/MutedWords.tsx:90
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr ""
+msgstr "投稿はテキスト、タグ、またはその両方に基づいてミュートできます。"
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
@@ -3688,7 +3688,7 @@ msgstr "誤解を招く可能性のあるリンク"
#: src/components/Lists.tsx:88
msgid "Press to retry"
-msgstr ""
+msgstr "再実行する"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3722,7 +3722,7 @@ msgstr "処理中..."
#: src/view/screens/DebugMod.tsx:888
#: src/view/screens/Profile.tsx:340
msgid "profile"
-msgstr ""
+msgstr "プロフィール"
#: src/view/shell/bottom-bar/BottomBar.tsx:251
#: src/view/shell/desktop/LeftNav.tsx:419
@@ -3788,7 +3788,7 @@ msgstr "比率"
#: src/view/screens/Search/Search.tsx:776
msgid "Recent Searches"
-msgstr ""
+msgstr "検索履歴"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
msgid "Recommended Feeds"
@@ -3817,11 +3817,11 @@ msgstr "アカウントを削除"
#: src/view/com/util/UserAvatar.tsx:358
msgid "Remove Avatar"
-msgstr ""
+msgstr "アバターを削除"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "バナーを削除"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3829,7 +3829,7 @@ msgstr "フィードを削除"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "フィードを削除しますか?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
@@ -3840,7 +3840,7 @@ msgstr "マイフィードから削除"
#: src/view/com/feeds/FeedSourceCard.tsx:278
msgid "Remove from my feeds?"
-msgstr ""
+msgstr "マイフィードから削除しますか?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
@@ -3852,7 +3852,7 @@ msgstr "イメージプレビューを削除"
#: src/components/dialogs/MutedWords.tsx:330
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "リストからミュートワードを削除"
#: src/view/com/modals/Repost.tsx:47
msgid "Remove repost"
@@ -3864,7 +3864,7 @@ msgstr "リポストを削除"
#: src/view/com/posts/FeedErrorMessage.tsx:202
msgid "Remove this feed from your saved feeds"
-msgstr ""
+msgstr "保存したフィードからこのフィードを削除"
#: src/view/com/posts/FeedErrorMessage.tsx:132
#~ msgid "Remove this feed from your saved feeds?"
@@ -3881,7 +3881,7 @@ msgstr "フィードから削除しました"
#: src/view/screens/ProfileFeed.tsx:208
msgid "Removed from your feeds"
-msgstr ""
+msgstr "あなたのフィードから削除しました"
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
@@ -3935,23 +3935,23 @@ msgstr "投稿を報告"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Report this content"
-msgstr ""
+msgstr "このコンテンツを報告"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Report this feed"
-msgstr ""
+msgstr "このフィードを報告"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Report this list"
-msgstr ""
+msgstr "このリストを報告"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Report this post"
-msgstr ""
+msgstr "この投稿を報告"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Report this user"
-msgstr ""
+msgstr "このユーザーを報告"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:48
@@ -4091,12 +4091,12 @@ msgstr "前のページに戻る"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+msgstr "ホームページに戻る"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:112
msgid "Returns to previous page"
-msgstr ""
+msgstr "前のページに戻る"
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
@@ -4121,7 +4121,7 @@ msgstr "ALTテキストを保存"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "誕生日を保存"
#: src/view/com/modals/EditProfile.tsx:232
msgid "Save Changes"
@@ -4138,7 +4138,7 @@ msgstr "画像の切り抜きを保存"
#: src/view/screens/ProfileFeed.tsx:335
#: src/view/screens/ProfileFeed.tsx:341
msgid "Save to my feeds"
-msgstr ""
+msgstr "マイフィードに保存"
#: src/view/screens/SavedFeeds.tsx:122
msgid "Saved Feeds"
@@ -4146,11 +4146,11 @@ msgstr "保存されたフィード"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "カメラロールに保存しました。"
#: src/view/screens/ProfileFeed.tsx:212
msgid "Saved to your feeds"
-msgstr ""
+msgstr "フィードを保存しました"
#: src/view/com/modals/EditProfile.tsx:225
msgid "Saves any changes to your profile"
@@ -4162,7 +4162,7 @@ msgstr "{handle}へのハンドルの変更を保存"
#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Saves image crop settings"
-msgstr ""
+msgstr "画像の切り抜き設定を保存"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
@@ -4196,19 +4196,19 @@ msgstr "「{query}」を検索"
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
+msgstr "{displayTag}のすべての投稿を検索(@{authorHandle}のみ)"
#: src/components/TagMenu/index.tsx:145
#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿を検索(@{authorHandle}のみ)"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "{displayTag}のすべての投稿を検索(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:90
#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿を検索(すべてのユーザー)"
#: src/view/screens/Search/Search.tsx:390
#~ msgid "Search for posts and users."
@@ -4226,27 +4226,27 @@ msgstr "必要なセキュリティの手順"
#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
-msgstr ""
+msgstr "{truncatedTag}の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "{truncatedTag}の投稿を表示(このユーザーのみ)"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "<0>{displayTag}0>の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "<0>{displayTag}0>の投稿を表示(このユーザーのみ)"
#: src/components/TagMenu/index.tsx:128
#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#~ msgstr "<0>{tag}0>の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:189
#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
+#~ msgstr "<0>{tag}0>の投稿を表示(このユーザーのみ)"
#: src/view/screens/SavedFeeds.tsx:163
msgid "See this guide"
@@ -4270,11 +4270,11 @@ msgstr "既存のアカウントから選択"
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "言語を選択"
#: src/components/ReportDialog/SelectLabelerView.tsx:32
msgid "Select moderator"
-msgstr ""
+msgstr "モデレーターを選択"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
@@ -4291,7 +4291,7 @@ msgstr "次のアカウントを選択してフォローしてください"
#: src/components/ReportDialog/SubmitView.tsx:135
msgid "Select the moderation service(s) to report to"
-msgstr ""
+msgstr "報告先のモデレーションサービスを選んでください"
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
@@ -4319,7 +4319,7 @@ msgstr "登録されたフィードに含める言語を選択します。選択
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "アプリに表示されるデフォルトのテキストの言語を選択"
#: src/screens/Onboarding/StepInterests/index.tsx:196
msgid "Select your interests from the options below"
@@ -4335,11 +4335,11 @@ msgstr "フィード内の翻訳に使用する言語を選択します。"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
msgid "Select your primary algorithmic feeds"
-msgstr "1番目のフィードのアルゴリズムを選択してください"
+msgstr "1番目のフィードのアルゴリズムを選択してください"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
msgid "Select your secondary algorithmic feeds"
-msgstr "2番目のフィードのアルゴリズムを選択してください"
+msgstr "2番目のフィードのアルゴリズムを選択してください"
#: src/view/com/modals/VerifyEmail.tsx:202
#: src/view/com/modals/VerifyEmail.tsx:204
@@ -4367,7 +4367,7 @@ msgstr "フィードバックを送信"
#: src/components/ReportDialog/SubmitView.tsx:214
#: src/components/ReportDialog/SubmitView.tsx:218
msgid "Send report"
-msgstr ""
+msgstr "報告を送信"
#: src/view/com/modals/report/SendReportButton.tsx:45
#~ msgid "Send Report"
@@ -4375,7 +4375,7 @@ msgstr ""
#: src/components/ReportDialog/SelectLabelerView.tsx:46
msgid "Send report to {0}"
-msgstr ""
+msgstr "{0}に報告を送信"
#: src/view/com/modals/DeleteAccount.tsx:133
msgid "Sends email with confirmation code for account deletion"
@@ -4383,7 +4383,7 @@ msgstr "アカウントの削除の確認コードをメールに送信"
#: src/view/com/auth/server-input/index.tsx:110
msgid "Server address"
-msgstr ""
+msgstr "サーバーアドレス"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
#~ msgid "Set {value} for {labelGroup} content moderation policy"
@@ -4397,11 +4397,11 @@ msgstr ""
#: src/screens/Moderation/index.tsx:306
msgid "Set birthdate"
-msgstr ""
+msgstr "生年月日を設定"
#: src/view/screens/Settings/index.tsx:488
#~ msgid "Set color theme to dark"
-#~ msgstr "カラーテーマを暗いものに設定します"
+#~ msgstr "カラーテーマをダークに設定します"
#: src/view/screens/Settings/index.tsx:481
#~ msgid "Set color theme to light"
@@ -4413,7 +4413,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:514
#~ msgid "Set dark theme to the dark theme"
-#~ msgstr "ダークテーマをダークに設定します"
+#~ msgstr "ダークテーマを暗いものに設定します"
#: src/view/screens/Settings/index.tsx:507
#~ msgid "Set dark theme to the dim theme"
@@ -4449,7 +4449,7 @@ msgstr "スレッド表示で返信を表示するには、この設定を「は
#: src/view/screens/PreferencesFollowingFeed.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 ""
+msgstr "保存されたフィードから投稿を抽出してFollowingフィードに表示するには、この設定を「はい」にします。これは実験的な機能です。"
#: src/screens/Onboarding/Layout.tsx:50
msgid "Set up your account"
@@ -4461,23 +4461,23 @@ msgstr "Blueskyのユーザーネームを設定"
#: src/view/screens/Settings/index.tsx:507
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "カラーテーマをダークに設定します"
#: src/view/screens/Settings/index.tsx:500
msgid "Sets color theme to light"
-msgstr ""
+msgstr "カラーテーマをライトに設定します"
#: src/view/screens/Settings/index.tsx:494
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "デバイスで設定したカラーテーマを使用するように設定します"
#: src/view/screens/Settings/index.tsx:533
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "ダークテーマを暗いものに設定します"
#: src/view/screens/Settings/index.tsx:526
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "ダークテーマを薄暗いものに設定します"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
msgid "Sets email for password reset"
@@ -4493,15 +4493,15 @@ msgstr "パスワードをリセットするためのホスティングプロバ
#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "画像のアスペクト比を正方形に設定"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "画像のアスペクト比を縦長に設定"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "画像のアスペクト比をワイドに設定"
#: src/view/com/auth/create/Step1.tsx:97
#: src/view/com/auth/login/LoginForm.tsx:154
@@ -4522,7 +4522,7 @@ msgstr "性的行為または性的なヌード。"
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "性的にきわどい"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4541,7 +4541,7 @@ msgstr "共有"
#: src/view/com/profile/ProfileMenu.tsx:373
#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Share anyway"
-msgstr ""
+msgstr "とにかく共有"
#: src/view/screens/ProfileFeed.tsx:361
#: src/view/screens/ProfileFeed.tsx:363
@@ -4568,11 +4568,11 @@ msgstr "とにかく表示"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "バッジを表示"
#: src/lib/moderation/useLabelBehaviorDescription.ts:61
msgid "Show badge and filter from feeds"
-msgstr ""
+msgstr "バッジの表示とフィードからのフィルタリング"
#: src/view/com/modals/EmbedConsent.tsx:87
msgid "Show embeds from {0}"
@@ -4647,11 +4647,11 @@ msgstr "ユーザーを表示"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "警告を表示"
#: src/lib/moderation/useLabelBehaviorDescription.ts:56
msgid "Show warning and filter from feeds"
-msgstr ""
+msgstr "警告の表示とフィードからのフィルタリング"
#: src/view/com/profile/ProfileHeader.tsx:462
#~ msgid "Shows a list of users similar to this user."
@@ -4755,17 +4755,17 @@ msgstr "ソフトウェア開発"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr "何かの問題が起きましたが、それが何なのかわかりません。"
+#~ msgstr "何かの問題が起きましたが、それがなんなのかわかりません。"
#: src/components/ReportDialog/index.tsx:52
#: src/screens/Moderation/index.tsx:116
#: src/screens/Profile/Sections/Labels.tsx:77
msgid "Something went wrong, please try again."
-msgstr ""
+msgstr "なにか間違っているようなので、もう一度お試しください。"
#: src/components/Lists.tsx:203
#~ msgid "Something went wrong!"
-#~ msgstr ""
+#~ msgstr "なにかが間違っているようです!"
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
@@ -4773,7 +4773,7 @@ msgstr ""
#: src/App.native.tsx:71
msgid "Sorry! Your session expired. Please log in again."
-msgstr "申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。"
+msgstr "大変申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。"
#: src/view/screens/PreferencesThreads.tsx:69
msgid "Sort Replies"
@@ -4785,15 +4785,15 @@ msgstr "次の方法で同じ投稿への返信を並び替えます。"
#: src/components/moderation/LabelsOnMeDialog.tsx:147
msgid "Source:"
-msgstr ""
+msgstr "ソース:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "スパム"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "スパム、過剰なメンションや返信"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4839,20 +4839,20 @@ msgstr "登録"
#: src/screens/Profile/Sections/Labels.tsx:181
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "これらのラベルを使用するには@{0}を登録してください:"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
msgid "Subscribe to Labeler"
-msgstr ""
+msgstr "ラベラーを登録する"
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
msgid "Subscribe to the {0} feed"
-msgstr "「{0}」フィードを登録"
+msgstr "{0} フィードを登録"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
msgid "Subscribe to this labeler"
-msgstr ""
+msgstr "このラベラーを登録"
#: src/view/screens/ProfileList.tsx:586
msgid "Subscribe to this list"
@@ -4908,15 +4908,15 @@ msgstr "システムログ"
#: src/components/dialogs/MutedWords.tsx:324
msgid "tag"
-msgstr ""
+msgstr "タグ"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "タグメニュー:{displayTag}"
#: src/components/TagMenu/index.tsx:74
#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
+#~ msgstr "タグメニュー:{tag}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:112
msgid "Tall"
@@ -4946,11 +4946,11 @@ msgstr "利用規約"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "使用されている用語がコミュニティ基準に違反している"
#: src/components/dialogs/MutedWords.tsx:324
msgid "text"
-msgstr ""
+msgstr "テキスト"
#: src/components/moderation/LabelsOnMeDialog.tsx:220
msgid "Text input field"
@@ -4958,15 +4958,15 @@ msgstr "テキストの入力フィールド"
#: src/components/ReportDialog/SubmitView.tsx:78
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "ありがとうございます。あなたの報告は送信されました。"
#: src/view/com/modals/ChangeHandle.tsx:466
msgid "That contains the following:"
-msgstr ""
+msgstr "その内容は以下の通りです:"
#: src/view/com/auth/create/CreateAccount.tsx:94
msgid "That handle is already taken."
-msgstr ""
+msgstr "そのハンドルはすでに使用されています。"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:274
#: src/view/com/profile/ProfileMenu.tsx:349
@@ -4975,7 +4975,7 @@ msgstr "このアカウントは、ブロック解除後にあなたとやり取
#: src/components/moderation/ModerationDetailsDialog.tsx:128
msgid "the author"
-msgstr ""
+msgstr "投稿者"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4987,11 +4987,11 @@ msgstr "著作権ポリシーは<0/>に移動しました"
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "以下のラベルがあなたのアカウントに適用されました。"
#: src/components/moderation/LabelsOnMeDialog.tsx:50
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "以下のラベルがあなたのコンテンツに適用されました。"
#: src/screens/Onboarding/Layout.tsx:60
msgid "The following steps will help customize your Bluesky experience."
@@ -5008,11 +5008,11 @@ 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 "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。"
+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"
@@ -5069,7 +5069,7 @@ msgstr "リストの取得中に問題が発生しました。もう一度試す
#: src/components/ReportDialog/SubmitView.tsx:83
msgid "There was an issue sending your report. Please check your internet connection."
-msgstr ""
+msgstr "報告の送信に問題が発生しました。インターネットの接続を確認してください。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -5091,7 +5091,7 @@ msgstr "アプリパスワードの取得中に問題が発生しました"
#: src/view/com/profile/ProfileMenu.tsx:157
#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
-msgstr "問題が発生しました!{0}"
+msgstr "問題が発生しました! {0}"
#: src/view/screens/ProfileList.tsx:288
#: src/view/screens/ProfileList.tsx:302
@@ -5134,15 +5134,15 @@ msgstr "このアカウントを閲覧するためにはサインインが必要
#: src/components/moderation/LabelsOnMeDialog.tsx:205
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+msgstr "この申し立ては<0>{0}0>に送られます。"
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "このコンテンツはモデレーターによって非表示になっています。"
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "このコンテンツはモデレーターから一般的な警告を受けています。"
#: src/view/com/modals/EmbedConsent.tsx:68
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -5159,11 +5159,11 @@ msgstr "このコンテンツはBlueskyのアカウントがないと閲覧で
#: src/view/screens/Settings/ExportCarDialog.tsx:75
#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-#~ msgstr "この機能はベータ版です。 リポジトリのエクスポートの詳細については、以下を参照してください。<0>このブログ投稿0>"
+#~ msgstr "この機能はベータ版です。リポジトリのエクスポートの詳細については、<0>このブログ投稿0>を参照してください。"
#: src/view/screens/Settings/ExportCarDialog.tsx:75
msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
-msgstr ""
+msgstr "この機能はベータ版です。リポジトリのエクスポートの詳細については、<0>このブログ投稿0>を参照してください。"
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
@@ -5193,11 +5193,11 @@ msgstr "これは、メールアドレスの変更やパスワードのリセッ
#: src/components/moderation/ModerationDetailsDialog.tsx:125
msgid "This label was applied by {0}."
-msgstr ""
+msgstr "{0}によって適用されたラベルです。"
#: src/screens/Profile/Sections/Labels.tsx:168
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "このラベラーはどのようなラベルを発行しているか宣言しておらず、活動していない可能性もあります。"
#: src/view/com/modals/LinkWarning.tsx:58
msgid "This link is taking you to the following website:"
@@ -5209,7 +5209,7 @@ msgstr "このリストは空です!"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "このモデレーションのサービスはご利用できません。詳細は以下をご覧ください。この問題が解決しない場合は、サポートへお問い合わせください。"
#: src/view/com/modals/AddAppPasswords.tsx:106
msgid "This name is already in use"
@@ -5221,27 +5221,27 @@ msgstr "この投稿は削除されました。"
#: src/view/com/util/forms/PostDropdownBtn.tsx:344
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "この投稿はログインしているユーザーにのみ表示されます。ログインしていない方には見えません。"
#: src/view/com/util/forms/PostDropdownBtn.tsx:326
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "この投稿はフィードから非表示になります。"
#: src/view/com/profile/ProfileMenu.tsx:370
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "このプロフィールはログインしているユーザーにのみ表示されます。ログインしていない方には見えません。"
#: src/view/com/auth/create/Policies.tsx:46
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "このサービスには、利用規約もプライバシーポリシーもありません。"
#: src/view/com/modals/ChangeHandle.tsx:446
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "右記にドメインレコードを作成されるはずです:"
#: src/view/com/profile/ProfileFollowers.tsx:95
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "このユーザーにはフォロワーがいません。"
#: src/components/moderation/ModerationDetailsDialog.tsx:73
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -5250,7 +5250,7 @@ msgstr "このユーザーはあなたをブロックしているため、あな
#: src/lib/moderation/useGlobalLabelStrings.ts:30
msgid "This user has requested that their content only be shown to signed-in users."
-msgstr ""
+msgstr "このユーザーは自分のコンテンツをサインインしたユーザーにのみ表示するように求めています。"
#: src/view/com/modals/ModerationDetails.tsx:42
#~ msgid "This user is included in the <0/> list which you have blocked."
@@ -5262,11 +5262,11 @@ msgstr ""
#: src/components/moderation/ModerationDetailsDialog.tsx:56
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "このユーザーはブロックした<0>{0}0>リストに含まれています。"
#: src/components/moderation/ModerationDetailsDialog.tsx:85
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "このユーザーはミュートした<0>{0}0>リストに含まれています。"
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
@@ -5274,7 +5274,7 @@ msgstr ""
#: src/view/com/profile/ProfileFollows.tsx:94
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "このユーザーは誰もフォローしていません。"
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -5282,7 +5282,7 @@ msgstr "この警告は、メディアが添付されている投稿にのみ使
#: src/components/dialogs/MutedWords.tsx:284
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "ミュートしたワードから{0}が削除されます。あとでいつでも戻すことができます。"
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
#~ msgid "This will hide this post from your feeds."
@@ -5290,7 +5290,7 @@ msgstr ""
#: src/view/screens/Settings/index.tsx:574
msgid "Thread preferences"
-msgstr ""
+msgstr "スレッドの設定"
#: src/view/screens/PreferencesThreads.tsx:53
#: src/view/screens/Settings/index.tsx:584
@@ -5307,11 +5307,11 @@ msgstr "スレッドの設定"
#: src/components/ReportDialog/SelectLabelerView.tsx:35
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "この報告を誰に送りたいですか?"
#: src/components/dialogs/MutedWords.tsx:113
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "ミュートしたワードのオプションを切り替えます。"
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
@@ -5319,7 +5319,7 @@ msgstr "ドロップダウンをトグル"
#: src/screens/Moderation/index.tsx:334
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "成人向けコンテンツの有効もしくは無効の切り替え"
#: src/view/com/modals/EditImage.tsx:271
msgid "Transformations"
@@ -5343,7 +5343,7 @@ msgstr "再試行"
#: src/view/com/modals/ChangeHandle.tsx:429
msgid "Type:"
-msgstr ""
+msgstr "タイプ:"
#: src/view/screens/ProfileList.tsx:478
msgid "Un-block list"
@@ -5381,7 +5381,7 @@ msgstr "アカウントのブロックを解除"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "アカウントのブロックを解除しますか?"
#: src/view/com/modals/Repost.tsx:42
#: src/view/com/modals/Repost.tsx:55
@@ -5393,12 +5393,12 @@ msgstr "リポストを元に戻す"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
msgid "Unfollow"
-msgstr ""
+msgstr "フォローを解除"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
-msgstr "フォローをやめる"
+msgstr "フォローを解除"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:213
msgid "Unfollow {0}"
@@ -5407,7 +5407,7 @@ msgstr "{0}のフォローを解除"
#: src/view/com/profile/ProfileMenu.tsx:241
#: src/view/com/profile/ProfileMenu.tsx:251
msgid "Unfollow Account"
-msgstr ""
+msgstr "アカウントのフォローを解除"
#: src/view/com/auth/create/state.ts:262
msgid "Unfortunately, you do not meet the requirements to create an account."
@@ -5419,7 +5419,7 @@ msgstr "いいねを外す"
#: src/view/screens/ProfileFeed.tsx:572
msgid "Unlike this feed"
-msgstr ""
+msgstr "このフィードからいいねを外す"
#: src/components/TagMenu/index.tsx:249
#: src/view/screens/ProfileList.tsx:579
@@ -5428,7 +5428,7 @@ msgstr "ミュートを解除"
#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
-msgstr ""
+msgstr "{truncatedTag}のミュートを解除"
#: src/view/com/profile/ProfileMenu.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:284
@@ -5437,11 +5437,11 @@ msgstr "アカウントのミュートを解除"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "{displayTag}のすべての投稿のミュートを解除"
#: src/components/TagMenu/index.tsx:210
#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿のミュートを解除"
#: src/view/com/util/forms/PostDropdownBtn.tsx:251
#: src/view/com/util/forms/PostDropdownBtn.tsx:256
@@ -5455,7 +5455,7 @@ msgstr "ピン留めを解除"
#: src/view/screens/ProfileFeed.tsx:291
msgid "Unpin from home"
-msgstr ""
+msgstr "ホームからピン留めを解除"
#: src/view/screens/ProfileList.tsx:444
msgid "Unpin moderation list"
@@ -5467,15 +5467,15 @@ msgstr "モデレーションリストのピン留めを解除"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
msgid "Unsubscribe"
-msgstr ""
+msgstr "登録を解除"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "このラベラーの登録を解除"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "望まない性的なコンテンツ"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
@@ -5487,7 +5487,7 @@ msgstr "リストの{displayName}を更新"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Update to {handle}"
-msgstr ""
+msgstr "{handle}に更新"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
msgid "Updating..."
@@ -5502,23 +5502,23 @@ msgstr "テキストファイルのアップロード先:"
#: src/view/com/util/UserBanner.tsx:116
#: src/view/com/util/UserBanner.tsx:119
msgid "Upload from Camera"
-msgstr ""
+msgstr "カメラからアップロード"
#: src/view/com/util/UserAvatar.tsx:343
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "ファイルからアップロード"
#: src/view/com/util/UserAvatar.tsx:337
#: src/view/com/util/UserAvatar.tsx:341
#: src/view/com/util/UserBanner.tsx:127
#: src/view/com/util/UserBanner.tsx:131
msgid "Upload from Library"
-msgstr ""
+msgstr "ライブラリーからアップロード"
#: src/view/com/modals/ChangeHandle.tsx:409
msgid "Use a file on your server"
-msgstr ""
+msgstr "あなたのサーバーのファイルを使用"
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
@@ -5526,7 +5526,7 @@ msgstr "他のBlueskyクライアントにアカウントやパスワードに
#: src/view/com/modals/ChangeHandle.tsx:518
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "ホスティングプロバイダーとしてbsky.socialを使用"
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use default provider"
@@ -5544,7 +5544,7 @@ msgstr "デフォルトのブラウザーを使用"
#: src/view/com/modals/ChangeHandle.tsx:401
msgid "Use the DNS panel"
-msgstr ""
+msgstr "DNSパネルを使用"
#: src/view/com/modals/AddAppPasswords.tsx:155
msgid "Use this to sign into the other app along with your handle."
@@ -5565,7 +5565,7 @@ msgstr "ブロック中のユーザー"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "「{0}」によってブロックされたユーザー"
#: src/components/moderation/ModerationDetailsDialog.tsx:54
msgid "User Blocked by List"
@@ -5573,7 +5573,7 @@ msgstr "リストによってブロック中のユーザー"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "あなたがブロック中のユーザー"
#: src/components/moderation/ModerationDetailsDialog.tsx:71
msgid "User Blocks You"
@@ -5629,11 +5629,11 @@ msgstr "{0}のユーザー"
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "このコンテンツやプロフィールにいいねをしているユーザー"
#: src/view/com/modals/ChangeHandle.tsx:437
msgid "Value:"
-msgstr ""
+msgstr "値:"
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
@@ -5641,7 +5641,7 @@ msgstr ""
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
-msgstr ""
+msgstr "{0}で認証"
#: src/view/screens/Settings/index.tsx:944
msgid "Verify email"
@@ -5678,11 +5678,11 @@ msgstr "デバッグエントリーを表示"
#: src/components/ReportDialog/SelectReportOptionView.tsx:133
msgid "View details"
-msgstr ""
+msgstr "詳細を表示"
#: src/components/ReportDialog/SelectReportOptionView.tsx:128
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "著作権侵害の報告の詳細を見る"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5690,7 +5690,7 @@ msgstr "スレッドをすべて表示"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "これらのラベルに関する情報を見る"
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
@@ -5702,11 +5702,11 @@ msgstr "アバターを表示"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "@{0}によって提供されるラベリングサービスを見る"
#: src/view/screens/ProfileFeed.tsx:584
msgid "View users who like this feed"
-msgstr ""
+msgstr "このフィードにいいねしたユーザーを見る"
#: src/view/com/modals/LinkWarning.tsx:75
#: src/view/com/modals/LinkWarning.tsx:77
@@ -5722,11 +5722,11 @@ msgstr "警告"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+msgstr "コンテンツの警告"
#: src/lib/moderation/useLabelBehaviorDescription.ts:46
msgid "Warn content and filter from feeds"
-msgstr ""
+msgstr "コンテンツの警告とフィードからのフィルタリング"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
msgid "We also think you'll like \"For You\" by Skygaze:"
@@ -5734,7 +5734,7 @@ msgstr "Skygazeによる「For You」フィードもおすすめ:"
#: src/screens/Hashtag.tsx:132
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "そのハッシュタグの検索結果は見つかりませんでした。"
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
@@ -5742,7 +5742,7 @@ msgstr "あなたのアカウントが準備できるまで{estimatedTime}ほど
#: src/screens/Onboarding/StepFinished.tsx:93
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
-msgstr "素敵なひとときをお過ごしください。 覚えておいてください、Blueskyは:"
+msgstr "素敵なひとときをお過ごしください。覚えておいてください、Blueskyは:"
#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
#~ msgid "We ran out of posts from your follows. Here's the latest from"
@@ -5758,7 +5758,7 @@ msgstr "あなたのフォロー中のユーザーの投稿を読み終わりま
#: src/components/dialogs/MutedWords.tsx:204
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr ""
+msgstr "投稿が表示されなくなる可能性があるため、多くの投稿に使われる一般的なワードは避けることをおすすめします。"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
msgid "We recommend our \"Discover\" feed:"
@@ -5766,11 +5766,11 @@ msgstr "我々の「Discover」フィードがおすすめ:"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "生年月日の設定を読み込むことはできませんでした。もう一度お試しください。"
#: src/screens/Moderation/index.tsx:387
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+msgstr "現在設定されたラベラーを読み込めません。"
#: src/screens/Onboarding/StepInterests/index.tsx:133
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
@@ -5798,7 +5798,7 @@ msgstr "大変申し訳ありませんが、このリストを解決できませ
#: src/components/dialogs/MutedWords.tsx:230
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
-msgstr ""
+msgstr "大変申し訳ありませんが、現在ミュートされたワードを読み込むことができませんでした。もう一度お試しください。"
#: src/view/screens/Search/Search.tsx:255
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
@@ -5807,11 +5807,11 @@ msgstr "大変申し訳ありませんが、検索を完了できませんでし
#: src/components/Lists.tsx:194
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
-msgstr "大変申し訳ありません!お探しのページが見つかりません。"
+msgstr "大変申し訳ありません!お探しのページは見つかりません。"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:319
msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
-msgstr ""
+msgstr "大変申し訳ありません!ラベラーは10までしか登録できず、すでに上限に達しています。"
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5819,11 +5819,11 @@ msgstr "<0>Bluesky0>へようこそ"
#: src/screens/Onboarding/StepInterests/index.tsx:130
msgid "What are your interests?"
-msgstr "何に興味がありますか?"
+msgstr "なにに興味がありますか?"
#: src/view/com/modals/report/Modal.tsx:169
#~ msgid "What is the issue with this {collectionName}?"
-#~ msgstr "この{collectionName}の問題は何ですか?"
+#~ msgstr "この{collectionName}の問題はなんですか?"
#: src/view/com/auth/SplashScreen.tsx:59
#: src/view/com/composer/Composer.tsx:295
@@ -5845,23 +5845,23 @@ msgstr "返信できるユーザー"
#: src/components/ReportDialog/SelectReportOptionView.tsx:44
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "なぜこのコンテンツをレビューする必要がありますか?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:57
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "なぜこのフィードをレビューする必要がありますか?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:54
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "なぜこのリストをレビューする必要がありますか?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:51
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "なぜこの投稿をレビューする必要がありますか?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:48
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "なぜこのユーザーをレビューする必要がありますか?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:102
msgid "Wide"
@@ -5904,7 +5904,7 @@ msgstr "あなたは並んでいます。"
#: src/view/com/profile/ProfileFollows.tsx:93
msgid "You are not following anyone."
-msgstr ""
+msgstr "あなたはまだだれもフォローしていません。"
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
@@ -5930,7 +5930,7 @@ msgstr "新しいパスワードでサインインできるようになりまし
#: src/view/com/profile/ProfileFollowers.tsx:94
msgid "You do not have any followers."
-msgstr ""
+msgstr "あなたはまだだれもフォロワーがいません。"
#: 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."
@@ -5967,20 +5967,20 @@ msgstr "無効なコードが入力されました。それはXXXXX-XXXXXのよ
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "この投稿を非表示にしました"
#: src/components/moderation/ModerationDetailsDialog.tsx:102
msgid "You have hidden this post."
-msgstr ""
+msgstr "この投稿を非表示にしました。"
#: src/components/moderation/ModerationDetailsDialog.tsx:95
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "このアカウントをミュートしました。"
#: src/lib/moderation/useModerationCauseDescription.ts:86
msgid "You have muted this user"
-msgstr ""
+msgstr "このユーザーをミュートしました"
#: src/view/com/modals/ModerationDetails.tsx:87
#~ msgid "You have muted this user."
@@ -5997,7 +5997,7 @@ msgstr "リストがありません。"
#: src/view/screens/ModerationBlockedAccounts.tsx:132
msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
-msgstr ""
+msgstr "ブロック中のアカウントはまだありません。アカウントをブロックするには、ユーザーのプロフィールに移動し、アカウントメニューから「アカウントをブロック」を選択します。"
#: 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."
@@ -6009,7 +6009,7 @@ msgstr "アプリパスワードはまだ作成されていません。下のボ
#: src/view/screens/ModerationMutedAccounts.tsx:131
msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
-msgstr ""
+msgstr "ミュートしているアカウントはまだありません。アカウントをミュートするには、プロフィールに移動し、アカウントメニューから「アカウントをミュート」を選択します。"
#: 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."
@@ -6017,11 +6017,11 @@ msgstr ""
#: src/components/dialogs/MutedWords.tsx:250
msgid "You haven't muted any words or tags yet"
-msgstr ""
+msgstr "まだワードやタグをミュートしていません"
#: src/components/moderation/LabelsOnMeDialog.tsx:69
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+msgstr "これらのラベルが誤って貼られたと思った場合は、異議申し立てを行うことができます。"
#: src/view/com/modals/ContentFilteringSettings.tsx:175
#~ msgid "You must be 18 or older to enable adult content."
@@ -6033,7 +6033,7 @@ msgstr "成人向けコンテンツを有効にするには、18歳以上であ
#: src/components/ReportDialog/SubmitView.tsx:205
msgid "You must select at least one labeler for a report"
-msgstr ""
+msgstr "報告をするには少なくとも1つのラベラーを選択する必要があります"
#: src/view/com/util/forms/PostDropdownBtn.tsx:144
msgid "You will no longer receive notifications for this thread"
@@ -6064,7 +6064,7 @@ msgstr "準備ができました!"
#: src/components/moderation/ModerationDetailsDialog.tsx:99
#: src/lib/moderation/useModerationCauseDescription.ts:101
msgid "You've chosen to hide a word or tag within this post."
-msgstr ""
+msgstr "この投稿でワードまたはタグを隠すことを選択しました。"
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
@@ -6080,7 +6080,7 @@ msgstr "あなたのアカウントは削除されました"
#: src/view/screens/Settings/ExportCarDialog.tsx:47
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
-msgstr ""
+msgstr "あなたのアカウントの公開データの全記録を含むリポジトリは、「CAR」ファイルとしてダウンロードできます。このファイルには、画像などのメディア埋め込み、また非公開のデータは含まれていないため、それらは個別に取得する必要があります。"
#: src/view/com/auth/create/Step1.tsx:215
msgid "Your birth date"
@@ -6088,7 +6088,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/screens/Onboarding/StepFollowingFeed.tsx:61
msgid "Your default feed is \"Following\""
@@ -6136,7 +6136,7 @@ msgstr "フルハンドルは<0>@{0}0>になります"
#: src/components/dialogs/MutedWords.tsx:221
msgid "Your muted words"
-msgstr ""
+msgstr "ミュートしたワード"
#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
diff --git a/src/locale/locales/ko/messages.po b/src/locale/locales/ko/messages.po
index 9888881c2b..db97f1d7f5 100644
--- a/src/locale/locales/ko/messages.po
+++ b/src/locale/locales/ko/messages.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: \n"
-"Last-Translator: heartade\n"
+"Last-Translator: quiple\n"
"Language-Team: quiple, lens0021, HaruChanHeart, hazzzi, heartade\n"
"Plural-Forms: \n"
@@ -31,7 +31,7 @@ msgstr "<0/>의 멤버"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> 팔로우 중"
#: src/screens/Profile/Header/Metrics.tsx:46
msgid "<0>{following} 0><1>following1>"
@@ -51,10 +51,10 @@ msgstr "<1>Bluesky1><0>에 오신 것을 환영합니다0>"
#: src/screens/Profile/Header/Handle.tsx:42
msgid "⚠Invalid Handle"
-msgstr "⚠ 잘못된 핸들"
+msgstr "⚠잘못된 핸들"
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:648
+#: src/view/screens/Search/Search.tsx:649
msgid "Access navigation links and settings"
msgstr "탐색 링크 및 설정으로 이동합니다"
@@ -71,7 +71,7 @@ msgstr "접근성"
msgid "account"
msgstr "계정"
-#: src/view/com/auth/login/LoginForm.tsx:169
+#: src/screens/Login/LoginForm.tsx:144
#: src/view/screens/Settings/index.tsx:327
#: src/view/screens/Settings/index.tsx:743
msgid "Account"
@@ -152,11 +152,11 @@ msgstr "대체 텍스트 추가하기"
msgid "Add App Password"
msgstr "앱 비밀번호 추가"
-#: src/view/com/composer/Composer.tsx:466
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "링크 카드 추가"
-#: src/view/com/composer/Composer.tsx:471
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "링크 카드 추가:"
@@ -203,11 +203,11 @@ msgstr "답글이 피드에 표시되기 위해 필요한 좋아요 수를 조
msgid "Adult Content"
msgstr "성인 콘텐츠"
-#: src/components/moderation/ModerationLabelPref.tsx:114
+#: src/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
msgstr "성인 콘텐츠가 비활성화되어 있습니다."
-#: src/screens/Moderation/index.tsx:377
+#: src/screens/Moderation/index.tsx:375
#: src/view/screens/Settings/index.tsx:684
msgid "Advanced"
msgstr "고급"
@@ -216,12 +216,12 @@ msgstr "고급"
msgid "All the feeds you've saved, right in one place."
msgstr "저장한 모든 피드를 한 곳에서 확인하세요."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
+#: src/screens/Login/ForgotPasswordForm.tsx:178
#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "이미 코드가 있나요?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:101
msgid "Already signed in as @{0}"
msgstr "이미 @{0}(으)로 로그인했습니다"
@@ -320,7 +320,7 @@ msgstr "앱 비밀번호 \"{name}\"을(를) 삭제하시겠습니까?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr "피드에서 {0}을(를) 제거하시겠습니까?"
-#: src/view/com/composer/Composer.tsx:508
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "이 초안을 삭제하시겠습니까?"
@@ -340,24 +340,27 @@ msgstr "예술"
msgid "Artistic or non-erotic nudity."
msgstr "선정적이지 않거나 예술적인 노출."
+#: src/screens/Signup/StepHandle.tsx:118
+msgid "At least 3 characters"
+msgstr "3자 이상"
+
#: src/components/moderation/LabelsOnMeDialog.tsx:247
#: src/components/moderation/LabelsOnMeDialog.tsx:248
+#: src/screens/Login/ChooseAccountForm.tsx:177
+#: src/screens/Login/ChooseAccountForm.tsx:182
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
#: src/screens/Profile/Header/Shell.tsx:97
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:160
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:262
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
+#: src/screens/Signup/index.tsx:179
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "뒤로"
-#: src/view/com/post-thread/PostThread.tsx:481
-#~ msgctxt "action"
-#~ msgid "Back"
-#~ msgstr "뒤로"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "{interestsText}에 대한 관심사 기반"
@@ -366,7 +369,6 @@ msgid "Basics"
msgstr "기본"
#: src/components/dialogs/BirthDateSettings.tsx:107
-#: src/view/com/auth/create/Step1.tsx:227
msgid "Birthday"
msgstr "생년월일"
@@ -406,7 +408,7 @@ msgstr "이 계정들을 차단하시겠습니까?"
msgid "Blocked"
msgstr "차단됨"
-#: src/screens/Moderation/index.tsx:269
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "차단한 계정"
@@ -427,7 +429,7 @@ msgstr "차단한 계정은 내 스레드에 답글을 달거나 나를 멘션
msgid "Blocked post."
msgstr "차단된 게시물."
-#: src/screens/Profile/Sections/Labels.tsx:153
+#: src/screens/Profile/Sections/Labels.tsx:152
msgid "Blocking does not prevent this labeler from placing labels on your account."
msgstr "차단하더라도 이 라벨러가 내 계정에 라벨을 붙이는 것을 막지는 못합니다."
@@ -439,12 +441,12 @@ msgstr "차단 목록은 공개됩니다. 차단한 계정은 내 스레드에
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
msgstr "차단하더라도 내 계정에 라벨이 붙는 것은 막지 못하지만, 이 계정이 내 스레드에 답글을 달거나 나와 상호작용하는 것은 중지됩니다."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:98
+#: src/view/com/auth/SplashScreen.web.tsx:169
msgid "Blog"
msgstr "블로그"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:32
#: src/view/com/auth/server-input/index.tsx:89
#: src/view/com/auth/server-input/index.tsx:90
msgid "Bluesky"
@@ -469,7 +471,7 @@ msgstr "Bluesky는 열려 있습니다."
msgid "Bluesky is public."
msgstr "Bluesky는 공개적입니다."
-#: src/screens/Moderation/index.tsx:535
+#: src/screens/Moderation/index.tsx:533
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 "로그아웃한 사용자에게 내 프로필과 게시물을 표시하지 않습니다. 다른 앱에서는 이 설정을 따르지 않을 수 있습니다. 내 계정을 비공개로 전환하지는 않습니다."
@@ -486,11 +488,11 @@ msgid "Books"
msgstr "책"
#: src/view/screens/Settings/index.tsx:893
-msgid "Build version {0} {1}"
-msgstr "빌드 버전 {0} {1}"
+#~ msgid "Build version {0} {1}"
+#~ msgstr "빌드 버전 {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:91
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:92
+#: src/view/com/auth/SplashScreen.web.tsx:166
msgid "Business"
msgstr "비즈니스"
@@ -510,9 +512,9 @@ msgstr "{0} 님이 만듦"
msgid "by <0/>"
msgstr "<0/> 님이 만듦"
-#: src/view/com/auth/create/Policies.tsx:87
+#: src/screens/Signup/StepInfo/Policies.tsx:74
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "계정을 만들면 {els}에 동의하는 것입니다."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
@@ -527,11 +529,11 @@ msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must
msgstr "글자, 숫자, 공백, 대시, 밑줄만 포함할 수 있습니다. 길이는 4자 이상이어야 하고 32자를 넘지 않아야 합니다."
#: src/components/Menu/index.tsx:213
-#: src/components/Prompt.tsx:116
-#: src/components/Prompt.tsx:118
+#: src/components/Prompt.tsx:115
+#: src/components/Prompt.tsx:117
#: src/components/TagMenu/index.tsx:268
-#: src/view/com/composer/Composer.tsx:316
-#: src/view/com/composer/Composer.tsx:321
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
#: src/view/com/modals/ChangeHandle.tsx:153
@@ -548,20 +550,20 @@ msgstr "글자, 숫자, 공백, 대시, 밑줄만 포함할 수 있습니다.
#: src/view/com/modals/Repost.tsx:87
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:717
+#: src/view/screens/Search/Search.tsx:718
#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "취소"
#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "취소"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "계정 삭제 취소"
@@ -588,11 +590,11 @@ msgstr "검색 취소"
#: src/view/com/modals/LinkWarning.tsx:88
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "연결된 웹사이트를 여는 것을 취소합니다"
#: src/view/com/modals/VerifyEmail.tsx:152
msgid "Change"
-msgstr ""
+msgstr "변경"
#: src/view/screens/Settings/index.tsx:353
msgctxt "action"
@@ -625,10 +627,6 @@ msgstr "비밀번호 변경"
msgid "Change post language to {0}"
msgstr "게시물 언어를 {0}(으)로 변경"
-#: src/view/screens/Settings/index.tsx:751
-#~ msgid "Change your Bluesky password"
-#~ msgstr "내 Bluesky 비밀번호를 변경합니다"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "이메일 변경"
@@ -646,7 +644,7 @@ msgstr "몇 가지 추천 피드를 확인하세요. +를 탭하여 고정된
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "추천 사용자를 확인하세요. 해당 사용자를 팔로우하여 비슷한 사용자를 만날 수 있습니다."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "받은 편지함에서 아래에 입력하는 확인 코드가 포함된 이메일이 있는지 확인하세요:"
@@ -654,15 +652,11 @@ msgstr "받은 편지함에서 아래에 입력하는 확인 코드가 포함된
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "\"모두\" 또는 \"없음\"을 선택하세요."
-#: src/view/screens/Settings/index.tsx:715
-#~ msgid "Choose a new Bluesky username or create"
-#~ msgstr "새 Bluesky 사용자 이름을 선택하거나 만듭니다"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "서비스 선택"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:136
msgid "Choose the algorithms that power your custom feeds."
msgstr "맞춤 피드를 구동할 알고리즘을 선택하세요."
@@ -671,11 +665,11 @@ msgstr "맞춤 피드를 구동할 알고리즘을 선택하세요."
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "맞춤 피드를 통해 사용자 경험을 강화하는 알고리즘을 선택하세요."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:109
msgid "Choose your main feeds"
msgstr "기본 피드 선택"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:112
msgid "Choose your password"
msgstr "비밀번호를 입력하세요"
@@ -696,17 +690,17 @@ msgid "Clear all storage data (restart after this)"
msgstr "모든 스토리지 데이터 지우기 (이후 다시 시작)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:698
+#: src/view/screens/Search/Search.tsx:699
msgid "Clear search query"
msgstr "검색어 지우기"
#: src/view/screens/Settings/index.tsx:869
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "모든 레거시 스토리지 데이터를 지웁니다"
#: src/view/screens/Settings/index.tsx:881
msgid "Clears all storage data"
-msgstr ""
+msgstr "모든 스토리지 데이터를 지웁니다"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -734,7 +728,7 @@ msgstr "닫기"
msgid "Close active dialog"
msgstr "열려 있는 대화 상자 닫기"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "알림 닫기"
@@ -763,11 +757,11 @@ msgstr "이 대화 상자 닫기"
msgid "Closes bottom navigation bar"
msgstr "하단 탐색 막대를 닫습니다"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "비밀번호 변경 알림을 닫습니다"
-#: src/view/com/composer/Composer.tsx:318
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "게시물 작성 상자를 닫고 게시물 초안을 삭제합니다"
@@ -792,15 +786,15 @@ msgstr "만화"
msgid "Community Guidelines"
msgstr "커뮤니티 가이드라인"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:149
msgid "Complete onboarding and start using your account"
msgstr "온보딩 완료 후 계정 사용 시작"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:154
msgid "Complete the challenge"
msgstr "챌린지 완료하기"
-#: src/view/com/composer/Composer.tsx:437
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "최대 {MAX_GRAPHEME_LENGTH}자 길이까지 글을 작성할 수 있습니다"
@@ -808,18 +802,20 @@ msgstr "최대 {MAX_GRAPHEME_LENGTH}자 길이까지 글을 작성할 수 있습
msgid "Compose reply"
msgstr "답글 작성하기"
-#: src/components/moderation/GlobalModerationLabelPref.tsx:69
-#: src/components/moderation/ModerationLabelPref.tsx:149
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr "{0} 카테고리에 대한 콘텐츠 필터링 설정 구성"
+msgstr "{0} 카테고리에 대한 콘텐츠 필터링 설정을 구성합니다."
+
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "{name} 카테고리에 대한 콘텐츠 필터링 설정을 구성합니다."
-#: src/components/moderation/ModerationLabelPref.tsx:116
+#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
msgstr "<0>검토 설정0>에서 설정합니다."
-#: src/components/Prompt.tsx:152
-#: src/components/Prompt.tsx:155
+#: src/components/Prompt.tsx:151
+#: src/components/Prompt.tsx:154
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -837,31 +833,30 @@ msgstr "변경 확인"
msgid "Confirm content language settings"
msgstr "콘텐츠 언어 설정 확인"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "계정 삭제 확인"
-#: src/screens/Moderation/index.tsx:303
+#: src/screens/Moderation/index.tsx:301
msgid "Confirm your age:"
msgstr "나이를 확인하세요:"
-#: src/screens/Moderation/index.tsx:294
+#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
msgstr "생년월일 확인"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:176
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "확인 코드"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:281
+#: src/screens/Login/LoginForm.tsx:246
msgid "Connecting..."
msgstr "연결 중…"
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:219
msgid "Contact support"
msgstr "지원에 연락하기"
@@ -873,7 +868,7 @@ msgstr "콘텐츠"
msgid "Content Blocked"
msgstr "콘텐츠 차단됨"
-#: src/screens/Moderation/index.tsx:287
+#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr "콘텐츠 필터"
@@ -888,7 +883,7 @@ msgid "Content Not Available"
msgstr "콘텐츠를 사용할 수 없음"
#: src/components/moderation/ModerationDetailsDialog.tsx:47
-#: src/components/moderation/ScreenHider.tsx:100
+#: src/components/moderation/ScreenHider.tsx:99
#: src/lib/moderation/useGlobalLabelStrings.ts:22
#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
@@ -902,29 +897,34 @@ msgstr "콘텐츠 경고"
msgid "Context menu backdrop, click to close the menu."
msgstr "컨텍스트 메뉴 배경을 클릭하여 메뉴를 닫습니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:102
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:176
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "계속"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:99
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/screens/Login/ChooseAccountForm.tsx:47
+msgid "Continue as {0} (currently signed in)"
+msgstr "{0}(으)로 계속하기 (현재 로그인)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:198
msgid "Continue to next step"
msgstr "다음 단계로 계속하기"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:173
msgid "Continue to the next step"
msgstr "다음 단계로 계속하기"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "계정을 팔로우하지 않고 다음 단계로 계속하기"
@@ -958,7 +958,7 @@ msgstr "복사"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Copy {0}"
-msgstr ""
+msgstr "{0} 복사"
#: src/view/screens/ProfileList.tsx:388
msgid "Copy link to list"
@@ -987,9 +987,9 @@ msgstr "피드를 불러올 수 없습니다"
msgid "Could not load list"
msgstr "리스트를 불러올 수 없습니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:64
-#: src/view/com/auth/SplashScreen.tsx:73
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:65
+#: src/view/com/auth/SplashScreen.tsx:75
+#: src/view/com/auth/SplashScreen.web.tsx:104
msgid "Create a new account"
msgstr "새 계정 만들기"
@@ -997,7 +997,7 @@ msgstr "새 계정 만들기"
msgid "Create a new Bluesky account"
msgstr "새 Bluesky 계정을 만듭니다"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:129
msgid "Create Account"
msgstr "계정 만들기"
@@ -1005,12 +1005,13 @@ msgstr "계정 만들기"
msgid "Create App Password"
msgstr "앱 비밀번호 만들기"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:55
+#: src/view/com/auth/SplashScreen.tsx:66
+#: src/view/com/auth/SplashScreen.web.tsx:95
msgid "Create new account"
msgstr "새 계정 만들기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+#: src/components/ReportDialog/SelectReportOptionView.tsx:93
msgid "Create report for {0}"
msgstr "{0}에 대한 신고 작성하기"
@@ -1018,7 +1019,7 @@ msgstr "{0}에 대한 신고 작성하기"
msgid "Created {0}"
msgstr "{0}에 생성됨"
-#: src/view/com/composer/Composer.tsx:468
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "미리보기 이미지가 있는 카드를 만듭니다. 카드가 {url}(으)로 연결됩니다"
@@ -1035,7 +1036,7 @@ msgstr "사용자 지정"
msgid "Custom domain"
msgstr "사용자 지정 도메인"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:112
#: src/view/screens/Feeds.tsx:692
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "커뮤니티에서 구축한 맞춤 피드는 새로운 경험을 제공하고 좋아하는 콘텐츠를 찾을 수 있도록 도와줍니다."
@@ -1057,6 +1058,10 @@ msgstr "어두운 모드"
msgid "Dark Theme"
msgstr "어두운 테마"
+#: src/screens/Signup/StepInfo/index.tsx:132
+msgid "Date of birth"
+msgstr "생년월일"
+
#: src/view/screens/Settings/index.tsx:841
msgid "Debug Moderation"
msgstr "검토 디버그"
@@ -1075,7 +1080,7 @@ msgstr "삭제"
msgid "Delete account"
msgstr "계정 삭제"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "계정 삭제"
@@ -1091,7 +1096,7 @@ msgstr "앱 비밀번호를 삭제하시겠습니까?"
msgid "Delete List"
msgstr "리스트 삭제"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "내 계정 삭제"
@@ -1127,7 +1132,7 @@ msgstr "삭제된 게시물."
msgid "Description"
msgstr "설명"
-#: src/view/com/composer/Composer.tsx:217
+#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "하고 싶은 말이 있나요?"
@@ -1138,20 +1143,20 @@ msgstr "어둑함"
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
-#: src/screens/Moderation/index.tsx:343
+#: src/screens/Moderation/index.tsx:341
msgid "Disabled"
msgstr "비활성화됨"
-#: src/view/com/composer/Composer.tsx:510
+#: src/view/com/composer/Composer.tsx:517
msgid "Discard"
msgstr "삭제"
-#: src/view/com/composer/Composer.tsx:507
+#: src/view/com/composer/Composer.tsx:508
msgid "Discard draft?"
msgstr "초안 삭제"
-#: src/screens/Moderation/index.tsx:520
-#: src/screens/Moderation/index.tsx:524
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "앱이 로그아웃한 사용자에게 내 계정을 표시하지 않도록 설정하기"
@@ -1174,15 +1179,19 @@ msgstr "표시 이름"
#: src/view/com/modals/ChangeHandle.tsx:398
msgid "DNS Panel"
-msgstr ""
+msgstr "DNS 패널"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr "노출을 포함하지 않음."
+msgstr "노출을 포함하지 않습니다."
+
+#: src/screens/Signup/StepHandle.tsx:104
+msgid "Doesn't begin or end with a hyphen"
+msgstr "하이픈으로 시작하거나 끝나지 않음"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "Domain Value"
-msgstr ""
+msgstr "도메인 값"
#: src/view/com/modals/ChangeHandle.tsx:489
msgid "Domain verified!"
@@ -1190,6 +1199,8 @@ msgstr "도메인을 확인했습니다."
#: src/components/dialogs/BirthDateSettings.tsx:119
#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
#: src/view/com/auth/server-input/index.tsx:165
#: src/view/com/auth/server-input/index.tsx:166
#: src/view/com/modals/AddAppPasswords.tsx:226
@@ -1221,14 +1232,6 @@ msgstr "완료"
msgid "Done{extraText}"
msgstr "완료{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:46
-msgid "Double tap to sign in"
-msgstr "두 번 탭하여 로그인합니다"
-
-#: src/view/screens/Settings/index.tsx:773
-#~ msgid "Download Bluesky account data (repository)"
-#~ msgstr "Bluesky 계정 데이터를 다운로드합니다 (저장소)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
@@ -1244,7 +1247,7 @@ msgstr "Apple 정책으로 인해 성인 콘텐츠는 가입을 완료한 후에
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
-msgstr ""
+msgstr "예: alice"
#: src/view/com/modals/EditProfile.tsx:185
msgid "e.g. Alice Roberts"
@@ -1252,7 +1255,7 @@ msgstr "예: 앨리스 로버츠"
#: src/view/com/modals/ChangeHandle.tsx:381
msgid "e.g. alice.com"
-msgstr ""
+msgstr "예: alice.com"
#: src/view/com/modals/EditProfile.tsx:203
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1315,12 +1318,12 @@ msgstr "내 피드 편집"
msgid "Edit my profile"
msgstr "내 프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:172
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:171
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:161
msgid "Edit profile"
msgstr "프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:175
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:174
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:164
msgid "Edit Profile"
msgstr "프로필 편집"
@@ -1346,14 +1349,12 @@ msgstr "내 프로필 설명 편집"
msgid "Education"
msgstr "교육"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "이메일"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "이메일 주소"
@@ -1378,13 +1379,13 @@ msgstr "이메일:"
msgid "Enable {0} only"
msgstr "{0}만 사용"
-#: src/screens/Moderation/index.tsx:331
+#: src/screens/Moderation/index.tsx:329
msgid "Enable adult content"
msgstr "성인 콘텐츠 활성화"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
-msgstr ""
+msgstr "성인 콘텐츠 활성화"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
@@ -1403,7 +1404,7 @@ msgstr "미디어 플레이어를 사용할 외부 사이트"
msgid "Enable this setting to only see replies between people you follow."
msgstr "내가 팔로우하는 사람들 간의 답글만 표시합니다."
-#: src/screens/Moderation/index.tsx:341
+#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
msgstr "활성화됨"
@@ -1413,7 +1414,11 @@ msgstr "피드 끝"
#: src/view/com/modals/AddAppPasswords.tsx:166
msgid "Enter a name for this App Password"
-msgstr "이 앱 비밀번호의 이름을 입력하세요"
+msgstr "이 앱 비밀번호의 이름 입력"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "비밀번호 입력"
#: src/components/dialogs/MutedWords.tsx:100
#: src/components/dialogs/MutedWords.tsx:101
@@ -1432,16 +1437,16 @@ msgstr "비밀번호를 변경하려면 받은 코드를 입력하세요."
msgid "Enter the domain you want to use"
msgstr "사용할 도메인 입력"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
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 "계정을 만들 때 사용한 이메일을 입력하세요. 새 비밀번호를 설정할 수 있도록 \"재설정 코드\"를 보내드립니다."
#: src/components/dialogs/BirthDateSettings.tsx:108
-#: src/view/com/auth/create/Step1.tsx:228
msgid "Enter your birth date"
msgstr "생년월일을 입력하세요"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:91
msgid "Enter your email address"
msgstr "이메일 주소를 입력하세요"
@@ -1453,15 +1458,15 @@ msgstr "새 이메일을 입력하세요"
msgid "Enter your new email address below."
msgstr "아래에 새 이메일 주소를 입력하세요."
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "사용자 이름 및 비밀번호 입력"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "캡차 응답을 수신하는 동안 오류가 발생했습니다."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:111
msgid "Error:"
msgstr "오류:"
@@ -1473,9 +1478,9 @@ msgstr "모두"
msgid "Excessive mentions or replies"
msgstr "과도한 멘션 또는 답글"
-#: src/view/com/modals/DeleteAccount.tsx:231
+#: src/view/com/modals/DeleteAccount.tsx:230
msgid "Exits account deletion process"
-msgstr ""
+msgstr "계정 삭제 프로세스를 종료합니다"
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Exits handle change process"
@@ -1483,7 +1488,7 @@ msgstr "핸들 변경 프로세스를 종료합니다"
#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Exits image cropping process"
-msgstr ""
+msgstr "이미지 자르기 프로세스를 종료합니다"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1559,7 +1564,7 @@ msgstr "추천 피드를 불러오지 못했습니다"
#: src/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "이미지를 저장하지 못함: {0}"
#: src/Navigation.tsx:196
msgid "Feed"
@@ -1581,7 +1586,7 @@ msgstr "피드백"
#: src/Navigation.tsx:464
#: src/view/screens/Feeds.tsx:419
#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:192
+#: src/view/screens/Profile.tsx:194
#: src/view/shell/bottom-bar/BottomBar.tsx:183
#: src/view/shell/desktop/LeftNav.tsx:346
#: src/view/shell/Drawer.tsx:479
@@ -1597,19 +1602,19 @@ msgstr "피드는 콘텐츠를 큐레이션하기 위해 사용자에 의해 만
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "피드는 사용자가 약간의 코딩 전문 지식만으로 구축할 수 있는 맞춤 알고리즘입니다. <0/>에서 자세한 내용을 확인하세요."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "주제 기반 피드도 있습니다!"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
-msgstr ""
+msgstr "파일 콘텐츠"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
msgstr "피드에서 필터링"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Finalizing"
msgstr "마무리 중"
@@ -1619,11 +1624,11 @@ msgstr "마무리 중"
msgid "Find accounts to follow"
msgstr "팔로우할 계정 찾아보기"
-#: src/view/screens/Search/Search.tsx:441
+#: src/view/screens/Search/Search.tsx:442
msgid "Find users on Bluesky"
msgstr "Bluesky에서 사용자 찾기"
-#: src/view/screens/Search/Search.tsx:439
+#: src/view/screens/Search/Search.tsx:440
msgid "Find users with the search tool on the right"
msgstr "오른쪽의 검색 도구로 사용자 찾기"
@@ -1643,7 +1648,7 @@ msgstr "대화 스레드를 미세 조정합니다."
msgid "Fitness"
msgstr "건강"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:132
msgid "Flexible"
msgstr "유연성"
@@ -1656,7 +1661,7 @@ msgstr "가로로 뒤집기"
msgid "Flip vertically"
msgstr "세로로 뒤집기"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:229
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/post-thread/PostThreadFollowBtn.tsx:139
@@ -1680,11 +1685,11 @@ msgstr "{0} 님을 팔로우"
msgid "Follow Account"
msgstr "계정 팔로우"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "모두 팔로우"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "선택한 계정을 팔로우하고 다음 단계를 계속 진행합니다"
@@ -1726,7 +1731,7 @@ msgstr "{0} 님을 팔로우했습니다"
#: src/view/screens/Settings/index.tsx:553
msgid "Following feed preferences"
-msgstr ""
+msgstr "팔로우 중 피드 설정"
#: src/Navigation.tsx:262
#: src/view/com/home/HomeHeaderLayout.web.tsx:50
@@ -1748,7 +1753,7 @@ msgstr "나를 팔로우함"
msgid "Food"
msgstr "음식"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "보안상의 이유로 이메일 주소로 확인 코드를 보내야 합니다."
@@ -1756,19 +1761,19 @@ msgstr "보안상의 이유로 이메일 주소로 확인 코드를 보내야
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 "보안상의 이유로 이 비밀번호는 다시 볼 수 없습니다. 이 비밀번호를 분실한 경우 새 비밀번호를 생성해야 합니다."
-#: src/view/com/auth/login/LoginForm.tsx:244
-msgid "Forgot"
-msgstr "분실"
-
-#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot password"
-msgstr "비밀번호 분실"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "비밀번호 분실"
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "비밀번호를 잊으셨나요?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "분실"
+
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
msgstr "잦은 원치 않는 콘텐츠 게시"
@@ -1794,12 +1799,12 @@ msgstr "시작하기"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr "명백한 법률 또는 서비스 약관 위반 행위"
+msgstr "명백한 법률 또는 서비스 이용약관 위반 행위"
-#: src/components/moderation/ScreenHider.tsx:144
-#: src/components/moderation/ScreenHider.tsx:153
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/com/auth/LoggedOut.tsx:83
#: src/view/screens/NotFound.tsx:55
#: src/view/screens/ProfileFeed.tsx:111
#: src/view/screens/ProfileList.tsx:916
@@ -1807,6 +1812,7 @@ msgstr "명백한 법률 또는 서비스 약관 위반 행위"
msgid "Go back"
msgstr "뒤로"
+#: src/components/Error.tsx:91
#: src/screens/Profile/ErrorState.tsx:62
#: src/screens/Profile/ErrorState.tsx:66
#: src/view/screens/NotFound.tsx:54
@@ -1815,30 +1821,28 @@ msgstr "뒤로"
msgid "Go Back"
msgstr "뒤로"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:74
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
#: src/components/ReportDialog/SubmitView.tsx:104
#: src/screens/Onboarding/Layout.tsx:104
#: src/screens/Onboarding/Layout.tsx:193
+#: src/screens/Signup/index.tsx:173
msgid "Go back to previous step"
msgstr "이전 단계로 돌아가기"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "홈으로 이동"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "홈으로 이동"
-#: src/view/screens/Search/Search.tsx:748
+#: src/view/screens/Search/Search.tsx:749
#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle}(으)로 이동"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
+#: src/screens/Login/ForgotPasswordForm.tsx:172
#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "다음"
@@ -1863,7 +1867,7 @@ msgstr "해시태그"
msgid "Hashtag: #{tag}"
msgstr "해시태그: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:217
msgid "Having trouble?"
msgstr "문제가 있나요?"
@@ -1872,15 +1876,15 @@ msgstr "문제가 있나요?"
msgid "Help"
msgstr "도움말"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "팔로우할 만한 계정"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "다음은 인기 있는 화제 피드입니다. 원하는 만큼 피드를 팔로우할 수 있습니다."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "다음은 사용자의 관심사를 기반으로 한 몇 가지 주제별 피드입니다: {interestsText}. 원하는 만큼 많은 피드를 팔로우할 수 있습니다."
@@ -1889,7 +1893,7 @@ msgid "Here is your app password."
msgstr "앱 비밀번호입니다."
#: src/components/moderation/ContentHider.tsx:115
-#: src/components/moderation/GlobalModerationLabelPref.tsx:43
+#: src/components/moderation/LabelPreference.tsx:134
#: src/components/moderation/PostHider.tsx:107
#: src/lib/moderation/useLabelBehaviorDescription.ts:15
#: src/lib/moderation/useLabelBehaviorDescription.ts:20
@@ -1944,7 +1948,7 @@ msgstr "피드 서버에서 잘못된 응답을 보냈습니다. 피드 소유
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "이 피드를 찾는 데 문제가 있습니다. 피드가 삭제되었을 수 있습니다."
-#: src/screens/Moderation/index.tsx:61
+#: src/screens/Moderation/index.tsx:59
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
msgstr "이 데이터를 불러오는 데 문제가 있는 것 같습니다. 자세한 내용은 아래를 참조하세요. 이 문제가 지속되면 문의해 주세요."
@@ -1962,10 +1966,11 @@ msgstr "홈"
#: src/view/com/modals/ChangeHandle.tsx:421
msgid "Host:"
-msgstr ""
+msgstr "호스트:"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
#: src/view/com/modals/ChangeHandle.tsx:280
msgid "Hosting provider"
msgstr "호스팅 제공자"
@@ -1994,9 +1999,9 @@ msgstr "대체 텍스트가 긴 경우 대체 텍스트 확장 상태를 전환
msgid "If none are selected, suitable for all ages."
msgstr "아무것도 선택하지 않으면 모든 연령대에 적합하다는 뜻입니다."
-#: src/view/com/auth/create/Policies.tsx:91
+#: src/screens/Signup/StepInfo/Policies.tsx:83
msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
-msgstr ""
+msgstr "해당 국가의 법률에 따라 아직 성인이 아닌 경우, 부모 또는 법적 보호자가 대신 이 약관을 읽어야 합니다."
#: src/view/screens/ProfileList.tsx:610
msgid "If you delete this list, you won't be able to recover it."
@@ -2026,51 +2031,43 @@ msgstr "이미지 대체 텍스트"
msgid "Impersonation or false claims about identity or affiliation"
msgstr "신원 또는 소속에 대한 사칭 또는 허위 주장"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "비밀번호 재설정을 위해 이메일로 전송된 코드를 입력합니다"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "계정 삭제를 위한 확인 코드를 입력합니다"
-#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Bluesky 계정에 사용할 이메일을 입력합니다"
-
-#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "진행하기 위해 초대 코드를 입력합니다"
-
#: src/view/com/modals/AddAppPasswords.tsx:180
msgid "Input name for app password"
msgstr "앱 비밀번호의 이름을 입력합니다"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "새 비밀번호를 입력합니다"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "계정을 삭제하기 위해 비밀번호를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:233
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "{identifier}에 연결된 비밀번호를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:200
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "가입 시 사용한 사용자 이름 또는 이메일 주소를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:232
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "비밀번호를 입력합니다"
#: src/view/com/modals/ChangeHandle.tsx:390
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "선호하는 호스팅 제공자를 입력합니다"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/screens/Signup/StepHandle.tsx:62
msgid "Input your user handle"
msgstr "사용자 핸들을 입력합니다"
@@ -2078,7 +2075,7 @@ msgstr "사용자 핸들을 입력합니다"
msgid "Invalid or unsupported post record"
msgstr "유효하지 않거나 지원되지 않는 게시물 기록"
-#: src/view/com/auth/login/LoginForm.tsx:116
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "잘못된 사용자 이름 또는 비밀번호"
@@ -2086,12 +2083,11 @@ msgstr "잘못된 사용자 이름 또는 비밀번호"
msgid "Invite a Friend"
msgstr "친구 초대하기"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "초대 코드"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "초대 코드가 올바르지 않습니다. 코드를 올바르게 입력했는지 확인한 후 다시 시도하세요."
@@ -2103,12 +2099,12 @@ msgstr "초대 코드: {0}개 사용 가능"
msgid "Invite codes: 1 available"
msgstr "초대 코드: 1개 사용 가능"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "내가 팔로우하는 사람들의 게시물이 올라오는 대로 표시됩니다."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:103
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:104
+#: src/view/com/auth/SplashScreen.web.tsx:172
msgid "Jobs"
msgstr "채용"
@@ -2128,11 +2124,11 @@ msgstr "{0} 님이 라벨 지정함."
msgid "Labeled by the author."
msgstr "작성자가 라벨 지정함."
-#: src/view/screens/Profile.tsx:186
+#: src/view/screens/Profile.tsx:188
msgid "Labels"
msgstr "라벨"
-#: src/screens/Profile/Sections/Labels.tsx:143
+#: src/screens/Profile/Sections/Labels.tsx:142
msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
msgstr "라벨은 사용자 및 콘텐츠에 대한 주석입니다. 네트워크를 숨기고, 경고하고, 분류하는 데 사용할 수 있습니다."
@@ -2165,11 +2161,7 @@ msgstr "언어 설정"
msgid "Languages"
msgstr "언어"
-#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "마지막 단계예요!"
-
-#: src/components/moderation/ScreenHider.tsx:129
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "더 알아보기"
@@ -2179,11 +2171,11 @@ msgid "Learn more about the moderation applied to this content."
msgstr "이 콘텐츠에 적용된 검토 설정에 대해 자세히 알아보세요."
#: src/components/moderation/PostHider.tsx:85
-#: src/components/moderation/ScreenHider.tsx:126
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "이 경고에 대해 더 알아보기"
-#: src/screens/Moderation/index.tsx:551
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Bluesky에서 공개되는 항목에 대해 자세히 알아보세요."
@@ -2207,12 +2199,12 @@ msgstr "명 남았습니다."
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "레거시 스토리지가 지워졌으며 지금 앱을 다시 시작해야 합니다."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "비밀번호를 재설정해 봅시다!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Let's go!"
msgstr "출발!"
@@ -2220,11 +2212,11 @@ msgstr "출발!"
msgid "Light"
msgstr "밝음"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
msgid "Like"
msgstr "좋아요"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:257
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:256
#: src/view/screens/ProfileFeed.tsx:572
msgid "Like this feed"
msgstr "이 피드에 좋아요 표시"
@@ -2249,8 +2241,8 @@ msgstr "{0}명의 사용자가 좋아함"
msgid "Liked by {count} {0}"
msgstr "{count}명의 사용자가 좋아함"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:276
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:290
#: src/view/screens/ProfileFeed.tsx:587
msgid "Liked by {likeCount} {0}"
msgstr "{likeCount}명의 사용자가 좋아함"
@@ -2263,7 +2255,7 @@ msgstr "님이 내 맞춤 피드를 좋아합니다"
msgid "liked your post"
msgstr "님이 내 게시물을 좋아합니다"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:193
msgid "Likes"
msgstr "좋아요"
@@ -2308,19 +2300,14 @@ msgid "List unmuted"
msgstr "리스트 언뮤트됨"
#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:187
-#: src/view/screens/Profile.tsx:193
+#: src/view/screens/Profile.tsx:189
+#: src/view/screens/Profile.tsx:195
#: src/view/shell/desktop/LeftNav.tsx:383
#: src/view/shell/Drawer.tsx:495
#: src/view/shell/Drawer.tsx:496
msgid "Lists"
msgstr "리스트"
-#: src/view/com/post-thread/PostThread.tsx:334
-#: src/view/com/post-thread/PostThread.tsx:342
-#~ msgid "Load more posts"
-#~ msgstr "더 많은 게시물 불러오기"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "새 알림 불러오기"
@@ -2347,14 +2334,18 @@ msgstr "로그"
msgid "Log out"
msgstr "로그아웃"
-#: src/screens/Moderation/index.tsx:444
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "로그아웃 표시"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:142
+#: src/screens/Login/ChooseAccountForm.tsx:149
msgid "Login to account that is not listed"
msgstr "목록에 없는 계정으로 로그인"
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "XXXXX-XXXXX 형식"
+
#: src/view/com/modals/LinkWarning.tsx:65
msgid "Make sure this is where you intend to go!"
msgstr "이곳이 당신이 가고자 하는 곳인지 확인하세요!"
@@ -2363,15 +2354,7 @@ msgstr "이곳이 당신이 가고자 하는 곳인지 확인하세요!"
msgid "Manage your muted words and tags"
msgstr "뮤트한 단어 및 태그 관리"
-#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "253자를 넘을 수 없습니다"
-
-#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "문자와 숫자만 입력할 수 있습니다"
-
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:192
msgid "Media"
msgstr "미디어"
@@ -2384,7 +2367,7 @@ msgid "Mentioned users"
msgstr "멘션한 사용자"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:648
msgid "Menu"
msgstr "메뉴"
@@ -2397,7 +2380,7 @@ msgid "Misleading Account"
msgstr "오해의 소지가 있는 계정"
#: src/Navigation.tsx:119
-#: src/screens/Moderation/index.tsx:106
+#: src/screens/Moderation/index.tsx:104
#: src/view/screens/Settings/index.tsx:645
#: src/view/shell/desktop/LeftNav.tsx:401
#: src/view/shell/Drawer.tsx:514
@@ -2432,7 +2415,7 @@ msgstr "검토 리스트 생성됨"
msgid "Moderation list updated"
msgstr "검토 리스트 업데이트됨"
-#: src/screens/Moderation/index.tsx:245
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "검토 리스트"
@@ -2449,18 +2432,18 @@ msgstr "검토 설정"
msgid "Moderation states"
msgstr "검토 상태"
-#: src/screens/Moderation/index.tsx:217
+#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
msgstr "검토 도구"
#: src/components/moderation/ModerationDetailsDialog.tsx:49
#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
-msgstr "관리자가 콘텐츠에 일반 경고를 설정했습니다."
+msgstr "검토자가 콘텐츠에 일반 경고를 설정했습니다."
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "더 보기"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
@@ -2474,10 +2457,6 @@ msgstr "옵션 더 보기"
msgid "Most-liked replies first"
msgstr "좋아요 많은 순"
-#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "최소 3자 이상이어야 합니다"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "뮤트"
@@ -2538,7 +2517,7 @@ msgstr "단어 및 태그 뮤트"
msgid "Muted"
msgstr "뮤트됨"
-#: src/screens/Moderation/index.tsx:257
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "뮤트한 계정"
@@ -2555,7 +2534,7 @@ msgstr "계정을 뮤트하면 피드와 알림에서 해당 계정의 게시물
msgid "Muted by \"{0}\""
msgstr "\"{0}\" 님이 뮤트함"
-#: src/screens/Moderation/index.tsx:233
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "뮤트한 단어 및 태그"
@@ -2578,16 +2557,12 @@ msgstr "내 프로필"
#: src/view/screens/Settings/index.tsx:596
msgid "My saved feeds"
-msgstr ""
+msgstr "내 저장된 피드"
#: src/view/screens/Settings/index.tsx:602
msgid "My Saved Feeds"
msgstr "내 저장된 피드"
-#: src/view/com/auth/server-input/index.tsx:118
-#~ msgid "my-server.com"
-#~ msgstr "my-server.com"
-
#: src/view/com/modals/AddAppPasswords.tsx:179
#: src/view/com/modals/CreateOrEditList.tsx:290
msgid "Name"
@@ -2607,10 +2582,8 @@ msgstr "이름 또는 설명이 커뮤니티 기준을 위반함"
msgid "Nature"
msgstr "자연"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:292
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:252
#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "다음 화면으로 이동합니다"
@@ -2619,7 +2592,7 @@ msgstr "다음 화면으로 이동합니다"
msgid "Navigates to your profile"
msgstr "내 프로필로 이동합니다"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:124
+#: src/components/ReportDialog/SelectReportOptionView.tsx:122
msgid "Need to report a copyright violation?"
msgstr "저작권 위반을 신고해야 하나요?"
@@ -2633,13 +2606,13 @@ msgstr "{0}에서 임베드를 불러오지 않습니다"
msgid "Never lose access to your followers and data."
msgstr "팔로워와 데이터에 대한 접근 권한을 잃지 마세요."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:120
msgid "Never lose access to your followers or data."
msgstr "팔로워 또는 데이터에 대한 접근 권한을 잃지 마세요."
#: src/view/com/modals/ChangeHandle.tsx:520
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "취소하고 내 핸들 만들기"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2654,7 +2627,6 @@ msgstr "새로 만들기"
msgid "New Moderation List"
msgstr "새 검토 리스트"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "새 비밀번호"
@@ -2670,7 +2642,7 @@ msgstr "새 게시물"
#: src/view/screens/Feeds.tsx:555
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:450
+#: src/view/screens/Profile.tsx:452
#: src/view/screens/ProfileFeed.tsx:433
#: src/view/screens/ProfileList.tsx:199
#: src/view/screens/ProfileList.tsx:227
@@ -2695,12 +2667,13 @@ msgstr "새로운 순"
msgid "News"
msgstr "뉴스"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:294
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:251
+#: src/screens/Login/LoginForm.tsx:258
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:205
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
#: src/view/com/modals/ChangePassword.tsx:253
#: src/view/com/modals/ChangePassword.tsx:255
@@ -2732,12 +2705,16 @@ msgstr "설명 없음"
#: src/view/com/modals/ChangeHandle.tsx:406
msgid "No DNS Panel"
-msgstr ""
+msgstr "DNS 패널 없음"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
msgid "No longer following {0}"
msgstr "더 이상 {0} 님을 팔로우하지 않음"
+#: src/screens/Signup/StepHandle.tsx:114
+msgid "No longer than 253 characters"
+msgstr "253자를 초과하지 않음"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "아직 알림이 없습니다."
@@ -2756,14 +2733,14 @@ msgid "No results found for \"{query}\""
msgstr "\"{query}\"에 대한 결과를 찾을 수 없습니다"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:282
-#: src/view/screens/Search/Search.tsx:310
+#: src/view/screens/Search/Search.tsx:283
+#: src/view/screens/Search/Search.tsx:311
msgid "No results found for {query}"
msgstr "{query}에 대한 결과를 찾을 수 없습니다"
#: src/view/com/modals/EmbedConsent.tsx:129
msgid "No thanks"
-msgstr "괜찮습니다"
+msgstr "사용하지 않음"
#: src/view/com/modals/Threadgate.tsx:82
msgid "Nobody"
@@ -2783,7 +2760,7 @@ msgid "Not Applicable."
msgstr "해당 없음."
#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:97
+#: src/view/screens/Profile.tsx:99
msgid "Not Found"
msgstr "찾을 수 없음"
@@ -2794,10 +2771,11 @@ msgstr "나중에 하기"
#: src/view/com/profile/ProfileMenu.tsx:368
#: src/view/com/util/forms/PostDropdownBtn.tsx:342
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:246
msgid "Note about sharing"
msgstr "공유 관련 참고 사항"
-#: src/screens/Moderation/index.tsx:542
+#: src/screens/Moderation/index.tsx:540
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 "참고: Bluesky는 개방형 공개 네트워크입니다. 이 설정은 Bluesky 앱과 웹사이트에서만 내 콘텐츠가 표시되는 것을 제한하며, 다른 앱에서는 이 설정을 준수하지 않을 수 있습니다. 다른 앱과 웹사이트에서는 로그아웃한 사용자에게 내 콘텐츠가 계속 표시될 수 있습니다."
@@ -2819,6 +2797,10 @@ msgstr "노출"
msgid "Nudity or pornography not labeled as such"
msgstr "누드 또는 음란물로 설정되지 않은 콘텐츠"
+#: src/screens/Signup/index.tsx:142
+msgid "of"
+msgstr ""
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
msgstr "끄기"
@@ -2827,15 +2809,16 @@ msgstr "끄기"
msgid "Oh no!"
msgstr "이런!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "이런! 뭔가 잘못되었습니다."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:325
msgid "OK"
-msgstr ""
+msgstr "확인"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "확인"
@@ -2847,7 +2830,7 @@ msgstr "오래된 순"
msgid "Onboarding reset"
msgstr "온보딩 재설정"
-#: src/view/com/composer/Composer.tsx:391
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다."
@@ -2855,22 +2838,26 @@ msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다.
msgid "Only {0} can reply."
msgstr "{0}만 답글을 달 수 있습니다."
+#: src/screens/Signup/StepHandle.tsx:97
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "문자, 숫자, 하이픈만 포함"
+
#: src/components/Lists.tsx:83
msgid "Oops, something went wrong!"
msgstr "이런, 뭔가 잘못되었습니다!"
#: src/components/Lists.tsx:157
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:97
+#: src/view/screens/Profile.tsx:99
msgid "Oops!"
msgstr "이런!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:116
msgid "Open"
msgstr "공개성"
-#: src/view/com/composer/Composer.tsx:490
#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "이모티콘 선택기 열기"
@@ -2882,7 +2869,7 @@ msgstr "피드 옵션 메뉴 열기"
msgid "Open links with in-app browser"
msgstr "링크를 인앱 브라우저로 열기"
-#: src/screens/Moderation/index.tsx:229
+#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
msgstr "뮤트한 단어 및 태그 설정 열기"
@@ -2901,7 +2888,7 @@ msgstr "스토리북 페이지 열기"
#: src/view/screens/Settings/index.tsx:816
msgid "Open system log"
-msgstr ""
+msgstr "시스템 로그 열기"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
@@ -2935,15 +2922,17 @@ msgstr "기기의 사진 갤러리를 엽니다"
msgid "Opens external embeds settings"
msgstr "외부 임베드 설정을 엽니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:56
-#: src/view/com/auth/SplashScreen.tsx:70
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:57
+#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.web.tsx:97
msgid "Opens flow to create a new Bluesky account"
-msgstr ""
+msgstr "새 Bluesky 계정을 만드는 플로를 엽니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:74
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:75
#: src/view/com/auth/SplashScreen.tsx:83
+#: src/view/com/auth/SplashScreen.web.tsx:112
msgid "Opens flow to sign into your existing Bluesky account"
-msgstr ""
+msgstr "존재하는 Bluesky 계정에 로그인하는 플로를 엽니다"
#: src/view/com/modals/InviteCodes.tsx:172
msgid "Opens list of invite codes"
@@ -2951,27 +2940,23 @@ msgstr "초대 코드 목록을 엽니다"
#: src/view/screens/Settings/index.tsx:798
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:792
-#~ msgid "Opens modal for account deletion confirmation. Requires email code."
-#~ msgstr "계정 삭제 확인을 위한 대화 상자를 엽니다. 이메일 코드가 필요합니다"
+msgstr "계정 삭제 확인을 위한 대화 상자를 엽니다. 이메일 코드가 필요합니다"
#: src/view/screens/Settings/index.tsx:756
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Bluesky 비밀번호 변경을 위한 대화 상자를 엽니다"
#: src/view/screens/Settings/index.tsx:718
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "새로운 Bluesky 핸들을 선택하기 위한 대화 상자를 엽니다"
#: src/view/screens/Settings/index.tsx:779
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Bluesky 계정 데이터(저장소)를 다운로드하기 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:970
+#: src/view/screens/Settings/index.tsx:968
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "이메일 인증을 위한 대화 상자를 엽니다"
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Opens modal for using custom domain"
@@ -2981,7 +2966,7 @@ msgstr "사용자 지정 도메인을 사용하기 위한 대화 상자를 엽
msgid "Opens moderation settings"
msgstr "검토 설정을 엽니다"
-#: src/view/com/auth/login/LoginForm.tsx:242
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "비밀번호 재설정 양식을 엽니다"
@@ -2996,23 +2981,15 @@ msgstr "모든 저장된 피드 화면을 엽니다"
#: src/view/screens/Settings/index.tsx:696
msgid "Opens the app password settings"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:694
-#~ msgid "Opens the app password settings page"
-#~ msgstr "비밀번호 설정 페이지를 엽니다"
+msgstr "비밀번호 설정을 엽니다"
#: src/view/screens/Settings/index.tsx:554
msgid "Opens the Following feed preferences"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:553
-#~ msgid "Opens the home feed preferences"
-#~ msgstr "홈 피드 설정을 엽니다"
+msgstr "팔로우 중 피드 설정을 엽니다"
#: src/view/com/modals/LinkWarning.tsx:76
msgid "Opens the linked website"
-msgstr ""
+msgstr "연결된 웹사이트를 엽니다"
#: src/view/screens/Settings/index.tsx:829
#: src/view/screens/Settings/index.tsx:839
@@ -3033,7 +3010,7 @@ msgstr "{numItems}개 중 {0}번째 옵션"
#: src/components/ReportDialog/SubmitView.tsx:162
msgid "Optionally provide additional information below:"
-msgstr "선택 사항으로 아래에 추가 정보를 입력합니다:"
+msgstr "선택 사항으로 아래에 추가 정보를 입력하세요:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3043,7 +3020,7 @@ msgstr "또는 다음 옵션을 결합하세요:"
msgid "Other"
msgstr "기타"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:147
+#: src/screens/Login/ChooseAccountForm.tsx:167
msgid "Other account"
msgstr "다른 계정"
@@ -3060,25 +3037,22 @@ msgstr "페이지를 찾을 수 없음"
msgid "Page Not Found"
msgstr "페이지를 찾을 수 없음"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:213
-#: src/view/com/auth/login/LoginForm.tsx:229
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:195
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:101
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "비밀번호"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "비밀번호 변경됨"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "비밀번호 변경됨"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "비밀번호 변경됨"
@@ -3132,15 +3106,15 @@ msgstr "동영상 재생"
msgid "Plays the GIF"
msgstr "GIF를 재생합니다"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "핸들을 입력하세요."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "비밀번호를 입력하세요."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "인증 캡차를 완료해 주세요."
@@ -3160,23 +3134,23 @@ msgstr "이 앱 비밀번호에 대해 고유한 이름을 입력하거나 무
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "뮤트할 단어나 태그 또는 문구를 입력하세요"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "이메일을 입력하세요."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "비밀번호도 입력해 주세요:"
#: src/components/moderation/LabelsOnMeDialog.tsx:222
msgid "Please explain why you think this label was incorrectly applied by {0}"
-msgstr "{0}이(가) 이 라벨을 잘못 적용했다고 생각하는 이유를 설명해 주세요"
+msgstr "{0} 님이 이 라벨을 잘못 적용했다고 생각하는 이유를 설명해 주세요"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
msgstr "이메일 인증하기"
-#: src/view/com/composer/Composer.tsx:221
+#: src/view/com/composer/Composer.tsx:222
msgid "Please wait for your link card to finish loading"
msgstr "링크 카드를 완전히 불러올 때까지 기다려주세요"
@@ -3192,8 +3166,8 @@ msgstr "음란물"
msgid "Pornography"
msgstr "음란물"
-#: src/view/com/composer/Composer.tsx:366
-#: src/view/com/composer/Composer.tsx:374
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "게시하기"
@@ -3248,7 +3222,7 @@ msgstr "게시물을 찾을 수 없음"
msgid "posts"
msgstr "게시물"
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:190
msgid "Posts"
msgstr "게시물"
@@ -3264,9 +3238,15 @@ msgstr "게시물 숨겨짐"
msgid "Potentially Misleading Link"
msgstr "오해의 소지가 있는 링크"
+#: src/components/forms/HostingProvider.tsx:45
+msgid "Press to change hosting provider"
+msgstr "호스팅 제공자를 변경하려면 누릅니다"
+
+#: src/components/Error.tsx:74
#: src/components/Lists.tsx:88
+#: src/screens/Signup/index.tsx:186
msgid "Press to retry"
-msgstr ""
+msgstr "눌러서 다시 시도하기"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3286,19 +3266,19 @@ msgid "Privacy"
msgstr "개인정보"
#: src/Navigation.tsx:231
-#: src/view/com/auth/create/Policies.tsx:69
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:925
+#: src/view/screens/Settings/index.tsx:923
#: src/view/shell/Drawer.tsx:265
msgid "Privacy Policy"
msgstr "개인정보 처리방침"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "처리 중…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:340
+#: src/view/screens/Profile.tsx:342
msgid "profile"
msgstr "프로필"
@@ -3314,11 +3294,11 @@ msgstr "프로필"
msgid "Profile updated"
msgstr "프로필 업데이트됨"
-#: src/view/screens/Settings/index.tsx:983
+#: src/view/screens/Settings/index.tsx:981
msgid "Protect your account by verifying your email."
msgstr "이메일을 인증하여 계정을 보호하세요."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:102
msgid "Public"
msgstr "공공성"
@@ -3330,11 +3310,11 @@ msgstr "일괄 뮤트하거나 차단할 수 있는 공개적이고 공유 가
msgid "Public, shareable lists which can drive feeds."
msgstr "피드를 탐색할 수 있는 공개적이고 공유 가능한 목록입니다."
-#: src/view/com/composer/Composer.tsx:351
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "게시물 게시하기"
-#: src/view/com/composer/Composer.tsx:351
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "답글 게시하기"
@@ -3360,9 +3340,9 @@ msgstr "무작위"
msgid "Ratios"
msgstr "비율"
-#: src/view/screens/Search/Search.tsx:776
+#: src/view/screens/Search/Search.tsx:777
msgid "Recent Searches"
-msgstr ""
+msgstr "최근 검색"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
msgid "Recommended Feeds"
@@ -3449,7 +3429,7 @@ msgstr "내 피드에서 제거됨"
msgid "Removes default thumbnail from {0}"
msgstr "{0}에서 기본 미리보기 이미지를 제거합니다"
-#: src/view/screens/Profile.tsx:189
+#: src/view/screens/Profile.tsx:191
msgid "Replies"
msgstr "답글"
@@ -3457,7 +3437,7 @@ msgstr "답글"
msgid "Replies to this thread are disabled"
msgstr "이 스레드에 대한 답글이 비활성화됩니다."
-#: src/view/com/composer/Composer.tsx:364
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "답글"
@@ -3477,6 +3457,10 @@ msgstr "<0/> 님에게 보내는 답글"
msgid "Report Account"
msgstr "계정 신고"
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "신고 대화 상자"
+
#: src/view/screens/ProfileFeed.tsx:351
#: src/view/screens/ProfileFeed.tsx:353
msgid "Report feed"
@@ -3491,23 +3475,23 @@ msgstr "리스트 신고"
msgid "Report post"
msgstr "게시물 신고"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
msgid "Report this content"
msgstr "이 콘텐츠 신고하기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
msgid "Report this feed"
msgstr "이 피드 신고하기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
msgid "Report this list"
msgstr "이 리스트 신고하기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
msgid "Report this post"
msgstr "이 게시물 신고하기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
msgid "Report this user"
msgstr "이 사용자 신고하기"
@@ -3562,12 +3546,10 @@ msgstr "코드 요청"
msgid "Require alt text before posting"
msgstr "게시하기 전 대체 텍스트 필수"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "이 제공자에서 필수"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "재설정 코드"
@@ -3576,23 +3558,15 @@ msgstr "재설정 코드"
msgid "Reset Code"
msgstr "재설정 코드"
-#: src/view/screens/Settings/index.tsx:852
-#~ msgid "Reset onboarding"
-#~ msgstr "온보딩 초기화"
-
#: src/view/screens/Settings/index.tsx:858
#: src/view/screens/Settings/index.tsx:861
msgid "Reset onboarding state"
msgstr "온보딩 상태 초기화"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "비밀번호 재설정"
-#: src/view/screens/Settings/index.tsx:842
-#~ msgid "Reset preferences"
-#~ msgstr "설정 초기화"
-
#: src/view/screens/Settings/index.tsx:848
#: src/view/screens/Settings/index.tsx:851
msgid "Reset preferences state"
@@ -3606,7 +3580,7 @@ msgstr "온보딩 상태 초기화"
msgid "Resets the preferences state"
msgstr "설정 상태 초기화"
-#: src/view/com/auth/login/LoginForm.tsx:272
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "로그인을 다시 시도합니다"
@@ -3615,30 +3589,31 @@ msgstr "로그인을 다시 시도합니다"
msgid "Retries the last action, which errored out"
msgstr "오류가 발생한 마지막 작업을 다시 시도합니다"
+#: src/components/Error.tsx:79
#: src/components/Lists.tsx:98
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:271
-#: src/view/com/auth/login/LoginForm.tsx:274
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:240
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:193
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "다시 시도"
+#: src/components/Error.tsx:86
#: src/view/screens/ProfileList.tsx:917
msgid "Return to previous page"
msgstr "이전 페이지로 돌아갑니다"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+msgstr "홈 페이지로 돌아갑니다"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:112
msgid "Returns to previous page"
-msgstr ""
+msgstr "이전 페이지로 돌아갑니다"
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:173
@@ -3684,7 +3659,7 @@ msgstr "저장된 피드"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "내 앨범에 저장됨"
#: src/view/screens/ProfileFeed.tsx:212
msgid "Saved to your feeds"
@@ -3700,7 +3675,7 @@ msgstr "핸들을 {handle}(으)로 변경합니다"
#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Saves image crop settings"
-msgstr ""
+msgstr "이미지 자르기 설정을 저장합니다"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
@@ -3711,13 +3686,13 @@ msgid "Scroll to top"
msgstr "맨 위로 스크롤"
#: src/Navigation.tsx:459
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:420
-#: src/view/screens/Search/Search.tsx:669
-#: src/view/screens/Search/Search.tsx:687
+#: src/view/screens/Search/Search.tsx:421
+#: src/view/screens/Search/Search.tsx:670
+#: src/view/screens/Search/Search.tsx:688
#: src/view/shell/bottom-bar/BottomBar.tsx:161
#: src/view/shell/desktop/LeftNav.tsx:328
#: src/view/shell/desktop/Search.tsx:215
@@ -3727,7 +3702,7 @@ msgstr "맨 위로 스크롤"
msgid "Search"
msgstr "검색"
-#: src/view/screens/Search/Search.tsx:736
+#: src/view/screens/Search/Search.tsx:737
#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "\"{query}\"에 대한 검색 결과"
@@ -3740,8 +3715,8 @@ msgstr "{displayTag} 태그를 사용한 @{authorHandle} 님의 모든 게시물
msgid "Search for all posts with tag {displayTag}"
msgstr "{displayTag} 태그를 사용한 모든 게시물 검색"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "사용자 검색하기"
@@ -3770,7 +3745,7 @@ msgstr "이 사용자의 <0>{displayTag}0> 게시물 보기"
msgid "See this guide"
msgstr "이 가이드"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
msgid "See what's next"
msgstr "See what's next"
@@ -3778,48 +3753,43 @@ msgstr "See what's next"
msgid "Select {item}"
msgstr "{item} 선택"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:123
+msgid "Select account"
+msgstr "계정 선택"
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "기존 계정에서 선택"
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "언어 선택"
#: src/components/ReportDialog/SelectLabelerView.tsx:30
-#~ msgid "Select moderation service"
-#~ msgstr "검토 서비스 선택하기"
-
-#: src/components/ReportDialog/SelectLabelerView.tsx:32
msgid "Select moderator"
-msgstr ""
+msgstr "검토자 선택"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "{numItems}개 중 {i}번째 옵션을 선택합니다"
-#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:153
-msgid "Select service"
-msgstr "서비스 선택"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "아래에서 팔로우할 계정을 선택하세요"
#: src/components/ReportDialog/SubmitView.tsx:135
msgid "Select the moderation service(s) to report to"
-msgstr "신고할 검토 서비스를 선택합니다."
+msgstr "신고할 검토 서비스를 선택하세요."
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "데이터를 호스팅할 서비스를 선택하세요."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "아래 목록에서 팔로우할 화제 피드를 선택하세요"
-#: src/screens/Onboarding/StepModeration/index.tsx:62
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "보고 싶거나 보고 싶지 않은 항목을 선택하면 나머지는 알아서 처리해 드립니다."
@@ -3827,15 +3797,15 @@ msgstr "보고 싶거나 보고 싶지 않은 항목을 선택하면 나머지
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
msgstr "구독하는 피드에 포함할 언어를 선택합니다. 선택하지 않으면 모든 언어가 표시됩니다."
-#: src/view/screens/LanguageSettings.tsx:98
-#~ msgid "Select your app language for the default text to display in the app"
-#~ msgstr "앱에 표시되는 기본 텍스트 언어를 선택합니다."
-
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "앱에 표시되는 기본 텍스트 언어를 선택합니다."
+
+#: src/screens/Signup/StepInfo/index.tsx:133
+msgid "Select your date of birth"
+msgstr "생년월일을 선택하세요"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "아래 옵션에서 관심사를 선택하세요"
@@ -3843,11 +3813,11 @@ msgstr "아래 옵션에서 관심사를 선택하세요"
msgid "Select your preferred language for translations in your feed."
msgstr "피드에서 번역을 위해 선호하는 언어를 선택합니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:122
msgid "Select your primary algorithmic feeds"
msgstr "기본 알고리즘 피드를 선택하세요"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:148
msgid "Select your secondary algorithmic feeds"
msgstr "보조 알고리즘 피드를 선택하세요"
@@ -3856,11 +3826,11 @@ msgstr "보조 알고리즘 피드를 선택하세요"
msgid "Send Confirmation Email"
msgstr "확인 이메일 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "이메일 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "이메일 보내기"
@@ -3875,11 +3845,11 @@ msgstr "피드백 보내기"
msgid "Send report"
msgstr "신고 보내기"
-#: src/components/ReportDialog/SelectLabelerView.tsx:46
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
msgid "Send report to {0}"
msgstr "{0} 님에게 신고 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "계정 삭제를 위한 확인 코드가 포함된 이메일을 전송합니다"
@@ -3887,38 +3857,14 @@ msgstr "계정 삭제를 위한 확인 코드가 포함된 이메일을 전송
msgid "Server address"
msgstr "서버 주소"
-#: src/screens/Moderation/index.tsx:306
+#: src/screens/Moderation/index.tsx:304
msgid "Set birthdate"
msgstr "생년월일 설정"
-#: src/view/screens/Settings/index.tsx:506
-#~ msgid "Set color theme to dark"
-#~ msgstr "색상 테마를 어두움으로 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:499
-#~ msgid "Set color theme to light"
-#~ msgstr "색상 테마를 밝음으로 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:493
-#~ msgid "Set color theme to system setting"
-#~ msgstr "색상 테마를 시스템 설정에 맞춥니다"
-
-#: src/view/screens/Settings/index.tsx:532
-#~ msgid "Set dark theme to the dark theme"
-#~ msgstr "어두운 테마를 완전히 어둡게 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:525
-#~ msgid "Set dark theme to the dim theme"
-#~ msgstr "어두운 테마를 살짝 밝게 설정합니다"
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "새 비밀번호 설정"
-#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "비밀번호 설정"
-
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
msgstr "피드에서 모든 인용 게시물을 숨기려면 이 설정을 \"아니요\"로 설정합니다. 재게시는 계속 표시됩니다."
@@ -3949,48 +3895,39 @@ msgstr "Bluesky 사용자 이름을 설정합니다"
#: src/view/screens/Settings/index.tsx:507
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "색상 테마를 어두움으로 설정합니다"
#: src/view/screens/Settings/index.tsx:500
msgid "Sets color theme to light"
-msgstr ""
+msgstr "색상 테마를 밝음으로 설정합니다"
#: src/view/screens/Settings/index.tsx:494
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "색상 테마를 시스템 설정에 맞춥니다"
#: src/view/screens/Settings/index.tsx:533
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "어두운 테마를 완전히 어둡게 설정합니다"
#: src/view/screens/Settings/index.tsx:526
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "어두운 테마를 살짝 밝게 설정합니다"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "비밀번호 재설정을 위한 이메일을 설정합니다"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "비밀번호 재설정을 위한 호스팅 제공자를 설정합니다"
-
#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "이미지 비율을 정사각형으로 설정합니다"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "이미지 비율을 세로로 길게 설정합니다"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Sets image aspect ratio to wide"
-msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:154
-msgid "Sets server for the Bluesky client"
-msgstr "Bluesky 클라이언트를 위한 서버를 설정합니다"
+msgstr "이미지 비율을 가로로 길게 설정합니다"
#: src/Navigation.tsx:139
#: src/view/screens/Settings/index.tsx:313
@@ -4017,13 +3954,14 @@ msgstr "공유"
#: src/view/com/profile/ProfileMenu.tsx:224
#: src/view/com/util/forms/PostDropdownBtn.tsx:228
#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:218
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:235
#: src/view/screens/ProfileList.tsx:388
msgid "Share"
msgstr "공유"
#: src/view/com/profile/ProfileMenu.tsx:373
#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:251
msgid "Share anyway"
msgstr "무시하고 공유"
@@ -4033,7 +3971,7 @@ msgid "Share feed"
msgstr "피드 공유"
#: src/components/moderation/ContentHider.tsx:115
-#: src/components/moderation/GlobalModerationLabelPref.tsx:45
+#: src/components/moderation/LabelPreference.tsx:136
#: src/components/moderation/PostHider.tsx:107
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
#: src/view/screens/Settings/index.tsx:363
@@ -4044,8 +3982,8 @@ msgstr "표시"
msgid "Show all replies"
msgstr "모든 답글 표시"
-#: src/components/moderation/ScreenHider.tsx:162
-#: src/components/moderation/ScreenHider.tsx:165
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "무시하고 표시"
@@ -4080,15 +4018,15 @@ msgstr "내 피드에서 게시물 표시"
msgid "Show Quote Posts"
msgstr "인용 게시물 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "팔로우 중 피드에 인용 게시물 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "팔로우 중 피드에 인용 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "팔로우 중 피드에 재게시 표시"
@@ -4100,11 +4038,11 @@ msgstr "답글 표시"
msgid "Show replies by people you follow before all other replies."
msgstr "내가 팔로우하는 사람들의 답글을 다른 모든 답글보다 먼저 표시합니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "팔로우 중 피드에 답글 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "팔로우 중 피드에 답글 표시"
@@ -4116,7 +4054,7 @@ msgstr "좋아요가 {value}개 이상인 답글 표시"
msgid "Show Reposts"
msgstr "재게시 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "팔로우 중 피드에 재게시 표시"
@@ -4141,9 +4079,15 @@ msgstr "경고 표시 및 피드에서 필터링"
msgid "Shows posts from {0} in your feed"
msgstr "피드에 {0} 님의 게시물을 표시합니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:72
-#: src/view/com/auth/login/Login.tsx:98
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:73
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:83
#: src/view/com/auth/SplashScreen.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:90
+#: src/view/com/auth/SplashScreen.web.tsx:110
+#: src/view/com/auth/SplashScreen.web.tsx:119
#: src/view/shell/bottom-bar/BottomBar.tsx:289
#: src/view/shell/bottom-bar/BottomBar.tsx:290
#: src/view/shell/bottom-bar/BottomBar.tsx:292
@@ -4157,26 +4101,21 @@ msgid "Sign in"
msgstr "로그인"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
-#: src/view/com/auth/SplashScreen.tsx:86
-#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "로그인"
+#: src/view/com/auth/SplashScreen.tsx:90
+#: src/view/com/auth/SplashScreen.web.tsx:118
+#~ msgid "Sign In"
+#~ msgstr "로그인"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Sign in as {0}"
msgstr "{0}(으)로 로그인"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:127
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:126
msgid "Sign in as..."
msgstr "로그인"
-#: src/view/com/auth/login/LoginForm.tsx:140
-msgid "Sign into"
-msgstr "로그인"
-
-#: src/view/com/modals/SwitchAccount.tsx:68
-#: src/view/com/modals/SwitchAccount.tsx:73
+#: src/view/com/modals/SwitchAccount.tsx:69
+#: src/view/com/modals/SwitchAccount.tsx:74
#: src/view/screens/Settings/index.tsx:107
#: src/view/screens/Settings/index.tsx:110
msgid "Sign out"
@@ -4198,7 +4137,7 @@ msgstr "가입하기"
msgid "Sign up or sign in to join the conversation"
msgstr "가입 또는 로그인하여 대화에 참여하세요"
-#: src/components/moderation/ScreenHider.tsx:98
+#: src/components/moderation/ScreenHider.tsx:97
#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "로그인 필요"
@@ -4207,21 +4146,21 @@ msgstr "로그인 필요"
msgid "Signed in as"
msgstr "로그인한 계정"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:112
+#: src/screens/Login/ChooseAccountForm.tsx:110
msgid "Signed in as @{0}"
msgstr "@{0}(으)로 로그인했습니다"
-#: src/view/com/modals/SwitchAccount.tsx:70
+#: src/view/com/modals/SwitchAccount.tsx:71
msgid "Signs {0} out of Bluesky"
msgstr "Bluesky에서 {0}을(를) 로그아웃합니다"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "건너뛰기"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "이 단계 건너뛰기"
@@ -4229,17 +4168,13 @@ msgstr "이 단계 건너뛰기"
msgid "Software Dev"
msgstr "소프트웨어 개발"
-#: src/components/ReportDialog/index.tsx:52
-#: src/screens/Moderation/index.tsx:116
-#: src/screens/Profile/Sections/Labels.tsx:77
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:76
msgid "Something went wrong, please try again."
msgstr "뭔가 잘못되었습니다. 다시 시도해 주세요."
-#: src/components/Lists.tsx:202
-#~ msgid "Something went wrong!"
-#~ msgstr "뭔가 잘못되었습니다!"
-
-#: src/App.native.tsx:71
+#: src/App.native.tsx:68
msgid "Sorry! Your session expired. Please log in again."
msgstr "죄송합니다. 세션이 만료되었습니다. 다시 로그인해 주세요."
@@ -4271,13 +4206,13 @@ msgstr "스포츠"
msgid "Square"
msgstr "정사각형"
-#: src/view/screens/Settings/index.tsx:905
+#: src/view/screens/Settings/index.tsx:903
msgid "Status page"
msgstr "상태 페이지"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "{numSteps}단계 중 {0}단계"
+#: src/screens/Signup/index.tsx:142
+msgid "Step"
+msgstr ""
#: src/view/screens/Settings/index.tsx:292
msgid "Storage cleared, you need to restart the app now."
@@ -4297,11 +4232,11 @@ msgstr "확인"
msgid "Subscribe"
msgstr "구독"
-#: src/screens/Profile/Sections/Labels.tsx:181
+#: src/screens/Profile/Sections/Labels.tsx:180
msgid "Subscribe to @{0} to use these labels:"
msgstr "이 라벨을 사용하려면 @{0} 님을 구독하세요:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:221
msgid "Subscribe to Labeler"
msgstr "라벨러 구독"
@@ -4310,7 +4245,7 @@ msgstr "라벨러 구독"
msgid "Subscribe to the {0} feed"
msgstr "{0} 피드 구독하기"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
msgid "Subscribe to this labeler"
msgstr "이 라벨러 구독하기"
@@ -4318,7 +4253,7 @@ msgstr "이 라벨러 구독하기"
msgid "Subscribe to this list"
msgstr "이 리스트 구독하기"
-#: src/view/screens/Search/Search.tsx:375
+#: src/view/screens/Search/Search.tsx:376
msgid "Suggested Follows"
msgstr "팔로우 추천"
@@ -4336,16 +4271,16 @@ msgstr "외설적"
msgid "Support"
msgstr "지원"
-#: src/view/com/modals/SwitchAccount.tsx:123
+#: src/view/com/modals/SwitchAccount.tsx:124
msgid "Switch Account"
msgstr "계정 전환"
-#: src/view/com/modals/SwitchAccount.tsx:103
+#: src/view/com/modals/SwitchAccount.tsx:104
#: src/view/screens/Settings/index.tsx:139
msgid "Switch to {0}"
msgstr "{0}(으)로 전환"
-#: src/view/com/modals/SwitchAccount.tsx:104
+#: src/view/com/modals/SwitchAccount.tsx:105
#: src/view/screens/Settings/index.tsx:140
msgid "Switches the account you are logged in to"
msgstr "로그인한 계정을 전환합니다"
@@ -4383,8 +4318,8 @@ msgid "Terms"
msgstr "이용약관"
#: src/Navigation.tsx:236
-#: src/view/com/auth/create/Policies.tsx:59
-#: src/view/screens/Settings/index.tsx:919
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:917
#: src/view/screens/TermsOfService.tsx:29
#: src/view/shell/Drawer.tsx:259
msgid "Terms of Service"
@@ -4410,9 +4345,9 @@ msgstr "감사합니다. 신고를 전송했습니다."
#: src/view/com/modals/ChangeHandle.tsx:466
msgid "That contains the following:"
-msgstr ""
+msgstr "텍스트 파일 내용:"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/screens/Signup/index.tsx:84
msgid "That handle is already taken."
msgstr "이 핸들은 이미 사용 중입니다."
@@ -4462,11 +4397,11 @@ msgstr "지원 양식을 이동했습니다. 도움이 필요하다면 <0/>하
msgid "The Terms of Service have been moved to"
msgstr "서비스 이용약관을 다음으로 이동했습니다:"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:156
msgid "There are many feeds to try:"
msgstr "시도해 볼 만한 피드:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:113
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:112
#: src/view/screens/ProfileFeed.tsx:543
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "서버에 연결하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
@@ -4552,15 +4487,15 @@ msgstr "애플리케이션에 예기치 않은 문제가 발생했습니다. 이
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Bluesky에 신규 사용자가 몰리고 있습니다! 최대한 빨리 계정을 활성화해 드리겠습니다."
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "내가 좋아할 만한 인기 계정입니다:"
-#: src/components/moderation/ScreenHider.tsx:117
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "이 {screenDescription}에 다음 플래그가 지정되었습니다:"
-#: src/components/moderation/ScreenHider.tsx:112
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "이 계정의 프로필을 보려면 로그인해야 합니다."
@@ -4570,11 +4505,11 @@ msgstr "이 이의신청은 <0>{0}0>에게 보내집니다."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr "이 콘텐츠는 관리자에 의해 숨겨졌습니다."
+msgstr "이 콘텐츠는 검토자에 의해 숨겨졌습니다."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr "이 콘텐츠는 관리자로부터 일반 경고를 받았습니다."
+msgstr "이 콘텐츠는 검토자로부터 일반 경고를 받았습니다."
#: src/view/com/modals/EmbedConsent.tsx:68
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -4589,13 +4524,9 @@ msgstr "관련 사용자 중 한 명이 다른 사용자를 차단했기 때문
msgid "This content is not viewable without a Bluesky account."
msgstr "이 콘텐츠는 Bluesky 계정이 없으면 볼 수 없습니다."
-#: src/view/screens/Settings/ExportCarDialog.tsx:75
-#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-#~ msgstr "이 기능은 베타 버전입니다. 저장소 내보내기에 대한 자세한 내용은 <0>이 블로그 글0>에서 확인할 수 있습니다."
-
#: src/view/screens/Settings/ExportCarDialog.tsx:75
msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
-msgstr ""
+msgstr "이 기능은 베타 버전입니다. 저장소 내보내기에 대한 자세한 내용은 <0>이 블로그 글0>에서 확인할 수 있습니다."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
@@ -4623,7 +4554,7 @@ msgstr "이는 이메일을 변경하거나 비밀번호를 재설정해야 할
msgid "This label was applied by {0}."
msgstr "이 라벨은 {0}이(가) 적용했습니다."
-#: src/screens/Profile/Sections/Labels.tsx:168
+#: src/screens/Profile/Sections/Labels.tsx:167
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr "이 라벨러는 라벨을 게시하지 않았으며 활성화되어 있지 않을 수 있습니다."
@@ -4648,6 +4579,7 @@ msgid "This post has been deleted."
msgstr "이 게시물은 삭제되었습니다."
#: src/view/com/util/forms/PostDropdownBtn.tsx:344
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
msgstr "이 게시물은 로그인한 사용자에게만 표시됩니다. 로그인하지 않은 사용자에게는 표시되지 않습니다."
@@ -4659,17 +4591,17 @@ msgstr "이 게시물을 피드에서 숨깁니다."
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
msgstr "이 프로필은 로그인한 사용자에게만 표시됩니다. 로그인하지 않은 사용자에게는 표시되지 않습니다."
-#: src/view/com/auth/create/Policies.tsx:46
+#: src/screens/Signup/StepInfo/Policies.tsx:37
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "이 서비스는 서비스 이용약관이나 개인정보 처리방침을 제공하지 않습니다."
#: src/view/com/modals/ChangeHandle.tsx:446
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "이 도메인에 레코드가 추가됩니다:"
#: src/view/com/profile/ProfileFollowers.tsx:95
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "이 사용자는 팔로워가 없습니다."
#: src/components/moderation/ModerationDetailsDialog.tsx:73
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -4690,7 +4622,7 @@ msgstr "이 사용자는 내가 뮤트한 <0>{0}0> 리스트에 포함되어
#: src/view/com/profile/ProfileFollows.tsx:94
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "이 사용자는 아무도 팔로우하지 않았습니다."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -4702,7 +4634,7 @@ msgstr "뮤트한 단어에서 {0}이(가) 삭제됩니다. 나중에 언제든
#: src/view/screens/Settings/index.tsx:574
msgid "Thread preferences"
-msgstr ""
+msgstr "스레드 설정"
#: src/view/screens/PreferencesThreads.tsx:53
#: src/view/screens/Settings/index.tsx:584
@@ -4717,9 +4649,9 @@ msgstr "스레드 모드"
msgid "Threads Preferences"
msgstr "스레드 설정"
-#: src/components/ReportDialog/SelectLabelerView.tsx:35
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "이 신고를 누구에게 보내시겠습니까?"
#: src/components/dialogs/MutedWords.tsx:113
msgid "Toggle between muted word options."
@@ -4729,7 +4661,7 @@ msgstr "뮤트한 단어 옵션 사이를 전환합니다."
msgid "Toggle dropdown"
msgstr "드롭다운 열기 및 닫기"
-#: src/screens/Moderation/index.tsx:334
+#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
msgstr "성인 콘텐츠 활성화 또는 비활성화 전환"
@@ -4751,7 +4683,7 @@ msgstr "다시 시도"
#: src/view/com/modals/ChangeHandle.tsx:429
msgid "Type:"
-msgstr ""
+msgstr "유형:"
#: src/view/screens/ProfileList.tsx:478
msgid "Un-block list"
@@ -4761,10 +4693,11 @@ msgstr "리스트 차단 해제"
msgid "Un-mute list"
msgstr "리스트 언뮤트"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:121
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:63
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "서비스에 연결할 수 없습니다. 인터넷 연결을 확인하세요."
@@ -4801,7 +4734,7 @@ msgstr "재게시 취소"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
msgid "Unfollow"
-msgstr ""
+msgstr "언팔로우"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
@@ -4817,11 +4750,7 @@ msgstr "{0} 님을 언팔로우"
msgid "Unfollow Account"
msgstr "계정 언팔로우"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "아쉽지만 계정을 만들 수 있는 요건을 충족하지 못했습니다."
-
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:195
msgid "Unlike"
msgstr "좋아요 취소"
@@ -4865,11 +4794,11 @@ msgstr "홈에서 고정 해제"
msgid "Unpin moderation list"
msgstr "검토 리스트 고정 해제"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:219
msgid "Unsubscribe"
msgstr "구독 취소"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:183
msgid "Unsubscribe from this labeler"
msgstr "이 라벨러 구독 취소하기"
@@ -4883,9 +4812,9 @@ msgstr "리스트에서 {displayName} 업데이트"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Update to {handle}"
-msgstr ""
+msgstr "{handle}로 변경"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "업데이트 중…"
@@ -4914,7 +4843,7 @@ msgstr "라이브러리에서 업로드"
#: src/view/com/modals/ChangeHandle.tsx:409
msgid "Use a file on your server"
-msgstr ""
+msgstr "서버에 있는 파일을 사용합니다"
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
@@ -4922,7 +4851,7 @@ msgstr "앱 비밀번호를 사용하면 계정이나 비밀번호에 대한 전
#: src/view/com/modals/ChangeHandle.tsx:518
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "호스팅 제공자로 bsky.social을 사용합니다"
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use default provider"
@@ -4940,7 +4869,7 @@ msgstr "내 기본 브라우저 사용"
#: src/view/com/modals/ChangeHandle.tsx:401
msgid "Use the DNS panel"
-msgstr ""
+msgstr "DNS 패널을 사용합니다"
#: src/view/com/modals/AddAppPasswords.tsx:155
msgid "Use this to sign into the other app along with your handle."
@@ -4971,10 +4900,6 @@ msgstr "나를 차단한 사용자"
msgid "User Blocks You"
msgstr "나를 차단한 사용자"
-#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "사용자 핸들"
-
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
@@ -5002,8 +4927,7 @@ msgstr "사용자 리스트 업데이트됨"
msgid "User Lists"
msgstr "사용자 리스트"
-#: src/view/com/auth/login/LoginForm.tsx:180
-#: src/view/com/auth/login/LoginForm.tsx:198
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "사용자 이름 또는 이메일 주소"
@@ -5025,21 +4949,21 @@ msgstr "이 콘텐츠 또는 프로필을 좋아하는 사용자"
#: src/view/com/modals/ChangeHandle.tsx:437
msgid "Value:"
-msgstr ""
+msgstr "값:"
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
-msgstr ""
+msgstr "{0} 확인"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:942
msgid "Verify email"
msgstr "이메일 인증"
-#: src/view/screens/Settings/index.tsx:969
+#: src/view/screens/Settings/index.tsx:967
msgid "Verify my email"
msgstr "내 이메일 인증하기"
-#: src/view/screens/Settings/index.tsx:978
+#: src/view/screens/Settings/index.tsx:976
msgid "Verify My Email"
msgstr "내 이메일 인증하기"
@@ -5052,6 +4976,10 @@ msgstr "새 이메일 인증"
msgid "Verify Your Email"
msgstr "이메일 인증하기"
+#: src/view/screens/Settings/index.tsx:893
+msgid "Version {0}"
+msgstr "버전 {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "비디오 게임"
@@ -5064,11 +4992,11 @@ msgstr "{0} 님의 아바타를 봅니다"
msgid "View debug entry"
msgstr "디버그 항목 보기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:133
+#: src/components/ReportDialog/SelectReportOptionView.tsx:131
msgid "View details"
msgstr "세부 정보 보기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:128
+#: src/components/ReportDialog/SelectReportOptionView.tsx:126
msgid "View details for reporting a copyright violation"
msgstr "저작권 위반 신고에 대한 세부 정보 보기"
@@ -5101,7 +5029,7 @@ msgstr "이 피드를 좋아하는 사용자 보기"
msgid "Visit Site"
msgstr "사이트 방문"
-#: src/components/moderation/GlobalModerationLabelPref.tsx:44
+#: src/components/moderation/LabelPreference.tsx:135
#: src/lib/moderation/useLabelBehaviorDescription.ts:17
#: src/lib/moderation/useLabelBehaviorDescription.ts:22
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
@@ -5116,7 +5044,7 @@ msgstr "콘텐츠 경고"
msgid "Warn content and filter from feeds"
msgstr "콘텐츠 경고 및 피드에서 필터링"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:140
msgid "We also think you'll like \"For You\" by Skygaze:"
msgstr "Skygaze의 \"For You\"를 사용해 볼 수도 있습니다:"
@@ -5128,7 +5056,7 @@ msgstr "해당 해시태그에 대한 결과를 찾을 수 없습니다."
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "계정이 준비될 때까지 {estimatedTime}이(가) 걸릴 것으로 예상됩니다."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "즐거운 시간 되시기 바랍니다. Bluesky의 다음 특징을 기억하세요:"
@@ -5140,19 +5068,19 @@ msgstr "팔로우한 사용자의 게시물이 부족합니다. 대신 <0/>의
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "게시물이 표시되지 않을 수 있으므로 많은 게시물에 자주 등장하는 단어는 피하는 것이 좋습니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:130
msgid "We recommend our \"Discover\" feed:"
msgstr "\"Discover\" 피드를 권장합니다:"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "생년월일 설정을 불러올 수 없습니다. 다시 시도해 주세요."
-#: src/screens/Moderation/index.tsx:387
+#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
msgstr "현재 구성된 라벨러를 불러올 수 없습니다."
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "연결하지 못했습니다. 계정 설정을 계속하려면 다시 시도해 주세요. 계속 실패하면 이 과정을 건너뛸 수 있습니다."
@@ -5160,11 +5088,11 @@ msgstr "연결하지 못했습니다. 계정 설정을 계속하려면 다시
msgid "We will let you know when your account is ready."
msgstr "계정이 준비되면 알려드리겠습니다."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "이를 통해 사용자 환경을 맞춤 설정할 수 있습니다."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:130
msgid "We're so excited to have you join us!"
msgstr "함께하게 되어 정말 기뻐요!"
@@ -5176,7 +5104,7 @@ msgstr "죄송하지만 이 리스트를 불러올 수 없습니다. 이 문제
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "죄송하지만 현재 뮤트한 단어를 불러올 수 없습니다. 다시 시도해 주세요."
-#: src/view/screens/Search/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:256
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "죄송하지만 검색을 완료할 수 없습니다. 몇 분 후에 다시 시도해 주세요."
@@ -5193,12 +5121,13 @@ msgstr "죄송합니다. 라벨러는 10개까지만 구독할 수 있으며 10
msgid "Welcome to <0>Bluesky0>"
msgstr "<0>Bluesky0>에 오신 것을 환영합니다"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "어떤 관심사가 있으신가요?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/auth/SplashScreen.tsx:58
+#: src/view/com/auth/SplashScreen.web.tsx:84
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "무슨 일이 일어나고 있나요?"
@@ -5215,27 +5144,23 @@ msgstr "알고리즘 피드에 어떤 언어를 표시하시겠습니까?"
msgid "Who can reply"
msgstr "답글을 달 수 있는 사람"
-#: src/components/ReportDialog/SelectLabelerView.tsx:33
-#~ msgid "Who do you want to send this report to?"
-#~ msgstr "이 신고를 누구에게 보내시겠습니까?"
-
-#: src/components/ReportDialog/SelectReportOptionView.tsx:44
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Why should this content be reviewed?"
msgstr "이 콘텐츠를 검토해야 하는 이유는 무엇인가요?"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:57
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Why should this feed be reviewed?"
msgstr "이 피드를 검토해야 하는 이유는 무엇인가요?"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:54
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Why should this list be reviewed?"
msgstr "이 리스트를 검토해야 하는 이유는 무엇인가요?"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:51
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Why should this post be reviewed?"
msgstr "이 게시물을 검토해야 하는 이유는 무엇인가요?"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:48
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Why should this user be reviewed?"
msgstr "이 사용자를 검토해야 하는 이유는 무엇인가요?"
@@ -5243,11 +5168,11 @@ msgstr "이 사용자를 검토해야 하는 이유는 무엇인가요?"
msgid "Wide"
msgstr "가로"
-#: src/view/com/composer/Composer.tsx:435
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "게시물 작성"
-#: src/view/com/composer/Composer.tsx:294
+#: src/view/com/composer/Composer.tsx:295
#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "답글 작성하기"
@@ -5272,25 +5197,25 @@ msgstr "대기 중입니다."
#: src/view/com/profile/ProfileFollows.tsx:93
msgid "You are not following anyone."
-msgstr ""
+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 "팔로우할 새로운 맞춤 피드를 찾을 수도 있습니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "이 설정은 나중에 변경할 수 있습니다."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "이제 새 비밀번호로 로그인할 수 있습니다."
#: src/view/com/profile/ProfileFollowers.tsx:94
msgid "You do not have any followers."
-msgstr ""
+msgstr "팔로워가 없습니다."
#: 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."
@@ -5318,8 +5243,8 @@ msgstr "작성자를 차단했거나 작성자가 나를 차단했습니다."
msgid "You have blocked this user. You cannot view their content."
msgstr "이 사용자를 차단했습니다. 해당 사용자의 콘텐츠를 볼 수 없습니다."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
@@ -5353,11 +5278,7 @@ msgstr "리스트가 없습니다."
#: src/view/screens/ModerationBlockedAccounts.tsx:132
msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
-msgstr ""
-
-#: 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 "아직 어떤 계정도 차단하지 않았습니다. 계정을 차단하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 차단\"을 선택하세요."
+msgstr "아직 어떤 계정도 차단하지 않았습니다. 계정을 차단하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 차단\"을 선택하세요."
#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
@@ -5365,11 +5286,7 @@ msgstr "아직 앱 비밀번호를 생성하지 않았습니다. 아래 버튼
#: src/view/screens/ModerationMutedAccounts.tsx:131
msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
-msgstr ""
-
-#: 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 "아직 어떤 계정도 뮤트하지 않았습니다. 계정을 뮤트하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 뮤트\"를 선택하세요."
+msgstr "아직 어떤 계정도 뮤트하지 않았습니다. 계정을 뮤트하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 뮤트\"를 선택하세요."
#: src/components/dialogs/MutedWords.tsx:250
msgid "You haven't muted any words or tags yet"
@@ -5379,6 +5296,10 @@ msgstr "아직 어떤 단어나 태그도 뮤트하지 않았습니다"
msgid "You may appeal these labels if you feel they were placed in error."
msgstr "이 라벨이 잘못 지정되었다고 생각되면 이의신청할 수 있습니다."
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "가입하려면 만 13세 이상이어야 합니다."
+
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "성인 콘텐츠를 사용하려면 만 18세 이상이어야 합니다."
@@ -5395,11 +5316,11 @@ msgstr "이 스레드에 대한 알림을 더 이상 받지 않습니다"
msgid "You will now receive notifications for this thread"
msgstr "이제 이 스레드에 대한 알림을 받습니다"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "\"재설정 코드\"가 포함된 이메일을 받게 되면 여기에 해당 코드를 입력한 다음 새 비밀번호를 입력합니다."
-#: src/screens/Onboarding/StepModeration/index.tsx:59
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "직접 제어하세요"
@@ -5409,7 +5330,7 @@ msgstr "직접 제어하세요"
msgid "You're in line"
msgstr "대기 중입니다"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:91
msgid "You're ready to go!"
msgstr "준비가 끝났습니다!"
@@ -5422,11 +5343,11 @@ msgstr "이 글에서 단어 또는 태그를 숨기도록 설정했습니다."
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "피드 끝에 도달했습니다! 팔로우할 계정을 더 찾아보세요."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:150
msgid "Your account"
msgstr "내 계정"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "계정을 삭제했습니다"
@@ -5434,7 +5355,7 @@ msgstr "계정을 삭제했습니다"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "모든 공개 데이터 레코드가 포함된 계정 저장소를 \"CAR\" 파일로 다운로드할 수 있습니다. 이 파일에는 이미지와 같은 미디어 임베드나 별도로 가져와야 하는 비공개 데이터는 포함되지 않습니다."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:121
msgid "Your birth date"
msgstr "생년월일"
@@ -5442,12 +5363,12 @@ msgstr "생년월일"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "선택 사항은 저장되며 나중에 설정에서 변경할 수 있습니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "기본 피드는 \"팔로우 중\"입니다"
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "이메일이 잘못된 것 같습니다."
@@ -5464,7 +5385,7 @@ msgstr "이메일이 아직 인증되지 않았습니다. 이는 중요한 보
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "팔로우 중 피드가 비어 있습니다! 더 많은 사용자를 팔로우하여 무슨 일이 일어나고 있는지 확인하세요."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:72
msgid "Your full handle will be"
msgstr "내 전체 핸들:"
@@ -5480,25 +5401,25 @@ msgstr "뮤트한 단어"
msgid "Your password has been changed successfully!"
msgstr "비밀번호를 성공적으로 변경했습니다."
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "게시물을 게시했습니다"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:106
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "게시물, 좋아요, 차단 목록은 공개됩니다. 뮤트 목록은 공개되지 않습니다."
-#: src/view/com/modals/SwitchAccount.tsx:88
+#: src/view/com/modals/SwitchAccount.tsx:89
#: src/view/screens/Settings/index.tsx:125
msgid "Your profile"
msgstr "내 프로필"
-#: src/view/com/composer/Composer.tsx:282
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "내 답글을 게시했습니다"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:152
msgid "Your user handle"
msgstr "내 사용자 핸들"
diff --git a/src/locale/locales/pt-BR/messages.po b/src/locale/locales/pt-BR/messages.po
index 81b063a205..98c6789140 100644
--- a/src/locale/locales/pt-BR/messages.po
+++ b/src/locale/locales/pt-BR/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt-BR\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-12 11:36\n"
+"PO-Revision-Date: 2024-03-22 11:51\n"
"Last-Translator: gildaswise\n"
"Language-Team: maisondasilva, MightyLoggor, gildaswise, gleydson, faeriarum\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -31,7 +31,7 @@ msgstr "<0/> membros"
#: src/view/shell/Drawer.tsx:97
msgid "<0>{0}0> following"
-msgstr ""
+msgstr "<0>{0}0> seguindo"
#: src/screens/Profile/Header/Metrics.tsx:46
msgid "<0>{following} 0><1>following1>"
@@ -77,7 +77,7 @@ msgstr "Acessibilidade"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "account"
-msgstr ""
+msgstr "conta"
#: src/view/com/auth/login/LoginForm.tsx:169
#: src/view/screens/Settings/index.tsx:327
@@ -91,7 +91,7 @@ msgstr "Conta bloqueada"
#: src/view/com/profile/ProfileMenu.tsx:153
msgid "Account followed"
-msgstr ""
+msgstr "Você está seguindo esta conta"
#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
@@ -121,7 +121,7 @@ msgstr "Conta desbloqueada"
#: src/view/com/profile/ProfileMenu.tsx:166
msgid "Account unfollowed"
-msgstr ""
+msgstr "Você não segue mais esta conta"
#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
@@ -226,7 +226,7 @@ msgstr "Conteúdo Adulto"
#: src/components/moderation/ModerationLabelPref.tsx:114
msgid "Adult content is disabled."
-msgstr ""
+msgstr "O conteúdo adulto está desabilitado."
#: src/screens/Moderation/index.tsx:377
#: src/view/screens/Settings/index.tsx:684
@@ -244,7 +244,7 @@ msgstr "Já tem um código?"
#: src/view/com/auth/login/ChooseAccountForm.tsx:103
msgid "Already signed in as @{0}"
-msgstr "Já logado como @{0}"
+msgstr "Já autenticado como @{0}"
#: src/view/com/composer/photos/Gallery.tsx:130
msgid "ALT"
@@ -268,7 +268,7 @@ msgstr "Um email foi enviado para seu email anterior, {0}. Ele inclui um código
#: src/lib/moderation/useReportOptions.ts:26
msgid "An issue not included in these options"
-msgstr ""
+msgstr "Outro problema"
#: src/view/com/profile/FollowButton.tsx:35
#: src/view/com/profile/FollowButton.tsx:45
@@ -288,7 +288,7 @@ msgstr "Animais"
#: src/lib/moderation/useReportOptions.ts:31
msgid "Anti-Social Behavior"
-msgstr ""
+msgstr "Comportamento anti-social"
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
@@ -323,11 +323,11 @@ msgstr "Senhas de Aplicativos"
#: src/components/moderation/LabelsOnMeDialog.tsx:134
#: src/components/moderation/LabelsOnMeDialog.tsx:137
msgid "Appeal"
-msgstr ""
+msgstr "Contestar"
#: src/components/moderation/LabelsOnMeDialog.tsx:202
msgid "Appeal \"{0}\" label"
-msgstr ""
+msgstr "Contestar rótulo \"{0}\""
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
@@ -340,7 +340,7 @@ msgstr ""
#: src/components/moderation/LabelsOnMeDialog.tsx:193
msgid "Appeal submitted."
-msgstr ""
+msgstr "Contestação enviada."
#: src/view/com/util/moderation/LabelInfo.tsx:52
#~ msgid "Appeal this decision"
@@ -360,7 +360,7 @@ msgstr "Tem certeza de que deseja excluir a senha do aplicativo \"{name}\"?"
#: src/view/com/feeds/FeedSourceCard.tsx:280
msgid "Are you sure you want to remove {0} from your feeds?"
-msgstr ""
+msgstr "Tem certeza que deseja remover {0} dos seus feeds?"
#: src/view/com/composer/Composer.tsx:508
msgid "Are you sure you'd like to discard this draft?"
@@ -423,7 +423,7 @@ msgstr "Aniversário:"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
-msgstr ""
+msgstr "Bloquear"
#: src/view/com/profile/ProfileMenu.tsx:300
#: src/view/com/profile/ProfileMenu.tsx:307
@@ -432,7 +432,7 @@ msgstr "Bloquear Conta"
#: src/view/com/profile/ProfileMenu.tsx:344
msgid "Block Account?"
-msgstr ""
+msgstr "Bloquear Conta?"
#: src/view/screens/ProfileList.tsx:530
msgid "Block accounts"
@@ -479,7 +479,7 @@ msgstr "Post bloqueado."
#: src/screens/Profile/Sections/Labels.tsx:153
msgid "Blocking does not prevent this labeler from placing labels on your account."
-msgstr ""
+msgstr "Bloquear não previne este rotulador de rotular a sua conta."
#: src/view/screens/ProfileList.tsx:631
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
@@ -487,7 +487,7 @@ msgstr "Bloqueios são públicos. Contas bloqueadas não podem te responder, men
#: src/view/com/profile/ProfileMenu.tsx:353
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
-msgstr ""
+msgstr "Bloquear não previne rótulos de serem aplicados na sua conta, mas vai impedir esta conta de interagir com você."
#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
#: src/view/com/auth/SplashScreen.web.tsx:133
@@ -529,11 +529,11 @@ msgstr "O Bluesky não mostrará seu perfil e publicações para usuários desco
#: src/lib/moderation/useLabelBehaviorDescription.ts:53
msgid "Blur images"
-msgstr ""
+msgstr "Desfocar imagens"
#: src/lib/moderation/useLabelBehaviorDescription.ts:51
msgid "Blur images and filter from feeds"
-msgstr ""
+msgstr "Desfocar imagens e filtrar dos feeds"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
@@ -558,7 +558,7 @@ msgstr "por {0}"
#: src/components/LabelingServiceCard/index.tsx:57
msgid "By {0}"
-msgstr ""
+msgstr "Por {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
@@ -566,7 +566,7 @@ msgstr "por <0/>"
#: src/view/com/auth/create/Policies.tsx:87
msgid "By creating an account you agree to the {els}."
-msgstr ""
+msgstr "Ao criar uma conta, você concorda com os {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
@@ -646,11 +646,11 @@ msgstr "Cancelar busca"
#: src/view/com/modals/LinkWarning.tsx:88
msgid "Cancels opening the linked website"
-msgstr ""
+msgstr "Cancela a abertura do link"
#: src/view/com/modals/VerifyEmail.tsx:152
msgid "Change"
-msgstr ""
+msgstr "Trocar"
#: src/view/screens/Settings/index.tsx:353
msgctxt "action"
@@ -760,11 +760,11 @@ msgstr "Limpar busca"
#: src/view/screens/Settings/index.tsx:869
msgid "Clears all legacy storage data"
-msgstr ""
+msgstr "Limpa todos os dados antigos"
#: src/view/screens/Settings/index.tsx:881
msgid "Clears all storage data"
-msgstr ""
+msgstr "Limpa todos os dados antigos"
#: src/view/screens/Support.tsx:40
msgid "click here"
@@ -874,7 +874,7 @@ msgstr "Configure o filtro de conteúdo por categoria: {0}"
#: src/components/moderation/ModerationLabelPref.tsx:116
msgid "Configured in <0>moderation settings0>."
-msgstr ""
+msgstr "Configure no <0>painel de moderação0>."
#: src/components/Prompt.tsx:152
#: src/components/Prompt.tsx:155
@@ -911,11 +911,11 @@ msgstr "Confirmar a exclusão da conta"
#: src/screens/Moderation/index.tsx:303
msgid "Confirm your age:"
-msgstr ""
+msgstr "Confirme sua idade:"
#: src/screens/Moderation/index.tsx:294
msgid "Confirm your birthdate"
-msgstr ""
+msgstr "Confirme sua data de nascimento"
#: src/view/com/modals/ChangeEmail.tsx:157
#: src/view/com/modals/DeleteAccount.tsx:176
@@ -939,11 +939,11 @@ msgstr "Contatar suporte"
#: src/components/moderation/LabelsOnMe.tsx:42
msgid "content"
-msgstr ""
+msgstr "conteúdo"
#: src/lib/moderation/useGlobalLabelStrings.ts:18
msgid "Content Blocked"
-msgstr ""
+msgstr "Conteúdo bloqueado"
#: src/view/screens/Moderation.tsx:83
#~ msgid "Content filtering"
@@ -955,7 +955,7 @@ msgstr ""
#: src/screens/Moderation/index.tsx:287
msgid "Content filters"
-msgstr ""
+msgstr "Filtros de conteúdo"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
@@ -980,7 +980,7 @@ msgstr "Avisos de conteúdo"
#: src/components/Menu/index.web.tsx:84
msgid "Context menu backdrop, click to close the menu."
-msgstr ""
+msgstr "Fundo do menu, clique para fechá-lo."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
#: src/screens/Onboarding/StepFollowingFeed.tsx:153
@@ -1038,7 +1038,7 @@ msgstr "Copiar"
#: src/view/com/modals/ChangeHandle.tsx:481
msgid "Copy {0}"
-msgstr ""
+msgstr "Copiar {0}"
#: src/view/screens/ProfileList.tsx:388
msgid "Copy link to list"
@@ -1096,7 +1096,7 @@ msgstr "Criar uma nova conta"
#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
-msgstr ""
+msgstr "Criar denúncia para {0}"
#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
@@ -1151,7 +1151,7 @@ msgstr "Modo Escuro"
#: src/view/screens/Settings/index.tsx:841
msgid "Debug Moderation"
-msgstr ""
+msgstr "Testar Moderação"
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
@@ -1161,7 +1161,7 @@ msgstr "Painel de depuração"
#: src/view/screens/AppPasswords.tsx:268
#: src/view/screens/ProfileList.tsx:613
msgid "Delete"
-msgstr ""
+msgstr "Excluir"
#: src/view/screens/Settings/index.tsx:796
msgid "Delete account"
@@ -1177,7 +1177,7 @@ msgstr "Excluir senha de aplicativo"
#: src/view/screens/AppPasswords.tsx:263
msgid "Delete app password?"
-msgstr ""
+msgstr "Excluir senha de aplicativo?"
#: src/view/screens/ProfileList.tsx:415
msgid "Delete List"
@@ -1198,7 +1198,7 @@ msgstr "Excluir post"
#: src/view/screens/ProfileList.tsx:608
msgid "Delete this list?"
-msgstr ""
+msgstr "Excluir esta lista?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Delete this post?"
@@ -1236,7 +1236,7 @@ msgstr "Menos escuro"
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
#: src/screens/Moderation/index.tsx:343
msgid "Disabled"
-msgstr ""
+msgstr "Desabilitado"
#: src/view/com/composer/Composer.tsx:510
msgid "Discard"
@@ -1248,12 +1248,12 @@ msgstr "Descartar"
#: src/view/com/composer/Composer.tsx:507
msgid "Discard draft?"
-msgstr ""
+msgstr "Descartar rascunho?"
#: src/screens/Moderation/index.tsx:520
#: src/screens/Moderation/index.tsx:524
msgid "Discourage apps from showing my account to logged-out users"
-msgstr "Desencorajar aplicativos a mostrar minha conta para usuários deslogados"
+msgstr "Desencorajar aplicativos a mostrar minha conta para usuários desautenticados"
#: src/view/com/posts/FollowingEmptyState.tsx:74
#: src/view/com/posts/FollowingEndOfFeed.tsx:75
@@ -1274,15 +1274,15 @@ msgstr "Nome de Exibição"
#: src/view/com/modals/ChangeHandle.tsx:398
msgid "DNS Panel"
-msgstr ""
+msgstr "Painel DNS"
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr ""
+msgstr "Não inclui nudez."
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "Domain Value"
-msgstr ""
+msgstr "Domínio"
#: src/view/com/modals/ChangeHandle.tsx:489
msgid "Domain verified!"
@@ -1348,7 +1348,7 @@ msgstr "Devido a políticas da Apple, o conteúdo adulto só pode ser habilitado
#: src/view/com/modals/ChangeHandle.tsx:257
msgid "e.g. alice"
-msgstr ""
+msgstr "ex. alice"
#: src/view/com/modals/EditProfile.tsx:185
msgid "e.g. Alice Roberts"
@@ -1356,7 +1356,7 @@ msgstr "ex. Alice Roberts"
#: src/view/com/modals/ChangeHandle.tsx:381
msgid "e.g. alice.com"
-msgstr ""
+msgstr "ex. alice.com"
#: src/view/com/modals/EditProfile.tsx:203
msgid "e.g. Artist, dog-lover, and avid reader."
@@ -1364,7 +1364,7 @@ msgstr "ex. Artista, amo cachorros, leitora ávida."
#: src/lib/moderation/useGlobalLabelStrings.ts:43
msgid "E.g. artistic nudes."
-msgstr ""
+msgstr "Ex. nudez artística."
#: src/view/com/modals/CreateOrEditList.tsx:283
msgid "e.g. Great Posters"
@@ -1394,7 +1394,7 @@ msgstr "Editar"
#: src/view/com/util/UserAvatar.tsx:299
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
-msgstr ""
+msgstr "Editar avatar"
#: src/view/com/composer/photos/Gallery.tsx:144
#: src/view/com/modals/EditImage.tsx:207
@@ -1484,7 +1484,7 @@ msgstr "Habilitar somente {0}"
#: src/screens/Moderation/index.tsx:331
msgid "Enable adult content"
-msgstr ""
+msgstr "Habilitar conteúdo adulto"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
@@ -1509,7 +1509,7 @@ msgstr "Ative esta configuração para ver respostas apenas entre as pessoas que
#: src/screens/Moderation/index.tsx:341
msgid "Enabled"
-msgstr ""
+msgstr "Habilitado"
#: src/screens/Profile/Sections/Feed.tsx:84
msgid "End of feed"
@@ -1579,11 +1579,11 @@ msgstr "Todos"
#: src/lib/moderation/useReportOptions.ts:66
msgid "Excessive mentions or replies"
-msgstr ""
+msgstr "Menções ou respostas excessivas"
#: src/view/com/modals/DeleteAccount.tsx:231
msgid "Exits account deletion process"
-msgstr ""
+msgstr "Sair do processo de deleção da conta"
#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Exits handle change process"
@@ -1591,7 +1591,7 @@ msgstr "Sair do processo de trocar usuário"
#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Exits image cropping process"
-msgstr ""
+msgstr "Sair do processo de cortar imagem"
#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
@@ -1617,11 +1617,11 @@ msgstr "Mostrar ou esconder o post a que você está respondendo"
#: src/lib/moderation/useGlobalLabelStrings.ts:47
msgid "Explicit or potentially disturbing media."
-msgstr ""
+msgstr "Imagens explícitas ou potencialmente perturbadoras."
#: src/lib/moderation/useGlobalLabelStrings.ts:35
msgid "Explicit sexual images."
-msgstr ""
+msgstr "Imagens sexualmente explícitas."
#: src/view/screens/Settings/index.tsx:777
msgid "Export my data"
@@ -1671,7 +1671,7 @@ msgstr "Falha ao carregar feeds recomendados"
#: src/view/com/lightbox/Lightbox.tsx:83
msgid "Failed to save image: {0}"
-msgstr ""
+msgstr "Não foi possível salvar a imagem: {0}"
#: src/Navigation.tsx:196
msgid "Feed"
@@ -1719,11 +1719,11 @@ msgstr "Feeds podem ser de assuntos específicos também!"
#: src/view/com/modals/ChangeHandle.tsx:482
msgid "File Contents"
-msgstr ""
+msgstr "Conteúdo do arquivo"
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
-msgstr ""
+msgstr "Filtrar dos feeds"
#: src/screens/Onboarding/StepFinished.tsx:151
msgid "Finalizing"
@@ -1794,7 +1794,7 @@ msgstr "Seguir {0}"
#: src/view/com/profile/ProfileMenu.tsx:242
#: src/view/com/profile/ProfileMenu.tsx:253
msgid "Follow Account"
-msgstr ""
+msgstr "Seguir Conta"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
msgid "Follow All"
@@ -1842,7 +1842,7 @@ msgstr "Seguindo {0}"
#: src/view/screens/Settings/index.tsx:553
msgid "Following feed preferences"
-msgstr ""
+msgstr "Configurações do feed principal"
#: src/Navigation.tsx:262
#: src/view/com/home/HomeHeaderLayout.web.tsx:50
@@ -1887,7 +1887,7 @@ msgstr "Esqueci a Senha"
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
-msgstr ""
+msgstr "Frequentemente Posta Conteúdo Indesejado"
#: src/screens/Hashtag.tsx:108
#: src/screens/Hashtag.tsx:148
@@ -1910,7 +1910,7 @@ msgstr "Vamos começar"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr ""
+msgstr "Violações flagrantes da lei ou dos termos de serviço"
#: src/components/moderation/ScreenHider.tsx:144
#: src/components/moderation/ScreenHider.tsx:153
@@ -1940,11 +1940,11 @@ msgstr "Voltar para o passo anterior"
#: src/view/screens/NotFound.tsx:55
msgid "Go home"
-msgstr ""
+msgstr "Voltar para a tela inicial"
#: src/view/screens/NotFound.tsx:54
msgid "Go Home"
-msgstr ""
+msgstr "Voltar para a tela inicial"
#: src/view/screens/Search/Search.tsx:748
#: src/view/shell/desktop/Search.tsx:263
@@ -1961,7 +1961,7 @@ msgstr "Próximo"
#: src/lib/moderation/useGlobalLabelStrings.ts:46
msgid "Graphic Media"
-msgstr ""
+msgstr "Conteúdo Gráfico"
#: src/view/com/modals/ChangeHandle.tsx:265
msgid "Handle"
@@ -1969,7 +1969,7 @@ msgstr "Usuário"
#: src/lib/moderation/useReportOptions.ts:32
msgid "Harassment, trolling, or intolerance"
-msgstr ""
+msgstr "Assédio, intolerância ou \"trollagem\""
#: src/Navigation.tsx:282
msgid "Hashtag"
@@ -2070,11 +2070,11 @@ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido e
#: src/screens/Moderation/index.tsx:61
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
-msgstr ""
+msgstr "Hmmmm, parece que estamos com problemas pra carregar isso. Veja mais detalhes abaixo. Se o problema continuar, por favor, entre em contato."
#: src/screens/Profile/ErrorState.tsx:31
msgid "Hmmmm, we couldn't load that moderation service."
-msgstr ""
+msgstr "Hmmmm, não foi possível carregar este serviço de moderação."
#: src/Navigation.tsx:454
#: src/view/shell/bottom-bar/BottomBar.tsx:139
@@ -2093,7 +2093,7 @@ msgstr "Página Inicial"
#: src/view/com/modals/ChangeHandle.tsx:421
msgid "Host:"
-msgstr ""
+msgstr "Host:"
#: src/view/com/auth/create/Step1.tsx:75
#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
@@ -2127,15 +2127,15 @@ msgstr "Se nenhum for selecionado, adequado para todas as idades."
#: src/view/com/auth/create/Policies.tsx:91
msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
-msgstr ""
+msgstr "Se você ainda não é um adulto de acordo com as leis do seu país, seu responsável ou guardião legal deve ler estes Termos por você."
#: src/view/screens/ProfileList.tsx:610
msgid "If you delete this list, you won't be able to recover it."
-msgstr ""
+msgstr "Se você deletar esta lista, você não poderá recuperá-la."
#: src/view/com/util/forms/PostDropdownBtn.tsx:316
msgid "If you remove this post, you won't be able to recover it."
-msgstr ""
+msgstr "Se você remover este post, você não poderá recuperá-la."
#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
@@ -2143,7 +2143,7 @@ msgstr "Se você quiser alterar sua senha, enviaremos um código que para verifi
#: src/lib/moderation/useReportOptions.ts:36
msgid "Illegal and Urgent"
-msgstr ""
+msgstr "Ilegal e Urgente"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
@@ -2160,7 +2160,7 @@ msgstr "Texto alternativo da imagem"
#: src/lib/moderation/useReportOptions.ts:47
msgid "Impersonation or false claims about identity or affiliation"
-msgstr ""
+msgstr "Falsificação de identidade ou alegações falsas sobre identidade ou filiação"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
msgid "Input code sent to your email for password reset"
@@ -2208,7 +2208,7 @@ msgstr "Insira sua senha"
#: src/view/com/modals/ChangeHandle.tsx:390
msgid "Input your preferred hosting provider"
-msgstr ""
+msgstr "Insira seu provedor de hospedagem"
#: src/view/com/auth/create/Step2.tsx:80
msgid "Input your user handle"
@@ -2271,35 +2271,35 @@ msgstr "Jornalismo"
#: src/components/moderation/LabelsOnMe.tsx:59
msgid "label has been placed on this {labelTarget}"
-msgstr ""
+msgstr "rótulo aplicado neste {labelTarget}"
#: src/components/moderation/ContentHider.tsx:144
msgid "Labeled by {0}."
-msgstr ""
+msgstr "Rotulado por {0}."
#: src/components/moderation/ContentHider.tsx:142
msgid "Labeled by the author."
-msgstr ""
+msgstr "Rotulado pelo autor."
#: src/view/screens/Profile.tsx:186
msgid "Labels"
-msgstr ""
+msgstr "Rótulos"
#: src/screens/Profile/Sections/Labels.tsx:143
msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
-msgstr ""
+msgstr "Rótulos são identificações aplicadas sobre perfis e conteúdos. Eles são utilizados para esconder, avisar e categorizar o conteúdo da rede."
#: src/components/moderation/LabelsOnMe.tsx:61
msgid "labels have been placed on this {labelTarget}"
-msgstr ""
+msgstr "rótulos foram aplicados neste {labelTarget}"
#: src/components/moderation/LabelsOnMeDialog.tsx:63
msgid "Labels on your account"
-msgstr ""
+msgstr "Rótulos sobre sua conta"
#: src/components/moderation/LabelsOnMeDialog.tsx:65
msgid "Labels on your content"
-msgstr ""
+msgstr "Rótulos sobre seu conteúdo"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
@@ -2333,7 +2333,7 @@ msgstr "Saiba Mais"
#: src/components/moderation/ContentHider.tsx:65
#: src/components/moderation/ContentHider.tsx:128
msgid "Learn more about the moderation applied to this content."
-msgstr ""
+msgstr "Saiba mais sobre a decisão de moderação aplicada neste conteúdo."
#: src/components/moderation/PostHider.tsx:85
#: src/components/moderation/ScreenHider.tsx:126
@@ -2346,7 +2346,7 @@ msgstr "Saiba mais sobre o que é público no Bluesky."
#: src/components/moderation/ContentHider.tsx:152
msgid "Learn more."
-msgstr ""
+msgstr "Saiba mais."
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
@@ -2409,7 +2409,7 @@ msgstr "Curtido por {0} {1}"
#: src/components/LabelingServiceCard/index.tsx:72
msgid "Liked by {count} {0}"
-msgstr ""
+msgstr "Curtido por {count} {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
@@ -2560,7 +2560,7 @@ msgstr "Mensagem do servidor: {0}"
#: src/lib/moderation/useReportOptions.ts:45
msgid "Misleading Account"
-msgstr ""
+msgstr "Conta Enganosa"
#: src/Navigation.tsx:119
#: src/screens/Moderation/index.tsx:106
@@ -2573,7 +2573,7 @@ msgstr "Moderação"
#: src/components/moderation/ModerationDetailsDialog.tsx:113
msgid "Moderation details"
-msgstr ""
+msgstr "Detalhes da moderação"
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
@@ -2613,11 +2613,11 @@ msgstr "Moderação"
#: src/Navigation.tsx:216
msgid "Moderation states"
-msgstr ""
+msgstr "Moderação"
#: src/screens/Moderation/index.tsx:217
msgid "Moderation tools"
-msgstr ""
+msgstr "Ferramentas de moderação"
#: src/components/moderation/ModerationDetailsDialog.tsx:49
#: src/lib/moderation/useModerationCauseDescription.ts:40
@@ -2626,7 +2626,7 @@ msgstr "O moderador escolheu um aviso geral neste conteúdo."
#: src/view/com/post-thread/PostThreadItem.tsx:541
msgid "More"
-msgstr ""
+msgstr "Mais"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
@@ -2731,7 +2731,7 @@ msgstr "Contas silenciadas não aparecem no seu feed ou nas suas notificações.
#: src/lib/moderation/useModerationCauseDescription.ts:85
msgid "Muted by \"{0}\""
-msgstr ""
+msgstr "Silenciado por \"{0}\""
#: src/screens/Moderation/index.tsx:233
msgid "Muted words & tags"
@@ -2756,7 +2756,7 @@ msgstr "Meu Perfil"
#: src/view/screens/Settings/index.tsx:596
msgid "My saved feeds"
-msgstr ""
+msgstr "Meus feeds salvos"
#: src/view/screens/Settings/index.tsx:602
msgid "My Saved Feeds"
@@ -2779,7 +2779,7 @@ msgstr "Nome é obrigatório"
#: src/lib/moderation/useReportOptions.ts:78
#: src/lib/moderation/useReportOptions.ts:86
msgid "Name or Description Violates Community Standards"
-msgstr ""
+msgstr "Nome ou Descrição Viola os Padrões da Comunidade"
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
@@ -2799,7 +2799,7 @@ msgstr "Navega para seu perfil"
#: src/components/ReportDialog/SelectReportOptionView.tsx:124
msgid "Need to report a copyright violation?"
-msgstr ""
+msgstr "Precisa denunciar uma violação de copyright?"
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
@@ -2821,7 +2821,7 @@ msgstr "Nunca perca o acesso aos seus seguidores ou dados."
#: src/view/com/modals/ChangeHandle.tsx:520
msgid "Nevermind, create a handle for me"
-msgstr ""
+msgstr "Deixa pra lá, crie um usuário pra mim"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2914,7 +2914,7 @@ msgstr "Sem descrição"
#: src/view/com/modals/ChangeHandle.tsx:406
msgid "No DNS Panel"
-msgstr ""
+msgstr "Não tenho painel de DNS"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
msgid "No longer following {0}"
@@ -2954,11 +2954,11 @@ msgstr "Ninguém"
#: src/components/LikedByList.tsx:102
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
-msgstr ""
+msgstr "Ninguém curtiu isso ainda. Você pode ser o primeiro!"
#: src/lib/moderation/useGlobalLabelStrings.ts:42
msgid "Non-sexual Nudity"
-msgstr ""
+msgstr "Nudez não-erótica"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
@@ -2977,11 +2977,11 @@ msgstr "Agora não"
#: src/view/com/profile/ProfileMenu.tsx:368
#: src/view/com/util/forms/PostDropdownBtn.tsx:342
msgid "Note about sharing"
-msgstr ""
+msgstr "Nota sobre compartilhamento"
#: src/screens/Moderation/index.tsx:542
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. 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."
+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 não autenticados por outros aplicativos e sites."
#: src/Navigation.tsx:469
#: src/view/screens/Notifications.tsx:124
@@ -2999,11 +2999,11 @@ msgstr "Nudez"
#: src/lib/moderation/useReportOptions.ts:71
msgid "Nudity or pornography not labeled as such"
-msgstr ""
+msgstr "Nudez ou pornografia sem aviso aplicado"
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
-msgstr ""
+msgstr "Desligado"
#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
@@ -3015,7 +3015,7 @@ msgstr "Opa! Algo deu errado."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
msgid "OK"
-msgstr ""
+msgstr "OK"
#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
msgid "Okay"
@@ -3062,7 +3062,7 @@ msgstr "Abrir seletor de emojis"
#: src/view/screens/ProfileFeed.tsx:299
msgid "Open feed options menu"
-msgstr ""
+msgstr "Abrir opções do feed"
#: src/view/screens/Settings/index.tsx:734
msgid "Open links with in-app browser"
@@ -3070,7 +3070,7 @@ msgstr "Abrir links no navegador interno"
#: src/screens/Moderation/index.tsx:229
msgid "Open muted words and tags settings"
-msgstr ""
+msgstr "Abrir opções de palavras/tags silenciadas"
#: src/view/screens/Moderation.tsx:92
#~ msgid "Open muted words settings"
@@ -3091,7 +3091,7 @@ msgstr "Abre o storybook"
#: src/view/screens/Settings/index.tsx:816
msgid "Open system log"
-msgstr ""
+msgstr "Abrir registros do sistema"
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
@@ -3132,12 +3132,12 @@ msgstr "Abre as configurações de anexos externos"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:56
#: src/view/com/auth/SplashScreen.tsx:70
msgid "Opens flow to create a new Bluesky account"
-msgstr ""
+msgstr "Abre o fluxo de criação de conta do Bluesky"
#: src/view/com/auth/HomeLoggedOutCTA.tsx:74
#: src/view/com/auth/SplashScreen.tsx:83
msgid "Opens flow to sign into your existing Bluesky account"
-msgstr ""
+msgstr "Abre o fluxo de entrar na sua conta do Bluesky"
#: src/view/com/profile/ProfileHeader.tsx:575
#~ msgid "Opens followers list"
@@ -3153,27 +3153,23 @@ msgstr "Abre a lista de códigos de convite"
#: src/view/screens/Settings/index.tsx:798
msgid "Opens modal for account deletion confirmation. Requires email code"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:774
-#~ msgid "Opens modal for account deletion confirmation. Requires email code."
-#~ msgstr "Abre modal para confirmar exclusão de conta. Requer código de verificação."
+msgstr "Abre modal de confirmar a exclusão da conta. Requer código enviado por email"
#: src/view/screens/Settings/index.tsx:756
msgid "Opens modal for changing your Bluesky password"
-msgstr ""
+msgstr "Abre modal para troca da sua senha do Bluesky"
#: src/view/screens/Settings/index.tsx:718
msgid "Opens modal for choosing a new Bluesky handle"
-msgstr ""
+msgstr "Abre modal para troca do seu usuário do Bluesky"
#: src/view/screens/Settings/index.tsx:779
msgid "Opens modal for downloading your Bluesky account data (repository)"
-msgstr ""
+msgstr "Abre modal para baixar os dados da sua conta do Bluesky"
#: src/view/screens/Settings/index.tsx:970
msgid "Opens modal for email verification"
-msgstr ""
+msgstr "Abre modal para verificação de email"
#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Opens modal for using custom domain"
@@ -3198,23 +3194,15 @@ msgstr "Abre a tela com todos os feeds salvos"
#: src/view/screens/Settings/index.tsx:696
msgid "Opens the app password settings"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:676
-#~ msgid "Opens the app password settings page"
-#~ msgstr "Abre a página de configurações de senha do aplicativo"
+msgstr "Abre as configurações de senha do aplicativo"
#: src/view/screens/Settings/index.tsx:554
msgid "Opens the Following feed preferences"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:535
-#~ msgid "Opens the home feed preferences"
-#~ msgstr "Abre as preferências do feed inicial"
+msgstr "Abre as preferências do feed inicial"
#: src/view/com/modals/LinkWarning.tsx:76
msgid "Opens the linked website"
-msgstr ""
+msgstr "Abre o link"
#: src/view/screens/Settings/index.tsx:829
#: src/view/screens/Settings/index.tsx:839
@@ -3235,7 +3223,7 @@ msgstr "Opção {0} de {numItems}"
#: src/components/ReportDialog/SubmitView.tsx:162
msgid "Optionally provide additional information below:"
-msgstr ""
+msgstr "Se quiser adicionar mais informações, digite abaixo:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -3243,7 +3231,7 @@ msgstr "Ou combine estas opções:"
#: src/lib/moderation/useReportOptions.ts:25
msgid "Other"
-msgstr ""
+msgstr "Outro"
#: src/view/com/auth/login/ChooseAccountForm.tsx:147
msgid "Other account"
@@ -3274,7 +3262,7 @@ msgstr "Senha"
#: src/view/com/modals/ChangePassword.tsx:142
msgid "Password Changed"
-msgstr ""
+msgstr "Senha Atualizada"
#: src/view/com/auth/login/Login.tsx:157
msgid "Password updated"
@@ -3315,7 +3303,7 @@ msgstr "Fixar na tela inicial"
#: src/view/screens/ProfileFeed.tsx:294
msgid "Pin to Home"
-msgstr ""
+msgstr "Fixar na Tela Inicial"
#: src/view/screens/SavedFeeds.tsx:88
msgid "Pinned Feeds"
@@ -3380,7 +3368,7 @@ msgstr "Por favor, digite sua senha também:"
#: src/components/moderation/LabelsOnMeDialog.tsx:222
msgid "Please explain why you think this label was incorrectly applied by {0}"
-msgstr ""
+msgstr "Por favor, explique por que você acha que este rótulo foi aplicado incorrentamente por {0}"
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
@@ -3405,7 +3393,7 @@ msgstr "Pornografia"
#: src/lib/moderation/useGlobalLabelStrings.ts:34
msgid "Pornography"
-msgstr ""
+msgstr "Pornografia"
#: src/view/com/composer/Composer.tsx:366
#: src/view/com/composer/Composer.tsx:374
@@ -3439,12 +3427,12 @@ msgstr "Post oculto"
#: src/components/moderation/ModerationDetailsDialog.tsx:98
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
-msgstr ""
+msgstr "Post Escondido por Palavra Silenciada"
#: src/components/moderation/ModerationDetailsDialog.tsx:101
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
-msgstr ""
+msgstr "Post Escondido por Você"
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
@@ -3481,7 +3469,7 @@ msgstr "Link Potencialmente Enganoso"
#: src/components/Lists.tsx:88
msgid "Press to retry"
-msgstr ""
+msgstr "Tentar novamente"
#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
@@ -3515,7 +3503,7 @@ msgstr "Processando..."
#: src/view/screens/DebugMod.tsx:888
#: src/view/screens/Profile.tsx:340
msgid "profile"
-msgstr ""
+msgstr "perfil"
#: src/view/shell/bottom-bar/BottomBar.tsx:251
#: src/view/shell/desktop/LeftNav.tsx:419
@@ -3577,7 +3565,7 @@ msgstr "Índices"
#: src/view/screens/Search/Search.tsx:776
msgid "Recent Searches"
-msgstr ""
+msgstr "Buscas Recentes"
#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
msgid "Recommended Feeds"
@@ -3606,11 +3594,11 @@ msgstr "Remover conta"
#: src/view/com/util/UserAvatar.tsx:358
msgid "Remove Avatar"
-msgstr ""
+msgstr "Remover avatar"
#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
-msgstr ""
+msgstr "Remover banner"
#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
@@ -3618,7 +3606,7 @@ msgstr "Remover feed"
#: src/view/com/posts/FeedErrorMessage.tsx:201
msgid "Remove feed?"
-msgstr ""
+msgstr "Remover feed?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
@@ -3629,7 +3617,7 @@ msgstr "Remover dos meus feeds"
#: src/view/com/feeds/FeedSourceCard.tsx:278
msgid "Remove from my feeds?"
-msgstr ""
+msgstr "Remover dos meus feeds?"
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
@@ -3653,7 +3641,7 @@ msgstr "Desfazer repost"
#: src/view/com/posts/FeedErrorMessage.tsx:202
msgid "Remove this feed from your saved feeds"
-msgstr ""
+msgstr "Remover este feed dos feeds salvos"
#: src/view/com/posts/FeedErrorMessage.tsx:132
#~ msgid "Remove this feed from your saved feeds?"
@@ -3666,11 +3654,11 @@ msgstr "Removido da lista"
#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
-msgstr "Remover dos meus feeds"
+msgstr "Removido dos meus feeds"
#: src/view/screens/ProfileFeed.tsx:208
msgid "Removed from your feeds"
-msgstr ""
+msgstr "Removido dos feeds salvos"
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
@@ -3724,23 +3712,23 @@ msgstr "Denunciar post"
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Report this content"
-msgstr ""
+msgstr "Denunciar conteúdo"
#: src/components/ReportDialog/SelectReportOptionView.tsx:56
msgid "Report this feed"
-msgstr ""
+msgstr "Denunciar este feed"
#: src/components/ReportDialog/SelectReportOptionView.tsx:53
msgid "Report this list"
-msgstr ""
+msgstr "Denunciar esta lista"
#: src/components/ReportDialog/SelectReportOptionView.tsx:50
msgid "Report this post"
-msgstr ""
+msgstr "Denunciar este post"
#: src/components/ReportDialog/SelectReportOptionView.tsx:47
msgid "Report this user"
-msgstr ""
+msgstr "Denunciar este usuário"
#: src/view/com/modals/Repost.tsx:43
#: src/view/com/modals/Repost.tsx:48
@@ -3868,12 +3856,12 @@ msgstr "Voltar para página anterior"
#: src/view/screens/NotFound.tsx:59
msgid "Returns to home page"
-msgstr ""
+msgstr "Voltar para a tela inicial"
#: src/view/screens/NotFound.tsx:58
#: src/view/screens/ProfileFeed.tsx:112
msgid "Returns to previous page"
-msgstr ""
+msgstr "Voltar para página anterior"
#: src/components/dialogs/BirthDateSettings.tsx:125
#: src/view/com/modals/ChangeHandle.tsx:173
@@ -3894,7 +3882,7 @@ msgstr "Salvar texto alternativo"
#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
-msgstr ""
+msgstr "Salvar data de nascimento"
#: src/view/com/modals/EditProfile.tsx:232
msgid "Save Changes"
@@ -3911,7 +3899,7 @@ msgstr "Salvar corte de imagem"
#: src/view/screens/ProfileFeed.tsx:335
#: src/view/screens/ProfileFeed.tsx:341
msgid "Save to my feeds"
-msgstr ""
+msgstr "Salvar nos meus feeds"
#: src/view/screens/SavedFeeds.tsx:122
msgid "Saved Feeds"
@@ -3919,11 +3907,11 @@ msgstr "Feeds Salvos"
#: src/view/com/lightbox/Lightbox.tsx:81
msgid "Saved to your camera roll."
-msgstr ""
+msgstr "Imagem salva na galeria."
#: src/view/screens/ProfileFeed.tsx:212
msgid "Saved to your feeds"
-msgstr ""
+msgstr "Adicionado aos seus feeds"
#: src/view/com/modals/EditProfile.tsx:225
msgid "Saves any changes to your profile"
@@ -3935,7 +3923,7 @@ msgstr "Salva mudança de usuário para {handle}"
#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Saves image crop settings"
-msgstr ""
+msgstr "Salva o corte da imagem"
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
@@ -4035,11 +4023,11 @@ msgstr "Selecionar de uma conta existente"
#: src/view/screens/LanguageSettings.tsx:299
msgid "Select languages"
-msgstr ""
+msgstr "Selecionar idiomas"
#: src/components/ReportDialog/SelectLabelerView.tsx:32
msgid "Select moderator"
-msgstr ""
+msgstr "Selecionar moderador"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
@@ -4056,7 +4044,7 @@ msgstr "Selecione algumas contas para seguir"
#: src/components/ReportDialog/SubmitView.tsx:135
msgid "Select the moderation service(s) to report to"
-msgstr ""
+msgstr "Selecione o(s) serviço(s) de moderação para reportar"
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
@@ -4080,7 +4068,7 @@ msgstr "Selecione quais idiomas você deseja ver nos seus feeds. Se nenhum for s
#: src/view/screens/LanguageSettings.tsx:98
msgid "Select your app language for the default text to display in the app."
-msgstr ""
+msgstr "Selecione o idioma do seu aplicativo"
#: src/screens/Onboarding/StepInterests/index.tsx:196
msgid "Select your interests from the options below"
@@ -4120,7 +4108,7 @@ msgstr "Enviar comentários"
#: src/components/ReportDialog/SubmitView.tsx:214
#: src/components/ReportDialog/SubmitView.tsx:218
msgid "Send report"
-msgstr ""
+msgstr "Denunciar"
#: src/view/com/modals/report/SendReportButton.tsx:45
#~ msgid "Send Report"
@@ -4128,7 +4116,7 @@ msgstr ""
#: src/components/ReportDialog/SelectLabelerView.tsx:46
msgid "Send report to {0}"
-msgstr ""
+msgstr "Denunciar via {0}"
#: src/view/com/modals/DeleteAccount.tsx:133
msgid "Sends email with confirmation code for account deletion"
@@ -4150,7 +4138,7 @@ msgstr "URL do servidor"
#: src/screens/Moderation/index.tsx:306
msgid "Set birthdate"
-msgstr ""
+msgstr "Definir data de nascimento"
#: src/view/screens/Settings/index.tsx:488
#~ msgid "Set color theme to dark"
@@ -4210,23 +4198,23 @@ msgstr "Configura o usuário no Bluesky"
#: src/view/screens/Settings/index.tsx:507
msgid "Sets color theme to dark"
-msgstr ""
+msgstr "Define o tema para escuro"
#: src/view/screens/Settings/index.tsx:500
msgid "Sets color theme to light"
-msgstr ""
+msgstr "Define o tema para claro"
#: src/view/screens/Settings/index.tsx:494
msgid "Sets color theme to system setting"
-msgstr ""
+msgstr "Define o tema para seguir o sistema"
#: src/view/screens/Settings/index.tsx:533
msgid "Sets dark theme to the dark theme"
-msgstr ""
+msgstr "Define o tema escuro para o padrão"
#: src/view/screens/Settings/index.tsx:526
msgid "Sets dark theme to the dim theme"
-msgstr ""
+msgstr "Define o tema escuro para o menos escuro"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
msgid "Sets email for password reset"
@@ -4238,15 +4226,15 @@ msgstr "Configura o provedor de hospedagem para recuperação de senha"
#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Sets image aspect ratio to square"
-msgstr ""
+msgstr "Define a proporção da imagem para quadrada"
#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Sets image aspect ratio to tall"
-msgstr ""
+msgstr "Define a proporção da imagem para alta"
#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Sets image aspect ratio to wide"
-msgstr ""
+msgstr "Define a proporção da imagem para comprida"
#: src/view/com/auth/create/Step1.tsx:97
#: src/view/com/auth/login/LoginForm.tsx:154
@@ -4267,7 +4255,7 @@ msgstr "Atividade sexual ou nudez erótica."
#: src/lib/moderation/useGlobalLabelStrings.ts:38
msgid "Sexually Suggestive"
-msgstr ""
+msgstr "Sexualmente Sugestivo"
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
@@ -4286,7 +4274,7 @@ msgstr "Compartilhar"
#: src/view/com/profile/ProfileMenu.tsx:373
#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Share anyway"
-msgstr ""
+msgstr "Compartilhar assim"
#: src/view/screens/ProfileFeed.tsx:361
#: src/view/screens/ProfileFeed.tsx:363
@@ -4313,11 +4301,11 @@ msgstr "Mostrar mesmo assim"
#: src/lib/moderation/useLabelBehaviorDescription.ts:27
#: src/lib/moderation/useLabelBehaviorDescription.ts:63
msgid "Show badge"
-msgstr ""
+msgstr "Mostrar rótulo"
#: src/lib/moderation/useLabelBehaviorDescription.ts:61
msgid "Show badge and filter from feeds"
-msgstr ""
+msgstr "Mostrar rótulo e filtrar dos feeds"
#: src/view/com/modals/EmbedConsent.tsx:87
msgid "Show embeds from {0}"
@@ -4392,11 +4380,11 @@ msgstr "Mostrar usuários"
#: src/lib/moderation/useLabelBehaviorDescription.ts:58
msgid "Show warning"
-msgstr ""
+msgstr "Mostrar aviso"
#: src/lib/moderation/useLabelBehaviorDescription.ts:56
msgid "Show warning and filter from feeds"
-msgstr ""
+msgstr "Mostrar aviso e filtrar dos feeds"
#: src/view/com/profile/ProfileHeader.tsx:462
#~ msgid "Shows a list of users similar to this user."
@@ -4474,7 +4462,7 @@ msgstr "Entrou como"
#: src/view/com/auth/login/ChooseAccountForm.tsx:112
msgid "Signed in as @{0}"
-msgstr "Logado como @{0}"
+msgstr "autenticado como @{0}"
#: src/view/com/modals/SwitchAccount.tsx:70
msgid "Signs {0} out of Bluesky"
@@ -4502,7 +4490,7 @@ msgstr "Desenvolvimento de software"
#: src/screens/Moderation/index.tsx:116
#: src/screens/Profile/Sections/Labels.tsx:77
msgid "Something went wrong, please try again."
-msgstr ""
+msgstr "Algo deu errado. Por favor, tente novamente."
#: src/components/Lists.tsx:203
#~ msgid "Something went wrong!"
@@ -4526,15 +4514,15 @@ msgstr "Classificar respostas de um post por:"
#: src/components/moderation/LabelsOnMeDialog.tsx:147
msgid "Source:"
-msgstr ""
+msgstr "Fonte:"
#: src/lib/moderation/useReportOptions.ts:65
msgid "Spam"
-msgstr ""
+msgstr "Spam"
#: src/lib/moderation/useReportOptions.ts:53
msgid "Spam; excessive mentions or replies"
-msgstr ""
+msgstr "Spam; menções ou respostas excessivas"
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
@@ -4572,11 +4560,11 @@ msgstr "Inscrever-se"
#: src/screens/Profile/Sections/Labels.tsx:181
msgid "Subscribe to @{0} to use these labels:"
-msgstr ""
+msgstr "Inscreva-se em @{0} para utilizar estes rótulos:"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
msgid "Subscribe to Labeler"
-msgstr ""
+msgstr "Inscrever-se no rotulador"
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
@@ -4585,7 +4573,7 @@ msgstr "Increver-se no feed {0}"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
msgid "Subscribe to this labeler"
-msgstr ""
+msgstr "Inscrever-se neste rotulador"
#: src/view/screens/ProfileList.tsx:586
msgid "Subscribe to this list"
@@ -4621,7 +4609,7 @@ msgstr "Trocar para {0}"
#: src/view/com/modals/SwitchAccount.tsx:104
#: src/view/screens/Settings/index.tsx:140
msgid "Switches the account you are logged in to"
-msgstr "Troca a conta que você está logado"
+msgstr "Troca a conta que você está autenticado"
#: src/view/screens/Settings/index.tsx:491
msgid "System"
@@ -4671,7 +4659,7 @@ msgstr "Termos de Serviço"
#: src/lib/moderation/useReportOptions.ts:79
#: src/lib/moderation/useReportOptions.ts:87
msgid "Terms used violate community standards"
-msgstr ""
+msgstr "Termos utilizados violam as diretrizes da comunidade"
#: src/components/dialogs/MutedWords.tsx:324
msgid "text"
@@ -4683,11 +4671,11 @@ msgstr "Campo de entrada de texto"
#: src/components/ReportDialog/SubmitView.tsx:78
msgid "Thank you. Your report has been sent."
-msgstr ""
+msgstr "Obrigado. Sua denúncia foi enviada."
#: src/view/com/modals/ChangeHandle.tsx:466
msgid "That contains the following:"
-msgstr ""
+msgstr "Contém o seguinte:"
#: src/view/com/auth/create/CreateAccount.tsx:94
msgid "That handle is already taken."
@@ -4700,7 +4688,7 @@ msgstr "A conta poderá interagir com você após o desbloqueio."
#: src/components/moderation/ModerationDetailsDialog.tsx:128
msgid "the author"
-msgstr ""
+msgstr "o(a) autor(a)"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4712,11 +4700,11 @@ msgstr "A Política de Direitos Autorais foi movida para <0/>"
#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your account."
-msgstr ""
+msgstr "Os seguintes rótulos foram aplicados sobre sua conta."
#: src/components/moderation/LabelsOnMeDialog.tsx:50
msgid "The following labels were applied to your content."
-msgstr ""
+msgstr "Os seguintes rótulos foram aplicados sobre seu conteúdo."
#: src/screens/Onboarding/Layout.tsx:60
msgid "The following steps will help customize your Bluesky experience."
@@ -4790,7 +4778,7 @@ msgstr "Tivemos um problema ao carregar suas listas. Toque aqui para tentar de n
#: src/components/ReportDialog/SubmitView.tsx:83
msgid "There was an issue sending your report. Please check your internet connection."
-msgstr ""
+msgstr "Tivemos um problema ao enviar sua denúncia. Por favor, verifique sua conexão com a internet."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
@@ -4843,15 +4831,15 @@ msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seu
#: src/components/moderation/LabelsOnMeDialog.tsx:205
msgid "This appeal will be sent to <0>{0}0>."
-msgstr ""
+msgstr "Esta contestação será enviada para <0>{0}0>."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr ""
+msgstr "Este conteúdo foi escondido pelos moderadores."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr ""
+msgstr "Este conteúdo recebeu um aviso dos moderadores."
#: src/view/com/modals/EmbedConsent.tsx:68
msgid "This content is hosted by {0}. Do you want to enable external media?"
@@ -4872,7 +4860,7 @@ msgstr "Este conteúdo não é visível sem uma conta do Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
-msgstr ""
+msgstr "Esta funcionalidade está em beta. Você pode ler mais sobre exportação de repositórios <0>neste post0> do nosso blog."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
@@ -4898,11 +4886,11 @@ msgstr "Isso é importante caso você precise alterar seu e-mail ou redefinir su
#: src/components/moderation/ModerationDetailsDialog.tsx:125
msgid "This label was applied by {0}."
-msgstr ""
+msgstr "Este rótulo foi aplicado por {0}."
#: src/screens/Profile/Sections/Labels.tsx:168
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
-msgstr ""
+msgstr "Este rotulador não declarou quais rótulos utiliza e pode não estar funcionando ainda."
#: src/view/com/modals/LinkWarning.tsx:58
msgid "This link is taking you to the following website:"
@@ -4914,7 +4902,7 @@ msgstr "Esta lista está vazia!"
#: src/screens/Profile/ErrorState.tsx:40
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
-msgstr ""
+msgstr "Este serviço de moderação está indisponível. Veja mais detalhes abaixo. Se este problema persistir, entre em contato."
#: src/view/com/modals/AddAppPasswords.tsx:106
msgid "This name is already in use"
@@ -4926,27 +4914,27 @@ msgstr "Este post foi excluído."
#: src/view/com/util/forms/PostDropdownBtn.tsx:344
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Este post só pode ser visto por usuários autenticados e não aparecerá para pessoas que não estão autenticadas."
#: src/view/com/util/forms/PostDropdownBtn.tsx:326
msgid "This post will be hidden from feeds."
-msgstr ""
+msgstr "Este post será escondido de todos os feeds."
#: src/view/com/profile/ProfileMenu.tsx:370
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
-msgstr ""
+msgstr "Este post só pode ser visto por usuários autenticados e não aparecerá para pessoas que não estão autenticadas."
#: src/view/com/auth/create/Policies.tsx:46
msgid "This service has not provided terms of service or a privacy policy."
-msgstr ""
+msgstr "Este serviço não proveu termos de serviço ou política de privacidade."
#: src/view/com/modals/ChangeHandle.tsx:446
msgid "This should create a domain record at:"
-msgstr ""
+msgstr "Isso deve criar um registro no domínio:"
#: src/view/com/profile/ProfileFollowers.tsx:95
msgid "This user doesn't have any followers."
-msgstr ""
+msgstr "Este usuário não é seguido por ninguém ainda."
#: src/components/moderation/ModerationDetailsDialog.tsx:73
#: src/lib/moderation/useModerationCauseDescription.ts:68
@@ -4955,7 +4943,7 @@ msgstr "Este usuário te bloqueou. Você não pode ver este conteúdo."
#: src/lib/moderation/useGlobalLabelStrings.ts:30
msgid "This user has requested that their content only be shown to signed-in users."
-msgstr ""
+msgstr "Este usuário requisitou que seu conteúdo só seja visível para usuários autenticados."
#: src/view/com/modals/ModerationDetails.tsx:42
#~ msgid "This user is included in the <0/> list which you have blocked."
@@ -4967,15 +4955,15 @@ msgstr ""
#: src/components/moderation/ModerationDetailsDialog.tsx:56
msgid "This user is included in the <0>{0}0> list which you have blocked."
-msgstr ""
+msgstr "Este usuário está incluído na lista <0>{0}0>, que você bloqueou."
#: src/components/moderation/ModerationDetailsDialog.tsx:85
msgid "This user is included in the <0>{0}0> list which you have muted."
-msgstr ""
+msgstr "Este usuário está incluído na lista <0>{0}0>, que você silenciou."
#: src/view/com/profile/ProfileFollows.tsx:94
msgid "This user isn't following anyone."
-msgstr ""
+msgstr "Este usuário não segue ninguém ainda."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
@@ -4991,7 +4979,7 @@ msgstr "Isso removerá {0} das suas palavras silenciadas. Você pode adicioná-l
#: src/view/screens/Settings/index.tsx:574
msgid "Thread preferences"
-msgstr ""
+msgstr "Preferências das Threads"
#: src/view/screens/PreferencesThreads.tsx:53
#: src/view/screens/Settings/index.tsx:584
@@ -5008,7 +4996,7 @@ msgstr "Preferências das Threads"
#: src/components/ReportDialog/SelectLabelerView.tsx:35
msgid "To whom would you like to send this report?"
-msgstr ""
+msgstr "Para quem você gostaria de enviar esta denúncia?"
#: src/components/dialogs/MutedWords.tsx:113
msgid "Toggle between muted word options."
@@ -5020,7 +5008,7 @@ msgstr "Alternar menu suspenso"
#: src/screens/Moderation/index.tsx:334
msgid "Toggle to enable or disable adult content"
-msgstr ""
+msgstr "Ligar ou desligar conteúdo adulto"
#: src/view/com/modals/EditImage.tsx:271
msgid "Transformations"
@@ -5040,7 +5028,7 @@ msgstr "Tentar novamente"
#: src/view/com/modals/ChangeHandle.tsx:429
msgid "Type:"
-msgstr ""
+msgstr "Tipo:"
#: src/view/screens/ProfileList.tsx:478
msgid "Un-block list"
@@ -5078,7 +5066,7 @@ msgstr "Desbloquear Conta"
#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
-msgstr ""
+msgstr "Desbloquear Conta?"
#: src/view/com/modals/Repost.tsx:42
#: src/view/com/modals/Repost.tsx:55
@@ -5090,7 +5078,7 @@ msgstr "Desfazer repost"
#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
msgid "Unfollow"
-msgstr ""
+msgstr "Deixar de seguir"
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
@@ -5104,7 +5092,7 @@ msgstr "Deixar de seguir {0}"
#: src/view/com/profile/ProfileMenu.tsx:241
#: src/view/com/profile/ProfileMenu.tsx:251
msgid "Unfollow Account"
-msgstr ""
+msgstr "Deixar de seguir"
#: src/view/com/auth/create/state.ts:262
msgid "Unfortunately, you do not meet the requirements to create an account."
@@ -5116,7 +5104,7 @@ msgstr "Descurtir"
#: src/view/screens/ProfileFeed.tsx:572
msgid "Unlike this feed"
-msgstr ""
+msgstr "Descurtir este feed"
#: src/components/TagMenu/index.tsx:249
#: src/view/screens/ProfileList.tsx:579
@@ -5152,7 +5140,7 @@ msgstr "Desafixar"
#: src/view/screens/ProfileFeed.tsx:291
msgid "Unpin from home"
-msgstr ""
+msgstr "Desafixar da tela inicial"
#: src/view/screens/ProfileList.tsx:444
msgid "Unpin moderation list"
@@ -5164,15 +5152,15 @@ msgstr "Desafixar lista de moderação"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
msgid "Unsubscribe"
-msgstr ""
+msgstr "Desinscrever-se"
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
msgid "Unsubscribe from this labeler"
-msgstr ""
+msgstr "Desinscrever-se deste rotulador"
#: src/lib/moderation/useReportOptions.ts:70
msgid "Unwanted Sexual Content"
-msgstr ""
+msgstr "Conteúdo Sexual Indesejado"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
@@ -5184,7 +5172,7 @@ msgstr "Atualizar {displayName} nas Listas"
#: src/view/com/modals/ChangeHandle.tsx:509
msgid "Update to {handle}"
-msgstr ""
+msgstr "Alterar para {handle}"
#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
msgid "Updating..."
@@ -5199,23 +5187,23 @@ msgstr "Carregar um arquivo de texto para:"
#: src/view/com/util/UserBanner.tsx:116
#: src/view/com/util/UserBanner.tsx:119
msgid "Upload from Camera"
-msgstr ""
+msgstr "Tirar uma foto"
#: src/view/com/util/UserAvatar.tsx:343
#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
-msgstr ""
+msgstr "Carregar um arquivo"
#: src/view/com/util/UserAvatar.tsx:337
#: src/view/com/util/UserAvatar.tsx:341
#: src/view/com/util/UserBanner.tsx:127
#: src/view/com/util/UserBanner.tsx:131
msgid "Upload from Library"
-msgstr ""
+msgstr "Carregar da galeria"
#: src/view/com/modals/ChangeHandle.tsx:409
msgid "Use a file on your server"
-msgstr ""
+msgstr "Utilize um arquivo no seu servidor"
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
@@ -5223,7 +5211,7 @@ msgstr "Use as senhas de aplicativos para fazer login em outros clientes do Blue
#: src/view/com/modals/ChangeHandle.tsx:518
msgid "Use bsky.social as hosting provider"
-msgstr ""
+msgstr "Usar bsky.social como serviço de hospedagem"
#: src/view/com/modals/ChangeHandle.tsx:517
msgid "Use default provider"
@@ -5241,7 +5229,7 @@ msgstr "Usar o meu navegador padrão"
#: src/view/com/modals/ChangeHandle.tsx:401
msgid "Use the DNS panel"
-msgstr ""
+msgstr "Usar o painel do meu DNS"
#: src/view/com/modals/AddAppPasswords.tsx:155
msgid "Use this to sign into the other app along with your handle."
@@ -5258,7 +5246,7 @@ msgstr "Usuário Bloqueado"
#: src/lib/moderation/useModerationCauseDescription.ts:48
msgid "User Blocked by \"{0}\""
-msgstr ""
+msgstr "Usuário Bloqueado por \"{0}\""
#: src/components/moderation/ModerationDetailsDialog.tsx:54
msgid "User Blocked by List"
@@ -5266,7 +5254,7 @@ msgstr "Usuário Bloqueado Por Lista"
#: src/lib/moderation/useModerationCauseDescription.ts:66
msgid "User Blocking You"
-msgstr ""
+msgstr "Usuário Bloqueia Você"
#: src/components/moderation/ModerationDetailsDialog.tsx:71
msgid "User Blocks You"
@@ -5322,15 +5310,15 @@ msgstr "Usuários em \"{0}\""
#: src/components/LikesDialog.tsx:85
msgid "Users that have liked this content or profile"
-msgstr ""
+msgstr "Usuários que curtiram este conteúdo ou perfil"
#: src/view/com/modals/ChangeHandle.tsx:437
msgid "Value:"
-msgstr ""
+msgstr "Conteúdo:"
#: src/view/com/modals/ChangeHandle.tsx:510
msgid "Verify {0}"
-msgstr ""
+msgstr "Verificar {0}"
#: src/view/screens/Settings/index.tsx:944
msgid "Verify email"
@@ -5367,11 +5355,11 @@ msgstr "Ver depuração"
#: src/components/ReportDialog/SelectReportOptionView.tsx:133
msgid "View details"
-msgstr ""
+msgstr "Ver detalhes"
#: src/components/ReportDialog/SelectReportOptionView.tsx:128
msgid "View details for reporting a copyright violation"
-msgstr ""
+msgstr "Ver detalhes para denunciar uma violação de copyright"
#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
@@ -5379,7 +5367,7 @@ msgstr "Ver thread completa"
#: src/components/moderation/LabelsOnMe.tsx:51
msgid "View information about these labels"
-msgstr ""
+msgstr "Ver informações sobre estes rótulos"
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
@@ -5391,11 +5379,11 @@ msgstr "Ver o avatar"
#: src/components/LabelingServiceCard/index.tsx:140
msgid "View the labeling service provided by @{0}"
-msgstr ""
+msgstr "Ver este rotulador provido por @{0}"
#: src/view/screens/ProfileFeed.tsx:584
msgid "View users who like this feed"
-msgstr ""
+msgstr "Ver usuários que curtiram este feed"
#: src/view/com/modals/LinkWarning.tsx:75
#: src/view/com/modals/LinkWarning.tsx:77
@@ -5411,11 +5399,11 @@ msgstr "Avisar"
#: src/lib/moderation/useLabelBehaviorDescription.ts:48
msgid "Warn content"
-msgstr ""
+msgstr "Avisar"
#: src/lib/moderation/useLabelBehaviorDescription.ts:46
msgid "Warn content and filter from feeds"
-msgstr ""
+msgstr "Avisar e filtrar dos feeds"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
msgid "We also think you'll like \"For You\" by Skygaze:"
@@ -5451,11 +5439,11 @@ msgstr "Recomendamos nosso feed \"Discover\":"
#: src/components/dialogs/BirthDateSettings.tsx:52
msgid "We were unable to load your birth date preferences. Please try again."
-msgstr ""
+msgstr "Não foi possível carregar sua data de nascimento. Por favor, tente novamente."
#: src/screens/Moderation/index.tsx:387
msgid "We were unable to load your configured labelers at this time."
-msgstr ""
+msgstr "Não foi possível carregar seus rotuladores."
#: src/screens/Onboarding/StepInterests/index.tsx:133
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
@@ -5496,7 +5484,7 @@ msgstr "Sentimos muito! Não conseguimos encontrar a página que você estava pr
#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:319
msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
-msgstr ""
+msgstr "Sentimos muito! Você só pode se inscrever em até dez rotuladores e você já chegou ao máximo."
#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
@@ -5530,23 +5518,23 @@ msgstr "Quem pode responder"
#: src/components/ReportDialog/SelectReportOptionView.tsx:44
msgid "Why should this content be reviewed?"
-msgstr ""
+msgstr "Por que este conteúdo deve ser revisado?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:57
msgid "Why should this feed be reviewed?"
-msgstr ""
+msgstr "Por que este feed deve ser revisado?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:54
msgid "Why should this list be reviewed?"
-msgstr ""
+msgstr "Por que esta lista deve ser revisada?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:51
msgid "Why should this post be reviewed?"
-msgstr ""
+msgstr "Por que este post deve ser revisado?"
#: src/components/ReportDialog/SelectReportOptionView.tsx:48
msgid "Why should this user be reviewed?"
-msgstr ""
+msgstr "Por que este usuário deve ser revisado?"
#: src/view/com/modals/crop-image/CropImage.web.tsx:102
msgid "Wide"
@@ -5581,7 +5569,7 @@ msgstr "Você está na fila."
#: src/view/com/profile/ProfileFollows.tsx:93
msgid "You are not following anyone."
-msgstr ""
+msgstr "Você não segue ninguém."
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
@@ -5599,7 +5587,7 @@ msgstr "Agora você pode entrar com a sua nova senha."
#: src/view/com/profile/ProfileFollowers.tsx:94
msgid "You do not have any followers."
-msgstr ""
+msgstr "Ninguém segue você ainda."
#: 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."
@@ -5636,20 +5624,20 @@ msgstr "Você utilizou um código inválido. O código segue este padrão: XXXXX
#: src/lib/moderation/useModerationCauseDescription.ts:109
msgid "You have hidden this post"
-msgstr ""
+msgstr "Você escondeu este post"
#: src/components/moderation/ModerationDetailsDialog.tsx:102
msgid "You have hidden this post."
-msgstr ""
+msgstr "Você escondeu este post."
#: src/components/moderation/ModerationDetailsDialog.tsx:95
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
-msgstr ""
+msgstr "Você silenciou esta conta."
#: src/lib/moderation/useModerationCauseDescription.ts:86
msgid "You have muted this user"
-msgstr ""
+msgstr "Você silenciou este usuário."
#: src/view/com/modals/ModerationDetails.tsx:87
#~ msgid "You have muted this user."
@@ -5666,7 +5654,7 @@ 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 select \"Block account\" from the menu on their account."
-msgstr ""
+msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse um perfil e selecione \"Bloquear conta\" no menu."
#: 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."
@@ -5678,7 +5666,7 @@ msgstr "Você ainda não criou nenhuma senha de aplicativo. Você pode criar uma
#: src/view/screens/ModerationMutedAccounts.tsx:131
msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
-msgstr ""
+msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, acesse um perfil e selecione \"Silenciar conta\" no menu."
#: 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."
@@ -5690,7 +5678,7 @@ msgstr "Você não silenciou nenhuma palavra ou tag ainda"
#: src/components/moderation/LabelsOnMeDialog.tsx:69
msgid "You may appeal these labels if you feel they were placed in error."
-msgstr ""
+msgstr "Você pode contestar estes rótulos se você acha que estão errados."
#: src/view/com/modals/ContentFilteringSettings.tsx:175
#~ msgid "You must be 18 or older to enable adult content."
@@ -5702,7 +5690,7 @@ msgstr "Você precisa ser maior de idade para habilitar conteúdo adulto."
#: src/components/ReportDialog/SubmitView.tsx:205
msgid "You must select at least one labeler for a report"
-msgstr ""
+msgstr "Você deve selecionar no mínimo um rotulador"
#: src/view/com/util/forms/PostDropdownBtn.tsx:144
msgid "You will no longer receive notifications for this thread"
@@ -5733,7 +5721,7 @@ msgstr "Tudo pronto!"
#: src/components/moderation/ModerationDetailsDialog.tsx:99
#: src/lib/moderation/useModerationCauseDescription.ts:101
msgid "You've chosen to hide a word or tag within this post."
-msgstr ""
+msgstr "Você escolheu esconder uma palavra ou tag deste post."
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
diff --git a/src/locale/locales/tr/messages.po b/src/locale/locales/tr/messages.po
new file mode 100644
index 0000000000..b9d857e1cc
--- /dev/null
+++ b/src/locale/locales/tr/messages.po
@@ -0,0 +1,4391 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-11-05 16:01-0800\n"
+"PO-Revision-Date: \n"
+"Last-Translator: atiksoftware\n"
+"Language-Team: atiksoftware\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(e-posta yok)"
+
+#: src/view/shell/desktop/RightNav.tsx:168
+msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
+msgstr "{0, plural, one {# davet kodu mevcut} other {# davet kodları mevcut}}"
+
+#: src/view/com/profile/ProfileHeader.tsx:632
+msgid "{following} following"
+msgstr "{following} takip ediliyor"
+
+#: src/view/shell/desktop/RightNav.tsx:151
+msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
+msgstr "{invitesAvailable, plural, one {Davet kodları: # mevcut} other {Davet kodları: # mevcut}}"
+
+#: src/view/screens/Settings.tsx:435 src/view/shell/Drawer.tsx:664
+msgid "{invitesAvailable} invite code available"
+msgstr "{invitesAvailable} davet kodu mevcut"
+
+#: src/view/screens/Settings.tsx:437 src/view/shell/Drawer.tsx:666
+msgid "{invitesAvailable} invite codes available"
+msgstr "{invitesAvailable} davet kodları mevcut"
+
+#: src/view/shell/Drawer.tsx:443
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} okunmamış"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> üyeleri"
+
+#: src/view/com/profile/ProfileHeader.tsx:634
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>takip ediliyor1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>Önerilen0><1>Feeds1><2>Seç2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>Önerilen0><1>Kullanıcıları Takip Et1><2>Seç2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>Bluesky'e0><1>Hoşgeldiniz1>"
+
+#: src/view/com/profile/ProfileHeader.tsx:597
+msgid "⚠Invalid Handle"
+msgstr "⚠Geçersiz Kullanıcı Adı"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:45
+msgid "A content warning has been applied to this {0}."
+msgstr "Bu {0} için bir içerik uyarısı uygulandı."
+
+#: src/lib/hooks/useOTAUpdate.ts:16
+msgid "A new version of the app is available. Please update to continue using the app."
+msgstr "Uygulamanın yeni bir sürümü mevcut. Devam etmek için güncelleyin."
+
+#: src/view/com/util/ViewHeader.tsx:83 src/view/screens/Search/Search.tsx:624
+msgid "Access navigation links and settings"
+msgstr "Gezinme bağlantılarına ve ayarlara erişin"
+
+#: src/view/com/pager/FeedsTabBarMobile.tsx:89
+msgid "Access profile and other navigation links"
+msgstr "Profil ve diğer gezinme bağlantılarına erişin"
+
+#: src/view/com/modals/EditImage.tsx:299 src/view/screens/Settings.tsx:445
+msgid "Accessibility"
+msgstr "Erişilebilirlik"
+
+#: src/view/com/auth/login/LoginForm.tsx:163 src/view/screens/Settings.tsx:308
+#: src/view/screens/Settings.tsx:715
+msgid "Account"
+msgstr "Hesap"
+
+#: src/view/com/profile/ProfileHeader.tsx:293
+msgid "Account blocked"
+msgstr "Hesap engellendi"
+
+#: src/view/com/profile/ProfileHeader.tsx:260
+msgid "Account muted"
+msgstr "Hesap susturuldu"
+
+#: src/view/com/modals/ModerationDetails.tsx:86
+msgid "Account Muted"
+msgstr "Hesap Susturuldu"
+
+#: src/view/com/modals/ModerationDetails.tsx:72
+msgid "Account Muted by List"
+msgstr "Liste Tarafından Hesap Susturuldu"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "Hesap seçenekleri"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "Hesap hızlı erişimden kaldırıldı"
+
+#: src/view/com/profile/ProfileHeader.tsx:315
+msgid "Account unblocked"
+msgstr "Hesap engeli kaldırıldı"
+
+#: src/view/com/profile/ProfileHeader.tsx:273
+msgid "Account unmuted"
+msgstr "Hesap susturulması kaldırıldı"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:812
+msgid "Add"
+msgstr "Ekle"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "Bir içerik uyarısı ekleyin"
+
+#: src/view/screens/ProfileList.tsx:802
+msgid "Add a user to this list"
+msgstr "Bu listeye bir kullanıcı ekleyin"
+
+#: src/view/screens/Settings.tsx:383 src/view/screens/Settings.tsx:392
+msgid "Add account"
+msgstr "Hesap ekle"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:116
+msgid "Add alt text"
+msgstr "Alternatif metin ekle"
+
+#: src/view/screens/AppPasswords.tsx:102 src/view/screens/AppPasswords.tsx:143
+#: src/view/screens/AppPasswords.tsx:156
+msgid "Add App Password"
+msgstr "Uygulama Şifresi Ekle"
+
+#: src/view/com/modals/report/InputIssueDetails.tsx:41
+#: src/view/com/modals/report/Modal.tsx:191
+msgid "Add details"
+msgstr "Detaylar ekle"
+
+#: src/view/com/modals/report/Modal.tsx:194
+msgid "Add details to report"
+msgstr "Rapor için detaylar ekleyin"
+
+#: src/view/com/composer/Composer.tsx:446
+msgid "Add link card"
+msgstr "Bağlantı kartı ekle"
+
+#: src/view/com/composer/Composer.tsx:451
+msgid "Add link card:"
+msgstr "Bağlantı kartı ekle:"
+
+#: src/view/com/modals/ChangeHandle.tsx:417
+msgid "Add the following DNS record to your domain:"
+msgstr "Alan adınıza aşağıdaki DNS kaydını ekleyin:"
+
+#: src/view/com/profile/ProfileHeader.tsx:357
+msgid "Add to Lists"
+msgstr "Listelere Ekle"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:243
+#: src/view/screens/ProfileFeed.tsx:272
+msgid "Add to my feeds"
+msgstr "Beslemelerime ekle"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "Eklendi"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "Listeye eklendi"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:125
+msgid "Added to my feeds"
+msgstr "Beslemelerime eklendi"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "Bir yanıtın beslemenizde gösterilmesi için sahip olması gereken beğeni sayısını ayarlayın."
+
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "Yetişkin İçerik"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:137
+msgid "Adult content can only be enabled via the Web at <0/>."
+msgstr "Yetişkin içeriği yalnızca Web üzerinden <0/> etkinleştirilebilir."
+
+#: src/view/screens/Settings.tsx:658
+msgid "Advanced"
+msgstr "Gelişmiş"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:217
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Already have a code?"
+msgstr "Zaten bir kodunuz mu var?"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+msgid "Already signed in as @{0}"
+msgstr "Zaten @{0} olarak oturum açıldı"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:315
+msgid "Alt text"
+msgstr "Alternatif metin"
+
+#: 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 "Alternatif metin, görme engelli ve düşük görme yeteneğine sahip kullanıcılar için resimleri tanımlar ve herkes için bağlam sağlamaya yardımcı olur."
+
+#: 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."
+msgstr "{0} adresine bir e-posta gönderildi. Aşağıda girebileceğiniz bir onay kodu içerir."
+
+#: 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 "Önceki adresinize, {0} bir e-posta gönderildi. Aşağıda girebileceğiniz bir onay kodu içerir."
+
+#: src/view/com/profile/FollowButton.tsx:30
+#: src/view/com/profile/FollowButton.tsx:40
+msgid "An issue occurred, please try again."
+msgstr "Bir sorun oluştu, lütfen tekrar deneyin."
+
+#: src/view/com/notifications/FeedItem.tsx:236
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "ve"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "Hayvanlar"
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "Uygulama Dili"
+
+#: src/view/screens/AppPasswords.tsx:228
+msgid "App password deleted"
+msgstr "Uygulama şifresi silindi"
+
+#: src/view/com/modals/AddAppPasswords.tsx:134
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "Uygulama Şifre adları yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içerebilir."
+
+#: src/view/com/modals/AddAppPasswords.tsx:99
+msgid "App Password names must be at least 4 characters long."
+msgstr "Uygulama Şifre adları en az 4 karakter uzunluğunda olmalıdır."
+
+#: src/view/screens/Settings.tsx:669
+msgid "App password settings"
+msgstr "Uygulama şifresi ayarları"
+
+#: src/Navigation.tsx:238 src/view/screens/AppPasswords.tsx:187
+#: src/view/screens/Settings.tsx:678
+msgid "App Passwords"
+msgstr "Uygulama Şifreleri"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:250
+msgid "Appeal content warning"
+msgstr "İçerik uyarısını itiraz et"
+
+#: src/view/com/modals/AppealLabel.tsx:65
+msgid "Appeal Content Warning"
+msgstr "İçerik Uyarısını İtiraz Et"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:52
+msgid "Appeal this decision"
+msgstr "Bu karara itiraz et"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:56
+msgid "Appeal this decision."
+msgstr "Bu karara itiraz et."
+
+#: src/view/screens/Settings.tsx:460
+msgid "Appearance"
+msgstr "Görünüm"
+
+#: src/view/screens/AppPasswords.tsx:224
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "\"{name}\" uygulama şifresini silmek istediğinizden emin misiniz?"
+
+#: src/view/com/composer/Composer.tsx:143
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "Bu taslağı silmek istediğinizden emin misiniz?"
+
+#: src/view/screens/ProfileList.tsx:364
+msgid "Are you sure?"
+msgstr "Emin misiniz?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:233
+msgid "Are you sure? This cannot be undone."
+msgstr "Emin misiniz? Bu geri alınamaz."
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "<0>{0}0> dilinde mi yazıyorsunuz?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "Sanat"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "Sanatsal veya erotik olmayan çıplaklık."
+
+#: src/view/com/auth/create/CreateAccount.tsx:147
+#: src/view/com/auth/login/ChooseAccountForm.tsx:151
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:170
+#: src/view/com/auth/login/LoginForm.tsx:256
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
+#: src/view/com/modals/report/InputIssueDetails.tsx:46
+#: src/view/com/post-thread/PostThread.tsx:413
+#: src/view/com/post-thread/PostThread.tsx:463
+#: src/view/com/post-thread/PostThread.tsx:471
+#: src/view/com/profile/ProfileHeader.tsx:688
+#: src/view/com/util/ViewHeader.tsx:81
+msgid "Back"
+msgstr "Geri"
+
+#: src/view/com/post-thread/PostThread.tsx:421
+msgctxt "action"
+msgid "Back"
+msgstr "Geri"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+msgid "Based on your interest in {interestsText}"
+msgstr "{interestsText} ilginize dayalı"
+
+#: src/view/screens/Settings.tsx:517
+msgid "Basics"
+msgstr "Temel"
+
+#: src/view/com/auth/create/Step1.tsx:194
+#: src/view/com/modals/BirthDateSettings.tsx:73
+msgid "Birthday"
+msgstr "Doğum günü"
+
+#: src/view/screens/Settings.tsx:340
+msgid "Birthday:"
+msgstr "Doğum günü:"
+
+#: src/view/com/profile/ProfileHeader.tsx:286
+#: src/view/com/profile/ProfileHeader.tsx:393
+msgid "Block Account"
+msgstr "Hesabı Engelle"
+
+#: src/view/screens/ProfileList.tsx:555
+msgid "Block accounts"
+msgstr "Hesapları engelle"
+
+#: src/view/screens/ProfileList.tsx:505
+msgid "Block list"
+msgstr "Listeyi engelle"
+
+#: src/view/screens/ProfileList.tsx:315
+msgid "Block these accounts?"
+msgstr "Bu hesapları engelle?"
+
+#: src/view/screens/ProfileList.tsx:319
+msgid "Block this List"
+msgstr "Bu Listeyi Engelle"
+
+#: src/view/com/lists/ListCard.tsx:109
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:60
+msgid "Blocked"
+msgstr "Engellendi"
+
+#: src/view/screens/Moderation.tsx:123
+msgid "Blocked accounts"
+msgstr "Engellenen hesaplar"
+
+#: src/Navigation.tsx:130 src/view/screens/ModerationBlockedAccounts.tsx:107
+msgid "Blocked Accounts"
+msgstr "Engellenen Hesaplar"
+
+#: src/view/com/profile/ProfileHeader.tsx:288
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez."
+
+#: 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 "Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez. Onların içeriğini görmeyeceksiniz ve onlar da sizinkini görmekten alıkonulacaklar."
+
+#: src/view/com/post-thread/PostThread.tsx:272
+msgid "Blocked post."
+msgstr "Engellenen gönderi."
+
+#: 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 "Engelleme herkese açıktır. Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez."
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
+msgid "Blog"
+msgstr "Blog"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+msgid "Bluesky is flexible."
+msgstr "Bluesky esnek."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+msgid "Bluesky is open."
+msgstr "Bluesky açık."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+msgid "Bluesky is public."
+msgstr "Bluesky kamusal."
+
+#: 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 "Bluesky, daha sağlıklı bir topluluk oluşturmak için davetleri kullanır. Bir daveti olan kimseyi tanımıyorsanız, bekleme listesine kaydolabilir ve yakında bir tane göndereceğiz."
+
+#: src/view/screens/Moderation.tsx:226
+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 "Bluesky, profilinizi ve gönderilerinizi oturum açmamış kullanıcılara göstermeyecektir. Diğer uygulamalar bu isteği yerine getirmeyebilir. Bu, hesabınızı özel yapmaz."
+
+#: src/view/com/modals/ServerInput.tsx:78
+msgid "Bluesky.Social"
+msgstr "Bluesky.Social"
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "Kitaplar"
+
+#: src/view/screens/Settings.tsx:841
+msgid "Build version {0} {1}"
+msgstr "Sürüm {0} {1}"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
+msgid "Business"
+msgstr "İş"
+
+#: src/view/com/modals/ServerInput.tsx:115
+msgid "Button disabled. Input custom domain to proceed."
+msgstr "Button devre dışı. Devam etmek için özel alan adını girin."
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "tarafından —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "tarafından {0}"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "tarafından <0/>"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "siz tarafından"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
+#: src/view/com/util/UserAvatar.tsx:221 src/view/com/util/UserBanner.tsx:38
+msgid "Camera"
+msgstr "Kamera"
+
+#: src/view/com/modals/AddAppPasswords.tsx:216
+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 "Yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içerebilir. En az 4 karakter uzunluğunda, ancak 32 karakterden fazla olmamalıdır."
+
+#: src/components/Prompt.tsx:92 src/view/com/composer/Composer.tsx:300
+#: src/view/com/composer/Composer.tsx:305
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangePassword.tsx:265
+#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/CreateOrEditList.tsx:355
+#: src/view/com/modals/EditImage.tsx:323
+#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/LinkWarning.tsx:87 src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253 src/view/com/modals/Waitlist.tsx:142
+#: src/view/screens/Search/Search.tsx:693 src/view/shell/desktop/Search.tsx:238
+msgid "Cancel"
+msgstr "İptal"
+
+#: src/view/com/modals/Confirm.tsx:88 src/view/com/modals/Confirm.tsx:91
+#: src/view/com/modals/CreateOrEditList.tsx:360
+#: src/view/com/modals/DeleteAccount.tsx:156
+#: src/view/com/modals/DeleteAccount.tsx:234
+msgctxt "action"
+msgid "Cancel"
+msgstr "İptal"
+
+#: src/view/com/modals/DeleteAccount.tsx:152
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Cancel account deletion"
+msgstr "Hesap silmeyi iptal et"
+
+#: src/view/com/modals/ChangeHandle.tsx:149
+msgid "Cancel change handle"
+msgstr "Kullanıcı adı değişikliğini iptal et"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+msgid "Cancel image crop"
+msgstr "Resim kırpma işlemini iptal et"
+
+#: src/view/com/modals/EditProfile.tsx:244
+msgid "Cancel profile editing"
+msgstr "Profil düzenlemeyi iptal et"
+
+#: src/view/com/modals/Repost.tsx:78
+msgid "Cancel quote post"
+msgstr "Alıntı gönderiyi iptal et"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:234
+msgid "Cancel search"
+msgstr "Aramayı iptal et"
+
+#: src/view/com/modals/Waitlist.tsx:136
+msgid "Cancel waitlist signup"
+msgstr "Bekleme listesi kaydını iptal et"
+
+#: src/view/screens/Settings.tsx:334
+msgctxt "action"
+msgid "Change"
+msgstr "Değiştir"
+
+#: src/view/screens/Settings.tsx:690
+msgid "Change handle"
+msgstr "Kullanıcı adını değiştir"
+
+#: src/view/com/modals/ChangeHandle.tsx:161 src/view/screens/Settings.tsx:699
+msgid "Change Handle"
+msgstr "Kullanıcı Adını Değiştir"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "E-postamı değiştir"
+
+#: src/view/screens/Settings.tsx:726
+msgid "Change password"
+msgstr "Şifre değiştir"
+
+#: src/view/screens/Settings.tsx:735
+msgid "Change Password"
+msgstr "Şifre Değiştir"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "Gönderi dilini {0} olarak değiştir"
+
+#: src/view/screens/Settings.tsx:727
+msgid "Change your Bluesky password"
+msgstr "Bluesky şifrenizi değiştirin"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "E-postanızı Değiştirin"
+
+#: src/screens/Deactivated.tsx:73 src/screens/Deactivated.tsx:77
+msgid "Check my status"
+msgstr "Durumumu kontrol et"
+
+#: 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 "Bazı önerilen beslemelere göz atın. Eklemek için + simgesine dokunun."
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "Bazı önerilen kullanıcılara göz atın. Benzer kullanıcıları görmek için onları takip edin."
+
+#: src/view/com/modals/DeleteAccount.tsx:169
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "Aşağıya gireceğiniz onay kodu içeren bir e-posta için gelen kutunuzu kontrol edin:"
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "\"Herkes\" veya \"Hiç kimse\" seçin"
+
+#: src/view/screens/Settings.tsx:691
+msgid "Choose a new Bluesky username or create"
+msgstr "Yeni bir Bluesky kullanıcı adı seçin veya oluşturun"
+
+#: src/view/com/modals/ServerInput.tsx:38
+msgid "Choose Service"
+msgstr "Hizmet Seç"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "Özel beslemelerinizi destekleyen algoritmaları seçin."
+
+#: 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 "Özel beslemelerle deneyiminizi destekleyen algoritmaları seçin."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+msgid "Choose your main feeds"
+msgstr "Ana beslemelerinizi seçin"
+
+#: src/view/com/auth/create/Step1.tsx:163
+msgid "Choose your password"
+msgstr "Şifrenizi seçin"
+
+#: src/view/screens/Settings.tsx:816 src/view/screens/Settings.tsx:817
+msgid "Clear all legacy storage data"
+msgstr "Tüm eski depolama verilerini temizle"
+
+#: src/view/screens/Settings.tsx:819
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "Tüm eski depolama verilerini temizle (bundan sonra yeniden başlat)"
+
+#: src/view/screens/Settings.tsx:828 src/view/screens/Settings.tsx:829
+msgid "Clear all storage data"
+msgstr "Tüm depolama verilerini temizle"
+
+#: src/view/screens/Settings.tsx:831
+msgid "Clear all storage data (restart after this)"
+msgstr "Tüm depolama verilerini temizle (bundan sonra yeniden başlat)"
+
+#: src/view/com/util/forms/SearchInput.tsx:74
+#: src/view/screens/Search/Search.tsx:674
+msgid "Clear search query"
+msgstr "Arama sorgusunu temizle"
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "buraya tıklayın"
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "İklim"
+
+#: src/view/com/modals/ChangePassword.tsx:265
+#: src/view/com/modals/ChangePassword.tsx:268
+msgid "Close"
+msgstr "Kapat"
+
+#: src/components/Dialog/index.web.tsx:78
+msgid "Close active dialog"
+msgstr "Etkin iletişim kutusunu kapat"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "Uyarıyı kapat"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+msgid "Close bottom drawer"
+msgstr "Alt çekmeceyi kapat"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+msgid "Close image"
+msgstr "Resmi kapat"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:119
+msgid "Close image viewer"
+msgstr "Resim görüntüleyiciyi kapat"
+
+#: src/view/shell/index.web.tsx:49
+msgid "Close navigation footer"
+msgstr "Gezinme altbilgisini kapat"
+
+#: src/view/shell/index.web.tsx:50
+msgid "Closes bottom navigation bar"
+msgstr "Alt gezinme çubuğunu kapatır"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "Şifre güncelleme uyarısını kapatır"
+
+#: src/view/com/composer/Composer.tsx:302
+msgid "Closes post composer and discards post draft"
+msgstr "Gönderi bestecisini kapatır ve gönderi taslağını siler"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+msgid "Closes viewer for header image"
+msgstr "Başlık resmi görüntüleyicisini kapatır"
+
+#: src/view/com/notifications/FeedItem.tsx:317
+msgid "Collapses list of users for a given notification"
+msgstr "Belirli bir bildirim için kullanıcı listesini daraltır"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "Komedi"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "Çizgi romanlar"
+
+#: src/Navigation.tsx:228 src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "Topluluk Kuralları"
+
+#: src/screens/Onboarding/StepFinished.tsx:148
+msgid "Complete onboarding and start using your account"
+msgstr "Onboarding'i tamamlayın ve hesabınızı kullanmaya başlayın"
+
+#: src/view/com/composer/Composer.tsx:417
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "En fazla {MAX_GRAPHEME_LENGTH} karakter uzunluğunda gönderiler oluşturun"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "Yanıt oluştur"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+msgid "Configure content filtering setting for category: {0}"
+msgstr "Kategori için içerik filtreleme ayarlarını yapılandır: {0}"
+
+#: src/components/Prompt.tsx:114 src/view/com/modals/AppealLabel.tsx:98
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesHomeFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "Onayla"
+
+#: src/view/com/modals/Confirm.tsx:75 src/view/com/modals/Confirm.tsx:78
+msgctxt "action"
+msgid "Confirm"
+msgstr "Onayla"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "Değişikliği Onayla"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+msgid "Confirm content language settings"
+msgstr "İçerik dil ayarlarını onayla"
+
+#: src/view/com/modals/DeleteAccount.tsx:220
+msgid "Confirm delete account"
+msgstr "Hesabı silmeyi onayla"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:151
+msgid "Confirm your age to enable adult content."
+msgstr "Yetişkin içeriği etkinleştirmek için yaşınızı onaylayın."
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "Onay kodu"
+
+#: src/view/com/modals/Waitlist.tsx:120
+msgid "Confirms signing up {email} to the waitlist"
+msgstr "{email} adresinin bekleme listesine kaydını onaylar"
+
+#: src/view/com/auth/create/CreateAccount.tsx:182
+#: src/view/com/auth/login/LoginForm.tsx:275
+msgid "Connecting..."
+msgstr "Bağlanıyor..."
+
+#: src/view/com/auth/create/CreateAccount.tsx:202
+msgid "Contact support"
+msgstr "Destek ile iletişime geçin"
+
+#: src/view/screens/Moderation.tsx:81
+msgid "Content filtering"
+msgstr "İçerik filtreleme"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:44
+msgid "Content Filtering"
+msgstr "İçerik Filtreleme"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "İçerik Dilleri"
+
+#: src/view/com/modals/ModerationDetails.tsx:65
+msgid "Content Not Available"
+msgstr "İçerik Mevcut Değil"
+
+#: src/view/com/modals/ModerationDetails.tsx:33
+#: src/view/com/util/moderation/ScreenHider.tsx:78
+msgid "Content Warning"
+msgstr "İçerik Uyarısı"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "İçerik uyarıları"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:155
+#: src/screens/Onboarding/StepFollowingFeed.tsx:153
+#: src/screens/Onboarding/StepInterests/index.tsx:248
+#: src/screens/Onboarding/StepModeration/index.tsx:118
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:108
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+msgid "Continue"
+msgstr "Devam et"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:150
+#: src/screens/Onboarding/StepInterests/index.tsx:245
+#: src/screens/Onboarding/StepModeration/index.tsx:115
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:105
+msgid "Continue to next step"
+msgstr "Sonraki adıma devam et"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:152
+msgid "Continue to the next step"
+msgstr "Sonraki adıma devam et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
+msgid "Continue to the next step without following any accounts"
+msgstr "Herhangi bir hesabı takip etmeden sonraki adıma devam et"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "Yemek pişirme"
+
+#: src/view/com/modals/AddAppPasswords.tsx:195
+#: src/view/com/modals/InviteCodes.tsx:182
+msgid "Copied"
+msgstr "Kopyalandı"
+
+#: src/view/screens/Settings.tsx:243
+msgid "Copied build version to clipboard"
+msgstr "Sürüm numarası panoya kopyalandı"
+
+#: src/view/com/modals/AddAppPasswords.tsx:76
+#: src/view/com/modals/InviteCodes.tsx:152
+#: src/view/com/util/forms/PostDropdownBtn.tsx:112
+msgid "Copied to clipboard"
+msgstr "Panoya kopyalandı"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copies app password"
+msgstr "Uygulama şifresini kopyalar"
+
+#: src/view/com/modals/AddAppPasswords.tsx:188
+msgid "Copy"
+msgstr "Kopyala"
+
+#: src/view/screens/ProfileList.tsx:417
+msgid "Copy link to list"
+msgstr "Liste bağlantısını kopyala"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+msgid "Copy link to post"
+msgstr "Gönderi bağlantısını kopyala"
+
+#: src/view/com/profile/ProfileHeader.tsx:342
+msgid "Copy link to profile"
+msgstr "Profili bağlantısını kopyala"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:139
+msgid "Copy post text"
+msgstr "Gönderi metnini kopyala"
+
+#: src/Navigation.tsx:233 src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "Telif Hakkı Politikası"
+
+#: src/view/screens/ProfileFeed.tsx:96
+msgid "Could not load feed"
+msgstr "Besleme yüklenemedi"
+
+#: src/view/screens/ProfileList.tsx:888
+msgid "Could not load list"
+msgstr "Liste yüklenemedi"
+
+#: src/view/com/auth/create/Step2.tsx:91
+msgid "Country"
+msgstr "Ülke"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
+#: src/view/com/auth/SplashScreen.tsx:46
+#: src/view/com/auth/SplashScreen.web.tsx:77
+msgid "Create a new account"
+msgstr "Yeni bir hesap oluştur"
+
+#: src/view/screens/Settings.tsx:384
+msgid "Create a new Bluesky account"
+msgstr "Yeni bir Bluesky hesabı oluştur"
+
+#: src/view/com/auth/create/CreateAccount.tsx:122
+msgid "Create Account"
+msgstr "Hesap Oluştur"
+
+#: src/view/com/modals/AddAppPasswords.tsx:226
+msgid "Create App Password"
+msgstr "Uygulama Şifresi Oluştur"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
+#: src/view/com/auth/SplashScreen.tsx:43
+msgid "Create new account"
+msgstr "Yeni hesap oluştur"
+
+#: src/view/screens/AppPasswords.tsx:249
+msgid "Created {0}"
+msgstr "{0} oluşturuldu"
+
+#: src/view/screens/ProfileFeed.tsx:616
+msgid "Created by <0/>"
+msgstr "<0/> tarafından oluşturuldu"
+
+#: src/view/screens/ProfileFeed.tsx:614
+msgid "Created by you"
+msgstr "Siz tarafından oluşturuldu"
+
+#: src/view/com/composer/Composer.tsx:448
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "Küçük resimli bir kart oluşturur. Kart, {url} bağlantısına gider"
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "Kültür"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ServerInput.tsx:102
+msgid "Custom domain"
+msgstr "Özel alan adı"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "Topluluk tarafından oluşturulan özel beslemeler size yeni deneyimler sunar ve sevdiğiniz içeriği bulmanıza yardımcı olur."
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "Harici sitelerden medyayı özelleştirin."
+
+#: src/view/screens/Settings.tsx:479 src/view/screens/Settings.tsx:505
+msgid "Dark"
+msgstr "Karanlık"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "Karanlık mod"
+
+#: src/view/screens/Settings.tsx:492
+msgid "Dark Theme"
+msgstr "Karanlık Tema"
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "Hata ayıklama paneli"
+
+#: src/view/screens/Settings.tsx:743
+msgid "Delete account"
+msgstr "Hesabı sil"
+
+#: src/view/com/modals/DeleteAccount.tsx:87
+msgid "Delete Account"
+msgstr "Hesabı Sil"
+
+#: src/view/screens/AppPasswords.tsx:222 src/view/screens/AppPasswords.tsx:242
+msgid "Delete app password"
+msgstr "Uygulama şifresini sil"
+
+#: src/view/screens/ProfileList.tsx:363 src/view/screens/ProfileList.tsx:444
+msgid "Delete List"
+msgstr "Listeyi Sil"
+
+#: src/view/com/modals/DeleteAccount.tsx:223
+msgid "Delete my account"
+msgstr "Hesabımı sil"
+
+#: src/view/screens/Settings.tsx:755
+msgid "Delete My Account…"
+msgstr "Hesabımı Sil…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+msgid "Delete post"
+msgstr "Gönderiyi sil"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:232
+msgid "Delete this post?"
+msgstr "Bu gönderiyi sil?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:69
+msgid "Deleted"
+msgstr "Silindi"
+
+#: src/view/com/post-thread/PostThread.tsx:264
+msgid "Deleted post."
+msgstr "Silinen gönderi."
+
+#: src/view/com/modals/CreateOrEditList.tsx:300
+#: src/view/com/modals/CreateOrEditList.tsx:321
+#: src/view/com/modals/EditProfile.tsx:198
+#: src/view/com/modals/EditProfile.tsx:210
+msgid "Description"
+msgstr "Açıklama"
+
+#: src/view/screens/Settings.tsx:760
+msgid "Developer Tools"
+msgstr "Geliştirici Araçları"
+
+#: src/view/com/composer/Composer.tsx:211
+msgid "Did you want to say anything?"
+msgstr "Bir şey söylemek istediniz mi?"
+
+#: src/view/screens/Settings.tsx:498
+msgid "Dim"
+msgstr "Karart"
+
+#: src/view/com/composer/Composer.tsx:144
+msgid "Discard"
+msgstr "Sil"
+
+#: src/view/com/composer/Composer.tsx:138
+msgid "Discard draft"
+msgstr "Taslağı sil"
+
+#: src/view/screens/Moderation.tsx:207
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "Uygulamaların hesabımı oturum açmamış kullanıcılara göstermesini engelle"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "Yeni özel beslemeler keşfet"
+
+#: src/view/screens/Feeds.tsx:441
+msgid "Discover new feeds"
+msgstr "Yeni beslemeler keşfet"
+
+#: src/view/com/modals/EditProfile.tsx:192
+msgid "Display name"
+msgstr "Görünen ad"
+
+#: src/view/com/modals/EditProfile.tsx:180
+msgid "Display Name"
+msgstr "Görünen Ad"
+
+#: src/view/com/modals/ChangeHandle.tsx:487
+msgid "Domain verified!"
+msgstr "Alan adı doğrulandı!"
+
+#: src/view/com/auth/create/Step1.tsx:114
+msgid "Don't have an invite code?"
+msgstr "Davet kodunuz yok mu?"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157 src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "Tamam"
+
+#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/view/com/modals/AltImage.tsx:139
+#: src/view/com/modals/ContentFilteringSettings.tsx:88
+#: src/view/com/modals/ContentFilteringSettings.tsx:96
+#: src/view/com/modals/crop-image/CropImage.web.tsx:152
+#: src/view/com/modals/InviteCodes.tsx:80
+#: src/view/com/modals/InviteCodes.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesHomeFeed.tsx:311
+msgid "Done"
+msgstr "Tamam"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+msgid "Done{extraText}"
+msgstr "Tamam{extraText}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+msgid "Double tap to sign in"
+msgstr "Oturum açmak için çift dokunun"
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:244
+msgid "Drop to add images"
+msgstr "Resim eklemek için bırakın"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "Apple politikaları gereği, yetişkin içeriği yalnızca kaydı tamamladıktan sonra web üzerinde etkinleştirilebilir."
+
+#: src/view/com/modals/EditProfile.tsx:185
+msgid "e.g. Alice Roberts"
+msgstr "örn: Alice Roberts"
+
+#: src/view/com/modals/EditProfile.tsx:203
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "örn: Sanatçı, köpek sever ve okumayı seven."
+
+#: src/view/com/modals/CreateOrEditList.tsx:283
+msgid "e.g. Great Posters"
+msgstr "örn: Harika Göndericiler"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Spammers"
+msgstr "örn: Spamcılar"
+
+#: src/view/com/modals/CreateOrEditList.tsx:312
+msgid "e.g. The posters who never miss."
+msgstr "örn: Asla kaçırmayan göndericiler."
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "örn: Reklamlarla tekrar tekrar yanıt veren kullanıcılar."
+
+#: src/view/com/modals/InviteCodes.tsx:96
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "Her kod bir kez çalışır. Düzenli aralıklarla daha fazla davet kodu alacaksınız."
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "Düzenle"
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:207
+msgid "Edit image"
+msgstr "Resmi düzenle"
+
+#: src/view/screens/ProfileList.tsx:432
+msgid "Edit list details"
+msgstr "Liste ayrıntılarını düzenle"
+
+#: src/view/com/modals/CreateOrEditList.tsx:250
+msgid "Edit Moderation List"
+msgstr "Düzenleme Listesini Düzenle"
+
+#: src/Navigation.tsx:243 src/view/screens/Feeds.tsx:403
+#: src/view/screens/SavedFeeds.tsx:84
+msgid "Edit My Feeds"
+msgstr "Beslemelerimi Düzenle"
+
+#: src/view/com/modals/EditProfile.tsx:152
+msgid "Edit my profile"
+msgstr "Profilimi düzenle"
+
+#: src/view/com/profile/ProfileHeader.tsx:457
+msgid "Edit profile"
+msgstr "Profil düzenle"
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+msgid "Edit Profile"
+msgstr "Profil Düzenle"
+
+#: src/view/screens/Feeds.tsx:337
+msgid "Edit Saved Feeds"
+msgstr "Kayıtlı Beslemeleri Düzenle"
+
+#: src/view/com/modals/CreateOrEditList.tsx:245
+msgid "Edit User List"
+msgstr "Kullanıcı Listesini Düzenle"
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Edit your display name"
+msgstr "Görünen adınızı düzenleyin"
+
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Edit your profile description"
+msgstr "Profil açıklamanızı düzenleyin"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "Eğitim"
+
+#: src/view/com/auth/create/Step1.tsx:143
+#: src/view/com/auth/create/Step2.tsx:194
+#: src/view/com/auth/create/Step2.tsx:269
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:152
+#: src/view/com/modals/ChangeEmail.tsx:141 src/view/com/modals/Waitlist.tsx:88
+msgid "Email"
+msgstr "E-posta"
+
+#: src/view/com/auth/create/Step1.tsx:134
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:143
+msgid "Email address"
+msgstr "E-posta adresi"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "E-posta güncellendi"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "E-posta Güncellendi"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "E-posta doğrulandı"
+
+#: src/view/screens/Settings.tsx:312
+msgid "Email:"
+msgstr "E-posta:"
+
+#: src/view/com/modals/EmbedConsent.tsx:113
+msgid "Enable {0} only"
+msgstr "Yalnızca {0} etkinleştir"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:162
+msgid "Enable Adult Content"
+msgstr "Yetişkin İçeriği Etkinleştir"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+msgid "Enable adult content in your feeds"
+msgstr "Beslemelerinizde yetişkin içeriği etkinleştirin"
+
+#: src/view/com/modals/EmbedConsent.tsx:97
+msgid "Enable External Media"
+msgstr "Harici Medyayı Etkinleştir"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "Medya oynatıcılarını etkinleştir"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "Bu ayarı yalnızca takip ettiğiniz kişiler arasındaki yanıtları görmek için etkinleştirin."
+
+#: src/view/screens/Profile.tsx:437
+msgid "End of feed"
+msgstr "Beslemenin sonu"
+
+#: src/view/com/modals/AddAppPasswords.tsx:166
+msgid "Enter a name for this App Password"
+msgstr "Bu Uygulama Şifresi için bir ad girin"
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "Onay Kodunu Girin"
+
+#: src/view/com/modals/ChangePassword.tsx:151
+msgid "Enter the code you received to change your password."
+msgstr "Şifrenizi değiştirmek için aldığınız kodu girin."
+
+#: src/view/com/modals/ChangeHandle.tsx:371
+msgid "Enter the domain you want to use"
+msgstr "Kullanmak istediğiniz alan adını girin"
+
+#: 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 "Hesabınızı oluşturmak için kullandığınız e-postayı girin. Size yeni bir şifre belirlemeniz için bir \"sıfırlama kodu\" göndereceğiz."
+
+#: src/view/com/auth/create/Step1.tsx:195
+#: src/view/com/modals/BirthDateSettings.tsx:74
+msgid "Enter your birth date"
+msgstr "Doğum tarihinizi girin"
+
+#: src/view/com/modals/Waitlist.tsx:78
+msgid "Enter your email"
+msgstr "E-posta adresinizi girin"
+
+#: src/view/com/auth/create/Step1.tsx:139
+msgid "Enter your email address"
+msgstr "E-posta adresinizi girin"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "Yeni e-postanızı yukarıya girin"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "Yeni e-posta adresinizi aşağıya girin."
+
+#: src/view/com/auth/create/Step2.tsx:188
+msgid "Enter your phone number"
+msgstr "Telefon numaranızı girin"
+
+#: src/view/com/auth/login/Login.tsx:99
+msgid "Enter your username and password"
+msgstr "Kullanıcı adınızı ve şifrenizi girin"
+
+#: src/view/screens/Search/Search.tsx:109
+msgid "Error:"
+msgstr "Hata:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "Herkes"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Exits handle change process"
+msgstr "Kullanıcı adı değişikliği sürecinden çıkar"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:120
+msgid "Exits image view"
+msgstr "Resim görünümünden çıkar"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Exits inputting search query"
+msgstr "Arama sorgusu girişinden çıkar"
+
+#: src/view/com/modals/Waitlist.tsx:138
+msgid "Exits signing up for waitlist with {email}"
+msgstr "{email} adresiyle bekleme listesine kaydolma işleminden çıkar"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:163
+msgid "Expand alt text"
+msgstr "Alternatif metni genişlet"
+
+#: 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 "Yanıt verdiğiniz tam gönderiyi genişletin veya daraltın"
+
+#: src/view/com/modals/EmbedConsent.tsx:64
+msgid "External Media"
+msgstr "Harici Medya"
+
+#: 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 "Harici medya, web sitelerinin siz ve cihazınız hakkında bilgi toplamasına izin verebilir. Bilgi, \"oynat\" düğmesine basana kadar gönderilmez veya istenmez."
+
+#: src/Navigation.tsx:259 src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings.tsx:651
+msgid "External Media Preferences"
+msgstr "Harici Medya Tercihleri"
+
+#: src/view/screens/Settings.tsx:642
+msgid "External media settings"
+msgstr "Harici medya ayarları"
+
+#: src/view/com/modals/AddAppPasswords.tsx:115
+#: src/view/com/modals/AddAppPasswords.tsx:119
+msgid "Failed to create app password."
+msgstr "Uygulama şifresi oluşturulamadı."
+
+#: src/view/com/modals/CreateOrEditList.tsx:206
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "Liste oluşturulamadı. İnternet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:88
+msgid "Failed to delete post, please try again"
+msgstr "Gönderi silinemedi, lütfen tekrar deneyin"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+msgid "Failed to load recommended feeds"
+msgstr "Önerilen beslemeler yüklenemedi"
+
+#: src/Navigation.tsx:193
+msgid "Feed"
+msgstr "Besleme"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:229
+msgid "Feed by {0}"
+msgstr "{0} tarafından besleme"
+
+#: src/view/screens/Feeds.tsx:597
+msgid "Feed offline"
+msgstr "Besleme çevrimdışı"
+
+#: src/view/com/feeds/FeedPage.tsx:143
+msgid "Feed Preferences"
+msgstr "Besleme Tercihleri"
+
+#: src/view/shell/desktop/RightNav.tsx:73 src/view/shell/Drawer.tsx:314
+msgid "Feedback"
+msgstr "Geribildirim"
+
+#: src/Navigation.tsx:443 src/view/screens/Feeds.tsx:514
+#: src/view/screens/Profile.tsx:175 src/view/shell/bottom-bar/BottomBar.tsx:181
+#: src/view/shell/desktop/LeftNav.tsx:342 src/view/shell/Drawer.tsx:479
+#: src/view/shell/Drawer.tsx:480
+msgid "Feeds"
+msgstr "Beslemeler"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "Beslemeler, içerikleri düzenlemek için kullanıcılar tarafından oluşturulur. İlginizi çeken bazı beslemeler seçin."
+
+#: src/view/screens/SavedFeeds.tsx:156
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "Beslemeler, kullanıcıların biraz kodlama uzmanlığı ile oluşturduğu özel algoritmalardır. Daha fazla bilgi için <0/>."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:70
+msgid "Feeds can be topical as well!"
+msgstr "Beslemeler aynı zamanda konusal olabilir!"
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Finalizing"
+msgstr "Tamamlanıyor"
+
+#: 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 "Takip edilecek hesaplar bul"
+
+#: src/view/screens/Search/Search.tsx:439
+msgid "Find users on Bluesky"
+msgstr "Bluesky'da kullanıcı bul"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Find users with the search tool on the right"
+msgstr "Sağdaki arama aracıyla kullanıcı bul"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+msgid "Finding similar accounts..."
+msgstr "Benzer hesaplar bulunuyor..."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:111
+msgid "Fine-tune the content you see on your home screen."
+msgstr "Ana ekranınızda gördüğünüz içeriği ayarlayın."
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "Tartışma konularını ayarlayın."
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "Fitness"
+
+#: src/screens/Onboarding/StepFinished.tsx:131
+msgid "Flexible"
+msgstr "Esnek"
+
+#: src/view/com/modals/EditImage.tsx:115
+msgid "Flip horizontal"
+msgstr "Yatay çevir"
+
+#: src/view/com/modals/EditImage.tsx:120 src/view/com/modals/EditImage.tsx:287
+msgid "Flip vertically"
+msgstr "Dikey çevir"
+
+#: src/view/com/profile/FollowButton.tsx:64
+msgctxt "action"
+msgid "Follow"
+msgstr "Takip et"
+
+#: src/view/com/profile/ProfileHeader.tsx:552
+msgid "Follow"
+msgstr "Takip et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/view/com/profile/ProfileHeader.tsx:543
+msgid "Follow {0}"
+msgstr "{0} takip et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:178
+msgid "Follow All"
+msgstr "Hepsini Takip Et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+msgid "Follow selected accounts and continue to the next step"
+msgstr "Seçili hesapları takip edin ve sonraki adıma devam edin"
+
+#: 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 "Başlamak için bazı kullanıcıları takip edin. Sizi ilginç bulduğunuz kişilere dayanarak size daha fazla kullanıcı önerebiliriz."
+
+#: src/view/com/profile/ProfileCard.tsx:194
+msgid "Followed by {0}"
+msgstr "{0} tarafından takip ediliyor"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "Takip edilen kullanıcılar"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:154
+msgid "Followed users only"
+msgstr "Yalnızca takip edilen kullanıcılar"
+
+#: src/view/com/notifications/FeedItem.tsx:166
+msgid "followed you"
+msgstr "sizi takip etti"
+
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "Takipçiler"
+
+#: src/view/com/profile/ProfileHeader.tsx:534
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "Takip edilenler"
+
+#: src/view/com/profile/ProfileHeader.tsx:196
+msgid "Following {0}"
+msgstr "{0} takip ediliyor"
+
+#: src/view/com/profile/ProfileHeader.tsx:585
+msgid "Follows you"
+msgstr "Sizi takip ediyor"
+
+#: src/view/com/profile/ProfileCard.tsx:141
+msgid "Follows You"
+msgstr "Sizi Takip Ediyor"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "Yiyecek"
+
+#: src/view/com/modals/DeleteAccount.tsx:111
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "Güvenlik nedeniyle, e-posta adresinize bir onay kodu göndermemiz gerekecek."
+
+#: src/view/com/modals/AddAppPasswords.tsx:209
+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 "Güvenlik nedeniyle, bunu tekrar göremezsiniz. Bu şifreyi kaybederseniz, yeni bir tane oluşturmanız gerekecek."
+
+#: src/view/com/auth/login/LoginForm.tsx:238
+msgid "Forgot"
+msgstr "Unuttum"
+
+#: src/view/com/auth/login/LoginForm.tsx:235
+msgid "Forgot password"
+msgstr "Şifremi unuttum"
+
+#: src/view/com/auth/login/Login.tsx:127 src/view/com/auth/login/Login.tsx:143
+msgid "Forgot Password"
+msgstr "Şifremi Unuttum"
+
+#: src/view/com/posts/FeedItem.tsx:189
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "<0/> tarafından"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "Galeri"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "Başlayın"
+
+#: 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 "Geri git"
+
+#: src/view/screens/ProfileFeed.tsx:105 src/view/screens/ProfileFeed.tsx:110
+#: src/view/screens/ProfileList.tsx:897 src/view/screens/ProfileList.tsx:902
+msgid "Go Back"
+msgstr "Geri Git"
+
+#: src/screens/Onboarding/Layout.tsx:104 src/screens/Onboarding/Layout.tsx:193
+msgid "Go back to previous step"
+msgstr "Önceki adıma geri dön"
+
+#: src/view/screens/Search/Search.tsx:724 src/view/shell/desktop/Search.tsx:262
+msgid "Go to @{queryMaybeHandle}"
+msgstr "@{queryMaybeHandle} adresine git"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:185
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:214
+#: src/view/com/auth/login/LoginForm.tsx:285
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
+#: src/view/com/modals/ChangePassword.tsx:165
+msgid "Go to next"
+msgstr "Sonrakine git"
+
+#: src/view/com/modals/ChangeHandle.tsx:265
+msgid "Handle"
+msgstr "Kullanıcı adı"
+
+#: src/view/com/auth/create/CreateAccount.tsx:197
+msgid "Having trouble?"
+msgstr "Sorun mu yaşıyorsunuz?"
+
+#: src/view/shell/desktop/RightNav.tsx:102 src/view/shell/Drawer.tsx:324
+msgid "Help"
+msgstr "Yardım"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+msgid "Here are some accounts for you to follow"
+msgstr "Takip etmeniz için size bazı hesaplar"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:79
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "İşte bazı popüler konusal beslemeler. İstediğiniz kadar takip etmeyi seçebilirsiniz."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:74
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "İlgi alanlarınıza dayalı olarak bazı konusal beslemeler: {interestsText}. İstediğiniz kadar takip etmeyi seçebilirsiniz."
+
+#: src/view/com/modals/AddAppPasswords.tsx:153
+msgid "Here is your app password."
+msgstr "İşte uygulama şifreniz."
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
+#: src/view/com/modals/ContentFilteringSettings.tsx:246
+#: src/view/com/util/moderation/ContentHider.tsx:105
+#: src/view/com/util/moderation/PostHider.tsx:108
+msgid "Hide"
+msgstr "Gizle"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:219
+#: src/view/com/notifications/FeedItem.tsx:325
+msgctxt "action"
+msgid "Hide"
+msgstr "Gizle"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:187
+msgid "Hide post"
+msgstr "Gönderiyi gizle"
+
+#: src/view/com/util/moderation/ContentHider.tsx:67
+#: src/view/com/util/moderation/PostHider.tsx:61
+msgid "Hide the content"
+msgstr "İçeriği gizle"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Hide this post?"
+msgstr "Bu gönderiyi gizle?"
+
+#: src/view/com/notifications/FeedItem.tsx:315
+msgid "Hide user list"
+msgstr "Kullanıcı listesini gizle"
+
+#: src/view/com/profile/ProfileHeader.tsx:526
+msgid "Hides posts from {0} in your feed"
+msgstr "Beslemenizdeki {0} gönderilerini gizler"
+
+#: 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, besleme sunucusuna ulaşırken bir tür sorun oluştu. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: 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, besleme sunucusunun yanlış yapılandırılmış görünüyor. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: 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, besleme sunucusunun çevrimdışı görünüyor. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: 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, besleme sunucusu kötü bir yanıt verdi. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "Hmm, bu beslemeyi bulmakta sorun yaşıyoruz. Silinmiş olabilir."
+
+#: src/Navigation.tsx:433 src/view/shell/bottom-bar/BottomBar.tsx:137
+#: src/view/shell/desktop/LeftNav.tsx:306 src/view/shell/Drawer.tsx:401
+#: src/view/shell/Drawer.tsx:402
+msgid "Home"
+msgstr "Ana Sayfa"
+
+#: src/Navigation.tsx:248 src/view/com/pager/FeedsTabBarMobile.tsx:123
+#: src/view/screens/PreferencesHomeFeed.tsx:104
+#: src/view/screens/Settings.tsx:537
+msgid "Home Feed Preferences"
+msgstr "Ana Sayfa Besleme Tercihleri"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:116
+msgid "Hosting provider"
+msgstr "Barındırma sağlayıcısı"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "Bu bağlantıyı nasıl açmalıyız?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "Bir kodum var"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "Bir onay kodum var"
+
+#: src/view/com/modals/ChangeHandle.tsx:283
+msgid "I have my own domain"
+msgstr "Kendi alan adım var"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:165
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "Alternatif metin uzunsa, alternatif metin genişletme durumunu değiştirir"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "Hiçbiri seçilmezse, tüm yaşlar için uygun."
+
+#: src/view/com/modals/ChangePassword.tsx:146
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "Şifrenizi değiştirmek istiyorsanız, size hesabınızın sizin olduğunu doğrulamak için bir kod göndereceğiz."
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "Resim"
+
+#: src/view/com/modals/AltImage.tsx:120
+msgid "Image alt text"
+msgstr "Resim alternatif metni"
+
+#: src/view/com/util/UserAvatar.tsx:308 src/view/com/util/UserBanner.tsx:116
+msgid "Image options"
+msgstr "Resim seçenekleri"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+msgid "Input code sent to your email for password reset"
+msgstr "Şifre sıfırlama için e-postanıza gönderilen kodu girin"
+
+#: src/view/com/modals/DeleteAccount.tsx:184
+msgid "Input confirmation code for account deletion"
+msgstr "Hesap silme için onay kodunu girin"
+
+#: src/view/com/auth/create/Step1.tsx:144
+msgid "Input email for Bluesky account"
+msgstr "Bluesky hesabı için e-posta girin"
+
+#: src/view/com/auth/create/Step1.tsx:102
+msgid "Input invite code to proceed"
+msgstr "Devam etmek için davet kodunu girin"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+msgid "Input name for app password"
+msgstr "Uygulama şifresi için ad girin"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+msgid "Input new password"
+msgstr "Yeni şifre girin"
+
+#: src/view/com/modals/DeleteAccount.tsx:203
+msgid "Input password for account deletion"
+msgstr "Hesap silme için şifre girin"
+
+#: src/view/com/auth/create/Step2.tsx:196
+msgid "Input phone number for SMS verification"
+msgstr "SMS doğrulaması için telefon numarası girin"
+
+#: src/view/com/auth/login/LoginForm.tsx:227
+msgid "Input the password tied to {identifier}"
+msgstr "{identifier} ile ilişkili şifreyi girin"
+
+#: src/view/com/auth/login/LoginForm.tsx:194
+msgid "Input the username or email address you used at signup"
+msgstr "Kaydolurken kullandığınız kullanıcı adını veya e-posta adresini girin"
+
+#: src/view/com/auth/create/Step2.tsx:271
+msgid "Input the verification code we have texted to you"
+msgstr "Size mesaj attığımız doğrulama kodunu girin"
+
+#: src/view/com/modals/Waitlist.tsx:90
+msgid "Input your email to get on the Bluesky waitlist"
+msgstr "Bluesky bekleme listesine girmek için e-postanızı girin"
+
+#: src/view/com/auth/login/LoginForm.tsx:226
+msgid "Input your password"
+msgstr "Şifrenizi girin"
+
+#: src/view/com/auth/create/Step3.tsx:42
+msgid "Input your user handle"
+msgstr "Kullanıcı adınızı girin"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:231
+msgid "Invalid or unsupported post record"
+msgstr "Geçersiz veya desteklenmeyen gönderi kaydı"
+
+#: src/view/com/auth/login/LoginForm.tsx:115
+msgid "Invalid username or password"
+msgstr "Geçersiz kullanıcı adı veya şifre"
+
+#: src/view/screens/Settings.tsx:411
+msgid "Invite"
+msgstr "Davet et"
+
+#: src/view/com/modals/InviteCodes.tsx:93 src/view/screens/Settings.tsx:399
+msgid "Invite a Friend"
+msgstr "Arkadaşını Davet Et"
+
+#: src/view/com/auth/create/Step1.tsx:92 src/view/com/auth/create/Step1.tsx:101
+msgid "Invite code"
+msgstr "Davet kodu"
+
+#: src/view/com/auth/create/state.ts:199
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "Davet kodu kabul edilmedi. Doğru girdiğinizden emin olun ve tekrar deneyin."
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: {0} available"
+msgstr "Davet kodları: {0} kullanılabilir"
+
+#: src/view/shell/Drawer.tsx:645
+msgid "Invite codes: {invitesAvailable} available"
+msgstr "Davet kodları: {invitesAvailable} kullanılabilir"
+
+#: src/view/com/modals/InviteCodes.tsx:169
+msgid "Invite codes: 1 available"
+msgstr "Davet kodları: 1 kullanılabilir"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+msgid "It shows posts from the people you follow as they happen."
+msgstr "Takip ettiğiniz kişilerin gönderilerini olduğu gibi gösterir."
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
+msgid "Jobs"
+msgstr "İşler"
+
+#: src/view/com/modals/Waitlist.tsx:67
+msgid "Join the waitlist"
+msgstr "Bekleme listesine katıl"
+
+#: src/view/com/auth/create/Step1.tsx:118
+#: src/view/com/auth/create/Step1.tsx:122
+msgid "Join the waitlist."
+msgstr "Bekleme listesine katıl."
+
+#: src/view/com/modals/Waitlist.tsx:128
+msgid "Join Waitlist"
+msgstr "Bekleme Listesine Katıl"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "Gazetecilik"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "Dil seçimi"
+
+#: src/view/screens/Settings.tsx:588
+msgid "Language settings"
+msgstr "Dil ayarları"
+
+#: src/Navigation.tsx:140 src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "Dil Ayarları"
+
+#: src/view/screens/Settings.tsx:597
+msgid "Languages"
+msgstr "Diller"
+
+#: src/view/com/auth/create/StepHeader.tsx:20
+msgid "Last step!"
+msgstr "Son adım!"
+
+#: src/view/com/util/moderation/ContentHider.tsx:103
+msgid "Learn more"
+msgstr "Daha fazla bilgi edinin"
+
+#: src/view/com/util/moderation/PostAlerts.tsx:47
+#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
+#: src/view/com/util/moderation/ScreenHider.tsx:104
+msgid "Learn More"
+msgstr "Daha Fazla Bilgi Edinin"
+
+#: src/view/com/util/moderation/ContentHider.tsx:85
+#: src/view/com/util/moderation/PostAlerts.tsx:40
+#: src/view/com/util/moderation/PostHider.tsx:78
+#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
+#: src/view/com/util/moderation/ScreenHider.tsx:101
+msgid "Learn more about this warning"
+msgstr "Bu uyarı hakkında daha fazla bilgi edinin"
+
+#: src/view/screens/Moderation.tsx:243
+msgid "Learn more about what is public on Bluesky."
+msgstr "Bluesky'da neyin herkese açık olduğu hakkında daha fazla bilgi edinin."
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "Hepsini işaretlemeyin, herhangi bir dil görmek için."
+
+#: src/view/com/modals/LinkWarning.tsx:51
+msgid "Leaving Bluesky"
+msgstr "Bluesky'dan ayrılıyor"
+
+#: src/screens/Deactivated.tsx:129
+msgid "left to go."
+msgstr "kaldı."
+
+#: src/view/screens/Settings.tsx:280
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "Eski depolama temizlendi, şimdi uygulamayı yeniden başlatmanız gerekiyor."
+
+#: src/view/com/auth/login/Login.tsx:128 src/view/com/auth/login/Login.tsx:144
+msgid "Let's get your password reset!"
+msgstr "Şifrenizi sıfırlamaya başlayalım!"
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Let's go!"
+msgstr "Hadi gidelim!"
+
+#: src/view/com/util/UserAvatar.tsx:245 src/view/com/util/UserBanner.tsx:60
+msgid "Library"
+msgstr "Kütüphane"
+
+#: src/view/screens/Settings.tsx:473
+msgid "Light"
+msgstr "Açık"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:170
+msgid "Like"
+msgstr "Beğen"
+
+#: src/view/screens/ProfileFeed.tsx:591
+msgid "Like this feed"
+msgstr "Bu beslemeyi beğen"
+
+#: src/Navigation.tsx:198
+msgid "Liked by"
+msgstr "Beğenenler"
+
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "Beğenenler"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:277
+msgid "Liked by {0} {1}"
+msgstr "{0} {1} tarafından beğenildi"
+
+#: src/view/screens/ProfileFeed.tsx:606
+msgid "Liked by {likeCount} {0}"
+msgstr "{likeCount} {0} tarafından beğenildi"
+
+#: src/view/com/notifications/FeedItem.tsx:170
+msgid "liked your custom feed"
+msgstr "özel beslemenizi beğendi"
+
+#: src/view/com/notifications/FeedItem.tsx:155
+msgid "liked your post"
+msgstr "gönderinizi beğendi"
+
+#: src/view/screens/Profile.tsx:174
+msgid "Likes"
+msgstr "Beğeniler"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:185
+msgid "Likes on this post"
+msgstr "Bu gönderideki beğeniler"
+
+#: src/Navigation.tsx:167
+msgid "List"
+msgstr "Liste"
+
+#: src/view/com/modals/CreateOrEditList.tsx:261
+msgid "List Avatar"
+msgstr "Liste Avatarı"
+
+#: src/view/screens/ProfileList.tsx:323
+msgid "List blocked"
+msgstr "Liste engellendi"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:231
+msgid "List by {0}"
+msgstr "{0} tarafından liste"
+
+#: src/view/screens/ProfileList.tsx:377
+msgid "List deleted"
+msgstr "Liste silindi"
+
+#: src/view/screens/ProfileList.tsx:282
+msgid "List muted"
+msgstr "Liste sessize alındı"
+
+#: src/view/com/modals/CreateOrEditList.tsx:275
+msgid "List Name"
+msgstr "Liste Adı"
+
+#: src/view/screens/ProfileList.tsx:342
+msgid "List unblocked"
+msgstr "Liste engeli kaldırıldı"
+
+#: src/view/screens/ProfileList.tsx:301
+msgid "List unmuted"
+msgstr "Liste sessizden çıkarıldı"
+
+#: src/Navigation.tsx:110 src/view/screens/Profile.tsx:176
+#: src/view/shell/desktop/LeftNav.tsx:379 src/view/shell/Drawer.tsx:495
+#: src/view/shell/Drawer.tsx:496
+msgid "Lists"
+msgstr "Listeler"
+
+#: src/view/com/post-thread/PostThread.tsx:281
+#: src/view/com/post-thread/PostThread.tsx:289
+msgid "Load more posts"
+msgstr "Daha fazla gönderi yükle"
+
+#: src/view/screens/Notifications.tsx:155
+msgid "Load new notifications"
+msgstr "Yeni bildirimleri yükle"
+
+#: src/view/com/feeds/FeedPage.tsx:190 src/view/screens/Profile.tsx:422
+#: src/view/screens/ProfileFeed.tsx:494 src/view/screens/ProfileList.tsx:680
+msgid "Load new posts"
+msgstr "Yeni gönderileri yükle"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+msgid "Loading..."
+msgstr "Yükleniyor..."
+
+#: src/view/com/modals/ServerInput.tsx:50
+msgid "Local dev server"
+msgstr "Yerel geliştirme sunucusu"
+
+#: src/Navigation.tsx:208
+msgid "Log"
+msgstr "Log"
+
+#: src/screens/Deactivated.tsx:150 src/screens/Deactivated.tsx:153
+#: src/screens/Deactivated.tsx:179 src/screens/Deactivated.tsx:182
+msgid "Log out"
+msgstr "Çıkış yap"
+
+#: src/view/screens/Moderation.tsx:136
+msgid "Logged-out visibility"
+msgstr "Çıkış yapan görünürlüğü"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+msgid "Login to account that is not listed"
+msgstr "Listelenmeyen hesaba giriş yap"
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Make sure this is where you intend to go!"
+msgstr "Bu gitmek istediğiniz yer olduğundan emin olun!"
+
+#: src/view/screens/Profile.tsx:173
+msgid "Media"
+msgstr "Medya"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "bahsedilen kullanıcılar"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "Bahsedilen kullanıcılar"
+
+#: src/view/com/util/ViewHeader.tsx:81 src/view/screens/Search/Search.tsx:623
+msgid "Menu"
+msgstr "Menü"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:197
+msgid "Message from server: {0}"
+msgstr "Sunucudan mesaj: {0}"
+
+#: src/Navigation.tsx:115 src/view/screens/Moderation.tsx:64
+#: src/view/screens/Settings.tsx:619 src/view/shell/desktop/LeftNav.tsx:397
+#: src/view/shell/Drawer.tsx:514 src/view/shell/Drawer.tsx:515
+msgid "Moderation"
+msgstr "Moderasyon"
+
+#: src/view/com/lists/ListCard.tsx:92
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "{0} tarafından moderasyon listesi"
+
+#: src/view/screens/ProfileList.tsx:774
+msgid "Moderation list by <0/>"
+msgstr "<0/> tarafından moderasyon listesi"
+
+#: src/view/com/lists/ListCard.tsx:90
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:772
+msgid "Moderation list by you"
+msgstr "Sizin tarafınızdan moderasyon listesi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "Moderation list created"
+msgstr "Moderasyon listesi oluşturuldu"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "Moderation list updated"
+msgstr "Moderasyon listesi güncellendi"
+
+#: src/view/screens/Moderation.tsx:95
+msgid "Moderation lists"
+msgstr "Moderasyon listeleri"
+
+#: src/Navigation.tsx:120 src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "Moderasyon Listeleri"
+
+#: src/view/screens/Settings.tsx:613
+msgid "Moderation settings"
+msgstr "Moderasyon ayarları"
+
+#: src/view/com/modals/ModerationDetails.tsx:35
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "Moderatör, içeriğe genel bir uyarı koymayı seçti."
+
+#: src/view/shell/desktop/Feeds.tsx:53
+msgid "More feeds"
+msgstr "Daha fazla besleme"
+
+#: src/view/com/profile/ProfileHeader.tsx:562
+#: src/view/screens/ProfileFeed.tsx:362 src/view/screens/ProfileList.tsx:616
+msgid "More options"
+msgstr "Daha fazla seçenek"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:270
+msgid "More post options"
+msgstr "Daha fazla gönderi seçeneği"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "En çok beğenilen yanıtlar önce"
+
+#: src/view/com/profile/ProfileHeader.tsx:374
+msgid "Mute Account"
+msgstr "Hesabı Sessize Al"
+
+#: src/view/screens/ProfileList.tsx:543
+msgid "Mute accounts"
+msgstr "Hesapları sessize al"
+
+#: src/view/screens/ProfileList.tsx:490
+msgid "Mute list"
+msgstr "Listeyi sessize al"
+
+#: src/view/screens/ProfileList.tsx:274
+msgid "Mute these accounts?"
+msgstr "Bu hesapları sessize al?"
+
+#: src/view/screens/ProfileList.tsx:278
+msgid "Mute this List"
+msgstr "Bu Listeyi Sessize Al"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:171
+msgid "Mute thread"
+msgstr "Konuyu sessize al"
+
+#: src/view/com/lists/ListCard.tsx:101
+msgid "Muted"
+msgstr "Sessize alındı"
+
+#: src/view/screens/Moderation.tsx:109
+msgid "Muted accounts"
+msgstr "Sessize alınan hesaplar"
+
+#: src/Navigation.tsx:125 src/view/screens/ModerationMutedAccounts.tsx:107
+msgid "Muted Accounts"
+msgstr "Sessize Alınan Hesaplar"
+
+#: 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 "Sessize alınan hesapların gönderileri beslemenizden ve bildirimlerinizden kaldırılır. Sessizlik tamamen özeldir."
+
+#: 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 "Sessizlik özeldir. Sessize alınan hesaplar sizinle etkileşime geçebilir, ancak gönderilerini görmeyecek ve onlardan bildirim almayacaksınız."
+
+#: src/view/com/modals/BirthDateSettings.tsx:56
+msgid "My Birthday"
+msgstr "Doğum Günüm"
+
+#: src/view/screens/Feeds.tsx:399
+msgid "My Feeds"
+msgstr "Beslemelerim"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "Profilim"
+
+#: src/view/screens/Settings.tsx:576
+msgid "My Saved Feeds"
+msgstr "Kayıtlı Beslemelerim"
+
+#: src/view/com/modals/AddAppPasswords.tsx:179
+#: src/view/com/modals/CreateOrEditList.tsx:290
+msgid "Name"
+msgstr "Ad"
+
+#: src/view/com/modals/CreateOrEditList.tsx:145
+msgid "Name is required"
+msgstr "Ad gerekli"
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "Doğa"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:186
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:215
+#: src/view/com/auth/login/LoginForm.tsx:286
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
+#: src/view/com/modals/ChangePassword.tsx:166
+msgid "Navigates to the next screen"
+msgstr "Sonraki ekrana yönlendirir"
+
+#: src/view/shell/Drawer.tsx:73
+msgid "Navigates to your profile"
+msgstr "Profilinize yönlendirir"
+
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+msgid "Never load embeds from {0}"
+msgstr "{0} adresinden gömülü içerikleri asla yükleme"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+msgid "Never lose access to your followers and data."
+msgstr "Takipçilerinize ve verilerinize asla erişimi kaybetmeyin."
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Never lose access to your followers or data."
+msgstr "Takipçilerinize veya verilerinize asla erişimi kaybetmeyin."
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "Yeni"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "Yeni"
+
+#: src/view/com/modals/CreateOrEditList.tsx:252
+msgid "New Moderation List"
+msgstr "Yeni Moderasyon Listesi"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+msgid "New password"
+msgstr "Yeni şifre"
+
+#: src/view/com/modals/ChangePassword.tsx:215
+msgid "New Password"
+msgstr "Yeni Şifre"
+
+#: src/view/com/feeds/FeedPage.tsx:201
+msgctxt "action"
+msgid "New post"
+msgstr "Yeni gönderi"
+
+#: src/view/screens/Feeds.tsx:547 src/view/screens/Profile.tsx:364
+#: src/view/screens/ProfileFeed.tsx:432 src/view/screens/ProfileList.tsx:195
+#: src/view/screens/ProfileList.tsx:223 src/view/shell/desktop/LeftNav.tsx:248
+msgid "New post"
+msgstr "Yeni gönderi"
+
+#: src/view/shell/desktop/LeftNav.tsx:258
+msgctxt "action"
+msgid "New Post"
+msgstr "Yeni Gönderi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:247
+msgid "New User List"
+msgstr "Yeni Kullanıcı Listesi"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "En yeni yanıtlar önce"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "Haberler"
+
+#: src/view/com/auth/create/CreateAccount.tsx:161
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:178
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:188
+#: src/view/com/auth/login/LoginForm.tsx:288
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: src/view/com/modals/ChangePassword.tsx:251
+#: src/view/com/modals/ChangePassword.tsx:253
+msgid "Next"
+msgstr "İleri"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "İleri"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:149
+msgid "Next image"
+msgstr "Sonraki resim"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:129
+#: src/view/screens/PreferencesHomeFeed.tsx:200
+#: src/view/screens/PreferencesHomeFeed.tsx:235
+#: src/view/screens/PreferencesHomeFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "Hayır"
+
+#: src/view/screens/ProfileFeed.tsx:584 src/view/screens/ProfileList.tsx:754
+msgid "No description"
+msgstr "Açıklama yok"
+
+#: src/view/com/profile/ProfileHeader.tsx:217
+msgid "No longer following {0}"
+msgstr "{0} artık takip edilmiyor"
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "Henüz bildirim yok!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+msgid "No result"
+msgstr "Sonuç yok"
+
+#: src/view/screens/Feeds.tsx:490
+msgid "No results found for \"{query}\""
+msgstr "\"{query}\" için sonuç bulunamadı"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:280
+#: src/view/screens/Search/Search.tsx:308
+msgid "No results found for {query}"
+msgstr "{query} için sonuç bulunamadı"
+
+#: src/view/com/modals/EmbedConsent.tsx:129
+msgid "No thanks"
+msgstr "Teşekkürler"
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "Hiç kimse"
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "Uygulanamaz."
+
+#: src/Navigation.tsx:105
+msgid "Not Found"
+msgstr "Bulunamadı"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "Şu anda değil"
+
+#: src/view/screens/Moderation.tsx:233
+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 "Not: Bluesky açık ve kamusal bir ağdır. Bu ayar yalnızca içeriğinizin Bluesky uygulaması ve web sitesindeki görünürlüğünü sınırlar, diğer uygulamalar bu ayarı dikkate almayabilir. İçeriğiniz hala diğer uygulamalar ve web siteleri tarafından çıkış yapan kullanıcılara gösterilebilir."
+
+#: src/Navigation.tsx:448 src/view/screens/Notifications.tsx:120
+#: src/view/screens/Notifications.tsx:144
+#: src/view/shell/bottom-bar/BottomBar.tsx:205
+#: src/view/shell/desktop/LeftNav.tsx:361 src/view/shell/Drawer.tsx:438
+#: src/view/shell/Drawer.tsx:439
+msgid "Notifications"
+msgstr "Bildirimler"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "Çıplaklık"
+
+#: src/view/com/util/ErrorBoundary.tsx:35
+msgid "Oh no!"
+msgstr "Oh hayır!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:128
+msgid "Oh no! Something went wrong."
+msgstr "Oh hayır! Bir şeyler yanlış gitti."
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+msgid "Okay"
+msgstr "Tamam"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "En eski yanıtlar önce"
+
+#: src/view/screens/Settings.tsx:236
+msgid "Onboarding reset"
+msgstr "Onboarding sıfırlama"
+
+#: src/view/com/composer/Composer.tsx:375
+msgid "One or more images is missing alt text."
+msgstr "Bir veya daha fazla resimde alternatif metin eksik."
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "Yalnızca {0} yanıtlayabilir."
+
+#: src/view/com/modals/ProfilePreview.tsx:49
+#: src/view/com/modals/ProfilePreview.tsx:61
+#: src/view/screens/AppPasswords.tsx:65
+msgid "Oops!"
+msgstr "Hata!"
+
+#: src/screens/Onboarding/StepFinished.tsx:115
+msgid "Open"
+msgstr "Aç"
+
+#: src/view/com/composer/Composer.tsx:470
+#: src/view/com/composer/Composer.tsx:471
+msgid "Open emoji picker"
+msgstr "Emoji seçiciyi aç"
+
+#: src/view/screens/Settings.tsx:706
+msgid "Open links with in-app browser"
+msgstr "Uygulama içi tarayıcıda bağlantıları aç"
+
+#: src/view/com/pager/FeedsTabBarMobile.tsx:87
+msgid "Open navigation"
+msgstr "Navigasyonu aç"
+
+#: src/view/screens/Settings.tsx:786
+msgid "Open storybook page"
+msgstr "Storybook sayfasını aç"
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "{numItems} seçeneği açar"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "Hata ayıklama girişi için ek ayrıntıları açar"
+
+#: src/view/com/notifications/FeedItem.tsx:348
+msgid "Opens an expanded list of users in this notification"
+msgstr "Bu bildirimdeki kullanıcıların genişletilmiş bir listesini açar"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+msgid "Opens camera on device"
+msgstr "Cihazdaki kamerayı açar"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "Besteciyi açar"
+
+#: src/view/screens/Settings.tsx:589
+msgid "Opens configurable language settings"
+msgstr "Yapılandırılabilir dil ayarlarını açar"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "Cihaz fotoğraf galerisini açar"
+
+#: src/view/com/profile/ProfileHeader.tsx:459
+msgid "Opens editor for profile display name, avatar, background image, and description"
+msgstr "Profil görüntü adı, avatar, arka plan resmi ve açıklama için düzenleyiciyi açar"
+
+#: src/view/screens/Settings.tsx:643
+msgid "Opens external embeds settings"
+msgstr "Harici gömülü ayarları açar"
+
+#: src/view/com/profile/ProfileHeader.tsx:614
+msgid "Opens followers list"
+msgstr "Takipçi listesini açar"
+
+#: src/view/com/profile/ProfileHeader.tsx:633
+msgid "Opens following list"
+msgstr "Takip listesini açar"
+
+#: src/view/screens/Settings.tsx:412
+msgid "Opens invite code list"
+msgstr "Davet kodu listesini açar"
+
+#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/shell/desktop/RightNav.tsx:156 src/view/shell/Drawer.tsx:646
+msgid "Opens list of invite codes"
+msgstr "Davet kodu listesini açar"
+
+#: src/view/screens/Settings.tsx:745
+msgid "Opens modal for account deletion confirmation. Requires email code."
+msgstr "Hesap silme onayı için modalı açar. E-posta kodu gerektirir."
+
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Opens modal for using custom domain"
+msgstr "Özel alan adı kullanımı için modalı açar"
+
+#: src/view/screens/Settings.tsx:614
+msgid "Opens moderation settings"
+msgstr "Moderasyon ayarlarını açar"
+
+#: src/view/com/auth/login/LoginForm.tsx:236
+msgid "Opens password reset form"
+msgstr "Şifre sıfırlama formunu açar"
+
+#: src/view/screens/Feeds.tsx:338
+msgid "Opens screen to edit Saved Feeds"
+msgstr "Kayıtlı Beslemeleri düzenlemek için ekranı açar"
+
+#: src/view/screens/Settings.tsx:570
+msgid "Opens screen with all saved feeds"
+msgstr "Tüm kayıtlı beslemeleri içeren ekrana açar"
+
+#: src/view/screens/Settings.tsx:670
+msgid "Opens the app password settings page"
+msgstr "Uygulama şifre ayarları sayfasını açar"
+
+#: src/view/screens/Settings.tsx:529
+msgid "Opens the home feed preferences"
+msgstr "Ana besleme tercihlerini açar"
+
+#: src/view/screens/Settings.tsx:787
+msgid "Opens the storybook page"
+msgstr "Storybook sayfasını açar"
+
+#: src/view/screens/Settings.tsx:767
+msgid "Opens the system log page"
+msgstr "Sistem log sayfasını açar"
+
+#: src/view/screens/Settings.tsx:550
+msgid "Opens the threads preferences"
+msgstr "Konu tercihlerini açar"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "{0} seçeneği, {numItems} seçenekten"
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "Veya bu seçenekleri birleştirin:"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+msgid "Other account"
+msgstr "Diğer hesap"
+
+#: src/view/com/modals/ServerInput.tsx:88
+msgid "Other service"
+msgstr "Diğer servis"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "Diğer..."
+
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "Sayfa bulunamadı"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "Sayfa Bulunamadı"
+
+#: src/view/com/auth/create/Step1.tsx:158
+#: src/view/com/auth/create/Step1.tsx:168
+#: src/view/com/auth/login/LoginForm.tsx:223
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Password"
+msgstr "Şifre"
+
+#: src/view/com/auth/login/Login.tsx:157
+msgid "Password updated"
+msgstr "Şifre güncellendi"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+msgid "Password updated!"
+msgstr "Şifre güncellendi!"
+
+#: src/Navigation.tsx:161
+msgid "People followed by @{0}"
+msgstr "@{0} tarafından takip edilenler"
+
+#: src/Navigation.tsx:154
+msgid "People following @{0}"
+msgstr "@{0} tarafından takip edilenler"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "Kamera rulosuna erişim izni gerekiyor."
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "Kamera rulosuna erişim izni reddedildi. Lütfen sistem ayarlarınızda etkinleştirin."
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "Evcil Hayvanlar"
+
+#: src/view/com/auth/create/Step2.tsx:183
+msgid "Phone number"
+msgstr "Telefon numarası"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "Yetişkinler için resimler."
+
+#: src/view/screens/ProfileFeed.tsx:353 src/view/screens/ProfileList.tsx:580
+msgid "Pin to home"
+msgstr "Ana ekrana sabitle"
+
+#: src/view/screens/SavedFeeds.tsx:88
+msgid "Pinned Feeds"
+msgstr "Sabitleme Beslemeleri"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+msgid "Play {0}"
+msgstr "{0} oynat"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+msgid "Play Video"
+msgstr "Videoyu Oynat"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+msgid "Plays the GIF"
+msgstr "GIF'i oynatır"
+
+#: src/view/com/auth/create/state.ts:177
+msgid "Please choose your handle."
+msgstr "Kullanıcı adınızı seçin."
+
+#: src/view/com/auth/create/state.ts:160
+msgid "Please choose your password."
+msgstr "Şifrenizi seçin."
+
+#: 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 "E-postanızı değiştirmeden önce onaylayın. Bu, e-posta güncelleme araçları eklenirken geçici bir gerekliliktir ve yakında kaldırılacaktır."
+
+#: src/view/com/modals/AddAppPasswords.tsx:90
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "Uygulama şifreniz için bir ad girin. Tüm boşluklar izin verilmez."
+
+#: src/view/com/auth/create/Step2.tsx:206
+msgid "Please enter a phone number that can receive SMS text messages."
+msgstr "SMS metin mesajları alabilen bir telefon numarası girin."
+
+#: src/view/com/modals/AddAppPasswords.tsx:145
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "Bu Uygulama Şifresi için benzersiz bir ad girin veya rastgele oluşturulanı kullanın."
+
+#: src/view/com/auth/create/state.ts:170
+msgid "Please enter the code you received by SMS."
+msgstr "SMS ile aldığınız kodu girin."
+
+#: src/view/com/auth/create/Step2.tsx:282
+msgid "Please enter the verification code sent to {phoneNumberFormatted}."
+msgstr "{phoneNumberFormatted} numarasına gönderilen doğrulama kodunu girin."
+
+#: src/view/com/auth/create/state.ts:146
+msgid "Please enter your email."
+msgstr "E-postanızı girin."
+
+#: src/view/com/modals/DeleteAccount.tsx:191
+msgid "Please enter your password as well:"
+msgstr "Lütfen şifrenizi de girin:"
+
+#: 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 "Lütfen bu içerik uyarısının yanlış uygulandığını düşündüğünüz nedeni bize bildirin!"
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "Lütfen E-postanızı Doğrulayın"
+
+#: src/view/com/composer/Composer.tsx:215
+msgid "Please wait for your link card to finish loading"
+msgstr "Bağlantı kartınızın yüklenmesini bekleyin"
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "Politika"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "Pornografi"
+
+#: src/view/com/composer/Composer.tsx:350
+#: src/view/com/composer/Composer.tsx:358
+msgctxt "action"
+msgid "Post"
+msgstr "Gönder"
+
+#: src/view/com/post-thread/PostThread.tsx:251
+msgctxt "description"
+msgid "Post"
+msgstr "Gönderi"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:177
+msgid "Post by {0}"
+msgstr "{0} tarafından gönderi"
+
+#: src/Navigation.tsx:173 src/Navigation.tsx:180 src/Navigation.tsx:187
+msgid "Post by @{0}"
+msgstr "@{0} tarafından gönderi"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:84
+msgid "Post deleted"
+msgstr "Gönderi silindi"
+
+#: src/view/com/post-thread/PostThread.tsx:403
+msgid "Post hidden"
+msgstr "Gönderi gizlendi"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "Gönderi dili"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "Gönderi Dilleri"
+
+#: src/view/com/post-thread/PostThread.tsx:455
+msgid "Post not found"
+msgstr "Gönderi bulunamadı"
+
+#: src/view/screens/Profile.tsx:171
+msgid "Posts"
+msgstr "Gönderiler"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "Gönderiler gizlendi"
+
+#: src/view/com/modals/LinkWarning.tsx:46
+msgid "Potentially Misleading Link"
+msgstr "Potansiyel Yanıltıcı Bağlantı"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:135
+msgid "Previous image"
+msgstr "Önceki resim"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "Birincil Dil"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "Takipçilerinizi Önceliklendirin"
+
+#: src/view/screens/Settings.tsx:626 src/view/shell/desktop/RightNav.tsx:84
+msgid "Privacy"
+msgstr "Gizlilik"
+
+#: src/Navigation.tsx:218 src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings.tsx:873 src/view/shell/Drawer.tsx:265
+msgid "Privacy Policy"
+msgstr "Gizlilik Politikası"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:194
+msgid "Processing..."
+msgstr "İşleniyor..."
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:247
+#: src/view/shell/desktop/LeftNav.tsx:415 src/view/shell/Drawer.tsx:72
+#: src/view/shell/Drawer.tsx:549 src/view/shell/Drawer.tsx:550
+msgid "Profile"
+msgstr "Profil"
+
+#: src/view/com/modals/EditProfile.tsx:128
+msgid "Profile updated"
+msgstr "Profil güncellendi"
+
+#: src/view/screens/Settings.tsx:931
+msgid "Protect your account by verifying your email."
+msgstr "E-postanızı doğrulayarak hesabınızı koruyun."
+
+#: src/screens/Onboarding/StepFinished.tsx:101
+msgid "Public"
+msgstr "Herkese Açık"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "Toplu olarak sessize almak veya engellemek için herkese açık, paylaşılabilir kullanıcı listeleri."
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "Beslemeleri yönlendirebilen herkese açık, paylaşılabilir listeler."
+
+#: src/view/com/composer/Composer.tsx:335
+msgid "Publish post"
+msgstr "Gönderiyi yayınla"
+
+#: src/view/com/composer/Composer.tsx:335
+msgid "Publish reply"
+msgstr "Yanıtı yayınla"
+
+#: src/view/com/modals/Repost.tsx:65
+msgctxt "action"
+msgid "Quote post"
+msgstr "Gönderiyi alıntıla"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "Gönderiyi alıntıla"
+
+#: src/view/com/modals/Repost.tsx:70
+msgctxt "action"
+msgid "Quote Post"
+msgstr "Gönderiyi Alıntıla"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "Rastgele (yani \"Gönderenin Ruleti\")"
+
+#: src/view/com/modals/EditImage.tsx:236
+msgid "Ratios"
+msgstr "Oranlar"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+msgid "Recommended Feeds"
+msgstr "Önerilen Beslemeler"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+msgid "Recommended Users"
+msgstr "Önerilen Kullanıcılar"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/util/UserAvatar.tsx:282 src/view/com/util/UserBanner.tsx:89
+msgid "Remove"
+msgstr "Kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:106
+msgid "Remove {0} from my feeds?"
+msgstr "{0} beslemelerimden kaldırılsın mı?"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "Hesabı kaldır"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:131
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "Remove feed"
+msgstr "Beslemeyi kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:105
+#: src/view/com/feeds/FeedSourceCard.tsx:167
+#: src/view/com/feeds/FeedSourceCard.tsx:172
+#: src/view/com/feeds/FeedSourceCard.tsx:243
+#: src/view/screens/ProfileFeed.tsx:272
+msgid "Remove from my feeds"
+msgstr "Beslemelerimden kaldır"
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "Resmi kaldır"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "Resim önizlemesini kaldır"
+
+#: src/view/com/modals/Repost.tsx:47
+msgid "Remove repost"
+msgstr "Yeniden göndermeyi kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+msgid "Remove this feed from my feeds?"
+msgstr "Bu beslemeyi beslemelerimden kaldırsın mı?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:132
+msgid "Remove this feed from your saved feeds?"
+msgstr "Bu beslemeyi kayıtlı beslemelerinizden kaldırsın mı?"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "Listeden kaldırıldı"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:111
+#: src/view/com/feeds/FeedSourceCard.tsx:178
+msgid "Removed from my feeds"
+msgstr "Beslemelerimden kaldırıldı"
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "{0} adresinden varsayılan küçük resmi kaldırır"
+
+#: src/view/screens/Profile.tsx:172
+msgid "Replies"
+msgstr "Yanıtlar"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "Bu konuya yanıtlar devre dışı bırakıldı"
+
+#: src/view/com/composer/Composer.tsx:348
+msgctxt "action"
+msgid "Reply"
+msgstr "Yanıtla"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:144
+msgid "Reply Filters"
+msgstr "Yanıt Filtreleri"
+
+#: src/view/com/post/Post.tsx:166 src/view/com/posts/FeedItem.tsx:287
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "<0/>'a yanıt"
+
+#: src/view/com/modals/report/Modal.tsx:166
+msgid "Report {collectionName}"
+msgstr "{collectionName} raporla"
+
+#: src/view/com/profile/ProfileHeader.tsx:408
+msgid "Report Account"
+msgstr "Hesabı Raporla"
+
+#: src/view/screens/ProfileFeed.tsx:292
+msgid "Report feed"
+msgstr "Beslemeyi raporla"
+
+#: src/view/screens/ProfileList.tsx:458
+msgid "Report List"
+msgstr "Listeyi Raporla"
+
+#: src/view/com/modals/report/SendReportButton.tsx:37
+#: src/view/com/util/forms/PostDropdownBtn.tsx:210
+msgid "Report post"
+msgstr "Gönderiyi raporla"
+
+#: src/view/com/modals/Repost.tsx:43 src/view/com/modals/Repost.tsx:48
+#: src/view/com/modals/Repost.tsx:53
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "Yeniden gönder"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "Yeniden gönder"
+
+#: 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 "Gönderiyi yeniden gönder veya alıntıla"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "Yeniden Gönderen"
+
+#: src/view/com/posts/FeedItem.tsx:207
+msgid "Reposted by {0}"
+msgstr "{0} tarafından yeniden gönderildi"
+
+#: src/view/com/posts/FeedItem.tsx:224
+msgid "Reposted by <0/>"
+msgstr "<0/>'a yeniden gönderildi"
+
+#: src/view/com/notifications/FeedItem.tsx:162
+msgid "reposted your post"
+msgstr "gönderinizi yeniden gönderdi"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:190
+msgid "Reposts of this post"
+msgstr "Bu gönderinin yeniden gönderilmesi"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "Değişiklik İste"
+
+#: src/view/com/auth/create/Step2.tsx:219
+msgid "Request code"
+msgstr "Kod iste"
+
+#: src/view/com/modals/ChangePassword.tsx:239
+#: src/view/com/modals/ChangePassword.tsx:241
+msgid "Request Code"
+msgstr "Kod İste"
+
+#: src/view/screens/Settings.tsx:450
+msgid "Require alt text before posting"
+msgstr "Göndermeden önce alternatif metin gerektir"
+
+#: src/view/com/auth/create/Step1.tsx:97
+msgid "Required for this provider"
+msgstr "Bu sağlayıcı için gereklidir"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+msgid "Reset code"
+msgstr "Sıfırlama kodu"
+
+#: src/view/com/modals/ChangePassword.tsx:190
+msgid "Reset Code"
+msgstr "Sıfırlama Kodu"
+
+#: src/view/screens/Settings.tsx:806
+msgid "Reset onboarding"
+msgstr "Onboarding sıfırla"
+
+#: src/view/screens/Settings.tsx:809
+msgid "Reset onboarding state"
+msgstr "Onboarding durumunu sıfırla"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:100
+msgid "Reset password"
+msgstr "Şifreyi sıfırla"
+
+#: src/view/screens/Settings.tsx:796
+msgid "Reset preferences"
+msgstr "Tercihleri sıfırla"
+
+#: src/view/screens/Settings.tsx:799
+msgid "Reset preferences state"
+msgstr "Tercih durumunu sıfırla"
+
+#: src/view/screens/Settings.tsx:807
+msgid "Resets the onboarding state"
+msgstr "Onboarding durumunu sıfırlar"
+
+#: src/view/screens/Settings.tsx:797
+msgid "Resets the preferences state"
+msgstr "Tercih durumunu sıfırlar"
+
+#: src/view/com/auth/login/LoginForm.tsx:266
+msgid "Retries login"
+msgstr "Giriş tekrar denemesi"
+
+#: 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 "Son hataya neden olan son eylemi tekrarlar"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:221
+#: src/screens/Onboarding/StepInterests/index.tsx:224
+#: src/view/com/auth/create/CreateAccount.tsx:170
+#: src/view/com/auth/create/CreateAccount.tsx:175
+#: src/view/com/auth/create/Step2.tsx:255
+#: src/view/com/auth/login/LoginForm.tsx:265
+#: src/view/com/auth/login/LoginForm.tsx:268
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:65
+msgid "Retry"
+msgstr "Tekrar dene"
+
+#: src/view/com/auth/create/Step2.tsx:247
+msgid "Retry."
+msgstr "Tekrar dene."
+
+#: src/view/screens/ProfileList.tsx:898
+msgid "Return to previous page"
+msgstr "Önceki sayfaya dön"
+
+#: src/view/shell/desktop/RightNav.tsx:59
+msgid "SANDBOX. Posts and accounts are not permanent."
+msgstr "KUM KUTUSU. Gönderiler ve hesaplar kalıcı değildir."
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:345
+msgctxt "action"
+msgid "Save"
+msgstr "Kaydet"
+
+#: src/view/com/modals/BirthDateSettings.tsx:94
+#: src/view/com/modals/BirthDateSettings.tsx:97
+#: src/view/com/modals/ChangeHandle.tsx:173
+#: src/view/com/modals/CreateOrEditList.tsx:337
+#: src/view/com/modals/EditProfile.tsx:224 src/view/screens/ProfileFeed.tsx:345
+msgid "Save"
+msgstr "Kaydet"
+
+#: src/view/com/modals/AltImage.tsx:130
+msgid "Save alt text"
+msgstr "Alternatif metni kaydet"
+
+#: src/view/com/modals/EditProfile.tsx:232
+msgid "Save Changes"
+msgstr "Değişiklikleri Kaydet"
+
+#: src/view/com/modals/ChangeHandle.tsx:170
+msgid "Save handle change"
+msgstr "Kullanıcı adı değişikliğini kaydet"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+msgid "Save image crop"
+msgstr "Resim kırpma kaydet"
+
+#: src/view/screens/SavedFeeds.tsx:122
+msgid "Saved Feeds"
+msgstr "Kayıtlı Beslemeler"
+
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Saves any changes to your profile"
+msgstr "Profilinizdeki herhangi bir değişikliği kaydeder"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Saves handle change to {handle}"
+msgstr "{handle} kullanıcı adı değişikliğini kaydeder"
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "Bilim"
+
+#: src/view/screens/ProfileList.tsx:854
+msgid "Scroll to top"
+msgstr "Başa kaydır"
+
+#: src/Navigation.tsx:438 src/view/com/auth/LoggedOut.tsx:122
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:53
+#: src/view/com/util/forms/SearchInput.tsx:65
+#: src/view/screens/Search/Search.tsx:418
+#: src/view/screens/Search/Search.tsx:645
+#: src/view/screens/Search/Search.tsx:663
+#: src/view/shell/bottom-bar/BottomBar.tsx:159
+#: src/view/shell/desktop/LeftNav.tsx:324 src/view/shell/desktop/Search.tsx:214
+#: src/view/shell/desktop/Search.tsx:223 src/view/shell/Drawer.tsx:365
+#: src/view/shell/Drawer.tsx:366
+msgid "Search"
+msgstr "Ara"
+
+#: src/view/screens/Search/Search.tsx:712 src/view/shell/desktop/Search.tsx:255
+msgid "Search for \"{query}\""
+msgstr "\"{query}\" için ara"
+
+#: 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 "Kullanıcıları ara"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "Güvenlik Adımı Gerekli"
+
+#: src/view/screens/SavedFeeds.tsx:163
+msgid "See this guide"
+msgstr "Bu kılavuzu gör"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
+msgid "See what's next"
+msgstr "Ne olduğunu gör"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "{item} seç"
+
+#: src/view/com/modals/ServerInput.tsx:75
+msgid "Select Bluesky Social"
+msgstr "Bluesky Social seç"
+
+#: src/view/com/auth/login/Login.tsx:117
+msgid "Select from an existing account"
+msgstr "Mevcut bir hesaptan seç"
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "{i} seçeneği, {numItems} seçenekten"
+
+#: src/view/com/auth/create/Step1.tsx:77
+#: src/view/com/auth/login/LoginForm.tsx:147
+msgid "Select service"
+msgstr "Servis seç"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "Aşağıdaki hesaplardan bazılarını takip et"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:90
+msgid "Select topical feeds to follow from the list below"
+msgstr "Aşağıdaki listeden takip edilecek konu beslemelerini seçin"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:75
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "Görmek istediğinizi (veya görmek istemediğinizi) seçin, gerisini biz hallederiz."
+
+#: 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 "Abone olduğunuz beslemelerin hangi dilleri içermesini istediğinizi seçin. Hiçbiri seçilmezse, tüm diller gösterilir."
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app"
+msgstr "Uygulama dilinizi seçin, uygulamada görüntülenecek varsayılan metin"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:196
+msgid "Select your interests from the options below"
+msgstr "Aşağıdaki seçeneklerden ilgi alanlarınızı seçin"
+
+#: src/view/com/auth/create/Step2.tsx:155
+msgid "Select your phone's country"
+msgstr "Telefonunuzun ülkesini seçin"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "Beslemenizdeki çeviriler için tercih ettiğiniz dili seçin."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+msgid "Select your primary algorithmic feeds"
+msgstr "Birincil algoritmik beslemelerinizi seçin"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:132
+msgid "Select your secondary algorithmic feeds"
+msgstr "İkincil algoritmik beslemelerinizi seçin"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "Onay E-postası Gönder"
+
+#: src/view/com/modals/DeleteAccount.tsx:131
+msgid "Send email"
+msgstr "E-posta gönder"
+
+#: src/view/com/modals/DeleteAccount.tsx:144
+msgctxt "action"
+msgid "Send Email"
+msgstr "E-posta Gönder"
+
+#: src/view/shell/Drawer.tsx:298 src/view/shell/Drawer.tsx:319
+msgid "Send feedback"
+msgstr "Geribildirim gönder"
+
+#: src/view/com/modals/report/SendReportButton.tsx:45
+msgid "Send Report"
+msgstr "Rapor Gönder"
+
+#: src/view/com/modals/DeleteAccount.tsx:133
+msgid "Sends email with confirmation code for account deletion"
+msgstr "Hesap silme için onay kodu içeren e-posta gönderir"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:306
+msgid "Set {value} for {labelGroup} content moderation policy"
+msgstr "{labelGroup} içerik düzenleme politikası için {value} ayarla"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:155
+#: src/view/com/modals/ContentFilteringSettings.tsx:174
+msgctxt "action"
+msgid "Set Age"
+msgstr "Yaş Ayarla"
+
+#: src/view/screens/Settings.tsx:482
+msgid "Set color theme to dark"
+msgstr "Renk temasını koyu olarak ayarla"
+
+#: src/view/screens/Settings.tsx:475
+msgid "Set color theme to light"
+msgstr "Renk temasını açık olarak ayarla"
+
+#: src/view/screens/Settings.tsx:469
+msgid "Set color theme to system setting"
+msgstr "Renk temasını sistem ayarına ayarla"
+
+#: src/view/screens/Settings.tsx:508
+msgid "Set dark theme to the dark theme"
+msgstr "Koyu teması koyu temaya ayarla"
+
+#: src/view/screens/Settings.tsx:501
+msgid "Set dark theme to the dim theme"
+msgstr "Koyu teması loş temaya ayarla"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+msgid "Set new password"
+msgstr "Yeni şifre ayarla"
+
+#: src/view/com/auth/create/Step1.tsx:169
+msgid "Set password"
+msgstr "Şifre ayarla"
+
+#: 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 "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm alıntı gönderileri gizleyebilirsiniz. Yeniden göndermeler hala görünür olacaktır."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm yanıtları gizleyebilirsiniz."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm yeniden göndermeleri gizleyebilirsiniz."
+
+#: 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 "Bu ayarı \"Evet\" olarak ayarlayarak yanıtları konu tabanlı görüntülemek için ayarlayın. Bu deneysel bir özelliktir."
+
+#: 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 "Bu ayarı \"Evet\" olarak ayarlayarak kayıtlı beslemelerinizin örneklerini takip ettiğiniz beslemede göstermek için ayarlayın. Bu deneysel bir özelliktir."
+
+#: src/screens/Onboarding/Layout.tsx:50
+msgid "Set up your account"
+msgstr "Hesabınızı ayarlayın"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Sets Bluesky username"
+msgstr "Bluesky kullanıcı adını ayarlar"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:153
+msgid "Sets email for password reset"
+msgstr "Şifre sıfırlama için e-posta ayarlar"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:118
+msgid "Sets hosting provider for password reset"
+msgstr "Şifre sıfırlama için barındırma sağlayıcısını ayarlar"
+
+#: src/view/com/auth/create/Step1.tsx:78
+#: src/view/com/auth/login/LoginForm.tsx:148
+msgid "Sets server for the Bluesky client"
+msgstr "Bluesky istemcisi için sunucuyu ayarlar"
+
+#: src/Navigation.tsx:135 src/view/screens/Settings.tsx:294
+#: src/view/shell/desktop/LeftNav.tsx:433 src/view/shell/Drawer.tsx:570
+#: src/view/shell/Drawer.tsx:571
+msgid "Settings"
+msgstr "Ayarlar"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "Cinsel aktivite veya erotik çıplaklık."
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/view/com/profile/ProfileHeader.tsx:342
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+#: src/view/screens/ProfileList.tsx:417
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/view/screens/ProfileFeed.tsx:304
+msgid "Share feed"
+msgstr "Beslemeyi paylaş"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
+#: src/view/com/modals/ContentFilteringSettings.tsx:261
+#: src/view/com/util/moderation/ContentHider.tsx:107
+#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/view/screens/Settings.tsx:344
+msgid "Show"
+msgstr "Göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:68
+msgid "Show all replies"
+msgstr "Tüm yanıtları göster"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:132
+msgid "Show anyway"
+msgstr "Yine de göster"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+msgid "Show embeds from {0}"
+msgstr "{0} adresinden gömülü öğeleri göster"
+
+#: src/view/com/profile/ProfileHeader.tsx:498
+msgid "Show follows similar to {0}"
+msgstr "{0} adresine benzer takipçileri göster"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:571
+#: src/view/com/post/Post.tsx:197 src/view/com/posts/FeedItem.tsx:363
+msgid "Show More"
+msgstr "Daha Fazla Göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "Beslemelerimden Gönderileri Göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "Alıntı Gönderileri Göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+msgid "Show quote-posts in Following feed"
+msgstr "Alıntı gönderileri takip etme beslemesinde göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+msgid "Show quotes in Following"
+msgstr "Takip etme beslemesinde alıntıları göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+msgid "Show re-posts in Following feed"
+msgstr "Yeniden göndermeleri takip etme beslemesinde göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:119
+msgid "Show Replies"
+msgstr "Yanıtları Göster"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "Takip ettiğiniz kişilerin yanıtlarını diğer tüm yanıtlardan önce göster."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+msgid "Show replies in Following"
+msgstr "Takip etme beslemesinde yanıtları göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+msgid "Show replies in Following feed"
+msgstr "Takip etme beslemesinde yanıtları göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "En az {value} {0} olan yanıtları göster"
+
+#: src/view/screens/PreferencesHomeFeed.tsx:188
+msgid "Show Reposts"
+msgstr "Yeniden Göndermeleri Göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+msgid "Show reposts in Following"
+msgstr "Takip etme beslemesinde yeniden göndermeleri göster"
+
+#: src/view/com/util/moderation/ContentHider.tsx:67
+#: src/view/com/util/moderation/PostHider.tsx:61
+msgid "Show the content"
+msgstr "İçeriği göster"
+
+#: src/view/com/notifications/FeedItem.tsx:346
+msgid "Show users"
+msgstr "Kullanıcıları göster"
+
+#: src/view/com/profile/ProfileHeader.tsx:501
+msgid "Shows a list of users similar to this user."
+msgstr "Bu kullanıcıya benzer kullanıcıların listesini gösterir."
+
+#: src/view/com/profile/ProfileHeader.tsx:545
+msgid "Shows posts from {0} in your feed"
+msgstr "Beslemenizde {0} adresinden gönderileri gösterir"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
+#: 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
+#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:58 src/view/shell/NavSignupCard.tsx:59
+msgid "Sign in"
+msgstr "Giriş yap"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:87
+msgid "Sign In"
+msgstr "Giriş Yap"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+msgid "Sign in as {0}"
+msgstr "{0} olarak giriş yap"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:118
+#: src/view/com/auth/login/Login.tsx:116
+msgid "Sign in as..."
+msgstr "Olarak giriş yap..."
+
+#: src/view/com/auth/login/LoginForm.tsx:134
+msgid "Sign into"
+msgstr "Olarak giriş yap"
+
+#: src/view/com/modals/SwitchAccount.tsx:64
+#: src/view/com/modals/SwitchAccount.tsx:69 src/view/screens/Settings.tsx:107
+#: src/view/screens/Settings.tsx:110
+msgid "Sign out"
+msgstr "Çıkış yap"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:275
+#: src/view/shell/bottom-bar/BottomBar.tsx:276
+#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:49 src/view/shell/NavSignupCard.tsx:50
+#: src/view/shell/NavSignupCard.tsx:52
+msgid "Sign up"
+msgstr "Kaydol"
+
+#: src/view/shell/NavSignupCard.tsx:42
+msgid "Sign up or sign in to join the conversation"
+msgstr "Konuşmaya katılmak için kaydolun veya giriş yapın"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:76
+msgid "Sign-in Required"
+msgstr "Giriş Yapılması Gerekiyor"
+
+#: src/view/screens/Settings.tsx:355
+msgid "Signed in as"
+msgstr "Olarak giriş yapıldı"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+msgid "Signed in as @{0}"
+msgstr "@{0} olarak giriş yapıldı"
+
+#: src/view/com/modals/SwitchAccount.tsx:66
+msgid "Signs {0} out of Bluesky"
+msgstr "{0} adresini Bluesky'den çıkarır"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:235
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+msgid "Skip"
+msgstr "Atla"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:232
+msgid "Skip this flow"
+msgstr "Bu akışı atla"
+
+#: src/view/com/auth/create/Step2.tsx:82
+msgid "SMS verification"
+msgstr "SMS doğrulama"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "Yazılım Geliştirme"
+
+#: src/view/com/modals/ProfilePreview.tsx:62
+msgid "Something went wrong and we're not sure what."
+msgstr "Bir şeyler yanlış gitti ve ne olduğundan emin değiliz."
+
+#: src/view/com/modals/Waitlist.tsx:51
+msgid "Something went wrong. Check your email and try again."
+msgstr "Bir şeyler yanlış gitti. E-postanızı kontrol edin ve tekrar deneyin."
+
+#: src/App.native.tsx:60
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "Üzgünüz! Oturumunuzun süresi doldu. Lütfen tekrar giriş yapın."
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "Yanıtları Sırala"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "Aynı gönderiye verilen yanıtları şuna göre sırala:"
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "Spor"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+msgid "Square"
+msgstr "Kare"
+
+#: src/view/com/modals/ServerInput.tsx:62
+msgid "Staging"
+msgstr "Staging"
+
+#: src/view/screens/Settings.tsx:853
+msgid "Status page"
+msgstr "Durum sayfası"
+
+#: src/view/com/auth/create/StepHeader.tsx:22
+msgid "Step {0} of {numSteps}"
+msgstr "{numSteps} adımdan {0}. adım"
+
+#: src/view/screens/Settings.tsx:276
+msgid "Storage cleared, you need to restart the app now."
+msgstr "Depolama temizlendi, şimdi uygulamayı yeniden başlatmanız gerekiyor."
+
+#: src/Navigation.tsx:203 src/view/screens/Settings.tsx:789
+msgid "Storybook"
+msgstr "Storybook"
+
+#: src/view/com/modals/AppealLabel.tsx:101
+msgid "Submit"
+msgstr "Submit"
+
+#: src/view/screens/ProfileList.tsx:607
+msgid "Subscribe"
+msgstr "Abone ol"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "{0} beslemesine abone ol"
+
+#: src/view/screens/ProfileList.tsx:603
+msgid "Subscribe to this list"
+msgstr "Bu listeye abone ol"
+
+#: src/view/screens/Search/Search.tsx:373
+msgid "Suggested Follows"
+msgstr "Önerilen Takipçiler"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+msgid "Suggested for you"
+msgstr "Sana önerilenler"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "Tehlikeli"
+
+#: src/Navigation.tsx:213 src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "Destek"
+
+#: src/view/com/modals/ProfilePreview.tsx:110
+msgid "Swipe up to see more"
+msgstr "Daha fazlasını görmek için yukarı kaydır"
+
+#: src/view/com/modals/SwitchAccount.tsx:117
+msgid "Switch Account"
+msgstr "Hesap Değiştir"
+
+#: src/view/com/modals/SwitchAccount.tsx:97 src/view/screens/Settings.tsx:137
+msgid "Switch to {0}"
+msgstr "{0} adresine geç"
+
+#: src/view/com/modals/SwitchAccount.tsx:98 src/view/screens/Settings.tsx:138
+msgid "Switches the account you are logged in to"
+msgstr "Giriş yaptığınız hesabı değiştirir"
+
+#: src/view/screens/Settings.tsx:466
+msgid "System"
+msgstr "Sistem"
+
+#: src/view/screens/Settings.tsx:769
+msgid "System log"
+msgstr "Sistem günlüğü"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+msgid "Tall"
+msgstr "Uzun"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "Tamamen görüntülemek için dokunun"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "Teknoloji"
+
+#: src/view/shell/desktop/RightNav.tsx:93
+msgid "Terms"
+msgstr "Şartlar"
+
+#: src/Navigation.tsx:223 src/view/screens/Settings.tsx:867
+#: src/view/screens/TermsOfService.tsx:29 src/view/shell/Drawer.tsx:259
+msgid "Terms of Service"
+msgstr "Hizmet Şartları"
+
+#: src/view/com/modals/AppealLabel.tsx:70
+#: src/view/com/modals/report/InputIssueDetails.tsx:51
+msgid "Text input field"
+msgstr "Metin giriş alanı"
+
+#: src/view/com/profile/ProfileHeader.tsx:310
+msgid "The account will be able to interact with you after unblocking."
+msgstr "Hesap, engeli kaldırdıktan sonra sizinle etkileşime geçebilecek."
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "Topluluk Kuralları <0/> konumuna taşındı"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "Telif Hakkı Politikası <0/> konumuna taşındı"
+
+#: src/screens/Onboarding/Layout.tsx:60
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "Aşağıdaki adımlar, Bluesky deneyiminizi özelleştirmenize yardımcı olacaktır."
+
+#: src/view/com/post-thread/PostThread.tsx:458
+msgid "The post may have been deleted."
+msgstr "Gönderi silinmiş olabilir."
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <0/>"
+msgstr "Gizlilik Politikası <0/> konumuna taşındı"
+
+#: 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 "Destek formu taşındı. Yardıma ihtiyacınız varsa, lütfen <0/> veya bize ulaşmak için {HELP_DESK_URL} adresini ziyaret edin."
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "Hizmet Şartları taşındı"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:135
+msgid "There are many feeds to try:"
+msgstr "Denemek için birçok besleme var:"
+
+#: src/view/screens/ProfileFeed.tsx:549
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "Sunucuya ulaşma konusunda bir sorun oluştu, lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: 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 "Bu beslemeyi kaldırma konusunda bir sorun oluştu. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/screens/ProfileFeed.tsx:209
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "Beslemelerinizi güncelleme konusunda bir sorun oluştu, lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/screens/ProfileFeed.tsx:236 src/view/screens/ProfileList.tsx:266
+#: src/view/screens/SavedFeeds.tsx:209 src/view/screens/SavedFeeds.tsx:231
+#: src/view/screens/SavedFeeds.tsx:252
+msgid "There was an issue contacting the server"
+msgstr "Sunucuya ulaşma konusunda bir sorun oluştu"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:113
+#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:181
+msgid "There was an issue contacting your server"
+msgstr "Sunucunuza ulaşma konusunda bir sorun oluştu"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "Bildirimleri almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/view/com/posts/Feed.tsx:263
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "Gönderileri almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+msgstr "Listeyi almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: 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 "Listelerinizi almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
+#: src/view/com/modals/ContentFilteringSettings.tsx:126
+msgid "There was an issue syncing your preferences with the server"
+msgstr "Tercihlerinizi sunucuyla senkronize etme konusunda bir sorun oluştu"
+
+#: src/view/screens/AppPasswords.tsx:66
+msgid "There was an issue with fetching your app passwords"
+msgstr "Uygulama şifrelerinizi almakta bir sorun oluştu"
+
+#: src/view/com/profile/ProfileHeader.tsx:204
+#: src/view/com/profile/ProfileHeader.tsx:225
+#: src/view/com/profile/ProfileHeader.tsx:264
+#: src/view/com/profile/ProfileHeader.tsx:277
+#: src/view/com/profile/ProfileHeader.tsx:297
+#: src/view/com/profile/ProfileHeader.tsx:319
+msgid "There was an issue! {0}"
+msgstr "Bir sorun oluştu! {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 "Bir sorun oluştu. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: 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 "Uygulamada beklenmeyen bir sorun oluştu. Bu size de olduysa lütfen bize bildirin!"
+
+#: src/screens/Deactivated.tsx:107
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Bluesky'e bir dizi yeni kullanıcı geldi! Hesabınızı en kısa sürede etkinleştireceğiz."
+
+#: src/view/com/auth/create/Step2.tsx:55
+msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
+msgstr "Bu numarada bir sorun var. Lütfen ülkenizi seçin ve tam telefon numaranızı girin!"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+msgid "These are popular accounts you might like:"
+msgstr "Bunlar, beğenebileceğiniz popüler hesaplar:"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:88
+msgid "This {screenDescription} has been flagged:"
+msgstr "Bu {screenDescription} işaretlendi:"
+
+#: src/view/com/util/moderation/ScreenHider.tsx:83
+msgid "This account has requested that users sign in to view their profile."
+msgstr "Bu hesap, kullanıcıların profilini görüntülemek için giriş yapmalarını istedi."
+
+#: src/view/com/modals/EmbedConsent.tsx:68
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "Bu içerik {0} tarafından barındırılıyor. Harici medyayı etkinleştirmek ister misiniz?"
+
+#: src/view/com/modals/ModerationDetails.tsx:67
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "Bu içerik, içerikte yer alan kullanıcılardan biri diğerini engellediği için mevcut değil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "Bu içerik, bir Bluesky hesabı olmadan görüntülenemez."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "Bu besleme şu anda yüksek trafik alıyor ve geçici olarak kullanılamıyor. Lütfen daha sonra tekrar deneyin."
+
+#: src/view/screens/Profile.tsx:402 src/view/screens/ProfileFeed.tsx:475
+#: src/view/screens/ProfileList.tsx:660
+msgid "This feed is empty!"
+msgstr "Bu besleme boş!"
+
+#: 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 "Bu besleme boş! Daha fazla kullanıcı takip etmeniz veya dil ayarlarınızı ayarlamanız gerekebilir."
+
+#: src/view/com/modals/BirthDateSettings.tsx:61
+msgid "This information is not shared with other users."
+msgstr "Bu bilgi diğer kullanıcılarla paylaşılmaz."
+
+#: 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 "Bu, e-postanızı değiştirmeniz veya şifrenizi sıfırlamanız gerektiğinde önemlidir."
+
+#: src/view/com/modals/LinkWarning.tsx:58
+msgid "This link is taking you to the following website:"
+msgstr "Bu bağlantı sizi aşağıdaki web sitesine götürüyor:"
+
+#: src/view/screens/ProfileList.tsx:834
+msgid "This list is empty!"
+msgstr "Bu liste boş!"
+
+#: src/view/com/modals/AddAppPasswords.tsx:106
+msgid "This name is already in use"
+msgstr "Bu isim zaten kullanılıyor"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:124
+msgid "This post has been deleted."
+msgstr "Bu gönderi silindi."
+
+#: src/view/com/modals/ModerationDetails.tsx:62
+msgid "This user has blocked you. You cannot view their content."
+msgstr "Bu kullanıcı sizi engelledi. İçeriklerini göremezsiniz."
+
+#: src/view/com/modals/ModerationDetails.tsx:42
+msgid "This user is included in the <0/> list which you have blocked."
+msgstr "Bu kullanıcı, engellediğiniz <0/> listesinde bulunuyor."
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+msgid "This user is included in the <0/> list which you have muted."
+msgstr "Bu kullanıcı, sessize aldığınız <0/> listesinde bulunuyor."
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "Bu uyarı yalnızca medya ekli gönderiler için mevcuttur."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:192
+msgid "This will hide this post from your feeds."
+msgstr "Bu, bu gönderiyi beslemelerinizden gizleyecektir."
+
+#: src/view/screens/PreferencesThreads.tsx:53 src/view/screens/Settings.tsx:559
+msgid "Thread Preferences"
+msgstr "Konu Tercihleri"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "Konu Tabanlı Mod"
+
+#: src/Navigation.tsx:253
+msgid "Threads Preferences"
+msgstr "Konu Tercihleri"
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "Açılır menüyü aç/kapat"
+
+#: src/view/com/modals/EditImage.tsx:271
+msgid "Transformations"
+msgstr "Dönüşümler"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:719
+#: src/view/com/post-thread/PostThreadItem.tsx:721
+#: src/view/com/util/forms/PostDropdownBtn.tsx:125
+msgid "Translate"
+msgstr "Çevir"
+
+#: src/view/com/util/error/ErrorScreen.tsx:75
+msgctxt "action"
+msgid "Try again"
+msgstr "Tekrar dene"
+
+#: src/view/screens/ProfileList.tsx:505
+msgid "Un-block list"
+msgstr "Listeyi engeli kaldır"
+
+#: src/view/screens/ProfileList.tsx:490
+msgid "Un-mute list"
+msgstr "Listeyi sessizden çıkar"
+
+#: src/view/com/auth/create/CreateAccount.tsx:66
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
+#: src/view/com/auth/login/Login.tsx:76
+#: src/view/com/auth/login/LoginForm.tsx:120
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "Hizmetinize ulaşılamıyor. Lütfen internet bağlantınızı kontrol edin."
+
+#: src/view/com/profile/ProfileHeader.tsx:472
+#: src/view/screens/ProfileList.tsx:589
+msgid "Unblock"
+msgstr "Engeli kaldır"
+
+#: src/view/com/profile/ProfileHeader.tsx:475
+msgctxt "action"
+msgid "Unblock"
+msgstr "Engeli kaldır"
+
+#: src/view/com/profile/ProfileHeader.tsx:308
+#: src/view/com/profile/ProfileHeader.tsx:392
+msgid "Unblock Account"
+msgstr "Hesabın engelini kaldır"
+
+#: src/view/com/modals/Repost.tsx:42 src/view/com/modals/Repost.tsx:55
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "Yeniden göndermeyi geri al"
+
+#: src/view/com/profile/FollowButton.tsx:55
+msgctxt "action"
+msgid "Unfollow"
+msgstr "Takibi bırak"
+
+#: src/view/com/profile/ProfileHeader.tsx:524
+msgid "Unfollow {0}"
+msgstr "{0} adresini takibi bırak"
+
+#: src/view/com/auth/create/state.ts:300
+msgid "Unfortunately, you do not meet the requirements to create an account."
+msgstr "Üzgünüz, bir hesap oluşturmak için gerekleri karşılamıyorsunuz."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:170
+msgid "Unlike"
+msgstr "Beğenmeyi geri al"
+
+#: src/view/screens/ProfileList.tsx:596
+msgid "Unmute"
+msgstr "Sessizden çıkar"
+
+#: src/view/com/profile/ProfileHeader.tsx:373
+msgid "Unmute Account"
+msgstr "Hesabın sessizliğini kaldır"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:171
+msgid "Unmute thread"
+msgstr "Konunun sessizliğini kaldır"
+
+#: src/view/screens/ProfileFeed.tsx:353 src/view/screens/ProfileList.tsx:580
+msgid "Unpin"
+msgstr "Sabitlemeyi kaldır"
+
+#: src/view/screens/ProfileList.tsx:473
+msgid "Unpin moderation list"
+msgstr "Moderasyon listesini sabitlemeyi kaldır"
+
+#: src/view/screens/ProfileFeed.tsx:345
+msgid "Unsave"
+msgstr "Kaydedilenlerden kaldır"
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "Listelerde {displayName} güncelle"
+
+#: src/lib/hooks/useOTAUpdate.ts:15
+msgid "Update Available"
+msgstr "Güncelleme Mevcut"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+msgid "Updating..."
+msgstr "Güncelleniyor..."
+
+#: src/view/com/modals/ChangeHandle.tsx:455
+msgid "Upload a text file to:"
+msgstr "Bir metin dosyası yükleyin:"
+
+#: 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 "Uygulama şifrelerini kullanarak hesabınızın veya şifrenizin tam erişimini vermeden diğer Bluesky istemcilerine giriş yapın."
+
+#: src/view/com/modals/ChangeHandle.tsx:515
+msgid "Use default provider"
+msgstr "Varsayılan sağlayıcıyı kullan"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "Uygulama içi tarayıcıyı kullan"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "Varsayılan tarayıcımı kullan"
+
+#: src/view/com/modals/AddAppPasswords.tsx:155
+msgid "Use this to sign into the other app along with your handle."
+msgstr "Bunu, kullanıcı adınızla birlikte diğer uygulamaya giriş yapmak için kullanın."
+
+#: src/view/com/modals/ServerInput.tsx:105
+msgid "Use your domain as your Bluesky client service provider"
+msgstr "Alan adınızı Bluesky istemci sağlayıcınız olarak kullanın"
+
+#: src/view/com/modals/InviteCodes.tsx:200
+msgid "Used by:"
+msgstr "Kullanıcı:"
+
+#: src/view/com/modals/ModerationDetails.tsx:54
+msgid "User Blocked"
+msgstr "Kullanıcı Engellendi"
+
+#: src/view/com/modals/ModerationDetails.tsx:40
+msgid "User Blocked by List"
+msgstr "Liste Tarafından Engellenen Kullanıcı"
+
+#: src/view/com/modals/ModerationDetails.tsx:60
+msgid "User Blocks You"
+msgstr "Kullanıcı Sizi Engelledi"
+
+#: src/view/com/auth/create/Step3.tsx:41
+msgid "User handle"
+msgstr "Kullanıcı adı"
+
+#: src/view/com/lists/ListCard.tsx:84
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "{0} tarafından oluşturulan kullanıcı listesi"
+
+#: src/view/screens/ProfileList.tsx:762
+msgid "User list by <0/>"
+msgstr "<0/> tarafından oluşturulan kullanıcı listesi"
+
+#: src/view/com/lists/ListCard.tsx:82
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:760
+msgid "User list by you"
+msgstr "Sizin tarafınızdan oluşturulan kullanıcı listesi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:196
+msgid "User list created"
+msgstr "Kullanıcı listesi oluşturuldu"
+
+#: src/view/com/modals/CreateOrEditList.tsx:182
+msgid "User list updated"
+msgstr "Kullanıcı listesi güncellendi"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "Kullanıcı Listeleri"
+
+#: src/view/com/auth/login/LoginForm.tsx:174
+#: src/view/com/auth/login/LoginForm.tsx:192
+msgid "Username or email address"
+msgstr "Kullanıcı adı veya e-posta adresi"
+
+#: src/view/screens/ProfileList.tsx:796
+msgid "Users"
+msgstr "Kullanıcılar"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "<0/> tarafından takip edilen kullanıcılar"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "\"{0}\" içindeki kullanıcılar"
+
+#: src/view/com/auth/create/Step2.tsx:243
+msgid "Verification code"
+msgstr "Doğrulama kodu"
+
+#: src/view/screens/Settings.tsx:892
+msgid "Verify email"
+msgstr "E-postayı doğrula"
+
+#: src/view/screens/Settings.tsx:917
+msgid "Verify my email"
+msgstr "E-postamı doğrula"
+
+#: src/view/screens/Settings.tsx:926
+msgid "Verify My Email"
+msgstr "E-postamı Doğrula"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "Yeni E-postayı Doğrula"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "E-postanızı Doğrulayın"
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "Video Oyunları"
+
+#: src/view/com/profile/ProfileHeader.tsx:701
+msgid "View {0}'s avatar"
+msgstr "{0}'ın avatarını görüntüle"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "Hata ayıklama girişini görüntüle"
+
+#: src/view/com/posts/FeedSlice.tsx:103
+msgid "View full thread"
+msgstr "Tam konuyu görüntüle"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:172
+msgid "View profile"
+msgstr "Profili görüntüle"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "Avatarı görüntüle"
+
+#: src/view/com/modals/LinkWarning.tsx:75
+msgid "Visit Site"
+msgstr "Siteyi Ziyaret Et"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
+#: src/view/com/modals/ContentFilteringSettings.tsx:254
+msgid "Warn"
+msgstr "Uyar"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+msgid "We also think you'll like \"For You\" by Skygaze:"
+msgstr "Ayrıca Skygaze tarafından \"Sana Özel\" beslemesini de beğeneceğinizi düşünüyoruz:"
+
+#: src/screens/Deactivated.tsx:134
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "Hesabınızın hazır olmasına {estimatedTime} tahmin ediyoruz."
+
+#: src/screens/Onboarding/StepFinished.tsx:93
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "Harika vakit geçirmenizi umuyoruz. Unutmayın, Bluesky:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "Takipçilerinizden gönderi kalmadı. İşte <0/>'den en son gönderiler."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:119
+msgid "We recommend our \"Discover\" feed:"
+msgstr "\"Keşfet\" beslememizi öneririz:"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:133
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "Bağlantı kuramadık. Hesabınızı kurmaya devam etmek için tekrar deneyin. Başarısız olmaya devam ederse bu akışı atlayabilirsiniz."
+
+#: src/screens/Deactivated.tsx:138
+msgid "We will let you know when your account is ready."
+msgstr "Hesabınız hazır olduğunda size bildireceğiz."
+
+#: src/view/com/modals/AppealLabel.tsx:48
+msgid "We'll look into your appeal promptly."
+msgstr "İtirazınıza hızlı bir şekilde bakacağız."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:138
+msgid "We'll use this to help customize your experience."
+msgstr "Bu, deneyiminizi özelleştirmenize yardımcı olmak için kullanılacak."
+
+#: src/view/com/auth/create/CreateAccount.tsx:123
+msgid "We're so excited to have you join us!"
+msgstr "Sizi aramızda görmekten çok mutluyuz!"
+
+#: src/view/screens/ProfileList.tsx:85
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "Üzgünüz, ancak bu listeyi çözemedik. Bu durum devam ederse, lütfen liste oluşturucu, @{handleOrDid} ile iletişime geçin."
+
+#: src/view/screens/Search/Search.tsx:253
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "Üzgünüz, ancak aramanız tamamlanamadı. Lütfen birkaç dakika içinde tekrar deneyin."
+
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "Üzgünüz! Aradığınız sayfayı bulamıyoruz."
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+msgid "Welcome to <0>Bluesky0>"
+msgstr "<0>Bluesky0>'e hoş geldiniz"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:130
+msgid "What are your interests?"
+msgstr "İlgi alanlarınız nelerdir?"
+
+#: src/view/com/modals/report/Modal.tsx:169
+msgid "What is the issue with this {collectionName}?"
+msgstr "Bu {collectionName} ile ilgili sorun nedir?"
+
+#: src/view/com/auth/SplashScreen.tsx:34 src/view/com/composer/Composer.tsx:279
+msgid "What's up?"
+msgstr "Nasılsınız?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "Bu gönderide hangi diller kullanılıyor?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "Algoritmik beslemelerinizde hangi dilleri görmek istersiniz?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "Kimler yanıtlayabilir"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+msgid "Wide"
+msgstr "Geniş"
+
+#: src/view/com/composer/Composer.tsx:415
+msgid "Write post"
+msgstr "Gönderi yaz"
+
+#: src/view/com/composer/Composer.tsx:278 src/view/com/composer/Prompt.tsx:33
+msgid "Write your reply"
+msgstr "Yanıtınızı yazın"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "Yazarlar"
+
+#: src/view/com/auth/create/Step2.tsx:263
+msgid "XXXXXX"
+msgstr "XXXXXX"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesHomeFeed.tsx:129
+#: src/view/screens/PreferencesHomeFeed.tsx:201
+#: src/view/screens/PreferencesHomeFeed.tsx:236
+#: src/view/screens/PreferencesHomeFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "Evet"
+
+#: src/screens/Deactivated.tsx:131
+msgid "You are in line."
+msgstr "Sıradasınız."
+
+#: 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 "Ayrıca takip edebileceğiniz yeni Özel Beslemeler keşfedebilirsiniz."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+msgid "You can change these settings later."
+msgstr "Bu ayarları daha sonra değiştirebilirsiniz."
+
+#: src/view/com/auth/login/Login.tsx:158
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+msgid "You can now sign in with your new password."
+msgstr "Artık yeni şifrenizle giriş yapabilirsiniz."
+
+#: 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 "Henüz hiç davet kodunuz yok! Bluesky'de biraz daha uzun süre kaldıktan sonra size bazı kodlar göndereceğiz."
+
+#: src/view/screens/SavedFeeds.tsx:102
+msgid "You don't have any pinned feeds."
+msgstr "Sabitlemiş beslemeniz yok."
+
+#: src/view/screens/Feeds.tsx:419
+msgid "You don't have any saved feeds!"
+msgstr "Kaydedilmiş beslemeniz yok!"
+
+#: src/view/screens/SavedFeeds.tsx:135
+msgid "You don't have any saved feeds."
+msgstr "Kaydedilmiş beslemeniz yok."
+
+#: src/view/com/post-thread/PostThread.tsx:406
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "Yazarı engellediniz veya yazar tarafından engellendiniz."
+
+#: src/view/com/modals/ModerationDetails.tsx:56
+msgid "You have blocked this user. You cannot view their content."
+msgstr "Bu kullanıcıyı engellediniz. İçeriklerini göremezsiniz."
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "Geçersiz bir kod girdiniz. XXXXX-XXXXX gibi görünmelidir."
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+msgid "You have muted this user."
+msgstr "Bu kullanıcıyı sessize aldınız."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:136
+msgid "You have no feeds."
+msgstr "Beslemeniz yok."
+
+#: src/view/com/lists/MyLists.tsx:89 src/view/com/lists/ProfileLists.tsx:140
+msgid "You have no lists."
+msgstr "Listeniz yok."
+
+#: 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 "Henüz hiçbir hesabı engellemediniz. Bir hesabı engellemek için, profilinize gidin ve hesaplarının menüsünden \"Hesabı engelle\" seçeneğini seçin."
+
+#: 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 "Henüz hiçbir uygulama şifresi oluşturmadınız. Aşağıdaki düğmeye basarak bir tane oluşturabilirsiniz."
+
+#: 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 "Henüz hiçbir hesabı sessize almadınız. Bir hesabı sessize almak için, profilinize gidin ve hesaplarının menüsünden \"Hesabı sessize al\" seçeneğini seçin."
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:170
+msgid "You must be 18 or older to enable adult content."
+msgstr "Yetişkin içeriği etkinleştirmek için 18 yaşında veya daha büyük olmalısınız."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+msgid "You must be 18 years or older to enable adult content"
+msgstr "Yetişkin içeriğini etkinleştirmek için 18 yaşında veya daha büyük olmalısınız"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:98
+msgid "You will no longer receive notifications for this thread"
+msgstr "Artık bu konu için bildirim almayacaksınız"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:101
+msgid "You will now receive notifications for this thread"
+msgstr "Artık bu konu için bildirim alacaksınız"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "Bir \"sıfırlama kodu\" içeren bir e-posta alacaksınız. Bu kodu buraya girin, ardından yeni şifrenizi girin."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:72
+msgid "You're in control"
+msgstr "Siz kontrol ediyorsunuz"
+
+#: src/screens/Deactivated.tsx:88 src/screens/Deactivated.tsx:89
+#: src/screens/Deactivated.tsx:104
+msgid "You're in line"
+msgstr "Sıradasınız"
+
+#: src/screens/Onboarding/StepFinished.tsx:90
+msgid "You're ready to go!"
+msgstr "Hazırsınız!"
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "Beslemenizin sonuna ulaştınız! Takip edebileceğiniz daha fazla hesap bulun."
+
+#: src/view/com/auth/create/Step1.tsx:67
+msgid "Your account"
+msgstr "Hesabınız"
+
+#: src/view/com/modals/DeleteAccount.tsx:67
+msgid "Your account has been deleted"
+msgstr "Hesabınız silindi"
+
+#: src/view/com/auth/create/Step1.tsx:182
+msgid "Your birth date"
+msgstr "Doğum tarihiniz"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "Seçiminiz kaydedilecek, ancak daha sonra ayarlarda değiştirilebilir."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+msgid "Your default feed is \"Following\""
+msgstr "Varsayılan beslemeniz \"Takip Edilenler\""
+
+#: src/view/com/auth/create/state.ts:153
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "E-postanız geçersiz gibi görünüyor."
+
+#: src/view/com/modals/Waitlist.tsx:109
+msgid "Your email has been saved! We'll be in touch soon."
+msgstr "E-postanız kaydedildi! Yakında sizinle iletişime geçeceğiz."
+
+#: 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 "E-postanız güncellendi ancak doğrulanmadı. Bir sonraki adım olarak, lütfen yeni e-postanızı doğrulayın."
+
+#: 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 "E-postanız henüz doğrulanmadı. Bu, önerdiğimiz önemli bir güvenlik adımıdır."
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "Takip ettiğiniz besleme boş! Neler olduğunu görmek için daha fazla kullanıcı takip edin."
+
+#: src/view/com/auth/create/Step3.tsx:45
+msgid "Your full handle will be"
+msgstr "Tam kullanıcı adınız"
+
+#: src/view/com/modals/ChangeHandle.tsx:270
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "Tam kullanıcı adınız <0>@{0}0> olacak"
+
+#: src/view/screens/Settings.tsx:430 src/view/shell/desktop/RightNav.tsx:137
+#: src/view/shell/Drawer.tsx:660
+msgid "Your invite codes are hidden when logged in using an App Password"
+msgstr "Uygulama Şifresi kullanarak giriş yaptığınızda davet kodlarınız gizlenir"
+
+#: src/view/com/modals/ChangePassword.tsx:155
+msgid "Your password has been changed successfully!"
+msgstr "Şifreniz başarıyla değiştirildi!"
+
+#: src/view/com/composer/Composer.tsx:267
+msgid "Your post has been published"
+msgstr "Gönderiniz yayınlandı"
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+#: 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 "Gönderileriniz, beğenileriniz ve engellemeleriniz herkese açıktır. Sessizlikleriniz özeldir."
+
+#: src/view/com/modals/SwitchAccount.tsx:84 src/view/screens/Settings.tsx:125
+msgid "Your profile"
+msgstr "Profiliniz"
+
+#: src/view/com/composer/Composer.tsx:266
+msgid "Your reply has been published"
+msgstr "Yanıtınız yayınlandı"
+
+#: src/view/com/auth/create/Step3.tsx:28
+msgid "Your user handle"
+msgstr "Kullanıcı adınız"
diff --git a/src/locale/locales/zh-TW/messages.po b/src/locale/locales/zh-TW/messages.po
new file mode 100644
index 0000000000..f337ca203c
--- /dev/null
+++ b/src/locale/locales/zh-TW/messages.po
@@ -0,0 +1,5965 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2024-03-20 15:50+0800\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: zh_TW\n"
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Frudrax Cheng \n"
+"Language-Team: Frudrax Cheng, Kuwa Lee, noeFly, snowleo208, Kisaragi Hiu, Yi-Jyun Pan, toto6038, cirx1e\n"
+"Plural-Forms: \n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(沒有郵件)"
+
+#: src/view/shell/desktop/RightNav.tsx:168
+#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
+#~ msgstr "{0} 個可用的邀請碼"
+
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "{following} following"
+msgstr "{following} 個跟隨中"
+
+#: src/view/shell/desktop/RightNav.tsx:151
+#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
+#~ msgstr "可用的邀請碼:{invitesAvailable} 個"
+
+#: src/view/screens/Settings.tsx:435
+#: src/view/shell/Drawer.tsx:664
+#~ msgid "{invitesAvailable} invite code available"
+#~ msgstr "{invitesAvailable} 個可用的邀請碼"
+
+#: src/view/screens/Settings.tsx:437
+#: src/view/shell/Drawer.tsx:666
+#~ msgid "{invitesAvailable} invite codes available"
+#~ msgstr "{invitesAvailable} 個可用的邀請碼"
+
+#: src/view/shell/Drawer.tsx:443
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} 個未讀"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> 個成員"
+
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/screens/Profile/Header/Metrics.tsx:46
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>個跟隨中1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>選擇你的0><1>推薦1><2>訊息流2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>跟隨一些0><1>推薦的1><2>使用者2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>歡迎來到0><1>Bluesky1>"
+
+#: src/screens/Profile/Header/Handle.tsx:42
+msgid "⚠Invalid Handle"
+msgstr "⚠無效的帳號代碼"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:45
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "內容警告已套用到這個{0}。"
+
+#: src/lib/hooks/useOTAUpdate.ts:16
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "新版本應用程式已發佈,請更新以繼續使用。"
+
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:648
+msgid "Access navigation links and settings"
+msgstr "存取導覽連結和設定"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+msgid "Access profile and other navigation links"
+msgstr "存取個人資料和其他導覽連結"
+
+#: src/view/com/modals/EditImage.tsx:299
+#: src/view/screens/Settings/index.tsx:470
+msgid "Accessibility"
+msgstr "協助工具"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "帳號"
+
+#: src/view/com/auth/login/LoginForm.tsx:169
+#: src/view/screens/Settings/index.tsx:327
+#: src/view/screens/Settings/index.tsx:743
+msgid "Account"
+msgstr "帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:139
+msgid "Account blocked"
+msgstr "已封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "已跟隨帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
+msgid "Account muted"
+msgstr "已靜音帳號"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:91
+msgid "Account Muted"
+msgstr "已靜音帳號"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:83
+msgid "Account Muted by List"
+msgstr "帳號已被列表靜音"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "帳號選項"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "已從快速存取中移除帳號"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:130
+#: src/view/com/profile/ProfileMenu.tsx:128
+msgid "Account unblocked"
+msgstr "已取消封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "已取消跟隨帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
+msgid "Account unmuted"
+msgstr "已取消靜音帳號"
+
+#: src/components/dialogs/MutedWords.tsx:165
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:827
+msgid "Add"
+msgstr "新增"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "新增內容警告"
+
+#: src/view/screens/ProfileList.tsx:817
+msgid "Add a user to this list"
+msgstr "將使用者新增至此列表"
+
+#: src/view/screens/Settings/index.tsx:402
+#: src/view/screens/Settings/index.tsx:411
+msgid "Add account"
+msgstr "新增帳號"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:116
+msgid "Add alt text"
+msgstr "新增替代文字"
+
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
+msgid "Add App Password"
+msgstr "新增應用程式專用密碼"
+
+#: src/view/com/modals/report/InputIssueDetails.tsx:41
+#: src/view/com/modals/report/Modal.tsx:191
+#~ msgid "Add details"
+#~ msgstr "新增細節"
+
+#: src/view/com/modals/report/Modal.tsx:194
+#~ msgid "Add details to report"
+#~ msgstr "補充回報詳細內容"
+
+#: src/view/com/composer/Composer.tsx:466
+msgid "Add link card"
+msgstr "新增連結卡片"
+
+#: src/view/com/composer/Composer.tsx:471
+msgid "Add link card:"
+msgstr "新增連結卡片:"
+
+#: src/components/dialogs/MutedWords.tsx:158
+msgid "Add mute word for configured settings"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:87
+msgid "Add muted words and tags"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:417
+msgid "Add the following DNS record to your domain:"
+msgstr "將以下 DNS 記錄新增到你的網域:"
+
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
+msgid "Add to Lists"
+msgstr "新增至列表"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:234
+msgid "Add to my feeds"
+msgstr "新增至自訂訊息流"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "已新增"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "新增至列表"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:108
+msgid "Added to my feeds"
+msgstr "新增至自訂訊息流"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "調整回覆要在你的訊息流顯示所需的最低喜歡數。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "成人內容"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:141
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "成人內容只能在網頁上<0/>啟用。"
+
+#: src/components/moderation/ModerationLabelPref.tsx:114
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:377
+#: src/view/screens/Settings/index.tsx:684
+msgid "Advanced"
+msgstr "詳細設定"
+
+#: src/view/screens/Feeds.tsx:666
+msgid "All the feeds you've saved, right in one place."
+msgstr "你已儲存的所有訊息流都集中在一處。"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
+#: src/view/com/modals/ChangePassword.tsx:170
+msgid "Already have a code?"
+msgstr "已經有重設碼了?"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+msgid "Already signed in as @{0}"
+msgstr "已以@{0}身份登入"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:315
+msgid "Alt text"
+msgstr "替代文字"
+
+#: 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 "替代文字為盲人和視覺受損的使用者描述圖片,並幫助所有人提供上下文。"
+
+#: 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."
+msgstr "一封電子郵件已發送至 {0}。請查閱郵件並在下方輸入驗證碼。"
+
+#: 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 "一封電子郵件已發送至先前填寫的電子郵件地址 {0}。請查閱郵件並在下方輸入驗證碼。"
+
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
+msgid "An issue occurred, please try again."
+msgstr "出現問題,請重試。"
+
+#: src/view/com/notifications/FeedItem.tsx:240
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "和"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "動物"
+
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "應用程式語言"
+
+#: src/view/screens/AppPasswords.tsx:223
+msgid "App password deleted"
+msgstr "應用程式專用密碼已刪除"
+
+#: src/view/com/modals/AddAppPasswords.tsx:134
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "應用程式專用密碼只能包含字母、數字、空格、破折號及底線。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:99
+msgid "App Password names must be at least 4 characters long."
+msgstr "應用程式專用密碼名稱必須至少為 4 個字元。"
+
+#: src/view/screens/Settings/index.tsx:695
+msgid "App password settings"
+msgstr "應用程式專用密碼設定"
+
+#: src/view/screens/Settings.tsx:650
+#~ msgid "App passwords"
+#~ msgstr "應用程式專用密碼"
+
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:704
+msgid "App Passwords"
+msgstr "應用程式專用密碼"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:134
+#: src/components/moderation/LabelsOnMeDialog.tsx:137
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:202
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:337
+#: src/view/com/util/forms/PostDropdownBtn.tsx:346
+#~ msgid "Appeal content warning"
+#~ msgstr "申訴內容警告"
+
+#: src/view/com/modals/AppealLabel.tsx:65
+#~ msgid "Appeal Content Warning"
+#~ msgstr "申訴內容警告"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:193
+msgid "Appeal submitted."
+msgstr ""
+
+#: src/view/com/util/moderation/LabelInfo.tsx:52
+#~ msgid "Appeal this decision"
+#~ msgstr "對此決定提出申訴"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:56
+#~ msgid "Appeal this decision."
+#~ msgstr "對此決定提出申訴。"
+
+#: src/view/screens/Settings/index.tsx:485
+msgid "Appearance"
+msgstr "外觀"
+
+#: src/view/screens/AppPasswords.tsx:265
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "你確定要刪除這個應用程式專用密碼「{name}」嗎?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:508
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "你確定要捨棄此草稿嗎?"
+
+#: src/components/dialogs/MutedWords.tsx:282
+msgid "Are you sure?"
+msgstr "你確定嗎?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "你確定嗎?此操作無法撤銷。"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "你正在使用 <0>{0}0> 書寫嗎?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "藝術"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "藝術作品或非情色的裸露。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/components/moderation/LabelsOnMeDialog.tsx:248
+#: src/screens/Profile/Header/Shell.tsx:97
+#: src/view/com/auth/create/CreateAccount.tsx:158
+#: src/view/com/auth/login/ChooseAccountForm.tsx:160
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
+#: src/view/com/auth/login/LoginForm.tsx:262
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
+#: src/view/com/util/ViewHeader.tsx:87
+msgid "Back"
+msgstr "返回"
+
+#: src/view/com/post-thread/PostThread.tsx:480
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "返回"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+msgid "Based on your interest in {interestsText}"
+msgstr "因為你對 {interestsText} 感興趣"
+
+#: src/view/screens/Settings/index.tsx:542
+msgid "Basics"
+msgstr "基礎資訊"
+
+#: src/components/dialogs/BirthDateSettings.tsx:107
+#: src/view/com/auth/create/Step1.tsx:227
+msgid "Birthday"
+msgstr "生日"
+
+#: src/view/screens/Settings/index.tsx:359
+msgid "Birthday:"
+msgstr "生日:"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "封鎖"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
+msgid "Block Account"
+msgstr "封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "封鎖帳號?"
+
+#: src/view/screens/ProfileList.tsx:530
+msgid "Block accounts"
+msgstr "封鎖帳號"
+
+#: src/view/screens/ProfileList.tsx:478
+#: src/view/screens/ProfileList.tsx:634
+msgid "Block list"
+msgstr "封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:629
+msgid "Block these accounts?"
+msgstr "封鎖這些帳號?"
+
+#: src/view/screens/ProfileList.tsx:320
+#~ msgid "Block this List"
+#~ msgstr "封鎖此列表"
+
+#: src/view/com/lists/ListCard.tsx:110
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:55
+msgid "Blocked"
+msgstr "已封鎖"
+
+#: src/screens/Moderation/index.tsx:269
+msgid "Blocked accounts"
+msgstr "已封鎖帳號"
+
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:107
+msgid "Blocked Accounts"
+msgstr "已封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:356
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。"
+
+#: 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 "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。你將不會看到他們所發佈的內容,同樣他們也無法查看你的內容。"
+
+#: src/view/com/post-thread/PostThread.tsx:313
+msgid "Blocked post."
+msgstr "已封鎖貼文。"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:631
+msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "封鎖是公開的。被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。"
+
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:97
+#: src/view/com/auth/SplashScreen.web.tsx:133
+msgid "Blog"
+msgstr "部落格"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
+#: src/view/com/auth/server-input/index.tsx:89
+#: src/view/com/auth/server-input/index.tsx:90
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/server-input/index.tsx:150
+msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
+msgstr "Bluesky 是一個開放的網路,你可以自行挑選託管服務提供商。現在,開發者也可以參與自訂託管服務的測試版本。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
+msgid "Bluesky is flexible."
+msgstr "Bluesky 非常靈活。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
+msgid "Bluesky is open."
+msgstr "Bluesky 保持開放。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
+msgid "Bluesky is public."
+msgstr "Bluesky 為公眾而生。"
+
+#: 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 "Bluesky 使用邀請制來打造更健康的社群環境。如果你不認識擁有邀請碼的人,你可以先填寫並加入候補清單,我們會儘快審核並發送邀請碼。"
+
+#: src/screens/Moderation/index.tsx:535
+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 "Bluesky 不會向未登入的使用者顯示你的個人資料和貼文。但其他應用可能不會遵照此請求,這無法確保你的帳號隱私。"
+
+#: src/view/com/modals/ServerInput.tsx:78
+#~ msgid "Bluesky.Social"
+#~ msgstr "Bluesky.Social"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "書籍"
+
+#: src/view/screens/Settings/index.tsx:893
+msgid "Build version {0} {1}"
+msgstr "建構版本號 {0} {1}"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:91
+#: src/view/com/auth/SplashScreen.web.tsx:128
+msgid "Business"
+msgstr "商務"
+
+#: src/view/com/modals/ServerInput.tsx:115
+#~ msgid "Button disabled. Input custom domain to proceed."
+#~ msgstr "按鈕已停用。請輸入自訂網域以繼續。"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "來自 —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "來自 {0}"
+
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "來自 {0}"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "來自 <0/>"
+
+#: src/view/com/auth/create/Policies.tsx:87
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "來自你"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+msgid "Camera"
+msgstr "相機"
+
+#: src/view/com/modals/AddAppPasswords.tsx:216
+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 個字元。"
+
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:116
+#: src/components/Prompt.tsx:118
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:316
+#: src/view/com/composer/Composer.tsx:321
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangeHandle.tsx:153
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:355
+#: src/view/com/modals/crop-image/CropImage.web.tsx:137
+#: src/view/com/modals/EditImage.tsx:323
+#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:87
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253
+#: src/view/screens/Search/Search.tsx:717
+#: src/view/shell/desktop/Search.tsx:239
+msgid "Cancel"
+msgstr "取消"
+
+#: src/view/com/modals/CreateOrEditList.tsx:360
+#: src/view/com/modals/DeleteAccount.tsx:156
+#: src/view/com/modals/DeleteAccount.tsx:234
+msgctxt "action"
+msgid "Cancel"
+msgstr "取消"
+
+#: src/view/com/modals/DeleteAccount.tsx:152
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Cancel account deletion"
+msgstr "取消刪除帳號"
+
+#: src/view/com/modals/ChangeHandle.tsx:149
+msgid "Cancel change handle"
+msgstr "取消修改帳號代碼"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+msgid "Cancel image crop"
+msgstr "取消裁剪圖片"
+
+#: src/view/com/modals/EditProfile.tsx:244
+msgid "Cancel profile editing"
+msgstr "取消編輯個人資料"
+
+#: src/view/com/modals/Repost.tsx:78
+msgid "Cancel quote post"
+msgstr "取消引用貼文"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Cancel search"
+msgstr "取消搜尋"
+
+#: src/view/com/modals/Waitlist.tsx:136
+#~ msgid "Cancel waitlist signup"
+#~ msgstr "取消候補清單註冊"
+
+#: src/view/com/modals/LinkWarning.tsx:88
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "變更"
+
+#: src/view/screens/Settings/index.tsx:353
+msgctxt "action"
+msgid "Change"
+msgstr "變更"
+
+#: src/view/screens/Settings/index.tsx:716
+msgid "Change handle"
+msgstr "變更帳號代碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:161
+#: src/view/screens/Settings/index.tsx:727
+msgid "Change Handle"
+msgstr "變更帳號代碼"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "變更我的電子郵件地址"
+
+#: src/view/screens/Settings/index.tsx:754
+msgid "Change password"
+msgstr "變更密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:765
+msgid "Change Password"
+msgstr "變更密碼"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "變更貼文的發佈語言至 {0}"
+
+#: src/view/screens/Settings/index.tsx:733
+#~ msgid "Change your Bluesky password"
+#~ msgstr "變更你的 Bluesky 密碼"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "變更你的電子郵件地址"
+
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
+msgid "Check my status"
+msgstr "檢查我的狀態"
+
+#: 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 "來看看一些推薦的訊息流吧。點擊 + 將它們新增到你的釘選訊息流清單中。"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "來看看一些推薦的使用者吧。跟隨人來查看類似的使用者。"
+
+#: src/view/com/modals/DeleteAccount.tsx:169
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "查看寄送至你電子郵件地址的確認郵件,然後在下方輸入收到的驗證碼:"
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "選擇「所有人」或「沒有人」"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "選擇一個新的 Bluesky 使用者名稱或重新建立"
+
+#: src/view/com/auth/server-input/index.tsx:79
+msgid "Choose Service"
+msgstr "選擇服務"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "選擇你的自訂訊息流所使用的演算法。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
+msgid "Choose the algorithms that power your experience with custom feeds."
+msgstr "選擇你的自訂訊息流體驗所使用的演算法。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+msgid "Choose your main feeds"
+msgstr "選擇你的主要訊息流"
+
+#: src/view/com/auth/create/Step1.tsx:196
+msgid "Choose your password"
+msgstr "選擇你的密碼"
+
+#: src/view/screens/Settings/index.tsx:868
+msgid "Clear all legacy storage data"
+msgstr "清除所有舊儲存資料"
+
+#: src/view/screens/Settings/index.tsx:871
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "清除所有舊儲存資料(並重啟)"
+
+#: src/view/screens/Settings/index.tsx:880
+msgid "Clear all storage data"
+msgstr "清除所有資料"
+
+#: src/view/screens/Settings/index.tsx:883
+msgid "Clear all storage data (restart after this)"
+msgstr "清除所有資料(並重啟)"
+
+#: src/view/com/util/forms/SearchInput.tsx:88
+#: src/view/screens/Search/Search.tsx:698
+msgid "Clear search query"
+msgstr "清除搜尋記錄"
+
+#: src/view/screens/Settings/index.tsx:869
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:881
+msgid "Clears all storage data"
+msgstr ""
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "點擊這裡"
+
+#: src/components/TagMenu/index.web.tsx:138
+msgid "Click here to open tag menu for {tag}"
+msgstr ""
+
+#: src/components/RichText.tsx:191
+msgid "Click here to open tag menu for #{tag}"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "氣象"
+
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+msgid "Close"
+msgstr "關閉"
+
+#: src/components/Dialog/index.web.tsx:84
+#: src/components/Dialog/index.web.tsx:198
+msgid "Close active dialog"
+msgstr "關閉打開的對話框"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "關閉警告"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
+msgid "Close bottom drawer"
+msgstr "關閉底部抽屜"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
+msgid "Close image"
+msgstr "關閉圖片"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:129
+msgid "Close image viewer"
+msgstr "關閉圖片檢視器"
+
+#: src/view/shell/index.web.tsx:55
+msgid "Close navigation footer"
+msgstr "關閉導覽頁腳"
+
+#: src/components/Menu/index.tsx:207
+#: src/components/TagMenu/index.tsx:262
+msgid "Close this dialog"
+msgstr ""
+
+#: src/view/shell/index.web.tsx:56
+msgid "Closes bottom navigation bar"
+msgstr "關閉底部導覽列"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "關閉密碼更新警告"
+
+#: src/view/com/composer/Composer.tsx:318
+msgid "Closes post composer and discards post draft"
+msgstr "關閉貼文編輯頁並捨棄草稿"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
+msgid "Closes viewer for header image"
+msgstr "關閉標題圖片檢視器"
+
+#: src/view/com/notifications/FeedItem.tsx:321
+msgid "Collapses list of users for a given notification"
+msgstr "折疊指定通知的使用者清單"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "喜劇"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "漫畫"
+
+#: src/Navigation.tsx:241
+#: src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "社群準則"
+
+#: src/screens/Onboarding/StepFinished.tsx:148
+msgid "Complete onboarding and start using your account"
+msgstr "完成初始設定並開始使用你的帳號"
+
+#: src/view/com/auth/create/Step3.tsx:73
+msgid "Complete the challenge"
+msgstr "完成驗證"
+
+#: src/view/com/composer/Composer.tsx:437
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "撰寫貼文的長度最多為 {MAX_GRAPHEME_LENGTH} 個字元"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "撰寫回覆"
+
+#: src/components/moderation/GlobalModerationLabelPref.tsx:69
+#: src/components/moderation/ModerationLabelPref.tsx:149
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
+msgid "Configure content filtering setting for category: {0}"
+msgstr "調整類別的內容過濾設定:{0}"
+
+#: src/components/moderation/ModerationLabelPref.tsx:116
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:152
+#: src/components/Prompt.tsx:155
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesFollowingFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "確認"
+
+#: src/view/com/modals/Confirm.tsx:75
+#: src/view/com/modals/Confirm.tsx:78
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "確認"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "確認更改"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+msgid "Confirm content language settings"
+msgstr "確認內容語言設定"
+
+#: src/view/com/modals/DeleteAccount.tsx:220
+msgid "Confirm delete account"
+msgstr "確認刪除帳號"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:156
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "確認你的年齡以顯示成人內容。"
+
+#: src/screens/Moderation/index.tsx:303
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:294
+msgid "Confirm your birthdate"
+msgstr ""
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:176
+#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "驗證碼"
+
+#: src/view/com/modals/Waitlist.tsx:120
+#~ msgid "Confirms signing up {email} to the waitlist"
+#~ msgstr "確認將 {email} 註冊到候補列表"
+
+#: src/view/com/auth/create/CreateAccount.tsx:193
+#: src/view/com/auth/login/LoginForm.tsx:281
+msgid "Connecting..."
+msgstr "連線中…"
+
+#: src/view/com/auth/create/CreateAccount.tsx:213
+msgid "Contact support"
+msgstr "聯絡支援"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
+#: src/view/screens/Moderation.tsx:83
+#~ msgid "Content filtering"
+#~ msgstr "內容過濾"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:44
+#~ msgid "Content Filtering"
+#~ msgstr "內容過濾"
+
+#: src/screens/Moderation/index.tsx:287
+msgid "Content filters"
+msgstr "內容過濾"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "內容語言"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:76
+#: src/lib/moderation/useModerationCauseDescription.ts:75
+msgid "Content Not Available"
+msgstr "內容不可用"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:47
+#: src/components/moderation/ScreenHider.tsx:100
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
+msgid "Content Warning"
+msgstr "內容警告"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "內容警告"
+
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
+#: src/screens/Onboarding/StepFollowingFeed.tsx:153
+#: src/screens/Onboarding/StepInterests/index.tsx:248
+#: src/screens/Onboarding/StepModeration/index.tsx:102
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
+msgid "Continue"
+msgstr "繼續"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:150
+#: src/screens/Onboarding/StepInterests/index.tsx:245
+#: src/screens/Onboarding/StepModeration/index.tsx:99
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+msgid "Continue to next step"
+msgstr "繼續下一步"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+msgid "Continue to the next step"
+msgstr "繼續下一步"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+msgid "Continue to the next step without following any accounts"
+msgstr "繼續下一步,不跟隨任何帳號"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "烹飪"
+
+#: src/view/com/modals/AddAppPasswords.tsx:195
+#: src/view/com/modals/InviteCodes.tsx:182
+msgid "Copied"
+msgstr "已複製"
+
+#: src/view/screens/Settings/index.tsx:251
+msgid "Copied build version to clipboard"
+msgstr "已複製建構版本號至剪貼簿"
+
+#: src/view/com/modals/AddAppPasswords.tsx:76
+#: src/view/com/modals/ChangeHandle.tsx:327
+#: src/view/com/modals/InviteCodes.tsx:152
+#: src/view/com/util/forms/PostDropdownBtn.tsx:158
+msgid "Copied to clipboard"
+msgstr "已複製至剪貼簿"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copies app password"
+msgstr "複製應用程式專用密碼"
+
+#: src/view/com/modals/AddAppPasswords.tsx:188
+msgid "Copy"
+msgstr "複製"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Copy {0}"
+msgstr "複製 {0}"
+
+#: src/view/screens/ProfileList.tsx:388
+msgid "Copy link to list"
+msgstr "複製列表連結"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+msgid "Copy link to post"
+msgstr "複製貼文連結"
+
+#: src/view/com/profile/ProfileHeader.tsx:295
+#~ msgid "Copy link to profile"
+#~ msgstr "複製個人資料連結"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+msgid "Copy post text"
+msgstr "複製貼文文字"
+
+#: src/Navigation.tsx:246
+#: src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "著作權政策"
+
+#: src/view/screens/ProfileFeed.tsx:102
+msgid "Could not load feed"
+msgstr "無法載入訊息流"
+
+#: src/view/screens/ProfileList.tsx:907
+msgid "Could not load list"
+msgstr "無法載入列表"
+
+#: src/view/com/auth/create/Step2.tsx:91
+#~ msgid "Country"
+#~ msgstr "國家"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:64
+#: src/view/com/auth/SplashScreen.tsx:73
+#: src/view/com/auth/SplashScreen.web.tsx:81
+msgid "Create a new account"
+msgstr "建立新帳號"
+
+#: src/view/screens/Settings/index.tsx:403
+msgid "Create a new Bluesky account"
+msgstr "建立新的 Bluesky 帳號"
+
+#: src/view/com/auth/create/CreateAccount.tsx:133
+msgid "Create Account"
+msgstr "建立帳號"
+
+#: src/view/com/modals/AddAppPasswords.tsx:226
+msgid "Create App Password"
+msgstr "建立應用程式專用密碼"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
+#: src/view/com/auth/SplashScreen.tsx:68
+msgid "Create new account"
+msgstr "建立新帳號"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
+msgid "Created {0}"
+msgstr "{0} 已建立"
+
+#: src/view/screens/ProfileFeed.tsx:616
+#~ msgid "Created by <0/>"
+#~ msgstr "由 <0/> 建立"
+
+#: src/view/screens/ProfileFeed.tsx:614
+#~ msgid "Created by you"
+#~ msgstr "由你建立"
+
+#: src/view/com/composer/Composer.tsx:468
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "建立帶有縮圖的卡片。該卡片連結到 {url}"
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "文化"
+
+#: src/view/com/auth/server-input/index.tsx:95
+#: src/view/com/auth/server-input/index.tsx:96
+msgid "Custom"
+msgstr "自訂"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Custom domain"
+msgstr "自訂網域"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#: src/view/screens/Feeds.tsx:692
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "由社群打造的自訂訊息流帶來新鮮體驗,協助你找到所愛內容。"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "自訂外部網站的媒體。"
+
+#: src/view/screens/Settings.tsx:687
+#~ msgid "Danger Zone"
+#~ msgstr "危險區域"
+
+#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:530
+msgid "Dark"
+msgstr "深黑"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "深色模式"
+
+#: src/view/screens/Settings/index.tsx:517
+msgid "Dark Theme"
+msgstr "深色主題"
+
+#: src/view/screens/Settings/index.tsx:841
+msgid "Debug Moderation"
+msgstr ""
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "除錯面板"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:613
+msgid "Delete"
+msgstr "刪除"
+
+#: src/view/screens/Settings/index.tsx:796
+msgid "Delete account"
+msgstr "刪除帳號"
+
+#: src/view/com/modals/DeleteAccount.tsx:87
+msgid "Delete Account"
+msgstr "刪除帳號"
+
+#: src/view/screens/AppPasswords.tsx:239
+msgid "Delete app password"
+msgstr "刪除應用程式專用密碼"
+
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "刪除應用程式專用密碼?"
+
+#: src/view/screens/ProfileList.tsx:415
+msgid "Delete List"
+msgstr "刪除列表"
+
+#: src/view/com/modals/DeleteAccount.tsx:223
+msgid "Delete my account"
+msgstr "刪除我的帳號"
+
+#: src/view/screens/Settings.tsx:706
+#~ msgid "Delete my account…"
+#~ msgstr "刪除我的帳號…"
+
+#: src/view/screens/Settings/index.tsx:808
+msgid "Delete My Account…"
+msgstr "刪除我的帳號…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:302
+#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+msgid "Delete post"
+msgstr "刪除貼文"
+
+#: src/view/screens/ProfileList.tsx:608
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+msgid "Delete this post?"
+msgstr "刪除這條貼文?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+msgid "Deleted"
+msgstr "已刪除"
+
+#: src/view/com/post-thread/PostThread.tsx:305
+msgid "Deleted post."
+msgstr "已刪除貼文。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:300
+#: src/view/com/modals/CreateOrEditList.tsx:321
+#: src/view/com/modals/EditProfile.tsx:198
+#: src/view/com/modals/EditProfile.tsx:210
+msgid "Description"
+msgstr "描述"
+
+#: src/view/screens/Settings.tsx:760
+#~ msgid "Developer Tools"
+#~ msgstr "開發者工具"
+
+#: src/view/com/composer/Composer.tsx:217
+msgid "Did you want to say anything?"
+msgstr "有什麼想說的嗎?"
+
+#: src/view/screens/Settings/index.tsx:523
+msgid "Dim"
+msgstr "暗淡"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:343
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:510
+msgid "Discard"
+msgstr "捨棄"
+
+#: src/view/com/composer/Composer.tsx:145
+#~ msgid "Discard draft"
+#~ msgstr "捨棄草稿"
+
+#: src/view/com/composer/Composer.tsx:507
+msgid "Discard draft?"
+msgstr "捨棄草稿?"
+
+#: src/screens/Moderation/index.tsx:520
+#: src/screens/Moderation/index.tsx:524
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "鼓勵應用程式不要向未登入使用者顯示我的帳號"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "探索新的自訂訊息流"
+
+#: src/view/screens/Feeds.tsx:473
+#~ msgid "Discover new feeds"
+#~ msgstr "探索新的訊息流"
+
+#: src/view/screens/Feeds.tsx:689
+msgid "Discover New Feeds"
+msgstr "探索新的訊息流"
+
+#: src/view/com/modals/EditProfile.tsx:192
+msgid "Display name"
+msgstr "顯示名稱"
+
+#: src/view/com/modals/EditProfile.tsx:180
+msgid "Display Name"
+msgstr "顯示名稱"
+
+#: src/view/com/modals/ChangeHandle.tsx:398
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:482
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:489
+msgid "Domain verified!"
+msgstr "網域已驗證!"
+
+#: src/view/com/auth/create/Step1.tsx:170
+#~ msgid "Don't have an invite code?"
+#~ msgstr "沒有邀請碼?"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/auth/server-input/index.tsx:165
+#: src/view/com/auth/server-input/index.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/view/com/modals/AltImage.tsx:139
+#: src/view/com/modals/crop-image/CropImage.web.tsx:152
+#: src/view/com/modals/InviteCodes.tsx:80
+#: src/view/com/modals/InviteCodes.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:95
+msgid "Done"
+msgstr "完成"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
+#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "完成"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+msgid "Done{extraText}"
+msgstr "完成{extraText}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+msgid "Double tap to sign in"
+msgstr "雙擊以登入"
+
+#: src/view/screens/Settings/index.tsx:755
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "下載 Bluesky 帳號資料(存放庫)"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:59
+#: src/view/screens/Settings/ExportCarDialog.tsx:63
+msgid "Download CAR file"
+msgstr "下載 CAR 檔案"
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:249
+msgid "Drop to add images"
+msgstr "拖放即可新增圖片"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "受 Apple 政策限制,成人內容只能在完成註冊後在網頁端啟用顯示。"
+
+#: src/view/com/modals/ChangeHandle.tsx:257
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:185
+msgid "e.g. Alice Roberts"
+msgstr "例如:張藍天"
+
+#: src/view/com/modals/ChangeHandle.tsx:381
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:203
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "例如:藝術家、愛狗人士和狂熱讀者。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:283
+msgid "e.g. Great Posters"
+msgstr "例如:優秀的發文者"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Spammers"
+msgstr "例如:垃圾內容製造者"
+
+#: src/view/com/modals/CreateOrEditList.tsx:312
+msgid "e.g. The posters who never miss."
+msgstr "例如:絕對不容錯過的發文者。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "例如:張貼廣告回覆的使用者。"
+
+#: src/view/com/modals/InviteCodes.tsx:96
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "每個邀請碼僅能使用一次。你將定期收到更多的邀請碼。"
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "編輯"
+
+#: src/view/com/util/UserAvatar.tsx:299
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:207
+msgid "Edit image"
+msgstr "編輯圖片"
+
+#: src/view/screens/ProfileList.tsx:403
+msgid "Edit list details"
+msgstr "編輯列表詳情"
+
+#: src/view/com/modals/CreateOrEditList.tsx:250
+msgid "Edit Moderation List"
+msgstr "編輯管理列表"
+
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:434
+#: src/view/screens/SavedFeeds.tsx:84
+msgid "Edit My Feeds"
+msgstr "編輯自訂訊息流"
+
+#: src/view/com/modals/EditProfile.tsx:152
+msgid "Edit my profile"
+msgstr "編輯我的個人資料"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:172
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:161
+msgid "Edit profile"
+msgstr "編輯個人資料"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:175
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:164
+msgid "Edit Profile"
+msgstr "編輯個人資料"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:62
+#: src/view/screens/Feeds.tsx:355
+msgid "Edit Saved Feeds"
+msgstr "編輯已儲存的訊息流"
+
+#: src/view/com/modals/CreateOrEditList.tsx:245
+msgid "Edit User List"
+msgstr "編輯使用者列表"
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Edit your display name"
+msgstr "編輯你的顯示名稱"
+
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Edit your profile description"
+msgstr "編輯你的帳號描述"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "教育"
+
+#: src/view/com/auth/create/Step1.tsx:176
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/view/com/modals/ChangeEmail.tsx:141
+msgid "Email"
+msgstr "電子郵件"
+
+#: src/view/com/auth/create/Step1.tsx:167
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+msgid "Email address"
+msgstr "電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "電子郵件已更新"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "電子郵件已更新"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "電子郵件已驗證"
+
+#: src/view/screens/Settings/index.tsx:331
+msgid "Email:"
+msgstr "電子郵件:"
+
+#: src/view/com/modals/EmbedConsent.tsx:113
+msgid "Enable {0} only"
+msgstr "僅啟用 {0}"
+
+#: src/screens/Moderation/index.tsx:331
+msgid "Enable adult content"
+msgstr "顯示成人內容"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "顯示成人內容"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
+msgid "Enable adult content in your feeds"
+msgstr "允許在你的訊息流中出現成人內容"
+
+#: src/view/com/modals/EmbedConsent.tsx:97
+msgid "Enable External Media"
+msgstr "啟用外部媒體"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "啟用媒體播放器"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "啟用此設定來只顯示你跟隨的人之間的回覆。"
+
+#: src/screens/Moderation/index.tsx:341
+msgid "Enabled"
+msgstr "啟用"
+
+#: src/screens/Profile/Sections/Feed.tsx:84
+msgid "End of feed"
+msgstr "訊息流的結尾"
+
+#: src/view/com/modals/AddAppPasswords.tsx:166
+msgid "Enter a name for this App Password"
+msgstr "輸入此應用程式專用密碼的名稱"
+
+#: src/components/dialogs/MutedWords.tsx:100
+#: src/components/dialogs/MutedWords.tsx:101
+msgid "Enter a word or tag"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "輸入驗證碼"
+
+#: src/view/com/modals/ChangePassword.tsx:153
+msgid "Enter the code you received to change your password."
+msgstr "輸入你收到的驗證碼以更改密碼。"
+
+#: src/view/com/modals/ChangeHandle.tsx:371
+msgid "Enter the domain you want to use"
+msgstr "輸入你想使用的網域"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+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 "輸入你用於建立帳號的電子郵件。我們將向你發送重設碼,以便你設定新密碼。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:108
+#: src/view/com/auth/create/Step1.tsx:228
+msgid "Enter your birth date"
+msgstr "輸入你的出生日期"
+
+#: src/view/com/modals/Waitlist.tsx:78
+#~ msgid "Enter your email"
+#~ msgstr "輸入你的電子郵件地址"
+
+#: src/view/com/auth/create/Step1.tsx:172
+msgid "Enter your email address"
+msgstr "輸入你的電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "請在上方輸入你的新電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "請在下方輸入你的新電子郵件地址。"
+
+#: src/view/com/auth/create/Step2.tsx:188
+#~ msgid "Enter your phone number"
+#~ msgstr "輸入你的手機號碼"
+
+#: src/view/com/auth/login/Login.tsx:99
+msgid "Enter your username and password"
+msgstr "輸入你的使用者名稱和密碼"
+
+#: src/view/com/auth/create/Step3.tsx:67
+msgid "Error receiving captcha response."
+msgstr "Captcha 給出了錯誤的回應。"
+
+#: src/view/screens/Search/Search.tsx:110
+msgid "Error:"
+msgstr "錯誤:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "所有人"
+
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:231
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Exits handle change process"
+msgstr "離開修改帳號代碼流程"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
+msgid "Exits image view"
+msgstr "離開圖片檢視器"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:236
+msgid "Exits inputting search query"
+msgstr "離開搜尋字詞輸入"
+
+#: src/view/com/modals/Waitlist.tsx:138
+#~ msgid "Exits signing up for waitlist with {email}"
+#~ msgstr "將 {email} 從候補列表中移除"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:183
+msgid "Expand alt text"
+msgstr "展開替代文字"
+
+#: 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 "展開或摺疊你要回覆的完整貼文"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:777
+msgid "Export my data"
+msgstr "匯出我的資料"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:44
+#: src/view/screens/Settings/index.tsx:788
+msgid "Export My Data"
+msgstr "匯出我的資料"
+
+#: src/view/com/modals/EmbedConsent.tsx:64
+msgid "External Media"
+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 "外部媒體可能允許網站收集有關你和你裝置的信息。在你按下「播放」按鈕之前,將不會發送或請求任何外部信息。"
+
+#: src/Navigation.tsx:275
+#: src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings/index.tsx:677
+msgid "External Media Preferences"
+msgstr "外部媒體偏好設定"
+
+#: src/view/screens/Settings/index.tsx:668
+msgid "External media settings"
+msgstr "外部媒體設定"
+
+#: src/view/com/modals/AddAppPasswords.tsx:115
+#: src/view/com/modals/AddAppPasswords.tsx:119
+msgid "Failed to create app password."
+msgstr "建立應用程式專用密碼失敗。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:206
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "無法建立列表。請檢查你的網路連線並重試。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:125
+msgid "Failed to delete post, please try again"
+msgstr "無法刪除貼文,請重試"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+msgid "Failed to load recommended feeds"
+msgstr "無法載入推薦訊息流"
+
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
+msgid "Feed"
+msgstr "訊息流"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:218
+msgid "Feed by {0}"
+msgstr "{0} 建立的訊息流"
+
+#: src/view/screens/Feeds.tsx:605
+msgid "Feed offline"
+msgstr "訊息流已離線"
+
+#: src/view/com/feeds/FeedPage.tsx:143
+#~ msgid "Feed Preferences"
+#~ msgstr "訊息流偏好設定"
+
+#: src/view/shell/desktop/RightNav.tsx:61
+#: src/view/shell/Drawer.tsx:314
+msgid "Feedback"
+msgstr "意見回饋"
+
+#: src/Navigation.tsx:464
+#: src/view/screens/Feeds.tsx:419
+#: src/view/screens/Feeds.tsx:524
+#: src/view/screens/Profile.tsx:192
+#: src/view/shell/bottom-bar/BottomBar.tsx:183
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:479
+#: src/view/shell/Drawer.tsx:480
+msgid "Feeds"
+msgstr "訊息流"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
+#~ msgstr "訊息流由使用者和組織建立,結合演算法為你推薦可能喜歡的內容,可為你帶來不一樣的體驗。"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "訊息流由使用者建立並管理。選擇一些你覺得有趣的訊息流。"
+
+#: src/view/screens/SavedFeeds.tsx:156
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "訊息流是使用者用一點程式技能建立的自訂演算法。更多資訊請見 <0/>。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+msgid "Feeds can be topical as well!"
+msgstr "訊息流也可以圍繞某些話題!"
+
+#: src/view/com/modals/ChangeHandle.tsx:482
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Finalizing"
+msgstr "最終確定"
+
+#: 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 "尋找一些要跟隨的帳號"
+
+#: src/view/screens/Search/Search.tsx:441
+msgid "Find users on Bluesky"
+msgstr "在 Bluesky 上尋找使用者"
+
+#: src/view/screens/Search/Search.tsx:439
+msgid "Find users with the search tool on the right"
+msgstr "使用右側的搜尋工具尋找使用者"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
+msgid "Finding similar accounts..."
+msgstr "正在尋找相似的帳號…"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:111
+msgid "Fine-tune the content you see on your Following feed."
+msgstr ""
+
+#: src/view/screens/PreferencesHomeFeed.tsx:111
+#~ msgid "Fine-tune the content you see on your home screen."
+#~ msgstr "調整你在首頁上所看到的內容。"
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "調整討論主題。"
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "健康"
+
+#: src/screens/Onboarding/StepFinished.tsx:131
+msgid "Flexible"
+msgstr "靈活"
+
+#: src/view/com/modals/EditImage.tsx:115
+msgid "Flip horizontal"
+msgstr "水平翻轉"
+
+#: src/view/com/modals/EditImage.tsx:120
+#: src/view/com/modals/EditImage.tsx:287
+msgid "Flip vertically"
+msgstr "垂直翻轉"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:229
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:139
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+msgid "Follow"
+msgstr "跟隨"
+
+#: src/view/com/profile/FollowButton.tsx:69
+msgctxt "action"
+msgid "Follow"
+msgstr "跟隨"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:214
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:125
+msgid "Follow {0}"
+msgstr "跟隨 {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "跟隨帳號"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+msgid "Follow All"
+msgstr "跟隨所有"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+msgid "Follow selected accounts and continue to the next step"
+msgstr "跟隨選擇的使用者並繼續下一步"
+
+#: 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 "跟隨一些使用者以開始,我們可以根據你感興趣的使用者向你推薦更多相似使用者。"
+
+#: src/view/com/profile/ProfileCard.tsx:216
+msgid "Followed by {0}"
+msgstr "由 {0} 跟隨"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "已跟隨的使用者"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:154
+msgid "Followed users only"
+msgstr "僅限已跟隨的使用者"
+
+#: src/view/com/notifications/FeedItem.tsx:170
+msgid "followed you"
+msgstr "已跟隨"
+
+#: src/view/com/profile/ProfileFollowers.tsx:109
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "跟隨者"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:227
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:139
+#: src/view/com/profile/ProfileFollows.tsx:108
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "跟隨中"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:89
+msgid "Following {0}"
+msgstr "跟隨中:{0}"
+
+#: src/view/screens/Settings/index.tsx:553
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:562
+msgid "Following Feed Preferences"
+msgstr ""
+
+#: src/screens/Profile/Header/Handle.tsx:24
+msgid "Follows you"
+msgstr "跟隨你"
+
+#: src/view/com/profile/ProfileCard.tsx:141
+msgid "Follows You"
+msgstr "跟隨你"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "食物"
+
+#: src/view/com/modals/DeleteAccount.tsx:111
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "為了保護你的帳號安全,我們需要將驗證碼發送到你的電子郵件地址。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:209
+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 "為了保護你的帳號安全,你將無法再次查看此內容。如果你丟失了此密碼,你將需要產生一個新密碼。"
+
+#: src/view/com/auth/login/LoginForm.tsx:244
+msgid "Forgot"
+msgstr "忘記"
+
+#: src/view/com/auth/login/LoginForm.tsx:241
+msgid "Forgot password"
+msgstr "忘記密碼"
+
+#: src/view/com/auth/login/Login.tsx:127
+#: src/view/com/auth/login/Login.tsx:143
+msgid "Forgot Password"
+msgstr "忘記密碼"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:108
+#: src/screens/Hashtag.tsx:148
+msgid "From @{sanitizedAuthor}"
+msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:179
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "來自 <0/>"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "相簿"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "開始"
+
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:144
+#: src/components/moderation/ScreenHider.tsx:153
+#: src/view/com/auth/LoggedOut.tsx:81
+#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:111
+#: src/view/screens/ProfileList.tsx:916
+#: src/view/shell/desktop/LeftNav.tsx:108
+msgid "Go back"
+msgstr "返回"
+
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:116
+#: src/view/screens/ProfileList.tsx:921
+msgid "Go Back"
+msgstr "返回"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:74
+#: src/components/ReportDialog/SubmitView.tsx:104
+#: src/screens/Onboarding/Layout.tsx:104
+#: src/screens/Onboarding/Layout.tsx:193
+msgid "Go back to previous step"
+msgstr "返回上一步"
+
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:748
+#: src/view/shell/desktop/Search.tsx:263
+msgid "Go to @{queryMaybeHandle}"
+msgstr "前往 @{queryMaybeHandle}"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
+#: src/view/com/auth/login/LoginForm.tsx:291
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
+#: src/view/com/modals/ChangePassword.tsx:167
+msgid "Go to next"
+msgstr "前往下一步"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:265
+msgid "Handle"
+msgstr "帳號代碼"
+
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
+msgid "Hashtag"
+msgstr ""
+
+#: src/components/RichText.tsx:188
+#~ msgid "Hashtag: {tag}"
+#~ msgstr ""
+
+#: src/components/RichText.tsx:190
+msgid "Hashtag: #{tag}"
+msgstr ""
+
+#: src/view/com/auth/create/CreateAccount.tsx:208
+msgid "Having trouble?"
+msgstr "遇到問題?"
+
+#: src/view/shell/desktop/RightNav.tsx:90
+#: src/view/shell/Drawer.tsx:324
+msgid "Help"
+msgstr "幫助"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+msgid "Here are some accounts for you to follow"
+msgstr "這裡有一些你可以跟隨的帳號"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "這裡有一些熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "這裡有一些根據您的興趣({interestsText})所推薦的熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:153
+msgid "Here is your app password."
+msgstr "這是你的應用程式專用密碼。"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/GlobalModerationLabelPref.tsx:43
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:328
+msgid "Hide"
+msgstr "隱藏"
+
+#: src/view/com/notifications/FeedItem.tsx:329
+msgctxt "action"
+msgid "Hide"
+msgstr "隱藏"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:276
+#: src/view/com/util/forms/PostDropdownBtn.tsx:278
+msgid "Hide post"
+msgstr "隱藏貼文"
+
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
+msgid "Hide the content"
+msgstr "隱藏內容"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+msgid "Hide this post?"
+msgstr "隱藏這則貼文?"
+
+#: src/view/com/notifications/FeedItem.tsx:319
+msgid "Hide user list"
+msgstr "隱藏使用者列表"
+
+#: src/view/com/profile/ProfileHeader.tsx:487
+#~ msgid "Hides posts from {0} in your feed"
+#~ 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."
+msgstr "唔,與訊息流伺服器連線時發生了某種問題。請告訴該訊息流的擁有者這個問題。"
+
+#: 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 "唔,訊息流伺服器似乎設置錯誤。請告訴該訊息流的擁有者這個問題。"
+
+#: 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 "唔,訊息流伺服器似乎已離線。請告訴該訊息流的擁有者這個問題。"
+
+#: 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 "唔,訊息流伺服器給出了錯誤的回應。請告訴該訊息流的擁有者這個問題。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "唔,我們無法找到這個訊息流,它可能已被刪除。"
+
+#: src/screens/Moderation/index.tsx:61
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:454
+#: src/view/shell/bottom-bar/BottomBar.tsx:139
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:401
+#: src/view/shell/Drawer.tsx:402
+msgid "Home"
+msgstr "首頁"
+
+#: src/Navigation.tsx:247
+#: src/view/com/pager/FeedsTabBarMobile.tsx:123
+#: src/view/screens/PreferencesHomeFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:543
+#~ msgid "Home Feed Preferences"
+#~ msgstr "首頁訊息流偏好"
+
+#: src/view/com/modals/ChangeHandle.tsx:421
+msgid "Host:"
+msgstr ""
+
+#: src/view/com/auth/create/Step1.tsx:75
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:280
+msgid "Hosting provider"
+msgstr "托管服務提供商"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "我們該如何開啟此連結?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "我有驗證碼"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "我有驗證碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:283
+msgid "I have my own domain"
+msgstr "我擁有自己的網域"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:185
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "替代文字過長時,切換替代文字的展開狀態"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "若不勾選,則預設為全年齡向。"
+
+#: src/view/com/auth/create/Policies.tsx:91
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:610
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "如果你想更改密碼,我們將向你發送一個驗證碼以確認這是你的帳號。"
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "圖片"
+
+#: src/view/com/modals/AltImage.tsx:120
+msgid "Image alt text"
+msgstr "圖片替代文字"
+
+#: src/view/com/util/UserAvatar.tsx:311
+#: src/view/com/util/UserBanner.tsx:118
+#~ msgid "Image options"
+#~ msgstr "圖片選項"
+
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+msgid "Input code sent to your email for password reset"
+msgstr "輸入發送到你電子郵件地址的重設碼以重設密碼"
+
+#: src/view/com/modals/DeleteAccount.tsx:184
+msgid "Input confirmation code for account deletion"
+msgstr "輸入刪除帳號的驗證碼"
+
+#: src/view/com/auth/create/Step1.tsx:177
+msgid "Input email for Bluesky account"
+msgstr "輸入 Bluesky 帳號的電子郵件地址"
+
+#: src/view/com/auth/create/Step1.tsx:151
+msgid "Input invite code to proceed"
+msgstr "輸入邀請碼以繼續"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+msgid "Input name for app password"
+msgstr "輸入應用程式專用密碼名稱"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+msgid "Input new password"
+msgstr "輸入新密碼"
+
+#: src/view/com/modals/DeleteAccount.tsx:203
+msgid "Input password for account deletion"
+msgstr "輸入密碼以刪除帳號"
+
+#: src/view/com/auth/create/Step2.tsx:196
+#~ msgid "Input phone number for SMS verification"
+#~ msgstr "輸入手機號碼進行簡訊驗證"
+
+#: src/view/com/auth/login/LoginForm.tsx:233
+msgid "Input the password tied to {identifier}"
+msgstr "輸入與 {identifier} 關聯的密碼"
+
+#: src/view/com/auth/login/LoginForm.tsx:200
+msgid "Input the username or email address you used at signup"
+msgstr "輸入註冊時使用的使用者名稱或電子郵件地址"
+
+#: src/view/com/auth/create/Step2.tsx:271
+#~ msgid "Input the verification code we have texted to you"
+#~ msgstr "輸入我們發送到你手機的驗證碼"
+
+#: src/view/com/modals/Waitlist.tsx:90
+#~ msgid "Input your email to get on the Bluesky waitlist"
+#~ msgstr "輸入你的電子郵件地址以加入 Bluesky 候補列表"
+
+#: src/view/com/auth/login/LoginForm.tsx:232
+msgid "Input your password"
+msgstr "輸入你的密碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:390
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:80
+msgid "Input your user handle"
+msgstr "輸入你的帳號代碼"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:221
+msgid "Invalid or unsupported post record"
+msgstr "無效或不支援的貼文紀錄"
+
+#: src/view/com/auth/login/LoginForm.tsx:116
+msgid "Invalid username or password"
+msgstr "使用者名稱或密碼無效"
+
+#: src/view/screens/Settings.tsx:411
+#~ msgid "Invite"
+#~ msgstr "邀請"
+
+#: src/view/com/modals/InviteCodes.tsx:93
+msgid "Invite a Friend"
+msgstr "邀請朋友"
+
+#: src/view/com/auth/create/Step1.tsx:141
+#: src/view/com/auth/create/Step1.tsx:150
+msgid "Invite code"
+msgstr "邀請碼"
+
+#: src/view/com/auth/create/state.ts:158
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "邀請碼無效。請檢查你輸入的內容是否正確,然後重試。"
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: {0} available"
+msgstr "邀請碼:{0} 個可用"
+
+#: src/view/shell/Drawer.tsx:645
+#~ msgid "Invite codes: {invitesAvailable} available"
+#~ msgstr "邀請碼:{invitesAvailable} 個可用"
+
+#: src/view/com/modals/InviteCodes.tsx:169
+msgid "Invite codes: 1 available"
+msgstr "邀請碼:1 個可用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+msgid "It shows posts from the people you follow as they happen."
+msgstr "它會即時顯示你所跟隨的人發佈的貼文。"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:103
+#: src/view/com/auth/SplashScreen.web.tsx:138
+msgid "Jobs"
+msgstr "工作"
+
+#: src/view/com/modals/Waitlist.tsx:67
+#~ msgid "Join the waitlist"
+#~ msgstr "加入候補列表"
+
+#: src/view/com/auth/create/Step1.tsx:174
+#: src/view/com/auth/create/Step1.tsx:178
+#~ msgid "Join the waitlist."
+#~ msgstr "加入候補列表。"
+
+#: src/view/com/modals/Waitlist.tsx:128
+#~ msgid "Join Waitlist"
+#~ msgstr "加入候補列表"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "新聞學"
+
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:186
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:143
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:63
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:65
+msgid "Labels on your content"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "語言選擇"
+
+#: src/view/screens/Settings/index.tsx:614
+msgid "Language settings"
+msgstr "語言設定"
+
+#: src/Navigation.tsx:144
+#: src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "語言設定"
+
+#: src/view/screens/Settings/index.tsx:623
+msgid "Languages"
+msgstr "語言"
+
+#: src/view/com/auth/create/StepHeader.tsx:20
+msgid "Last step!"
+msgstr "最後一步!"
+
+#: src/view/com/util/moderation/ContentHider.tsx:103
+#~ msgid "Learn more"
+#~ msgstr "瞭解詳情"
+
+#: src/components/moderation/ScreenHider.tsx:129
+msgid "Learn More"
+msgstr "瞭解詳情"
+
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:126
+msgid "Learn more about this warning"
+msgstr "瞭解有關此警告的更多資訊"
+
+#: src/screens/Moderation/index.tsx:551
+msgid "Learn more about what is public on Bluesky."
+msgstr "瞭解有關 Bluesky 上公開內容的更多資訊。"
+
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "瞭解詳情"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "全部留空以查看所有語言。"
+
+#: src/view/com/modals/LinkWarning.tsx:51
+msgid "Leaving Bluesky"
+msgstr "離開 Bluesky"
+
+#: src/screens/Deactivated.tsx:128
+msgid "left to go."
+msgstr "尚未完成。"
+
+#: src/view/screens/Settings/index.tsx:296
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "舊儲存資料已清除,你需要立即重新啟動應用程式。"
+
+#: src/view/com/auth/login/Login.tsx:128
+#: src/view/com/auth/login/Login.tsx:144
+msgid "Let's get your password reset!"
+msgstr "讓我們來重設你的密碼吧!"
+
+#: src/screens/Onboarding/StepFinished.tsx:151
+msgid "Let's go!"
+msgstr "讓我們開始吧!"
+
+#: src/view/com/util/UserAvatar.tsx:248
+#: src/view/com/util/UserBanner.tsx:62
+#~ msgid "Library"
+#~ msgstr "圖片庫"
+
+#: src/view/screens/Settings/index.tsx:498
+msgid "Light"
+msgstr "亮色"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+msgid "Like"
+msgstr "喜歡"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:257
+#: src/view/screens/ProfileFeed.tsx:572
+msgid "Like this feed"
+msgstr "喜歡這個訊息流"
+
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
+msgid "Liked by"
+msgstr "喜歡"
+
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:42
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "喜歡"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:268
+msgid "Liked by {0} {1}"
+msgstr "{0} 個 {1} 喜歡"
+
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
+#: src/view/screens/ProfileFeed.tsx:587
+msgid "Liked by {likeCount} {0}"
+msgstr "{likeCount} 個 {0} 喜歡"
+
+#: src/view/com/notifications/FeedItem.tsx:174
+msgid "liked your custom feed"
+msgstr "喜歡你的自訂訊息流"
+
+#: src/view/com/notifications/FeedItem.tsx:159
+msgid "liked your post"
+msgstr "喜歡你的貼文"
+
+#: src/view/screens/Profile.tsx:191
+msgid "Likes"
+msgstr "喜歡"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:182
+msgid "Likes on this post"
+msgstr "這條貼文的喜歡數"
+
+#: src/Navigation.tsx:170
+msgid "List"
+msgstr "列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:261
+msgid "List Avatar"
+msgstr "列表頭像"
+
+#: src/view/screens/ProfileList.tsx:311
+msgid "List blocked"
+msgstr "列表已封鎖"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:220
+msgid "List by {0}"
+msgstr "列表由 {0} 建立"
+
+#: src/view/screens/ProfileList.tsx:355
+msgid "List deleted"
+msgstr "列表已刪除"
+
+#: src/view/screens/ProfileList.tsx:283
+msgid "List muted"
+msgstr "列表已靜音"
+
+#: src/view/com/modals/CreateOrEditList.tsx:275
+msgid "List Name"
+msgstr "列表名稱"
+
+#: src/view/screens/ProfileList.tsx:325
+msgid "List unblocked"
+msgstr "解除封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:297
+msgid "List unmuted"
+msgstr "解除靜音列表"
+
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:187
+#: src/view/screens/Profile.tsx:193
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:495
+#: src/view/shell/Drawer.tsx:496
+msgid "Lists"
+msgstr "列表"
+
+#: src/view/com/post-thread/PostThread.tsx:333
+#: src/view/com/post-thread/PostThread.tsx:341
+#~ msgid "Load more posts"
+#~ msgstr "載入更多貼文"
+
+#: src/view/screens/Notifications.tsx:159
+msgid "Load new notifications"
+msgstr "載入新的通知"
+
+#: src/screens/Profile/Sections/Feed.tsx:70
+#: src/view/com/feeds/FeedPage.tsx:124
+#: src/view/screens/ProfileFeed.tsx:495
+#: src/view/screens/ProfileList.tsx:695
+msgid "Load new posts"
+msgstr "載入新的貼文"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
+msgid "Loading..."
+msgstr "載入中…"
+
+#: src/view/com/modals/ServerInput.tsx:50
+#~ msgid "Local dev server"
+#~ msgstr "本地開發伺服器"
+
+#: src/Navigation.tsx:221
+msgid "Log"
+msgstr "日誌"
+
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
+msgid "Log out"
+msgstr "登出"
+
+#: src/screens/Moderation/index.tsx:444
+msgid "Logged-out visibility"
+msgstr "登出可見性"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:142
+msgid "Login to account that is not listed"
+msgstr "登入未列出的帳號"
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Make sure this is where you intend to go!"
+msgstr "請確認這是你想要去的的地方!"
+
+#: src/components/dialogs/MutedWords.tsx:83
+msgid "Manage your muted words and tags"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:118
+msgid "May not be longer than 253 characters"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:109
+msgid "May only contain letters and numbers"
+msgstr ""
+
+#: src/view/screens/Profile.tsx:190
+msgid "Media"
+msgstr "媒體"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "提及的使用者"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "提及的使用者"
+
+#: src/view/com/util/ViewHeader.tsx:87
+#: src/view/screens/Search/Search.tsx:647
+msgid "Menu"
+msgstr "選單"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:192
+msgid "Message from server: {0}"
+msgstr "來自伺服器的訊息:{0}"
+
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:106
+#: src/view/screens/Settings/index.tsx:645
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:514
+#: src/view/shell/Drawer.tsx:515
+msgid "Moderation"
+msgstr "限制"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:113
+msgid "Moderation details"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:93
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "{0} 建立的限制列表"
+
+#: src/view/screens/ProfileList.tsx:789
+msgid "Moderation list by <0/>"
+msgstr "0> 建立的限制列表"
+
+#: src/view/com/lists/ListCard.tsx:91
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:787
+msgid "Moderation list by you"
+msgstr "你建立的限制列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "Moderation list created"
+msgstr "已建立限制列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "Moderation list updated"
+msgstr "限制列表已更新"
+
+#: src/screens/Moderation/index.tsx:245
+msgid "Moderation lists"
+msgstr "限制列表"
+
+#: src/Navigation.tsx:124
+#: src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "限制列表"
+
+#: src/view/screens/Settings/index.tsx:639
+msgid "Moderation settings"
+msgstr "限制設定"
+
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:217
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:49
+#: src/lib/moderation/useModerationCauseDescription.ts:40
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "限制選擇對內容設定一般警告。"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:541
+msgid "More"
+msgstr ""
+
+#: src/view/shell/desktop/Feeds.tsx:65
+msgid "More feeds"
+msgstr "更多訊息流"
+
+#: src/view/screens/ProfileList.tsx:599
+msgid "More options"
+msgstr "更多選項"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:315
+#~ msgid "More post options"
+#~ msgstr "更多貼文選項"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "最多按喜歡數優先"
+
+#: src/view/com/auth/create/Step2.tsx:122
+msgid "Must be at least 3 characters"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:249
+msgid "Mute"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:105
+msgid "Mute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
+msgid "Mute Account"
+msgstr "靜音帳號"
+
+#: src/view/screens/ProfileList.tsx:518
+msgid "Mute accounts"
+msgstr "靜音帳號"
+
+#: src/components/TagMenu/index.tsx:209
+msgid "Mute all {displayTag} posts"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:211
+#~ msgid "Mute all {tag} posts"
+#~ msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:149
+msgid "Mute in tags only"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:134
+msgid "Mute in text & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:624
+msgid "Mute list"
+msgstr "靜音列表"
+
+#: src/view/screens/ProfileList.tsx:619
+msgid "Mute these accounts?"
+msgstr "靜音這些帳號?"
+
+#: src/view/screens/ProfileList.tsx:279
+#~ msgid "Mute this List"
+#~ msgstr "靜音這個列表"
+
+#: src/components/dialogs/MutedWords.tsx:127
+msgid "Mute this word in post text and tags"
+msgstr "在帖子文本和话题标签中隐藏该词"
+
+#: src/components/dialogs/MutedWords.tsx:142
+msgid "Mute this word in tags only"
+msgstr "仅在话题标签中隐藏该词"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+msgid "Mute thread"
+msgstr "靜音對話串"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:267
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+msgid "Mute words & tags"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:102
+msgid "Muted"
+msgstr "已靜音"
+
+#: src/screens/Moderation/index.tsx:257
+msgid "Muted accounts"
+msgstr "已靜音帳號"
+
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:107
+msgid "Muted Accounts"
+msgstr "已靜音帳號"
+
+#: 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 "已靜音的帳號將不會在你的通知或時間線中顯示,被靜音的帳號將不會收到通知。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:233
+msgid "Muted words & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:621
+msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
+msgstr "封鎖是私人的。被封鎖的帳號可以與你互動,但你將無法看到他們的貼文或收到來自他們的通知。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
+msgid "My Birthday"
+msgstr "我的生日"
+
+#: src/view/screens/Feeds.tsx:663
+msgid "My Feeds"
+msgstr "自定訊息流"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "我的個人資料"
+
+#: src/view/screens/Settings/index.tsx:596
+msgid "My saved feeds"
+msgstr "我儲存的訊息流"
+
+#: src/view/screens/Settings/index.tsx:602
+msgid "My Saved Feeds"
+msgstr "我儲存的訊息流"
+
+#: src/view/com/auth/server-input/index.tsx:118
+#~ msgid "my-server.com"
+#~ msgstr "my-server.com"
+
+#: src/view/com/modals/AddAppPasswords.tsx:179
+#: src/view/com/modals/CreateOrEditList.tsx:290
+msgid "Name"
+msgstr "名稱"
+
+#: src/view/com/modals/CreateOrEditList.tsx:145
+msgid "Name is required"
+msgstr "名稱是必填項"
+
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "自然"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
+#: src/view/com/auth/login/LoginForm.tsx:292
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Navigates to the next screen"
+msgstr "切換到下一畫面"
+
+#: src/view/shell/Drawer.tsx:71
+msgid "Navigates to your profile"
+msgstr "切換到你的個人檔案"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:124
+msgid "Need to report a copyright violation?"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+msgid "Never load embeds from {0}"
+msgstr "永不載入來自 {0} 的嵌入內容"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
+msgid "Never lose access to your followers and data."
+msgstr "永遠不會失去對你的跟隨者和資料的存取權。"
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Never lose access to your followers or data."
+msgstr "永遠不會失去對你的跟隨者或資料的存取權。"
+
+#: src/components/dialogs/MutedWords.tsx:293
+#~ msgid "Nevermind"
+#~ msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:520
+msgid "Nevermind, create a handle for me"
+msgstr ""
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "新增"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "新增"
+
+#: src/view/com/modals/CreateOrEditList.tsx:252
+msgid "New Moderation List"
+msgstr "新的限制列表"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
+msgid "New password"
+msgstr "新密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:217
+msgid "New Password"
+msgstr "新密碼"
+
+#: src/view/com/feeds/FeedPage.tsx:135
+msgctxt "action"
+msgid "New post"
+msgstr "新貼文"
+
+#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Notifications.tsx:168
+#: src/view/screens/Profile.tsx:450
+#: src/view/screens/ProfileFeed.tsx:433
+#: src/view/screens/ProfileList.tsx:199
+#: src/view/screens/ProfileList.tsx:227
+#: src/view/shell/desktop/LeftNav.tsx:252
+msgid "New post"
+msgstr "新貼文"
+
+#: src/view/shell/desktop/LeftNav.tsx:262
+msgctxt "action"
+msgid "New Post"
+msgstr "新貼文"
+
+#: src/view/com/modals/CreateOrEditList.tsx:247
+msgid "New User List"
+msgstr "新的使用者列表"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "最新回覆優先"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "新聞"
+
+#: src/view/com/auth/create/CreateAccount.tsx:172
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
+#: src/view/com/auth/login/LoginForm.tsx:294
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
+#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
+msgid "Next"
+msgstr "下一個"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "下一個"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:169
+msgid "Next image"
+msgstr "下一張圖片"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:200
+#: src/view/screens/PreferencesFollowingFeed.tsx:235
+#: src/view/screens/PreferencesFollowingFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "關"
+
+#: src/view/screens/ProfileFeed.tsx:561
+#: src/view/screens/ProfileList.tsx:769
+msgid "No description"
+msgstr "沒有描述"
+
+#: src/view/com/modals/ChangeHandle.tsx:406
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
+msgid "No longer following {0}"
+msgstr "不再跟隨 {0}"
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "還沒有通知!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
+msgid "No result"
+msgstr "沒有結果"
+
+#: src/components/Lists.tsx:189
+msgid "No results found"
+msgstr "未找到結果"
+
+#: src/view/screens/Feeds.tsx:495
+msgid "No results found for \"{query}\""
+msgstr "未找到「{query}」的結果"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:282
+#: src/view/screens/Search/Search.tsx:310
+msgid "No results found for {query}"
+msgstr "未找到 {query} 的結果"
+
+#: src/view/com/modals/EmbedConsent.tsx:129
+msgid "No thanks"
+msgstr "不,謝謝"
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "沒有人"
+
+#: src/components/LikedByList.tsx:102
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "不適用。"
+
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:97
+msgid "Not Found"
+msgstr "未找到"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "暫時不需要"
+
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:342
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:542
+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 "注意:Bluesky 是一個開放且公開的網路。此設定僅限制你在 Bluesky 應用程式和網站上的內容可見性,其他應用程式可能不尊重此設定。你的內容仍可能由其他應用程式和網站顯示給未登入的使用者。"
+
+#: src/Navigation.tsx:469
+#: src/view/screens/Notifications.tsx:124
+#: src/view/screens/Notifications.tsx:148
+#: src/view/shell/bottom-bar/BottomBar.tsx:207
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:438
+#: src/view/shell/Drawer.tsx:439
+msgid "Notifications"
+msgstr "通知"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "裸露"
+
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or pornography not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
+msgid "Oh no!"
+msgstr "糟糕!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:128
+msgid "Oh no! Something went wrong."
+msgstr "糟糕!發生了一些錯誤。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:127
+msgid "OK"
+msgstr ""
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+msgid "Okay"
+msgstr "好的"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "最舊的回覆優先"
+
+#: src/view/screens/Settings/index.tsx:244
+msgid "Onboarding reset"
+msgstr "重新開始引導流程"
+
+#: src/view/com/composer/Composer.tsx:391
+msgid "One or more images is missing alt text."
+msgstr "至少有一張圖片缺失了替代文字。"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "只有 {0} 可以回覆。"
+
+#: src/components/Lists.tsx:83
+msgid "Oops, something went wrong!"
+msgstr ""
+
+#: src/components/Lists.tsx:157
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:97
+msgid "Oops!"
+msgstr "糟糕!"
+
+#: src/screens/Onboarding/StepFinished.tsx:115
+msgid "Open"
+msgstr "開啟"
+
+#: src/view/screens/Moderation.tsx:75
+#~ msgid "Open content filtering settings"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:490
+#: src/view/com/composer/Composer.tsx:491
+msgid "Open emoji picker"
+msgstr "開啟表情符號選擇器"
+
+#: src/view/screens/ProfileFeed.tsx:299
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:734
+msgid "Open links with in-app browser"
+msgstr "在內建瀏覽器中開啟連結"
+
+#: src/screens/Moderation/index.tsx:229
+msgid "Open muted words and tags settings"
+msgstr ""
+
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "打开隐藏词设置"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+msgid "Open navigation"
+msgstr "開啟導覽"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+msgid "Open post options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:828
+#: src/view/screens/Settings/index.tsx:838
+msgid "Open storybook page"
+msgstr "開啟故事書頁面"
+
+#: src/view/screens/Settings/index.tsx:816
+msgid "Open system log"
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "開啟 {numItems} 個選項"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "開啟除錯項目的額外詳細資訊"
+
+#: src/view/com/notifications/FeedItem.tsx:353
+msgid "Opens an expanded list of users in this notification"
+msgstr "展開此通知的使用者列表"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
+msgid "Opens camera on device"
+msgstr "開啟裝置相機"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "開啟編輯器"
+
+#: src/view/screens/Settings/index.tsx:615
+msgid "Opens configurable language settings"
+msgstr "開啟可以更改的語言設定"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "開啟裝置相簿"
+
+#: src/view/com/profile/ProfileHeader.tsx:420
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "開啟個人資料(如名稱、頭貼、背景圖片、描述等)編輯器"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens external embeds settings"
+msgstr "開啟外部嵌入設定"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:56
+#: src/view/com/auth/SplashScreen.tsx:70
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:74
+#: src/view/com/auth/SplashScreen.tsx:83
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:575
+#~ msgid "Opens followers list"
+#~ msgstr "開啟跟隨者列表"
+
+#: src/view/com/profile/ProfileHeader.tsx:594
+#~ msgid "Opens following list"
+#~ msgstr "開啟正在跟隨列表"
+
+#: src/view/screens/Settings.tsx:412
+#~ msgid "Opens invite code list"
+#~ msgstr "開啟邀請碼列表"
+
+#: src/view/com/modals/InviteCodes.tsx:172
+msgid "Opens list of invite codes"
+msgstr "開啟邀請碼列表"
+
+#: src/view/screens/Settings/index.tsx:798
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "開啟用於帳號刪除確認的彈窗。需要電子郵件驗證碼。"
+
+#: src/view/screens/Settings/index.tsx:756
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:718
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:779
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:970
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Opens modal for using custom domain"
+msgstr "開啟使用自訂網域的彈窗"
+
+#: src/view/screens/Settings/index.tsx:640
+msgid "Opens moderation settings"
+msgstr "開啟限制設定"
+
+#: src/view/com/auth/login/LoginForm.tsx:242
+msgid "Opens password reset form"
+msgstr "開啟密碼重設表單"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:63
+#: src/view/screens/Feeds.tsx:356
+msgid "Opens screen to edit Saved Feeds"
+msgstr "開啟編輯已儲存訊息流的畫面"
+
+#: src/view/screens/Settings/index.tsx:597
+msgid "Opens screen with all saved feeds"
+msgstr "開啟包含所有已儲存訊息流的畫面"
+
+#: src/view/screens/Settings/index.tsx:696
+msgid "Opens the app password settings"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:676
+#~ msgid "Opens the app password settings page"
+#~ msgstr "開啟應用程式專用密碼設定頁面"
+
+#: src/view/screens/Settings/index.tsx:554
+msgid "Opens the Following feed preferences"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:535
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "開啟首頁訊息流設定偏好"
+
+#: src/view/com/modals/LinkWarning.tsx:76
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:829
+#: src/view/screens/Settings/index.tsx:839
+msgid "Opens the storybook page"
+msgstr "開啟故事書頁面"
+
+#: src/view/screens/Settings/index.tsx:817
+msgid "Opens the system log page"
+msgstr "開啟系統日誌頁面"
+
+#: src/view/screens/Settings/index.tsx:575
+msgid "Opens the threads preferences"
+msgstr "開啟對話串設定偏好"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "{0} 選項,共 {numItems} 個"
+
+#: src/components/ReportDialog/SubmitView.tsx:162
+msgid "Optionally provide additional information below:"
+msgstr ""
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "或者選擇組合這些選項:"
+
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:147
+msgid "Other account"
+msgstr "其他帳號"
+
+#: src/view/com/modals/ServerInput.tsx:88
+#~ msgid "Other service"
+#~ msgstr "其他服務"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "其他…"
+
+#: src/components/Lists.tsx:190
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "頁面不存在"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "頁面不存在"
+
+#: src/view/com/auth/create/Step1.tsx:191
+#: src/view/com/auth/create/Step1.tsx:201
+#: src/view/com/auth/login/LoginForm.tsx:213
+#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
+#: src/view/com/modals/DeleteAccount.tsx:195
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Password"
+msgstr "密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/view/com/auth/login/Login.tsx:157
+msgid "Password updated"
+msgstr "密碼已更新"
+
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+msgid "Password updated!"
+msgstr "密碼已更新!"
+
+#: src/Navigation.tsx:164
+msgid "People followed by @{0}"
+msgstr "被 @{0} 跟隨的人"
+
+#: src/Navigation.tsx:157
+msgid "People following @{0}"
+msgstr "跟隨 @{0} 的人"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "需要相機的存取權限。"
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "相機的存取權限已被拒絕,請在系統設定中啟用。"
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "寵物"
+
+#: src/view/com/auth/create/Step2.tsx:183
+#~ msgid "Phone number"
+#~ msgstr "手機號碼"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "適合成年人的圖像。"
+
+#: src/view/screens/ProfileFeed.tsx:291
+#: src/view/screens/ProfileList.tsx:563
+msgid "Pin to home"
+msgstr "固定到首頁"
+
+#: src/view/screens/ProfileFeed.tsx:294
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:88
+msgid "Pinned Feeds"
+msgstr "固定訊息流列表"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+msgid "Play {0}"
+msgstr "播放 {0}"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+msgid "Play Video"
+msgstr "播放影片"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+msgid "Plays the GIF"
+msgstr "播放 GIF"
+
+#: src/view/com/auth/create/state.ts:124
+msgid "Please choose your handle."
+msgstr "請選擇你的帳號代碼。"
+
+#: src/view/com/auth/create/state.ts:117
+msgid "Please choose your password."
+msgstr "請選擇你的密碼。"
+
+#: src/view/com/auth/create/state.ts:131
+msgid "Please complete the verification captcha."
+msgstr "請完成 Captcha 驗證。"
+
+#: 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 "更改前請先確認你的電子郵件地址。這是電子郵件更新工具的臨時要求,此限制將很快被移除。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:90
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "請輸入應用程式專用密碼的名稱。所有空格均不允許使用。"
+
+#: src/view/com/auth/create/Step2.tsx:206
+#~ msgid "Please enter a phone number that can receive SMS text messages."
+#~ msgstr "請輸入可以接收簡訊的手機號碼。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:145
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "請輸入此應用程式專用密碼的唯一名稱,或使用我們提供的隨機生成名稱。"
+
+#: src/components/dialogs/MutedWords.tsx:68
+msgid "Please enter a valid word, tag, or phrase to mute"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:170
+#~ msgid "Please enter the code you received by SMS."
+#~ msgstr "請輸入你收到的簡訊驗證碼。"
+
+#: src/view/com/auth/create/Step2.tsx:282
+#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
+#~ msgstr "請輸入發送到 {phoneNumberFormatted} 的驗證碼。"
+
+#: src/view/com/auth/create/state.ts:103
+msgid "Please enter your email."
+msgstr "請輸入你的電子郵件。"
+
+#: src/view/com/modals/DeleteAccount.tsx:191
+msgid "Please enter your password as well:"
+msgstr "請輸入你的密碼:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:222
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+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 "請告訴我們你認為這個內容警告標示有誤的原因!"
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "請驗證你的電子郵件地址"
+
+#: src/view/com/composer/Composer.tsx:221
+msgid "Please wait for your link card to finish loading"
+msgstr "請等待你的連結卡載入完畢"
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "政治"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "情色內容"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+msgid "Pornography"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:366
+#: src/view/com/composer/Composer.tsx:374
+msgctxt "action"
+msgid "Post"
+msgstr "發佈"
+
+#: src/view/com/post-thread/PostThread.tsx:292
+msgctxt "description"
+msgid "Post"
+msgstr "發佈"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:175
+msgid "Post by {0}"
+msgstr "{0} 的貼文"
+
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
+msgid "Post by @{0}"
+msgstr "@{0} 的貼文"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+msgid "Post deleted"
+msgstr "貼文已刪除"
+
+#: src/view/com/post-thread/PostThread.tsx:157
+msgid "Post hidden"
+msgstr "貼文已隱藏"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "貼文語言"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "貼文語言"
+
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
+msgid "Post not found"
+msgstr "找不到貼文"
+
+#: src/components/TagMenu/index.tsx:253
+msgid "posts"
+msgstr "貼文"
+
+#: src/view/screens/Profile.tsx:188
+msgid "Posts"
+msgstr "貼文"
+
+#: src/components/dialogs/MutedWords.tsx:90
+msgid "Posts can be muted based on their text, their tags, or both."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "貼文已隱藏"
+
+#: src/view/com/modals/LinkWarning.tsx:46
+msgid "Potentially Misleading Link"
+msgstr "潛在誤導性連結"
+
+#: src/components/Lists.tsx:88
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
+msgid "Previous image"
+msgstr "上一張圖片"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "主要語言"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "優先顯示跟隨者"
+
+#: src/view/screens/Settings/index.tsx:652
+#: src/view/shell/desktop/RightNav.tsx:72
+msgid "Privacy"
+msgstr "隱私"
+
+#: src/Navigation.tsx:231
+#: src/view/com/auth/create/Policies.tsx:69
+#: src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings/index.tsx:925
+#: src/view/shell/Drawer.tsx:265
+msgid "Privacy Policy"
+msgstr "隱私政策"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+msgid "Processing..."
+msgstr "處理中…"
+
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:340
+msgid "profile"
+msgstr "個人檔案"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:251
+#: src/view/shell/desktop/LeftNav.tsx:419
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:549
+#: src/view/shell/Drawer.tsx:550
+msgid "Profile"
+msgstr "個人檔案"
+
+#: src/view/com/modals/EditProfile.tsx:128
+msgid "Profile updated"
+msgstr "個人檔案已更新"
+
+#: src/view/screens/Settings/index.tsx:983
+msgid "Protect your account by verifying your email."
+msgstr "通過驗證電子郵件地址來保護你的帳號。"
+
+#: src/screens/Onboarding/StepFinished.tsx:101
+msgid "Public"
+msgstr "公開內容"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "公開且可共享的批量靜音或封鎖列表。"
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "公開且可共享的列表,可作為訊息流使用。"
+
+#: src/view/com/composer/Composer.tsx:351
+msgid "Publish post"
+msgstr "發佈貼文"
+
+#: src/view/com/composer/Composer.tsx:351
+msgid "Publish reply"
+msgstr "發佈回覆"
+
+#: src/view/com/modals/Repost.tsx:65
+msgctxt "action"
+msgid "Quote post"
+msgstr "引用貼文"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "引用貼文"
+
+#: src/view/com/modals/Repost.tsx:70
+msgctxt "action"
+msgid "Quote Post"
+msgstr "引用貼文"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "隨機顯示 (又名試試手氣)"
+
+#: src/view/com/modals/EditImage.tsx:236
+msgid "Ratios"
+msgstr "比率"
+
+#: src/view/screens/Search/Search.tsx:776
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+msgid "Recommended Feeds"
+msgstr "推薦訊息流"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+msgid "Recommended Users"
+msgstr "推薦的使用者"
+
+#: src/components/dialogs/MutedWords.tsx:287
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/posts/FeedErrorMessage.tsx:204
+msgid "Remove"
+msgstr "移除"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:108
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "將 {0} 從我的訊息流移除?"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "刪除帳號"
+
+#: src/view/com/util/UserAvatar.tsx:358
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
+msgid "Remove feed"
+msgstr "刪除訊息流"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:334
+#: src/view/screens/ProfileFeed.tsx:340
+msgid "Remove from my feeds"
+msgstr "從我的訊息流中刪除"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "刪除圖片"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "刪除圖片預覽"
+
+#: src/components/dialogs/MutedWords.tsx:330
+msgid "Remove mute word from your list"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:47
+msgid "Remove repost"
+msgstr "刪除轉發"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:175
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "將這個訊息流從我的訊息流列表中刪除?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:132
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "將這個訊息流從儲存的訊息流列表中刪除?"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "從列表中刪除"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:121
+msgid "Removed from my feeds"
+msgstr "從我的訊息流中刪除"
+
+#: src/view/screens/ProfileFeed.tsx:208
+msgid "Removed from your feeds"
+msgstr ""
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "從 {0} 中刪除預設縮略圖"
+
+#: src/view/screens/Profile.tsx:189
+msgid "Replies"
+msgstr "回覆"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "對此對話串的回覆已被停用"
+
+#: src/view/com/composer/Composer.tsx:364
+msgctxt "action"
+msgid "Reply"
+msgstr "回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:144
+msgid "Reply Filters"
+msgstr "回覆過濾器"
+
+#: src/view/com/post/Post.tsx:166
+#: src/view/com/posts/FeedItem.tsx:280
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "回覆 <0/>"
+
+#: src/view/com/modals/report/Modal.tsx:166
+#~ msgid "Report {collectionName}"
+#~ msgstr "檢舉 {collectionName}"
+
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
+msgid "Report Account"
+msgstr "檢舉帳號"
+
+#: src/view/screens/ProfileFeed.tsx:351
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Report feed"
+msgstr "檢舉訊息流"
+
+#: src/view/screens/ProfileList.tsx:429
+msgid "Report List"
+msgstr "檢舉列表"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:292
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+msgid "Report post"
+msgstr "檢舉貼文"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:48
+#: src/view/com/modals/Repost.tsx:53
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "轉發"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "轉發"
+
+#: 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 "轉發或引用貼文"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "轉發"
+
+#: src/view/com/posts/FeedItem.tsx:197
+msgid "Reposted by {0}"
+msgstr "由 {0} 轉發"
+
+#: src/view/com/posts/FeedItem.tsx:214
+msgid "Reposted by <0/>"
+msgstr "由 <0/> 轉發"
+
+#: src/view/com/notifications/FeedItem.tsx:166
+msgid "reposted your post"
+msgstr "轉發你的貼文"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:187
+msgid "Reposts of this post"
+msgstr "轉發這條貼文"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "請求變更"
+
+#: src/view/com/auth/create/Step2.tsx:219
+#~ msgid "Request code"
+#~ msgstr "請求碼"
+
+#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
+msgid "Request Code"
+msgstr "請求代碼"
+
+#: src/view/screens/Settings/index.tsx:475
+msgid "Require alt text before posting"
+msgstr "要求發佈前提供替代文字"
+
+#: src/view/com/auth/create/Step1.tsx:146
+msgid "Required for this provider"
+msgstr "提供商要求必填"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
+msgid "Reset code"
+msgstr "重設碼"
+
+#: src/view/com/modals/ChangePassword.tsx:192
+msgid "Reset Code"
+msgstr "重設碼"
+
+#: src/view/screens/Settings/index.tsx:824
+#~ msgid "Reset onboarding"
+#~ msgstr "重設初始設定進行狀態"
+
+#: src/view/screens/Settings/index.tsx:858
+#: src/view/screens/Settings/index.tsx:861
+msgid "Reset onboarding state"
+msgstr "重設初始設定進行狀態"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+msgid "Reset password"
+msgstr "重設密碼"
+
+#: src/view/screens/Settings/index.tsx:814
+#~ msgid "Reset preferences"
+#~ msgstr "重設偏好設定"
+
+#: src/view/screens/Settings/index.tsx:848
+#: src/view/screens/Settings/index.tsx:851
+msgid "Reset preferences state"
+msgstr "重設偏好設定狀態"
+
+#: src/view/screens/Settings/index.tsx:859
+msgid "Resets the onboarding state"
+msgstr "重設初始設定狀態"
+
+#: src/view/screens/Settings/index.tsx:849
+msgid "Resets the preferences state"
+msgstr "重設偏好設定狀態"
+
+#: src/view/com/auth/login/LoginForm.tsx:272
+msgid "Retries login"
+msgstr "重試登入"
+
+#: src/view/com/util/error/ErrorMessage.tsx:57
+#: src/view/com/util/error/ErrorScreen.tsx:74
+msgid "Retries the last action, which errored out"
+msgstr "重試上次出錯的操作"
+
+#: src/components/Lists.tsx:98
+#: src/screens/Onboarding/StepInterests/index.tsx:221
+#: src/screens/Onboarding/StepInterests/index.tsx:224
+#: src/view/com/auth/create/CreateAccount.tsx:181
+#: src/view/com/auth/create/CreateAccount.tsx:186
+#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/view/com/auth/login/LoginForm.tsx:274
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:72
+msgid "Retry"
+msgstr "重試"
+
+#: src/view/com/auth/create/Step2.tsx:247
+#~ msgid "Retry."
+#~ msgstr "重試。"
+
+#: src/view/screens/ProfileList.tsx:917
+msgid "Return to previous page"
+msgstr "返回上一頁"
+
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:112
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/view/shell/desktop/RightNav.tsx:55
+#~ msgid "SANDBOX. Posts and accounts are not permanent."
+#~ msgstr "沙盒模式。貼文和帳號不會永久儲存。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:173
+#: src/view/com/modals/CreateOrEditList.tsx:337
+#: src/view/com/modals/EditProfile.tsx:224
+msgid "Save"
+msgstr "儲存"
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:345
+msgctxt "action"
+msgid "Save"
+msgstr "儲存"
+
+#: src/view/com/modals/AltImage.tsx:130
+msgid "Save alt text"
+msgstr "儲存替代文字"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:232
+msgid "Save Changes"
+msgstr "儲存更改"
+
+#: src/view/com/modals/ChangeHandle.tsx:170
+msgid "Save handle change"
+msgstr "儲存帳號代碼更改"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+msgid "Save image crop"
+msgstr "儲存圖片裁剪"
+
+#: src/view/screens/ProfileFeed.tsx:335
+#: src/view/screens/ProfileFeed.tsx:341
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:122
+msgid "Saved Feeds"
+msgstr "已儲存訊息流"
+
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:212
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Saves any changes to your profile"
+msgstr "儲存個人資料中所做的變更"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Saves handle change to {handle}"
+msgstr "儲存帳號代碼更改至 {handle}"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
+msgid "Saves image crop settings"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "科學"
+
+#: src/view/screens/ProfileList.tsx:873
+msgid "Scroll to top"
+msgstr "滾動到頂部"
+
+#: src/Navigation.tsx:459
+#: src/view/com/auth/LoggedOut.tsx:122
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:67
+#: src/view/com/util/forms/SearchInput.tsx:79
+#: src/view/screens/Search/Search.tsx:420
+#: src/view/screens/Search/Search.tsx:669
+#: src/view/screens/Search/Search.tsx:687
+#: src/view/shell/bottom-bar/BottomBar.tsx:161
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:365
+#: src/view/shell/Drawer.tsx:366
+msgid "Search"
+msgstr "搜尋"
+
+#: src/view/screens/Search/Search.tsx:736
+#: src/view/shell/desktop/Search.tsx:256
+msgid "Search for \"{query}\""
+msgstr "搜尋「{query}」"
+
+#: src/components/TagMenu/index.tsx:145
+msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:145
+#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
+#~ msgstr ""
+
+#: src/components/TagMenu/index.tsx:94
+msgid "Search for all posts with tag {displayTag}"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:90
+#~ msgid "Search for all posts with tag {tag}"
+#~ msgstr ""
+
+#: 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 "搜尋使用者"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "所需的安全步驟"
+
+#: src/components/TagMenu/index.web.tsx:66
+msgid "See {truncatedTag} posts"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:83
+msgid "See {truncatedTag} posts by user"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:128
+msgid "See <0>{displayTag}0> posts"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:187
+msgid "See <0>{displayTag}0> posts by this user"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:128
+#~ msgid "See <0>{tag}0> posts"
+#~ msgstr ""
+
+#: src/components/TagMenu/index.tsx:189
+#~ msgid "See <0>{tag}0> posts by this user"
+#~ msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:163
+msgid "See this guide"
+msgstr "查看指南"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
+msgid "See what's next"
+msgstr "查看下一步"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "選擇 {item}"
+
+#: src/view/com/modals/ServerInput.tsx:75
+#~ msgid "Select Bluesky Social"
+#~ msgstr "選擇 Bluesky Social"
+
+#: src/view/com/auth/login/Login.tsx:117
+msgid "Select from an existing account"
+msgstr "從現有帳號中選擇"
+
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:32
+msgid "Select moderator"
+msgstr ""
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "選擇 {numItems} 個項目中的第 {i} 項"
+
+#: src/view/com/auth/create/Step1.tsx:96
+#: src/view/com/auth/login/LoginForm.tsx:153
+msgid "Select service"
+msgstr "選擇服務"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "在下面選擇一些要跟隨的帳號"
+
+#: src/components/ReportDialog/SubmitView.tsx:135
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
+#: src/view/com/auth/server-input/index.tsx:82
+msgid "Select the service that hosts your data."
+msgstr "選擇用來託管你的資料的服務商。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+msgid "Select topical feeds to follow from the list below"
+msgstr "從下面的列表中選擇要跟隨的主題訊息流"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:62
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "選擇你想看到(或不想看到)的內容,剩下的由我們來處理。"
+
+#: 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 "選擇你希望訂閱訊息流中所包含的語言。未選擇任何語言時會預設顯示所有語言。"
+
+#: src/view/screens/LanguageSettings.tsx:98
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "選擇應用程式中顯示預設文字的語言"
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:196
+msgid "Select your interests from the options below"
+msgstr "下面選擇你感興趣的選項"
+
+#: src/view/com/auth/create/Step2.tsx:155
+#~ msgid "Select your phone's country"
+#~ msgstr "選擇你的電話區號"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "選擇你在訂閱訊息流中希望進行翻譯的目標語言偏好。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+msgid "Select your primary algorithmic feeds"
+msgstr "選擇你的訊息流主要算法"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+msgid "Select your secondary algorithmic feeds"
+msgstr "選擇你的訊息流次要算法"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "發送確認電子郵件"
+
+#: src/view/com/modals/DeleteAccount.tsx:131
+msgid "Send email"
+msgstr "發送電子郵件"
+
+#: src/view/com/modals/DeleteAccount.tsx:144
+msgctxt "action"
+msgid "Send Email"
+msgstr "發送電子郵件"
+
+#: src/view/shell/Drawer.tsx:298
+#: src/view/shell/Drawer.tsx:319
+msgid "Send feedback"
+msgstr "提交意見"
+
+#: src/components/ReportDialog/SubmitView.tsx:214
+#: src/components/ReportDialog/SubmitView.tsx:218
+msgid "Send report"
+msgstr "提交舉報"
+
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "提交舉報"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:46
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:133
+msgid "Sends email with confirmation code for account deletion"
+msgstr "發送包含帳號刪除確認碼的電子郵件"
+
+#: src/view/com/auth/server-input/index.tsx:110
+msgid "Server address"
+msgstr "伺服器地址"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:311
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "將 {labelGroup} 內容審核政策設為 {value}"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:160
+#: src/view/com/modals/ContentFilteringSettings.tsx:179
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "設定年齡"
+
+#: src/screens/Moderation/index.tsx:306
+msgid "Set birthdate"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:488
+#~ msgid "Set color theme to dark"
+#~ msgstr "設定主題為深色模式"
+
+#: src/view/screens/Settings/index.tsx:481
+#~ msgid "Set color theme to light"
+#~ msgstr "設定主題為亮色模式"
+
+#: src/view/screens/Settings/index.tsx:475
+#~ msgid "Set color theme to system setting"
+#~ msgstr "設定主題跟隨系統設定"
+
+#: src/view/screens/Settings/index.tsx:514
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "設定深色模式至深黑"
+
+#: src/view/screens/Settings/index.tsx:507
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "設定深色模式至暗淡"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+msgid "Set new password"
+msgstr "設定新密碼"
+
+#: src/view/com/auth/create/Step1.tsx:202
+msgid "Set password"
+msgstr "設定密碼"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:225
+msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
+msgstr "將此設定項設為「關」會隱藏來自訂閱訊息流的所有引用貼文。轉發仍將可見。"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "將此設定項設為「關」以隱藏來自訂閱訊息流的所有回覆。"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "將此設定項設為「關」以隱藏來自訂閱訊息流的所有轉發。"
+
+#: 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 "將此設定項設為「開」以在分層視圖中顯示回覆。這是一個實驗性功能。"
+
+#: 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 "將此設定項設為「開」以在跟隨訊息流中顯示已儲存訊息流的樣本。這是一個實驗性功能。"
+
+#: src/view/screens/PreferencesFollowingFeed.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 ""
+
+#: src/screens/Onboarding/Layout.tsx:50
+msgid "Set up your account"
+msgstr "設定你的帳號"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Sets Bluesky username"
+msgstr "設定 Bluesky 使用者名稱"
+
+#: src/view/screens/Settings/index.tsx:507
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:500
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:494
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:533
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:526
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+msgid "Sets email for password reset"
+msgstr "設定用於重設密碼的電子郵件"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
+msgid "Sets hosting provider for password reset"
+msgstr "設定用於密碼重設的主機提供商資訊"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/view/com/auth/create/Step1.tsx:97
+#: src/view/com/auth/login/LoginForm.tsx:154
+msgid "Sets server for the Bluesky client"
+msgstr "設定 Bluesky 用戶端的伺服器"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:313
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:570
+#: src/view/shell/Drawer.tsx:571
+msgid "Settings"
+msgstr "設定"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "性行為或性暗示裸露。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "分享"
+
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:218
+#: src/view/screens/ProfileList.tsx:388
+msgid "Share"
+msgstr "分享"
+
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:361
+#: src/view/screens/ProfileFeed.tsx:363
+msgid "Share feed"
+msgstr "分享訊息流"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/GlobalModerationLabelPref.tsx:45
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:363
+msgid "Show"
+msgstr "顯示"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:68
+msgid "Show all replies"
+msgstr "顯示所有回覆"
+
+#: src/components/moderation/ScreenHider.tsx:162
+#: src/components/moderation/ScreenHider.tsx:165
+msgid "Show anyway"
+msgstr "仍然顯示"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+msgid "Show embeds from {0}"
+msgstr "顯示來自 {0} 的嵌入內容"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:193
+msgid "Show follows similar to {0}"
+msgstr "顯示類似於 {0} 的跟隨者"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:507
+#: src/view/com/post/Post.tsx:201
+#: src/view/com/posts/FeedItem.tsx:355
+msgid "Show More"
+msgstr "顯示更多"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "在自訂訊息流中顯示貼文"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "顯示引用貼文"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+msgid "Show quote-posts in Following feed"
+msgstr "在跟隨訊息流中顯示引用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+msgid "Show quotes in Following"
+msgstr "在跟隨中顯示引用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+msgid "Show re-posts in Following feed"
+msgstr "在跟隨訊息流中顯示轉發"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:119
+msgid "Show Replies"
+msgstr "顯示回覆"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "在所有其他回覆之前顯示你跟隨的人的回覆。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+msgid "Show replies in Following"
+msgstr "在跟隨中顯示回覆"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+msgid "Show replies in Following feed"
+msgstr "在跟隨訊息流中顯示回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "顯示至少包含 {value} 個{0}的回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:188
+msgid "Show Reposts"
+msgstr "顯示轉發"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+msgid "Show reposts in Following"
+msgstr "在跟隨中顯示轉發"
+
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
+msgid "Show the content"
+msgstr "顯示內容"
+
+#: src/view/com/notifications/FeedItem.tsx:351
+msgid "Show users"
+msgstr "顯示使用者"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "顯示與該使用者相似的使用者列表。"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:127
+msgid "Shows posts from {0} in your feed"
+msgstr "在你的訊息流中顯示來自 {0} 的貼文"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:72
+#: src/view/com/auth/login/Login.tsx:98
+#: src/view/com/auth/SplashScreen.tsx:81
+#: src/view/shell/bottom-bar/BottomBar.tsx:289
+#: src/view/shell/bottom-bar/BottomBar.tsx:290
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:58
+#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:61
+msgid "Sign in"
+msgstr "登入"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
+#: src/view/com/auth/SplashScreen.web.tsx:91
+msgid "Sign In"
+msgstr "登入"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+msgid "Sign in as {0}"
+msgstr "以 {0} 登入"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:127
+#: src/view/com/auth/login/Login.tsx:116
+msgid "Sign in as..."
+msgstr "登入為…"
+
+#: src/view/com/auth/login/LoginForm.tsx:140
+msgid "Sign into"
+msgstr "登入到"
+
+#: src/view/com/modals/SwitchAccount.tsx:68
+#: src/view/com/modals/SwitchAccount.tsx:73
+#: src/view/screens/Settings/index.tsx:107
+#: src/view/screens/Settings/index.tsx:110
+msgid "Sign out"
+msgstr "登出"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:279
+#: src/view/shell/bottom-bar/BottomBar.tsx:280
+#: src/view/shell/bottom-bar/BottomBar.tsx:282
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:49
+#: src/view/shell/NavSignupCard.tsx:50
+#: src/view/shell/NavSignupCard.tsx:52
+msgid "Sign up"
+msgstr "註冊"
+
+#: src/view/shell/NavSignupCard.tsx:42
+msgid "Sign up or sign in to join the conversation"
+msgstr "註冊或登入以參與對話"
+
+#: src/components/moderation/ScreenHider.tsx:98
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
+msgid "Sign-in Required"
+msgstr "需要登入"
+
+#: src/view/screens/Settings/index.tsx:374
+msgid "Signed in as"
+msgstr "登入身分"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:112
+msgid "Signed in as @{0}"
+msgstr "以 @{0} 身分登入"
+
+#: src/view/com/modals/SwitchAccount.tsx:70
+msgid "Signs {0} out of Bluesky"
+msgstr "從 {0} 登出 Bluesky"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:235
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
+msgid "Skip"
+msgstr "跳過"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:232
+msgid "Skip this flow"
+msgstr "跳過此流程"
+
+#: src/view/com/auth/create/Step2.tsx:82
+#~ msgid "SMS verification"
+#~ msgstr "簡訊驗證"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "軟體開發"
+
+#: src/view/com/modals/ProfilePreview.tsx:62
+#~ msgid "Something went wrong and we're not sure what."
+#~ msgstr "發生了一些問題,我們不確定是什麼原因。"
+
+#: src/components/ReportDialog/index.tsx:52
+#: src/screens/Moderation/index.tsx:116
+#: src/screens/Profile/Sections/Labels.tsx:77
+msgid "Something went wrong, please try again."
+msgstr ""
+
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr "發生了一些問題!"
+
+#: src/view/com/modals/Waitlist.tsx:51
+#~ msgid "Something went wrong. Check your email and try again."
+#~ msgstr "發生了一些問題。請檢查你的電子郵件,然後重試。"
+
+#: src/App.native.tsx:71
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "抱歉!你的登入已過期。請重新登入。"
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "排序回覆"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "對同一貼文的回覆進行排序:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:147
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "運動"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+msgid "Square"
+msgstr "方塊"
+
+#: src/view/com/modals/ServerInput.tsx:62
+#~ msgid "Staging"
+#~ msgstr "臨時"
+
+#: src/view/screens/Settings/index.tsx:905
+msgid "Status page"
+msgstr "狀態頁"
+
+#: src/view/com/auth/create/StepHeader.tsx:22
+msgid "Step {0} of {numSteps}"
+msgstr "第 {0} 步,共 {numSteps} 步"
+
+#: src/view/screens/Settings/index.tsx:292
+msgid "Storage cleared, you need to restart the app now."
+msgstr "已清除儲存資料,你需要立即重啟應用程式。"
+
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:831
+msgid "Storybook"
+msgstr "故事書"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
+#: src/components/moderation/LabelsOnMeDialog.tsx:257
+msgid "Submit"
+msgstr "提交"
+
+#: src/view/screens/ProfileList.tsx:590
+msgid "Subscribe"
+msgstr "訂閱"
+
+#: src/screens/Profile/Sections/Labels.tsx:181
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+msgid "Subscribe to the {0} feed"
+msgstr "訂閱 {0} 訊息流"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:586
+msgid "Subscribe to this list"
+msgstr "訂閱這個列表"
+
+#: src/view/screens/Search/Search.tsx:375
+msgid "Suggested Follows"
+msgstr "推薦的跟隨者"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
+msgid "Suggested for you"
+msgstr "為你推薦"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "建議"
+
+#: src/Navigation.tsx:226
+#: src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "支援"
+
+#: src/view/com/modals/ProfilePreview.tsx:110
+#~ msgid "Swipe up to see more"
+#~ msgstr "向上滑動查看更多"
+
+#: src/view/com/modals/SwitchAccount.tsx:123
+msgid "Switch Account"
+msgstr "切換帳號"
+
+#: src/view/com/modals/SwitchAccount.tsx:103
+#: src/view/screens/Settings/index.tsx:139
+msgid "Switch to {0}"
+msgstr "切換到 {0}"
+
+#: src/view/com/modals/SwitchAccount.tsx:104
+#: src/view/screens/Settings/index.tsx:140
+msgid "Switches the account you are logged in to"
+msgstr "切換你登入的帳號"
+
+#: src/view/screens/Settings/index.tsx:491
+msgid "System"
+msgstr "系統"
+
+#: src/view/screens/Settings/index.tsx:819
+msgid "System log"
+msgstr "系統日誌"
+
+#: src/components/dialogs/MutedWords.tsx:324
+msgid "tag"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:78
+msgid "Tag menu: {displayTag}"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:74
+#~ msgid "Tag menu: {tag}"
+#~ msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+msgid "Tall"
+msgstr "高"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "點擊查看完整內容"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "科技"
+
+#: src/view/shell/desktop/RightNav.tsx:81
+msgid "Terms"
+msgstr "條款"
+
+#: src/Navigation.tsx:236
+#: src/view/com/auth/create/Policies.tsx:59
+#: src/view/screens/Settings/index.tsx:919
+#: src/view/screens/TermsOfService.tsx:29
+#: src/view/shell/Drawer.tsx:259
+msgid "Terms of Service"
+msgstr "服務條款"
+
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:324
+msgid "text"
+msgstr "文字"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:220
+msgid "Text input field"
+msgstr "文字輸入框"
+
+#: src/components/ReportDialog/SubmitView.tsx:78
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:466
+msgid "That contains the following:"
+msgstr ""
+
+#: src/view/com/auth/create/CreateAccount.tsx:94
+msgid "That handle is already taken."
+msgstr "這個帳號代碼已被使用。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:274
+#: src/view/com/profile/ProfileMenu.tsx:349
+msgid "The account will be able to interact with you after unblocking."
+msgstr "解除封鎖後,該帳號將能夠與你互動。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:128
+msgid "the author"
+msgstr ""
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "社群準則已移動到 <0/>"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "版權政策已移動到 <0/>"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:50
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:60
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "以下步驟將幫助自訂你的 Bluesky 體驗。"
+
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
+msgid "The post may have been deleted."
+msgstr "此貼文可能已被刪除。"
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <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 "支援表單已移至別處。如果需協助,請點擊<0/>或前往 {HELP_DESK_URL} 與我們聯繫。"
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "服務條款已遷移到"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+msgid "There are many feeds to try:"
+msgstr "這裡有些訊息流你可以嘗試:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:113
+#: src/view/screens/ProfileFeed.tsx:543
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "連線至伺服器時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:138
+msgid "There was an an issue removing this feed. Please check your internet connection and try again."
+msgstr "刪除訊息流時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/screens/ProfileFeed.tsx:217
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "更新訊息流時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/screens/ProfileFeed.tsx:244
+#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/SavedFeeds.tsx:209
+#: src/view/screens/SavedFeeds.tsx:231
+#: src/view/screens/SavedFeeds.tsx:252
+msgid "There was an issue contacting the server"
+msgstr "連線伺服器時出現問題"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
+msgid "There was an issue contacting your server"
+msgstr "連線伺服器時出現問題"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "取得通知時發生問題,點擊這裡重試。"
+
+#: src/view/com/posts/Feed.tsx:283
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "取得貼文時發生問題,點擊這裡重試。"
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+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 "取得列表時發生問題,點擊這裡重試。"
+
+#: src/components/ReportDialog/SubmitView.tsx:83
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
+msgid "There was an issue syncing your preferences with the server"
+msgstr "與伺服器同步偏好設定時發生問題"
+
+#: src/view/screens/AppPasswords.tsx:68
+msgid "There was an issue with fetching your app passwords"
+msgstr "取得應用程式專用密碼時發生問題"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:98
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:120
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:134
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:96
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:108
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
+msgid "There was an issue! {0}"
+msgstr "發生問題了!{0}"
+
+#: src/view/screens/ProfileList.tsx:288
+#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:330
+msgid "There was an issue. Please check your internet connection and try again."
+msgstr "發生問題了。請檢查你的網路連線並重試。"
+
+#: src/view/com/util/ErrorBoundary.tsx:51
+msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
+msgstr "應用程式中發生了意外問題。請告訴我們是否發生在你身上!"
+
+#: src/screens/Deactivated.tsx:106
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Bluesky 迎來了大量新使用者!我們將儘快啟用你的帳號。"
+
+#: src/view/com/auth/create/Step2.tsx:55
+#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
+#~ msgstr "電話號碼有誤,請選擇區號並輸入完整的電話號碼!"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+msgid "These are popular accounts you might like:"
+msgstr "這裡是一些受歡迎的帳號,你可能會喜歡:"
+
+#: src/components/moderation/ScreenHider.tsx:117
+msgid "This {screenDescription} has been flagged:"
+msgstr "{screenDescription} 已被標記:"
+
+#: src/components/moderation/ScreenHider.tsx:112
+msgid "This account has requested that users sign in to view their profile."
+msgstr "此帳號要求使用者登入後才能查看其個人資料。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:205
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:68
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "此內容由 {0} 托管。是否要啟用外部媒體?"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:78
+#: src/lib/moderation/useModerationCauseDescription.ts:77
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "由於其中一個使用者封鎖了另一個使用者,無法查看此內容。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "沒有 Bluesky 帳號,無法查看此內容。"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "此功能目前為測試版本。您可以在<0>這篇部落格文章0>中了解更多有關匯出存放庫的資訊"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "此訊息流由於目前使用人數眾多而暫時無法使用。請稍後再試。"
+
+#: src/screens/Profile/Sections/Feed.tsx:50
+#: src/view/screens/ProfileFeed.tsx:476
+#: src/view/screens/ProfileList.tsx:675
+msgid "This feed is empty!"
+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 "這個訊息流是空的!你或許需要先跟隨更多的人或檢查你的語言設定。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:41
+msgid "This information is not shared with other users."
+msgstr "此資訊不會分享給其他使用者。"
+
+#: 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 "這很重要,以防你將來需要更改電子郵件地址或重設密碼。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:125
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:168
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:58
+msgid "This link is taking you to the following website:"
+msgstr "此連結將帶你到以下網站:"
+
+#: src/view/screens/ProfileList.tsx:853
+msgid "This list is empty!"
+msgstr "此列表為空!"
+
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:106
+msgid "This name is already in use"
+msgstr "此名稱已被使用"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:125
+msgid "This post has been deleted."
+msgstr "此貼文已被刪除。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:344
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/auth/create/Policies.tsx:46
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:446
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:95
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:73
+#: src/lib/moderation/useModerationCauseDescription.ts:68
+msgid "This user has blocked you. You cannot view their content."
+msgstr "此使用者已封鎖你,你無法查看他們的內容。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:42
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "此使用者包含在你已封鎖的 <0/> 列表中。"
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "此使用者包含在你已靜音的 <0/> 列表中。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:56
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:85
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included the <0/> list which you have muted."
+#~ msgstr "此使用者包含在你已靜音的 <0/> 列表中。"
+
+#: src/view/com/profile/ProfileFollows.tsx:94
+msgid "This user isn't following anyone."
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "此警告僅適用於附帶媒體的貼文。"
+
+#: src/components/dialogs/MutedWords.tsx:284
+msgid "This will delete {0} from your muted words. You can always add it back later."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:282
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "這將在你的訊息流中隱藏此貼文。"
+
+#: src/view/screens/Settings/index.tsx:574
+msgid "Thread preferences"
+msgstr ""
+
+#: src/view/screens/PreferencesThreads.tsx:53
+#: src/view/screens/Settings/index.tsx:584
+msgid "Thread Preferences"
+msgstr "對話串偏好"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "對話串模式"
+
+#: src/Navigation.tsx:269
+msgid "Threads Preferences"
+msgstr "對話串偏好"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:35
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:113
+msgid "Toggle between muted word options."
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "切換下拉式選單"
+
+#: src/screens/Moderation/index.tsx:334
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:271
+msgid "Transformations"
+msgstr "轉換"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:644
+#: src/view/com/post-thread/PostThreadItem.tsx:646
+#: src/view/com/util/forms/PostDropdownBtn.tsx:212
+#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+msgid "Translate"
+msgstr "翻譯"
+
+#: src/view/com/util/error/ErrorScreen.tsx:82
+msgctxt "action"
+msgid "Try again"
+msgstr "重試"
+
+#: src/view/com/modals/ChangeHandle.tsx:429
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:478
+msgid "Un-block list"
+msgstr "取消封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:461
+msgid "Un-mute list"
+msgstr "取消靜音列表"
+
+#: src/view/com/auth/create/CreateAccount.tsx:58
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
+#: src/view/com/auth/login/Login.tsx:76
+#: src/view/com/auth/login/LoginForm.tsx:121
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "無法連線到服務,請檢查你的網路連線。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:174
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:572
+msgid "Unblock"
+msgstr "取消封鎖"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+msgctxt "action"
+msgid "Unblock"
+msgstr "取消封鎖"
+
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
+msgid "Unblock Account"
+msgstr "取消封鎖"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:42
+#: src/view/com/modals/Repost.tsx:55
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "取消轉發"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:246
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
+msgctxt "action"
+msgid "Unfollow"
+msgstr "取消跟隨"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:213
+msgid "Unfollow {0}"
+msgstr "取消跟隨 {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:262
+msgid "Unfortunately, you do not meet the requirements to create an account."
+msgstr "很遺憾,你不符合建立帳號的要求。"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+msgid "Unlike"
+msgstr "取消喜歡"
+
+#: src/view/screens/ProfileFeed.tsx:572
+msgid "Unlike this feed"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:249
+#: src/view/screens/ProfileList.tsx:579
+msgid "Unmute"
+msgstr "取消靜音"
+
+#: src/components/TagMenu/index.web.tsx:104
+msgid "Unmute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
+msgid "Unmute Account"
+msgstr "取消靜音帳號"
+
+#: src/components/TagMenu/index.tsx:208
+msgid "Unmute all {displayTag} posts"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:210
+#~ msgid "Unmute all {tag} posts"
+#~ msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:251
+#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+msgid "Unmute thread"
+msgstr "取消靜音對話串"
+
+#: src/view/screens/ProfileFeed.tsx:294
+#: src/view/screens/ProfileList.tsx:563
+msgid "Unpin"
+msgstr "取消固定"
+
+#: src/view/screens/ProfileFeed.tsx:291
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:444
+msgid "Unpin moderation list"
+msgstr "取消固定限制列表"
+
+#: src/view/screens/ProfileFeed.tsx:346
+#~ msgid "Unsave"
+#~ msgstr "取消儲存"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "更新列表中的 {displayName}"
+
+#: src/lib/hooks/useOTAUpdate.ts:15
+#~ msgid "Update Available"
+#~ msgstr "更新可用"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+msgid "Updating..."
+msgstr "更新中…"
+
+#: src/view/com/modals/ChangeHandle.tsx:455
+msgid "Upload a text file to:"
+msgstr "上傳文字檔案至:"
+
+#: src/view/com/util/UserAvatar.tsx:326
+#: src/view/com/util/UserAvatar.tsx:329
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:337
+#: src/view/com/util/UserAvatar.tsx:341
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:409
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
+msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
+msgstr "使用應用程式專用密碼登入到其他 Bluesky 用戶端,而無需提供你的帳號或密碼。"
+
+#: src/view/com/modals/ChangeHandle.tsx:518
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use default provider"
+msgstr "使用預設提供商"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "使用內建瀏覽器"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "使用我的預設瀏覽器"
+
+#: src/view/com/modals/ChangeHandle.tsx:401
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:155
+msgid "Use this to sign into the other app along with your handle."
+msgstr "使用這個和你的帳號代碼一起登入其他應用程式。"
+
+#: src/view/com/modals/ServerInput.tsx:105
+#~ msgid "Use your domain as your Bluesky client service provider"
+#~ msgstr "將你的網域用作 Bluesky 用戶端服務提供商"
+
+#: src/view/com/modals/InviteCodes.tsx:200
+msgid "Used by:"
+msgstr "使用者:"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:65
+#: src/lib/moderation/useModerationCauseDescription.ts:56
+msgid "User Blocked"
+msgstr "使用者被封鎖"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:54
+msgid "User Blocked by List"
+msgstr "使用者被列表封鎖"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:71
+msgid "User Blocks You"
+msgstr "使用者封鎖了你"
+
+#: src/view/com/auth/create/Step2.tsx:79
+msgid "User handle"
+msgstr "帳號代碼"
+
+#: src/view/com/lists/ListCard.tsx:85
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "{0} 的使用者列表"
+
+#: src/view/screens/ProfileList.tsx:777
+msgid "User list by <0/>"
+msgstr "<0/> 的使用者列表"
+
+#: src/view/com/lists/ListCard.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:775
+msgid "User list by you"
+msgstr "你的使用者列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:196
+msgid "User list created"
+msgstr "使用者列表已建立"
+
+#: src/view/com/modals/CreateOrEditList.tsx:182
+msgid "User list updated"
+msgstr "使用者列表已更新"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "使用者列表"
+
+#: src/view/com/auth/login/LoginForm.tsx:180
+#: src/view/com/auth/login/LoginForm.tsx:198
+msgid "Username or email address"
+msgstr "使用者名稱或電子郵件地址"
+
+#: src/view/screens/ProfileList.tsx:811
+msgid "Users"
+msgstr "使用者"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "跟隨 <0/> 的使用者"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "「{0}」中的使用者"
+
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:437
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:243
+#~ msgid "Verification code"
+#~ msgstr "驗證碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:510
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:944
+msgid "Verify email"
+msgstr "驗證電子郵件"
+
+#: src/view/screens/Settings/index.tsx:969
+msgid "Verify my email"
+msgstr "驗證我的電子郵件"
+
+#: src/view/screens/Settings/index.tsx:978
+msgid "Verify My Email"
+msgstr "驗證我的電子郵件"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "驗證新的電子郵件"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "驗證你的電子郵件"
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "電子遊戲"
+
+#: src/screens/Profile/Header/Shell.tsx:110
+msgid "View {0}'s avatar"
+msgstr "查看{0}的頭貼"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "查看除錯項目"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:133
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:128
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
+msgid "View full thread"
+msgstr "查看整個對話串"
+
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "View profile"
+msgstr "查看資料"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "查看頭像"
+
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:584
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:75
+#: src/view/com/modals/LinkWarning.tsx:77
+msgid "Visit Site"
+msgstr "造訪網站"
+
+#: src/components/moderation/GlobalModerationLabelPref.tsx:44
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
+msgid "Warn"
+msgstr "警告"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+msgid "We also think you'll like \"For You\" by Skygaze:"
+msgstr "我們認為你還會喜歡 Skygaze 維護的「For You」:"
+
+#: src/screens/Hashtag.tsx:132
+msgid "We couldn't find any results for that hashtag."
+msgstr ""
+
+#: src/screens/Deactivated.tsx:133
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "我們估計還需要 {estimatedTime} 才能準備好你的帳號。"
+
+#: src/screens/Onboarding/StepFinished.tsx:93
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "我們希望你在此度過愉快的時光。請記住,Bluesky 是:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "你已看完了你跟隨的貼文。這是 <0/> 的最新貼文。"
+
+#: src/components/dialogs/MutedWords.tsx:204
+msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+msgid "We recommend our \"Discover\" feed:"
+msgstr "我們推薦我們的「Discover」訊息流:"
+
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:387
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:133
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "我們無法連線到網際網路,請重試以繼續設定你的帳號。如果仍繼續失敗,你可以選擇跳過此流程。"
+
+#: src/screens/Deactivated.tsx:137
+msgid "We will let you know when your account is ready."
+msgstr "我們會在你的帳號準備好時通知你。"
+
+#: src/view/com/modals/AppealLabel.tsx:48
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "我們將迅速審查你的申訴。"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:138
+msgid "We'll use this to help customize your experience."
+msgstr "我們將使用這些資訊來幫助定制你的體驗。"
+
+#: src/view/com/auth/create/CreateAccount.tsx:134
+msgid "We're so excited to have you join us!"
+msgstr "我們非常高興你加入我們!"
+
+#: src/view/screens/ProfileList.tsx:89
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "很抱歉,我們無法解析此列表。如果問題持續發生,請聯繫列表建立者 @{handleOrDid}。"
+
+#: src/components/dialogs/MutedWords.tsx:230
+msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:255
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "很抱歉,無法完成你的搜尋請求。請稍後再試。"
+
+#: src/components/Lists.tsx:194
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "很抱歉!我們找不到你正在尋找的頁面。"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:319
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
+msgid "Welcome to <0>Bluesky0>"
+msgstr "歡迎來到 <0>Bluesky0>"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:130
+msgid "What are your interests?"
+msgstr "你感興趣的是什麼?"
+
+#: src/view/com/modals/report/Modal.tsx:169
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "這個 {collectionName} 有什麼問題?"
+
+#: src/view/com/auth/SplashScreen.tsx:59
+#: src/view/com/composer/Composer.tsx:295
+msgid "What's up?"
+msgstr "發生了什麼新鮮事?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "這個貼文使用了哪些語言?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "你想在演算法訊息流中看到哪些語言?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "誰可以回覆"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:44
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:57
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:54
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:51
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:48
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+msgid "Wide"
+msgstr "寬"
+
+#: src/view/com/composer/Composer.tsx:435
+msgid "Write post"
+msgstr "撰寫貼文"
+
+#: src/view/com/composer/Composer.tsx:294
+#: src/view/com/composer/Prompt.tsx:37
+msgid "Write your reply"
+msgstr "撰寫你的回覆"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "作家"
+
+#: src/view/com/auth/create/Step2.tsx:263
+#~ msgid "XXXXXX"
+#~ msgstr "XXXXXX"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:201
+#: src/view/screens/PreferencesFollowingFeed.tsx:236
+#: src/view/screens/PreferencesFollowingFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "開"
+
+#: src/screens/Deactivated.tsx:130
+msgid "You are in line."
+msgstr "輪到你了。"
+
+#: src/view/com/profile/ProfileFollows.tsx:93
+msgid "You are not following anyone."
+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 "你也可以探索並跟隨新的自訂訊息流。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+msgid "You can change these settings later."
+msgstr "你可以稍後在設定中更改。"
+
+#: src/view/com/auth/login/Login.tsx:158
+#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+msgid "You can now sign in with your new password."
+msgstr "你現在可以使用新密碼登入。"
+
+#: src/view/com/profile/ProfileFollowers.tsx:94
+msgid "You do not have any followers."
+msgstr ""
+
+#: 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 "你目前還沒有邀請碼!當你持續使用 Bluesky 一段時間後,我們將提供一些新的邀請碼給你。"
+
+#: src/view/screens/SavedFeeds.tsx:102
+msgid "You don't have any pinned feeds."
+msgstr "你目前還沒有任何固定的訊息流。"
+
+#: src/view/screens/Feeds.tsx:452
+msgid "You don't have any saved feeds!"
+msgstr "你目前還沒有任何儲存的訊息流!"
+
+#: src/view/screens/SavedFeeds.tsx:135
+msgid "You don't have any saved feeds."
+msgstr "你目前還沒有任何儲存的訊息流。"
+
+#: src/view/com/post-thread/PostThread.tsx:159
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "你已封鎖該作者,或你已被該作者封鎖。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:67
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
+msgid "You have blocked this user. You cannot view their content."
+msgstr "你已封鎖了此使用者,你將無法查看他們發佈的內容。"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "你輸入的邀請碼無效。它應該長得像這樣 XXXXX-XXXXX。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:102
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:95
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "你已將這個使用者靜音。"
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:136
+msgid "You have no feeds."
+msgstr "你沒有訂閱訊息流。"
+
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:140
+msgid "You have no lists."
+msgstr "你沒有列表。"
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
+
+#: 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 "你還沒有封鎖任何帳號。要封鎖帳號,請轉到其個人資料並在其帳號上的選單中選擇「封鎖帳號」。"
+
+#: src/view/screens/AppPasswords.tsx:89
+msgid "You have not created any app passwords yet. You can create one by pressing the button below."
+msgstr "你還沒有建立任何應用程式專用密碼,如你想建立一個,按下面的按鈕。"
+
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
+
+#: 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 "你還沒有靜音任何帳號。要靜音帳號,請轉到其個人資料並在其帳號上的選單中選擇「靜音帳號」。"
+
+#: src/components/dialogs/MutedWords.tsx:250
+msgid "You haven't muted any words or tags yet"
+msgstr "你还没有隐藏任何词或话题标签"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:69
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "你必須年滿 18 歲才能啟用成人內容。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
+msgid "You must be 18 years or older to enable adult content"
+msgstr "你必須年滿 18 歲才能啟用成人內容"
+
+#: src/components/ReportDialog/SubmitView.tsx:205
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:144
+msgid "You will no longer receive notifications for this thread"
+msgstr "你將不再收到這條對話串的通知"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+msgid "You will now receive notifications for this thread"
+msgstr "你將收到這條對話串的通知"
+
+#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "你將收到一封包含重設碼的電子郵件。請在此輸入該重設代碼,然後輸入你的新密碼。"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:59
+msgid "You're in control"
+msgstr "你盡在掌控"
+
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:103
+msgid "You're in line"
+msgstr "輪到你了"
+
+#: src/screens/Onboarding/StepFinished.tsx:90
+msgid "You're ready to go!"
+msgstr "你已設定完成!"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:99
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "你已經瀏覽完你的訂閱訊息流啦!跟隨其他帳號吧。"
+
+#: src/view/com/auth/create/Step1.tsx:67
+msgid "Your account"
+msgstr "你的帳號"
+
+#: src/view/com/modals/DeleteAccount.tsx:67
+msgid "Your account has been deleted"
+msgstr "你的帳號已刪除"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:47
+msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
+msgstr "你可以將你的帳號存放庫下載為一個「CAR」檔案。該檔案包含了所有公開的資料紀錄,但不包括嵌入媒體,例如圖片或你的私人資料,目前這些資料必須另外擷取。"
+
+#: src/view/com/auth/create/Step1.tsx:215
+msgid "Your birth date"
+msgstr "你的生日"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "你的選擇將被儲存,但可以稍後在設定中更改。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+msgid "Your default feed is \"Following\""
+msgstr "你的預設訊息流為「跟隨」"
+
+#: src/view/com/auth/create/state.ts:110
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "你的電子郵件地址似乎無效。"
+
+#: src/view/com/modals/Waitlist.tsx:109
+#~ msgid "Your email has been saved! We'll be in touch soon."
+#~ msgstr "你的電子郵件地址已儲存!我們將很快聯繫你。"
+
+#: 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 "你的電子郵件地址已更新但尚未驗證。作為下一步,請驗證你的新電子郵件地址。"
+
+#: 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 "你的電子郵件地址尚未驗證。這是一個我們建議的重要安全步驟。"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "你的跟隨訊息流是空的!跟隨更多使用者看看發生了什麼事情。"
+
+#: src/view/com/auth/create/Step2.tsx:83
+msgid "Your full handle will be"
+msgstr "你的完整帳號代碼將修改為"
+
+#: src/view/com/modals/ChangeHandle.tsx:270
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "你的完整帳號代碼將修改為 <0>@{0}0>"
+
+#: src/view/screens/Settings.tsx:430
+#: src/view/shell/desktop/RightNav.tsx:137
+#: src/view/shell/Drawer.tsx:660
+#~ msgid "Your invite codes are hidden when logged in using an App Password"
+#~ msgstr "在使用應用程式專用密碼登入時,你的邀請碼將被隱藏"
+
+#: src/components/dialogs/MutedWords.tsx:221
+msgid "Your muted words"
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:157
+msgid "Your password has been changed successfully!"
+msgstr "你的密碼已成功更改!"
+
+#: src/view/com/composer/Composer.tsx:283
+msgid "Your post has been published"
+msgstr "你的貼文已發佈"
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
+msgid "Your posts, likes, and blocks are public. Mutes are private."
+msgstr "你的貼文、按喜歡和封鎖是公開可見的,而靜音是私人的。"
+
+#: src/view/com/modals/SwitchAccount.tsx:88
+#: src/view/screens/Settings/index.tsx:125
+msgid "Your profile"
+msgstr "你的個人資料"
+
+#: src/view/com/composer/Composer.tsx:282
+msgid "Your reply has been published"
+msgstr "你的回覆已發佈"
+
+#: src/view/com/auth/create/Step2.tsx:65
+msgid "Your user handle"
+msgstr "你的帳號代碼"
diff --git a/src/platform/polyfills.web.ts b/src/platform/polyfills.web.ts
index 0b4a282835..462f65a260 100644
--- a/src/platform/polyfills.web.ts
+++ b/src/platform/polyfills.web.ts
@@ -6,3 +6,32 @@ findLast.shim()
// @ts-ignore whatever typescript wants to complain about here, I dont care about -prf
window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
+
+if (process.env.NODE_ENV !== 'production') {
+ // In development, react-native-web's tries to validate that
+ // text is wrapped into . It doesn't catch all cases but is useful.
+ // Unfortunately, it only does that via console.error so it's easy to miss.
+ // This is a hack to get it showing as a redbox on the web so we catch it early.
+ const realConsoleError = console.error
+ const thrownErrors = new WeakSet()
+ console.error = function consoleErrorWrapper(msgOrError) {
+ if (
+ typeof msgOrError === 'string' &&
+ msgOrError.startsWith('Unexpected text node')
+ ) {
+ if (
+ msgOrError ===
+ 'Unexpected text node: . A text node cannot be a child of a .'
+ ) {
+ // This is due to a stray empty string.
+ // React already handles this fine, so RNW warning is a false positive. Ignore.
+ return
+ }
+ const err = new Error(msgOrError)
+ thrownErrors.add(err)
+ throw err
+ } else if (!thrownErrors.has(msgOrError)) {
+ return realConsoleError.apply(this, arguments as any)
+ }
+ }
+}
diff --git a/src/screens/Hashtag.tsx b/src/screens/Hashtag.tsx
index 46452f087e..5388593f14 100644
--- a/src/screens/Hashtag.tsx
+++ b/src/screens/Hashtag.tsx
@@ -1,28 +1,30 @@
import React from 'react'
import {ListRenderItemInfo, Pressable} from 'react-native'
+import {PostView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useFocusEffect} from '@react-navigation/native'
-import {useSetMinimalShellMode} from 'state/shell'
-import {ViewHeader} from 'view/com/util/ViewHeader'
import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {HITSLOP_10} from 'lib/constants'
+import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
import {CommonNavigatorParams} from 'lib/routes/types'
+import {shareUrl} from 'lib/sharing'
+import {cleanError} from 'lib/strings/errors'
+import {sanitizeHandle} from 'lib/strings/handles'
+import {enforceLen} from 'lib/strings/helpers'
+import {isNative} from 'platform/detection'
import {useSearchPostsQuery} from 'state/queries/search-posts'
+import {useSetMinimalShellMode} from 'state/shell'
import {Post} from 'view/com/post/Post'
-import {PostView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
-import {enforceLen} from 'lib/strings/helpers'
+import {List} from 'view/com/util/List'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {ArrowOutOfBox_Stroke2_Corner0_Rounded} from '#/components/icons/ArrowOutOfBox'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {List} from 'view/com/util/List'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {ArrowOutOfBox_Stroke2_Corner0_Rounded} from '#/components/icons/ArrowOutOfBox'
-import {shareUrl} from 'lib/sharing'
-import {HITSLOP_10} from 'lib/constants'
-import {isNative} from 'platform/detection'
-import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
const renderItem = ({item}: ListRenderItemInfo) => {
return
@@ -61,9 +63,8 @@ export default function HashtagScreen({
const {
data,
- isFetching,
+ isFetchingNextPage,
isLoading,
- isRefetching,
isError,
error,
refetch,
@@ -97,9 +98,9 @@ export default function HashtagScreen({
}, [refetch])
const onEndReached = React.useCallback(() => {
- if (isFetching || !hasNextPage || error) return
+ if (isFetchingNextPage || !hasNextPage || error) return
fetchNextPage()
- }, [isFetching, hasNextPage, error, fetchNextPage])
+ }, [isFetchingNextPage, hasNextPage, error, fetchNextPage])
return (
<>
@@ -123,16 +124,16 @@ export default function HashtagScreen({
: undefined
}
/>
-
- {!isLoading && posts.length > 0 && (
-
+ {posts.length < 1 ? (
+
+ ) : (
+
}
diff --git a/src/screens/Login/ChooseAccountForm.tsx b/src/screens/Login/ChooseAccountForm.tsx
index d0d4c784d0..01eca18760 100644
--- a/src/screens/Login/ChooseAccountForm.tsx
+++ b/src/screens/Login/ChooseAccountForm.tsx
@@ -5,76 +5,15 @@ import {useLingui} from '@lingui/react'
import {useAnalytics} from '#/lib/analytics/analytics'
import {logEvent} from '#/lib/statsig/statsig'
-import {colors} from '#/lib/styles'
-import {useProfileQuery} from '#/state/queries/profile'
import {SessionAccount, useSession, useSessionApi} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import * as Toast from '#/view/com/util/Toast'
-import {UserAvatar} from '#/view/com/util/UserAvatar'
-import {atoms as a, useTheme} from '#/alf'
+import {atoms as a} from '#/alf'
+import {AccountList} from '#/components/AccountList'
import {Button} from '#/components/Button'
import * as TextField from '#/components/forms/TextField'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
-import {ChevronRight_Stroke2_Corner0_Rounded as Chevron} from '#/components/icons/Chevron'
-import {Text} from '#/components/Typography'
import {FormContainer} from './FormContainer'
-function AccountItem({
- account,
- onSelect,
- isCurrentAccount,
-}: {
- account: SessionAccount
- onSelect: (account: SessionAccount) => void
- isCurrentAccount: boolean
-}) {
- const t = useTheme()
- const {_} = useLingui()
- const {data: profile} = useProfileQuery({did: account.did})
-
- const onPress = React.useCallback(() => {
- onSelect(account)
- }, [account, onSelect])
-
- return (
-
- )
-}
export const ChooseAccountForm = ({
onSelectAccount,
onPressBack,
@@ -84,8 +23,7 @@ export const ChooseAccountForm = ({
}) => {
const {track, screen} = useAnalytics()
const {_} = useLingui()
- const t = useTheme()
- const {accounts, currentAccount} = useSession()
+ const {currentAccount} = useSession()
const {initSession} = useSessionApi()
const {setShowLoggedOut} = useLoggedOutViewControls()
@@ -120,57 +58,15 @@ export const ChooseAccountForm = ({
return (
Select account}>
+ titleText={Select account}>
-
+ Sign in as...
-
-
- {accounts.map(account => (
-
-
-
-
- ))}
-
-
+
+ onSelectAccount()}
+ />
-
+ Learn more about what is public on Bluesky.
-
+
)
diff --git a/src/screens/Onboarding/Layout.tsx b/src/screens/Onboarding/Layout.tsx
index 6337cee09d..cfaf20ffe1 100644
--- a/src/screens/Onboarding/Layout.tsx
+++ b/src/screens/Onboarding/Layout.tsx
@@ -1,29 +1,27 @@
import React from 'react'
import {View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {useLingui} from '@lingui/react'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {IS_DEV} from '#/env'
import {isWeb} from '#/platform/detection'
import {useOnboardingDispatch} from '#/state/shell'
-
+import {ScrollView} from '#/view/com/util/Views'
+import {Context} from '#/screens/Onboarding/state'
import {
- useTheme,
atoms as a,
- useBreakpoints,
- web,
- native,
flatten,
+ native,
TextStyleProp,
+ useBreakpoints,
+ useTheme,
+ web,
} from '#/alf'
-import {P, leading, Text} from '#/components/Typography'
-import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
import {Button, ButtonIcon} from '#/components/Button'
-import {ScrollView} from '#/view/com/util/Views'
+import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
import {createPortalGroup} from '#/components/Portal'
-
-import {Context} from '#/screens/Onboarding/state'
+import {leading, P, Text} from '#/components/Typography'
+import {IS_DEV} from '#/env'
const COL_WIDTH = 500
@@ -204,7 +202,7 @@ export function Layout({children}: React.PropsWithChildren<{}>) {
)
}
-export function Title({
+export function TitleText({
children,
style,
}: React.PropsWithChildren) {
@@ -224,7 +222,7 @@ export function Title({
)
}
-export function Description({
+export function DescriptionText({
children,
style,
}: React.PropsWithChildren) {
diff --git a/src/screens/Onboarding/StepAlgoFeeds/index.tsx b/src/screens/Onboarding/StepAlgoFeeds/index.tsx
index 35f525ef28..4ba61696f8 100644
--- a/src/screens/Onboarding/StepAlgoFeeds/index.tsx
+++ b/src/screens/Onboarding/StepAlgoFeeds/index.tsx
@@ -6,9 +6,9 @@ import {useLingui} from '@lingui/react'
import {useAnalytics} from '#/lib/analytics/analytics'
import {logEvent} from '#/lib/statsig/statsig'
import {
- Description,
+ DescriptionText,
OnboardingControls,
- Title,
+ TitleText,
} from '#/screens/Onboarding/Layout'
import {Context} from '#/screens/Onboarding/state'
import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
@@ -105,15 +105,15 @@ export function StepAlgoFeeds() {
-
+ Choose your main feeds
-
-
+
+
Custom feeds built by the community bring you new experiences and help
you find the content you love.
-
+
-
+ You're ready to go!
-
-
+
+ We hope you have a wonderful time. Remember, Bluesky is:
-
+
diff --git a/src/screens/Onboarding/StepFollowingFeed.tsx b/src/screens/Onboarding/StepFollowingFeed.tsx
index e886a08911..a1c7299f02 100644
--- a/src/screens/Onboarding/StepFollowingFeed.tsx
+++ b/src/screens/Onboarding/StepFollowingFeed.tsx
@@ -10,9 +10,9 @@ import {
useSetFeedViewPreferencesMutation,
} from 'state/queries/preferences'
import {
- Description,
+ DescriptionText,
OnboardingControls,
- Title,
+ TitleText,
} from '#/screens/Onboarding/Layout'
import {Context} from '#/screens/Onboarding/state'
import {atoms as a} from '#/alf'
@@ -58,12 +58,12 @@ export function StepFollowingFeed() {
-
+ Your default feed is "Following"
-
-
+
+ It shows posts from the people you follow as they happen.
-
+
-
+ You can change these settings later.
-
+
- {title}
- {description}
+ {title}
+ {description}
{isLoading ? (
diff --git a/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx b/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
index 9e59c1db62..7563bece10 100644
--- a/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
+++ b/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
@@ -113,15 +113,15 @@ export function AdultContentEnabledPref({
)}
-
+ Adult Content
-
-
+
+
Due to Apple policies, adult content can only be enabled on the web
after completing sign up.
-
+
prompt.close()} cta={_(msg`OK`)} />
diff --git a/src/screens/Onboarding/StepModeration/index.tsx b/src/screens/Onboarding/StepModeration/index.tsx
index c5bdf56224..d494f48dd1 100644
--- a/src/screens/Onboarding/StepModeration/index.tsx
+++ b/src/screens/Onboarding/StepModeration/index.tsx
@@ -9,9 +9,9 @@ import {logEvent} from '#/lib/statsig/statsig'
import {usePreferencesQuery} from '#/state/queries/preferences'
import {usePreferencesSetAdultContentMutation} from 'state/queries/preferences'
import {
- Description,
+ DescriptionText,
OnboardingControls,
- Title,
+ TitleText,
} from '#/screens/Onboarding/Layout'
import {Context} from '#/screens/Onboarding/state'
import {AdultContentEnabledPref} from '#/screens/Onboarding/StepModeration/AdultContentEnabledPref'
@@ -56,14 +56,14 @@ export function StepModeration() {
-
+ You're in control
-
-
+
+
Select what you want to see (or not see), and we’ll handle the rest.
-
+
{!preferences ? (
diff --git a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
index 2e6161362c..e9bc3f0fde 100644
--- a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
+++ b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
@@ -10,9 +10,9 @@ import {capitalize} from '#/lib/strings/capitalize'
import {useModerationOpts} from '#/state/queries/preferences'
import {useProfilesQuery} from '#/state/queries/profile'
import {
- Description,
+ DescriptionText,
OnboardingControls,
- Title,
+ TitleText,
} from '#/screens/Onboarding/Layout'
import {Context} from '#/screens/Onboarding/state'
import {
@@ -136,16 +136,16 @@ export function StepSuggestedAccounts() {
-
+ Here are some accounts for you to follow
-
-
+
+
{state.interestsStepResults.selectedInterests.length ? (
Based on your interest in {interestsText}
) : (
These are popular accounts you might like:
)}
-
+
{isLoading ? (
diff --git a/src/screens/Onboarding/StepTopicalFeeds.tsx b/src/screens/Onboarding/StepTopicalFeeds.tsx
index 26b1c243b0..bfc9e91d1b 100644
--- a/src/screens/Onboarding/StepTopicalFeeds.tsx
+++ b/src/screens/Onboarding/StepTopicalFeeds.tsx
@@ -9,9 +9,9 @@ import {capitalize} from '#/lib/strings/capitalize'
import {IS_TEST_USER} from 'lib/constants'
import {useSession} from 'state/session'
import {
- Description,
+ DescriptionText,
OnboardingControls,
- Title,
+ TitleText,
} from '#/screens/Onboarding/Layout'
import {Context} from '#/screens/Onboarding/state'
import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
@@ -76,10 +76,10 @@ export function StepTopicalFeeds() {
-
+ Feeds can be topical as well!
-
-
+
+
{state.interestsStepResults.selectedInterests.length ? (
Here are some topical feeds based on your interests: {interestsText}
@@ -91,7 +91,7 @@ export function StepTopicalFeeds() {
many as you like.
)}
-
+
-
{pluralizedFollowers}
-
-
+
-
+
{formatCount(profile.postsCount || 0)}{' '}
diff --git a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
index a93cda134f..4d8dbad86c 100644
--- a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
@@ -242,6 +242,8 @@ let ProfileHeaderLabeler = ({
style={[a.text_md]}
numberOfLines={15}
value={descriptionRT}
+ enableTags
+ authorHandle={profile.handle}
/>
) : undefined}
@@ -314,13 +316,13 @@ function CantSubscribePrompt({
const {_} = useLingui()
return (
- Unable to subscribe
-
+ Unable to subscribe
+
We're sorry! You can only subscribe to ten labelers, and you've
reached your limit of ten.
-
+
diff --git a/src/screens/Profile/Header/ProfileHeaderStandard.tsx b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
index 8b90382441..420b54f491 100644
--- a/src/screens/Profile/Header/ProfileHeaderStandard.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
@@ -2,39 +2,38 @@ import React, {memo, useMemo} from 'react'
import {View} from 'react-native'
import {
AppBskyActorDefs,
- ModerationOpts,
moderateProfile,
+ ModerationOpts,
RichText as RichTextAPI,
} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useSession, useRequireAuth} from '#/state/session'
+import {logger} from '#/logger'
import {Shadow} from '#/state/cache/types'
-import {useProfileShadow} from 'state/cache/profile-shadow'
+import {useModalControls} from '#/state/modals'
import {
- useProfileFollowMutationQueue,
useProfileBlockMutationQueue,
+ useProfileFollowMutationQueue,
} from '#/state/queries/profile'
-import {logger} from '#/logger'
+import {useRequireAuth, useSession} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
import {sanitizeDisplayName} from 'lib/strings/display-names'
-
-import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonText, ButtonIcon} from '#/components/Button'
-import * as Toast from '#/view/com/util/Toast'
-import {ProfileHeaderShell} from './Shell'
+import {useProfileShadow} from 'state/cache/profile-shadow'
+import {ProfileHeaderSuggestedFollows} from '#/view/com/profile/ProfileHeaderSuggestedFollows'
import {ProfileMenu} from '#/view/com/profile/ProfileMenu'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import * as Prompt from '#/components/Prompt'
+import {RichText} from '#/components/RichText'
import {ProfileHeaderDisplayName} from './DisplayName'
import {ProfileHeaderHandle} from './Handle'
import {ProfileHeaderMetrics} from './Metrics'
-import {ProfileHeaderSuggestedFollows} from '#/view/com/profile/ProfileHeaderSuggestedFollows'
-import {RichText} from '#/components/RichText'
-import * as Prompt from '#/components/Prompt'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {ProfileHeaderShell} from './Shell'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
@@ -248,6 +247,8 @@ let ProfileHeaderStandard = ({
style={[a.text_md]}
numberOfLines={15}
value={descriptionRT}
+ enableTags
+ authorHandle={profile.handle}
/>
) : undefined}
diff --git a/src/screens/Profile/ProfileLabelerLikedBy.tsx b/src/screens/Profile/ProfileLabelerLikedBy.tsx
index 1d21675208..8650ac2e64 100644
--- a/src/screens/Profile/ProfileLabelerLikedBy.tsx
+++ b/src/screens/Profile/ProfileLabelerLikedBy.tsx
@@ -4,13 +4,11 @@ import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useFocusEffect} from '@react-navigation/native'
-import {NativeStackScreenProps, CommonNavigatorParams} from '#/lib/routes/types'
+import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
+import {makeRecordUri} from '#/lib/strings/url-helpers'
+import {useSetMinimalShellMode} from '#/state/shell'
import {ViewHeader} from '#/view/com/util/ViewHeader'
import {LikedByList} from '#/components/LikedByList'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {makeRecordUri} from '#/lib/strings/url-helpers'
-
-import {atoms as a, useBreakpoints} from '#/alf'
export function ProfileLabelerLikedByScreen({
route,
@@ -19,7 +17,6 @@ export function ProfileLabelerLikedByScreen({
const {name: handleOrDid} = route.params
const uri = makeRecordUri(handleOrDid, 'app.bsky.labeler.service', 'self')
const {_} = useLingui()
- const {gtMobile} = useBreakpoints()
useFocusEffect(
React.useCallback(() => {
@@ -28,17 +25,7 @@ export function ProfileLabelerLikedByScreen({
)
return (
-
+
diff --git a/src/screens/Profile/Sections/Labels.tsx b/src/screens/Profile/Sections/Labels.tsx
index 2b2b995940..5ba8f00a58 100644
--- a/src/screens/Profile/Sections/Labels.tsx
+++ b/src/screens/Profile/Sections/Labels.tsx
@@ -1,30 +1,29 @@
import React from 'react'
import {View} from 'react-native'
+import {useSafeAreaFrame} from 'react-native-safe-area-context'
import {
AppBskyLabelerDefs,
- ModerationOpts,
- interpretLabelValueDefinitions,
InterpretedLabelValueDefinition,
+ interpretLabelValueDefinitions,
+ ModerationOpts,
} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useSafeAreaFrame} from 'react-native-safe-area-context'
-import {useScrollHandlers} from '#/lib/ScrollContext'
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
import {isLabelerSubscribed, lookupLabelValueDefinition} from '#/lib/moderation'
-import {ListRef} from '#/view/com/util/List'
-import {SectionRef} from './types'
+import {useScrollHandlers} from '#/lib/ScrollContext'
import {isNative} from '#/platform/detection'
-
-import {useTheme, atoms as a} from '#/alf'
-import {Text} from '#/components/Typography'
-import {Loader} from '#/components/Loader'
-import {Divider} from '#/components/Divider'
+import {ListRef} from '#/view/com/util/List'
import {CenteredView, ScrollView} from '#/view/com/util/Views'
-import {ErrorState} from '../ErrorState'
-import {LabelerLabelPreference} from '#/components/moderation/LabelPreference'
+import {atoms as a, useTheme} from '#/alf'
+import {Divider} from '#/components/Divider'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+import {Loader} from '#/components/Loader'
+import {LabelerLabelPreference} from '#/components/moderation/LabelPreference'
+import {Text} from '#/components/Typography'
+import {ErrorState} from '../ErrorState'
+import {SectionRef} from './types'
interface LabelsSectionProps {
isLabelerLoading: boolean
diff --git a/src/screens/Signup/StepInfo/Policies.tsx b/src/screens/Signup/StepInfo/Policies.tsx
index 4879ae7b3e..f25bda274f 100644
--- a/src/screens/Signup/StepInfo/Policies.tsx
+++ b/src/screens/Signup/StepInfo/Policies.tsx
@@ -6,7 +6,7 @@ import {useLingui} from '@lingui/react'
import {atoms as a, useTheme} from '#/alf'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
-import {InlineLink} from '#/components/Link'
+import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
export const Policies = ({
@@ -45,16 +45,16 @@ export const Policies = ({
const els = []
if (tos) {
els.push(
-
+
{_(msg`Terms of Service`)}
- ,
+ ,
)
}
if (pp) {
els.push(
-
+
{_(msg`Privacy Policy`)}
- ,
+ ,
)
}
if (els.length === 2) {
diff --git a/src/screens/Signup/StepInfo/index.tsx b/src/screens/Signup/StepInfo/index.tsx
index 136592a0b1..d22d1323a7 100644
--- a/src/screens/Signup/StepInfo/index.tsx
+++ b/src/screens/Signup/StepInfo/index.tsx
@@ -36,9 +36,9 @@ export function StepInfo() {
-
+ Hosting provider
-
+
@@ -54,9 +54,9 @@ export function StepInfo() {
<>
{state.serviceDescription.inviteCodeRequired && (
-
+ Invite code
-
+
)}
-
+ Email
-
+
-
+ Password
-
+
-
+ Your birth date
-
+
void}) {
@@ -215,9 +215,9 @@ export function Signup({onPressBack}: {onPressBack: () => void}) {
Having trouble?{' '}
-
+ Contact support
-
+
diff --git a/src/state/cache/post-shadow.ts b/src/state/cache/post-shadow.ts
index 7cf72fae43..6225cbdba0 100644
--- a/src/state/cache/post-shadow.ts
+++ b/src/state/cache/post-shadow.ts
@@ -1,13 +1,14 @@
-import {useEffect, useState, useMemo} from 'react'
-import EventEmitter from 'eventemitter3'
+import {useEffect, useMemo, useState} from 'react'
import {AppBskyFeedDefs} from '@atproto/api'
+import {QueryClient} from '@tanstack/react-query'
+import EventEmitter from 'eventemitter3'
+
import {batchedUpdates} from '#/lib/batchedUpdates'
-import {Shadow, castAsShadow} from './types'
import {findAllPostsInQueryData as findAllPostsInNotifsQueryData} from '../queries/notifications/feed'
import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from '../queries/post-feed'
import {findAllPostsInQueryData as findAllPostsInThreadQueryData} from '../queries/post-thread'
import {findAllPostsInQueryData as findAllPostsInSearchQueryData} from '../queries/search-posts'
-import {queryClient} from 'lib/react-query'
+import {castAsShadow, Shadow} from './types'
export type {Shadow} from './types'
export interface PostShadow {
@@ -93,8 +94,12 @@ function mergeShadow(
})
}
-export function updatePostShadow(uri: string, value: Partial) {
- const cachedPosts = findPostsInCache(uri)
+export function updatePostShadow(
+ queryClient: QueryClient,
+ uri: string,
+ value: Partial,
+) {
+ const cachedPosts = findPostsInCache(queryClient, uri)
for (let post of cachedPosts) {
shadows.set(post, {...shadows.get(post), ...value})
}
@@ -104,6 +109,7 @@ export function updatePostShadow(uri: string, value: Partial) {
}
function* findPostsInCache(
+ queryClient: QueryClient,
uri: string,
): Generator {
for (let post of findAllPostsInFeedQueryData(queryClient, uri)) {
diff --git a/src/state/cache/profile-shadow.ts b/src/state/cache/profile-shadow.ts
index 34fe5995d3..ca791bc9e8 100644
--- a/src/state/cache/profile-shadow.ts
+++ b/src/state/cache/profile-shadow.ts
@@ -1,7 +1,10 @@
-import {useEffect, useState, useMemo} from 'react'
-import EventEmitter from 'eventemitter3'
+import {useEffect, useMemo, useState} from 'react'
import {AppBskyActorDefs} from '@atproto/api'
+import {QueryClient} from '@tanstack/react-query'
+import EventEmitter from 'eventemitter3'
+
import {batchedUpdates} from '#/lib/batchedUpdates'
+import {findAllProfilesInQueryData as findAllProfilesInActorSearchQueryData} from '../queries/actor-search'
import {findAllProfilesInQueryData as findAllProfilesInListMembersQueryData} from '../queries/list-members'
import {findAllProfilesInQueryData as findAllProfilesInMyBlockedAccountsQueryData} from '../queries/my-blocked-accounts'
import {findAllProfilesInQueryData as findAllProfilesInMyMutedAccountsQueryData} from '../queries/my-muted-accounts'
@@ -11,9 +14,7 @@ import {findAllProfilesInQueryData as findAllProfilesInProfileQueryData} from '.
import {findAllProfilesInQueryData as findAllProfilesInProfileFollowersQueryData} from '../queries/profile-followers'
import {findAllProfilesInQueryData as findAllProfilesInProfileFollowsQueryData} from '../queries/profile-follows'
import {findAllProfilesInQueryData as findAllProfilesInSuggestedFollowsQueryData} from '../queries/suggested-follows'
-import {findAllProfilesInQueryData as findAllProfilesInActorSearchQueryData} from '../queries/actor-search'
-import {Shadow, castAsShadow} from './types'
-import {queryClient} from 'lib/react-query'
+import {castAsShadow, Shadow} from './types'
export type {Shadow} from './types'
export interface ProfileShadow {
@@ -58,10 +59,11 @@ export function useProfileShadow<
}
export function updateProfileShadow(
+ queryClient: QueryClient,
did: string,
value: Partial,
) {
- const cachedProfiles = findProfilesInCache(did)
+ const cachedProfiles = findProfilesInCache(queryClient, did)
for (let post of cachedProfiles) {
shadows.set(post, {...shadows.get(post), ...value})
}
@@ -90,6 +92,7 @@ function mergeShadow(
}
function* findProfilesInCache(
+ queryClient: QueryClient,
did: string,
): Generator {
yield* findAllProfilesInListMembersQueryData(queryClient, did)
diff --git a/src/state/modals/index.tsx b/src/state/modals/index.tsx
index 524dcb1bac..e0bcc2f0fd 100644
--- a/src/state/modals/index.tsx
+++ b/src/state/modals/index.tsx
@@ -1,11 +1,11 @@
import React from 'react'
-import {AppBskyActorDefs, AppBskyGraphDefs} from '@atproto/api'
import {Image as RNImage} from 'react-native-image-crop-picker'
+import {AppBskyActorDefs, AppBskyGraphDefs} from '@atproto/api'
-import {ImageModel} from '#/state/models/media/image'
-import {GalleryModel} from '#/state/models/media/gallery'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
import {EmbedPlayerSource} from '#/lib/strings/embed-player'
+import {GalleryModel} from '#/state/models/media/gallery'
+import {ImageModel} from '#/state/models/media/image'
import {ThreadgateSetting} from '../queries/threadgate'
export interface EditProfileModal {
@@ -118,14 +118,11 @@ export interface ChangePasswordModal {
name: 'change-password'
}
-export interface SwitchAccountModal {
- name: 'switch-account'
-}
-
export interface LinkWarningModal {
name: 'link-warning'
text: string
href: string
+ share?: boolean
}
export interface EmbedConsentModal {
@@ -148,7 +145,6 @@ export type Modal =
| VerifyEmailModal
| ChangeEmailModal
| ChangePasswordModal
- | SwitchAccountModal
// Curation
| ContentLanguagesSettingsModal
diff --git a/src/state/queries/actor-autocomplete.ts b/src/state/queries/actor-autocomplete.ts
index e6bf04ba3d..10bc951c1a 100644
--- a/src/state/queries/actor-autocomplete.ts
+++ b/src/state/queries/actor-autocomplete.ts
@@ -1,21 +1,22 @@
import React from 'react'
-import {AppBskyActorDefs, ModerationOpts, moderateProfile} from '@atproto/api'
+import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api'
import {useQuery, useQueryClient} from '@tanstack/react-query'
+import {isJustAMute} from '#/lib/moderation'
+import {isInvalidHandle} from '#/lib/strings/handles'
import {logger} from '#/logger'
-import {getAgent} from '#/state/session'
-import {useMyFollowsQuery} from '#/state/queries/my-follows'
import {STALE} from '#/state/queries'
+import {useMyFollowsQuery} from '#/state/queries/my-follows'
+import {getAgent} from '#/state/session'
import {DEFAULT_LOGGED_OUT_PREFERENCES, useModerationOpts} from './preferences'
-import {isInvalidHandle} from '#/lib/strings/handles'
-import {isJustAMute} from '#/lib/moderation'
const DEFAULT_MOD_OPTS = {
userDid: undefined,
prefs: DEFAULT_LOGGED_OUT_PREFERENCES.moderationPrefs,
}
-export const RQKEY = (prefix: string) => ['actor-autocomplete', prefix]
+const RQKEY_ROOT = 'actor-autocomplete'
+export const RQKEY = (prefix: string) => [RQKEY_ROOT, prefix]
export function useActorAutocompleteQuery(prefix: string) {
const {data: follows, isFetching} = useMyFollowsQuery()
@@ -29,7 +30,7 @@ export function useActorAutocompleteQuery(prefix: string) {
async queryFn() {
const res = prefix
? await getAgent().searchActorsTypeahead({
- term: prefix,
+ q: prefix,
limit: 8,
})
: undefined
@@ -67,7 +68,7 @@ export function useActorAutocompleteFn() {
queryKey: RQKEY(query || ''),
queryFn: () =>
getAgent().searchActorsTypeahead({
- term: query,
+ q: query,
limit,
}),
})
diff --git a/src/state/queries/actor-search.ts b/src/state/queries/actor-search.ts
index f72511548c..f19916103c 100644
--- a/src/state/queries/actor-search.ts
+++ b/src/state/queries/actor-search.ts
@@ -1,10 +1,11 @@
import {AppBskyActorDefs} from '@atproto/api'
import {QueryClient, useQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-export const RQKEY = (prefix: string) => ['actor-search', prefix]
+const RQKEY_ROOT = 'actor-search'
+export const RQKEY = (prefix: string) => [RQKEY_ROOT, prefix]
export function useActorSearch(prefix: string) {
return useQuery({
@@ -12,7 +13,7 @@ export function useActorSearch(prefix: string) {
queryKey: RQKEY(prefix || ''),
async queryFn() {
const res = await getAgent().searchActors({
- term: prefix,
+ q: prefix,
})
return res.data.actors
},
@@ -26,7 +27,7 @@ export function* findAllProfilesInQueryData(
) {
const queryDatas = queryClient.getQueriesData(
{
- queryKey: ['actor-search'],
+ queryKey: [RQKEY_ROOT],
},
)
for (const [_queryKey, queryData] of queryDatas) {
diff --git a/src/state/queries/app-passwords.ts b/src/state/queries/app-passwords.ts
index 014244f01c..ddfe6643dd 100644
--- a/src/state/queries/app-passwords.ts
+++ b/src/state/queries/app-passwords.ts
@@ -1,10 +1,11 @@
import {ComAtprotoServerCreateAppPassword} from '@atproto/api'
-import {useQuery, useQueryClient, useMutation} from '@tanstack/react-query'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
import {getAgent} from '../session'
-export const RQKEY = () => ['app-passwords']
+const RQKEY_ROOT = 'app-passwords'
+export const RQKEY = () => [RQKEY_ROOT]
export function useAppPasswordsQuery() {
return useQuery({
diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts
index 1fa92c291f..c56912491a 100644
--- a/src/state/queries/feed.ts
+++ b/src/state/queries/feed.ts
@@ -1,24 +1,24 @@
import {
- useQuery,
- useInfiniteQuery,
- InfiniteData,
- QueryKey,
- useMutation,
-} from '@tanstack/react-query'
-import {
- AtUri,
- RichText,
AppBskyFeedDefs,
AppBskyGraphDefs,
AppBskyUnspeccedGetPopularFeedGenerators,
+ AtUri,
+ RichText,
} from '@atproto/api'
+import {
+ InfiniteData,
+ QueryKey,
+ useInfiniteQuery,
+ useMutation,
+ useQuery,
+} from '@tanstack/react-query'
-import {router} from '#/routes'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {sanitizeHandle} from '#/lib/strings/handles'
-import {getAgent} from '#/state/session'
-import {usePreferencesQuery} from '#/state/queries/preferences'
import {STALE} from '#/state/queries'
+import {usePreferencesQuery} from '#/state/queries/preferences'
+import {getAgent} from '#/state/session'
+import {router} from '#/routes'
export type FeedSourceFeedInfo = {
type: 'feed'
@@ -56,8 +56,9 @@ export type FeedSourceListInfo = {
export type FeedSourceInfo = FeedSourceFeedInfo | FeedSourceListInfo
+const feedSourceInfoQueryKeyRoot = 'getFeedSourceInfo'
export const feedSourceInfoQueryKey = ({uri}: {uri: string}) => [
- 'getFeedSourceInfo',
+ feedSourceInfoQueryKeyRoot,
uri,
]
@@ -216,6 +217,8 @@ const FOLLOWING_FEED_STUB: FeedSourceInfo = {
likeUri: '',
}
+const pinnedFeedInfosQueryKeyRoot = 'pinnedFeedsInfos'
+
export function usePinnedFeedsInfos() {
const {data: preferences, isLoading: isLoadingPrefs} = usePreferencesQuery()
const pinnedUris = preferences?.feeds?.pinned ?? []
@@ -223,7 +226,7 @@ export function usePinnedFeedsInfos() {
return useQuery({
staleTime: STALE.INFINITY,
enabled: !isLoadingPrefs,
- queryKey: ['pinnedFeedsInfos', pinnedUris.join(',')],
+ queryKey: [pinnedFeedInfosQueryKeyRoot, pinnedUris.join(',')],
queryFn: async () => {
let resolved = new Map()
diff --git a/src/state/queries/handle.ts b/src/state/queries/handle.ts
index d7c4116999..ddeb35ce7b 100644
--- a/src/state/queries/handle.ts
+++ b/src/state/queries/handle.ts
@@ -1,11 +1,16 @@
import React from 'react'
-import {useQueryClient, useMutation} from '@tanstack/react-query'
+import {useMutation, useQueryClient} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-const fetchHandleQueryKey = (handleOrDid: string) => ['handle', handleOrDid]
-const fetchDidQueryKey = (handleOrDid: string) => ['did', handleOrDid]
+const handleQueryKeyRoot = 'handle'
+const fetchHandleQueryKey = (handleOrDid: string) => [
+ handleQueryKeyRoot,
+ handleOrDid,
+]
+const didQueryKeyRoot = 'did'
+const fetchDidQueryKey = (handleOrDid: string) => [didQueryKeyRoot, handleOrDid]
export function useFetchHandle() {
const queryClient = useQueryClient()
diff --git a/src/state/queries/invites.ts b/src/state/queries/invites.ts
index 9ae9c707f4..d5d6ecf97e 100644
--- a/src/state/queries/invites.ts
+++ b/src/state/queries/invites.ts
@@ -1,14 +1,16 @@
import {ComAtprotoServerDefs} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
-import {STALE} from '#/state/queries'
import {cleanError} from '#/lib/strings/errors'
+import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
function isInviteAvailable(invite: ComAtprotoServerDefs.InviteCode): boolean {
return invite.available - invite.uses.length > 0 && !invite.disabled
}
+const inviteCodesQueryKeyRoot = 'inviteCodes'
+
export type InviteCodesQueryResponse = Exclude<
ReturnType['data'],
undefined
@@ -16,7 +18,7 @@ export type InviteCodesQueryResponse = Exclude<
export function useInviteCodesQuery() {
return useQuery({
staleTime: STALE.MINUTES.FIVE,
- queryKey: ['inviteCodes'],
+ queryKey: [inviteCodesQueryKeyRoot],
queryFn: async () => {
const res = await getAgent()
.com.atproto.server.getAccountInviteCodes({})
diff --git a/src/state/queries/labeler.ts b/src/state/queries/labeler.ts
index b2f93c4a4a..78301eb0df 100644
--- a/src/state/queries/labeler.ts
+++ b/src/state/queries/labeler.ts
@@ -1,18 +1,26 @@
-import {z} from 'zod'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
import {AppBskyLabelerDefs} from '@atproto/api'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
+import {z} from 'zod'
-import {getAgent} from '#/state/session'
-import {preferencesQueryKey} from '#/state/queries/preferences'
+import {labelersDetailedInfoQueryKeyRoot} from '#/lib/react-query'
import {STALE} from '#/state/queries'
+import {preferencesQueryKey} from '#/state/queries/preferences'
+import {getAgent} from '#/state/session'
-export const labelerInfoQueryKey = (did: string) => ['labeler-info', did]
+const labelerInfoQueryKeyRoot = 'labeler-info'
+export const labelerInfoQueryKey = (did: string) => [
+ labelerInfoQueryKeyRoot,
+ did,
+]
+
+const labelersInfoQueryKeyRoot = 'labelers-info'
export const labelersInfoQueryKey = (dids: string[]) => [
- 'labelers-info',
- dids.sort(),
+ labelersInfoQueryKeyRoot,
+ dids.slice().sort(),
]
+
export const labelersDetailedInfoQueryKey = (dids: string[]) => [
- 'labelers-detailed-info',
+ labelersDetailedInfoQueryKeyRoot,
dids,
]
diff --git a/src/state/queries/list-members.ts b/src/state/queries/list-members.ts
index d84089c90d..87a409b88c 100644
--- a/src/state/queries/list-members.ts
+++ b/src/state/queries/list-members.ts
@@ -1,18 +1,19 @@
import {AppBskyActorDefs, AppBskyGraphGetList} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (uri: string) => ['list-members', uri]
+const RQKEY_ROOT = 'list-members'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListMembersQuery(uri: string) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['list-members'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
diff --git a/src/state/queries/list-memberships.ts b/src/state/queries/list-memberships.ts
index 6cae3fa2e8..d5ddd5a706 100644
--- a/src/state/queries/list-memberships.ts
+++ b/src/state/queries/list-memberships.ts
@@ -17,16 +17,17 @@
import {AtUri} from '@atproto/api'
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
-import {useSession, getAgent} from '#/state/session'
-import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
import {STALE} from '#/state/queries'
+import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
+import {getAgent, useSession} from '#/state/session'
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
const SANITY_PAGE_LIMIT = 1000
const PAGE_SIZE = 100
// ...which comes 100,000k list members
-export const RQKEY = () => ['list-memberships']
+const RQKEY_ROOT = 'list-memberships'
+export const RQKEY = () => [RQKEY_ROOT]
export interface ListMembersip {
membershipUri: string
diff --git a/src/state/queries/list.ts b/src/state/queries/list.ts
index 845658a279..c653d53765 100644
--- a/src/state/queries/list.ts
+++ b/src/state/queries/list.ts
@@ -1,21 +1,23 @@
+import {Image as RNImage} from 'react-native-image-crop-picker'
import {
- AtUri,
+ AppBskyGraphDefs,
AppBskyGraphGetList,
AppBskyGraphList,
- AppBskyGraphDefs,
+ AtUri,
Facet,
} from '@atproto/api'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import chunk from 'lodash.chunk'
-import {useSession, getAgent} from '../session'
-import {invalidate as invalidateMyLists} from './my-lists'
-import {RQKEY as PROFILE_LISTS_RQKEY} from './profile-lists'
+
import {uploadBlob} from '#/lib/api'
import {until} from '#/lib/async/until'
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '../session'
+import {invalidate as invalidateMyLists} from './my-lists'
+import {RQKEY as PROFILE_LISTS_RQKEY} from './profile-lists'
-export const RQKEY = (uri: string) => ['list', uri]
+const RQKEY_ROOT = 'list'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListQuery(uri?: string) {
return useQuery({
diff --git a/src/state/queries/my-blocked-accounts.ts b/src/state/queries/my-blocked-accounts.ts
index badaaec34d..36b9ac5804 100644
--- a/src/state/queries/my-blocked-accounts.ts
+++ b/src/state/queries/my-blocked-accounts.ts
@@ -1,14 +1,15 @@
import {AppBskyActorDefs, AppBskyGraphGetBlocks} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
-export const RQKEY = () => ['my-blocked-accounts']
+const RQKEY_ROOT = 'my-blocked-accounts'
+export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyBlockedAccountsQuery() {
@@ -39,7 +40,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['my-blocked-accounts'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/my-follows.ts b/src/state/queries/my-follows.ts
index f95c3f5a7c..a130347f83 100644
--- a/src/state/queries/my-follows.ts
+++ b/src/state/queries/my-follows.ts
@@ -1,14 +1,16 @@
import {AppBskyActorDefs} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-import {useSession, getAgent} from '../session'
+
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '../session'
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
const SANITY_PAGE_LIMIT = 1000
const PAGE_SIZE = 100
// ...which comes 10,000k follows
-export const RQKEY = () => ['my-follows']
+const RQKEY_ROOT = 'my-follows'
+export const RQKEY = () => [RQKEY_ROOT]
export function useMyFollowsQuery() {
const {currentAccount} = useSession()
diff --git a/src/state/queries/my-lists.ts b/src/state/queries/my-lists.ts
index d53e130327..284b757c6d 100644
--- a/src/state/queries/my-lists.ts
+++ b/src/state/queries/my-lists.ts
@@ -1,16 +1,18 @@
import {AppBskyGraphDefs} from '@atproto/api'
-import {useQuery, QueryClient} from '@tanstack/react-query'
+import {QueryClient, useQuery} from '@tanstack/react-query'
import {accumulate} from '#/lib/async/accumulate'
-import {useSession, getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '#/state/session'
export type MyListsFilter =
| 'all'
| 'curate'
| 'mod'
| 'all-including-subscribed'
-export const RQKEY = (filter: MyListsFilter) => ['my-lists', filter]
+
+const RQKEY_ROOT = 'my-lists'
+export const RQKEY = (filter: MyListsFilter) => [RQKEY_ROOT, filter]
export function useMyListsQuery(filter: MyListsFilter) {
const {currentAccount} = useSession()
@@ -91,6 +93,6 @@ export function invalidate(qc: QueryClient, filter?: MyListsFilter) {
if (filter) {
qc.invalidateQueries({queryKey: RQKEY(filter)})
} else {
- qc.invalidateQueries({queryKey: ['my-lists']})
+ qc.invalidateQueries({queryKey: [RQKEY_ROOT]})
}
}
diff --git a/src/state/queries/my-muted-accounts.ts b/src/state/queries/my-muted-accounts.ts
index 8929e04d3e..9e90044bf4 100644
--- a/src/state/queries/my-muted-accounts.ts
+++ b/src/state/queries/my-muted-accounts.ts
@@ -1,14 +1,15 @@
import {AppBskyActorDefs, AppBskyGraphGetMutes} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
-export const RQKEY = () => ['my-muted-accounts']
+const RQKEY_ROOT = 'my-muted-accounts'
+export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyMutedAccountsQuery() {
@@ -39,7 +40,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['my-muted-accounts'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/notifications/feed.ts b/src/state/queries/notifications/feed.ts
index 405d054d44..b4bdd741ea 100644
--- a/src/state/queries/notifications/feed.ts
+++ b/src/state/queries/notifications/feed.ts
@@ -19,28 +19,30 @@
import {useEffect, useRef} from 'react'
import {AppBskyFeedDefs} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
+ QueryClient,
QueryKey,
+ useInfiniteQuery,
useQueryClient,
- QueryClient,
} from '@tanstack/react-query'
-import {useModerationOpts} from '../preferences'
-import {useUnreadNotificationsApi} from './unread'
-import {fetchPage} from './util'
-import {FeedPage} from './types'
+
import {useMutedThreads} from '#/state/muted-threads'
import {STALE} from '..'
+import {useModerationOpts} from '../preferences'
import {embedViewRecordToPostView, getEmbeddedPost} from '../util'
+import {FeedPage} from './types'
+import {useUnreadNotificationsApi} from './unread'
+import {fetchPage} from './util'
-export type {NotificationType, FeedNotification, FeedPage} from './types'
+export type {FeedNotification, FeedPage, NotificationType} from './types'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
+const RQKEY_ROOT = 'notification-feed'
export function RQKEY() {
- return ['notification-feed']
+ return [RQKEY_ROOT]
}
export function useNotificationFeedQuery(opts?: {enabled?: boolean}) {
@@ -138,7 +140,7 @@ export function* findAllPostsInQueryData(
uri: string,
): Generator {
const queryDatas = queryClient.getQueriesData>({
- queryKey: ['notification-feed'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts
index 0e6eef52ca..ee22bac691 100644
--- a/src/state/queries/post-feed.ts
+++ b/src/state/queries/post-feed.ts
@@ -3,37 +3,37 @@ import {AppState} from 'react-native'
import {
AppBskyFeedDefs,
AppBskyFeedPost,
- ModerationDecision,
AtUri,
+ ModerationDecision,
} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
- QueryKey,
QueryClient,
+ QueryKey,
+ useInfiniteQuery,
useQueryClient,
} from '@tanstack/react-query'
+
+import {HomeFeedAPI} from '#/lib/api/feed/home'
import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
-import {useFeedTuners} from '../preferences/feed-tuners'
-import {FeedTuner, FeedTunerFn, NoopFeedTuner} from 'lib/api/feed-manip'
-import {FeedAPI, ReasonFeedSource} from 'lib/api/feed/types'
-import {FollowingFeedAPI} from 'lib/api/feed/following'
+import {logger} from '#/logger'
+import {STALE} from '#/state/queries'
+import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const'
+import {getAgent} from '#/state/session'
import {AuthorFeedAPI} from 'lib/api/feed/author'
-import {LikesFeedAPI} from 'lib/api/feed/likes'
import {CustomFeedAPI} from 'lib/api/feed/custom'
+import {FollowingFeedAPI} from 'lib/api/feed/following'
+import {LikesFeedAPI} from 'lib/api/feed/likes'
import {ListFeedAPI} from 'lib/api/feed/list'
import {MergeFeedAPI} from 'lib/api/feed/merge'
-import {HomeFeedAPI} from '#/lib/api/feed/home'
-import {logger} from '#/logger'
-import {STALE} from '#/state/queries'
-import {precacheFeedPostProfiles} from './profile'
-import {getAgent} from '#/state/session'
-import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const'
+import {FeedAPI, ReasonFeedSource} from 'lib/api/feed/types'
+import {FeedTuner, FeedTunerFn, NoopFeedTuner} from 'lib/api/feed-manip'
+import {BSKY_FEED_OWNER_DIDS} from 'lib/constants'
import {KnownError} from '#/view/com/posts/FeedErrorMessage'
-import {embedViewRecordToPostView, getEmbeddedPost} from './util'
+import {useFeedTuners} from '../preferences/feed-tuners'
import {useModerationOpts} from './preferences'
-import {queryClient} from 'lib/react-query'
-import {BSKY_FEED_OWNER_DIDS} from 'lib/constants'
+import {precacheFeedPostProfiles} from './profile'
+import {embedViewRecordToPostView, getEmbeddedPost} from './util'
type ActorDid = string
type AuthorFilter =
@@ -58,8 +58,9 @@ export interface FeedParams {
type RQPageParam = {cursor: string | undefined; api: FeedAPI} | undefined
+const RQKEY_ROOT = 'post-feed'
export function RQKEY(feedDesc: FeedDescriptor, params?: FeedParams) {
- return ['post-feed', feedDesc, params || {}]
+ return [RQKEY_ROOT, feedDesc, params || {}]
}
export interface FeedPostSliceItem {
@@ -402,7 +403,7 @@ export function* findAllPostsInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-feed'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
@@ -458,12 +459,16 @@ function assertSomePostsPassModeration(feed: AppBskyFeedDefs.FeedViewPost[]) {
}
}
-export function resetProfilePostsQueries(did: string, timeout = 0) {
+export function resetProfilePostsQueries(
+ queryClient: QueryClient,
+ did: string,
+ timeout = 0,
+) {
setTimeout(() => {
queryClient.resetQueries({
predicate: query =>
!!(
- query.queryKey[0] === 'post-feed' &&
+ query.queryKey[0] === RQKEY_ROOT &&
(query.queryKey[1] as string)?.includes(did)
),
})
diff --git a/src/state/queries/post-liked-by.ts b/src/state/queries/post-liked-by.ts
index a0498ada44..6fa341b773 100644
--- a/src/state/queries/post-liked-by.ts
+++ b/src/state/queries/post-liked-by.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyFeedGetLikes} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -12,7 +12,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (resolvedUri: string) => ['liked-by', resolvedUri]
+const RQKEY_ROOT = 'liked-by'
+export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function useLikedByQuery(resolvedUri: string | undefined) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-liked-by'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/post-reposted-by.ts b/src/state/queries/post-reposted-by.ts
index db5fa65140..f8cfff0d28 100644
--- a/src/state/queries/post-reposted-by.ts
+++ b/src/state/queries/post-reposted-by.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyFeedGetRepostedBy} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -12,7 +12,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (resolvedUri: string) => ['post-reposted-by', resolvedUri]
+const RQKEY_ROOT = 'post-reposted-by'
+export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function usePostRepostedByQuery(resolvedUri: string | undefined) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-reposted-by'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/post-thread.ts b/src/state/queries/post-thread.ts
index 26d40599c6..832794bf54 100644
--- a/src/state/queries/post-thread.ts
+++ b/src/state/queries/post-thread.ts
@@ -1,19 +1,20 @@
import {
+ AppBskyEmbedRecord,
AppBskyFeedDefs,
- AppBskyFeedPost,
AppBskyFeedGetPostThread,
- AppBskyEmbedRecord,
+ AppBskyFeedPost,
} from '@atproto/api'
-import {useQuery, useQueryClient, QueryClient} from '@tanstack/react-query'
+import {QueryClient, useQuery, useQueryClient} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
-import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from './post-feed'
+import {getAgent} from '#/state/session'
import {findAllPostsInQueryData as findAllPostsInNotifsQueryData} from './notifications/feed'
+import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from './post-feed'
import {precacheThreadPostProfiles} from './profile'
import {getEmbeddedPost} from './util'
-export const RQKEY = (uri: string) => ['post-thread', uri]
+const RQKEY_ROOT = 'post-thread'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
type ThreadViewNode = AppBskyFeedGetPostThread.OutputSchema['thread']
export interface ThreadCtx {
@@ -233,7 +234,7 @@ export function* findAllPostsInQueryData(
uri: string,
): Generator {
const queryDatas = queryClient.getQueriesData({
- queryKey: ['post-thread'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
diff --git a/src/state/queries/post.ts b/src/state/queries/post.ts
index e3682e304d..746dedad27 100644
--- a/src/state/queries/post.ts
+++ b/src/state/queries/post.ts
@@ -1,14 +1,16 @@
import {useCallback} from 'react'
import {AppBskyFeedDefs, AtUri} from '@atproto/api'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
-import {Shadow} from '#/state/cache/types'
-import {getAgent} from '#/state/session'
-import {updatePostShadow} from '#/state/cache/post-shadow'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
+
import {track} from '#/lib/analytics/analytics'
-import {logEvent, LogEvents} from '#/lib/statsig/statsig'
import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
+import {logEvent, LogEvents} from '#/lib/statsig/statsig'
+import {updatePostShadow} from '#/state/cache/post-shadow'
+import {Shadow} from '#/state/cache/types'
+import {getAgent} from '#/state/session'
-export const RQKEY = (postUri: string) => ['post', postUri]
+const RQKEY_ROOT = 'post'
+export const RQKEY = (postUri: string) => [RQKEY_ROOT, postUri]
export function usePostQuery(uri: string | undefined) {
return useQuery({
@@ -62,6 +64,7 @@ export function usePostLikeMutationQueue(
logContext: LogEvents['post:like']['logContext'] &
LogEvents['post:unlike']['logContext'],
) {
+ const queryClient = useQueryClient()
const postUri = post.uri
const postCid = post.cid
const initialLikeUri = post.viewer?.like
@@ -89,7 +92,7 @@ export function usePostLikeMutationQueue(
},
onSuccess(finalLikeUri) {
// finalize
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: finalLikeUri,
})
},
@@ -97,19 +100,19 @@ export function usePostLikeMutationQueue(
const queueLike = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: 'pending',
})
return queueToggle(true)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
const queueUnlike = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: undefined,
})
return queueToggle(false)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
return [queueLike, queueUnlike]
}
@@ -149,6 +152,7 @@ export function usePostRepostMutationQueue(
logContext: LogEvents['post:repost']['logContext'] &
LogEvents['post:unrepost']['logContext'],
) {
+ const queryClient = useQueryClient()
const postUri = post.uri
const postCid = post.cid
const initialRepostUri = post.viewer?.repost
@@ -176,7 +180,7 @@ export function usePostRepostMutationQueue(
},
onSuccess(finalRepostUri) {
// finalize
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: finalRepostUri,
})
},
@@ -184,19 +188,19 @@ export function usePostRepostMutationQueue(
const queueRepost = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: 'pending',
})
return queueToggle(true)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
const queueUnrepost = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: undefined,
})
return queueToggle(false)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
return [queueRepost, queueUnrepost]
}
@@ -234,12 +238,13 @@ function usePostUnrepostMutation(
}
export function usePostDeleteMutation() {
+ const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({uri}) => {
await getAgent().deletePost(uri)
},
onSuccess(data, variables) {
- updatePostShadow(variables.uri, {isDeleted: true})
+ updatePostShadow(queryClient, variables.uri, {isDeleted: true})
track('Post:Delete')
},
})
diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts
index f9cd59cda8..85e3f9a25d 100644
--- a/src/state/queries/preferences/index.ts
+++ b/src/state/queries/preferences/index.ts
@@ -1,35 +1,36 @@
-import {useMemo, createContext, useContext} from 'react'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
+import {createContext, useContext, useMemo} from 'react'
import {
- LabelPreference,
- BskyFeedViewPreference,
- ModerationOpts,
AppBskyActorDefs,
BSKY_LABELER_DID,
+ BskyFeedViewPreference,
+ LabelPreference,
+ ModerationOpts,
} from '@atproto/api'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {track} from '#/lib/analytics/analytics'
import {getAge} from '#/lib/strings/time'
-import {getAgent, useSession} from '#/state/session'
-import {
- UsePreferencesQueryResponse,
- ThreadViewPreferences,
-} from '#/state/queries/preferences/types'
+import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences'
+import {STALE} from '#/state/queries'
import {
DEFAULT_HOME_FEED_PREFS,
- DEFAULT_THREAD_VIEW_PREFS,
DEFAULT_LOGGED_OUT_PREFERENCES,
+ DEFAULT_THREAD_VIEW_PREFS,
} from '#/state/queries/preferences/const'
import {DEFAULT_LOGGED_OUT_LABEL_PREFERENCES} from '#/state/queries/preferences/moderation'
-import {STALE} from '#/state/queries'
-import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences'
+import {
+ ThreadViewPreferences,
+ UsePreferencesQueryResponse,
+} from '#/state/queries/preferences/types'
+import {getAgent, useSession} from '#/state/session'
import {saveLabelers} from '#/state/session/agent-config'
-export * from '#/state/queries/preferences/types'
-export * from '#/state/queries/preferences/moderation'
export * from '#/state/queries/preferences/const'
+export * from '#/state/queries/preferences/moderation'
+export * from '#/state/queries/preferences/types'
-export const preferencesQueryKey = ['getPreferences']
+const preferencesQueryKeyRoot = 'getPreferences'
+export const preferencesQueryKey = [preferencesQueryKeyRoot]
export function usePreferencesQuery() {
return useQuery({
diff --git a/src/state/queries/profile-feedgens.ts b/src/state/queries/profile-feedgens.ts
index 7d33eb9c80..c690be1979 100644
--- a/src/state/queries/profile-feedgens.ts
+++ b/src/state/queries/profile-feedgens.ts
@@ -1,5 +1,5 @@
import {AppBskyFeedGetActorFeeds} from '@atproto/api'
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -7,7 +7,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (did: string) => ['profile-feedgens', did]
+const RQKEY_ROOT = 'profile-feedgens'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFeedgensQuery(
did: string,
diff --git a/src/state/queries/profile-followers.ts b/src/state/queries/profile-followers.ts
index fdefc82536..d7dfe25c64 100644
--- a/src/state/queries/profile-followers.ts
+++ b/src/state/queries/profile-followers.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyGraphGetFollowers} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -11,7 +11,8 @@ import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (did: string) => ['profile-followers', did]
+const RQKEY_ROOT = 'profile-followers'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowersQuery(did: string | undefined) {
return useInfiniteQuery<
@@ -43,7 +44,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['profile-followers'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/profile-follows.ts b/src/state/queries/profile-follows.ts
index 428c8aebd1..3abac2f108 100644
--- a/src/state/queries/profile-follows.ts
+++ b/src/state/queries/profile-follows.ts
@@ -1,19 +1,20 @@
import {AppBskyActorDefs, AppBskyGraphGetFollows} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (did: string) => ['profile-follows', did]
+const RQKEY_ROOT = 'profile-follows'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowsQuery(did: string | undefined) {
return useInfiniteQuery<
@@ -46,7 +47,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['profile-follows'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/profile-lists.ts b/src/state/queries/profile-lists.ts
index 505d33b9fa..9cc395e435 100644
--- a/src/state/queries/profile-lists.ts
+++ b/src/state/queries/profile-lists.ts
@@ -1,11 +1,13 @@
import {AppBskyGraphGetLists} from '@atproto/api'
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
+
import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (did: string) => ['profile-lists', did]
+const RQKEY_ROOT = 'profile-lists'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileListsQuery(did: string, opts?: {enabled?: boolean}) {
const enabled = opts?.enabled !== false
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts
index 3c9e3e41c3..2094e0c3a2 100644
--- a/src/state/queries/profile.ts
+++ b/src/state/queries/profile.ts
@@ -1,38 +1,47 @@
import {useCallback} from 'react'
+import {Image as RNImage} from 'react-native-image-crop-picker'
import {
- AtUri,
AppBskyActorDefs,
- AppBskyActorProfile,
AppBskyActorGetProfile,
- AppBskyFeedDefs,
+ AppBskyActorProfile,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
+ AppBskyFeedDefs,
+ AtUri,
} from '@atproto/api'
import {
+ QueryClient,
+ useMutation,
useQuery,
useQueryClient,
- useMutation,
- QueryClient,
} from '@tanstack/react-query'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {useSession, getAgent} from '../session'
-import {updateProfileShadow} from '../cache/profile-shadow'
+
+import {track} from '#/lib/analytics/analytics'
import {uploadBlob} from '#/lib/api'
import {until} from '#/lib/async/until'
+import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
+import {logEvent, LogEvents} from '#/lib/statsig/statsig'
import {Shadow} from '#/state/cache/types'
+import {STALE} from '#/state/queries'
import {resetProfilePostsQueries} from '#/state/queries/post-feed'
-import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
-import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts'
+import {updateProfileShadow} from '../cache/profile-shadow'
+import {getAgent, useSession} from '../session'
import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts'
-import {STALE} from '#/state/queries'
-import {track} from '#/lib/analytics/analytics'
-import {logEvent, LogEvents} from '#/lib/statsig/statsig'
+import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts'
import {ThreadNode} from './post-thread'
-export const RQKEY = (did: string) => ['profile', did]
-export const profilesQueryKey = (handles: string[]) => ['profiles', handles]
+const RQKEY_ROOT = 'profile'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
+
+const profilesQueryKeyRoot = 'profiles'
+export const profilesQueryKey = (handles: string[]) => [
+ profilesQueryKeyRoot,
+ handles,
+]
+
+const profileBasicQueryKeyRoot = 'profileBasic'
export const profileBasicQueryKey = (didOrHandle: string) => [
- 'profileBasic',
+ profileBasicQueryKeyRoot,
didOrHandle,
]
@@ -190,6 +199,7 @@ export function useProfileFollowMutationQueue(
logContext: LogEvents['profile:follow']['logContext'] &
LogEvents['profile:unfollow']['logContext'],
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialFollowingUri = profile.viewer?.following
const followMutation = useProfileFollowMutation(logContext)
@@ -215,7 +225,7 @@ export function useProfileFollowMutationQueue(
},
onSuccess(finalFollowingUri) {
// finalize
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: finalFollowingUri,
})
},
@@ -223,19 +233,19 @@ export function useProfileFollowMutationQueue(
const queueFollow = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: 'pending',
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnfollow = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: undefined,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueFollow, queueUnfollow]
}
@@ -269,6 +279,7 @@ function useProfileUnfollowMutation(
export function useProfileMuteMutationQueue(
profile: Shadow,
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialMuted = profile.viewer?.muted
const muteMutation = useProfileMuteMutation()
@@ -291,25 +302,25 @@ export function useProfileMuteMutationQueue(
},
onSuccess(finalMuted) {
// finalize
- updateProfileShadow(did, {muted: finalMuted})
+ updateProfileShadow(queryClient, did, {muted: finalMuted})
},
})
const queueMute = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
muted: true,
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnmute = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
muted: false,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueMute, queueUnmute]
}
@@ -341,6 +352,7 @@ function useProfileUnmuteMutation() {
export function useProfileBlockMutationQueue(
profile: Shadow,
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialBlockingUri = profile.viewer?.blocking
const blockMutation = useProfileBlockMutation()
@@ -366,7 +378,7 @@ export function useProfileBlockMutationQueue(
},
onSuccess(finalBlockingUri) {
// finalize
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: finalBlockingUri,
})
},
@@ -374,19 +386,19 @@ export function useProfileBlockMutationQueue(
const queueBlock = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: 'pending',
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnblock = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: undefined,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueBlock, queueUnblock]
}
@@ -406,13 +418,14 @@ function useProfileBlockMutation() {
},
onSuccess(_, {did}) {
queryClient.invalidateQueries({queryKey: RQKEY_MY_BLOCKED()})
- resetProfilePostsQueries(did, 1000)
+ resetProfilePostsQueries(queryClient, did, 1000)
},
})
}
function useProfileUnblockMutation() {
const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({blockUri}) => {
if (!currentAccount) {
@@ -425,7 +438,7 @@ function useProfileUnblockMutation() {
})
},
onSuccess(_, {did}) {
- resetProfilePostsQueries(did, 1000)
+ resetProfilePostsQueries(queryClient, did, 1000)
},
})
}
@@ -506,7 +519,7 @@ export function* findAllProfilesInQueryData(
): Generator {
const queryDatas =
queryClient.getQueriesData({
- queryKey: ['profile'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
diff --git a/src/state/queries/resolve-uri.ts b/src/state/queries/resolve-uri.ts
index 95fc867ddf..18005cccf9 100644
--- a/src/state/queries/resolve-uri.ts
+++ b/src/state/queries/resolve-uri.ts
@@ -1,11 +1,12 @@
+import {AppBskyActorDefs, AtUri} from '@atproto/api'
import {useQuery, useQueryClient, UseQueryResult} from '@tanstack/react-query'
-import {AtUri, AppBskyActorDefs} from '@atproto/api'
-import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from './profile'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
+import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from './profile'
-export const RQKEY = (didOrHandle: string) => ['resolved-did', didOrHandle]
+const RQKEY_ROOT = 'resolved-did'
+export const RQKEY = (didOrHandle: string) => [RQKEY_ROOT, didOrHandle]
type UriUseQueryResult = UseQueryResult<{did: string; uri: string}, Error>
export function useResolveUriQuery(uri: string | undefined): UriUseQueryResult {
diff --git a/src/state/queries/search-posts.ts b/src/state/queries/search-posts.ts
index e0b317ca9d..9bf3c0f9ec 100644
--- a/src/state/queries/search-posts.ts
+++ b/src/state/queries/search-posts.ts
@@ -1,16 +1,17 @@
import {AppBskyFeedDefs, AppBskyFeedSearchPosts} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
- QueryKey,
QueryClient,
+ QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
import {embedViewRecordToPostView, getEmbeddedPost} from './util'
+const searchPostsQueryKeyRoot = 'search-posts'
const searchPostsQueryKey = ({query}: {query: string}) => [
- 'search-posts',
+ searchPostsQueryKeyRoot,
query,
]
@@ -43,7 +44,7 @@ export function* findAllPostsInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['search-posts'],
+ queryKey: [searchPostsQueryKeyRoot],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/service.ts b/src/state/queries/service.ts
index 5f7e10778b..6bfd0b0114 100644
--- a/src/state/queries/service.ts
+++ b/src/state/queries/service.ts
@@ -1,7 +1,8 @@
import {BskyAgent} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-export const RQKEY = (serviceUrl: string) => ['service', serviceUrl]
+const RQKEY_ROOT = 'service'
+export const RQKEY = (serviceUrl: string) => [RQKEY_ROOT, serviceUrl]
export function useServiceQuery(serviceUrl: string) {
return useQuery({
diff --git a/src/state/queries/suggested-feeds.ts b/src/state/queries/suggested-feeds.ts
index 7e6b534ad5..3be0c0b892 100644
--- a/src/state/queries/suggested-feeds.ts
+++ b/src/state/queries/suggested-feeds.ts
@@ -1,10 +1,11 @@
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
import {AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-export const suggestedFeedsQueryKey = ['suggestedFeeds']
+const suggestedFeedsQueryKeyRoot = 'suggestedFeeds'
+export const suggestedFeedsQueryKey = [suggestedFeedsQueryKeyRoot]
export function useSuggestedFeedsQuery() {
return useInfiniteQuery<
diff --git a/src/state/queries/suggested-follows.ts b/src/state/queries/suggested-follows.ts
index 45b3ebb62f..a93f935f25 100644
--- a/src/state/queries/suggested-follows.ts
+++ b/src/state/queries/suggested-follows.ts
@@ -6,21 +6,24 @@ import {
moderateProfile,
} from '@atproto/api'
import {
- useInfiniteQuery,
- useQueryClient,
- useQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
+ useQuery,
+ useQueryClient,
} from '@tanstack/react-query'
-import {useSession, getAgent} from '#/state/session'
-import {useModerationOpts} from '#/state/queries/preferences'
import {STALE} from '#/state/queries'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {getAgent, useSession} from '#/state/session'
+
+const suggestedFollowsQueryKeyRoot = 'suggested-follows'
+const suggestedFollowsQueryKey = [suggestedFollowsQueryKeyRoot]
-const suggestedFollowsQueryKey = ['suggested-follows']
+const suggestedFollowsByActorQueryKeyRoot = 'suggested-follows-by-actor'
const suggestedFollowsByActorQueryKey = (did: string) => [
- 'suggested-follows-by-actor',
+ suggestedFollowsByActorQueryKeyRoot,
did,
]
@@ -125,7 +128,7 @@ function* findAllProfilesInSuggestedFollowsQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['suggested-follows'],
+ queryKey: [suggestedFollowsQueryKeyRoot],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
@@ -148,7 +151,7 @@ function* findAllProfilesInSuggestedFollowsByActorQueryData(
const queryDatas =
queryClient.getQueriesData(
{
- queryKey: ['suggested-follows-by-actor'],
+ queryKey: [suggestedFollowsByActorQueryKeyRoot],
},
)
for (const [_queryKey, queryData] of queryDatas) {
diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx
index c7dba30892..5c7cc15916 100644
--- a/src/state/session/index.tsx
+++ b/src/state/session/index.tsx
@@ -4,7 +4,6 @@ import {
BSKY_LABELER_DID,
BskyAgent,
} from '@atproto/api'
-import {useQueryClient} from '@tanstack/react-query'
import {jwtDecode} from 'jwt-decode'
import {track} from '#/lib/analytics/analytics'
@@ -178,7 +177,6 @@ function createPersistSessionHandler(
}
export function Provider({children}: React.PropsWithChildren<{}>) {
- const queryClient = useQueryClient()
const isDirty = React.useRef(false)
const [state, setState] = React.useState({
isInitialLoad: true,
@@ -211,12 +209,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const clearCurrentAccount = React.useCallback(() => {
logger.warn(`session: clear current account`)
__globalAgent = PUBLIC_BSKY_AGENT
- queryClient.clear()
setStateAndPersist(s => ({
...s,
currentAccount: undefined,
}))
- }, [setStateAndPersist, queryClient])
+ }, [setStateAndPersist])
const createAccount = React.useCallback(
async ({
@@ -286,14 +283,13 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
__globalAgent = agent
- queryClient.clear()
upsertAccount(account)
logger.debug(`session: created account`, {}, logger.DebugContext.session)
track('Create Account')
logEvent('account:create:success', {})
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
const login = React.useCallback(
@@ -334,7 +330,6 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
__globalAgent = agent
// @ts-ignore
if (IS_DEV && isWeb) window.agent = agent
- queryClient.clear()
upsertAccount(account)
logger.debug(`session: logged in`, {}, logger.DebugContext.session)
@@ -342,7 +337,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
track('Sign In', {resumedSession: false})
logEvent('account:loggedIn', {logContext, withPassword: true})
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
const logout = React.useCallback(
@@ -411,7 +406,6 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
agent.session = prevSession
__globalAgent = agent
- queryClient.clear()
upsertAccount(account)
if (prevSession.deactivated) {
@@ -448,7 +442,6 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
try {
const freshAccount = await resumeSessionWithFreshAccount()
__globalAgent = agent
- queryClient.clear()
upsertAccount(freshAccount)
} catch (e) {
/*
@@ -489,7 +482,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
}
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
const resumeSession = React.useCallback(
diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx
index cdb72cc041..7a2ee16cf3 100644
--- a/src/view/com/auth/SplashScreen.web.tsx
+++ b/src/view/com/auth/SplashScreen.web.tsx
@@ -14,7 +14,7 @@ import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron'
-import {InlineLink} from '#/components/Link'
+import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
import {CenteredView} from '../util/Views'
@@ -162,15 +162,15 @@ function Footer() {
a.flex_1,
t.atoms.border_contrast_medium,
]}>
-
+ Business
-
-
+
+ Blog
-
-
+
+ Jobs
-
+
diff --git a/src/view/com/auth/server-input/index.tsx b/src/view/com/auth/server-input/index.tsx
index b26ac1dcbe..8aa23c263c 100644
--- a/src/view/com/auth/server-input/index.tsx
+++ b/src/view/com/auth/server-input/index.tsx
@@ -1,17 +1,17 @@
import React from 'react'
import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {BSKY_SERVICE} from 'lib/constants'
-import * as persisted from '#/state/persisted'
+import * as persisted from '#/state/persisted'
+import {BSKY_SERVICE} from 'lib/constants'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
-import * as Dialog from '#/components/Dialog'
-import {Text, P} from '#/components/Typography'
import {Button, ButtonText} from '#/components/Button'
-import * as ToggleButton from '#/components/forms/ToggleButton'
+import * as Dialog from '#/components/Dialog'
import * as TextField from '#/components/forms/TextField'
+import * as ToggleButton from '#/components/forms/ToggleButton'
import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
+import {P, Text} from '#/components/Typography'
export function ServerInputDialog({
control,
@@ -106,9 +106,9 @@ export function ServerInputDialog({
a.px_md,
a.py_md,
]}>
-
+ Server address
-
+
{
closeModal()
- openLink(href)
+ if (share) {
+ shareUrl(href)
+ } else {
+ openLink(href)
+ }
}
return (
@@ -72,9 +86,13 @@ export function Component({text, href}: {text: string; href: string}) {
testID="confirmBtn"
type="primary"
onPress={onPressVisit}
- accessibilityLabel={_(msg`Visit Site`)}
- accessibilityHint={_(msg`Opens the linked website`)}
- label={_(msg`Visit Site`)}
+ accessibilityLabel={share ? _(msg`Share Link`) : _(msg`Visit Site`)}
+ accessibilityHint={
+ share
+ ? _(msg`Shares the linked website`)
+ : _(msg`Opens the linked website`)
+ }
+ label={share ? _(msg`Share Link`) : _(msg`Visit Site`)}
labelContainerStyle={{justifyContent: 'center', padding: 4}}
labelStyle={[s.f18]}
/>
diff --git a/src/view/com/modals/Modal.tsx b/src/view/com/modals/Modal.tsx
index af86f13a3f..85ffccf12b 100644
--- a/src/view/com/modals/Modal.tsx
+++ b/src/view/com/modals/Modal.tsx
@@ -24,7 +24,6 @@ import * as LinkWarningModal from './LinkWarning'
import * as ListAddUserModal from './ListAddRemoveUsers'
import * as RepostModal from './Repost'
import * as SelfLabelModal from './SelfLabel'
-import * as SwitchAccountModal from './SwitchAccount'
import * as ThreadgateModal from './Threadgate'
import * as UserAddRemoveListsModal from './UserAddRemoveLists'
import * as VerifyEmailModal from './VerifyEmail'
@@ -114,9 +113,6 @@ export function ModalsContainer() {
} else if (activeModal?.name === 'change-password') {
snapPoints = ChangePasswordModal.snapPoints
element =
- } else if (activeModal?.name === 'switch-account') {
- snapPoints = SwitchAccountModal.snapPoints
- element =
} else if (activeModal?.name === 'link-warning') {
snapPoints = LinkWarningModal.snapPoints
element =
diff --git a/src/view/com/modals/SwitchAccount.tsx b/src/view/com/modals/SwitchAccount.tsx
deleted file mode 100644
index 03bef719e9..0000000000
--- a/src/view/com/modals/SwitchAccount.tsx
+++ /dev/null
@@ -1,169 +0,0 @@
-import React from 'react'
-import {
- ActivityIndicator,
- StyleSheet,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {BottomSheetScrollView} from '@discord/bottom-sheet/src'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-import {useProfileQuery} from '#/state/queries/profile'
-import {SessionAccount, useSession, useSessionApi} from '#/state/session'
-import {useCloseAllActiveElements} from '#/state/util'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Haptics} from 'lib/haptics'
-import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
-import {usePalette} from 'lib/hooks/usePalette'
-import {makeProfileLink} from 'lib/routes/links'
-import {s} from 'lib/styles'
-import {AccountDropdownBtn} from '../util/AccountDropdownBtn'
-import {Link} from '../util/Link'
-import {Text} from '../util/text/Text'
-import {UserAvatar} from '../util/UserAvatar'
-
-export const snapPoints = ['40%', '90%']
-
-function SwitchAccountCard({account}: {account: SessionAccount}) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {track} = useAnalytics()
- const {isSwitchingAccounts, currentAccount} = useSession()
- const {logout} = useSessionApi()
- const {data: profile} = useProfileQuery({did: account.did})
- const isCurrentAccount = account.did === currentAccount?.did
- const {onPressSwitchAccount} = useAccountSwitcher()
- const closeAllActiveElements = useCloseAllActiveElements()
-
- const onPressSignout = React.useCallback(() => {
- track('Settings:SignOutButtonClicked')
- closeAllActiveElements()
- // needs to be in timeout or the modal re-opens
- setTimeout(() => logout('SwitchAccount'), 0)
- }, [track, logout, closeAllActiveElements])
-
- const contents = (
-
-
-
-
-
-
- {profile?.displayName || account?.handle}
-
-
- {account?.handle}
-
-
-
- {isCurrentAccount ? (
-
-
- Sign out
-
-
- ) : (
-
- )}
-
- )
-
- return isCurrentAccount ? (
-
- {contents}
-
- ) : (
- onPressSwitchAccount(account, 'SwitchAccount')
- }
- accessibilityRole="button"
- accessibilityLabel={_(msg`Switch to ${account.handle}`)}
- accessibilityHint={_(msg`Switches the account you are logged in to`)}>
- {contents}
-
- )
-}
-
-export function Component({}: {}) {
- const pal = usePalette('default')
- const {isSwitchingAccounts, currentAccount, accounts} = useSession()
-
- React.useEffect(() => {
- Haptics.default()
- })
-
- return (
-
-
- Switch Account
-
-
- {isSwitchingAccounts || !currentAccount ? (
-
-
-
- ) : (
-
- )}
-
- {accounts
- .filter(a => a.did !== currentAccount?.did)
- .map(account => (
-
- ))}
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- },
- innerContainer: {
- paddingBottom: 40,
- },
- title: {
- textAlign: 'center',
- marginTop: 12,
- marginBottom: 12,
- },
- linkCard: {
- flexDirection: 'row',
- alignItems: 'center',
- paddingVertical: 12,
- paddingHorizontal: 18,
- marginBottom: 1,
- },
- avi: {
- marginRight: 12,
- },
- dimmed: {
- opacity: 0.5,
- },
-})
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx
index c1159379d6..f4bf3b1ac8 100644
--- a/src/view/com/post-thread/PostThread.tsx
+++ b/src/view/com/post-thread/PostThread.tsx
@@ -368,47 +368,52 @@ export function PostThread({
],
)
- return (
- <>
+ if (error || !thread) {
+ return (
- {!error && thread && (
-
- }
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+
- )}
- >
+ }
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/profile/ProfileFollowers.tsx b/src/view/com/profile/ProfileFollowers.tsx
index b11a33f273..94ca33e6e1 100644
--- a/src/view/com/profile/ProfileFollowers.tsx
+++ b/src/view/com/profile/ProfileFollowers.tsx
@@ -1,21 +1,21 @@
import React from 'react'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {List} from '../util/List'
-import {ProfileCardWithFollowBtn} from './ProfileCard'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
import {useProfileFollowersQuery} from '#/state/queries/profile-followers'
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {logger} from '#/logger'
-import {cleanError} from '#/lib/strings/errors'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {useSession} from 'state/session'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSession} from 'state/session'
-import {View} from 'react-native'
+import {List} from '../util/List'
+import {ProfileCardWithFollowBtn} from './ProfileCard'
function renderItem({item}: {item: ActorDefs.ProfileViewBasic}) {
return
@@ -39,7 +39,6 @@ export function ProfileFollowers({name}: {name: string}) {
const {
data,
isLoading: isFollowersLoading,
- isFetching,
isFetchingNextPage,
hasNextPage,
fetchNextPage,
@@ -47,14 +46,8 @@ export function ProfileFollowers({name}: {name: string}) {
refetch,
} = useProfileFollowersQuery(resolvedDid)
- const isError = React.useMemo(
- () => !!resolveError || !!error,
- [resolveError, error],
- )
-
- const isMe = React.useMemo(() => {
- return resolvedDid === currentAccount?.did
- }, [resolvedDid, currentAccount?.did])
+ const isError = !!resolveError || !!error
+ const isMe = resolvedDid === currentAccount?.did
const followers = React.useMemo(() => {
if (data?.pages) {
@@ -73,20 +66,19 @@ export function ProfileFollowers({name}: {name: string}) {
setIsPTRing(false)
}, [refetch, setIsPTRing])
- const onEndReached = async () => {
- if (isFetching || !hasNextPage || !!error) return
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || !!error) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more followers', {message: err})
}
- }
+ }, [isFetchingNextPage, hasNextPage, error, fetchNextPage])
- return (
-
+ if (followers.length < 1) {
+ return (
- {followers.length > 0 && (
- }
- ListFooterComponent={}
- // @ts-ignore our .web version only -prf
- desktopFixedHeight
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+ }
+ ListFooterComponent={
+
- )}
-
+ }
+ // @ts-ignore our .web version only -prf
+ desktopFixedHeight
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/profile/ProfileFollows.tsx b/src/view/com/profile/ProfileFollows.tsx
index d99e2b840e..9b447c955a 100644
--- a/src/view/com/profile/ProfileFollows.tsx
+++ b/src/view/com/profile/ProfileFollows.tsx
@@ -1,20 +1,21 @@
import React from 'react'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {List} from '../util/List'
-import {ProfileCardWithFollowBtn} from './ProfileCard'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
import {useProfileFollowsQuery} from '#/state/queries/profile-follows'
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {logger} from '#/logger'
-import {cleanError} from '#/lib/strings/errors'
+import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {useSession} from 'state/session'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
-import {useSession} from 'state/session'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {List} from '../util/List'
+import {ProfileCardWithFollowBtn} from './ProfileCard'
function renderItem({item}: {item: ActorDefs.ProfileViewBasic}) {
return
@@ -38,7 +39,6 @@ export function ProfileFollows({name}: {name: string}) {
const {
data,
isLoading: isFollowsLoading,
- isFetching,
isFetchingNextPage,
hasNextPage,
fetchNextPage,
@@ -46,14 +46,8 @@ export function ProfileFollows({name}: {name: string}) {
refetch,
} = useProfileFollowsQuery(resolvedDid)
- const isError = React.useMemo(
- () => !!resolveError || !!error,
- [resolveError, error],
- )
-
- const isMe = React.useMemo(() => {
- return resolvedDid === currentAccount?.did
- }, [resolvedDid, currentAccount?.did])
+ const isError = !!resolveError || !!error
+ const isMe = resolvedDid === currentAccount?.did
const follows = React.useMemo(() => {
if (data?.pages) {
@@ -72,20 +66,19 @@ export function ProfileFollows({name}: {name: string}) {
setIsPTRing(false)
}, [refetch, setIsPTRing])
- const onEndReached = async () => {
- if (isFetching || !hasNextPage || !!error) return
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || !!error) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more follows', {error: err})
}
- }
+ }, [error, fetchNextPage, hasNextPage, isFetchingNextPage])
- return (
- <>
+ if (follows.length < 1) {
+ return (
- {follows.length > 0 && (
- }
- ListFooterComponent={}
- // @ts-ignore our .web version only -prf
- desktopFixedHeight
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+ }
+ ListFooterComponent={
+
- )}
- >
+ }
+ // @ts-ignore our .web version only -prf
+ desktopFixedHeight
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/util/forms/PostDropdownBtn.tsx b/src/view/com/util/forms/PostDropdownBtn.tsx
index 70fbb907f7..d04672c639 100644
--- a/src/view/com/util/forms/PostDropdownBtn.tsx
+++ b/src/view/com/util/forms/PostDropdownBtn.tsx
@@ -1,50 +1,50 @@
import React, {memo} from 'react'
-import {StyleProp, ViewStyle, Pressable, PressableProps} from 'react-native'
-import Clipboard from '@react-native-clipboard/clipboard'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {useNavigation} from '@react-navigation/native'
+import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native'
import {
AppBskyActorDefs,
AppBskyFeedPost,
AtUri,
RichText as RichTextAPI,
} from '@atproto/api'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {useTheme} from 'lib/ThemeContext'
-import {shareUrl} from 'lib/sharing'
-import * as Toast from '../Toast'
-import {EventStopper} from '../EventStopper'
-import {useDialogControl} from '#/components/Dialog'
-import * as Prompt from '#/components/Prompt'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import Clipboard from '@react-native-clipboard/clipboard'
+import {useNavigation} from '@react-navigation/native'
+
import {makeProfileLink} from '#/lib/routes/links'
import {CommonNavigatorParams} from '#/lib/routes/types'
-import {getCurrentRoute} from 'lib/routes/helpers'
+import {richTextToString} from '#/lib/strings/rich-text-helpers'
import {getTranslatorLink} from '#/locale/helpers'
-import {usePostDeleteMutation} from '#/state/queries/post'
+import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
import {useMutedThreads, useToggleThreadMute} from '#/state/muted-threads'
import {useLanguagePrefs} from '#/state/preferences'
import {useHiddenPosts, useHiddenPostsApi} from '#/state/preferences'
import {useOpenLink} from '#/state/preferences/in-app-browser'
-import {logger} from '#/logger'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {usePostDeleteMutation} from '#/state/queries/post'
import {useSession} from '#/state/session'
-import {isWeb} from '#/platform/detection'
-import {richTextToString} from '#/lib/strings/rich-text-helpers'
-import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
-import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-
+import {getCurrentRoute} from 'lib/routes/helpers'
+import {shareUrl} from 'lib/sharing'
+import {toShareUrl} from 'lib/strings/url-helpers'
+import {useTheme} from 'lib/ThemeContext'
import {atoms as a, useTheme as useAlf} from '#/alf'
-import * as Menu from '#/components/Menu'
-import {Clipboard_Stroke2_Corner2_Rounded as ClipboardIcon} from '#/components/icons/Clipboard'
-import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
+import {useDialogControl} from '#/components/Dialog'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
import {ArrowOutOfBox_Stroke2_Corner0_Rounded as Share} from '#/components/icons/ArrowOutOfBox'
+import {BubbleQuestion_Stroke2_Corner0_Rounded as Translate} from '#/components/icons/Bubble'
+import {Clipboard_Stroke2_Corner2_Rounded as ClipboardIcon} from '#/components/icons/Clipboard'
import {EyeSlash_Stroke2_Corner0_Rounded as EyeSlash} from '#/components/icons/EyeSlash'
+import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
import {Mute_Stroke2_Corner0_Rounded as Mute} from '#/components/icons/Mute'
import {SpeakerVolumeFull_Stroke2_Corner0_Rounded as Unmute} from '#/components/icons/Speaker'
-import {BubbleQuestion_Stroke2_Corner0_Rounded as Translate} from '#/components/icons/Bubble'
-import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
+import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
+import * as Menu from '#/components/Menu'
+import * as Prompt from '#/components/Prompt'
+import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
+import {EventStopper} from '../EventStopper'
+import * as Toast from '../Toast'
let PostDropdownBtn = ({
testID,
diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx
index 3fa347a6d8..58874cd551 100644
--- a/src/view/com/util/post-ctrls/PostCtrls.tsx
+++ b/src/view/com/util/post-ctrls/PostCtrls.tsx
@@ -12,29 +12,32 @@ import {
AtUri,
RichText as RichTextAPI,
} from '@atproto/api'
-import {Text} from '../text/Text'
-import {PostDropdownBtn} from '../forms/PostDropdownBtn'
-import {HeartIcon, HeartIconSolid, CommentBottomArrow} from 'lib/icons'
-import {s} from 'lib/styles'
-import {pluralize} from 'lib/strings/helpers'
-import {useTheme} from 'lib/ThemeContext'
-import {RepostButton} from './RepostButton'
-import {Haptics} from 'lib/haptics'
-import {HITSLOP_10, HITSLOP_20} from 'lib/constants'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {HITSLOP_10, HITSLOP_20} from '#/lib/constants'
+import {Haptics} from '#/lib/haptics'
+import {CommentBottomArrow, HeartIcon, HeartIconSolid} from '#/lib/icons'
+import {makeProfileLink} from '#/lib/routes/links'
+import {shareUrl} from '#/lib/sharing'
+import {pluralize} from '#/lib/strings/helpers'
+import {toShareUrl} from '#/lib/strings/url-helpers'
+import {s} from '#/lib/styles'
+import {useTheme} from '#/lib/ThemeContext'
+import {Shadow} from '#/state/cache/types'
import {useModalControls} from '#/state/modals'
import {
usePostLikeMutationQueue,
usePostRepostMutationQueue,
} from '#/state/queries/post'
-import {useComposerControls} from '#/state/shell/composer'
-import {Shadow} from '#/state/cache/types'
import {useRequireAuth} from '#/state/session'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {useComposerControls} from '#/state/shell/composer'
+import {useDialogControl} from '#/components/Dialog'
import {ArrowOutOfBox_Stroke2_Corner0_Rounded as ArrowOutOfBox} from '#/components/icons/ArrowOutOfBox'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {shareUrl} from 'lib/sharing'
-import {makeProfileLink} from 'lib/routes/links'
+import * as Prompt from '#/components/Prompt'
+import {PostDropdownBtn} from '../forms/PostDropdownBtn'
+import {Text} from '../text/Text'
+import {RepostButton} from './RepostButton'
let PostCtrls = ({
big,
@@ -63,6 +66,13 @@ let PostCtrls = ({
logContext,
)
const requireAuth = useRequireAuth()
+ const loggedOutWarningPromptControl = useDialogControl()
+
+ const shouldShowLoggedOutWarning = React.useMemo(() => {
+ return !!post.author.labels?.find(
+ label => label.val === '!no-unauthenticated',
+ )
+ }, [post])
const defaultCtrlColor = React.useMemo(
() => ({
@@ -209,18 +219,38 @@ let PostCtrls = ({
{big && (
-
-
-
-
-
+ <>
+
+ {
+ if (shouldShowLoggedOutWarning) {
+ loggedOutWarningPromptControl.open()
+ } else {
+ onShare()
+ }
+ }}
+ accessibilityRole="button"
+ accessibilityLabel={`${_(msg`Share`)}`}
+ accessibilityHint=""
+ hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
+
+
+
+
+ >
)}
{children}
diff --git a/src/view/screens/DebugMod.tsx b/src/view/screens/DebugMod.tsx
index 64f2376a43..1387c6202c 100644
--- a/src/view/screens/DebugMod.tsx
+++ b/src/view/screens/DebugMod.tsx
@@ -1,51 +1,51 @@
import React from 'react'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
import {View} from 'react-native'
import {
- LABELS,
- mock,
- moderatePost,
- moderateProfile,
- ModerationOpts,
AppBskyActorDefs,
AppBskyFeedDefs,
AppBskyFeedPost,
+ ComAtprotoLabelDefs,
+ interpretLabelValueDefinition,
LabelPreference,
- ModerationDecision,
+ LABELS,
+ mock,
+ moderatePost,
+ moderateProfile,
ModerationBehavior,
+ ModerationDecision,
+ ModerationOpts,
RichText,
- ComAtprotoLabelDefs,
- interpretLabelValueDefinition,
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {moderationOptsOverrideContext} from '#/state/queries/preferences'
-import {useSession} from '#/state/session'
+
+import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
import {FeedNotification} from '#/state/queries/notifications/types'
import {
groupNotifications,
shouldFilterNotif,
} from '#/state/queries/notifications/util'
-
-import {atoms as a, useTheme} from '#/alf'
+import {moderationOptsOverrideContext} from '#/state/queries/preferences'
+import {useSession} from '#/state/session'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
import {CenteredView, ScrollView} from '#/view/com/util/Views'
-import {H1, H3, P, Text} from '#/components/Typography'
-import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
+import {ProfileHeaderStandard} from '#/screens/Profile/Header/ProfileHeaderStandard'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Divider} from '#/components/Divider'
import * as Toggle from '#/components/forms/Toggle'
import * as ToggleButton from '#/components/forms/ToggleButton'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
import {
ChevronBottom_Stroke2_Corner0_Rounded as ChevronBottom,
ChevronTop_Stroke2_Corner0_Rounded as ChevronTop,
} from '#/components/icons/Chevron'
+import {H1, H3, P, Text} from '#/components/Typography'
import {ScreenHider} from '../../components/moderation/ScreenHider'
-import {ProfileHeaderStandard} from '#/screens/Profile/Header/ProfileHeaderStandard'
-import {ProfileCard} from '../com/profile/ProfileCard'
-import {FeedItem} from '../com/posts/FeedItem'
import {FeedItem as NotifFeedItem} from '../com/notifications/FeedItem'
import {PostThreadItem} from '../com/post-thread/PostThreadItem'
-import {Divider} from '#/components/Divider'
+import {FeedItem} from '../com/posts/FeedItem'
+import {ProfileCard} from '../com/profile/ProfileCard'
const LABEL_VALUES: (keyof typeof LABELS)[] = Object.keys(
LABELS,
@@ -320,7 +320,7 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
disabled={disabled}
style={disabled ? {opacity: 0.5} : undefined}>
- {labelValue}
+ {labelValue}
)
})}
@@ -330,7 +330,7 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
disabled={isSelfLabel}
style={isSelfLabel ? {opacity: 0.5} : undefined}>
- Custom label
+ Custom label
@@ -358,23 +358,23 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
- Target is me
+ Target is me
- Following target
+ Following target
- Self label
+ Self label
- Adult disabled
+ Adult disabled
- Logged out
+ Logged out
@@ -400,15 +400,15 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
]}>
- Hide
+ Hide
- Warn
+ Warn
- Ignore
+ Ignore
@@ -446,19 +446,19 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
- Account
+ Account
- Profile
+ Profile
- Post
+ Post
- Embed
+ Embed
@@ -623,15 +623,15 @@ function CustomLabelForm({
- Content
+ Content
- Media
+ Media
- None
+ None
@@ -658,15 +658,15 @@ function CustomLabelForm({
- Alert
+ Alert
- Inform
+ Inform
- None
+ None
diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx
index d5a46c5c98..6073b95716 100644
--- a/src/view/screens/Profile.tsx
+++ b/src/view/screens/Profile.tsx
@@ -1,6 +1,5 @@
import React, {useMemo} from 'react'
import {StyleSheet} from 'react-native'
-import {useFocusEffect} from '@react-navigation/native'
import {
AppBskyActorDefs,
moderateProfile,
@@ -9,36 +8,38 @@ import {
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import {CenteredView} from '../com/util/Views'
-import {ListRef} from '../com/util/List'
-import {ScreenHider} from '#/components/moderation/ScreenHider'
-import {ProfileLists} from '../com/lists/ProfileLists'
-import {ProfileFeedgens} from '../com/feeds/ProfileFeedgens'
-import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
-import {ErrorScreen} from '../com/util/error/ErrorScreen'
-import {FAB} from '../com/util/fab/FAB'
-import {s, colors} from 'lib/styles'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {ComposeIcon2} from 'lib/icons'
-import {useSetTitle} from 'lib/hooks/useSetTitle'
-import {combinedDisplayName} from 'lib/strings/display-names'
-import {resetProfilePostsQueries} from '#/state/queries/post-feed'
-import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {useProfileQuery} from '#/state/queries/profile'
+import {useFocusEffect} from '@react-navigation/native'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {cleanError} from '#/lib/strings/errors'
+import {isInvalidHandle} from '#/lib/strings/handles'
import {useProfileShadow} from '#/state/cache/profile-shadow'
-import {useSession, getAgent} from '#/state/session'
-import {useModerationOpts} from '#/state/queries/preferences'
+import {listenSoftReset} from '#/state/events'
import {useLabelerInfoQuery} from '#/state/queries/labeler'
+import {resetProfilePostsQueries} from '#/state/queries/post-feed'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useProfileQuery} from '#/state/queries/profile'
+import {useResolveDidQuery} from '#/state/queries/resolve-uri'
+import {getAgent, useSession} from '#/state/session'
import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
-import {cleanError} from '#/lib/strings/errors'
import {useComposerControls} from '#/state/shell/composer'
-import {listenSoftReset} from '#/state/events'
-import {isInvalidHandle} from '#/lib/strings/handles'
-
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {ComposeIcon2} from 'lib/icons'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {combinedDisplayName} from 'lib/strings/display-names'
+import {colors, s} from 'lib/styles'
+import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
+import {ProfileHeader, ProfileHeaderLoading} from '#/screens/Profile/Header'
import {ProfileFeedSection} from '#/screens/Profile/Sections/Feed'
import {ProfileLabelsSection} from '#/screens/Profile/Sections/Labels'
-import {ProfileHeader, ProfileHeaderLoading} from '#/screens/Profile/Header'
+import {ScreenHider} from '#/components/moderation/ScreenHider'
+import {ProfileFeedgens} from '../com/feeds/ProfileFeedgens'
+import {ProfileLists} from '../com/lists/ProfileLists'
+import {ErrorScreen} from '../com/util/error/ErrorScreen'
+import {FAB} from '../com/util/fab/FAB'
+import {ListRef} from '../com/util/List'
+import {CenteredView} from '../com/util/Views'
interface SectionRef {
scrollToTop: () => void
@@ -48,6 +49,7 @@ type Props = NativeStackScreenProps
export function ProfileScreen({route}: Props) {
const {_} = useLingui()
const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
const name =
route.params.name === 'me' ? currentAccount?.did : route.params.name
const moderationOpts = useModerationOpts()
@@ -78,9 +80,9 @@ export function ProfileScreen({route}: Props) {
// When we open the profile, we want to reset the posts query if we are blocked.
React.useEffect(() => {
if (resolvedDid && profile?.viewer?.blockedBy) {
- resetProfilePostsQueries(resolvedDid)
+ resetProfilePostsQueries(queryClient, resolvedDid)
}
- }, [profile?.viewer?.blockedBy, resolvedDid])
+ }, [queryClient, profile?.viewer?.blockedBy, resolvedDid])
// Most pushes will happen here, since we will have only placeholder data
if (isLoadingDid || isLoadingProfile) {
diff --git a/src/view/screens/ProfileFeed.tsx b/src/view/screens/ProfileFeed.tsx
index 8eeeb5d908..4560e14ebc 100644
--- a/src/view/screens/ProfileFeed.tsx
+++ b/src/view/screens/ProfileFeed.tsx
@@ -1,70 +1,71 @@
-import React, {useMemo, useCallback} from 'react'
-import {StyleSheet, View, Pressable} from 'react-native'
-import {NativeStackScreenProps} from '@react-navigation/native-stack'
+import React, {useCallback, useMemo} from 'react'
+import {Pressable, StyleSheet, View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useIsFocused, useNavigation} from '@react-navigation/native'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
import {useQueryClient} from '@tanstack/react-query'
+
+import {HITSLOP_20} from '#/lib/constants'
+import {logger} from '#/logger'
+import {isNative} from '#/platform/detection'
+import {listenSoftReset} from '#/state/events'
+import {FeedSourceFeedInfo, useFeedSourceInfoQuery} from '#/state/queries/feed'
+import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
+import {FeedDescriptor} from '#/state/queries/post-feed'
+import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
+import {
+ usePinFeedMutation,
+ usePreferencesQuery,
+ UsePreferencesQueryResponse,
+ useRemoveFeedMutation,
+ useSaveFeedMutation,
+ useUnpinFeedMutation,
+} from '#/state/queries/preferences'
+import {useResolveUriQuery} from '#/state/queries/resolve-uri'
+import {truncateAndInvalidate} from '#/state/queries/util'
+import {useSession} from '#/state/session'
+import {useComposerControls} from '#/state/shell/composer'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {Haptics} from 'lib/haptics'
import {usePalette} from 'lib/hooks/usePalette'
+import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {ComposeIcon2} from 'lib/icons'
+import {makeCustomFeedLink} from 'lib/routes/links'
import {CommonNavigatorParams} from 'lib/routes/types'
+import {NavigationProp} from 'lib/routes/types'
+import {shareUrl} from 'lib/sharing'
+import {pluralize} from 'lib/strings/helpers'
import {makeRecordUri} from 'lib/strings/url-helpers'
+import {toShareUrl} from 'lib/strings/url-helpers'
import {s} from 'lib/styles'
-import {FeedDescriptor} from '#/state/queries/post-feed'
import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
-import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
import {Feed} from 'view/com/posts/Feed'
-import {InlineLink} from '#/components/Link'
-import {ListRef} from 'view/com/util/List'
+import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
+import {EmptyState} from 'view/com/util/EmptyState'
+import {FAB} from 'view/com/util/fab/FAB'
import {Button} from 'view/com/util/forms/Button'
-import {Text} from 'view/com/util/text/Text'
-import {RichText} from '#/components/RichText'
+import {ListRef} from 'view/com/util/List'
import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
-import {FAB} from 'view/com/util/fab/FAB'
-import {EmptyState} from 'view/com/util/EmptyState'
import {LoadingScreen} from 'view/com/util/LoadingScreen'
+import {Text} from 'view/com/util/text/Text'
import * as Toast from 'view/com/util/Toast'
-import {useSetTitle} from 'lib/hooks/useSetTitle'
-import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
-import {shareUrl} from 'lib/sharing'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {Haptics} from 'lib/haptics'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {makeCustomFeedLink} from 'lib/routes/links'
-import {pluralize} from 'lib/strings/helpers'
import {CenteredView} from 'view/com/util/Views'
-import {NavigationProp} from 'lib/routes/types'
-import {ComposeIcon2} from 'lib/icons'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-import {useFeedSourceInfoQuery, FeedSourceFeedInfo} from '#/state/queries/feed'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
-import {
- UsePreferencesQueryResponse,
- usePreferencesQuery,
- useSaveFeedMutation,
- useRemoveFeedMutation,
- usePinFeedMutation,
- useUnpinFeedMutation,
-} from '#/state/queries/preferences'
-import {useSession} from '#/state/session'
-import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
-import {useComposerControls} from '#/state/shell/composer'
-import {truncateAndInvalidate} from '#/state/queries/util'
-import {isNative} from '#/platform/detection'
-import {listenSoftReset} from '#/state/events'
import {atoms as a, useTheme} from '#/alf'
-import * as Menu from '#/components/Menu'
-import {HITSLOP_20} from '#/lib/constants'
-import {DotGrid_Stroke2_Corner0_Rounded as Ellipsis} from '#/components/icons/DotGrid'
-import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
-import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+import {Button as NewButton, ButtonText} from '#/components/Button'
import {ArrowOutOfBox_Stroke2_Corner0_Rounded as Share} from '#/components/icons/ArrowOutOfBox'
+import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+import {DotGrid_Stroke2_Corner0_Rounded as Ellipsis} from '#/components/icons/DotGrid'
import {
- Heart2_Stroke2_Corner0_Rounded as HeartOutline,
Heart2_Filled_Stroke2_Corner0_Rounded as HeartFilled,
+ Heart2_Stroke2_Corner0_Rounded as HeartOutline,
} from '#/components/icons/Heart2'
-import {Button as NewButton, ButtonText} from '#/components/Button'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
+import {InlineLinkText} from '#/components/Link'
+import * as Menu from '#/components/Menu'
+import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
+import {RichText} from '#/components/RichText'
const SECTION_TITLES = ['Posts']
@@ -580,12 +581,12 @@ function AboutSection({
)}
{typeof likeCount === 'number' && (
-
{_(msg`Liked by ${likeCount} ${pluralize(likeCount, 'user')}`)}
-
+
)}
diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx
index d39f37ed78..c0f4cf1950 100644
--- a/src/view/screens/Search/Search.tsx
+++ b/src/view/screens/Search/Search.tsx
@@ -1,59 +1,60 @@
import React from 'react'
import {
- View,
- StyleSheet,
ActivityIndicator,
- TextInput,
- Pressable,
Platform,
+ Pressable,
+ StyleSheet,
+ TextInput,
+ View,
} from 'react-native'
-import {ScrollView, CenteredView} from '#/view/com/util/Views'
-import {List} from '#/view/com/util/List'
import {AppBskyActorDefs, AppBskyFeedDefs, moderateProfile} from '@atproto/api'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import AsyncStorage from '@react-native-async-storage/async-storage'
import {useFocusEffect, useNavigation} from '@react-navigation/native'
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {HITSLOP_10} from '#/lib/constants'
+import {usePalette} from '#/lib/hooks/usePalette'
+import {MagnifyingGlassIcon} from '#/lib/icons'
+import {NavigationProp} from '#/lib/routes/types'
+import {augmentSearchQuery} from '#/lib/strings/helpers'
+import {s} from '#/lib/styles'
import {logger} from '#/logger'
+import {isNative, isWeb} from '#/platform/detection'
+import {listenSoftReset} from '#/state/events'
+import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
+import {useActorSearch} from '#/state/queries/actor-search'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useSearchPostsQuery} from '#/state/queries/search-posts'
+import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows'
+import {useSession} from '#/state/session'
+import {useSetDrawerOpen} from '#/state/shell'
+import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {
NativeStackScreenProps,
SearchTabNavigatorParams,
} from 'lib/routes/types'
-import {Text} from '#/view/com/util/text/Text'
-import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
-import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
-import {Post} from '#/view/com/post/Post'
+import {useTheme} from 'lib/ThemeContext'
import {Pager} from '#/view/com/pager/Pager'
import {TabBar} from '#/view/com/pager/TabBar'
-import {HITSLOP_10} from '#/lib/constants'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {usePalette} from '#/lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useSession} from '#/state/session'
-import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows'
-import {useSearchPostsQuery} from '#/state/queries/search-posts'
-import {useActorSearch} from '#/state/queries/actor-search'
-import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
-import {useSetDrawerOpen} from '#/state/shell'
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {MagnifyingGlassIcon} from '#/lib/icons'
-import {useModerationOpts} from '#/state/queries/preferences'
+import {Post} from '#/view/com/post/Post'
+import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
+import {List} from '#/view/com/util/List'
+import {Text} from '#/view/com/util/text/Text'
+import {CenteredView, ScrollView} from '#/view/com/util/Views'
import {
MATCH_HANDLE,
SearchLinkCard,
SearchProfileCard,
} from '#/view/shell/desktop/Search'
-import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell'
-import {isNative, isWeb} from '#/platform/detection'
-import {listenSoftReset} from '#/state/events'
-import {s} from '#/lib/styles'
-import AsyncStorage from '@react-native-async-storage/async-storage'
-import {augmentSearchQuery} from '#/lib/strings/helpers'
-import {NavigationProp} from '#/lib/routes/types'
+import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
+import {atoms as a} from '#/alf'
function Loader() {
const pal = usePalette('default')
@@ -776,16 +777,24 @@ export function SearchScreen(
Recent Searches
{searchHistory.map((historyItem, index) => (
-
+ handleHistoryItemClick(historyItem)}
- style={styles.historyItem}>
+ style={[a.flex_1, a.py_sm]}>
{historyItem} handleRemoveHistoryItem(historyItem)}>
+ onPress={() => handleRemoveHistoryItem(historyItem)}
+ style={[a.px_md, a.py_xs, a.justify_center]}>
This feature is in beta. You can read more about repository
exports in{' '}
-
this blogpost
-
+
.
diff --git a/src/view/screens/Settings/index.tsx b/src/view/screens/Settings/index.tsx
index 3967678b48..790ce5ee96 100644
--- a/src/view/screens/Settings/index.tsx
+++ b/src/view/screens/Settings/index.tsx
@@ -3,72 +3,72 @@ import {
ActivityIndicator,
Linking,
Platform,
- StyleSheet,
Pressable,
+ StyleSheet,
TextStyle,
TouchableOpacity,
View,
ViewStyle,
} from 'react-native'
-import {useFocusEffect, useNavigation} from '@react-navigation/native'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import * as AppInfo from 'lib/app-info'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useCustomPalette} from 'lib/hooks/useCustomPalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {NavigationProp} from 'lib/routes/types'
-import {HandIcon, HashtagIcon} from 'lib/icons'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import Clipboard from '@react-native-clipboard/clipboard'
-import {makeProfileLink} from 'lib/routes/links'
-import {RQKEY as RQKEY_PROFILE} from '#/state/queries/profile'
+import {useFocusEffect, useNavigation} from '@react-navigation/native'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {isNative} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
-import {
- useSetMinimalShellMode,
- useThemePrefs,
- useSetThemePrefs,
- useOnboardingDispatch,
-} from '#/state/shell'
+import {clearLegacyStorage} from '#/state/persisted/legacy'
+// TODO import {useInviteCodesQuery} from '#/state/queries/invites'
+import {clear as clearStorage} from '#/state/persisted/store'
import {
useRequireAltTextEnabled,
useSetRequireAltTextEnabled,
} from '#/state/preferences'
-import {useSession, useSessionApi, SessionAccount} from '#/state/session'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useClearPreferencesMutation} from '#/state/queries/preferences'
-// TODO import {useInviteCodesQuery} from '#/state/queries/invites'
-import {clear as clearStorage} from '#/state/persisted/store'
-import {clearLegacyStorage} from '#/state/persisted/legacy'
-import {STATUS_PAGE_URL} from 'lib/constants'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useQueryClient} from '@tanstack/react-query'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
-import {useCloseAllActiveElements} from '#/state/util'
import {
useInAppBrowser,
useSetInAppBrowser,
} from '#/state/preferences/in-app-browser'
-import {isNative} from '#/platform/detection'
-import {useDialogControl} from '#/components/Dialog'
-
-import {s, colors} from 'lib/styles'
-import {ScrollView} from 'view/com/util/Views'
+import {useClearPreferencesMutation} from '#/state/queries/preferences'
+import {RQKEY as RQKEY_PROFILE} from '#/state/queries/profile'
+import {useProfileQuery} from '#/state/queries/profile'
+import {SessionAccount, useSession, useSessionApi} from '#/state/session'
+import {
+ useOnboardingDispatch,
+ useSetMinimalShellMode,
+ useSetThemePrefs,
+ useThemePrefs,
+} from '#/state/shell'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useCloseAllActiveElements} from '#/state/util'
+import {useAnalytics} from 'lib/analytics/analytics'
+import * as AppInfo from 'lib/app-info'
+import {STATUS_PAGE_URL} from 'lib/constants'
+import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
+import {useCustomPalette} from 'lib/hooks/useCustomPalette'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {HandIcon, HashtagIcon} from 'lib/icons'
+import {makeProfileLink} from 'lib/routes/links'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {NavigationProp} from 'lib/routes/types'
+import {colors, s} from 'lib/styles'
+import {AccountDropdownBtn} from 'view/com/util/AccountDropdownBtn'
+import {SelectableBtn} from 'view/com/util/forms/SelectableBtn'
+import {ToggleButton} from 'view/com/util/forms/ToggleButton'
import {Link, TextLink} from 'view/com/util/Link'
+import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
import {Text} from 'view/com/util/text/Text'
import * as Toast from 'view/com/util/Toast'
import {UserAvatar} from 'view/com/util/UserAvatar'
-import {ToggleButton} from 'view/com/util/forms/ToggleButton'
-import {SelectableBtn} from 'view/com/util/forms/SelectableBtn'
-import {AccountDropdownBtn} from 'view/com/util/AccountDropdownBtn'
-import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
-import {ExportCarDialog} from './ExportCarDialog'
+import {ScrollView} from 'view/com/util/Views'
+import {useDialogControl} from '#/components/Dialog'
import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings'
+import {ExportCarDialog} from './ExportCarDialog'
function SettingsAccountCard({account}: {account: SessionAccount}) {
const pal = usePalette('default')
@@ -890,9 +890,7 @@ export function SettingsScreen({}: Props) {
accessibilityRole="button"
onPress={onPressBuildInfo}>
-
- Build version {AppInfo.appVersion} {AppInfo.updateChannel}
-
+ Version {AppInfo.appVersion}
diff --git a/src/view/screens/Storybook/Dialogs.tsx b/src/view/screens/Storybook/Dialogs.tsx
index c2eaf19acf..41863bd9c4 100644
--- a/src/view/screens/Storybook/Dialogs.tsx
+++ b/src/view/screens/Storybook/Dialogs.tsx
@@ -1,12 +1,12 @@
import React from 'react'
import {View} from 'react-native'
+import {useDialogStateControlContext} from '#/state/dialogs'
import {atoms as a} from '#/alf'
import {Button} from '#/components/Button'
-import {H3, P} from '#/components/Typography'
import * as Dialog from '#/components/Dialog'
import * as Prompt from '#/components/Prompt'
-import {useDialogStateControlContext} from '#/state/dialogs'
+import {H3, P} from '#/components/Typography'
export function Dialogs() {
const scrollable = Dialog.useDialogControl()
@@ -61,11 +61,11 @@ export function Dialogs() {
- This is a prompt
-
+ This is a prompt
+
This is a generic prompt component. It accepts a title and a
description, as well as two actions.
-
+
Cancel {}}>Confirm
diff --git a/src/view/screens/Storybook/Forms.tsx b/src/view/screens/Storybook/Forms.tsx
index 2d5495d706..182eacfde8 100644
--- a/src/view/screens/Storybook/Forms.tsx
+++ b/src/view/screens/Storybook/Forms.tsx
@@ -2,13 +2,13 @@ import React from 'react'
import {View} from 'react-native'
import {atoms as a} from '#/alf'
-import {H1, H3} from '#/components/Typography'
+import {Button} from '#/components/Button'
+import {DateField, LabelText} from '#/components/forms/DateField'
import * as TextField from '#/components/forms/TextField'
-import {DateField, Label} from '#/components/forms/DateField'
import * as Toggle from '#/components/forms/Toggle'
import * as ToggleButton from '#/components/forms/ToggleButton'
-import {Button} from '#/components/Button'
import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
+import {H1, H3} from '#/components/Typography'
export function Forms() {
const [toggleGroupAValues, setToggleGroupAValues] = React.useState(['a'])
@@ -42,7 +42,7 @@ export function Forms() {
- Text field
+ Text field
- @gmail.com
+
+ @gmail.com
+
- Textarea
+ TextareaDateField
-
+ Date
- Uncontrolled toggle
+ Uncontrolled toggle
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
@@ -128,23 +130,23 @@ export function Forms() {
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
@@ -157,23 +159,23 @@ export function Forms() {
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
diff --git a/src/view/screens/Storybook/Links.tsx b/src/view/screens/Storybook/Links.tsx
index f9ecfba554..d35db79bc4 100644
--- a/src/view/screens/Storybook/Links.tsx
+++ b/src/view/screens/Storybook/Links.tsx
@@ -1,9 +1,9 @@
import React from 'react'
import {View} from 'react-native'
-import {useTheme, atoms as a} from '#/alf'
+import {atoms as a, useTheme} from '#/alf'
import {ButtonText} from '#/components/Button'
-import {InlineLink, Link} from '#/components/Link'
+import {InlineLinkText, Link} from '#/components/Link'
import {H1, Text} from '#/components/Typography'
export function Links() {
@@ -13,20 +13,22 @@ export function Links() {