diff options
Diffstat (limited to 'src')
99 files changed, 22881 insertions, 5300 deletions
diff --git a/src/App.native.tsx b/src/App.native.tsx index 9de901767..41b78fc98 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -13,6 +13,8 @@ import { import 'view/icons' +import {ThemeProvider as Alf} from '#/alf' +import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {init as initPersistedState} from '#/state/persisted' import {listenSessionDropped} from './state/events' import {useColorMode} from 'state/shell' @@ -25,6 +27,7 @@ import {queryClient} from 'lib/react-query' import {TestCtrls} from 'view/com/testing/TestCtrls' import {Provider as ShellStateProvider} from 'state/shell' import {Provider as ModalStateProvider} from 'state/modals' +import {Provider as DialogStateProvider} from 'state/dialogs' import {Provider as LightboxStateProvider} from 'state/lightbox' import {Provider as MutedThreadsProvider} from 'state/muted-threads' import {Provider as InvitesStateProvider} from 'state/invites' @@ -39,6 +42,7 @@ import { import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread' import * as persisted from '#/state/persisted' import {Splash} from '#/Splash' +import {Provider as PortalProvider} from '#/components/Portal' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -48,6 +52,7 @@ function InnerApp() { const colorMode = useColorMode() const {isInitialLoad, currentAccount} = useSession() const {resumeSession} = useSessionApi() + const theme = useColorModeTheme(colorMode) const {_} = useLingui() // init @@ -63,25 +68,27 @@ function InnerApp() { return ( <SafeAreaProvider initialMetrics={initialWindowMetrics}> - <Splash isReady={!isInitialLoad}> - <React.Fragment - // Resets the entire tree below when it changes: - key={currentAccount?.did}> - <LoggedOutViewProvider> - <UnreadNotifsProvider> - <ThemeProvider theme={colorMode}> - {/* All components should be within this provider */} - <RootSiblingParent> - <GestureHandlerRootView style={s.h100pct}> - <TestCtrls /> - <Shell /> - </GestureHandlerRootView> - </RootSiblingParent> - </ThemeProvider> - </UnreadNotifsProvider> - </LoggedOutViewProvider> - </React.Fragment> - </Splash> + <Alf theme={theme}> + <Splash isReady={!isInitialLoad}> + <React.Fragment + // Resets the entire tree below when it changes: + key={currentAccount?.did}> + <LoggedOutViewProvider> + <UnreadNotifsProvider> + <ThemeProvider theme={colorMode}> + {/* All components should be within this provider */} + <RootSiblingParent> + <GestureHandlerRootView style={s.h100pct}> + <TestCtrls /> + <Shell /> + </GestureHandlerRootView> + </RootSiblingParent> + </ThemeProvider> + </UnreadNotifsProvider> + </LoggedOutViewProvider> + </React.Fragment> + </Splash> + </Alf> </SafeAreaProvider> ) } @@ -109,11 +116,15 @@ function App() { <MutedThreadsProvider> <InvitesStateProvider> <ModalStateProvider> - <LightboxStateProvider> - <I18nProvider> - <InnerApp /> - </I18nProvider> - </LightboxStateProvider> + <DialogStateProvider> + <LightboxStateProvider> + <I18nProvider> + <PortalProvider> + <InnerApp /> + </PortalProvider> + </I18nProvider> + </LightboxStateProvider> + </DialogStateProvider> </ModalStateProvider> </InvitesStateProvider> </MutedThreadsProvider> diff --git a/src/App.web.tsx b/src/App.web.tsx index 1bdb3c208..1efa0567c 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -8,6 +8,7 @@ import {RootSiblingParent} from 'react-native-root-siblings' import 'view/icons' import {ThemeProvider as Alf} from '#/alf' +import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {init as initPersistedState} from '#/state/persisted' import {useColorMode} from 'state/shell' import {Shell} from 'view/shell/index' @@ -16,6 +17,7 @@ import {ThemeProvider} from 'lib/ThemeContext' import {queryClient} 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 LightboxStateProvider} from 'state/lightbox' import {Provider as MutedThreadsProvider} from 'state/muted-threads' import {Provider as InvitesStateProvider} from 'state/invites' @@ -29,7 +31,7 @@ import { } from 'state/session' import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread' import * as persisted from '#/state/persisted' -import {useColorModeTheme} from '#/alf/util/useColorModeTheme' +import {Provider as PortalProvider} from '#/components/Portal' function InnerApp() { const {isInitialLoad, currentAccount} = useSession() @@ -92,11 +94,15 @@ function App() { <MutedThreadsProvider> <InvitesStateProvider> <ModalStateProvider> - <LightboxStateProvider> - <I18nProvider> - <InnerApp /> - </I18nProvider> - </LightboxStateProvider> + <DialogStateProvider> + <LightboxStateProvider> + <I18nProvider> + <PortalProvider> + <InnerApp /> + </PortalProvider> + </I18nProvider> + </LightboxStateProvider> + </DialogStateProvider> </ModalStateProvider> </InvitesStateProvider> </MutedThreadsProvider> diff --git a/src/Navigation.tsx b/src/Navigation.tsx index c68cb0580..ea0cd384e 100644 --- a/src/Navigation.tsx +++ b/src/Navigation.tsx @@ -61,7 +61,7 @@ import {ProfileListScreen} from './view/screens/ProfileList' import {PostThreadScreen} from './view/screens/PostThread' import {PostLikedByScreen} from './view/screens/PostLikedBy' import {PostRepostedByScreen} from './view/screens/PostRepostedBy' -import {DebugScreen} from './view/screens/DebugNew' +import {Storybook} from './view/screens/Storybook' import {LogScreen} from './view/screens/Log' import {SupportScreen} from './view/screens/Support' import {PrivacyPolicyScreen} from './view/screens/PrivacyPolicy' @@ -200,8 +200,8 @@ function commonScreens(Stack: typeof HomeTab, unreadCountLabel?: string) { /> <Stack.Screen name="Debug" - getComponent={() => DebugScreen} - options={{title: title(msg`Debug`), requireAuth: true}} + getComponent={() => Storybook} + options={{title: title(msg`Storybook`), requireAuth: true}} /> <Stack.Screen name="Log" diff --git a/src/alf/atoms.ts b/src/alf/atoms.ts index c142f5f71..203c2f282 100644 --- a/src/alf/atoms.ts +++ b/src/alf/atoms.ts @@ -4,6 +4,9 @@ export const atoms = { /* * Positioning */ + fixed: { + position: 'fixed', + }, absolute: { position: 'absolute', }, @@ -32,6 +35,10 @@ export const atoms = { zIndex: 50, }, + overflow_hidden: { + overflow: 'hidden', + }, + /* * Width */ @@ -45,6 +52,12 @@ export const atoms = { /* * Border radius */ + rounded_2xs: { + borderRadius: tokens.borderRadius._2xs, + }, + rounded_xs: { + borderRadius: tokens.borderRadius.xs, + }, rounded_sm: { borderRadius: tokens.borderRadius.sm, }, @@ -58,8 +71,8 @@ export const atoms = { /* * Flex */ - gap_xxs: { - gap: tokens.space.xxs, + gap_2xs: { + gap: tokens.space._2xs, }, gap_xs: { gap: tokens.space.xs, @@ -76,8 +89,17 @@ export const atoms = { gap_xl: { gap: tokens.space.xl, }, - gap_xxl: { - gap: tokens.space.xxl, + gap_2xl: { + gap: tokens.space._2xl, + }, + gap_3xl: { + gap: tokens.space._3xl, + }, + gap_4xl: { + gap: tokens.space._4xl, + }, + gap_5xl: { + gap: tokens.space._5xl, }, flex: { display: 'flex', @@ -125,9 +147,9 @@ export const atoms = { text_right: { textAlign: 'right', }, - text_xxs: { - fontSize: tokens.fontSize.xxs, - lineHeight: tokens.fontSize.xxs, + text_2xs: { + fontSize: tokens.fontSize._2xs, + lineHeight: tokens.fontSize._2xs, }, text_xs: { fontSize: tokens.fontSize.xs, @@ -149,9 +171,21 @@ export const atoms = { fontSize: tokens.fontSize.xl, lineHeight: tokens.fontSize.xl, }, - text_xxl: { - fontSize: tokens.fontSize.xxl, - lineHeight: tokens.fontSize.xxl, + text_2xl: { + fontSize: tokens.fontSize._2xl, + lineHeight: tokens.fontSize._2xl, + }, + text_3xl: { + fontSize: tokens.fontSize._3xl, + lineHeight: tokens.fontSize._3xl, + }, + text_4xl: { + fontSize: tokens.fontSize._4xl, + lineHeight: tokens.fontSize._4xl, + }, + text_5xl: { + fontSize: tokens.fontSize._5xl, + lineHeight: tokens.fontSize._5xl, }, leading_tight: { lineHeight: 1.25, @@ -162,11 +196,8 @@ export const atoms = { font_normal: { fontWeight: tokens.fontWeight.normal, }, - font_semibold: { - fontWeight: tokens.fontWeight.semibold, - }, font_bold: { - fontWeight: tokens.fontWeight.bold, + fontWeight: tokens.fontWeight.semibold, }, /* @@ -183,10 +214,29 @@ export const atoms = { }, /* + * Shadow + */ + shadow_sm: { + shadowRadius: 8, + shadowOpacity: 0.1, + elevation: 8, + }, + shadow_md: { + shadowRadius: 16, + shadowOpacity: 0.1, + elevation: 16, + }, + shadow_lg: { + shadowRadius: 32, + shadowOpacity: 0.1, + elevation: 24, + }, + + /* * Padding */ - p_xxs: { - padding: tokens.space.xxs, + p_2xs: { + padding: tokens.space._2xs, }, p_xs: { padding: tokens.space.xs, @@ -203,12 +253,21 @@ export const atoms = { p_xl: { padding: tokens.space.xl, }, - p_xxl: { - padding: tokens.space.xxl, + p_2xl: { + padding: tokens.space._2xl, }, - px_xxs: { - paddingLeft: tokens.space.xxs, - paddingRight: tokens.space.xxs, + p_3xl: { + padding: tokens.space._3xl, + }, + p_4xl: { + padding: tokens.space._4xl, + }, + p_5xl: { + padding: tokens.space._5xl, + }, + px_2xs: { + paddingLeft: tokens.space._2xs, + paddingRight: tokens.space._2xs, }, px_xs: { paddingLeft: tokens.space.xs, @@ -230,13 +289,25 @@ export const atoms = { paddingLeft: tokens.space.xl, paddingRight: tokens.space.xl, }, - px_xxl: { - paddingLeft: tokens.space.xxl, - paddingRight: tokens.space.xxl, + px_2xl: { + paddingLeft: tokens.space._2xl, + paddingRight: tokens.space._2xl, + }, + px_3xl: { + paddingLeft: tokens.space._3xl, + paddingRight: tokens.space._3xl, }, - py_xxs: { - paddingTop: tokens.space.xxs, - paddingBottom: tokens.space.xxs, + px_4xl: { + paddingLeft: tokens.space._4xl, + paddingRight: tokens.space._4xl, + }, + px_5xl: { + paddingLeft: tokens.space._5xl, + paddingRight: tokens.space._5xl, + }, + py_2xs: { + paddingTop: tokens.space._2xs, + paddingBottom: tokens.space._2xs, }, py_xs: { paddingTop: tokens.space.xs, @@ -258,12 +329,24 @@ export const atoms = { paddingTop: tokens.space.xl, paddingBottom: tokens.space.xl, }, - py_xxl: { - paddingTop: tokens.space.xxl, - paddingBottom: tokens.space.xxl, + py_2xl: { + paddingTop: tokens.space._2xl, + paddingBottom: tokens.space._2xl, + }, + py_3xl: { + paddingTop: tokens.space._3xl, + paddingBottom: tokens.space._3xl, + }, + py_4xl: { + paddingTop: tokens.space._4xl, + paddingBottom: tokens.space._4xl, }, - pt_xxs: { - paddingTop: tokens.space.xxs, + py_5xl: { + paddingTop: tokens.space._5xl, + paddingBottom: tokens.space._5xl, + }, + pt_2xs: { + paddingTop: tokens.space._2xs, }, pt_xs: { paddingTop: tokens.space.xs, @@ -280,11 +363,20 @@ export const atoms = { pt_xl: { paddingTop: tokens.space.xl, }, - pt_xxl: { - paddingTop: tokens.space.xxl, + pt_2xl: { + paddingTop: tokens.space._2xl, + }, + pt_3xl: { + paddingTop: tokens.space._3xl, + }, + pt_4xl: { + paddingTop: tokens.space._4xl, }, - pb_xxs: { - paddingBottom: tokens.space.xxs, + pt_5xl: { + paddingTop: tokens.space._5xl, + }, + pb_2xs: { + paddingBottom: tokens.space._2xs, }, pb_xs: { paddingBottom: tokens.space.xs, @@ -301,11 +393,20 @@ export const atoms = { pb_xl: { paddingBottom: tokens.space.xl, }, - pb_xxl: { - paddingBottom: tokens.space.xxl, + pb_2xl: { + paddingBottom: tokens.space._2xl, + }, + pb_3xl: { + paddingBottom: tokens.space._3xl, + }, + pb_4xl: { + paddingBottom: tokens.space._4xl, + }, + pb_5xl: { + paddingBottom: tokens.space._5xl, }, - pl_xxs: { - paddingLeft: tokens.space.xxs, + pl_2xs: { + paddingLeft: tokens.space._2xs, }, pl_xs: { paddingLeft: tokens.space.xs, @@ -322,11 +423,20 @@ export const atoms = { pl_xl: { paddingLeft: tokens.space.xl, }, - pl_xxl: { - paddingLeft: tokens.space.xxl, + pl_2xl: { + paddingLeft: tokens.space._2xl, }, - pr_xxs: { - paddingRight: tokens.space.xxs, + pl_3xl: { + paddingLeft: tokens.space._3xl, + }, + pl_4xl: { + paddingLeft: tokens.space._4xl, + }, + pl_5xl: { + paddingLeft: tokens.space._5xl, + }, + pr_2xs: { + paddingRight: tokens.space._2xs, }, pr_xs: { paddingRight: tokens.space.xs, @@ -343,15 +453,24 @@ export const atoms = { pr_xl: { paddingRight: tokens.space.xl, }, - pr_xxl: { - paddingRight: tokens.space.xxl, + pr_2xl: { + paddingRight: tokens.space._2xl, + }, + pr_3xl: { + paddingRight: tokens.space._3xl, + }, + pr_4xl: { + paddingRight: tokens.space._4xl, + }, + pr_5xl: { + paddingRight: tokens.space._5xl, }, /* * Margin */ - m_xxs: { - margin: tokens.space.xxs, + m_2xs: { + margin: tokens.space._2xs, }, m_xs: { margin: tokens.space.xs, @@ -368,12 +487,21 @@ export const atoms = { m_xl: { margin: tokens.space.xl, }, - m_xxl: { - margin: tokens.space.xxl, + m_2xl: { + margin: tokens.space._2xl, + }, + m_3xl: { + margin: tokens.space._3xl, + }, + m_4xl: { + margin: tokens.space._4xl, }, - mx_xxs: { - marginLeft: tokens.space.xxs, - marginRight: tokens.space.xxs, + m_5xl: { + margin: tokens.space._5xl, + }, + mx_2xs: { + marginLeft: tokens.space._2xs, + marginRight: tokens.space._2xs, }, mx_xs: { marginLeft: tokens.space.xs, @@ -395,13 +523,25 @@ export const atoms = { marginLeft: tokens.space.xl, marginRight: tokens.space.xl, }, - mx_xxl: { - marginLeft: tokens.space.xxl, - marginRight: tokens.space.xxl, + mx_2xl: { + marginLeft: tokens.space._2xl, + marginRight: tokens.space._2xl, + }, + mx_3xl: { + marginLeft: tokens.space._3xl, + marginRight: tokens.space._3xl, + }, + mx_4xl: { + marginLeft: tokens.space._4xl, + marginRight: tokens.space._4xl, + }, + mx_5xl: { + marginLeft: tokens.space._5xl, + marginRight: tokens.space._5xl, }, - my_xxs: { - marginTop: tokens.space.xxs, - marginBottom: tokens.space.xxs, + my_2xs: { + marginTop: tokens.space._2xs, + marginBottom: tokens.space._2xs, }, my_xs: { marginTop: tokens.space.xs, @@ -423,12 +563,24 @@ export const atoms = { marginTop: tokens.space.xl, marginBottom: tokens.space.xl, }, - my_xxl: { - marginTop: tokens.space.xxl, - marginBottom: tokens.space.xxl, + my_2xl: { + marginTop: tokens.space._2xl, + marginBottom: tokens.space._2xl, }, - mt_xxs: { - marginTop: tokens.space.xxs, + my_3xl: { + marginTop: tokens.space._3xl, + marginBottom: tokens.space._3xl, + }, + my_4xl: { + marginTop: tokens.space._4xl, + marginBottom: tokens.space._4xl, + }, + my_5xl: { + marginTop: tokens.space._5xl, + marginBottom: tokens.space._5xl, + }, + mt_2xs: { + marginTop: tokens.space._2xs, }, mt_xs: { marginTop: tokens.space.xs, @@ -445,11 +597,20 @@ export const atoms = { mt_xl: { marginTop: tokens.space.xl, }, - mt_xxl: { - marginTop: tokens.space.xxl, + mt_2xl: { + marginTop: tokens.space._2xl, + }, + mt_3xl: { + marginTop: tokens.space._3xl, }, - mb_xxs: { - marginBottom: tokens.space.xxs, + mt_4xl: { + marginTop: tokens.space._4xl, + }, + mt_5xl: { + marginTop: tokens.space._5xl, + }, + mb_2xs: { + marginBottom: tokens.space._2xs, }, mb_xs: { marginBottom: tokens.space.xs, @@ -466,11 +627,20 @@ export const atoms = { mb_xl: { marginBottom: tokens.space.xl, }, - mb_xxl: { - marginBottom: tokens.space.xxl, + mb_2xl: { + marginBottom: tokens.space._2xl, + }, + mb_3xl: { + marginBottom: tokens.space._3xl, + }, + mb_4xl: { + marginBottom: tokens.space._4xl, }, - ml_xxs: { - marginLeft: tokens.space.xxs, + mb_5xl: { + marginBottom: tokens.space._5xl, + }, + ml_2xs: { + marginLeft: tokens.space._2xs, }, ml_xs: { marginLeft: tokens.space.xs, @@ -487,11 +657,20 @@ export const atoms = { ml_xl: { marginLeft: tokens.space.xl, }, - ml_xxl: { - marginLeft: tokens.space.xxl, + ml_2xl: { + marginLeft: tokens.space._2xl, + }, + ml_3xl: { + marginLeft: tokens.space._3xl, + }, + ml_4xl: { + marginLeft: tokens.space._4xl, + }, + ml_5xl: { + marginLeft: tokens.space._5xl, }, - mr_xxs: { - marginRight: tokens.space.xxs, + mr_2xs: { + marginRight: tokens.space._2xs, }, mr_xs: { marginRight: tokens.space.xs, @@ -508,7 +687,16 @@ export const atoms = { mr_xl: { marginRight: tokens.space.xl, }, - mr_xxl: { - marginRight: tokens.space.xxl, + mr_2xl: { + marginRight: tokens.space._2xl, + }, + mr_3xl: { + marginRight: tokens.space._3xl, + }, + mr_4xl: { + marginRight: tokens.space._4xl, + }, + mr_5xl: { + marginRight: tokens.space._5xl, }, } as const diff --git a/src/alf/index.tsx b/src/alf/index.tsx index 1daa0bfed..69a879853 100644 --- a/src/alf/index.tsx +++ b/src/alf/index.tsx @@ -5,6 +5,7 @@ import * as themes from '#/alf/themes' export * as tokens from '#/alf/tokens' export {atoms} from '#/alf/atoms' export * from '#/alf/util/platform' +export * from '#/alf/util/flatten' type BreakpointName = keyof typeof breakpoints diff --git a/src/alf/themes.ts b/src/alf/themes.ts index aae5c5893..7c6b7dab4 100644 --- a/src/alf/themes.ts +++ b/src/alf/themes.ts @@ -1,108 +1,320 @@ import * as tokens from '#/alf/tokens' import type {Mutable} from '#/alf/types' +import {atoms} from '#/alf/atoms' -export type ThemeName = 'light' | 'dark' +export type ThemeName = 'light' | 'dim' | 'dark' export type ReadonlyTheme = typeof light export type Theme = Mutable<ReadonlyTheme> +export type ReadonlyPalette = typeof lightPalette +export type Palette = Mutable<ReadonlyPalette> -export type Palette = { - primary: string - positive: string - negative: string -} +export const lightPalette = { + white: tokens.color.gray_0, + black: tokens.color.gray_1000, + + contrast_25: tokens.color.gray_25, + contrast_50: tokens.color.gray_50, + contrast_100: tokens.color.gray_100, + contrast_200: tokens.color.gray_200, + contrast_300: tokens.color.gray_300, + contrast_400: tokens.color.gray_400, + contrast_500: tokens.color.gray_500, + contrast_600: tokens.color.gray_600, + contrast_700: tokens.color.gray_700, + contrast_800: tokens.color.gray_800, + contrast_900: tokens.color.gray_900, + contrast_950: tokens.color.gray_950, + contrast_975: tokens.color.gray_975, + + primary_25: tokens.color.blue_25, + primary_50: tokens.color.blue_50, + primary_100: tokens.color.blue_100, + primary_200: tokens.color.blue_200, + primary_300: tokens.color.blue_300, + primary_400: tokens.color.blue_400, + primary_500: tokens.color.blue_500, + primary_600: tokens.color.blue_600, + primary_700: tokens.color.blue_700, + primary_800: tokens.color.blue_800, + primary_900: tokens.color.blue_900, + primary_950: tokens.color.blue_950, + primary_975: tokens.color.blue_975, + + positive_25: tokens.color.green_25, + positive_50: tokens.color.green_50, + positive_100: tokens.color.green_100, + positive_200: tokens.color.green_200, + positive_300: tokens.color.green_300, + positive_400: tokens.color.green_400, + positive_500: tokens.color.green_500, + positive_600: tokens.color.green_600, + positive_700: tokens.color.green_700, + positive_800: tokens.color.green_800, + positive_900: tokens.color.green_900, + positive_950: tokens.color.green_950, + positive_975: tokens.color.green_975, -export const lightPalette: Palette = { - primary: tokens.color.blue_500, - positive: tokens.color.green_500, - negative: tokens.color.red_500, + negative_25: tokens.color.red_25, + negative_50: tokens.color.red_50, + negative_100: tokens.color.red_100, + negative_200: tokens.color.red_200, + negative_300: tokens.color.red_300, + negative_400: tokens.color.red_400, + negative_500: tokens.color.red_500, + negative_600: tokens.color.red_600, + negative_700: tokens.color.red_700, + negative_800: tokens.color.red_800, + negative_900: tokens.color.red_900, + negative_950: tokens.color.red_950, + negative_975: tokens.color.red_975, } as const export const darkPalette: Palette = { - primary: tokens.color.blue_500, - positive: tokens.color.green_400, - negative: tokens.color.red_400, + white: tokens.color.gray_0, + black: tokens.color.gray_1000, + + contrast_25: tokens.color.gray_975, + contrast_50: tokens.color.gray_950, + contrast_100: tokens.color.gray_900, + contrast_200: tokens.color.gray_800, + contrast_300: tokens.color.gray_700, + contrast_400: tokens.color.gray_600, + contrast_500: tokens.color.gray_500, + contrast_600: tokens.color.gray_400, + contrast_700: tokens.color.gray_300, + contrast_800: tokens.color.gray_200, + contrast_900: tokens.color.gray_100, + contrast_950: tokens.color.gray_50, + contrast_975: tokens.color.gray_25, + + primary_25: tokens.color.blue_25, + primary_50: tokens.color.blue_50, + primary_100: tokens.color.blue_100, + primary_200: tokens.color.blue_200, + primary_300: tokens.color.blue_300, + primary_400: tokens.color.blue_400, + primary_500: tokens.color.blue_500, + primary_600: tokens.color.blue_600, + primary_700: tokens.color.blue_700, + primary_800: tokens.color.blue_800, + primary_900: tokens.color.blue_900, + primary_950: tokens.color.blue_950, + primary_975: tokens.color.blue_975, + + positive_25: tokens.color.green_25, + positive_50: tokens.color.green_50, + positive_100: tokens.color.green_100, + positive_200: tokens.color.green_200, + positive_300: tokens.color.green_300, + positive_400: tokens.color.green_400, + positive_500: tokens.color.green_500, + positive_600: tokens.color.green_600, + positive_700: tokens.color.green_700, + positive_800: tokens.color.green_800, + positive_900: tokens.color.green_900, + positive_950: tokens.color.green_950, + positive_975: tokens.color.green_975, + + negative_25: tokens.color.red_25, + negative_50: tokens.color.red_50, + negative_100: tokens.color.red_100, + negative_200: tokens.color.red_200, + negative_300: tokens.color.red_300, + negative_400: tokens.color.red_400, + negative_500: tokens.color.red_500, + negative_600: tokens.color.red_600, + negative_700: tokens.color.red_700, + negative_800: tokens.color.red_800, + negative_900: tokens.color.red_900, + negative_950: tokens.color.red_950, + negative_975: tokens.color.red_975, } as const export const light = { + name: 'light', palette: lightPalette, atoms: { text: { - color: tokens.color.gray_1000, + color: lightPalette.black, }, text_contrast_700: { - color: tokens.color.gray_700, + color: lightPalette.contrast_700, + }, + text_contrast_600: { + color: lightPalette.contrast_600, }, text_contrast_500: { - color: tokens.color.gray_500, + color: lightPalette.contrast_500, + }, + text_contrast_400: { + color: lightPalette.contrast_400, }, text_inverted: { - color: tokens.color.white, + color: lightPalette.white, }, bg: { - backgroundColor: tokens.color.white, + backgroundColor: lightPalette.white, + }, + bg_contrast_25: { + backgroundColor: lightPalette.contrast_25, + }, + bg_contrast_50: { + backgroundColor: lightPalette.contrast_50, }, bg_contrast_100: { - backgroundColor: tokens.color.gray_100, + backgroundColor: lightPalette.contrast_100, }, bg_contrast_200: { - backgroundColor: tokens.color.gray_200, + backgroundColor: lightPalette.contrast_200, }, bg_contrast_300: { - backgroundColor: tokens.color.gray_300, + backgroundColor: lightPalette.contrast_300, + }, + border: { + borderColor: lightPalette.contrast_100, + }, + border_contrast: { + borderColor: lightPalette.contrast_400, + }, + shadow_sm: { + ...atoms.shadow_sm, + shadowColor: lightPalette.black, + }, + shadow_md: { + ...atoms.shadow_md, + shadowColor: lightPalette.black, }, - bg_positive: { - backgroundColor: tokens.color.green_500, + shadow_lg: { + ...atoms.shadow_lg, + shadowColor: lightPalette.black, + }, + }, +} + +export const dim: Theme = { + name: 'dim', + palette: darkPalette, + atoms: { + text: { + color: darkPalette.white, + }, + text_contrast_700: { + color: darkPalette.contrast_800, }, - bg_negative: { - backgroundColor: tokens.color.red_400, + text_contrast_600: { + color: darkPalette.contrast_700, + }, + text_contrast_500: { + color: darkPalette.contrast_600, + }, + text_contrast_400: { + color: darkPalette.contrast_500, + }, + text_inverted: { + color: darkPalette.black, + }, + bg: { + backgroundColor: darkPalette.contrast_50, + }, + bg_contrast_25: { + backgroundColor: darkPalette.contrast_100, + }, + bg_contrast_50: { + backgroundColor: darkPalette.contrast_200, + }, + bg_contrast_100: { + backgroundColor: darkPalette.contrast_300, + }, + bg_contrast_200: { + backgroundColor: darkPalette.contrast_400, + }, + bg_contrast_300: { + backgroundColor: darkPalette.contrast_500, }, border: { - borderColor: tokens.color.gray_200, + borderColor: darkPalette.contrast_200, + }, + border_contrast: { + borderColor: darkPalette.contrast_400, }, - border_contrast_500: { - borderColor: tokens.color.gray_500, + shadow_sm: { + ...atoms.shadow_sm, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, + }, + shadow_md: { + ...atoms.shadow_md, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, + }, + shadow_lg: { + ...atoms.shadow_lg, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, }, }, } export const dark: Theme = { + name: 'dark', palette: darkPalette, atoms: { text: { - color: tokens.color.white, + color: darkPalette.white, }, text_contrast_700: { - color: tokens.color.gray_300, + color: darkPalette.contrast_700, + }, + text_contrast_600: { + color: darkPalette.contrast_600, }, text_contrast_500: { - color: tokens.color.gray_500, + color: darkPalette.contrast_500, + }, + text_contrast_400: { + color: darkPalette.contrast_400, }, text_inverted: { - color: tokens.color.gray_1000, + color: darkPalette.black, }, bg: { - backgroundColor: tokens.color.gray_1000, + backgroundColor: darkPalette.black, + }, + bg_contrast_25: { + backgroundColor: darkPalette.contrast_50, + }, + bg_contrast_50: { + backgroundColor: darkPalette.contrast_100, }, bg_contrast_100: { - backgroundColor: tokens.color.gray_900, + backgroundColor: darkPalette.contrast_200, }, bg_contrast_200: { - backgroundColor: tokens.color.gray_800, + backgroundColor: darkPalette.contrast_300, }, bg_contrast_300: { - backgroundColor: tokens.color.gray_700, + backgroundColor: darkPalette.contrast_400, }, - bg_positive: { - backgroundColor: tokens.color.green_400, + border: { + borderColor: darkPalette.contrast_100, }, - bg_negative: { - backgroundColor: tokens.color.red_400, + border_contrast: { + borderColor: darkPalette.contrast_300, }, - border: { - borderColor: tokens.color.gray_800, + shadow_sm: { + ...atoms.shadow_sm, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, + }, + shadow_md: { + ...atoms.shadow_md, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, }, - border_contrast_500: { - borderColor: tokens.color.gray_500, + shadow_lg: { + ...atoms.shadow_lg, + shadowOpacity: 0.7, + shadowColor: tokens.color.trueBlack, }, }, } diff --git a/src/alf/tokens.ts b/src/alf/tokens.ts index 4034e0deb..0e370cdc1 100644 --- a/src/alf/tokens.ts +++ b/src/alf/tokens.ts @@ -1,79 +1,95 @@ const BLUE_HUE = 211 -const GRAYSCALE_SATURATION = 22 +const RED_HUE = 346 +const GREEN_HUE = 152 export const color = { - white: '#FFFFFF', + trueBlack: '#000000', - gray_0: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 100%)`, - gray_100: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 95%)`, - gray_200: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 85%)`, - gray_300: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 75%)`, - gray_400: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 65%)`, - gray_500: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 55%)`, - gray_600: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 45%)`, - gray_700: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 35%)`, - gray_800: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 25%)`, - gray_900: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 15%)`, - gray_1000: `hsl(${BLUE_HUE}, ${GRAYSCALE_SATURATION}%, 5%)`, + gray_0: `hsl(${BLUE_HUE}, 20%, 100%)`, + gray_25: `hsl(${BLUE_HUE}, 20%, 97%)`, + gray_50: `hsl(${BLUE_HUE}, 20%, 95%)`, + gray_100: `hsl(${BLUE_HUE}, 20%, 90%)`, + gray_200: `hsl(${BLUE_HUE}, 20%, 80%)`, + gray_300: `hsl(${BLUE_HUE}, 20%, 70%)`, + gray_400: `hsl(${BLUE_HUE}, 20%, 60%)`, + gray_500: `hsl(${BLUE_HUE}, 20%, 50%)`, + gray_600: `hsl(${BLUE_HUE}, 20%, 42%)`, + gray_700: `hsl(${BLUE_HUE}, 20%, 34%)`, + gray_800: `hsl(${BLUE_HUE}, 20%, 26%)`, + gray_900: `hsl(${BLUE_HUE}, 20%, 18%)`, + gray_950: `hsl(${BLUE_HUE}, 20%, 10%)`, + gray_975: `hsl(${BLUE_HUE}, 20%, 7%)`, + gray_1000: `hsl(${BLUE_HUE}, 20%, 4%)`, - blue_0: `hsl(${BLUE_HUE}, 99%, 100%)`, - blue_100: `hsl(${BLUE_HUE}, 99%, 93%)`, - blue_200: `hsl(${BLUE_HUE}, 99%, 83%)`, - blue_300: `hsl(${BLUE_HUE}, 99%, 73%)`, - blue_400: `hsl(${BLUE_HUE}, 99%, 63%)`, + blue_25: `hsl(${BLUE_HUE}, 99%, 97%)`, + blue_50: `hsl(${BLUE_HUE}, 99%, 95%)`, + blue_100: `hsl(${BLUE_HUE}, 99%, 90%)`, + blue_200: `hsl(${BLUE_HUE}, 99%, 80%)`, + blue_300: `hsl(${BLUE_HUE}, 99%, 70%)`, + blue_400: `hsl(${BLUE_HUE}, 99%, 60%)`, blue_500: `hsl(${BLUE_HUE}, 99%, 53%)`, - blue_600: `hsl(${BLUE_HUE}, 99%, 43%)`, - blue_700: `hsl(${BLUE_HUE}, 99%, 33%)`, - blue_800: `hsl(${BLUE_HUE}, 99%, 23%)`, - blue_900: `hsl(${BLUE_HUE}, 99%, 13%)`, - blue_1000: `hsl(${BLUE_HUE}, 99%, 8%)`, + blue_600: `hsl(${BLUE_HUE}, 99%, 42%)`, + blue_700: `hsl(${BLUE_HUE}, 99%, 34%)`, + blue_800: `hsl(${BLUE_HUE}, 99%, 26%)`, + blue_900: `hsl(${BLUE_HUE}, 99%, 18%)`, + blue_950: `hsl(${BLUE_HUE}, 99%, 10%)`, + blue_975: `hsl(${BLUE_HUE}, 99%, 7%)`, - green_0: `hsl(130, 60%, 100%)`, - green_100: `hsl(130, 60%, 95%)`, - green_200: `hsl(130, 60%, 85%)`, - green_300: `hsl(130, 60%, 75%)`, - green_400: `hsl(130, 60%, 65%)`, - green_500: `hsl(130, 60%, 55%)`, - green_600: `hsl(130, 60%, 45%)`, - green_700: `hsl(130, 60%, 35%)`, - green_800: `hsl(130, 60%, 25%)`, - green_900: `hsl(130, 60%, 15%)`, - green_1000: `hsl(130, 60%, 5%)`, + green_25: `hsl(${GREEN_HUE}, 82%, 97%)`, + green_50: `hsl(${GREEN_HUE}, 82%, 95%)`, + green_100: `hsl(${GREEN_HUE}, 82%, 90%)`, + green_200: `hsl(${GREEN_HUE}, 82%, 80%)`, + green_300: `hsl(${GREEN_HUE}, 82%, 70%)`, + green_400: `hsl(${GREEN_HUE}, 82%, 60%)`, + green_500: `hsl(${GREEN_HUE}, 82%, 50%)`, + green_600: `hsl(${GREEN_HUE}, 82%, 42%)`, + green_700: `hsl(${GREEN_HUE}, 82%, 34%)`, + green_800: `hsl(${GREEN_HUE}, 82%, 26%)`, + green_900: `hsl(${GREEN_HUE}, 82%, 18%)`, + green_950: `hsl(${GREEN_HUE}, 82%, 10%)`, + green_975: `hsl(${GREEN_HUE}, 82%, 7%)`, - red_0: `hsl(349, 96%, 100%)`, - red_100: `hsl(349, 96%, 95%)`, - red_200: `hsl(349, 96%, 85%)`, - red_300: `hsl(349, 96%, 75%)`, - red_400: `hsl(349, 96%, 65%)`, - red_500: `hsl(349, 96%, 55%)`, - red_600: `hsl(349, 96%, 45%)`, - red_700: `hsl(349, 96%, 35%)`, - red_800: `hsl(349, 96%, 25%)`, - red_900: `hsl(349, 96%, 15%)`, - red_1000: `hsl(349, 96%, 5%)`, + red_25: `hsl(${RED_HUE}, 91%, 97%)`, + red_50: `hsl(${RED_HUE}, 91%, 95%)`, + red_100: `hsl(${RED_HUE}, 91%, 90%)`, + red_200: `hsl(${RED_HUE}, 91%, 80%)`, + red_300: `hsl(${RED_HUE}, 91%, 70%)`, + red_400: `hsl(${RED_HUE}, 91%, 60%)`, + red_500: `hsl(${RED_HUE}, 91%, 50%)`, + red_600: `hsl(${RED_HUE}, 91%, 42%)`, + red_700: `hsl(${RED_HUE}, 91%, 34%)`, + red_800: `hsl(${RED_HUE}, 91%, 26%)`, + red_900: `hsl(${RED_HUE}, 91%, 18%)`, + red_950: `hsl(${RED_HUE}, 91%, 10%)`, + red_975: `hsl(${RED_HUE}, 91%, 7%)`, } as const export const space = { - xxs: 2, + _2xs: 2, xs: 4, sm: 8, md: 12, - lg: 18, - xl: 24, - xxl: 32, + lg: 16, + xl: 20, + _2xl: 24, + _3xl: 28, + _4xl: 32, + _5xl: 40, } as const export const fontSize = { - xxs: 10, + _2xs: 10, xs: 12, sm: 14, md: 16, lg: 18, - xl: 22, - xxl: 26, + xl: 20, + _2xl: 22, + _3xl: 26, + _4xl: 32, + _5xl: 40, } as const -// TODO test export const lineHeight = { none: 1, normal: 1.5, @@ -81,6 +97,8 @@ export const lineHeight = { } as const export const borderRadius = { + _2xs: 2, + xs: 4, sm: 8, md: 12, full: 999, @@ -92,6 +110,56 @@ export const fontWeight = { bold: '900', } as const +export const gradients = { + sky: { + values: [ + [0, '#0A7AFF'], + [1, '#59B9FF'], + ], + hover_value: '#0A7AFF', + }, + midnight: { + values: [ + [0, '#022C5E'], + [1, '#4079BC'], + ], + hover_value: '#022C5E', + }, + sunrise: { + values: [ + [0, '#4E90AE'], + [0.4, '#AEA3AB'], + [0.8, '#E6A98F'], + [1, '#F3A84C'], + ], + hover_value: '#AEA3AB', + }, + sunset: { + values: [ + [0, '#6772AF'], + [0.6, '#B88BB6'], + [1, '#FFA6AC'], + ], + hover_value: '#B88BB6', + }, + nordic: { + values: [ + [0, '#083367'], + [1, '#9EE8C1'], + ], + hover_value: '#3A7085', + }, + bonfire: { + values: [ + [0, '#203E4E'], + [0.4, '#755B62'], + [0.8, '#CD7765'], + [1, '#EF956E'], + ], + hover_value: '#755B62', + }, +} as const + export type Color = keyof typeof color export type Space = keyof typeof space export type FontSize = keyof typeof fontSize diff --git a/src/alf/util/flatten.ts b/src/alf/util/flatten.ts new file mode 100644 index 000000000..448716a08 --- /dev/null +++ b/src/alf/util/flatten.ts @@ -0,0 +1,3 @@ +import {StyleSheet} from 'react-native' + +export const flatten = StyleSheet.flatten diff --git a/src/components/Button.tsx b/src/components/Button.tsx new file mode 100644 index 000000000..d2100f0b4 --- /dev/null +++ b/src/components/Button.tsx @@ -0,0 +1,507 @@ +import React from 'react' +import { + Pressable, + Text, + PressableProps, + TextProps, + ViewStyle, + AccessibilityProps, + View, + TextStyle, + StyleSheet, +} from 'react-native' +import LinearGradient from 'react-native-linear-gradient' + +import {useTheme, atoms as a, tokens, web, native} from '#/alf' +import {Props as SVGIconProps} from '#/components/icons/common' + +export type ButtonVariant = 'solid' | 'outline' | 'ghost' | 'gradient' +export type ButtonColor = + | 'primary' + | 'secondary' + | 'negative' + | 'gradient_sky' + | 'gradient_midnight' + | 'gradient_sunrise' + | 'gradient_sunset' + | 'gradient_nordic' + | 'gradient_bonfire' +export type ButtonSize = 'small' | 'large' +export type VariantProps = { + /** + * The style variation of the button + */ + variant?: ButtonVariant + /** + * The color of the button + */ + color?: ButtonColor + /** + * The size of the button + */ + size?: ButtonSize +} + +export type ButtonProps = React.PropsWithChildren< + Pick<PressableProps, 'disabled' | 'onPress'> & + AccessibilityProps & + VariantProps & { + label: string + } +> +export type ButtonTextProps = TextProps & VariantProps & {disabled?: boolean} + +const Context = React.createContext< + VariantProps & { + hovered: boolean + focused: boolean + pressed: boolean + disabled: boolean + } +>({ + hovered: false, + focused: false, + pressed: false, + disabled: false, +}) + +export function useButtonContext() { + return React.useContext(Context) +} + +export function Button({ + children, + variant, + color, + size, + label, + disabled = false, + ...rest +}: ButtonProps) { + const t = useTheme() + const [state, setState] = React.useState({ + pressed: false, + hovered: false, + focused: false, + }) + + const onPressIn = React.useCallback(() => { + setState(s => ({ + ...s, + pressed: true, + })) + }, [setState]) + const onPressOut = React.useCallback(() => { + setState(s => ({ + ...s, + pressed: false, + })) + }, [setState]) + const onHoverIn = React.useCallback(() => { + setState(s => ({ + ...s, + hovered: true, + })) + }, [setState]) + const onHoverOut = React.useCallback(() => { + setState(s => ({ + ...s, + hovered: false, + })) + }, [setState]) + const onFocus = React.useCallback(() => { + setState(s => ({ + ...s, + focused: true, + })) + }, [setState]) + const onBlur = React.useCallback(() => { + setState(s => ({ + ...s, + focused: false, + })) + }, [setState]) + + const {baseStyles, hoverStyles, focusStyles} = React.useMemo(() => { + const baseStyles: ViewStyle[] = [] + const hoverStyles: ViewStyle[] = [] + const light = t.name === 'light' + + if (color === 'primary') { + if (variant === 'solid') { + if (!disabled) { + baseStyles.push({ + backgroundColor: t.palette.primary_500, + }) + hoverStyles.push({ + backgroundColor: t.palette.primary_600, + }) + } else { + baseStyles.push({ + backgroundColor: t.palette.primary_700, + }) + } + } else if (variant === 'outline') { + baseStyles.push(a.border, t.atoms.bg, { + borderWidth: 1, + }) + + if (!disabled) { + baseStyles.push(a.border, { + borderColor: tokens.color.blue_500, + }) + hoverStyles.push(a.border, { + backgroundColor: light + ? t.palette.primary_50 + : t.palette.primary_950, + }) + } else { + baseStyles.push(a.border, { + borderColor: light ? tokens.color.blue_200 : tokens.color.blue_900, + }) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push(t.atoms.bg) + hoverStyles.push({ + backgroundColor: light + ? t.palette.primary_100 + : t.palette.primary_900, + }) + } + } + } else if (color === 'secondary') { + if (variant === 'solid') { + if (!disabled) { + baseStyles.push({ + backgroundColor: light + ? tokens.color.gray_100 + : tokens.color.gray_900, + }) + hoverStyles.push({ + backgroundColor: light + ? tokens.color.gray_200 + : tokens.color.gray_950, + }) + } else { + baseStyles.push({ + backgroundColor: light + ? tokens.color.gray_300 + : tokens.color.gray_950, + }) + } + } else if (variant === 'outline') { + baseStyles.push(a.border, t.atoms.bg, { + borderWidth: 1, + }) + + if (!disabled) { + baseStyles.push(a.border, { + borderColor: light ? tokens.color.gray_500 : tokens.color.gray_500, + }) + hoverStyles.push(a.border, t.atoms.bg_contrast_50) + } else { + baseStyles.push(a.border, { + borderColor: light ? tokens.color.gray_200 : tokens.color.gray_800, + }) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push(t.atoms.bg) + hoverStyles.push({ + backgroundColor: light + ? tokens.color.gray_100 + : tokens.color.gray_900, + }) + } + } + } else if (color === 'negative') { + if (variant === 'solid') { + if (!disabled) { + baseStyles.push({ + backgroundColor: t.palette.negative_400, + }) + hoverStyles.push({ + backgroundColor: t.palette.negative_500, + }) + } else { + baseStyles.push({ + backgroundColor: t.palette.negative_600, + }) + } + } else if (variant === 'outline') { + baseStyles.push(a.border, t.atoms.bg, { + borderWidth: 1, + }) + + if (!disabled) { + baseStyles.push(a.border, { + borderColor: t.palette.negative_400, + }) + hoverStyles.push(a.border, { + backgroundColor: light + ? t.palette.negative_50 + : t.palette.negative_975, + }) + } else { + baseStyles.push(a.border, { + borderColor: light + ? t.palette.negative_200 + : t.palette.negative_900, + }) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push(t.atoms.bg) + hoverStyles.push({ + backgroundColor: light + ? t.palette.negative_100 + : t.palette.negative_950, + }) + } + } + } + + if (size === 'large') { + baseStyles.push({paddingVertical: 15}, a.px_2xl, a.rounded_sm, a.gap_sm) + } else if (size === 'small') { + baseStyles.push({paddingVertical: 9}, a.px_md, a.rounded_sm, a.gap_sm) + } + + return { + baseStyles, + hoverStyles, + focusStyles: [ + ...hoverStyles, + { + outline: 0, + } as ViewStyle, + ], + } + }, [t, variant, color, size, disabled]) + + const {gradientColors, gradientHoverColors, gradientLocations} = + React.useMemo(() => { + const colors: string[] = [] + const hoverColors: string[] = [] + const locations: number[] = [] + const gradient = { + primary: tokens.gradients.sky, + secondary: tokens.gradients.sky, + negative: tokens.gradients.sky, + gradient_sky: tokens.gradients.sky, + gradient_midnight: tokens.gradients.midnight, + gradient_sunrise: tokens.gradients.sunrise, + gradient_sunset: tokens.gradients.sunset, + gradient_nordic: tokens.gradients.nordic, + gradient_bonfire: tokens.gradients.bonfire, + }[color || 'primary'] + + if (variant === 'gradient') { + colors.push(...gradient.values.map(([_, color]) => color)) + hoverColors.push(...gradient.values.map(_ => gradient.hover_value)) + locations.push(...gradient.values.map(([location, _]) => location)) + } + + return { + gradientColors: colors, + gradientHoverColors: hoverColors, + gradientLocations: locations, + } + }, [variant, color]) + + const context = React.useMemo( + () => ({ + ...state, + variant, + color, + size, + disabled: disabled || false, + }), + [state, variant, color, size, disabled], + ) + + return ( + <Pressable + role="button" + accessibilityHint={undefined} // optional + {...rest} + aria-label={label} + aria-pressed={state.pressed} + accessibilityLabel={label} + disabled={disabled || false} + accessibilityState={{ + disabled: disabled || false, + }} + style={[ + a.flex_row, + a.align_center, + a.overflow_hidden, + ...baseStyles, + ...(state.hovered || state.pressed ? hoverStyles : []), + ...(state.focused ? focusStyles : []), + ]} + onPressIn={onPressIn} + onPressOut={onPressOut} + onHoverIn={onHoverIn} + onHoverOut={onHoverOut} + onFocus={onFocus} + onBlur={onBlur}> + {variant === 'gradient' && ( + <LinearGradient + colors={ + state.hovered || state.pressed || state.focused + ? gradientHoverColors + : gradientColors + } + locations={gradientLocations} + start={{x: 0, y: 0}} + end={{x: 1, y: 1}} + style={[a.absolute, a.inset_0]} + /> + )} + <Context.Provider value={context}> + {typeof children === 'string' ? ( + <ButtonText>{children}</ButtonText> + ) : ( + children + )} + </Context.Provider> + </Pressable> + ) +} + +export function useSharedButtonTextStyles() { + const t = useTheme() + const {color, variant, disabled, size} = useButtonContext() + return React.useMemo(() => { + const baseStyles: TextStyle[] = [] + const light = t.name === 'light' + + if (color === 'primary') { + if (variant === 'solid') { + if (!disabled) { + baseStyles.push({color: t.palette.white}) + } else { + baseStyles.push({color: t.palette.white, opacity: 0.5}) + } + } else if (variant === 'outline') { + if (!disabled) { + baseStyles.push({ + color: light ? t.palette.primary_600 : t.palette.primary_500, + }) + } else { + baseStyles.push({color: t.palette.primary_600, opacity: 0.5}) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push({color: t.palette.primary_600}) + } else { + baseStyles.push({color: t.palette.primary_600, opacity: 0.5}) + } + } + } else if (color === 'secondary') { + if (variant === 'solid' || variant === 'gradient') { + if (!disabled) { + baseStyles.push({ + color: light ? tokens.color.gray_700 : tokens.color.gray_100, + }) + } else { + baseStyles.push({ + color: light ? tokens.color.gray_400 : tokens.color.gray_700, + }) + } + } else if (variant === 'outline') { + if (!disabled) { + baseStyles.push({ + color: light ? tokens.color.gray_600 : tokens.color.gray_300, + }) + } else { + baseStyles.push({ + color: light ? tokens.color.gray_400 : tokens.color.gray_700, + }) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push({ + color: light ? tokens.color.gray_600 : tokens.color.gray_300, + }) + } else { + baseStyles.push({ + color: light ? tokens.color.gray_400 : tokens.color.gray_600, + }) + } + } + } else if (color === 'negative') { + if (variant === 'solid' || variant === 'gradient') { + if (!disabled) { + baseStyles.push({color: t.palette.white}) + } else { + baseStyles.push({color: t.palette.white, opacity: 0.5}) + } + } else if (variant === 'outline') { + if (!disabled) { + baseStyles.push({color: t.palette.negative_400}) + } else { + baseStyles.push({color: t.palette.negative_400, opacity: 0.5}) + } + } else if (variant === 'ghost') { + if (!disabled) { + baseStyles.push({color: t.palette.negative_400}) + } else { + baseStyles.push({color: t.palette.negative_400, opacity: 0.5}) + } + } + } else { + if (!disabled) { + baseStyles.push({color: t.palette.white}) + } else { + baseStyles.push({color: t.palette.white, opacity: 0.5}) + } + } + + if (size === 'large') { + baseStyles.push( + a.text_md, + web({paddingBottom: 1}), + native({marginTop: 2}), + ) + } else { + baseStyles.push( + a.text_md, + web({paddingBottom: 1}), + native({marginTop: 2}), + ) + } + + return StyleSheet.flatten(baseStyles) + }, [t, variant, color, size, disabled]) +} + +export function ButtonText({children, style, ...rest}: ButtonTextProps) { + const textStyles = useSharedButtonTextStyles() + + return ( + <Text {...rest} style={[a.font_bold, a.text_center, textStyles, style]}> + {children} + </Text> + ) +} + +export function ButtonIcon({ + icon: Comp, +}: { + icon: React.ComponentType<SVGIconProps> +}) { + const {size} = useButtonContext() + const textStyles = useSharedButtonTextStyles() + + return ( + <View style={[a.z_20]}> + <Comp + size={size === 'large' ? 'md' : 'sm'} + style={[{color: textStyles.color, pointerEvents: 'none'}]} + /> + </View> + ) +} diff --git a/src/components/Dialog/context.ts b/src/components/Dialog/context.ts new file mode 100644 index 000000000..b28b9f5a2 --- /dev/null +++ b/src/components/Dialog/context.ts @@ -0,0 +1,35 @@ +import React from 'react' + +import {useDialogStateContext} from '#/state/dialogs' +import {DialogContextProps, DialogControlProps} from '#/components/Dialog/types' + +export const Context = React.createContext<DialogContextProps>({ + close: () => {}, +}) + +export function useDialogContext() { + return React.useContext(Context) +} + +export function useDialogControl() { + const id = React.useId() + const control = React.useRef<DialogControlProps>({ + open: () => {}, + close: () => {}, + }) + const {activeDialogs} = useDialogStateContext() + + React.useEffect(() => { + activeDialogs.current.set(id, control) + return () => { + // eslint-disable-next-line react-hooks/exhaustive-deps + activeDialogs.current.delete(id) + } + }, [id, activeDialogs]) + + return { + ref: control, + open: () => control.current.open(), + close: () => control.current.close(), + } +} diff --git a/src/components/Dialog/index.tsx b/src/components/Dialog/index.tsx new file mode 100644 index 000000000..44e4dc8a7 --- /dev/null +++ b/src/components/Dialog/index.tsx @@ -0,0 +1,162 @@ +import React, {useImperativeHandle} from 'react' +import {View, Dimensions} from 'react-native' +import BottomSheet, { + BottomSheetBackdrop, + BottomSheetScrollView, + BottomSheetTextInput, + BottomSheetView, +} from '@gorhom/bottom-sheet' +import {useSafeAreaInsets} from 'react-native-safe-area-context' + +import {useTheme, atoms as a} from '#/alf' +import {Portal} from '#/components/Portal' +import {createInput} from '#/components/forms/TextField' + +import { + DialogOuterProps, + DialogControlProps, + DialogInnerProps, +} from '#/components/Dialog/types' +import {Context} from '#/components/Dialog/context' + +export {useDialogControl, useDialogContext} from '#/components/Dialog/context' +export * from '#/components/Dialog/types' +// @ts-ignore +export const Input = createInput(BottomSheetTextInput) + +export function Outer({ + children, + control, + onClose, + nativeOptions, +}: React.PropsWithChildren<DialogOuterProps>) { + const t = useTheme() + const sheet = React.useRef<BottomSheet>(null) + const sheetOptions = nativeOptions?.sheet || {} + const hasSnapPoints = !!sheetOptions.snapPoints + + const open = React.useCallback<DialogControlProps['open']>((i = 0) => { + sheet.current?.snapToIndex(i) + }, []) + + const close = React.useCallback(() => { + sheet.current?.close() + onClose?.() + }, [onClose]) + + useImperativeHandle( + control.ref, + () => ({ + open, + close, + }), + [open, close], + ) + + const context = React.useMemo(() => ({close}), [close]) + + return ( + <Portal> + <BottomSheet + enableDynamicSizing={!hasSnapPoints} + enablePanDownToClose + keyboardBehavior="interactive" + android_keyboardInputMode="adjustResize" + keyboardBlurBehavior="restore" + {...sheetOptions} + ref={sheet} + index={-1} + backgroundStyle={{backgroundColor: 'transparent'}} + backdropComponent={props => ( + <BottomSheetBackdrop + opacity={0.4} + appearsOnIndex={0} + disappearsOnIndex={-1} + {...props} + /> + )} + handleIndicatorStyle={{backgroundColor: t.palette.primary_500}} + handleStyle={{display: 'none'}} + onClose={onClose}> + <Context.Provider value={context}> + <View + style={[ + a.absolute, + a.inset_0, + t.atoms.bg, + { + borderTopLeftRadius: 40, + borderTopRightRadius: 40, + height: Dimensions.get('window').height * 2, + }, + ]} + /> + {children} + </Context.Provider> + </BottomSheet> + </Portal> + ) +} + +// TODO a11y props here, or is that handled by the sheet? +export function Inner(props: DialogInnerProps) { + const insets = useSafeAreaInsets() + return ( + <BottomSheetView + style={[ + a.p_lg, + a.pt_3xl, + { + borderTopLeftRadius: 40, + borderTopRightRadius: 40, + paddingBottom: insets.bottom + a.pb_5xl.paddingBottom, + }, + ]}> + {props.children} + </BottomSheetView> + ) +} + +export function ScrollableInner(props: DialogInnerProps) { + const insets = useSafeAreaInsets() + return ( + <BottomSheetScrollView + style={[ + a.flex_1, // main diff is this + a.p_lg, + a.pt_3xl, + { + borderTopLeftRadius: 40, + borderTopRightRadius: 40, + }, + ]}> + {props.children} + <View style={{height: insets.bottom + a.pt_5xl.paddingTop}} /> + </BottomSheetScrollView> + ) +} + +export function Handle() { + const t = useTheme() + return ( + <View + style={[ + a.absolute, + a.rounded_sm, + a.z_10, + { + top: a.pt_lg.paddingTop, + width: 35, + height: 4, + alignSelf: 'center', + backgroundColor: t.palette.contrast_900, + opacity: 0.5, + }, + ]} + /> + ) +} + +export function Close() { + return null +} diff --git a/src/components/Dialog/index.web.tsx b/src/components/Dialog/index.web.tsx new file mode 100644 index 000000000..305c00e97 --- /dev/null +++ b/src/components/Dialog/index.web.tsx @@ -0,0 +1,194 @@ +import React, {useImperativeHandle} from 'react' +import {View, TouchableWithoutFeedback} from 'react-native' +import {FocusScope} from '@tamagui/focus-scope' +import Animated, {FadeInDown, FadeIn} from 'react-native-reanimated' +import {msg} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {useTheme, atoms as a, useBreakpoints, web} from '#/alf' +import {Portal} from '#/components/Portal' + +import {DialogOuterProps, DialogInnerProps} from '#/components/Dialog/types' +import {Context} from '#/components/Dialog/context' + +export {useDialogControl, useDialogContext} from '#/components/Dialog/context' +export * from '#/components/Dialog/types' +export {Input} from '#/components/forms/TextField' + +const stopPropagation = (e: any) => e.stopPropagation() + +export function Outer({ + control, + onClose, + children, +}: React.PropsWithChildren<DialogOuterProps>) { + const {_} = useLingui() + const t = useTheme() + const {gtMobile} = useBreakpoints() + const [isOpen, setIsOpen] = React.useState(false) + const [isVisible, setIsVisible] = React.useState(true) + + const open = React.useCallback(() => { + setIsOpen(true) + }, [setIsOpen]) + + const close = React.useCallback(async () => { + setIsVisible(false) + await new Promise(resolve => setTimeout(resolve, 150)) + setIsOpen(false) + setIsVisible(true) + onClose?.() + }, [onClose, setIsOpen]) + + useImperativeHandle( + control.ref, + () => ({ + open, + close, + }), + [open, close], + ) + + React.useEffect(() => { + if (!isOpen) return + + function handler(e: KeyboardEvent) { + if (e.key === 'Escape') close() + } + + document.addEventListener('keydown', handler) + + return () => document.removeEventListener('keydown', handler) + }, [isOpen, close]) + + const context = React.useMemo( + () => ({ + close, + }), + [close], + ) + + return ( + <> + {isOpen && ( + <Portal> + <Context.Provider value={context}> + <TouchableWithoutFeedback + accessibilityHint={undefined} + accessibilityLabel={_(msg`Close active dialog`)} + onPress={close}> + <View + style={[ + web(a.fixed), + a.inset_0, + a.z_10, + a.align_center, + gtMobile ? a.p_lg : a.p_md, + {overflowY: 'auto'}, + ]}> + {isVisible && ( + <Animated.View + entering={FadeIn.duration(150)} + // exiting={FadeOut.duration(150)} + style={[ + web(a.fixed), + a.inset_0, + {opacity: 0.5, backgroundColor: t.palette.black}, + ]} + /> + )} + + <View + style={[ + a.w_full, + a.z_20, + a.justify_center, + a.align_center, + { + minHeight: web('calc(90vh - 36px)') || undefined, + }, + ]}> + {isVisible ? children : null} + </View> + </View> + </TouchableWithoutFeedback> + </Context.Provider> + </Portal> + )} + </> + ) +} + +export function Inner({ + children, + style, + label, + accessibilityLabelledBy, + accessibilityDescribedBy, +}: DialogInnerProps) { + const t = useTheme() + const {gtMobile} = useBreakpoints() + return ( + <FocusScope loop enabled trapped> + <Animated.View + role="dialog" + aria-role="dialog" + aria-label={label} + aria-labelledby={accessibilityLabelledBy} + aria-describedby={accessibilityDescribedBy} + // @ts-ignore web only -prf + onClick={stopPropagation} + onStartShouldSetResponder={_ => true} + onTouchEnd={stopPropagation} + entering={FadeInDown.duration(100)} + // exiting={FadeOut.duration(100)} + style={[ + a.relative, + a.rounded_md, + a.w_full, + a.border, + gtMobile ? a.p_xl : a.p_lg, + t.atoms.bg, + { + maxWidth: 600, + borderColor: t.palette.contrast_200, + shadowColor: t.palette.black, + shadowOpacity: t.name === 'light' ? 0.1 : 0.4, + shadowRadius: 30, + }, + ...(Array.isArray(style) ? style : [style || {}]), + ]}> + {children} + </Animated.View> + </FocusScope> + ) +} + +export const ScrollableInner = Inner + +export function Handle() { + return null +} + +/** + * TODO(eric) unused rn + */ +// export function Close() { +// const {_} = useLingui() +// const t = useTheme() +// const {close} = useDialogContext() +// return ( +// <View +// style={[ +// a.absolute, +// a.z_10, +// { +// top: a.pt_lg.paddingTop, +// right: a.pr_lg.paddingRight, +// }, +// ]}> +// <Button onPress={close} label={_(msg`Close active dialog`)}> +// </Button> +// </View> +// ) +// } diff --git a/src/components/Dialog/types.ts b/src/components/Dialog/types.ts new file mode 100644 index 000000000..d36784183 --- /dev/null +++ b/src/components/Dialog/types.ts @@ -0,0 +1,43 @@ +import React from 'react' +import type {ViewStyle, AccessibilityProps} from 'react-native' +import {BottomSheetProps} from '@gorhom/bottom-sheet' + +type A11yProps = Required<AccessibilityProps> + +export type DialogContextProps = { + close: () => void +} + +export type DialogControlProps = { + open: (index?: number) => void + close: () => void +} + +export type DialogOuterProps = { + control: { + ref: React.RefObject<DialogControlProps> + open: (index?: number) => void + close: () => void + } + onClose?: () => void + nativeOptions?: { + sheet?: Omit<BottomSheetProps, 'children'> + } + webOptions?: {} +} + +type DialogInnerPropsBase<T> = React.PropsWithChildren<{ + style?: ViewStyle +}> & + T +export type DialogInnerProps = + | DialogInnerPropsBase<{ + label?: undefined + accessibilityLabelledBy: A11yProps['aria-labelledby'] + accessibilityDescribedBy: string + }> + | DialogInnerPropsBase<{ + label: string + accessibilityLabelledBy?: undefined + accessibilityDescribedBy?: undefined + }> diff --git a/src/components/Link.tsx b/src/components/Link.tsx new file mode 100644 index 000000000..8f686f3c4 --- /dev/null +++ b/src/components/Link.tsx @@ -0,0 +1,191 @@ +import React from 'react' +import { + Text, + TextStyle, + StyleProp, + GestureResponderEvent, + Linking, +} from 'react-native' +import { + useLinkProps, + useNavigation, + StackActions, +} from '@react-navigation/native' +import {sanitizeUrl} from '@braintree/sanitize-url' + +import {isWeb} from '#/platform/detection' +import {useTheme, web, flatten} from '#/alf' +import {Button, ButtonProps, useButtonContext} from '#/components/Button' +import {AllNavigatorParams, NavigationProp} from '#/lib/routes/types' +import { + convertBskyAppUrlIfNeeded, + isExternalUrl, + linkRequiresWarning, +} from '#/lib/strings/url-helpers' +import {useModalControls} from '#/state/modals' +import {router} from '#/routes' + +export type LinkProps = Omit< + ButtonProps, + 'style' | 'onPress' | 'disabled' | 'label' +> & { + /** + * `TextStyle` to apply to the anchor element itself. Does not apply to any children. + */ + style?: StyleProp<TextStyle> + /** + * The React Navigation `StackAction` to perform when the link is pressed. + */ + action?: 'push' | 'replace' | 'navigate' + /** + * If true, will warn the user if the link text does not match the href. Only + * works for Links with children that are strings i.e. text links. + */ + warnOnMismatchingTextChild?: boolean + label?: ButtonProps['label'] +} & Pick<Parameters<typeof useLinkProps<AllNavigatorParams>>[0], 'to'> + +/** + * A interactive element that renders as a `<a>` tag on the web. On mobile it + * will translate the `href` to navigator screens and params and dispatch a + * navigation action. + * + * Intended to behave as a web anchor tag. For more complex routing, use a + * `Button`. + */ +export function Link({ + children, + to, + action = 'push', + warnOnMismatchingTextChild, + style, + ...rest +}: LinkProps) { + const navigation = useNavigation<NavigationProp>() + const {href} = useLinkProps<AllNavigatorParams>({ + to: + typeof to === 'string' ? convertBskyAppUrlIfNeeded(sanitizeUrl(to)) : to, + }) + const isExternal = isExternalUrl(href) + const {openModal, closeModal} = useModalControls() + const onPress = React.useCallback( + (e: GestureResponderEvent) => { + const stringChildren = typeof children === 'string' ? children : '' + const requiresWarning = Boolean( + warnOnMismatchingTextChild && + stringChildren && + isExternal && + linkRequiresWarning(href, stringChildren), + ) + + if (requiresWarning) { + e.preventDefault() + + openModal({ + name: 'link-warning', + text: stringChildren, + href: href, + }) + } else { + e.preventDefault() + + if (isExternal) { + Linking.openURL(href) + } else { + /** + * A `GestureResponderEvent`, but cast to `any` to avoid using a bunch + * of @ts-ignore below. + */ + const event = e as any + const isMiddleClick = isWeb && event.button === 1 + const isMetaKey = + isWeb && + (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey) + const shouldOpenInNewTab = isMetaKey || isMiddleClick + + if ( + shouldOpenInNewTab || + href.startsWith('http') || + href.startsWith('mailto') + ) { + Linking.openURL(href) + } else { + closeModal() // close any active modals + + if (action === 'push') { + navigation.dispatch(StackActions.push(...router.matchPath(href))) + } else if (action === 'replace') { + navigation.dispatch( + StackActions.replace(...router.matchPath(href)), + ) + } else if (action === 'navigate') { + // @ts-ignore + navigation.navigate(...router.matchPath(href)) + } else { + throw Error('Unsupported navigator action.') + } + } + } + } + }, + [ + href, + isExternal, + warnOnMismatchingTextChild, + navigation, + action, + children, + closeModal, + openModal, + ], + ) + + return ( + <Button + label={href} + {...rest} + role="link" + accessibilityRole="link" + href={href} + onPress={onPress} + {...web({ + hrefAttrs: { + target: isExternal ? 'blank' : undefined, + rel: isExternal ? 'noopener noreferrer' : undefined, + }, + dataSet: { + // default to no underline, apply this ourselves + noUnderline: '1', + }, + })}> + {typeof children === 'string' ? ( + <LinkText style={style}>{children}</LinkText> + ) : ( + children + )} + </Button> + ) +} + +function LinkText({ + children, + style, +}: React.PropsWithChildren<{ + style?: StyleProp<TextStyle> +}>) { + const t = useTheme() + const {hovered} = useButtonContext() + return ( + <Text + style={[ + {color: t.palette.primary_500}, + hovered && { + textDecorationLine: 'underline', + textDecorationColor: t.palette.primary_500, + }, + flatten(style), + ]}> + {children as string} + </Text> + ) +} diff --git a/src/components/Portal.tsx b/src/components/Portal.tsx new file mode 100644 index 000000000..1813d9e05 --- /dev/null +++ b/src/components/Portal.tsx @@ -0,0 +1,56 @@ +import React from 'react' + +type Component = React.ReactElement + +type ContextType = { + outlet: Component | null + append(id: string, component: Component): void + remove(id: string): void +} + +type ComponentMap = { + [id: string]: Component +} + +export const Context = React.createContext<ContextType>({ + outlet: null, + append: () => {}, + remove: () => {}, +}) + +export function Provider(props: React.PropsWithChildren<{}>) { + const map = React.useRef<ComponentMap>({}) + const [outlet, setOutlet] = React.useState<ContextType['outlet']>(null) + + const append = React.useCallback<ContextType['append']>((id, component) => { + if (map.current[id]) return + map.current[id] = <React.Fragment key={id}>{component}</React.Fragment> + setOutlet(<>{Object.values(map.current)}</>) + }, []) + + const remove = React.useCallback<ContextType['remove']>(id => { + delete map.current[id] + setOutlet(<>{Object.values(map.current)}</>) + }, []) + + return ( + <Context.Provider value={{outlet, append, remove}}> + {props.children} + </Context.Provider> + ) +} + +export function Outlet() { + const ctx = React.useContext(Context) + return ctx.outlet +} + +export function Portal({children}: React.PropsWithChildren<{}>) { + const {append, remove} = React.useContext(Context) + const id = React.useId() + React.useEffect(() => { + append(id, children as Component) + return () => remove(id) + }, [id, children, append, remove]) + return null +} diff --git a/src/components/Prompt.tsx b/src/components/Prompt.tsx new file mode 100644 index 000000000..7115f6190 --- /dev/null +++ b/src/components/Prompt.tsx @@ -0,0 +1,119 @@ +import React from 'react' +import {View, PressableProps} from 'react-native' +import {msg} from '@lingui/macro' +import {useLingui} from '@lingui/react' + +import {useTheme, atoms as a} from '#/alf' +import {H4, P} from '#/components/Typography' +import {Button} from '#/components/Button' + +import * as Dialog from '#/components/Dialog' + +export {useDialogControl as usePromptControl} from '#/components/Dialog' + +const Context = React.createContext<{ + titleId: string + descriptionId: string +}>({ + titleId: '', + descriptionId: '', +}) + +export function Outer({ + children, + control, +}: React.PropsWithChildren<{ + control: Dialog.DialogOuterProps['control'] +}>) { + const titleId = React.useId() + const descriptionId = React.useId() + + const context = React.useMemo( + () => ({titleId, descriptionId}), + [titleId, descriptionId], + ) + + return ( + <Dialog.Outer control={control}> + <Context.Provider value={context}> + <Dialog.Handle /> + + <Dialog.Inner + accessibilityLabelledBy={titleId} + accessibilityDescribedBy={descriptionId} + style={{width: 'auto', maxWidth: 400}}> + {children} + </Dialog.Inner> + </Context.Provider> + </Dialog.Outer> + ) +} + +export function Title({children}: React.PropsWithChildren<{}>) { + const t = useTheme() + const {titleId} = React.useContext(Context) + return ( + <H4 + nativeID={titleId} + style={[a.font_bold, t.atoms.text_contrast_700, a.pb_sm]}> + {children} + </H4> + ) +} + +export function Description({children}: React.PropsWithChildren<{}>) { + const t = useTheme() + const {descriptionId} = React.useContext(Context) + return ( + <P nativeID={descriptionId} style={[t.atoms.text, a.pb_lg]}> + {children} + </P> + ) +} + +export function Actions({children}: React.PropsWithChildren<{}>) { + return ( + <View style={[a.w_full, a.flex_row, a.gap_sm, a.justify_end]}> + {children} + </View> + ) +} + +export function Cancel({ + children, +}: React.PropsWithChildren<{onPress?: PressableProps['onPress']}>) { + const {_} = useLingui() + const {close} = Dialog.useDialogContext() + return ( + <Button + variant="solid" + color="secondary" + size="small" + label={_(msg`Cancel`)} + onPress={close}> + {children} + </Button> + ) +} + +export function Action({ + children, + onPress, +}: React.PropsWithChildren<{onPress?: () => void}>) { + const {_} = useLingui() + const {close} = Dialog.useDialogContext() + const handleOnPress = React.useCallback(() => { + close() + onPress?.() + }, [close, onPress]) + return ( + <Button + variant="solid" + color="primary" + size="small" + label={_(msg`Confirm`)} + onPress={handleOnPress}> + {children} + </Button> + ) +} diff --git a/src/view/com/Typography.tsx b/src/components/Typography.tsx index 6579c2e51..66cf0720d 100644 --- a/src/view/com/Typography.tsx +++ b/src/components/Typography.tsx @@ -1,6 +1,7 @@ import React from 'react' import {Text as RNText, TextProps} from 'react-native' -import {useTheme, atoms, web} from '#/alf' + +import {useTheme, atoms, web, flatten} from '#/alf' export function Text({style, ...rest}: TextProps) { const t = useTheme() @@ -18,7 +19,7 @@ export function H1({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_xl, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_5xl, atoms.font_bold, t.atoms.text, flatten(style)]} /> ) } @@ -34,7 +35,7 @@ export function H2({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_lg, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_4xl, atoms.font_bold, t.atoms.text, flatten(style)]} /> ) } @@ -50,7 +51,7 @@ export function H3({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_md, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_3xl, atoms.font_bold, t.atoms.text, flatten(style)]} /> ) } @@ -66,7 +67,7 @@ export function H4({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_sm, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_2xl, atoms.font_bold, t.atoms.text, flatten(style)]} /> ) } @@ -82,7 +83,7 @@ export function H5({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_xs, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_xl, atoms.font_bold, t.atoms.text, flatten(style)]} /> ) } @@ -98,7 +99,26 @@ export function H6({style, ...rest}: TextProps) { <RNText {...attr} {...rest} - style={[atoms.text_xxs, atoms.font_bold, t.atoms.text, style]} + style={[atoms.text_lg, atoms.font_bold, t.atoms.text, flatten(style)]} + /> + ) +} + +export function P({style, ...rest}: TextProps) { + const t = useTheme() + const attr = + web({ + role: 'paragraph', + }) || {} + const _style = flatten(style) + const lineHeight = + (_style?.lineHeight || atoms.text_md.lineHeight) * + atoms.leading_normal.lineHeight + return ( + <RNText + {...attr} + {...rest} + style={[atoms.text_md, t.atoms.text, _style, {lineHeight}]} /> ) } diff --git a/src/components/forms/DateField/index.android.tsx b/src/components/forms/DateField/index.android.tsx new file mode 100644 index 000000000..83fa285f5 --- /dev/null +++ b/src/components/forms/DateField/index.android.tsx @@ -0,0 +1,108 @@ +import React from 'react' +import {View, Pressable} from 'react-native' +import DateTimePicker, { + BaseProps as DateTimePickerProps, +} from '@react-native-community/datetimepicker' + +import {useTheme, atoms} from '#/alf' +import {Text} from '#/components/Typography' +import {useInteractionState} from '#/components/hooks/useInteractionState' +import * as TextField from '#/components/forms/TextField' +import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays' + +import {DateFieldProps} from '#/components/forms/DateField/types' +import { + localizeDate, + toSimpleDateString, +} from '#/components/forms/DateField/utils' + +export * as utils from '#/components/forms/DateField/utils' +export const Label = TextField.Label + +export function DateField({ + value, + onChangeDate, + label, + isInvalid, + testID, +}: DateFieldProps) { + const t = useTheme() + const [open, setOpen] = React.useState(false) + const { + state: pressed, + onIn: onPressIn, + onOut: onPressOut, + } = useInteractionState() + const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState() + + const {chromeFocus, chromeError, chromeErrorHover} = + TextField.useSharedInputStyles() + + const onChangeInternal = React.useCallback< + Required<DateTimePickerProps>['onChange'] + >( + (_event, date) => { + setOpen(false) + + if (date) { + const formatted = toSimpleDateString(date) + onChangeDate(formatted) + } + }, + [onChangeDate, setOpen], + ) + + return ( + <View style={[atoms.relative, atoms.w_full]}> + <Pressable + aria-label={label} + accessibilityLabel={label} + accessibilityHint={undefined} + onPress={() => setOpen(true)} + onPressIn={onPressIn} + onPressOut={onPressOut} + onFocus={onFocus} + onBlur={onBlur} + style={[ + { + paddingTop: 16, + paddingBottom: 16, + borderColor: 'transparent', + borderWidth: 2, + }, + atoms.flex_row, + atoms.flex_1, + atoms.w_full, + atoms.px_lg, + atoms.rounded_sm, + t.atoms.bg_contrast_50, + focused || pressed ? chromeFocus : {}, + isInvalid ? chromeError : {}, + isInvalid && (focused || pressed) ? chromeErrorHover : {}, + ]}> + <TextField.Icon icon={CalendarDays} /> + + <Text + style={[atoms.text_md, atoms.pl_xs, t.atoms.text, {paddingTop: 3}]}> + {localizeDate(value)} + </Text> + </Pressable> + + {open && ( + <DateTimePicker + aria-label={label} + accessibilityLabel={label} + accessibilityHint={undefined} + testID={`${testID}-datepicker`} + mode="date" + timeZoneName={'Etc/UTC'} + display="spinner" + // @ts-ignore applies in iOS only -prf + themeVariant={t.name === 'dark' ? 'dark' : 'light'} + value={new Date(value)} + onChange={onChangeInternal} + /> + )} + </View> + ) +} diff --git a/src/components/forms/DateField/index.tsx b/src/components/forms/DateField/index.tsx new file mode 100644 index 000000000..c359a9d46 --- /dev/null +++ b/src/components/forms/DateField/index.tsx @@ -0,0 +1,56 @@ +import React from 'react' +import {View} from 'react-native' +import DateTimePicker, { + DateTimePickerEvent, +} from '@react-native-community/datetimepicker' + +import {useTheme, atoms} from '#/alf' +import * as TextField from '#/components/forms/TextField' +import {toSimpleDateString} from '#/components/forms/DateField/utils' +import {DateFieldProps} from '#/components/forms/DateField/types' + +export * as utils from '#/components/forms/DateField/utils' +export const Label = TextField.Label + +/** + * Date-only input. Accepts a date in the format YYYY-MM-DD, and reports date + * changes in the same format. + * + * For dates of unknown format, convert with the + * `utils.toSimpleDateString(Date)` export of this file. + */ +export function DateField({ + value, + onChangeDate, + testID, + label, +}: DateFieldProps) { + const t = useTheme() + + const onChangeInternal = React.useCallback( + (event: DateTimePickerEvent, date: Date | undefined) => { + if (date) { + const formatted = toSimpleDateString(date) + onChangeDate(formatted) + } + }, + [onChangeDate], + ) + + return ( + <View style={[atoms.relative, atoms.w_full]}> + <DateTimePicker + aria-label={label} + accessibilityLabel={label} + accessibilityHint={undefined} + testID={`${testID}-datepicker`} + mode="date" + timeZoneName={'Etc/UTC'} + display="spinner" + themeVariant={t.name === 'dark' ? 'dark' : 'light'} + value={new Date(value)} + onChange={onChangeInternal} + /> + </View> + ) +} diff --git a/src/components/forms/DateField/index.web.tsx b/src/components/forms/DateField/index.web.tsx new file mode 100644 index 000000000..32f38a5d1 --- /dev/null +++ b/src/components/forms/DateField/index.web.tsx @@ -0,0 +1,64 @@ +import React from 'react' +import {TextInput, TextInputProps, StyleSheet} from 'react-native' +// @ts-ignore +import {unstable_createElement} from 'react-native-web' + +import * as TextField from '#/components/forms/TextField' +import {toSimpleDateString} from '#/components/forms/DateField/utils' +import {DateFieldProps} from '#/components/forms/DateField/types' + +export * as utils from '#/components/forms/DateField/utils' +export const Label = TextField.Label + +const InputBase = React.forwardRef<HTMLInputElement, TextInputProps>( + ({style, ...props}, ref) => { + return unstable_createElement('input', { + ...props, + ref, + type: 'date', + style: [ + StyleSheet.flatten(style), + { + background: 'transparent', + border: 0, + }, + ], + }) + }, +) + +InputBase.displayName = 'InputBase' + +const Input = TextField.createInput(InputBase as unknown as typeof TextInput) + +export function DateField({ + value, + onChangeDate, + label, + isInvalid, + testID, +}: DateFieldProps) { + const handleOnChange = React.useCallback( + (e: any) => { + const date = e.target.valueAsDate || e.target.value + + if (date) { + const formatted = toSimpleDateString(date) + onChangeDate(formatted) + } + }, + [onChangeDate], + ) + + return ( + <TextField.Root isInvalid={isInvalid}> + <Input + value={value} + label={label} + onChange={handleOnChange} + onChangeText={() => {}} + testID={testID} + /> + </TextField.Root> + ) +} diff --git a/src/components/forms/DateField/types.ts b/src/components/forms/DateField/types.ts new file mode 100644 index 000000000..129f5672d --- /dev/null +++ b/src/components/forms/DateField/types.ts @@ -0,0 +1,7 @@ +export type DateFieldProps = { + value: string + onChangeDate: (date: string) => void + label: string + isInvalid?: boolean + testID?: string +} diff --git a/src/components/forms/DateField/utils.ts b/src/components/forms/DateField/utils.ts new file mode 100644 index 000000000..c787272fe --- /dev/null +++ b/src/components/forms/DateField/utils.ts @@ -0,0 +1,16 @@ +import {getLocales} from 'expo-localization' + +const LOCALE = getLocales()[0] + +// we need the date in the form yyyy-MM-dd to pass to the input +export function toSimpleDateString(date: Date | string): string { + const _date = typeof date === 'string' ? new Date(date) : date + return _date.toISOString().split('T')[0] +} + +export function localizeDate(date: Date | string): string { + const _date = typeof date === 'string' ? new Date(date) : date + return new Intl.DateTimeFormat(LOCALE.languageTag, { + timeZone: 'UTC', + }).format(_date) +} diff --git a/src/components/forms/InputGroup.tsx b/src/components/forms/InputGroup.tsx new file mode 100644 index 000000000..6908d4df8 --- /dev/null +++ b/src/components/forms/InputGroup.tsx @@ -0,0 +1,43 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms, useTheme} from '#/alf' + +/** + * NOT FINISHED, just here as a reference + */ +export function InputGroup(props: React.PropsWithChildren<{}>) { + const t = useTheme() + const children = React.Children.toArray(props.children) + const total = children.length + return ( + <View style={[atoms.w_full]}> + {children.map((child, i) => { + return React.isValidElement(child) ? ( + <React.Fragment key={i}> + {i > 0 ? ( + <View + style={[atoms.border_b, {borderColor: t.palette.contrast_500}]} + /> + ) : null} + {React.cloneElement(child, { + // @ts-ignore + style: [ + ...(Array.isArray(child.props?.style) + ? child.props.style + : [child.props.style || {}]), + { + borderTopLeftRadius: i > 0 ? 0 : undefined, + borderTopRightRadius: i > 0 ? 0 : undefined, + borderBottomLeftRadius: i < total - 1 ? 0 : undefined, + borderBottomRightRadius: i < total - 1 ? 0 : undefined, + borderBottomWidth: i < total - 1 ? 0 : undefined, + }, + ], + })} + </React.Fragment> + ) : null + })} + </View> + ) +} diff --git a/src/components/forms/TextField.tsx b/src/components/forms/TextField.tsx new file mode 100644 index 000000000..1ee58303a --- /dev/null +++ b/src/components/forms/TextField.tsx @@ -0,0 +1,334 @@ +import React from 'react' +import { + View, + TextInput, + TextInputProps, + TextStyle, + ViewStyle, + Pressable, + StyleSheet, + AccessibilityProps, +} from 'react-native' + +import {HITSLOP_20} from 'lib/constants' +import {isWeb} from '#/platform/detection' +import {useTheme, atoms as a, web, tokens, android} from '#/alf' +import {Text} from '#/components/Typography' +import {useInteractionState} from '#/components/hooks/useInteractionState' +import {Props as SVGIconProps} from '#/components/icons/common' + +const Context = React.createContext<{ + inputRef: React.RefObject<TextInput> | null + isInvalid: boolean + hovered: boolean + onHoverIn: () => void + onHoverOut: () => void + focused: boolean + onFocus: () => void + onBlur: () => void +}>({ + inputRef: null, + isInvalid: false, + hovered: false, + onHoverIn: () => {}, + onHoverOut: () => {}, + focused: false, + onFocus: () => {}, + onBlur: () => {}, +}) + +export type RootProps = React.PropsWithChildren<{isInvalid?: boolean}> + +export function Root({children, isInvalid = false}: RootProps) { + const inputRef = React.useRef<TextInput>(null) + const rootRef = React.useRef<View>(null) + const { + state: hovered, + onIn: onHoverIn, + onOut: onHoverOut, + } = useInteractionState() + const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState() + + const context = React.useMemo( + () => ({ + inputRef, + hovered, + onHoverIn, + onHoverOut, + focused, + onFocus, + onBlur, + isInvalid, + }), + [ + inputRef, + hovered, + onHoverIn, + onHoverOut, + focused, + onFocus, + onBlur, + isInvalid, + ], + ) + + React.useLayoutEffect(() => { + const root = rootRef.current + if (!root || !isWeb) return + // @ts-ignore web only + root.tabIndex = -1 + }, []) + + return ( + <Context.Provider value={context}> + <Pressable + accessibilityRole="button" + ref={rootRef} + role="none" + style={[ + a.flex_row, + a.align_center, + a.relative, + a.w_full, + a.px_md, + { + paddingVertical: 14, + }, + ]} + // onPressIn/out don't work on android web + onPress={() => inputRef.current?.focus()} + onHoverIn={onHoverIn} + onHoverOut={onHoverOut}> + {children} + </Pressable> + </Context.Provider> + ) +} + +export function useSharedInputStyles() { + const t = useTheme() + return React.useMemo(() => { + const hover: ViewStyle[] = [ + { + borderColor: t.palette.contrast_100, + }, + ] + const focus: ViewStyle[] = [ + { + backgroundColor: t.palette.contrast_50, + borderColor: t.palette.primary_500, + }, + ] + const error: ViewStyle[] = [ + { + backgroundColor: + t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + borderColor: + t.name === 'light' ? t.palette.negative_300 : t.palette.negative_800, + }, + ] + const errorHover: ViewStyle[] = [ + { + backgroundColor: + t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + borderColor: tokens.color.red_500, + }, + ] + + return { + chromeHover: StyleSheet.flatten(hover), + chromeFocus: StyleSheet.flatten(focus), + chromeError: StyleSheet.flatten(error), + chromeErrorHover: StyleSheet.flatten(errorHover), + } + }, [t]) +} + +export type InputProps = Omit<TextInputProps, 'value' | 'onChangeText'> & { + label: string + value: string + onChangeText: (value: string) => void + isInvalid?: boolean +} + +export function createInput(Component: typeof TextInput) { + return function Input({ + label, + placeholder, + value, + onChangeText, + isInvalid, + ...rest + }: InputProps) { + const t = useTheme() + const ctx = React.useContext(Context) + const withinRoot = Boolean(ctx.inputRef) + + const {chromeHover, chromeFocus, chromeError, chromeErrorHover} = + useSharedInputStyles() + + if (!withinRoot) { + return ( + <Root isInvalid={isInvalid}> + <Input + label={label} + placeholder={placeholder} + value={value} + onChangeText={onChangeText} + isInvalid={isInvalid} + {...rest} + /> + </Root> + ) + } + + return ( + <> + <Component + accessibilityHint={undefined} + {...rest} + aria-label={label} + accessibilityLabel={label} + ref={ctx.inputRef} + value={value} + onChangeText={onChangeText} + onFocus={ctx.onFocus} + onBlur={ctx.onBlur} + placeholder={placeholder || label} + placeholderTextColor={t.palette.contrast_500} + hitSlop={HITSLOP_20} + style={[ + a.relative, + a.z_20, + a.flex_1, + a.text_md, + t.atoms.text, + a.px_xs, + android({ + paddingBottom: 2, + }), + { + lineHeight: a.text_md.lineHeight * 1.1875, + textAlignVertical: rest.multiline ? 'top' : undefined, + minHeight: rest.multiline ? 60 : undefined, + }, + ]} + /> + + <View + style={[ + a.z_10, + a.absolute, + a.inset_0, + a.rounded_sm, + t.atoms.bg_contrast_25, + {borderColor: 'transparent', borderWidth: 2}, + ctx.hovered ? chromeHover : {}, + ctx.focused ? chromeFocus : {}, + ctx.isInvalid || isInvalid ? chromeError : {}, + (ctx.isInvalid || isInvalid) && (ctx.hovered || ctx.focused) + ? chromeErrorHover + : {}, + ]} + /> + </> + ) + } +} + +export const Input = createInput(TextInput) + +export function Label({children}: React.PropsWithChildren<{}>) { + const t = useTheme() + return ( + <Text style={[a.text_sm, a.font_bold, t.atoms.text_contrast_600, a.mb_sm]}> + {children} + </Text> + ) +} + +export function Icon({icon: Comp}: {icon: React.ComponentType<SVGIconProps>}) { + const t = useTheme() + const ctx = React.useContext(Context) + const {hover, focus, errorHover, errorFocus} = React.useMemo(() => { + const hover: TextStyle[] = [ + { + color: t.palette.contrast_800, + }, + ] + const focus: TextStyle[] = [ + { + color: t.palette.primary_500, + }, + ] + const errorHover: TextStyle[] = [ + { + color: t.palette.negative_500, + }, + ] + const errorFocus: TextStyle[] = [ + { + color: t.palette.negative_500, + }, + ] + + return { + hover, + focus, + errorHover, + errorFocus, + } + }, [t]) + + return ( + <View style={[a.z_20, a.pr_xs]}> + <Comp + size="md" + style={[ + {color: t.palette.contrast_500, pointerEvents: 'none'}, + ctx.hovered ? hover : {}, + ctx.focused ? focus : {}, + ctx.isInvalid && ctx.hovered ? errorHover : {}, + ctx.isInvalid && ctx.focused ? errorFocus : {}, + ]} + /> + </View> + ) +} + +export function Suffix({ + children, + label, + accessibilityHint, +}: React.PropsWithChildren<{ + label: string + accessibilityHint?: AccessibilityProps['accessibilityHint'] +}>) { + const t = useTheme() + const ctx = React.useContext(Context) + return ( + <Text + aria-label={label} + accessibilityLabel={label} + accessibilityHint={accessibilityHint} + style={[ + a.z_20, + a.pr_sm, + a.text_md, + t.atoms.text_contrast_400, + { + pointerEvents: 'none', + }, + web({ + marginTop: -2, + }), + ctx.hovered || ctx.focused + ? { + color: t.palette.contrast_800, + } + : {}, + ]}> + {children} + </Text> + ) +} diff --git a/src/components/forms/Toggle.tsx b/src/components/forms/Toggle.tsx new file mode 100644 index 000000000..ad82bdff5 --- /dev/null +++ b/src/components/forms/Toggle.tsx @@ -0,0 +1,473 @@ +import React from 'react' +import {Pressable, View, ViewStyle} from 'react-native' + +import {HITSLOP_10} from 'lib/constants' +import {useTheme, atoms as a, web, native} from '#/alf' +import {Text} from '#/components/Typography' +import {useInteractionState} from '#/components/hooks/useInteractionState' + +export type ItemState = { + name: string + selected: boolean + disabled: boolean + isInvalid: boolean + hovered: boolean + pressed: boolean + focused: boolean +} + +const ItemContext = React.createContext<ItemState>({ + name: '', + selected: false, + disabled: false, + isInvalid: false, + hovered: false, + pressed: false, + focused: false, +}) + +const GroupContext = React.createContext<{ + values: string[] + disabled: boolean + type: 'radio' | 'checkbox' + maxSelectionsReached: boolean + setFieldValue: (props: {name: string; value: boolean}) => void +}>({ + type: 'checkbox', + values: [], + disabled: false, + maxSelectionsReached: false, + setFieldValue: () => {}, +}) + +export type GroupProps = React.PropsWithChildren<{ + type?: 'radio' | 'checkbox' + values: string[] + maxSelections?: number + disabled?: boolean + onChange: (value: string[]) => void + label: string +}> + +export type ItemProps = { + type?: 'radio' | 'checkbox' + name: string + label: string + value?: boolean + disabled?: boolean + onChange?: (selected: boolean) => void + isInvalid?: boolean + style?: (state: ItemState) => ViewStyle + children: ((props: ItemState) => React.ReactNode) | React.ReactNode +} + +export function useItemContext() { + return React.useContext(ItemContext) +} + +export function Group({ + children, + values: providedValues, + onChange, + disabled = false, + type = 'checkbox', + maxSelections, + label, +}: GroupProps) { + const groupRole = type === 'radio' ? 'radiogroup' : undefined + const values = type === 'radio' ? providedValues.slice(0, 1) : providedValues + const [maxReached, setMaxReached] = React.useState(false) + + const setFieldValue = React.useCallback< + (props: {name: string; value: boolean}) => void + >( + ({name, value}) => { + if (type === 'checkbox') { + const pruned = values.filter(v => v !== name) + const next = value ? pruned.concat(name) : pruned + onChange(next) + } else { + onChange([name]) + } + }, + [type, onChange, values], + ) + + React.useEffect(() => { + if (type === 'checkbox') { + if ( + maxSelections && + values.length >= maxSelections && + maxReached === false + ) { + setMaxReached(true) + } else if ( + maxSelections && + values.length < maxSelections && + maxReached === true + ) { + setMaxReached(false) + } + } + }, [type, values.length, maxSelections, maxReached, setMaxReached]) + + const context = React.useMemo( + () => ({ + values, + type, + disabled, + maxSelectionsReached: maxReached, + setFieldValue, + }), + [values, disabled, type, maxReached, setFieldValue], + ) + + return ( + <GroupContext.Provider value={context}> + <View + role={groupRole} + {...(groupRole === 'radiogroup' + ? { + 'aria-label': label, + accessibilityLabel: label, + accessibilityRole: groupRole, + } + : {})}> + {children} + </View> + </GroupContext.Provider> + ) +} + +export function Item({ + children, + name, + value = false, + disabled: itemDisabled = false, + onChange, + isInvalid, + style, + type = 'checkbox', + label, + ...rest +}: ItemProps) { + const { + values: selectedValues, + type: groupType, + disabled: groupDisabled, + setFieldValue, + maxSelectionsReached, + } = React.useContext(GroupContext) + const { + state: hovered, + onIn: onHoverIn, + onOut: onHoverOut, + } = useInteractionState() + const { + state: pressed, + onIn: onPressIn, + onOut: onPressOut, + } = useInteractionState() + const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState() + + const role = groupType === 'radio' ? 'radio' : type + const selected = selectedValues.includes(name) || !!value + const disabled = + groupDisabled || itemDisabled || (!selected && maxSelectionsReached) + + const onPress = React.useCallback(() => { + const next = !selected + setFieldValue({name, value: next}) + onChange?.(next) + }, [name, selected, onChange, setFieldValue]) + + const state = React.useMemo( + () => ({ + name, + selected, + disabled: disabled ?? false, + isInvalid: isInvalid ?? false, + hovered, + pressed, + focused, + }), + [name, selected, disabled, hovered, pressed, focused, isInvalid], + ) + + return ( + <ItemContext.Provider value={state}> + <Pressable + accessibilityHint={undefined} // optional + hitSlop={HITSLOP_10} + {...rest} + disabled={disabled} + aria-disabled={disabled ?? false} + aria-checked={selected} + aria-invalid={isInvalid} + aria-label={label} + role={role} + accessibilityRole={role} + accessibilityState={{ + disabled: disabled ?? false, + selected: selected, + }} + accessibilityLabel={label} + onPress={onPress} + onHoverIn={onHoverIn} + onHoverOut={onHoverOut} + onPressIn={onPressIn} + onPressOut={onPressOut} + onFocus={onFocus} + onBlur={onBlur} + style={[ + a.flex_row, + a.align_center, + a.gap_sm, + focused ? web({outline: 'none'}) : {}, + style?.(state), + ]}> + {typeof children === 'function' ? children(state) : children} + </Pressable> + </ItemContext.Provider> + ) +} + +export function Label({children}: React.PropsWithChildren<{}>) { + const t = useTheme() + const {disabled} = useItemContext() + return ( + <Text + style={[ + a.font_bold, + { + userSelect: 'none', + color: disabled ? t.palette.contrast_400 : t.palette.contrast_600, + }, + native({ + paddingTop: 3, + }), + ]}> + {children} + </Text> + ) +} + +// TODO(eric) refactor to memoize styles without knowledge of state +export function createSharedToggleStyles({ + theme: t, + hovered, + focused, + selected, + disabled, + isInvalid, +}: { + theme: ReturnType<typeof useTheme> + selected: boolean + hovered: boolean + focused: boolean + disabled: boolean + isInvalid: boolean +}) { + const base: ViewStyle[] = [] + const baseHover: ViewStyle[] = [] + const indicator: ViewStyle[] = [] + + if (selected) { + base.push({ + backgroundColor: + t.name === 'light' ? t.palette.primary_25 : t.palette.primary_900, + borderColor: t.palette.primary_500, + }) + + if (hovered || focused) { + baseHover.push({ + backgroundColor: + t.name === 'light' ? t.palette.primary_100 : t.palette.primary_800, + borderColor: + t.name === 'light' ? t.palette.primary_600 : t.palette.primary_400, + }) + } + } else { + if (hovered || focused) { + baseHover.push({ + backgroundColor: + t.name === 'light' ? t.palette.contrast_50 : t.palette.contrast_100, + borderColor: t.palette.contrast_500, + }) + } + } + + if (isInvalid) { + base.push({ + backgroundColor: + t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + borderColor: + t.name === 'light' ? t.palette.negative_300 : t.palette.negative_800, + }) + + if (hovered || focused) { + baseHover.push({ + backgroundColor: + t.name === 'light' ? t.palette.negative_25 : t.palette.negative_900, + borderColor: t.palette.negative_500, + }) + } + } + + if (disabled) { + base.push({ + backgroundColor: t.palette.contrast_100, + borderColor: t.palette.contrast_400, + }) + } + + return { + baseStyles: base, + baseHoverStyles: disabled ? [] : baseHover, + indicatorStyles: indicator, + } +} + +export function Checkbox() { + const t = useTheme() + const {selected, hovered, focused, disabled, isInvalid} = useItemContext() + const {baseStyles, baseHoverStyles, indicatorStyles} = + createSharedToggleStyles({ + theme: t, + hovered, + focused, + selected, + disabled, + isInvalid, + }) + return ( + <View + style={[ + a.justify_center, + a.align_center, + a.border, + a.rounded_xs, + t.atoms.border_contrast, + { + height: 20, + width: 20, + }, + baseStyles, + hovered || focused ? baseHoverStyles : {}, + ]}> + {selected ? ( + <View + style={[ + a.absolute, + a.rounded_2xs, + {height: 12, width: 12}, + selected + ? { + backgroundColor: t.palette.primary_500, + } + : {}, + indicatorStyles, + ]} + /> + ) : null} + </View> + ) +} + +export function Switch() { + const t = useTheme() + const {selected, hovered, focused, disabled, isInvalid} = useItemContext() + const {baseStyles, baseHoverStyles, indicatorStyles} = + createSharedToggleStyles({ + theme: t, + hovered, + focused, + selected, + disabled, + isInvalid, + }) + return ( + <View + style={[ + a.relative, + a.border, + a.rounded_full, + t.atoms.bg, + t.atoms.border_contrast, + { + height: 20, + width: 30, + }, + baseStyles, + hovered || focused ? baseHoverStyles : {}, + ]}> + <View + style={[ + a.absolute, + a.rounded_full, + { + height: 12, + width: 12, + top: 3, + left: 3, + backgroundColor: t.palette.contrast_400, + }, + selected + ? { + backgroundColor: t.palette.primary_500, + left: 13, + } + : {}, + indicatorStyles, + ]} + /> + </View> + ) +} + +export function Radio() { + const t = useTheme() + const {selected, hovered, focused, disabled, isInvalid} = + React.useContext(ItemContext) + const {baseStyles, baseHoverStyles, indicatorStyles} = + createSharedToggleStyles({ + theme: t, + hovered, + focused, + selected, + disabled, + isInvalid, + }) + return ( + <View + style={[ + a.justify_center, + a.align_center, + a.border, + a.rounded_full, + t.atoms.border_contrast, + { + height: 20, + width: 20, + }, + baseStyles, + hovered || focused ? baseHoverStyles : {}, + ]}> + {selected ? ( + <View + style={[ + a.absolute, + a.rounded_full, + {height: 12, width: 12}, + selected + ? { + backgroundColor: t.palette.primary_500, + } + : {}, + indicatorStyles, + ]} + /> + ) : null} + </View> + ) +} diff --git a/src/components/forms/ToggleButton.tsx b/src/components/forms/ToggleButton.tsx new file mode 100644 index 000000000..615fedae8 --- /dev/null +++ b/src/components/forms/ToggleButton.tsx @@ -0,0 +1,124 @@ +import React from 'react' +import {View, AccessibilityProps, TextStyle, ViewStyle} from 'react-native' + +import {atoms as a, useTheme, native} from '#/alf' +import {Text} from '#/components/Typography' + +import * as Toggle from '#/components/forms/Toggle' + +export type ItemProps = Omit<Toggle.ItemProps, 'style' | 'role' | 'children'> & + AccessibilityProps & + React.PropsWithChildren<{}> + +export type GroupProps = Omit<Toggle.GroupProps, 'style' | 'type'> & { + multiple?: boolean +} + +export function Group({children, multiple, ...props}: GroupProps) { + const t = useTheme() + return ( + <Toggle.Group type={multiple ? 'checkbox' : 'radio'} {...props}> + <View + style={[ + a.flex_row, + a.border, + a.rounded_sm, + a.overflow_hidden, + t.atoms.border, + ]}> + {children} + </View> + </Toggle.Group> + ) +} + +export function Button({children, ...props}: ItemProps) { + return ( + <Toggle.Item {...props}> + <ButtonInner>{children}</ButtonInner> + </Toggle.Item> + ) +} + +function ButtonInner({children}: React.PropsWithChildren<{}>) { + const t = useTheme() + const state = Toggle.useItemContext() + + const {baseStyles, hoverStyles, activeStyles, textStyles} = + React.useMemo(() => { + const base: ViewStyle[] = [] + const hover: ViewStyle[] = [] + const active: ViewStyle[] = [] + const text: TextStyle[] = [] + + hover.push( + t.name === 'light' ? t.atoms.bg_contrast_100 : t.atoms.bg_contrast_25, + ) + + if (state.selected) { + active.push({ + backgroundColor: t.palette.contrast_800, + }) + text.push(t.atoms.text_inverted) + hover.push({ + backgroundColor: t.palette.contrast_800, + }) + + if (state.disabled) { + active.push({ + backgroundColor: t.palette.contrast_500, + }) + } + } + + if (state.disabled) { + base.push({ + backgroundColor: t.palette.contrast_100, + }) + text.push({ + opacity: 0.5, + }) + } + + return { + baseStyles: base, + hoverStyles: hover, + activeStyles: active, + textStyles: text, + } + }, [t, state]) + + return ( + <View + style={[ + { + borderLeftWidth: 1, + marginLeft: -1, + }, + a.px_lg, + a.py_md, + native({ + paddingTop: 14, + }), + t.atoms.bg, + t.atoms.border, + baseStyles, + activeStyles, + (state.hovered || state.focused || state.pressed) && hoverStyles, + ]}> + {typeof children === 'string' ? ( + <Text + style={[ + a.text_center, + a.font_bold, + t.atoms.text_contrast_500, + textStyles, + ]}> + {children} + </Text> + ) : ( + children + )} + </View> + ) +} diff --git a/src/components/hooks/useInteractionState.ts b/src/components/hooks/useInteractionState.ts new file mode 100644 index 000000000..653b1c10e --- /dev/null +++ b/src/components/hooks/useInteractionState.ts @@ -0,0 +1,21 @@ +import React from 'react' + +export function useInteractionState() { + const [state, setState] = React.useState(false) + + const onIn = React.useCallback(() => { + setState(true) + }, [setState]) + const onOut = React.useCallback(() => { + setState(false) + }, [setState]) + + return React.useMemo( + () => ({ + state, + onIn, + onOut, + }), + [state, onIn, onOut], + ) +} diff --git a/src/components/icons/ArrowTopRight.tsx b/src/components/icons/ArrowTopRight.tsx new file mode 100644 index 000000000..92ad30a12 --- /dev/null +++ b/src/components/icons/ArrowTopRight.tsx @@ -0,0 +1,5 @@ +import {createSinglePathSVG} from './TEMPLATE' + +export const ArrowTopRight_Stroke2_Corner0_Rounded = createSinglePathSVG({ + path: 'M8 6a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v9a1 1 0 1 1-2 0V8.414l-9.793 9.793a1 1 0 0 1-1.414-1.414L15.586 7H9a1 1 0 0 1-1-1Z', +}) diff --git a/src/components/icons/CalendarDays.tsx b/src/components/icons/CalendarDays.tsx new file mode 100644 index 000000000..72cc48e26 --- /dev/null +++ b/src/components/icons/CalendarDays.tsx @@ -0,0 +1,5 @@ +import {createSinglePathSVG} from './TEMPLATE' + +export const CalendarDays_Stroke2_Corner0_Rounded = createSinglePathSVG({ + path: 'M4 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4Zm1 16V9h14v10H5ZM5 7h14V5H5v2Zm3 10.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM17.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM12 13.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5ZM9.25 12a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0ZM12 17.25a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z', +}) diff --git a/src/components/icons/ColorPalette.tsx b/src/components/icons/ColorPalette.tsx new file mode 100644 index 000000000..157fa7fa1 --- /dev/null +++ b/src/components/icons/ColorPalette.tsx @@ -0,0 +1,5 @@ +import {createSinglePathSVG} from './TEMPLATE' + +export const ColorPalette_Stroke2_Corner0_Rounded = createSinglePathSVG({ + path: 'M4 12c0-4.09 3.527-7.5 8-7.5s8 3.41 8 7.5c0 1.579-.419 2.056-.708 2.236-.388.241-1.031.286-2.058.153-.33-.043-.652-.096-.991-.152a65.905 65.905 0 0 0-.531-.087c-.52-.081-1.077-.156-1.61-.164-1.065-.016-2.336.245-2.996 1.567-.418.834-.295 1.67-.078 2.314.18.534.47 1.055.683 1.437v.001l.097.175.01.018C7.432 19.407 4 16.033 4 12Zm8-9.5C6.532 2.5 2 6.7 2 12s4.532 9.5 10 9.5c.401 0 .812-.04 1.166-.193.41-.176.761-.517.866-1.028.085-.416-.03-.796-.118-1.029a5.981 5.981 0 0 0-.351-.73l-.12-.215c-.215-.392-.403-.73-.52-1.078-.13-.387-.111-.614-.029-.78.146-.291.404-.473 1.178-.461.385.005.825.06 1.329.14.15.023.308.05.47.077.36.059.742.122 1.105.17 1.021.132 2.325.213 3.373-.439C21.496 15.22 22 13.874 22 12c0-5.3-4.532-9.5-10-9.5Zm3.5 8.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM9 12.25a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm1.5-2.75a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z', +}) diff --git a/src/components/icons/Globe.tsx b/src/components/icons/Globe.tsx new file mode 100644 index 000000000..f81b3ff7a --- /dev/null +++ b/src/components/icons/Globe.tsx @@ -0,0 +1,5 @@ +import {createSinglePathSVG} from './TEMPLATE' + +export const Globe_Stroke2_Corner0_Rounded = createSinglePathSVG({ + path: 'M4.062 11h2.961c.103-2.204.545-4.218 1.235-5.77.06-.136.123-.269.188-.399A8.007 8.007 0 0 0 4.062 11ZM12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm0 2c-.227 0-.518.1-.868.432-.354.337-.719.872-1.047 1.61-.561 1.263-.958 2.991-1.06 4.958h5.95c-.102-1.967-.499-3.695-1.06-4.958-.328-.738-.693-1.273-1.047-1.61C12.518 4.099 12.227 4 12 4Zm4.977 7c-.103-2.204-.545-4.218-1.235-5.77a9.78 9.78 0 0 0-.188-.399A8.006 8.006 0 0 1 19.938 11h-2.961Zm-2.003 2H9.026c.101 1.966.498 3.695 1.06 4.958.327.738.692 1.273 1.046 1.61.35.333.641.432.868.432.227 0 .518-.1.868-.432.354-.337.719-.872 1.047-1.61.561-1.263.958-2.991 1.06-4.958Zm.58 6.169c.065-.13.128-.263.188-.399.69-1.552 1.132-3.566 1.235-5.77h2.961a8.006 8.006 0 0 1-4.384 6.169Zm-7.108 0a9.877 9.877 0 0 1-.188-.399c-.69-1.552-1.132-3.566-1.235-5.77H4.062a8.006 8.006 0 0 0 4.384 6.169Z', +}) diff --git a/src/components/icons/TEMPLATE.tsx b/src/components/icons/TEMPLATE.tsx new file mode 100644 index 000000000..9fc147037 --- /dev/null +++ b/src/components/icons/TEMPLATE.tsx @@ -0,0 +1,48 @@ +import React from 'react' +import Svg, {Path} from 'react-native-svg' + +import {useCommonSVGProps, Props} from '#/components/icons/common' + +export const IconTemplate_Stroke2_Corner0_Rounded = React.forwardRef( + function LogoImpl(props: Props, ref) { + const {fill, size, style, ...rest} = useCommonSVGProps(props) + + return ( + <Svg + fill="none" + {...rest} + // @ts-ignore it's fiiiiine + ref={ref} + viewBox="0 0 24 24" + width={size} + height={size} + style={[style]}> + <Path + fill={fill} + fillRule="evenodd" + clipRule="evenodd" + d="M4.062 11h2.961c.103-2.204.545-4.218 1.235-5.77.06-.136.123-.269.188-.399A8.007 8.007 0 0 0 4.062 11ZM12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2Zm0 2c-.227 0-.518.1-.868.432-.354.337-.719.872-1.047 1.61-.561 1.263-.958 2.991-1.06 4.958h5.95c-.102-1.967-.499-3.695-1.06-4.958-.328-.738-.693-1.273-1.047-1.61C12.518 4.099 12.227 4 12 4Zm4.977 7c-.103-2.204-.545-4.218-1.235-5.77a9.78 9.78 0 0 0-.188-.399A8.006 8.006 0 0 1 19.938 11h-2.961Zm-2.003 2H9.026c.101 1.966.498 3.695 1.06 4.958.327.738.692 1.273 1.046 1.61.35.333.641.432.868.432.227 0 .518-.1.868-.432.354-.337.719-.872 1.047-1.61.561-1.263.958-2.991 1.06-4.958Zm.58 6.169c.065-.13.128-.263.188-.399.69-1.552 1.132-3.566 1.235-5.77h2.961a8.006 8.006 0 0 1-4.384 6.169Zm-7.108 0a9.877 9.877 0 0 1-.188-.399c-.69-1.552-1.132-3.566-1.235-5.77H4.062a8.006 8.006 0 0 0 4.384 6.169Z" + /> + </Svg> + ) + }, +) + +export function createSinglePathSVG({path}: {path: string}) { + return React.forwardRef<Svg, Props>(function LogoImpl(props, ref) { + const {fill, size, style, ...rest} = useCommonSVGProps(props) + + return ( + <Svg + fill="none" + {...rest} + ref={ref} + viewBox="0 0 24 24" + width={size} + height={size} + style={[style]}> + <Path fill={fill} fillRule="evenodd" clipRule="evenodd" d={path} /> + </Svg> + ) + }) +} diff --git a/src/components/icons/common.ts b/src/components/icons/common.ts new file mode 100644 index 000000000..9e9f15c4d --- /dev/null +++ b/src/components/icons/common.ts @@ -0,0 +1,32 @@ +import {StyleSheet, TextProps} from 'react-native' +import type {SvgProps, PathProps} from 'react-native-svg' + +import {tokens} from '#/alf' + +export type Props = { + fill?: PathProps['fill'] + style?: TextProps['style'] + size?: keyof typeof sizes +} & Omit<SvgProps, 'style' | 'size'> + +export const sizes = { + xs: 12, + sm: 16, + md: 20, + lg: 24, + xl: 28, +} + +export function useCommonSVGProps(props: Props) { + const {fill, size, ...rest} = props + const style = StyleSheet.flatten(rest.style) + const _fill = fill || style?.color || tokens.color.blue_500 + const _size = Number(size ? sizes[size] : rest.width || sizes.md) + + return { + fill: _fill, + size: _size, + style, + ...rest, + } +} diff --git a/src/lib/api/feed/custom.ts b/src/lib/api/feed/custom.ts index 94cbff130..41c5367e5 100644 --- a/src/lib/api/feed/custom.ts +++ b/src/lib/api/feed/custom.ts @@ -4,15 +4,20 @@ import { } from '@atproto/api' import {FeedAPI, FeedAPIResponse} from './types' import {getAgent} from '#/state/session' +import {getContentLanguages} from '#/state/preferences/languages' export class CustomFeedAPI implements FeedAPI { constructor(public params: GetCustomFeed.QueryParams) {} async peekLatest(): Promise<AppBskyFeedDefs.FeedViewPost> { - const res = await getAgent().app.bsky.feed.getFeed({ - ...this.params, - limit: 1, - }) + const contentLangs = getContentLanguages().join(',') + const res = await getAgent().app.bsky.feed.getFeed( + { + ...this.params, + limit: 1, + }, + {headers: {'Accept-Language': contentLangs}}, + ) return res.data.feed[0] } @@ -23,11 +28,15 @@ export class CustomFeedAPI implements FeedAPI { cursor: string | undefined limit: number }): Promise<FeedAPIResponse> { - const res = await getAgent().app.bsky.feed.getFeed({ - ...this.params, - cursor, - limit, - }) + const contentLangs = getContentLanguages().join(',') + const res = await getAgent().app.bsky.feed.getFeed( + { + ...this.params, + cursor, + limit, + }, + {headers: {'Accept-Language': contentLangs}}, + ) if (res.success) { // NOTE // some custom feeds fail to enforce the pagination limit diff --git a/src/lib/api/feed/home.ts b/src/lib/api/feed/home.ts new file mode 100644 index 000000000..436a66d07 --- /dev/null +++ b/src/lib/api/feed/home.ts @@ -0,0 +1,89 @@ +import {AppBskyFeedDefs} from '@atproto/api' +import {FeedAPI, FeedAPIResponse} from './types' +import {FollowingFeedAPI} from './following' +import {CustomFeedAPI} from './custom' +import {PROD_DEFAULT_FEED} from '#/lib/constants' + +// HACK +// the feed API does not include any facilities for passing down +// non-post elements. adding that is a bit of a heavy lift, and we +// have just one temporary usecase for it: flagging when the home feed +// falls back to discover. +// we use this fallback marker post to drive this instead. see Feed.tsx +// for the usage. +// -prf +export const FALLBACK_MARKER_POST: AppBskyFeedDefs.FeedViewPost = { + post: { + uri: 'fallback-marker-post', + cid: 'fake', + record: {}, + author: { + did: 'did:fake', + handle: 'fake.com', + }, + indexedAt: new Date().toISOString(), + }, +} + +export class HomeFeedAPI implements FeedAPI { + following: FollowingFeedAPI + discover: CustomFeedAPI + usingDiscover = false + itemCursor = 0 + + constructor() { + this.following = new FollowingFeedAPI() + this.discover = new CustomFeedAPI({feed: PROD_DEFAULT_FEED('whats-hot')}) + } + + reset() { + this.following = new FollowingFeedAPI() + this.discover = new CustomFeedAPI({feed: PROD_DEFAULT_FEED('whats-hot')}) + this.usingDiscover = false + this.itemCursor = 0 + } + + async peekLatest(): Promise<AppBskyFeedDefs.FeedViewPost> { + if (this.usingDiscover) { + return this.discover.peekLatest() + } + return this.following.peekLatest() + } + + async fetch({ + cursor, + limit, + }: { + cursor: string | undefined + limit: number + }): Promise<FeedAPIResponse> { + if (!cursor) { + this.reset() + } + + let returnCursor + let posts: AppBskyFeedDefs.FeedViewPost[] = [] + + if (!this.usingDiscover) { + const res = await this.following.fetch({cursor, limit}) + returnCursor = res.cursor + posts = posts.concat(res.feed) + if (!returnCursor) { + cursor = '' + posts.push(FALLBACK_MARKER_POST) + this.usingDiscover = true + } + } + + if (this.usingDiscover) { + const res = await this.discover.fetch({cursor, limit}) + returnCursor = res.cursor + posts = posts.concat(res.feed) + } + + return { + cursor: returnCursor, + feed: posts, + } + } +} diff --git a/src/lib/api/feed/merge.ts b/src/lib/api/feed/merge.ts index 2314e2b95..28bf143cb 100644 --- a/src/lib/api/feed/merge.ts +++ b/src/lib/api/feed/merge.ts @@ -8,6 +8,7 @@ import {FeedAPI, FeedAPIResponse, ReasonFeedSource} from './types' import {FeedParams} from '#/state/queries/post-feed' import {FeedTunerFn} from '../feed-manip' import {getAgent} from '#/state/session' +import {getContentLanguages} from '#/state/preferences/languages' const REQUEST_WAIT_MS = 500 // 500ms const POST_AGE_CUTOFF = 60e3 * 60 * 24 // 24hours @@ -25,7 +26,7 @@ export class MergeFeedAPI implements FeedAPI { reset() { this.following = new MergeFeedSource_Following(this.feedTuners) - this.customFeeds = [] // just empty the array, they will be captured in _fetchNext() + this.customFeeds = [] this.feedCursor = 0 this.itemCursor = 0 this.sampleCursor = 0 @@ -231,11 +232,15 @@ class MergeFeedSource_Custom extends MergeFeedSource { limit: number, ): Promise<AppBskyFeedGetTimeline.Response> { try { - const res = await getAgent().app.bsky.feed.getFeed({ - cursor, - limit, - feed: this.feedUri, - }) + const contentLangs = getContentLanguages().join(',') + const res = await getAgent().app.bsky.feed.getFeed( + { + cursor, + limit, + feed: this.feedUri, + }, + {headers: {'Accept-Language': contentLangs}}, + ) // NOTE // some custom feeds fail to enforce the pagination limit // so we manually truncate here diff --git a/src/lib/themes.ts b/src/lib/themes.ts index ad7574db6..2d4515c77 100644 --- a/src/lib/themes.ts +++ b/src/lib/themes.ts @@ -2,30 +2,32 @@ import {Platform} from 'react-native' import type {Theme} from './ThemeContext' import {colors} from './styles' +import {darkPalette, lightPalette} from '#/alf/themes' + export const defaultTheme: Theme = { colorScheme: 'light', palette: { default: { - background: colors.white, - backgroundLight: colors.gray1, - text: colors.black, - textLight: colors.gray5, - textInverted: colors.white, - link: colors.blue3, - border: '#f0e9e9', - borderDark: '#e0d9d9', - icon: colors.gray4, + background: lightPalette.white, + backgroundLight: lightPalette.contrast_50, + text: lightPalette.black, + textLight: lightPalette.contrast_700, + textInverted: lightPalette.white, + link: lightPalette.primary_500, + border: lightPalette.contrast_100, + borderDark: lightPalette.contrast_200, + icon: lightPalette.contrast_500, // non-standard - textVeryLight: colors.gray4, - replyLine: colors.gray2, - replyLineDot: colors.gray3, - unreadNotifBg: '#ebf6ff', - unreadNotifBorder: colors.blue1, - postCtrl: '#71768A', - brandText: '#0066FF', - emptyStateIcon: '#B6B6C9', - borderLinkHover: '#cac1c1', + textVeryLight: lightPalette.contrast_400, + replyLine: lightPalette.contrast_100, + replyLineDot: lightPalette.contrast_200, + unreadNotifBg: lightPalette.primary_25, + unreadNotifBorder: lightPalette.primary_100, + postCtrl: lightPalette.contrast_500, + brandText: lightPalette.primary_500, + emptyStateIcon: lightPalette.contrast_300, + borderLinkHover: lightPalette.contrast_300, }, primary: { background: colors.blue3, @@ -50,15 +52,15 @@ export const defaultTheme: Theme = { icon: colors.green4, }, inverted: { - background: colors.black, - backgroundLight: colors.gray6, - text: colors.white, - textLight: colors.gray3, - textInverted: colors.black, - link: colors.blue2, - border: colors.gray3, - borderDark: colors.gray2, - icon: colors.gray5, + background: darkPalette.black, + backgroundLight: darkPalette.contrast_50, + text: darkPalette.white, + textLight: darkPalette.contrast_700, + textInverted: darkPalette.black, + link: darkPalette.primary_500, + border: darkPalette.contrast_100, + borderDark: darkPalette.contrast_200, + icon: darkPalette.contrast_500, }, error: { background: colors.red3, @@ -292,26 +294,26 @@ export const darkTheme: Theme = { palette: { ...defaultTheme.palette, default: { - background: colors.black, - backgroundLight: colors.gray7, - text: colors.white, - textLight: colors.gray3, - textInverted: colors.black, - link: colors.blue3, - border: colors.gray7, - borderDark: colors.gray6, - icon: colors.gray4, + background: darkPalette.black, + backgroundLight: darkPalette.contrast_50, + text: darkPalette.white, + textLight: darkPalette.contrast_700, + textInverted: darkPalette.black, + link: darkPalette.primary_500, + border: darkPalette.contrast_100, + borderDark: darkPalette.contrast_200, + icon: darkPalette.contrast_500, // non-standard - textVeryLight: colors.gray4, - replyLine: colors.gray5, - replyLineDot: colors.gray6, - unreadNotifBg: colors.blue7, - unreadNotifBorder: colors.blue6, - postCtrl: '#707489', - brandText: '#0085ff', - emptyStateIcon: colors.gray4, - borderLinkHover: colors.gray5, + textVeryLight: darkPalette.contrast_400, + replyLine: darkPalette.contrast_100, + replyLineDot: darkPalette.contrast_200, + unreadNotifBg: darkPalette.primary_975, + unreadNotifBorder: darkPalette.primary_900, + postCtrl: darkPalette.contrast_500, + brandText: darkPalette.primary_500, + emptyStateIcon: darkPalette.contrast_300, + borderLinkHover: darkPalette.contrast_300, }, primary: { ...defaultTheme.palette.primary, @@ -322,15 +324,15 @@ export const darkTheme: Theme = { textInverted: colors.green2, }, inverted: { - background: colors.white, - backgroundLight: colors.gray2, - text: colors.black, - textLight: colors.gray5, - textInverted: colors.white, - link: colors.blue3, - border: colors.gray3, - borderDark: colors.gray4, - icon: colors.gray1, + background: lightPalette.white, + backgroundLight: lightPalette.contrast_50, + text: lightPalette.black, + textLight: lightPalette.contrast_700, + textInverted: lightPalette.white, + link: lightPalette.primary_500, + border: lightPalette.contrast_100, + borderDark: lightPalette.contrast_200, + icon: lightPalette.contrast_500, }, }, } diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts index 433dbaec6..8b3bf5f3d 100644 --- a/src/locale/helpers.ts +++ b/src/locale/helpers.ts @@ -22,6 +22,14 @@ export function code3ToCode2(lang: string): string { return lang } +export function code3ToCode2Strict(lang: string): string | undefined { + if (lang.length === 3) { + return LANGUAGES_MAP_CODE3[lang]?.code2 + } + + return undefined +} + export function codeToLanguageName(lang: string): string { const lang2 = code3ToCode2(lang) return LANGUAGES_MAP_CODE2[lang2]?.name || lang diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts index 819f58eb7..a6f0e158d 100644 --- a/src/locale/i18n.web.ts +++ b/src/locale/i18n.web.ts @@ -62,6 +62,9 @@ export async function dynamicActivate(locale: AppLanguage) { export async function useLocaleLanguage() { const {appLanguage} = useLanguagePrefs() useEffect(() => { - dynamicActivate(sanitizeAppLanguageSetting(appLanguage)) + const sanitizedLanguage = sanitizeAppLanguageSetting(appLanguage) + + document.documentElement.lang = sanitizedLanguage + dynamicActivate(sanitizedLanguage) }, [appLanguage]) } diff --git a/src/locale/locales/de/messages.po b/src/locale/locales/de/messages.po index 4926b30ae..e9dce63bc 100644 --- a/src/locale/locales/de/messages.po +++ b/src/locale/locales/de/messages.po @@ -13,29 +13,38 @@ msgstr "" "Language-Team: \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 "" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "{0} {purposeLabel} Liste" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "{0} {purposeLabel} Liste" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "{invitesAvailable} Einladungscode verfügbar" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "{invitesAvailable} Einladungscodes verfügbar" @@ -43,10 +52,22 @@ msgstr "{invitesAvailable} Einladungscodes verfügbar" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> Mitglieder" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>Wählen Sie Ihre</0><1>Empfohlenes</1><2>Feeds</2>" @@ -55,6 +76,14 @@ msgstr "<0>Wählen Sie Ihre</0><1>Empfohlenes</1><2>Feeds</2>" msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" msgstr "<0>Folgen Sie einigen</0><1>Empfohlenes</1><2>Feed</2>" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "" @@ -63,23 +92,61 @@ msgstr "" msgid "A new version of the app is available. Please update to continue using the app." msgstr "Eine neue Version der App ist verfügbar. Bitte aktualisieren Sie die App, um sie weiterhin nutzen zu können." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "Zugänglichkeit" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Konto" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +msgid "Account Muted by List" +msgstr "" + #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" msgstr "Konto Optionen" +#: src/view/com/util/AccountDropdownBtn.tsx:25 +msgid "Account removed from quick access" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "Hinzufügen" @@ -87,12 +154,12 @@ msgstr "Hinzufügen" msgid "Add a content warning" msgstr "Eine Inhaltswarnung hinzufügen" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "Einen Benutzer zu dieser Liste hinzufügen" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Konto hinzufügen" @@ -102,6 +169,12 @@ msgstr "Konto hinzufügen" msgid "Add alt text" msgstr "Alt Text hinzufügen" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -111,32 +184,41 @@ msgstr "Einzelheiten hinzufügen" msgid "Add details to report" msgstr "Einzelheiten zum Bericht hinzufügen" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Link Karte hinzufügen" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "Link Karte hinzufügen:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "Fügen Sie den folgenden DNS-Eintrag zu Ihrem Domainnamen hinzu:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "Den Listen hinzufügen" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Add to my feeds" msgstr "Zu meinen Feeds hinzufügen" +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 +msgid "Added" +msgstr "" + #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 msgid "Added to list" msgstr "Den Listen hinzufügen" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "Passen Sie die Anzahl der Likes an, die eine Antwort haben muss, um in Ihrem Feed angezeigt zu werden." @@ -144,10 +226,18 @@ msgstr "Passen Sie die Anzahl der Likes an, die eine Antwort haben muss, um in I msgid "Adult Content" msgstr "Inhalt für Erwachsene" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Fortgeschrittene" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -160,7 +250,7 @@ msgstr "Alt Text" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "Alt-Text beschreibt Bilder für blinde und sehbehinderte Nutzer und hilft, den Zusammenhang für alle herzustellen." -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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 "Es wurde eine E-Mail an {0} gesendet. Sie enthält einen Bestätigungscode, den Sie unten eingeben können." @@ -168,7 +258,12 @@ msgstr "Es wurde eine E-Mail an {0} gesendet. Sie enthält einen Bestätigungsco msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "Es wurde eine E-Mail an Ihre frühere Adresse {0} gesendet. Sie enthält einen Bestätigungscode, den Sie unten eingeben können." -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "und" @@ -177,15 +272,32 @@ msgstr "und" msgid "App Language" msgstr "App Sprache" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "App-Passwörter" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "App-Passwörter" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "" @@ -205,11 +317,11 @@ msgstr "Einspruch gegen diese Entscheidung" msgid "Appeal this decision." msgstr "Einspruch gegen diese Entscheidung" -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "Aussehen" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "Sind Sie sicher, dass Sie das App-Passwort \"{name}\" löschen möchten?" @@ -217,32 +329,42 @@ msgstr "Sind Sie sicher, dass Sie das App-Passwort \"{name}\" löschen möchten? msgid "Are you sure you'd like to discard this draft?" msgstr "Sind Sie sicher, dass Sie diesen Entwurf verwerfen möchten?" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "Sind Sie sicher?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "Sind Sie sicher? Dies kann nicht rückgängig gemacht werden" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "Künstlerische oder nicht-erotische Nacktheit." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "Zurück" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "Grundlagen" @@ -251,36 +373,46 @@ msgstr "Grundlagen" msgid "Birthday" msgstr "Geburtstag" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "Geburtstag:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "Konto sperren" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "Kontos sperren" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr " Liste sperren" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "Diese Kontos sperren?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "Gesperrte Konten" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "Gesperrte Konten" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Gesperrte Konten können nicht in Ihren Beiträgen antworten, Sie erwähnen oder anderweitig mit Ihnen interagieren." @@ -288,11 +420,11 @@ msgstr "Gesperrte Konten können nicht in Ihren Beiträgen antworten, Sie erwäh 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 "Gesperrte Konten können nicht in Ihren Beiträgen antworten, Sie erwähnen oder anderweitig mit Ihnen interagieren. Sie werden ihre Inhalte nicht sehen und sie werden daran gehindert, Ihre zu sehen." -#: src/view/com/post-thread/PostThread.tsx:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "Gesperrter Posten." -#: src/view/screens/ProfileList.tsx:310 +#: 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 "Die Sperrung ist öffentlich. Gesperrte Konten können nicht in Ihren Beiträgen antworten, Sie erwähnen oder anderweitig mit Ihnen interagieren." @@ -304,14 +436,17 @@ msgstr "Blog" 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 ist flexibel." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky ist offen." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky ist öffentlich zugänglich." @@ -328,7 +463,7 @@ msgstr "Bluesky wird dein Profil und deine Beiträge nicht für abgemeldete Benu msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Version bauen {0} {1}" @@ -336,37 +471,65 @@ msgstr "Version bauen {0} {1}" msgid "Business" msgstr "Geschäftlich" +#: 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "Darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten. Muss mindestens 4 Zeichen lang sein, darf aber nicht länger als 32 Zeichen sein." -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "Abbrechen" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Kontolöschung abbrechen" @@ -382,29 +545,34 @@ msgstr "Änderungsgriff abbrechen" msgid "Cancel image crop" msgstr "Bildausschnitt abbrechen" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "Profilbearbeitung abbrechen" -#: src/view/com/modals/Repost.tsx:64 +#: src/view/com/modals/Repost.tsx:78 msgid "Cancel quote post" msgstr "Angebotspost abbrechen" #: src/view/com/modals/ListAddRemoveUsers.tsx:87 -#: src/view/shell/desktop/Search.tsx:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "Suche abbrechen" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "Anmeldung zur Warteliste abbrechen" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "Ändern" +msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "Ändern" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Änderungsgriff andern" @@ -412,10 +580,14 @@ msgstr "Änderungsgriff andern" msgid "Change Handle" msgstr "Änderungsgriff andern" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "Meine E-Mail ändern" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Ihre E-Mail ändern" @@ -428,7 +600,7 @@ msgstr "Sehen Sie sich einige empfohlene Feeds an. Tippen Sie auf +, um sie zu I msgid "Check out some recommended users. Follow them to see similar users." msgstr "Sehen Sie sich einige empfohlene Benutzer an. Folgen Sie ihnen, um ähnliche Benutzer zu sehen." -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "Prüfen Sie Ihren Posteingang auf eine E-Mail mit dem Bestätigungscode, den Sie unten eingeben müssen:" @@ -436,10 +608,15 @@ msgstr "Prüfen Sie Ihren Posteingang auf eine E-Mail mit dem Bestätigungscode, msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "Service auswählen" +#: 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 "Wählen Sie die Algorithmen, die Ihr Erlebnis mit benutzerdefinierten Feeds unterstützen." @@ -448,27 +625,33 @@ msgstr "Wählen Sie die Algorithmen, die Ihr Erlebnis mit benutzerdefinierten Fe msgid "Choose your password" msgstr "Wählen Sie Ihr Passwort" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "Alle alten Speicherdaten löschen" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "Alle alten Speicherdaten löschen (danach neu starten)" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "Alle alten Speicherdaten löschen" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "Alle alten Speicherdaten löschen (danach neu starten)" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "Suchanfrage löschen" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Alarm schließen" @@ -489,23 +672,54 @@ msgstr "Bildanzeige schließen" msgid "Close navigation footer" msgstr "Navigationsfußzeile schließen" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "Gemeinschaftliche Leitlinien" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "Antwort zusammenstellen" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "Bestätigen" +#: 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" @@ -515,18 +729,26 @@ msgstr "Änderung bestätigen" msgid "Confirm content language settings" msgstr "Bestätigen Sie die Spracheinstellungen für den Inhalt" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Bestätigen Sie Konto löschen" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: src/view/com/modals/VerifyEmail.tsx:165 msgid "Confirmation code" msgstr "Bestätigungscode" +#: src/view/com/modals/Waitlist.tsx:120 +msgid "Confirms signing up {email} to the waitlist" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "Verbinden..." @@ -543,6 +765,11 @@ msgstr "Inhalt filtern" msgid "Content Languages" msgstr "Inhalt Sprachen" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "Inhaltliche Warnung" @@ -556,31 +783,46 @@ msgstr "Inhaltliche Warnungen" msgid "Continue" msgstr "Fortsetzung" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "Kopiert" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "Kopie" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "Link zur Liste kopieren" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "Link zum Posten kopieren" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "Link zum Profil kopieren" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "Posten Text kopieren" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "Urheberrechtspolitik" @@ -589,29 +831,50 @@ msgstr "Urheberrechtspolitik" msgid "Could not load feed" msgstr "Feed konnte nicht geladen werden" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "Liste konnte nicht geladen werden" #: 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 "Ein neues Konto erstellen" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "Neues Konto erstellen" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "Ein neues Konto erstellen" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "Erstellt {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "Benutzerdefinierter Bereich" @@ -620,11 +883,27 @@ msgstr "Benutzerdefinierter Bereich" msgid "Customize media from external sites." msgstr "" -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Gefahrenzone" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" + +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Konto löschen" @@ -632,40 +911,44 @@ msgstr "Konto löschen" msgid "Delete Account" msgstr "Konto löschen" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "App-Passwort löschen" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "Liste löschen" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Mein Konto löschen" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Mein Konto löschen..." -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "Posten löschen" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "Diesen Posten löschen?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "Posten gelöscht." -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "Beschreibung" @@ -673,7 +956,7 @@ msgstr "Beschreibung" msgid "Dev Server" msgstr "Entwicklungs-Server" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "Werkzeuge für Entwickler" @@ -693,35 +976,53 @@ msgstr "Verwerfen" msgid "Discourage apps from showing my account to logged-out users" msgstr "Verhindern, dass Anwendungen mein Konto für abgemeldete Benutzer anzeigen" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "Neue Feeds entdecken" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "Namen anzeigen" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "Namen anzeigen" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "Domain geprüft!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "Erledigt" @@ -729,56 +1030,116 @@ msgstr "Erledigt" msgid "Done{extraText}" msgstr "Erledigt{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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 "Jeder Code funktioniert einmal. Sie werden regelmäßig weitere Einladungscodes erhalten." +#: src/view/com/lists/ListMembers.tsx:149 +msgctxt "action" +msgid "Edit" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "Bild bearbeiten" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "Listendetails bearbeiten" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "Meine Feeds bearbeiten" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "Mein Profil bearbeiten" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "Profil bearbeiten" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "Profil bearbeiten" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "Gespeicherte Feeds bearbeiten" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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-Mail" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "E-Mail Adresse" +#: 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 "Email aktualiziert" -#: src/view/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "E-Mail:" @@ -786,34 +1147,63 @@ msgstr "E-Mail:" msgid "Enable {0} only" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "Aktivieren Sie diese Einstellung, um nur Antworten zwischen Personen zu sehen, denen Sie folgen." -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "Ende des Feeds" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "Geben Sie die Adresse Ihres Anbieters ein:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "Geben Sie die zu verwendende Domain ein" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "Geben Sie die E-Mail-Adresse ein, die Sie zur Erstellung Ihres Kontos verwendet haben. Wir senden Ihnen einen \"Reset-Code\" zu, mit dem Sie ein neues Passwort festlegen können." +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 msgid "Enter your email address" msgstr "Geben Sie Ihre E-Mail Adresse ein" +#: 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 "Geben Sie Ihre E-Mail Adresse ein" @@ -830,10 +1220,32 @@ msgstr "Fehler:" msgid "Everybody" msgstr "Alle" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" msgstr "Alt-Text erweitern" +#: 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/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "" @@ -843,17 +1255,43 @@ msgstr "" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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 "Empfohlene Feeds konnten nicht geladen werden" -#: src/view/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "Feed offline" @@ -866,12 +1304,13 @@ msgstr "Feed-Einstellungen" msgid "Feedback" msgstr "Rückmeldung" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "Feeds" @@ -883,6 +1322,12 @@ msgstr "Feeds werden von Nutzern erstellt, um Inhalte zu kuratieren. Wählen Sie msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "Feeds sind benutzerdefinierte Algorithmen, die von den Nutzern mit ein wenig Programmierkenntnissen erstellt werden. <0/> für weitere Informationen." +#: 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:427 msgid "Find users on Bluesky" msgstr "Benutzer auf Bluesky finden" @@ -895,7 +1340,7 @@ msgstr "Benutzer mit der Suchfunktion auf der rechten Seite finden" msgid "Finding similar accounts..." msgstr "Suche nach ähnlichen Konten..." -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "Optimieren Sie die Inhalte, die Sie auf Ihrem Startbildschirm sehen." @@ -903,52 +1348,86 @@ msgstr "Optimieren Sie die Inhalte, die Sie auf Ihrem Startbildschirm sehen." msgid "Fine-tune the discussion threads." msgstr "Feinabstimmung der Diskussionsstränge." -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "Folgen Sie" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +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 "Folgen Sie einigen Nutzern, um loszulegen. Wir können Ihnen weitere Nutzer empfehlen, je nachdem, wen Sie interessant finden." +#: src/view/com/profile/ProfileCard.tsx:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "Verfolgte Benutzer" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "Nur verfolgte Benutzer" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "Verfolger" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "folgende" +#~ msgid "following" +#~ msgstr "folgende" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "Folgende" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "Verfolgt Sie" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "Aus Sicherheitsgründen müssen wir Ihnen einen Bestätigungscode an Ihre E-Mail-Adresse senden." -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "Aus Sicherheitsgründen können Sie es nicht mehr einsehen. Wenn Sie dieses Passwort verlieren, müssen Sie ein neues generieren." -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "Vergessen" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Passwort vergessen" @@ -957,11 +1436,17 @@ msgstr "Passwort vergessen" msgid "Forgot Password" msgstr "Passwort vergessen" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "Galerie" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "Anfangen" @@ -974,14 +1459,14 @@ msgstr "Zurückgehen" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "Zurückgehen" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "Weiter zum nächsten" @@ -994,47 +1479,64 @@ msgstr "Handgriff" msgid "Help" msgstr "Hilfe" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "Hier ist Ihr App-Passwort." -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "Ausblenden" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "Benutzerliste ausblenden" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + +#: 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, es ist ein Problem bei der Kontaktaufnahme mit dem Feed-Server aufgetreten. Bitte informieren Sie den Eigentümer des Feeds über dieses Problem." -#: src/view/com/posts/FeedErrorMessage.tsx:98 +#: 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, der Feed-Server scheint falsch konfiguriert zu sein. Bitte informieren Sie den Eigentümer des Feeds über dieses Problem." -#: src/view/com/posts/FeedErrorMessage.tsx:104 +#: 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, der Feed-Server scheint falsch konfiguriert zu sein. Bitte informieren Sie den Eigentümer des Feeds über dieses Problem." -#: src/view/com/posts/FeedErrorMessage.tsx:101 +#: 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, der Feed-Server scheint falsch konfiguriert zu sein. Bitte informieren Sie den Eigentümer des Feeds über dieses Problem." -#: src/view/com/posts/FeedErrorMessage.tsx:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "Hmm, wir haben Probleme, diesen Feed zu finden. Vielleicht wurde er gelöscht." +#: 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 @@ -1042,13 +1544,14 @@ msgstr "Hmm, wir haben Probleme, diesen Feed zu finden. Vielleicht wurde er gelà msgid "Home" msgstr "Startseite" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "Startseite Feed-Einstellungen" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "Hosting-Anbieter" @@ -1057,18 +1560,34 @@ msgstr "Hosting-Anbieter" msgid "Hosting provider address" msgstr "Hosting-Anbieter Adresse" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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 "Ich habe einen Code" -#: src/view/com/modals/ChangeHandle.tsx:281 +#: 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 "Ich habe meine eigene Domain" +#: src/view/com/lightbox/Lightbox.web.tsx:158 +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 "Wenn keine ausgewählt werden, sind sie für alle Altersgruppen geeignet." +#: src/view/com/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Bild-Alt-Text" @@ -1078,19 +1597,76 @@ msgstr "Bild-Alt-Text" msgid "Image options" msgstr "Bild-Optionen" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "Ungültiger Benutzername oder Passwort" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "Einladung" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "Einen Freund einladen" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "Einladungscode" @@ -1099,10 +1675,18 @@ msgstr "Einladungscode" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "Einladungscode nicht akzeptiert. Überprüfen Sie, ob Sie ihn richtig eingegeben haben und versuchen Sie es erneut." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "Codes einladen: {invitesAvailable} verfügbar" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "Arbeitsplätze" @@ -1116,7 +1700,7 @@ msgstr "Auf die Warteliste setzen" msgid "Join the waitlist." msgstr "Auf die Warteliste setzen" -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "Auf die Warteliste setzen" @@ -1124,15 +1708,24 @@ msgstr "Auf die Warteliste setzen" msgid "Language selection" msgstr "Sprachauswahl" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "Spracheinstellungen" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Sprachen" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "Mehr erfahren" @@ -1142,9 +1735,9 @@ msgstr "Mehr erfahren" msgid "Learn More" msgstr "Mehr erfahren" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1158,10 +1751,14 @@ msgstr "Erfahren Sie mehr darüber, was auf Bluesky öffentlich zugänglich ist. msgid "Leave them all unchecked to see any language." msgstr "Lassen Sie alle Kontrollkästchen deaktiviert, um alle Sprachen zu sehen." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Bluesky verlassen" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1172,36 +1769,94 @@ msgstr "Lassen Sie Ihr Passwort zurücksetzen!" msgid "Library" msgstr "Bibliothek" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "Dieser Feed gefallen" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "Gefallen bei" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "Likes" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "Avatar auflisten" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "Namen auflisten" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "Listen" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "Mehr Beiträge laden" @@ -1209,7 +1864,10 @@ msgstr "Mehr Beiträge laden" msgid "Load new notifications" msgstr "Neue Benachrichtigungen laden" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "Mehr Beiträge laden" @@ -1221,6 +1879,10 @@ msgstr "Laden..." msgid "Local dev server" msgstr "Lokaler Entwicklungs-Server" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:136 msgid "Logged-out visibility" msgstr "Ausgeloggte Sichtbarkeit" @@ -1233,7 +1895,7 @@ msgstr "Anmeldung bei einem Konto, das nicht aufgelistet ist" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "Es sieht so aus, als ob dieser Feed nur für Benutzer mit einem Bluesky-Konto verfügbar ist. Bitte melde dich an oder registriere dich, um diesen Feed zu sehen!" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "Vergewissern Sie sich, dass Sie dorthin gehen wollen!" @@ -1249,68 +1911,119 @@ msgstr "genannte Nutzer" msgid "Mentioned users" msgstr "Genannte Nutzer" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "Menü" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "Meldung vom Server" +#~ msgid "Message from server" +#~ msgstr "Meldung vom Server" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "Moderation" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "Moderation Liste" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "Moderation Liste" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "Mehr Feeds " -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "Mehr Optionen" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "Stummes Konto" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "Stummes Konto" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "Stumme Liste" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "Diese Konten stummschalten?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "Thema stummschalten" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Stumme Kontos" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "Stumme Kontos" @@ -1319,7 +2032,7 @@ msgstr "Stumme Kontos" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "Bei stummgeschalteten Konten werden deren Beiträge aus deinem Feed und deinen Benachrichtigungen entfernt. Stummschaltungen sind vollständig privat." -#: src/view/screens/ProfileList.tsx:273 +#: 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 "Stummschalten ist privat. Stummgeschaltete Konten können mit Ihnen interagieren, aber Sie sehen ihre Beiträge nicht und erhalten keine Benachrichtigungen von ihnen." @@ -1327,7 +2040,7 @@ msgstr "Stummschalten ist privat. Stummgeschaltete Konten können mit Ihnen inte msgid "My Birthday" msgstr "Mein Geburtstag" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "Meine Feeds" @@ -1335,88 +2048,142 @@ msgstr "Meine Feeds" msgid "My Profile" msgstr "Mein Profil " -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Meine gespeicherte Feeds " -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "Namen" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "" +#: 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 "Verlieren Sie nie den Zugriff auf Ihre Follower und Daten." #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "Neu" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "Neuer Posten " #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "Neuer Posten " +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "Neuer Posten " + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "Nächster" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "Nächstes Bild " -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "Nein" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "Ohne Beschreibung" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "Kein Ergebnis" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "Keine Ergebnisse gefunden für \"{query}\"" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "Keine Ergebnisse gefunden für {query}" @@ -1432,10 +2199,20 @@ msgstr "Niemand" msgid "Not Applicable." msgstr "Nicht anwendbar." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:232 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." msgstr "Hinweis: Bluesky ist ein offenes und öffentliches Netzwerk. Diese Einstellung schränkt nur die Sichtbarkeit Ihrer Inhalte auf der Bluesky-App und -Website ein, und andere Apps respektieren diese Einstellung möglicherweise nicht. Deine Inhalte können für abgemeldete Benutzer von anderen Apps und Websites weiterhin angezeigt werden." +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1445,6 +2222,10 @@ msgstr "Hinweis: Bluesky ist ein offenes und öffentliches Netzwerk. Diese Einst msgid "Notifications" msgstr "Benachrichtigungen " +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "Ach nein!" @@ -1457,7 +2238,11 @@ msgstr "Okay" msgid "Oldest replies first" msgstr "" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text." @@ -1465,60 +2250,131 @@ msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text." msgid "Only {0} can reply." msgstr "Nur {0} kann antworten." -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "Offene Navigation" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Öffnet die konfigurierbaren Spracheinstellungen" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "Öffnet die Liste der Einladungscodes" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "Öffnet ein Modal für die Verwendung einer benutzerdefinierten Domain" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Öffnet die Moderationseinstellungen" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Öffnet den Bildschirm mit allen gespeicherten Feeds" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Öffnet die Einstellungsseite für das App-Passwort" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Öffnet die Homefeed-Einstellungen" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "Öffnet die Märchenbuchseite" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Öffnet die Systemprotokollseite" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Öffnet die Thread-Einstellungen" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "" @@ -1542,9 +2398,9 @@ msgstr "Seite nicht gefunden" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Passwort" @@ -1556,10 +2412,31 @@ msgstr "Passwort aktualisiert" msgid "Password updated!" msgstr "Passwort aktualisiert!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "Bilder, die für Erwachsene gedacht sind." +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "Angepinnte Feeds" @@ -1589,7 +2466,11 @@ msgstr "Bitte wählen Sie Ihr Passwort." 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 "Bitte bestätigen Sie Ihre E-Mail-Adresse, bevor Sie sie ändern. Dies ist eine vorübergehende Anforderung, während E-Mail-Aktualisierungstools hinzugefügt werden, und sie wird bald entfernt werden." -#: src/view/com/modals/AddAppPasswords.tsx:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Bitte geben Sie einen eindeutigen Namen für dieses App-Passwort ein oder verwenden Sie unser zufällig generiertes Passwort." @@ -1597,7 +2478,7 @@ msgstr "Bitte geben Sie einen eindeutigen Namen für dieses App-Passwort ein ode msgid "Please enter your email." msgstr "Bitte geben Sie Ihre E-Mail-Adresse ein." -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "Bitte geben Sie auch Ihr Passwort ein:" @@ -1611,17 +2492,51 @@ msgstr "" #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "Bitte teilen Sie uns mit, warum diese Entscheidung Ihrer Meinung nach falsch war." +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "Posten " +#~ msgid "Post" +#~ msgstr "Posten " + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "Versteckter Posten" @@ -1633,7 +2548,7 @@ msgstr "Postsprache" msgid "Post Languages" msgstr "Postsprachen" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "Posten nicht gefunden" @@ -1641,7 +2556,11 @@ msgstr "Posten nicht gefunden" msgid "Posts" msgstr "Posten " -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Potenziell missverständlicher Link" @@ -1657,30 +2576,35 @@ msgstr "Primäre Sprache" msgid "Prioritize Your Follows" msgstr "Priorisieren Sie Ihre Anhängerschaft" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "Privatsphäre" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "Datenschutzbestimmungen" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "Verarbeitung..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "Profile" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "Schützen Sie Ihr Konto, indem Sie Ihre E-Mail verifizieren." @@ -1692,14 +2616,31 @@ msgstr "Öffentliche, gemeinsam nutzbare Listen von Nutzern zum Stummschalten od msgid "Public, shareable lists which can drive feeds." msgstr "Öffentliche, gemeinsam nutzbare Listen, die zu Feeds führen können." -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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 "Angebotsposten" -#: src/view/com/modals/Repost.tsx:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "Angebotsposten" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "Angebotsposten" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1719,7 +2660,7 @@ msgstr "Empfohlene Benutzer" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1733,13 +2674,16 @@ msgstr "{0} aus meinen Feeds entfernen?" msgid "Remove account" msgstr "Konto entfernen" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "Feed entfernen" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "Aus meinen Feeds entfernen" @@ -1751,11 +2695,15 @@ msgstr "Bild entfernen" msgid "Remove image preview" msgstr "Bildvorschau entfernen" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "Diesen Feed aus meinen Feeds entfernen?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "Diesen Feed aus Ihren gespeicherten Feeds entfernen?" @@ -1764,6 +2712,15 @@ msgstr "Diesen Feed aus Ihren gespeicherten Feeds entfernen?" msgid "Removed from list" msgstr "Aus der Liste entfernt" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "Antworten" @@ -1772,31 +2729,50 @@ msgstr "Antworten" msgid "Replies to this thread are disabled" msgstr "Antworten auf diesen Thread sind deaktiviert" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "Antwort-Filter" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "Bericht {Sammlungsname}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "Bericht Konto" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "Bericht Feed" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "Bericht Liste" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" msgstr "Beitrag berichten" +#: 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 "Wiederveröffentlichung" @@ -1810,12 +2786,28 @@ msgstr "Beitrag neu posten oder zitieren" msgid "Reposted by" msgstr "Nachgetragen von" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" msgstr "Änderung beantragen" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "" @@ -1823,45 +2815,77 @@ msgstr "" msgid "Required for this provider" msgstr "Für diesen Anbieter erforderlich" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "Code zurücksetzen" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "Onboarding-Status zurücksetzen" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "Passwort zurücksetzen" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "Einstellungen zurücksetzen" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "Onboarding-Status zurücksetzen" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "Setzt den Zustand der Einstellungen zurück" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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 "Wiederholung" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "Speichern" @@ -1869,7 +2893,7 @@ msgstr "Speichern" msgid "Save alt text" msgstr "Alt-Text speichern" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "Änderung speichern" @@ -1885,9 +2909,25 @@ msgstr "Bildausschnitt speichern" msgid "Saved Feeds" msgstr "Gespeicherte Feeds" +#: 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -1900,6 +2940,7 @@ msgstr "Suche" #: 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 "" @@ -1907,10 +2948,18 @@ msgstr "" msgid "Security Step Required" msgstr "Sicherheitsstufe erforderlich" +#: src/view/screens/SavedFeeds.tsx:163 +msgid "See this guide" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" msgstr "Was kommt als Nächstes?" +#: src/view/com/util/Selector.tsx:106 +msgid "Select {item}" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Wählen Sie Bluesky Social" @@ -1919,6 +2968,10 @@ msgstr "Wählen Sie Bluesky Social" msgid "Select from an existing account" msgstr "Aus einem bestehenden Konto auswählen" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Dienst auswählen" @@ -1935,7 +2988,8 @@ msgstr "Wählen Sie Ihre App-Sprache für den Standardtext, der in der App angez msgid "Select your preferred language for translations in your feed." msgstr "Wählen Sie Ihre bevorzugte Sprache für Übersetzungen in Ihrem Feed." -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "Bestätigungs-E-Mail senden" @@ -1943,9 +2997,14 @@ msgstr "Bestätigungs-E-Mail senden" msgid "Send email" msgstr "E-Mail senden" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "E-Mail senden" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "E-Mail senden" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -1956,19 +3015,49 @@ msgstr "Rückmeldung senden" msgid "Send Report" msgstr "Bericht senden" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "Neues Passwort festlegen" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "Setzen Sie diese Einstellung auf \"Nein\", um alle zitierten Beiträge aus Ihrem Feed auszublenden. Neu eingestellte Beiträge sind weiterhin sichtbar." -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "Setzen Sie diese Einstellung auf \"Nein\", um alle Antworten aus Ihrem Feed auszublenden." -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "Setzen Sie diese Einstellung auf \"Nein\", um alle wieder geposteten Beiträge aus Ihrem Feed auszublenden." @@ -1976,14 +3065,35 @@ msgstr "Setzen Sie diese Einstellung auf \"Nein\", um alle wieder geposteten Bei msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "Setzen Sie diese Einstellung auf \"Ja\", um Antworten in einer Thread-Ansicht anzuzeigen. Dies ist eine experimentelle Funktion." -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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 "Setzen Sie diese Einstellung auf \"Ja\", um Beispiele für Ihre gespeicherten Feeds in Ihrem folgenden Feed anzuzeigen. Dies ist eine experimentelle Funktion." -#: src/view/screens/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "Einstellungen" @@ -1991,21 +3101,32 @@ msgstr "Einstellungen" msgid "Sexual activity or erotic nudity." msgstr "Sexuelle Aktivitäten oder erotische Nacktheit." -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "Teilen" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "Feeds teilen" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "Zeigen" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "Trotzdem anzeigen" @@ -2014,15 +3135,25 @@ msgstr "Trotzdem anzeigen" msgid "Show embeds from {0}" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "Beiträge von My Feeds anzeigen" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "Angebotsposten zeigen" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "Antworten zeigen" @@ -2030,14 +3161,31 @@ msgstr "Antworten zeigen" msgid "Show replies by people you follow before all other replies." msgstr "Antworten von Personen, denen Sie folgen, vor allen anderen Antworten anzeigen." -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "Wiederholungen anzeigen" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "Benutzer zeigen" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2072,7 +3220,9 @@ msgid "Sign into" msgstr "Anmelden" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Ausmelden" @@ -2096,14 +3246,34 @@ msgstr "Registrieren Sie sich oder melden Sie sich an, um an der Diskussion teil msgid "Sign-in Required" msgstr "Anmeldung erforderlich" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Eintragen als" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "Überspringen" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "Antworten sortieren" @@ -2121,11 +3291,19 @@ msgstr "Platz" msgid "Staging" msgstr "Aufführung" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "Status-Seite" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Märchenbuch" @@ -2133,28 +3311,59 @@ msgstr "Märchenbuch" msgid "Submit" msgstr "Einreichen" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "Abonnieren" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "Abonnieren Sie diese Liste" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "Vorgeschlagene Followerliste" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "Unterstützung" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "Konto wechseln" -#: src/view/screens/Settings.tsx:679 +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" + +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "System-Protokoll" @@ -2162,11 +3371,16 @@ msgstr "System-Protokoll" msgid "Tall" msgstr "Groß" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "Bedingungen" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2177,7 +3391,7 @@ msgstr "Bedingungen der Dienstleistung" msgid "Text input field" msgstr "Text-Eingabefeld" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "Das Konto kann nach der Entsperrung mit Ihnen interagieren." @@ -2189,7 +3403,7 @@ msgstr "Die Gemeinschaftsrichtlinien wurden nach <0/> verschoben." msgid "The Copyright Policy has been moved to <0/>" msgstr "Die Urheberrechtspolitik wurde nach <0/> verschoben." -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "Der Beitrag kann gelöscht worden sein." @@ -2198,13 +3412,86 @@ msgid "The Privacy Policy has been moved to <0/>" msgstr "Die Datenschutzrichtlinie wurde nach <0/> verschoben." #: 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 "Das Support-Formular wurde verschoben. Wenn Sie Hilfe benötigen, wenden Sie sich bitte an<0/> oder besuchen Sie {HELP_DESK_URL}, um mit uns in Kontakt zu treten." +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 "" + +#: 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 "Das Support-Formular wurde verschoben. Wenn Sie Hilfe benötigen, wenden Sie sich bitte an<0/> oder besuchen Sie {HELP_DESK_URL}, um mit uns in Kontakt zu treten." #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "Die Allgemeinen Geschäftsbedingungen wurden verschoben nach" +#: src/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "Es gab ein unerwartetes Problem in der Anwendung. Bitte teilen Sie uns mit, wenn dies bei Ihnen der Fall ist!" @@ -2225,19 +3512,33 @@ msgstr "Dieses Konto hat die Benutzer aufgefordert, sich anzumelden, um ihr Prof msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "Dieser Inhalt kann ohne Bluesky-Konto nicht angezeigt werden." -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: src/view/com/posts/FeedErrorMessage.tsx:114 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." msgstr "Dieser Feed wird derzeit stark frequentiert und ist vorübergehend nicht verfügbar. Bitte versuchen Sie es später erneut." +#: src/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "Diese Informationen werden nicht an andere Nutzer weitergegeben." -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "Dies ist wichtig für den Fall, dass Sie Ihre E-Mail-Adresse ändern oder Ihr Passwort zurücksetzen müssen." @@ -2245,24 +3546,44 @@ msgstr "Dies ist wichtig für den Fall, dass Sie Ihre E-Mail-Adresse ändern ode msgid "This is the service that keeps you online." msgstr "Das ist der Dienst, der Sie online hält." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "Dieser Link führt Sie auf die folgende Website:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "Dieser Beitrag wurde gelöscht." +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "Diese Warnung ist nur für Beiträge mit angehängten Medien verfügbar." -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "" #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "Einstellungen zum Thema" @@ -2270,7 +3591,11 @@ msgstr "Einstellungen zum Thema" msgid "Threaded Mode" msgstr "Gewindemodus" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "Dropdown umschalten" @@ -2278,60 +3603,100 @@ msgstr "Dropdown umschalten" msgid "Transformations" msgstr "Verwandlungen" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "Übersetze" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "Nochmals versuchen" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "Nochmals versuchen" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "Liste freigeben" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "Stummschaltliste aufheben" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "Sie können Ihren Dienst nicht kontaktieren. Bitte überprüfen Sie Ihre Internetverbindung." -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "Freischalten" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 msgid "Unblock Account" msgstr "Konto freischalten" +#: 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 "Umbuchung rückgängig machen" +#: src/view/com/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Leider erfüllen Sie nicht die Voraussetzungen, um ein Konto zu erstellen." -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "Konto entstören" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "Thema aufheben" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "Moderation Liste" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "Aktualisieren Sie {displayName} in Listen" @@ -2340,34 +3705,83 @@ msgstr "Aktualisieren Sie {displayName} in Listen" msgid "Update Available" msgstr "Aktualisierung verfügbar" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "Aktualisieren..." -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "Laden Sie eine Textdatei hoch:" -#: src/view/screens/AppPasswords.tsx:194 +#: 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 "Verwende App-Passwörter, um dich bei anderen Bluesky-Clients anzumelden, ohne dass du vollen Zugang zu deinem Konto oder Passwort hast." -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "Standardanbieter verwenden" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "Verwenden Sie dies, um sich mit Ihrem Handle bei der anderen App anzumelden." -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "Verwendet von:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "Benutzerhandgriff" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "Benutzer Liste" @@ -2377,7 +3791,7 @@ msgstr "Benutzer Liste" msgid "Username or email address" msgstr "Benutzername oder E-Mail Adresse" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "Benutzer" @@ -2389,15 +3803,15 @@ msgstr "Benutzer gefolgt von <0/>" msgid "Users in \"{0}\"" msgstr "Benutzer in \"{0}\"" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "E-Mail überprüfen" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "E-Mail überprüfen" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "E-Mail überprüfen" @@ -2406,22 +3820,54 @@ msgstr "E-Mail überprüfen" msgid "Verify New Email" msgstr "Neuer E-Mail überprüfen" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "Debug-Eintrag anzeigen" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "Avatar sehen" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Seite besuchen" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "Wir freuen uns, Sie bei uns begrüßen zu dürfen!" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "Es tut uns leid, aber Ihre Suche konnte nicht abgeschlossen werden. Bitte versuchen Sie es in ein paar Minuten erneut." @@ -2443,6 +3889,7 @@ msgstr "Was ist das Problem mit dieser {collectionName}?" #~ msgstr "Was kommt als Nächstes?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "" @@ -2463,23 +3910,30 @@ msgstr "Wer kann antworten." msgid "Wide" msgstr "Breit" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "Posten schreiben" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "Schreiben Sie Ihre Antwort" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "Ja" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "Sie können den Hosting-Anbieter jederzeit wechseln." @@ -2489,7 +3943,7 @@ msgstr "Sie können den Hosting-Anbieter jederzeit wechseln." msgid "You can now sign in with your new password." msgstr "Sie können sich jetzt mit Ihrem neuen Passwort anmelden." -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 "Du hast noch keine Einladungscodes! Wir schicken dir welche, wenn du schon etwas länger bei Bluesky bist." @@ -2497,7 +3951,7 @@ msgstr "Du hast noch keine Einladungscodes! Wir schicken dir welche, wenn du sch msgid "You don't have any pinned feeds." msgstr "Sie haben keine angehefteten Feeds." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "Sie haben keine gespeicherte Feeds!" @@ -2505,16 +3959,24 @@ msgstr "Sie haben keine gespeicherte Feeds!" msgid "You don't have any saved feeds." msgstr "Sie haben keine gespeicherte Feeds." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "Sie haben den Verfasser blockiert oder Sie wurden vom Verfasser blockiert." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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 "Sie haben keine Feeds." #: src/view/com/lists/MyLists.tsx:89 -#: src/view/com/lists/ProfileLists.tsx:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "Sie haben keine Listen." @@ -2522,7 +3984,7 @@ msgstr "Sie haben keine Listen." 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 "Sie haben noch keine Konten gesperrt. Um ein Konto zu sperren, gehen Sie zu seinem Profil und wählen Sie \"Konto sperren\" aus dem Menü auf seinem Konto." -#: src/view/screens/AppPasswords.tsx:86 +#: 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 "Sie haben noch kein Kennwort für eine Anwendung erstellt. Sie können eines erstellen, indem Sie auf die Schaltfläche unten drücken." @@ -2530,23 +3992,48 @@ msgstr "Sie haben noch kein Kennwort für eine Anwendung erstellt. Sie können e 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 "Sie haben noch keine Konten stummgeschaltet. Um ein Konto stumm zu schalten, gehen Sie zu seinem Profil und wählen Sie \"Konto stumm schalten\" aus dem Menü auf seinem Konto." +#: src/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." msgstr "Sie erhalten eine E-Mail mit einem \"Reset-Code\". Geben Sie diesen Code hier ein und geben Sie dann Ihr neues Passwort ein." +#: 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/Step2.tsx:58 msgid "Your account" msgstr "Ihr Konto" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 msgid "Your birth date" msgstr "Ihr Geburtsdatum" +#: src/view/com/modals/InAppBrowserConsent.tsx:47 +msgid "Your choice will be saved, but can be changed later in settings." +msgstr "" + #: src/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Ihre E-Mail scheint ungültig zu sein." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "Ihre E-Mail wurde gespeichert! Wir werden Sie bald kontaktieren." @@ -2554,33 +4041,50 @@ msgstr "Ihre E-Mail wurde gespeichert! Wir werden Sie bald kontaktieren." msgid "Your email has been updated but not verified. As a next step, please verify your new email." msgstr "Ihre E-Mail wurde aktualisiert, aber nicht verifiziert. Als nächsten Schritt verifizieren Sie bitte Ihre neue E-Mail." -#: src/view/com/modals/VerifyEmail.tsx:108 +#: 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 "Ihre E-Mail ist noch nicht verifiziert worden. Dies ist ein wichtiger Sicherheitsschritt, den wir empfehlen." +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "Ihr vollständiger Name lautet" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "Hosting-Anbieter" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Ihre Einladungscodes werden ausgeblendet, wenn Sie sich mit einem App-Passwort anmelden." +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "Deine Beiträge, Likes und Blocks sind öffentlich. Stummschaltungen sind privat." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Ihr Profil" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Ihr Benutzerhandgriff" diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po index 3e2b776fa..cb967bcaa 100644 --- a/src/locale/locales/en/messages.po +++ b/src/locale/locales/en/messages.po @@ -21,29 +21,38 @@ msgstr "" #~ msgid ". This warning is only available for posts with media attached." #~ msgstr "" +#: 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 "" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "" @@ -51,10 +60,22 @@ msgstr "" msgid "{message}" msgstr "" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "" @@ -75,6 +96,14 @@ msgstr "" #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" #~ msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "" @@ -83,23 +112,61 @@ msgstr "" msgid "A new version of the app is available. Please update to continue using the app." msgstr "" +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +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/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "" @@ -107,12 +174,12 @@ msgstr "" msgid "Add a content warning" msgstr "" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "" @@ -122,6 +189,12 @@ msgstr "" msgid "Add alt text" msgstr "" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -131,32 +204,41 @@ msgstr "" msgid "Add details to report" msgstr "" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 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:128 msgid "Added to list" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "" @@ -164,10 +246,18 @@ msgstr "" msgid "Adult Content" msgstr "" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "" @@ -180,7 +270,7 @@ msgstr "" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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 "" @@ -188,7 +278,12 @@ msgstr "" msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "" -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "" @@ -197,15 +292,32 @@ msgstr "" msgid "App Language" msgstr "" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "" @@ -225,7 +337,7 @@ msgstr "" msgid "Appeal this decision." msgstr "" -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "" @@ -233,7 +345,7 @@ msgstr "" #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." #~ msgstr "" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "" @@ -241,14 +353,18 @@ msgstr "" msgid "Are you sure you'd like to discard this draft?" msgstr "" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "" @@ -259,18 +375,24 @@ msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 +msgid "Back" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" msgid "Back" msgstr "" -#: src/view/screens/Settings.tsx:461 +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "" @@ -279,36 +401,46 @@ msgstr "" msgid "Birthday" msgstr "" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "" @@ -316,11 +448,11 @@ msgstr "" 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:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "" -#: src/view/screens/ProfileList.tsx:310 +#: 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 "" @@ -332,14 +464,17 @@ msgstr "" msgid "Bluesky" msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:80 msgid "Bluesky is flexible." msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "" @@ -356,7 +491,7 @@ msgstr "" msgid "Bluesky.Social" msgstr "" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "" @@ -364,37 +499,65 @@ msgstr "" 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "" -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "" @@ -410,29 +573,34 @@ msgstr "" msgid "Cancel image crop" msgstr "" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "" -#: src/view/com/modals/Repost.tsx:64 +#: 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:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "" @@ -440,10 +608,14 @@ msgstr "" msgid "Change Handle" msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "" @@ -456,7 +628,7 @@ msgstr "" msgid "Check out some recommended users. Follow them to see similar users." msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "" @@ -464,10 +636,15 @@ msgstr "" msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "" +#: 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 "" @@ -480,27 +657,33 @@ msgstr "" msgid "Choose your password" msgstr "" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "" @@ -521,23 +704,54 @@ msgstr "" msgid "Close navigation footer" msgstr "" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "" +#: 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" @@ -547,18 +761,26 @@ msgstr "" msgid "Confirm content language settings" msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: 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 "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "" @@ -575,6 +797,11 @@ msgstr "" msgid "Content Languages" msgstr "" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "" @@ -588,31 +815,46 @@ msgstr "" msgid "Continue" msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "" @@ -621,29 +863,50 @@ msgstr "" msgid "Could not load feed" msgstr "" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "" #: 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 "" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "" @@ -652,15 +915,27 @@ msgstr "" msgid "Customize media from external sites." msgstr "" -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "" -#: src/view/screens/Settings.tsx:411 -#~ msgid "Dark" -#~ msgstr "" +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "" @@ -668,40 +943,44 @@ msgstr "" msgid "Delete Account" msgstr "" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "" @@ -709,7 +988,7 @@ msgstr "" msgid "Dev Server" msgstr "" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "" @@ -729,35 +1008,53 @@ msgstr "" msgid "Discourage apps from showing my account to logged-out users" msgstr "" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "" @@ -765,56 +1062,116 @@ msgstr "" msgid "Done{extraText}" msgstr "" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 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/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "" @@ -822,34 +1179,63 @@ msgstr "" msgid "Enable {0} only" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "" -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "" +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 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 "" @@ -866,10 +1252,32 @@ msgstr "" msgid "Everybody" msgstr "" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 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/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "" @@ -879,17 +1287,43 @@ msgstr "" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "" @@ -902,12 +1336,13 @@ msgstr "" msgid "Feedback" msgstr "" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "" @@ -919,6 +1354,12 @@ msgstr "" msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." 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:427 msgid "Find users on Bluesky" msgstr "" @@ -931,7 +1372,7 @@ msgstr "" msgid "Finding similar accounts..." msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "" @@ -939,10 +1380,28 @@ msgstr "" msgid "Fine-tune the discussion threads." msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" msgid "Follow" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:552 +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 #~ msgid "Follow some" #~ msgstr "" @@ -951,44 +1410,60 @@ msgstr "" 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:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "" +#~ msgid "following" +#~ msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "" -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "" @@ -997,11 +1472,17 @@ msgstr "" msgid "Forgot Password" msgstr "" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "" @@ -1014,14 +1495,14 @@ msgstr "" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "" @@ -1034,48 +1515,64 @@ msgstr "" msgid "Help" msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "" -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" msgid "Hide" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: 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 "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." #~ msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: 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:98 +#: 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:104 +#: 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:101 +#: 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:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "" @@ -1083,6 +1580,7 @@ msgstr "" #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." #~ msgstr "" +#: 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 @@ -1090,13 +1588,14 @@ msgstr "" msgid "Home" msgstr "" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "" @@ -1105,18 +1604,34 @@ msgstr "" msgid "Hosting provider address" msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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/ChangeHandle.tsx:281 +#: 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:158 +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/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "" @@ -1131,19 +1646,76 @@ msgstr "" #~ msgid "In Your Network" #~ msgstr "" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "" @@ -1152,10 +1724,18 @@ msgstr "" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "" -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "" @@ -1169,7 +1749,7 @@ msgstr "" msgid "Join the waitlist." msgstr "" -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "" @@ -1177,15 +1757,24 @@ msgstr "" msgid "Language selection" msgstr "" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "" @@ -1195,9 +1784,9 @@ msgstr "" msgid "Learn More" msgstr "" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1211,10 +1800,14 @@ msgstr "" msgid "Leave them all unchecked to see any language." msgstr "" -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1225,23 +1818,48 @@ msgstr "" msgid "Library" msgstr "" -#: src/view/screens/Settings.tsx:405 -#~ msgid "Light" -#~ msgstr "" +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" #~ msgstr "" @@ -1250,23 +1868,52 @@ msgstr "" #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "" @@ -1274,7 +1921,10 @@ msgstr "" msgid "Load new notifications" msgstr "" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "" @@ -1286,6 +1936,10 @@ msgstr "" msgid "Local dev server" msgstr "" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "" @@ -1302,7 +1956,7 @@ msgstr "" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "" @@ -1318,72 +1972,119 @@ msgstr "" msgid "Mentioned users" msgstr "" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" +#~ msgid "Message from server" +#~ msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:158 -#~ msgid "More post options" -#~ msgstr "" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "" @@ -1392,7 +2093,7 @@ msgstr "" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "" -#: src/view/screens/ProfileList.tsx:273 +#: 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 "" @@ -1404,7 +2105,7 @@ msgstr "" msgid "My Birthday" msgstr "" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "" @@ -1412,80 +2113,134 @@ msgstr "" msgid "My Profile" msgstr "" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "" +#: 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 "" #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" msgstr "" +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "" @@ -1497,8 +2252,8 @@ msgstr "" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "" @@ -1518,6 +2273,15 @@ msgstr "" msgid "Not Applicable." msgstr "" +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "" @@ -1530,6 +2294,7 @@ msgstr "" #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." #~ msgstr "" +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1539,6 +2304,10 @@ msgstr "" msgid "Notifications" msgstr "" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "" @@ -1551,7 +2320,11 @@ msgstr "" msgid "Oldest replies first" msgstr "" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "" @@ -1559,60 +2332,131 @@ msgstr "" msgid "Only {0} can reply." msgstr "" -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "" @@ -1636,9 +2480,9 @@ msgstr "" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "" @@ -1650,10 +2494,31 @@ msgstr "" msgid "Password updated!" msgstr "" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "" +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "" @@ -1683,7 +2548,11 @@ msgstr "" 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:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "" @@ -1691,7 +2560,7 @@ msgstr "" msgid "Please enter your email." msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "" @@ -1705,17 +2574,51 @@ msgstr "" #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" +#~ msgid "Post" +#~ msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "" @@ -1727,7 +2630,7 @@ msgstr "" msgid "Post Languages" msgstr "" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "" @@ -1735,7 +2638,11 @@ msgstr "" msgid "Posts" msgstr "" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "" @@ -1751,30 +2658,35 @@ msgstr "" msgid "Prioritize Your Follows" msgstr "" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "" #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "" @@ -1786,15 +2698,32 @@ msgstr "" msgid "Public, shareable lists which can drive feeds." msgstr "" -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" msgstr "" +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "" + #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" msgstr "" @@ -1818,7 +2747,7 @@ msgstr "" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1832,13 +2761,16 @@ msgstr "" msgid "Remove account" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "" @@ -1850,11 +2782,15 @@ msgstr "" msgid "Remove image preview" msgstr "" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "" @@ -1863,6 +2799,15 @@ msgstr "" msgid "Removed from list" msgstr "" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "" @@ -1871,31 +2816,50 @@ msgstr "" msgid "Replies to this thread are disabled" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" 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 "" @@ -1909,6 +2873,22 @@ msgstr "" msgid "Reposted by" msgstr "" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" @@ -1918,7 +2898,7 @@ msgstr "" #~ msgid "Request to limit the visibility of my account" #~ msgstr "" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "" @@ -1926,34 +2906,52 @@ msgstr "" msgid "Required for this provider" msgstr "" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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" @@ -1963,12 +2961,26 @@ msgstr "" #~ msgid "Retry change handle" #~ msgstr "" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "" @@ -1980,7 +2992,7 @@ msgstr "" #~ msgid "Save changes" #~ msgstr "" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "" @@ -1996,9 +3008,25 @@ msgstr "" msgid "Saved 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -2015,6 +3043,7 @@ 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 "" @@ -2022,10 +3051,18 @@ msgstr "" msgid "Security Step Required" 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 "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "" @@ -2034,6 +3071,10 @@ msgstr "" msgid "Select from an existing account" msgstr "" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "" @@ -2050,7 +3091,8 @@ msgstr "" msgid "Select your preferred language for translations in your feed." msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "" @@ -2058,10 +3100,15 @@ msgstr "" msgid "Send email" msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" msgstr "" +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "" + #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 msgid "Send feedback" @@ -2071,19 +3118,49 @@ msgstr "" msgid "Send Report" msgstr "" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "" @@ -2091,14 +3168,35 @@ msgstr "" msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "" @@ -2106,13 +3204,18 @@ msgstr "" msgid "Sexual activity or erotic nudity." msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" msgid "Share" msgstr "" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 +msgid "Share" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "" @@ -2120,11 +3223,17 @@ msgstr "" #~ msgid "Share link" #~ msgstr "" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "" @@ -2133,15 +3242,25 @@ msgstr "" msgid "Show embeds from {0}" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "" @@ -2149,14 +3268,31 @@ msgstr "" msgid "Show replies by people you follow before all other replies." msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2191,7 +3327,9 @@ msgid "Sign into" msgstr "" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "" @@ -2215,14 +3353,34 @@ msgstr "" msgid "Sign-in Required" msgstr "" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "" @@ -2240,11 +3398,19 @@ msgstr "" msgid "Staging" msgstr "" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "" @@ -2252,32 +3418,59 @@ msgstr "" msgid "Submit" msgstr "Submit" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "" -#: src/view/screens/Settings.tsx:398 -#~ msgid "System" -#~ msgstr "" +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" -#: src/view/screens/Settings.tsx:679 +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "" @@ -2285,11 +3478,16 @@ msgstr "" msgid "Tall" msgstr "" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2300,7 +3498,7 @@ msgstr "" msgid "Text input field" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "" @@ -2312,7 +3510,7 @@ msgstr "" msgid "The Copyright Policy has been moved to <0/>" msgstr "" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "" @@ -2321,13 +3519,86 @@ msgid "The Privacy Policy has been moved to <0/>" msgstr "" #: 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." +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 "" +#: 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 "" + #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "" +#: src/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: 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 "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "" @@ -2348,19 +3619,33 @@ msgstr "" msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "" -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: 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/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "" -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "" @@ -2368,24 +3653,44 @@ msgstr "" msgid "This is the service that keeps you online." msgstr "" -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "" +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "" #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "" @@ -2393,7 +3698,11 @@ msgstr "" msgid "Threaded Mode" msgstr "" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "" @@ -2401,60 +3710,100 @@ msgstr "" msgid "Transformations" msgstr "" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" msgid "Unblock" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 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/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "" @@ -2463,34 +3812,83 @@ msgstr "" msgid "Update Available" msgstr "" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "" -#: src/view/screens/AppPasswords.tsx:194 +#: 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 "" -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "" -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "" @@ -2500,7 +3898,7 @@ msgstr "" msgid "Username or email address" msgstr "" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "" @@ -2516,15 +3914,15 @@ msgstr "" msgid "Users in \"{0}\"" msgstr "" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "" @@ -2533,18 +3931,46 @@ msgstr "" msgid "Verify New Email" msgstr "" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "" @@ -2557,6 +3983,10 @@ msgstr "" #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." #~ msgstr "" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "" @@ -2574,6 +4004,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "" @@ -2598,23 +4029,30 @@ msgstr "" msgid "Wide" msgstr "" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "" @@ -2624,7 +4062,7 @@ msgstr "" msgid "You can now sign in with your new password." msgstr "" -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 "" @@ -2632,7 +4070,7 @@ msgstr "" msgid "You don't have any pinned feeds." msgstr "" -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "" @@ -2640,16 +4078,24 @@ msgstr "" msgid "You don't have any saved feeds." msgstr "" -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "" -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "" @@ -2657,7 +4103,7 @@ msgstr "" 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:86 +#: 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 "" @@ -2665,23 +4111,48 @@ msgstr "" 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/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." 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/Step2.tsx:58 msgid "Your account" msgstr "" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 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/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "" -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "" @@ -2689,30 +4160,43 @@ msgstr "" 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:108 +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "" -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "" @@ -2728,6 +4212,10 @@ msgstr "" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "" diff --git a/src/locale/locales/es/messages.po b/src/locale/locales/es/messages.po index 5ecee6966..7f4d5b73e 100644 --- a/src/locale/locales/es/messages.po +++ b/src/locale/locales/es/messages.po @@ -13,29 +13,38 @@ msgstr "" "Language-Team: \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, plural, one {# invite code available} other {# invite codes available}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "Lista {purposeLabel} {0}" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "Lista {purposeLabel} {0}" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "{invitesAvailable} código de invitación disponible" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "{invitesAvailable} códigos de invitación disponibles" @@ -43,10 +52,22 @@ msgstr "{invitesAvailable} códigos de invitación disponibles" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> miembros" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>Elige tus</0><1>publicaciones</1><2>recomendadas</2>" @@ -55,6 +76,14 @@ msgstr "<0>Elige tus</0><1>publicaciones</1><2>recomendadas</2>" msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" msgstr "<0>Sigue a algunos</0><1>usuarios</1><2>recomendados</2>" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "Se ha aplicado una advertencia de contenido a este {0}." @@ -63,23 +92,61 @@ msgstr "Se ha aplicado una advertencia de contenido a este {0}." msgid "A new version of the app is available. Please update to continue using the app." msgstr "Ya está disponible una nueva versión de la aplicación. ActualÃzala para seguir utilizándola." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "Accesibilidad" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Cuenta" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +msgid "Account Muted by List" +msgstr "" + #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" msgstr "Opciones de la cuenta" +#: src/view/com/util/AccountDropdownBtn.tsx:25 +msgid "Account removed from quick access" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "Agregar" @@ -87,12 +154,12 @@ msgstr "Agregar" msgid "Add a content warning" msgstr "Agregar una advertencia de cuenta" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "Agregar un usuario a esta lista" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Agregar una cuenta" @@ -102,6 +169,12 @@ msgstr "Agregar una cuenta" msgid "Add alt text" msgstr "Agregar texto alt" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -111,32 +184,41 @@ msgstr "Agregar detalles" msgid "Add details to report" msgstr "Agregar detalles al informe" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Agregar una tarjeta de enlace" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "Agregar una tarjeta de enlace:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "Añade el siguiente registro DNS a tu dominio:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "Agregar a listas" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Add to my feeds" msgstr "Agregar a mis noticias" +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 +msgid "Added" +msgstr "" + #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 msgid "Added to list" msgstr "Agregar a una lista" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "Ajusta el número de Me gusta que debe tener una respuesta para que se muestre en tus noticias." @@ -144,10 +226,18 @@ msgstr "Ajusta el número de Me gusta que debe tener una respuesta para que se m msgid "Adult Content" msgstr "Contenido para adultos" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Avanzado" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -160,7 +250,7 @@ msgstr "Texto alt" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "El texto alternativo describe las imágenes para los usuarios ciegos y con baja visión, y ayuda a dar contexto a todos." -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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 "Se ha enviado un correo electrónico a {0}. Incluye un código de confirmación que puedes introducir a continuación." @@ -168,7 +258,12 @@ msgstr "Se ha enviado un correo electrónico a {0}. Incluye un código de confir msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "Se ha enviado un correo electrónico a tu dirección previa, {0}. Incluye un código de confirmación que puedes introducir a continuación." -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "y" @@ -177,15 +272,32 @@ msgstr "y" msgid "App Language" msgstr "Lenguaje de app" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "Contraseñas de la app" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "Contraseñas de la app" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "Aviso sobre el contenido del recurso" @@ -201,11 +313,11 @@ msgstr "Apelar esta decisión" msgid "Appeal this decision." msgstr "Apelar esta decisión." -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "Aspecto exterior" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "¿Estás seguro de que quieres eliminar la contraseña de la app \"{name}\"?" @@ -213,32 +325,42 @@ msgstr "¿Estás seguro de que quieres eliminar la contraseña de la app \"{name msgid "Are you sure you'd like to discard this draft?" msgstr "¿Estás seguro de que quieres descartar este borrador?" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "¿Estás seguro?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "¿Estás seguro? Esto no puede deshacerse." +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "Desnudez artÃstica o no erótica." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "Regresar" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "Conceptos básicos" @@ -247,36 +369,46 @@ msgstr "Conceptos básicos" msgid "Birthday" msgstr "Cumpleaños" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "Cumpleaños:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "Bloquear una cuenta" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "Bloquear cuentas" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "Bloquear una lista" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "¿Bloquear estas cuentas?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "Cuentas bloqueadas" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "Cuentas bloqueadas" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma." @@ -284,11 +416,11 @@ msgstr "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni 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 "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma. Tú no verás su contenido y ellos no podrán ver el tuyo." -#: src/view/com/post-thread/PostThread.tsx:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "Publicación bloqueada." -#: src/view/screens/ProfileList.tsx:310 +#: 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 "El bloque es público. Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma." @@ -300,14 +432,17 @@ msgstr "Blog" 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 es flexible." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky es abierto." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky es público." @@ -324,7 +459,7 @@ msgstr "Bluesky no mostrará tu perfil ni tus publicaciones a los usuarios que h msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Versión {0} {1}" @@ -332,37 +467,65 @@ msgstr "Versión {0} {1}" msgid "Business" msgstr "Negocios" +#: 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "Cámara" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "Sólo puede contener letras, números, espacios, guiones y guiones bajos. Debe tener al menos 4 caracteres, pero no más de 32." -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "Cancelar" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Cancelar la eliminación de la cuenta" @@ -378,29 +541,34 @@ msgstr "Cancelar identificador de cambio" msgid "Cancel image crop" msgstr "Cancelar recorte de imagen" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "Cancelar la edición de perfil" -#: src/view/com/modals/Repost.tsx:64 +#: src/view/com/modals/Repost.tsx:78 msgid "Cancel quote post" msgstr "Cancelar la publicación de un presupuesto" #: src/view/com/modals/ListAddRemoveUsers.tsx:87 -#: src/view/shell/desktop/Search.tsx:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "Cancelar búsqueda" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "Cancelar la inscripción en la lista de espera" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "Cambiar" +msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "Cambiar" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Cambiar el identificador" @@ -408,10 +576,14 @@ msgstr "Cambiar el identificador" msgid "Change Handle" msgstr "Cambiar el identificador" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "Cambiar mi correo electrónico" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Cambiar tu correo electrónico" @@ -424,7 +596,7 @@ msgstr "Echa un vistazo a algunas publicaciones recomendadas. Pulsa + para añad msgid "Check out some recommended users. Follow them to see similar users." msgstr "Echa un vistazo a algunos usuarios recomendados. SÃguelos para ver usuarios similares." -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "Consulta tu bandeja de entrada para recibir un correo electrónico con el código de confirmación que debes introducir a continuación:" @@ -432,10 +604,15 @@ msgstr "Consulta tu bandeja de entrada para recibir un correo electrónico con e msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "Elige un Servicio" +#: 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 "Elige los algoritmos que potencian tu experiencia con publicaciones personalizadas." @@ -444,27 +621,33 @@ msgstr "Elige los algoritmos que potencian tu experiencia con publicaciones pers msgid "Choose your password" msgstr "Elige tu contraseña" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "Borrar todos los datos de almacenamiento heredados" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "Borrar todos los datos de almacenamiento heredados (reiniciar después de esto)" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "Borrar todos los datos de almacenamiento" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "Borrar todos los datos de almacenamiento (reiniciar después de esto)" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "Borrar consulta de búsqueda" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Cerrar la alerta" @@ -485,23 +668,54 @@ msgstr "Cerrar el visor de imagen" msgid "Close navigation footer" msgstr "Cerrar el pie de página de navegación" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "Directrices de la comunidad" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "Redactar la respuesta" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "Confirmar" +#: 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" @@ -511,18 +725,26 @@ msgstr "Confirmar el cambio" msgid "Confirm content language settings" msgstr "Confirmar la configuración del idioma del contenido" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Confirmar eliminación de cuenta" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: src/view/com/modals/VerifyEmail.tsx:165 msgid "Confirmation code" msgstr "Código de confirmación" +#: src/view/com/modals/Waitlist.tsx:120 +msgid "Confirms signing up {email} to the waitlist" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "Conectando..." @@ -539,6 +761,11 @@ msgstr "Filtro de contenido" msgid "Content Languages" msgstr "Lenguajes de contenido" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "Advertencia de contenido" @@ -552,31 +779,46 @@ msgstr "Advertencias de contenido" msgid "Continue" msgstr "Continuar" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "Copiado" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "Copiar" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "Copia el enlace a la lista" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "Copia el enlace a la publicación" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "Copia el enlace al perfil" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "Copiar el texto de la publicación" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "PolÃtica de derechos de autor" @@ -585,29 +827,50 @@ msgstr "PolÃtica de derechos de autor" msgid "Could not load feed" msgstr "No se ha podido cargar las publicaciones" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "No se ha podido cargar la lista" #: 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 "Crear una cuenta nueva" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "Crear una cuenta" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "Crear una cuenta nueva" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "Creado {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "Dominio personalizado" @@ -616,11 +879,27 @@ msgstr "Dominio personalizado" msgid "Customize media from external sites." msgstr "" -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Zona de peligro" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" + +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Borrar la cuenta" @@ -628,40 +907,44 @@ msgstr "Borrar la cuenta" msgid "Delete Account" msgstr "Borrar la cuenta" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "Borrar la contraseña de la app" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "Borrar la lista" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Borrar mi cuenta" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Borrar mi cuenta..." -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "Borrar una publicación" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "¿Borrar esta publicación?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "Se borró la publicación." -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "Descripción" @@ -669,7 +952,7 @@ msgstr "Descripción" msgid "Dev Server" msgstr "Servidor de desarrollo" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "Herramientas de desarrollador" @@ -689,35 +972,53 @@ msgstr "Descartar el borrador" msgid "Discourage apps from showing my account to logged-out users" msgstr "Evitar que las aplicaciones muestren mi cuenta a los usuarios desconectados" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "Descubrir nuevas publicaciones" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "Mostrar el nombre" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "Mostrar el nombre" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "¡Dominio verificado!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "Listo" @@ -725,56 +1026,116 @@ msgstr "Listo" msgid "Done{extraText}" msgstr "Listo{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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 "Cada código funciona una vez. Recibirás más códigos de invitación periódicamente." +#: src/view/com/lists/ListMembers.tsx:149 +msgctxt "action" +msgid "Edit" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "Editar la imagen" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "Editar los detalles de la lista" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "Editar mis noticias" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "Editar mi perfil" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "Editar el perfil" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "Editar el perfil" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "Editar mis noticias guardadas" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "Correo electrónico" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "Dirección de correo electrónico" +#: 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 "Correo electrónico actualizado" -#: src/view/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "Correo electrónico:" @@ -782,34 +1143,63 @@ msgstr "Correo electrónico:" msgid "Enable {0} only" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "Activa esta opción para ver sólo las respuestas de las personas a las que sigues." -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "Fin de noticias" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "Introduce la dirección de tu proveedor:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "Introduce el dominio que quieres utilizar" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "Introduce el correo electrónico que utilizaste para crear tu cuenta. Te enviaremos un \"código de restablecimiento\" para que puedas establecer una nueva contraseña." +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 msgid "Enter your email address" msgstr "Introduce la dirección de correo electrónico" +#: 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 "Introduce tu nueva dirección de correo electrónico a continuación." @@ -826,10 +1216,32 @@ msgstr "Error:" msgid "Everybody" msgstr "Todos" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" msgstr "Expandir el texto alt" +#: src/view/com/composer/ComposerReplyTo.tsx:81 +#: src/view/com/composer/ComposerReplyTo.tsx:84 +msgid "Expand or collapse the full post you are replying to" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "" @@ -839,17 +1251,43 @@ msgstr "" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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 "Error al cargar las noticias recomendadas" -#: src/view/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "Noticias fuera de lÃnea" @@ -862,12 +1300,13 @@ msgstr "Preferencias de noticias" msgid "Feedback" msgstr "Comentarios" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "Noticias" @@ -879,6 +1318,12 @@ msgstr "Se crean las noticias por los usuarios para crear colecciones de conteni msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "Las noticias son algoritmos personalizados que los usuarios construyen con un poco de experiencia en codificación. <0/> para más información." +#: 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:427 msgid "Find users on Bluesky" msgstr "Encontrar usuarios en Bluesky" @@ -891,7 +1336,7 @@ msgstr "Encuentra usuarios con la herramienta de búsqueda de la derecha" msgid "Finding similar accounts..." msgstr "Encontrar cuentas similares..." -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "Ajusta el contenido que ves en tu pantalla de inicio." @@ -899,52 +1344,86 @@ msgstr "Ajusta el contenido que ves en tu pantalla de inicio." msgid "Fine-tune the discussion threads." msgstr "Ajusta los hilos de discusión." -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "Seguir" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +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 "Sigue a algunos usuarios para empezar. Podemos recomendarte más usuarios en función de los que te parezcan interesantes." +#: src/view/com/profile/ProfileCard.tsx:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "Usuarios seguidos" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "Solo usuarios seguidos" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "Seguidores" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "siguiendo" +#~ msgid "following" +#~ msgstr "siguiendo" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "Siguiendo" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "Te siguen" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "Por razones de seguridad, tendremos que enviarte un código de confirmación a tu dirección de correo electrónico." -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "Por razones de seguridad, no podrás volver a verla. Si pierdes esta contraseña, tendrás que generar una nueva." -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "Lo olvidé" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Olvidé mi contraseña" @@ -953,11 +1432,17 @@ msgstr "Olvidé mi contraseña" msgid "Forgot Password" msgstr "Olvidé mi contraseña" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "GalerÃa" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "Comenzar" @@ -970,14 +1455,14 @@ msgstr "Regresar" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "Regresar" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "Ir al siguiente" @@ -990,47 +1475,64 @@ msgstr "Identificador" msgid "Help" msgstr "Ayuda" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "Aquà tienes tu contraseña de la app." -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "Ocultar" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "Ocultar publicación" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "¿Ocultar esta publicación?" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "Ocultar la lista de usuarios" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + +#: 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 "Se ha producido algún problema al contactar con el servidor de noticias. Por favor, informa al propietario de la noticia sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:98 +#: 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 "Parece que el servidor de noticias está mal configurado. Por favor, informa al propietario de la noticia sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:104 +#: 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 "Parece que el servidor de noticias está fuera de lÃnea. Por favor, informa al propietario de la noticia sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:101 +#: 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 "El servidor de noticias ha respondido de forma incorrecta. Por favor, informa al propietario de la noticia sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "Tenemos problemas para encontrar esta noticia. Puede que la hayan borrado." +#: 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 @@ -1038,13 +1540,14 @@ msgstr "Tenemos problemas para encontrar esta noticia. Puede que la hayan borrad msgid "Home" msgstr "Página inicial" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "Preferencias de noticias de la página inicial" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "Proveedor de alojamiento" @@ -1053,18 +1556,34 @@ msgstr "Proveedor de alojamiento" msgid "Hosting provider address" msgstr "Dirección del proveedor de alojamiento" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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 "Tengo un código" -#: src/view/com/modals/ChangeHandle.tsx:281 +#: 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 "Tengo mi propio dominio" +#: src/view/com/lightbox/Lightbox.web.tsx:158 +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 "Si no se selecciona ninguno, es apto para todas las edades." +#: src/view/com/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Texto alt de la imagen" @@ -1074,19 +1593,76 @@ msgstr "Texto alt de la imagen" msgid "Image options" msgstr "Opciones de la imagen" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "Nombre de usuario o contraseña no válidos" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "Invitar" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "Invitar a un amigo" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "Código de invitación" @@ -1095,10 +1671,18 @@ msgstr "Código de invitación" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "No se acepta el código de invitación. Comprueba que lo has introducido correctamente e inténtalo de nuevo." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "Códigos de invitación: {invitesAvailable} disponibles" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "Tareas" @@ -1112,7 +1696,7 @@ msgstr "Únete a la lista de espera" msgid "Join the waitlist." msgstr "Únete a la lista de espera." -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "Únete a la lista de espera" @@ -1120,15 +1704,24 @@ msgstr "Únete a la lista de espera" msgid "Language selection" msgstr "Escoger el idioma" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "Configuración del idioma" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Idiomas" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "Aprender más" @@ -1138,9 +1731,9 @@ msgstr "Aprender más" msgid "Learn More" msgstr "Aprender más" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1154,10 +1747,14 @@ msgstr "Más información sobre lo que es público en Bluesky." msgid "Leave them all unchecked to see any language." msgstr "Déjalos todos sin marcar para ver cualquier idioma." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Salir de Bluesky" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1168,36 +1765,94 @@ msgstr "¡Vamos a restablecer tu contraseña!" msgid "Library" msgstr "LibrerÃa" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "Dar «me gusta» a esta noticia" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "Le ha gustado a" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "Cantidad de «Me gusta»" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "Avatar de la lista" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "Nombre de la lista" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "Listas" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "Cargar más publicaciones" @@ -1205,7 +1860,10 @@ msgstr "Cargar más publicaciones" msgid "Load new notifications" msgstr "Cargar notificaciones nuevas" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "Cargar publicaciones nuevas" @@ -1217,6 +1875,10 @@ msgstr "Cargando..." msgid "Local dev server" msgstr "Servidor de desarrollo local" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:136 msgid "Logged-out visibility" msgstr "Visibilidad de desconexión" @@ -1225,7 +1887,7 @@ msgstr "Visibilidad de desconexión" msgid "Login to account that is not listed" msgstr "Acceder a una cuenta que no está en la lista" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "¡Asegúrate de que es aquà a donde pretendes ir!" @@ -1241,68 +1903,119 @@ msgstr "usuarios mencionados" msgid "Mentioned users" msgstr "Usuarios mencionados" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "Menú" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "Mensaje del servidor" +#~ msgid "Message from server" +#~ msgstr "Mensaje del servidor" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "Moderación" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "Listas de moderación" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "Listas de moderación" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "Más canales de noticias" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "Más opciones" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "Silenciar la cuenta" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "Silenciar las cuentas" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "Silenciar la lista" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "¿Silenciar estas cuentas?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "Silenciar el hilo" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Cuentas silenciadas" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "Cuentas silenciadas" @@ -1311,7 +2024,7 @@ msgstr "Cuentas silenciadas" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "Las cuentas silenciadas eliminan sus publicaciones de tu canal de noticias y de tus notificaciones. Las cuentas silenciadas son completamente privadas." -#: src/view/screens/ProfileList.tsx:273 +#: src/view/screens/ProfileList.tsx:276 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." msgstr "Silenciar es privado. Las cuentas silenciadas pueden interactuar contigo, pero no verás sus publicaciones ni recibirás notificaciones suyas." @@ -1319,7 +2032,7 @@ msgstr "Silenciar es privado. Las cuentas silenciadas pueden interactuar contigo msgid "My Birthday" msgstr "Mi cumpleaños" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "Mis canales de noticias" @@ -1327,88 +2040,142 @@ msgstr "Mis canales de noticias" msgid "My Profile" msgstr "Mi perfil" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Mis canales de noticias guardados" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "Nombre" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "" +#: 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 "No pierdas nunca el acceso a tus seguidores y datos." #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "Nuevo" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "Publicación nueva" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "Publicación nueva" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "Publicación nueva" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "Siguiente" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "Imagen nueva" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "No" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "Sin descripción" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "Sin resultados" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "No se han encontrado resultados para \"{query}\"" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "No se han encontrado resultados para {query}" @@ -1424,10 +2191,20 @@ msgstr "Nadie" msgid "Not Applicable." msgstr "No aplicable." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:232 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." msgstr "Nota: Bluesky es una red abierta y pública. Esta configuración sólo limita la visibilidad de tu contenido en la aplicación y el sitio web de Bluesky, y es posible que otras aplicaciones no respeten esta configuración. Otras aplicaciones y sitios web pueden seguir mostrando tu contenido a los usuarios que hayan cerrado sesión." +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1437,6 +2214,10 @@ msgstr "Nota: Bluesky es una red abierta y pública. Esta configuración sólo l msgid "Notifications" msgstr "Notificaciones" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "¡Qué problema!" @@ -1449,7 +2230,11 @@ msgstr "Está bien" msgid "Oldest replies first" msgstr "" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Falta el texto alternativo en una o varias imágenes." @@ -1457,60 +2242,131 @@ msgstr "Falta el texto alternativo en una o varias imágenes." msgid "Only {0} can reply." msgstr "Solo {0} puede responder." -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "Abrir navegación" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Abrir la configuración del idioma que se puede ajustar" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "Abre la lista de códigos de invitación" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "Abre el modal para usar el dominio personalizado" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Abre la configuración de moderación" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Abre la pantalla con todas las noticias guardadas" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Abre la página de configuración de la contraseña de la app" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Abre las preferencias de noticias de la página inicial" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "Abre la página del libro de cuentos" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Abre la página de la bitácora del sistema" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Abre las preferencias de hilos" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "" @@ -1534,9 +2390,9 @@ msgstr "Página no encontrada" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Contraseña" @@ -1548,10 +2404,31 @@ msgstr "Contraseña actualizada" msgid "Password updated!" msgstr "¡Contraseña actualizada!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "Imágenes destinadas a adultos." +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "Canales de noticias anclados" @@ -1581,7 +2458,11 @@ msgstr "Por favor, elige tu contraseña." msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed." msgstr "Por favor, confirma tu correo electrónico antes de cambiarlo. Se trata de un requisito temporal mientras se añaden herramientas de actualización de correo electrónico, y pronto se eliminará." -#: src/view/com/modals/AddAppPasswords.tsx:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Introduce un nombre único para la contraseña de esta app o utiliza una generada aleatoriamente." @@ -1589,7 +2470,7 @@ msgstr "Introduce un nombre único para la contraseña de esta app o utiliza una msgid "Please enter your email." msgstr "Introduce tu correo electrónico." -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "Introduce tu contraseña, también:" @@ -1598,17 +2479,51 @@ msgstr "Introduce tu contraseña, también:" msgid "Please tell us why you think this content warning was incorrectly applied!" msgstr "Por favor, dinos por qué crees que esta advertencia de contenido se ha aplicado incorrectamente!" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "Por favor, espera a que tu tarjeta de enlace termine de cargarse" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "Publicación" +#~ msgid "Post" +#~ msgstr "Publicación" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "Publicación oculta" @@ -1620,7 +2535,7 @@ msgstr "Lenguaje de la publicación" msgid "Post Languages" msgstr "Lenguajes de la publicación" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "Publicación no encontrada" @@ -1628,7 +2543,11 @@ msgstr "Publicación no encontrada" msgid "Posts" msgstr "Publicaciones" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Enlace potencialmente engañoso" @@ -1644,30 +2563,35 @@ msgstr "Lenguajes primarios" msgid "Prioritize Your Follows" msgstr "Priorizar los usuarios a los que sigue" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "Privacidad" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "PolÃtica de privacidad" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "Procesando..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "Perfil" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "Protege tu cuenta verificando tu correo electrónico." @@ -1679,14 +2603,31 @@ msgstr "Listas públicas y compartibles de usuarios para silenciar o bloquear en msgid "Public, shareable lists which can drive feeds." msgstr "Listas públicas y compartibles que pueden impulsar las noticias." -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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 "Citar una publicación" -#: src/view/com/modals/Repost.tsx:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "Citar una publicación" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "Citar una publicación" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1706,7 +2647,7 @@ msgstr "Usuarios recomendados" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1720,13 +2661,16 @@ msgstr "¿Eliminar {0} de mis canales de noticias?" msgid "Remove account" msgstr "Eliminar la cuenta" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "Eliminar el canal de noticias" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "Eliminar de mis canales de noticias" @@ -1738,11 +2682,15 @@ msgstr "Eliminar la imagen" msgid "Remove image preview" msgstr "Eliminar la vista previa de la imagen" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "¿Eliminar este canal de mis canales de noticias?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "¿Eliminar este canal de mis canales de noticias guardados?" @@ -1751,6 +2699,15 @@ msgstr "¿Eliminar este canal de mis canales de noticias guardados?" msgid "Removed from list" msgstr "Eliminar de la lista" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "Respuestas" @@ -1759,31 +2716,50 @@ msgstr "Respuestas" msgid "Replies to this thread are disabled" msgstr "Las respuestas a este hilo están desactivadas" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "Filtros de respuestas" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "Informe de {collectionName}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "Informe de la cuenta" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "Informe del canal de noticias" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "Informe de la lista" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" msgstr "Informe de la publicación" +#: 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 "Volver a publicar" @@ -1797,12 +2773,28 @@ msgstr "Volver a publicar o citar publicación" msgid "Reposted by" msgstr "Vuelto a publicar por" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" msgstr "Solicitar un cambio" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "" @@ -1810,45 +2802,77 @@ msgstr "" msgid "Required for this provider" msgstr "Requerido para este proveedor" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "Restablecer el código" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "Restablecer el estado de incorporación" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "Restablecer la contraseña" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "Restablecer el estado de preferencias" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "Restablece el estado de incorporación" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "Restablecer el estado de preferencias" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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 "Volver a intentar" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "Guardar" @@ -1856,7 +2880,7 @@ msgstr "Guardar" msgid "Save alt text" msgstr "Guardar el texto alt" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "Guardar cambios" @@ -1872,9 +2896,25 @@ msgstr "Guardar el recorte de imagen" msgid "Saved Feeds" msgstr "Guardar canales de noticias" +#: 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -1887,6 +2927,7 @@ msgstr "Buscar" #: src/view/com/auth/LoggedOut.tsx:104 #: src/view/com/auth/LoggedOut.tsx:105 +#: src/view/com/modals/ListAddRemoveUsers.tsx:70 msgid "Search for users" msgstr "Buscar usuarios" @@ -1894,10 +2935,18 @@ msgstr "Buscar usuarios" msgid "Security Step Required" msgstr "Se requiere un paso de seguridad" +#: src/view/screens/SavedFeeds.tsx:163 +msgid "See this guide" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" msgstr "Ver lo que sigue" +#: src/view/com/util/Selector.tsx:106 +msgid "Select {item}" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Seleccionar Bluesky Social" @@ -1906,6 +2955,10 @@ msgstr "Seleccionar Bluesky Social" msgid "Select from an existing account" msgstr "Selecciona de una cuenta existente" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Selecciona el servicio" @@ -1922,7 +2975,8 @@ msgstr "Selecciona el idioma de tu app para el texto que se mostrará por defect msgid "Select your preferred language for translations in your feed." msgstr "Selecciona el idioma que prefieras para las traducciones de tus noticias." -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "Enviar el mensaje de confirmación" @@ -1930,9 +2984,14 @@ msgstr "Enviar el mensaje de confirmación" msgid "Send email" msgstr "Enviar el mensaje" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "Enviar el mensaje" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "Enviar el mensaje" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -1943,19 +3002,49 @@ msgstr "Enviar comentarios" msgid "Send Report" msgstr "Enviar el informe" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "Establecer la contraseña nueva" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "Establece este ajuste en \"No\" para ocultar todas las publicaciones de citas de tus noticias. Las repeticiones seguirán siendo visibles." -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "Establece este ajuste en \"No\" para ocultar todas las respuestas de tus noticias." -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "Establece este ajuste en \"No\" para ocultar todas las veces que se han vuelto a publicar desde tus noticias." @@ -1963,14 +3052,35 @@ msgstr "Establece este ajuste en \"No\" para ocultar todas las veces que se han msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "Establece este ajuste en \"SÃ\" para mostrar las respuestas en una vista de hilos. Se trata de una función experimental." -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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 "Establece este ajuste en \"SÃ\" para mostrar muestras de tus noticias guardadas en tu siguiente canal de noticias. Se trata de una función experimental." -#: src/view/screens/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "Configuraciones" @@ -1978,21 +3088,32 @@ msgstr "Configuraciones" msgid "Sexual activity or erotic nudity." msgstr "Actividad sexual o desnudez erótica." -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "Compartir" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "Compartir las noticias" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "Mostrar" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "Mostrar de todas maneras" @@ -2001,15 +3122,25 @@ msgstr "Mostrar de todas maneras" msgid "Show embeds from {0}" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "Mostrar publicaciones de mis noticias" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "Mostrar publicaciones de citas" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "Mostrar respuestas" @@ -2017,14 +3148,31 @@ msgstr "Mostrar respuestas" msgid "Show replies by people you follow before all other replies." msgstr "Mostrar las respuestas de las personas a quienes sigues antes que el resto de respuestas." -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "Mostrar publicaciones que se han publicado nuevamente" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "Mostrar usuarios" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2059,7 +3207,9 @@ msgid "Sign into" msgstr "Iniciar sesión en" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Cerrar sesión" @@ -2083,14 +3233,34 @@ msgstr "RegÃstrate o inicia sesión para unirte a la conversación" msgid "Sign-in Required" msgstr "Se requiere iniciar sesión" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Se inició sesión como" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "Saltarse este paso" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "Clasificar respuestas" @@ -2108,11 +3278,19 @@ msgstr "Cuadrado" msgid "Staging" msgstr "Puesta en escena" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "Página de estado" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Libro de cuentos" @@ -2120,28 +3298,59 @@ msgstr "Libro de cuentos" msgid "Submit" msgstr "Enviar" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "Suscribirse" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "Suscribirse a esta lista" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "Usuarios sugeridos a seguir" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "Soporte" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "Cambiar a otra cuenta" -#: src/view/screens/Settings.tsx:679 +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" + +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "Bitácora del sistema" @@ -2149,11 +3358,16 @@ msgstr "Bitácora del sistema" msgid "Tall" msgstr "Alto" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "Condiciones" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2164,7 +3378,7 @@ msgstr "Condiciones de servicio" msgid "Text input field" msgstr "Campo de introducción de texto" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "La cuenta podrá interactuar contigo tras el desbloqueo." @@ -2176,7 +3390,7 @@ msgstr "Las Directrices Comunitarias se ha trasladado a <0/>" msgid "The Copyright Policy has been moved to <0/>" msgstr "La PolÃtica de derechos de autor se han trasladado a <0/>" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "Es posible que se haya borrado la publicación." @@ -2185,13 +3399,86 @@ msgid "The Privacy Policy has been moved to <0/>" msgstr "La PolÃtica de privacidad se ha trasladado 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 "Se ha movido el formulario de soporte. Si necesitas ayuda, por favor<0/> o visita {HELP_DESK_URL} para ponerte en contacto con nosotros." +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 "" + +#: 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 "Se ha movido el formulario de soporte. Si necesitas ayuda, por favor<0/> o visita {HELP_DESK_URL} para ponerte en contacto con nosotros." #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "Las condiciones de servicio se han trasladado a" +#: src/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "Se ha producido un problema inesperado en la aplicación. Por favor, ¡avÃsanos si te ha ocurrido esto!" @@ -2208,19 +3495,33 @@ msgstr "Esta cuenta ha solicitado que los usuarios inicien sesión para ver su p msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "Este contenido no se puede ver sin una cuenta Bluesky." -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: src/view/com/posts/FeedErrorMessage.tsx:114 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." msgstr "Este canal de noticias está recibiendo mucho tráfico y no está disponible temporalmente. Vuelve a intentarlo más tarde." +#: src/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +msgid "This feed is empty!" +msgstr "" + +#: 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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "Esta información no se comparte con otros usuarios." -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "Esto es importante por si alguna vez necesitas cambiar tu correo electrónico o restablecer tu contraseña." @@ -2228,24 +3529,44 @@ msgstr "Esto es importante por si alguna vez necesitas cambiar tu correo electrà msgid "This is the service that keeps you online." msgstr "Es el servicio que te mantiene en lÃnea." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "Este enlace te lleva al siguiente sitio web:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "Esta publicación ha sido eliminada." +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "Esta advertencia sólo está disponible para las publicaciones con medios adjuntos." -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "Esto ocultará esta entrada de tus contenidos." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "Preferencias de hilos" @@ -2253,7 +3574,11 @@ msgstr "Preferencias de hilos" msgid "Threaded Mode" msgstr "Modo con hilos" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "Conmutar el menú desplegable" @@ -2261,60 +3586,100 @@ msgstr "Conmutar el menú desplegable" msgid "Transformations" msgstr "Transformaciones" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "Traducir" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "Intentar nuevamente" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "Intentar nuevamente" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "Desbloquear una lista" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "Desactivar la opción de silenciar la lista" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "No se puede contactar con tu servicio. Comprueba tu conexión a Internet." -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "Desbloquear" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 msgid "Unblock Account" msgstr "Desbloquear una cuenta" +#: 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 "Deshacer esta publicación" +#: src/view/com/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Lamentablemente, no cumples los requisitos para crear una cuenta." -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "Desactivar la opción de silenciar la cuenta" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "Desactivar la opción de silenciar el hilo" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "Desanclar la lista de moderación" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "Actualizar {displayName} en Listas" @@ -2323,34 +3688,83 @@ msgstr "Actualizar {displayName} en Listas" msgid "Update Available" msgstr "Actualización disponible" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "Actualizando..." -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "Carga un archivo de texto en:" -#: src/view/screens/AppPasswords.tsx:194 +#: 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 "Utiliza las contraseñas de la app para iniciar sesión en otros clientes Bluesky sin dar acceso completo a tu cuenta o contraseña." -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "Utiliza un proveedor predeterminado" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "UtilÃzalo para iniciar sesión en la otra aplicación junto con tu identificador." -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "Usado por:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "Identificador del usuario" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "Listas de usuarios" @@ -2360,7 +3774,7 @@ msgstr "Listas de usuarios" msgid "Username or email address" msgstr "Nombre de usuario o dirección de correo electrónico" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "Usuarios" @@ -2372,15 +3786,15 @@ msgstr "usuarios seguidos por <0/>" msgid "Users in \"{0}\"" msgstr "Usuarios en «{0}»" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "Verificar el correo electrónico" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "Verificar mi correo electrónico" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "Verificar mi correo electrónico" @@ -2389,22 +3803,54 @@ msgstr "Verificar mi correo electrónico" msgid "Verify New Email" msgstr "Verificar el correo electrónico nuevo" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "Ver entrada de depuración" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "Ver el avatar" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Visitar el sitio" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "¡Nos hace mucha ilusión que te unas a nosotros!" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "Lo sentimos, pero no se ha podido completar tu búsqueda. Vuelve a intentarlo dentro de unos minutos." @@ -2422,6 +3868,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "¿Cuál es el problema con esta {collectionName}?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "¿Qué hay de nuevo?" @@ -2442,23 +3889,30 @@ msgstr "Quién puede responder" msgid "Wide" msgstr "Ancho" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "Redactar una publicación" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "Redactar tu respuesta" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "SÃ" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "Puedes cambiar de proveedor de alojamiento en cualquier momento." @@ -2468,7 +3922,7 @@ msgstr "Puedes cambiar de proveedor de alojamiento en cualquier momento." msgid "You can now sign in with your new password." msgstr "Ahora puedes iniciar sesión con tu nueva contraseña." -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 "¡Aún no tienes códigos de invitación! Te enviaremos algunos cuando lleves un poco más de tiempo en Bluesky." @@ -2476,7 +3930,7 @@ msgstr "¡Aún no tienes códigos de invitación! Te enviaremos algunos cuando l msgid "You don't have any pinned feeds." msgstr "No tienes ninguna noticia anclada." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "¡No tienes ninguna noticia guardada!" @@ -2484,16 +3938,24 @@ msgstr "¡No tienes ninguna noticia guardada!" msgid "You don't have any saved feeds." msgstr "No tienes ninguna noticia guardada." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "Has bloqueado al autor o has sido bloqueado por el autor." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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 "No tienes noticias." #: src/view/com/lists/MyLists.tsx:89 -#: src/view/com/lists/ProfileLists.tsx:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "No tienes listas." @@ -2501,7 +3963,7 @@ msgstr "No tienes listas." 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 "Aún no has bloqueado ninguna cuenta. Para bloquear una cuenta, ve a su perfil y selecciona \"Bloquear cuenta\" en el menú de su cuenta." -#: src/view/screens/AppPasswords.tsx:86 +#: 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 "Aún no has creado ninguna contraseña de aplicación. Puedes crear una pulsando el botón de abajo." @@ -2509,23 +3971,48 @@ msgstr "Aún no has creado ninguna contraseña de aplicación. Puedes crear una 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 "Aún no has silenciado ninguna cuenta. Para silenciar una cuenta, ve a su perfil y selecciona \"Silenciar cuenta\" en el menú de su cuenta." +#: src/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." msgstr "Recibirás un correo electrónico con un \"código de restablecimiento\". Introduce ese código aquà y, a continuación, introduce tu nueva contraseña." +#: 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/Step2.tsx:58 msgid "Your account" msgstr "Tu cuenta" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 msgid "Your birth date" msgstr "Tu fecha de nacimiento" +#: src/view/com/modals/InAppBrowserConsent.tsx:47 +msgid "Your choice will be saved, but can be changed later in settings." +msgstr "" + #: src/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Tu correo electrónico parece no ser válido." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "¡Hemos guardado tu correo electrónico! Pronto nos pondremos en contacto contigo." @@ -2533,33 +4020,50 @@ msgstr "¡Hemos guardado tu correo electrónico! Pronto nos pondremos en contact msgid "Your email has been updated but not verified. As a next step, please verify your new email." msgstr "Tu correo electrónico ha sido actualizado pero no verificado. Como siguiente paso, verifica tu nuevo correo electrónico." -#: src/view/com/modals/VerifyEmail.tsx:108 +#: 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 "Tu correo electrónico aún no ha sido verificado. Este es un paso de seguridad importante que te recomendamos." +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "Tu identificador completo será" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "Tu proveedor de alojamiento" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Tus códigos de invitación están ocultos cuando inicias sesión con una contraseña de la app" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "Tus publicaciones, Me gustas y bloqueos son públicos. Las cuentas silenciadas son privadas." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Tu perfil" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Tu identificador del usuario" diff --git a/src/locale/locales/fr/messages.po b/src/locale/locales/fr/messages.po index 4671b6e88..305336c0e 100644 --- a/src/locale/locales/fr/messages.po +++ b/src/locale/locales/fr/messages.po @@ -22,7 +22,7 @@ msgid "{0, plural, one {# invite code available} other {# invite codes available msgstr "{0, plural, one {# code d’invitation disponible} other {# codes d’invitations disponibles}}" #: src/view/com/modals/CreateOrEditList.tsx:185 -#: src/view/screens/Settings.tsx:287 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" @@ -32,15 +32,15 @@ msgstr "{following} abonnements" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" -msgstr "{invitesAvailable, plural, one {Code d’invitation : # disponible} other {Codes d’invitation : # disponibles}}" +msgstr "{invitesAvailable, plural, one {Code d’invitation : # disponible} other {Codes d’invitation : # disponibles}}" -#: src/view/screens/Settings.tsx:422 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:664 msgid "{invitesAvailable} invite code available" msgstr "{invitesAvailable} code d’invitation disponible" -#: src/view/screens/Settings.tsx:424 -#: src/view/shell/Drawer.tsx:663 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:666 msgid "{invitesAvailable} invite codes available" msgstr "{invitesAvailable} codes d’invitation disponibles" @@ -48,7 +48,7 @@ msgstr "{invitesAvailable} codes d’invitation disponibles" msgid "{message}" msgstr "{message}" -#: src/view/shell/Drawer.tsx:440 +#: src/view/shell/Drawer.tsx:443 msgid "{numUnreadNotifications} unread" msgstr "{numUnreadNotifications} non lus" @@ -93,17 +93,17 @@ msgstr "Une nouvelle version de l’application est disponible. Veuillez faire l msgid "Access navigation links and settings" msgstr "Accède aux liens de navigation et aux paramètres" -#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +#: src/view/com/pager/FeedsTabBarMobile.tsx:83 msgid "Access profile and other navigation links" msgstr "Accède au profil et aux autres liens de navigation" #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "Accessibilité" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:301 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Compte" @@ -154,8 +154,8 @@ msgstr "Ajouter un avertissement sur le contenu" msgid "Add a user to this list" msgstr "Ajouter un compte à cette liste" -#: src/view/screens/Settings.tsx:370 -#: src/view/screens/Settings.tsx:379 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Ajouter un compte" @@ -180,17 +180,17 @@ msgstr "Ajouter des détails" msgid "Add details to report" msgstr "Ajouter des détails au rapport" -#: src/view/com/composer/Composer.tsx:445 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Ajouter une carte de lien" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" -msgstr "Ajouter une carte de lien :" +msgstr "Ajouter une carte de lien :" #: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" -msgstr "Ajoutez l’enregistrement DNS suivant à votre domaine :" +msgstr "Ajoutez l’enregistrement DNS suivant à votre domaine :" #: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" @@ -226,7 +226,7 @@ msgstr "Contenu pour adultes" msgid "Adult content can only be enabled via the Web at <0/>." msgstr "Le contenu pour adultes ne peut être activé que via le Web à <0/>." -#: src/view/screens/Settings.tsx:617 +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Avancé" @@ -280,11 +280,11 @@ msgstr "Les noms de mots de passe d’application ne peuvent contenir que des le msgid "App Password names must be at least 4 characters long." msgstr "Les noms de mots de passe d’application doivent comporter au moins 4 caractères." -#: src/view/screens/Settings.tsx:628 +#: src/view/screens/Settings.tsx:641 msgid "App password settings" msgstr "Paramètres de mot de passe d’application" -#: src/view/screens/Settings.tsx:637 +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "Mots de passe d’application" @@ -309,25 +309,29 @@ msgstr "Faire appel de cette décision" msgid "Appeal this decision." msgstr "Faire appel de cette décision." -#: src/view/screens/Settings.tsx:447 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "Affichage" #: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" -msgstr "Êtes-vous sûr de vouloir supprimer le mot de passe de l’application « {name} » ?" +msgstr "Êtes-vous sûr de vouloir supprimer le mot de passe de l’application « {name} » ?" -#: src/view/com/composer/Composer.tsx:142 +#: src/view/com/composer/Composer.tsx:143 msgid "Are you sure you'd like to discard this draft?" -msgstr "Êtes-vous sûr de vouloir rejeter ce brouillon ?" +msgstr "Êtes-vous sûr de vouloir rejeter ce brouillon ?" #: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" -msgstr "Vous confirmez ?" +msgstr "Vous confirmez ?" #: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." -msgstr "Vous confirmez ? Cela ne pourra pas être annulé." +msgstr "Vous confirmez ? Cela ne pourra pas être annulé." + +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." @@ -338,7 +342,7 @@ msgctxt "action" msgid "Back" msgstr "Retour" -#: src/view/com/auth/create/CreateAccount.tsx:141 +#: src/view/com/auth/create/CreateAccount.tsx:142 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 #: src/view/com/auth/login/ForgotPasswordForm.tsx:170 #: src/view/com/auth/login/LoginForm.tsx:256 @@ -352,18 +356,18 @@ msgstr "Retour" msgid "Back" msgstr "Arrière" -#: src/view/screens/Settings.tsx:476 +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "Principes de base" -#: src/view/com/auth/create/Step2.tsx:156 +#: src/view/com/auth/create/Step1.tsx:194 #: src/view/com/modals/BirthDateSettings.tsx:73 msgid "Birthday" msgstr "Date de naissance" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" -msgstr "Date de naissance :" +msgstr "Date de naissance :" #: src/view/com/profile/ProfileHeader.tsx:286 #: src/view/com/profile/ProfileHeader.tsx:393 @@ -380,12 +384,13 @@ msgstr "Liste de blocage" #: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" -msgstr "Bloquer ces comptes ?" +msgstr "Bloquer ces comptes ?" #: src/view/screens/ProfileList.tsx:319 msgid "Block this List" msgstr "Bloquer cette liste" +#: src/view/com/lists/ListCard.tsx:109 #: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 msgid "Blocked" msgstr "Bloqué" @@ -450,7 +455,7 @@ msgstr "Bluesky n’affichera pas votre profil et vos messages à des personnes msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:768 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Version Build {0} {1}" @@ -492,19 +497,21 @@ msgstr "Ne peut contenir que des lettres, des chiffres, des espaces, des tirets #: src/view/com/modals/Confirm.tsx:91 #: src/view/com/modals/CreateOrEditList.tsx:293 #: src/view/com/modals/DeleteAccount.tsx:152 -#: src/view/com/modals/DeleteAccount.tsx:227 +#: src/view/com/modals/DeleteAccount.tsx:230 msgctxt "action" msgid "Cancel" msgstr "Annuler" -#: src/view/com/composer/Composer.tsx:299 -#: src/view/com/composer/Composer.tsx:304 +#: 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/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 #: src/view/com/modals/EditProfile.tsx:249 -#: src/view/com/modals/LinkWarning.tsx:85 +#: 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 @@ -515,7 +522,7 @@ msgid "Cancel" msgstr "Annuler" #: src/view/com/modals/DeleteAccount.tsx:148 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Annuler la suppression de compte" @@ -544,13 +551,13 @@ msgstr "Annuler la recherche" msgid "Cancel waitlist signup" msgstr "Annuler l’inscription sur la liste d’attente" -#: src/view/screens/Settings.tsx:321 +#: src/view/screens/Settings.tsx:334 msgctxt "action" msgid "Change" msgstr "Modifier" -#: src/view/screens/Settings.tsx:649 -#: src/view/screens/Settings.tsx:658 +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Modifier le pseudo" @@ -562,6 +569,10 @@ msgstr "Modifier le pseudo" msgid "Change my email" msgstr "Modifier mon e-mail" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Modifier votre e-mail" @@ -576,13 +587,13 @@ msgstr "Consultez quelques comptes recommandés. Suivez-les pour voir des person #: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" -msgstr "Consultez votre boîte de réception, vous avez du recevoir un e-mail contenant un code de confirmation à saisir ci-dessous :" +msgstr "Consultez votre boîte de réception, vous avez du recevoir un e-mail contenant un code de confirmation à saisir ci-dessous :" #: src/view/com/modals/Threadgate.tsx:72 msgid "Choose \"Everybody\" or \"Nobody\"" -msgstr "Choisir « Tout le monde » ou « Personne »" +msgstr "Choisir « Tout le monde » ou « Personne »" -#: src/view/screens/Settings.tsx:650 +#: src/view/screens/Settings.tsx:663 msgid "Choose a new Bluesky username or create" msgstr "Choisir un nouveau pseudo Bluesky ou en créer un" @@ -595,25 +606,25 @@ msgstr "Choisir un service" msgid "Choose the algorithms that power your experience with custom feeds." msgstr "Choisissez les algorithmes qui alimentent votre expérience avec des fils d’actualité personnalisés." -#: src/view/com/auth/create/Step2.tsx:127 +#: src/view/com/auth/create/Step1.tsx:163 msgid "Choose your password" msgstr "Choisissez votre mot de passe" -#: src/view/screens/Settings.tsx:743 -#: src/view/screens/Settings.tsx:744 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "Effacer toutes les données de stockage existantes" -#: src/view/screens/Settings.tsx:746 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "Effacer toutes les données de stockage existantes (redémarrer ensuite)" -#: src/view/screens/Settings.tsx:755 -#: src/view/screens/Settings.tsx:756 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "Effacer toutes les données de stockage" -#: src/view/screens/Settings.tsx:758 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "Effacer toutes les données de stockage (redémarrer ensuite)" @@ -626,6 +637,10 @@ msgstr "Effacer la recherche" msgid "click here" msgstr "cliquez ici" +#: src/components/Dialog/index.web.tsx:78 +msgid "Close active dialog" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Fermer l’alerte" @@ -642,11 +657,11 @@ msgstr "Fermer l’image" msgid "Close image viewer" msgstr "Fermer la visionneuse d’images" -#: src/view/shell/index.web.tsx:49 +#: src/view/shell/index.web.tsx:51 msgid "Close navigation footer" msgstr "Fermer le pied de page de navigation" -#: src/view/shell/index.web.tsx:50 +#: src/view/shell/index.web.tsx:52 msgid "Closes bottom navigation bar" msgstr "Ferme la barre de navigation du bas" @@ -654,7 +669,7 @@ msgstr "Ferme la barre de navigation du bas" msgid "Closes password update alert" msgstr "Ferme la notification de mise à jour du mot de passe" -#: src/view/com/composer/Composer.tsx:301 +#: src/view/com/composer/Composer.tsx:302 msgid "Closes post composer and discards post draft" msgstr "Ferme la fenêtre de rédaction et supprime le brouillon" @@ -671,7 +686,7 @@ msgstr "Réduit la liste des comptes pour une notification donnée" msgid "Community Guidelines" msgstr "Directives communautaires" -#: src/view/com/composer/Composer.tsx:416 +#: src/view/com/composer/Composer.tsx:417 msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" msgstr "Permet d’écrire des messages de {MAX_GRAPHEME_LENGTH} caractères maximum" @@ -685,6 +700,7 @@ msgctxt "action" msgid "Confirm" msgstr "Confirmer" +#: 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 @@ -703,7 +719,7 @@ msgstr "Confirmer le changement" msgid "Confirm content language settings" msgstr "Confirmer les paramètres de langue" -#: src/view/com/modals/DeleteAccount.tsx:213 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Confirmer la suppression du compte" @@ -721,11 +737,15 @@ msgstr "Code de confirmation" msgid "Confirms signing up {email} to the waitlist" msgstr "Confirme l’inscription de {email} sur la liste d’attente" -#: src/view/com/auth/create/CreateAccount.tsx:174 +#: src/view/com/auth/create/CreateAccount.tsx:175 #: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "Connexion…" +#: src/view/com/auth/create/CreateAccount.tsx:195 +msgid "Contact support" +msgstr "" + #: src/view/screens/Moderation.tsx:81 msgid "Content filtering" msgstr "Filtrage du contenu" @@ -762,7 +782,7 @@ msgstr "Continuer" msgid "Copied" msgstr "Copié" -#: src/view/screens/Settings.tsx:236 +#: src/view/screens/Settings.tsx:243 msgid "Copied build version to clipboard" msgstr "Version de build copiée dans le presse-papier" @@ -815,11 +835,11 @@ msgstr "Impossible de charger la liste" msgid "Create a new account" msgstr "Créer un nouveau compte" -#: src/view/screens/Settings.tsx:371 +#: src/view/screens/Settings.tsx:384 msgid "Create a new Bluesky account" msgstr "Créer un compte Bluesky" -#: src/view/com/auth/create/CreateAccount.tsx:121 +#: src/view/com/auth/create/CreateAccount.tsx:122 msgid "Create Account" msgstr "Créer un compte" @@ -844,7 +864,7 @@ msgstr "Créée par <0/>" msgid "Created by you" msgstr "Créée par vous" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:448 msgid "Creates a card with a thumbnail. The card links to {url}" msgstr "Crée une carte avec une miniature. La carte pointe vers {url}" @@ -857,11 +877,11 @@ msgstr "Domaine personnalisé" msgid "Customize media from external sites." msgstr "Personnaliser les médias provenant de sites externes." -#: src/view/screens/Settings.tsx:663 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Zone de danger" -#: src/view/screens/Settings.tsx:466 +#: src/view/screens/Settings.tsx:479 msgid "Dark" msgstr "Sombre" @@ -870,14 +890,14 @@ msgid "Dark mode" msgstr "Mode sombre" #: src/Navigation.tsx:204 -msgid "Debug" -msgstr "Débug" +#~ msgid "Debug" +#~ msgstr "Débug" #: src/view/screens/Debug.tsx:83 msgid "Debug panel" msgstr "Panneau de débug" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Supprimer le compte" @@ -895,11 +915,11 @@ msgstr "Supprimer le mot de passe de l’appli" msgid "Delete List" msgstr "Supprimer la liste" -#: src/view/com/modals/DeleteAccount.tsx:216 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Supprimer mon compte" -#: src/view/screens/Settings.tsx:682 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Supprimer mon compte…" @@ -909,7 +929,7 @@ msgstr "Supprimer le post" #: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" -msgstr "Supprimer ce post ?" +msgstr "Supprimer ce post ?" #: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 msgid "Deleted" @@ -927,22 +947,22 @@ msgid "Description" msgstr "Description" #: src/view/com/auth/create/Step1.tsx:96 -msgid "Dev Server" -msgstr "Serveur de dév" +#~ msgid "Dev Server" +#~ msgstr "Serveur de dév" -#: src/view/screens/Settings.tsx:687 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "Outils de dév" -#: src/view/com/composer/Composer.tsx:210 +#: src/view/com/composer/Composer.tsx:211 msgid "Did you want to say anything?" -msgstr "Vous vouliez dire quelque chose ?" +msgstr "Vous vouliez dire quelque chose ?" -#: src/view/com/composer/Composer.tsx:143 +#: src/view/com/composer/Composer.tsx:144 msgid "Discard" msgstr "Ignorer" -#: src/view/com/composer/Composer.tsx:137 +#: src/view/com/composer/Composer.tsx:138 msgid "Discard draft" msgstr "Ignorer le brouillon" @@ -969,11 +989,11 @@ msgstr "Afficher le nom" #: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" -msgstr "Domaine vérifié !" +msgstr "Domaine vérifié !" -#: src/view/com/auth/create/Step2.tsx:83 +#: src/view/com/auth/create/Step1.tsx:114 msgid "Don't have an invite code?" -msgstr "Pas de code d’invitation ?" +msgstr "Pas de code d’invitation ?" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 #: src/view/com/modals/EditImage.tsx:333 @@ -1088,14 +1108,16 @@ msgstr "Modifier votre nom d’affichage" msgid "Edit your profile description" msgstr "Modifier votre description de profil" -#: src/view/com/auth/create/Step2.tsx:108 +#: src/view/com/auth/create/Step1.tsx:143 +#: src/view/com/auth/create/Step2.tsx:90 +#: src/view/com/auth/create/Step2.tsx:164 #: 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-mail" -#: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/create/Step1.tsx:134 #: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "Adresse e-mail" @@ -1113,9 +1135,9 @@ msgstr "E-mail mis à jour" msgid "Email verified" msgstr "Adresse e-mail vérifiée" -#: src/view/screens/Settings.tsx:305 +#: src/view/screens/Settings.tsx:312 msgid "Email:" -msgstr "E-mail :" +msgstr "E-mail :" #: src/view/com/modals/EmbedConsent.tsx:113 msgid "Enable {0} only" @@ -1150,8 +1172,8 @@ msgid "Enter Confirmation Code" msgstr "Entrer un code de confirmation" #: src/view/com/auth/create/Step1.tsx:71 -msgid "Enter the address of your provider:" -msgstr "Saisissez l’adresse de votre hébergeur :" +#~ msgid "Enter the address of your provider:" +#~ msgstr "Saisissez l’adresse de votre hébergeur :" #: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" @@ -1159,9 +1181,9 @@ msgstr "Entrez le domaine que vous voulez utiliser" #: 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 "Saisissez l’e-mail que vous avez utilisé pour créer votre compte. Nous vous enverrons un « code de réinitialisation » afin changer votre mot de passe." +msgstr "Saisissez l’e-mail que vous avez utilisé pour créer votre compte. Nous vous enverrons un « code de réinitialisation » afin changer votre mot de passe." -#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/auth/create/Step1.tsx:195 #: src/view/com/modals/BirthDateSettings.tsx:74 msgid "Enter your birth date" msgstr "Saisissez votre date de naissance" @@ -1170,7 +1192,7 @@ msgstr "Saisissez votre date de naissance" msgid "Enter your email" msgstr "Entrez votre e-mail" -#: src/view/com/auth/create/Step2.tsx:104 +#: src/view/com/auth/create/Step1.tsx:139 msgid "Enter your email address" msgstr "Entrez votre e-mail" @@ -1182,13 +1204,17 @@ msgstr "Entrez votre nouvel e-mail ci-dessus" msgid "Enter your new email address below." msgstr "Entrez votre nouvelle e-mail ci-dessous." +#: src/view/com/auth/create/Step2.tsx:84 +msgid "Enter your phone number" +msgstr "" + #: src/view/com/auth/login/Login.tsx:99 msgid "Enter your username and password" msgstr "Entrez votre pseudo et votre mot de passe" #: src/view/screens/Search/Search.tsx:105 msgid "Error:" -msgstr "Erreur :" +msgstr "Erreur :" #: src/view/com/modals/Threadgate.tsx:76 msgid "Everybody" @@ -1231,11 +1257,11 @@ msgstr "Les médias externes peuvent permettre à des sites web de collecter des #: src/Navigation.tsx:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:610 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "Préférences sur les médias externes" -#: src/view/screens/Settings.tsx:601 +#: src/view/screens/Settings.tsx:614 msgid "External media settings" msgstr "Préférences sur les médias externes" @@ -1274,7 +1300,7 @@ msgid "Feed Preferences" msgstr "Préférences en matière de fil d’actu" #: src/view/shell/desktop/RightNav.tsx:73 -#: src/view/shell/Drawer.tsx:311 +#: src/view/shell/Drawer.tsx:314 msgid "Feedback" msgstr "Feedback" @@ -1283,8 +1309,8 @@ msgstr "Feedback" #: src/view/screens/Profile.tsx:165 #: 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 +#: src/view/shell/Drawer.tsx:479 +#: src/view/shell/Drawer.tsx:480 msgid "Feeds" msgstr "Fil d’actu" @@ -1444,8 +1470,12 @@ msgstr "Aller à la suite" msgid "Handle" msgstr "Pseudo" +#: src/view/com/auth/create/CreateAccount.tsx:190 +msgid "Having trouble?" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:102 -#: src/view/shell/Drawer.tsx:321 +#: src/view/shell/Drawer.tsx:324 msgid "Help" msgstr "Aide" @@ -1476,7 +1506,7 @@ msgstr "Cacher ce contenu" #: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" -msgstr "Cacher ce post ?" +msgstr "Cacher ce post ?" #: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" @@ -1509,15 +1539,15 @@ msgstr "Hmm, nous n’arrivons pas à trouver ce fil d’actu. Il a peut-être à #: 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 +#: src/view/shell/Drawer.tsx:401 +#: src/view/shell/Drawer.tsx:402 msgid "Home" msgstr "Accueil" #: src/Navigation.tsx:249 -#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/com/pager/FeedsTabBarMobile.tsx:117 #: src/view/screens/PreferencesHomeFeed.tsx:104 -#: src/view/screens/Settings.tsx:496 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "Préférences de fils d’actu de l’accueil" @@ -1527,8 +1557,12 @@ msgstr "Hébergeur" #: src/view/com/auth/create/Step1.tsx:76 #: src/view/com/auth/create/Step1.tsx:81 -msgid "Hosting provider address" -msgstr "Adresse de l’hébergeur" +#~ msgid "Hosting provider address" +#~ msgstr "Adresse de l’hébergeur" + +#: 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" @@ -1571,15 +1605,19 @@ msgstr "Entrez le code envoyé à votre e-mail pour réinitialiser le mot de pas msgid "Input confirmation code for account deletion" msgstr "Entrez le code de confirmation pour supprimer le compte" +#: src/view/com/auth/create/Step1.tsx:144 +msgid "Input email for Bluesky account" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:109 -msgid "Input email for Bluesky waitlist" -msgstr "Entrez l’e-mail pour la liste d’attente de Bluesky" +#~ msgid "Input email for Bluesky waitlist" +#~ msgstr "Entrez l’e-mail pour la liste d’attente de Bluesky" #: src/view/com/auth/create/Step1.tsx:80 -msgid "Input hosting provider address" -msgstr "Entrez l’adresse de l’hébergeur" +#~ msgid "Input hosting provider address" +#~ msgstr "Entrez l’adresse de l’hébergeur" -#: src/view/com/auth/create/Step2.tsx:73 +#: src/view/com/auth/create/Step1.tsx:102 msgid "Input invite code to proceed" msgstr "Entrez le code d’invitation pour continuer" @@ -1591,10 +1629,14 @@ msgstr "Entrez le nom du mot de passe de l’appli" msgid "Input new password" msgstr "Entrez le nouveau mot de passe" -#: src/view/com/modals/DeleteAccount.tsx:196 +#: src/view/com/modals/DeleteAccount.tsx:199 msgid "Input password for account deletion" msgstr "Entrez le mot de passe pour la suppression du compte" +#: src/view/com/auth/create/Step2.tsx:92 +msgid "Input phone number for SMS verification" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:227 msgid "Input the password tied to {identifier}" msgstr "Entrez le mot de passe associé à {identifier}" @@ -1603,6 +1645,10 @@ msgstr "Entrez le mot de passe associé à {identifier}" msgid "Input the username or email address you used at signup" msgstr "Entrez le pseudo ou l’adresse e-mail que vous avez utilisé lors de l’inscription" +#: src/view/com/auth/create/Step2.tsx:166 +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 "Entrez votre e-mail pour vous inscrire sur la liste d’attente de Bluesky" @@ -1623,35 +1669,35 @@ msgstr "Enregistrement de post invalide ou non pris en charge" msgid "Invalid username or password" msgstr "Pseudo ou mot de passe incorrect" -#: src/view/screens/Settings.tsx:398 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "Inviter" #: src/view/com/modals/InviteCodes.tsx:93 -#: src/view/screens/Settings.tsx:386 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "Inviter un ami" -#: src/view/com/auth/create/Step2.tsx:63 -#: src/view/com/auth/create/Step2.tsx:72 +#: src/view/com/auth/create/Step1.tsx:92 +#: src/view/com/auth/create/Step1.tsx:101 msgid "Invite code" msgstr "Code d’invitation" -#: src/view/com/auth/create/state.ts:136 +#: src/view/com/auth/create/state.ts:193 msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "Code d’invitation refusé. Vérifiez que vous l’avez saisi correctement et réessayez." #: src/view/com/modals/InviteCodes.tsx:170 msgid "Invite codes: {0} available" -msgstr "Code d’invitation : {0} disponible" +msgstr "Code d’invitation : {0} disponible" -#: src/view/shell/Drawer.tsx:642 +#: src/view/shell/Drawer.tsx:645 msgid "Invite codes: {invitesAvailable} available" -msgstr "Invitations : {invitesAvailable} codes dispo" +msgstr "Invitations : {invitesAvailable} codes dispo" #: src/view/com/modals/InviteCodes.tsx:169 msgid "Invite codes: 1 available" -msgstr "Invitations : 1 code dispo" +msgstr "Invitations : 1 code dispo" #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" @@ -1661,8 +1707,8 @@ msgstr "Emplois" msgid "Join the waitlist" msgstr "S’inscrire sur la liste d’attente" -#: src/view/com/auth/create/Step2.tsx:86 -#: src/view/com/auth/create/Step2.tsx:90 +#: src/view/com/auth/create/Step1.tsx:118 +#: src/view/com/auth/create/Step1.tsx:122 msgid "Join the waitlist." msgstr "S’inscrire sur la liste d’attente." @@ -1674,7 +1720,7 @@ msgstr "S’inscrire sur la liste d’attente" msgid "Language selection" msgstr "Sélection de la langue" -#: src/view/screens/Settings.tsx:547 +#: src/view/screens/Settings.tsx:560 msgid "Language settings" msgstr "Préférences de langue" @@ -1683,13 +1729,13 @@ msgstr "Préférences de langue" msgid "Language Settings" msgstr "Paramètres linguistiques" -#: src/view/screens/Settings.tsx:556 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Langues" -#: src/view/com/auth/create/StepHeader.tsx:13 +#: src/view/com/auth/create/StepHeader.tsx:20 msgid "Last step!" -msgstr "Dernière étape !" +msgstr "Dernière étape !" #: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" @@ -1717,25 +1763,25 @@ msgstr "En savoir plus sur ce qui est public sur Bluesky." msgid "Leave them all unchecked to see any language." msgstr "Si vous ne cochez rien, toutes les langues s’afficheront." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Quitter Bluesky" -#: src/view/screens/Settings.tsx:273 +#: src/view/screens/Settings.tsx:280 msgid "Legacy storage cleared, you need to restart the app now." msgstr "Stockage ancien effacé, vous devez redémarrer l’application maintenant." #: src/view/com/auth/login/Login.tsx:128 #: src/view/com/auth/login/Login.tsx:144 msgid "Let's get your password reset!" -msgstr "Réinitialisez votre mot de passe !" +msgstr "Réinitialisez votre mot de passe !" #: src/view/com/util/UserAvatar.tsx:245 #: src/view/com/util/UserBanner.tsx:60 msgid "Library" msgstr "Bibliothèque" -#: src/view/screens/Settings.tsx:460 +#: src/view/screens/Settings.tsx:473 msgid "Light" msgstr "Clair" @@ -1816,8 +1862,8 @@ msgstr "Liste démasquée" #: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:492 -#: src/view/shell/Drawer.tsx:493 +#: src/view/shell/Drawer.tsx:495 +#: src/view/shell/Drawer.tsx:496 msgid "Lists" msgstr "Listes" @@ -1857,9 +1903,9 @@ msgstr "Visibilité déconnectée" msgid "Login to account that is not listed" msgstr "Se connecter à un compte qui n’est pas listé" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" -msgstr "Assurez-vous que c’est bien là que vous avez l’intention d’aller !" +msgstr "Assurez-vous que c’est bien là que vous avez l’intention d’aller !" #: src/view/screens/Profile.tsx:163 msgid "Media" @@ -1884,10 +1930,10 @@ msgstr "Message du serveur : {0}" #: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:578 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:511 -#: src/view/shell/Drawer.tsx:512 +#: src/view/shell/Drawer.tsx:514 +#: src/view/shell/Drawer.tsx:515 msgid "Moderation" msgstr "Modération" @@ -1923,7 +1969,7 @@ msgstr "Listes de modération" msgid "Moderation Lists" msgstr "Listes de modération" -#: src/view/screens/Settings.tsx:572 +#: src/view/screens/Settings.tsx:585 msgid "Moderation settings" msgstr "Paramètres de modération" @@ -1963,7 +2009,7 @@ msgstr "Masquer la liste" #: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" -msgstr "Masquer ces comptes ?" +msgstr "Masquer ces comptes ?" #: src/view/screens/ProfileList.tsx:278 msgid "Mute this List" @@ -1973,6 +2019,10 @@ msgstr "Masquer cette liste" msgid "Mute thread" msgstr "Masquer ce fil de discussion" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Comptes masqués" @@ -2002,7 +2052,7 @@ msgstr "Mes fils d’actu" msgid "My Profile" msgstr "Mon profil" -#: src/view/screens/Settings.tsx:535 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Mes fils d’actu enregistrés" @@ -2021,7 +2071,7 @@ msgstr "Le nom est requis" msgid "Navigates to the next screen" msgstr "Navigue vers le prochain écran" -#: src/view/shell/Drawer.tsx:71 +#: src/view/shell/Drawer.tsx:73 msgid "Navigates to your profile" msgstr "Navigue vers votre profil" @@ -2084,7 +2134,7 @@ msgctxt "action" msgid "Next" msgstr "Suivant" -#: src/view/com/auth/create/CreateAccount.tsx:154 +#: src/view/com/auth/create/CreateAccount.tsx:155 #: src/view/com/auth/login/ForgotPasswordForm.tsx:178 #: src/view/com/auth/login/ForgotPasswordForm.tsx:188 #: src/view/com/auth/login/LoginForm.tsx:288 @@ -2118,7 +2168,7 @@ msgstr "Ne suit plus {0}" #: src/view/com/notifications/Feed.tsx:107 msgid "No notifications yet!" -msgstr "Pas encore de notifications !" +msgstr "Pas encore de notifications !" #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 #: src/view/com/composer/text-input/web/Autocomplete.tsx:191 @@ -2127,7 +2177,7 @@ msgstr "Aucun résultat" #: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" -msgstr "Aucun résultat trouvé pour « {query} »" +msgstr "Aucun résultat trouvé pour « {query} »" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 @@ -2160,15 +2210,15 @@ msgstr "Pas maintenant" #: src/view/screens/Moderation.tsx:232 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." -msgstr "Remarque : Bluesky est un réseau ouvert et public. Ce paramètre limite uniquement la visibilité de votre contenu sur l’application et le site Web de Bluesky, et d’autres applications peuvent ne pas respecter ce paramètre. Votre contenu peut toujours être montré aux personnes non connectées par d’autres applications et sites Web." +msgstr "Remarque : Bluesky est un réseau ouvert et public. Ce paramètre limite uniquement la visibilité de votre contenu sur l’application et le site Web de Bluesky, et d’autres applications peuvent ne pas respecter ce paramètre. Votre contenu peut toujours être montré aux personnes non connectées par d’autres applications et sites Web." #: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: 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 +#: src/view/shell/Drawer.tsx:438 +#: src/view/shell/Drawer.tsx:439 msgid "Notifications" msgstr "Notifications" @@ -2178,7 +2228,7 @@ msgstr "Nudité" #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" -msgstr "Oh non !" +msgstr "Oh non !" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:41 msgid "Okay" @@ -2188,11 +2238,11 @@ msgstr "D’accord" msgid "Oldest replies first" msgstr "Plus anciennes réponses en premier" -#: src/view/screens/Settings.tsx:229 +#: src/view/screens/Settings.tsx:236 msgid "Onboarding reset" msgstr "Réinitialiser le didacticiel" -#: src/view/com/composer/Composer.tsx:374 +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Une ou plusieurs images n’ont pas de texte alt." @@ -2204,18 +2254,22 @@ msgstr "Seul {0} peut répondre." #: src/view/com/modals/ProfilePreview.tsx:61 #: src/view/screens/AppPasswords.tsx:65 msgid "Oops!" -msgstr "Oups !" +msgstr "Oups !" -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "Ouvrir le sélecteur d’emoji" -#: src/view/com/pager/FeedsTabBarMobile.tsx:76 +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:81 msgid "Open navigation" msgstr "Navigation ouverte" -#: src/view/screens/Settings.tsx:713 +#: src/view/screens/Settings.tsx:737 msgid "Open storybook page" msgstr "Ouvrir la page Storybook" @@ -2239,7 +2293,7 @@ msgstr "Ouvre l’appareil photo de l’appareil" msgid "Opens composer" msgstr "Ouvre le rédacteur" -#: src/view/screens/Settings.tsx:548 +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Ouvre les paramètres linguistiques configurables" @@ -2251,7 +2305,7 @@ msgstr "Ouvre la galerie de photos de l’appareil" msgid "Opens editor for profile display name, avatar, background image, and description" msgstr "Ouvre l’éditeur pour le nom d’affichage du profil, l’avatar, l’image d’arrière-plan et la description" -#: src/view/screens/Settings.tsx:602 +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "Ouvre les paramètres d’intégration externe" @@ -2263,17 +2317,17 @@ msgstr "Ouvre la liste des comptes abonnés" msgid "Opens following list" msgstr "Ouvre la liste des abonnements" -#: src/view/screens/Settings.tsx:399 +#: src/view/screens/Settings.tsx:412 msgid "Opens invite code list" msgstr "Ouvre la liste des codes d’invitation" #: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:643 +#: src/view/shell/Drawer.tsx:646 msgid "Opens list of invite codes" msgstr "Ouvre la liste des codes d’invitation" -#: src/view/screens/Settings.tsx:672 +#: src/view/screens/Settings.tsx:696 msgid "Opens modal for account deletion confirmation. Requires email code." msgstr "Ouvre la fenêtre modale pour confirmer la suppression du compte. Requiert un code e-mail." @@ -2281,7 +2335,7 @@ msgstr "Ouvre la fenêtre modale pour confirmer la suppression du compte. Requie msgid "Opens modal for using custom domain" msgstr "Ouvre une fenêtre modale pour utiliser un domaine personnalisé" -#: src/view/screens/Settings.tsx:573 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Ouvre les paramètres de modération" @@ -2293,27 +2347,27 @@ msgstr "Ouvre le formulaire de réinitialisation du mot de passe" msgid "Opens screen to edit Saved Feeds" msgstr "Ouvre l’écran pour modifier les fils d’actu enregistrés" -#: src/view/screens/Settings.tsx:529 +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Ouvre l’écran avec tous les fils d’actu enregistrés" -#: src/view/screens/Settings.tsx:629 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Ouvre la page de configuration du mot de passe" -#: src/view/screens/Settings.tsx:488 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Ouvre les préférences du fil d’accueil" -#: src/view/screens/Settings.tsx:714 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "Ouvre la page de l’historique" -#: src/view/screens/Settings.tsx:694 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Ouvre la page du journal système" -#: src/view/screens/Settings.tsx:509 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Ouvre les préférences relatives aux fils de discussion" @@ -2323,7 +2377,7 @@ msgstr "Option {0} sur {numItems}" #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" -msgstr "Ou une combinaison de ces options :" +msgstr "Ou une combinaison de ces options :" #: src/view/com/auth/login/ChooseAccountForm.tsx:138 msgid "Other account" @@ -2342,11 +2396,11 @@ msgstr "Autre…" msgid "Page not found" msgstr "Page introuvable" -#: src/view/com/auth/create/Step2.tsx:122 -#: src/view/com/auth/create/Step2.tsx:132 +#: 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:132 -#: src/view/com/modals/DeleteAccount.tsx:195 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Mot de passe" @@ -2356,7 +2410,7 @@ msgstr "Mise à jour du mot de passe" #: src/view/com/auth/login/PasswordUpdatedForm.tsx:28 msgid "Password updated!" -msgstr "Mot de passe mis à jour !" +msgstr "Mot de passe mis à jour !" #: src/Navigation.tsx:162 msgid "People followed by @{0}" @@ -2374,6 +2428,10 @@ msgstr "Permission d’accès à la pellicule requise." msgid "Permission to access camera roll was denied. Please enable it in your system settings." msgstr "Permission d’accès à la pellicule refusée. Veuillez l’activer dans les paramètres de votre système." +#: src/view/com/auth/create/Step2.tsx:79 +msgid "Phone number" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "Images destinées aux adultes." @@ -2400,11 +2458,11 @@ msgstr "Lire la vidéo" msgid "Plays the GIF" msgstr "Lit le GIF" -#: src/view/com/auth/create/state.ts:116 +#: src/view/com/auth/create/state.ts:171 msgid "Please choose your handle." msgstr "Veuillez choisir votre pseudo." -#: src/view/com/auth/create/state.ts:109 +#: src/view/com/auth/create/state.ts:154 msgid "Please choose your password." msgstr "Veuillez choisir votre mot de passe." @@ -2416,28 +2474,40 @@ msgstr "Veuillez confirmer votre e-mail avant de le modifier. Ceci est temporair msgid "Please enter a name for your app password. All spaces is not allowed." msgstr "Veuillez entrer un nom pour votre mot de passe d’application. Les espaces ne sont pas autorisés." +#: src/view/com/auth/create/Step2.tsx:102 +msgid "Please enter a phone number that can receive SMS text messages." +msgstr "" + #: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Veuillez saisir un nom unique pour le mot de passe de l’application ou utiliser celui que nous avons généré de manière aléatoire." -#: src/view/com/auth/create/state.ts:95 +#: src/view/com/auth/create/state.ts:164 +msgid "Please enter the code you received by SMS." +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:177 +msgid "Please enter the verification code sent to" +msgstr "" + +#: src/view/com/auth/create/state.ts:140 msgid "Please enter your email." msgstr "Veuillez entrer votre e-mail." -#: src/view/com/modals/DeleteAccount.tsx:184 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" -msgstr "Veuillez également entrer votre mot de passe :" +msgstr "Veuillez également entrer votre mot de passe :" #: 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 "Dites-nous donc pourquoi vous pensez que cet avertissement de contenu a été appliqué à tort !" +msgstr "Dites-nous donc pourquoi vous pensez que cet avertissement de contenu a été appliqué à tort !" #: src/view/com/modals/VerifyEmail.tsx:101 msgid "Please Verify Your Email" msgstr "Veuillez vérifier votre e-mail" -#: src/view/com/composer/Composer.tsx:214 +#: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "Veuillez patienter le temps que votre carte de lien soit chargée" @@ -2445,8 +2515,8 @@ msgstr "Veuillez patienter le temps que votre carte de lien soit chargée" msgid "Porn" msgstr "Porno" -#: src/view/com/composer/Composer.tsx:349 -#: src/view/com/composer/Composer.tsx:357 +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 msgctxt "action" msgid "Post" msgstr "Poster" @@ -2495,7 +2565,7 @@ msgstr "Posts" msgid "Posts hidden" msgstr "Posts cachés" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Lien potentiellement trompeur" @@ -2511,15 +2581,15 @@ msgstr "Langue principale" msgid "Prioritize Your Follows" msgstr "Définissez des priorités de vos suivis" -#: src/view/screens/Settings.tsx:585 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "Vie privée" #: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:800 -#: src/view/shell/Drawer.tsx:262 +#: src/view/screens/Settings.tsx:824 +#: src/view/shell/Drawer.tsx:265 msgid "Privacy Policy" msgstr "Charte de confidentialité" @@ -2529,9 +2599,9 @@ msgstr "Traitement…" #: 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 +#: src/view/shell/Drawer.tsx:72 +#: src/view/shell/Drawer.tsx:549 +#: src/view/shell/Drawer.tsx:550 msgid "Profile" msgstr "Profil" @@ -2539,7 +2609,7 @@ msgstr "Profil" msgid "Profile updated" msgstr "Profil mis à jour" -#: src/view/screens/Settings.tsx:858 +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "Protégez votre compte en vérifiant votre e-mail." @@ -2551,11 +2621,11 @@ msgstr "Listes publiques et partageables de comptes à masquer ou à bloquer." msgid "Public, shareable lists which can drive feeds." msgstr "Les listes publiques et partageables qui peuvent alimenter les fils d’actu." -#: src/view/com/composer/Composer.tsx:334 +#: src/view/com/composer/Composer.tsx:335 msgid "Publish post" msgstr "Publier le post" -#: src/view/com/composer/Composer.tsx:334 +#: src/view/com/composer/Composer.tsx:335 msgid "Publish reply" msgstr "Publier la réponse" @@ -2599,7 +2669,7 @@ msgstr "Supprimer" #: src/view/com/feeds/FeedSourceCard.tsx:106 msgid "Remove {0} from my feeds?" -msgstr "Supprimer {0} de mes fils d’actu ?" +msgstr "Supprimer {0} de mes fils d’actu ?" #: src/view/com/util/AccountDropdownBtn.tsx:22 msgid "Remove account" @@ -2632,11 +2702,11 @@ msgstr "Supprimer le repost" #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" -msgstr "Supprimer ce fil d’actu ?" +msgstr "Supprimer ce fil d’actu ?" #: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" -msgstr "Supprimer ce fil d’actu de vos fils d’actu enregistrés ?" +msgstr "Supprimer ce fil d’actu de vos fils d’actu enregistrés ?" #: src/view/com/modals/ListAddRemoveUsers.tsx:199 #: src/view/com/modals/UserAddRemoveLists.tsx:136 @@ -2660,7 +2730,7 @@ msgstr "Réponses" msgid "Replies to this thread are disabled" msgstr "Les réponses à ce fil de discussion sont désactivées" -#: src/view/com/composer/Composer.tsx:347 +#: src/view/com/composer/Composer.tsx:348 msgctxt "action" msgid "Reply" msgstr "Répondre" @@ -2738,11 +2808,15 @@ msgstr "Reposts de ce post" msgid "Request Change" msgstr "Demande de modification" -#: src/view/screens/Settings.tsx:437 +#: src/view/com/auth/create/Step2.tsx:115 +msgid "Request code" +msgstr "" + +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "Nécessiter un texte alt avant de publier" -#: src/view/com/auth/create/Step2.tsx:68 +#: src/view/com/auth/create/Step1.tsx:97 msgid "Required for this provider" msgstr "Obligatoire pour cet hébergeur" @@ -2751,11 +2825,11 @@ msgstr "Obligatoire pour cet hébergeur" msgid "Reset code" msgstr "Réinitialiser le code" -#: src/view/screens/Settings.tsx:733 +#: src/view/screens/Settings.tsx:757 msgid "Reset onboarding" msgstr "Réinitialiser le didacticiel" -#: src/view/screens/Settings.tsx:736 +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "Réinitialisation du didacticiel" @@ -2763,19 +2837,19 @@ msgstr "Réinitialisation du didacticiel" msgid "Reset password" msgstr "Réinitialiser mot de passe" -#: src/view/screens/Settings.tsx:723 +#: src/view/screens/Settings.tsx:747 msgid "Reset preferences" msgstr "Réinitialiser les préférences" -#: src/view/screens/Settings.tsx:726 +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "Réinitialiser l’état des préférences" -#: src/view/screens/Settings.tsx:734 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "Réinitialise l’état d’accueil" -#: src/view/screens/Settings.tsx:724 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "Réinitialise l’état des préférences" @@ -2788,8 +2862,9 @@ msgstr "Réessaye la connection" msgid "Retries the last action, which errored out" msgstr "Réessaye la dernière action, qui a échoué" -#: src/view/com/auth/create/CreateAccount.tsx:163 -#: src/view/com/auth/create/CreateAccount.tsx:167 +#: src/view/com/auth/create/CreateAccount.tsx:164 +#: src/view/com/auth/create/CreateAccount.tsx:168 +#: src/view/com/auth/create/Step2.tsx:150 #: src/view/com/auth/login/LoginForm.tsx:265 #: src/view/com/auth/login/LoginForm.tsx:268 #: src/view/com/util/error/ErrorMessage.tsx:55 @@ -2797,6 +2872,10 @@ msgstr "Réessaye la dernière action, qui a échoué" msgid "Retry" msgstr "Réessayer" +#: src/view/com/auth/create/Step2.tsx:143 +msgid "Retry." +msgstr "" + #: src/view/screens/ProfileList.tsx:877 msgid "Return to previous page" msgstr "Retourne à la page précédente" @@ -2864,8 +2943,8 @@ msgstr "Remonter en haut" #: src/view/shell/desktop/LeftNav.tsx:324 #: src/view/shell/desktop/Search.tsx:161 #: src/view/shell/desktop/Search.tsx:170 -#: src/view/shell/Drawer.tsx:362 -#: src/view/shell/Drawer.tsx:363 +#: src/view/shell/Drawer.tsx:365 +#: src/view/shell/Drawer.tsx:366 msgid "Search" msgstr "Recherche" @@ -2903,6 +2982,7 @@ msgstr "Sélectionner un compte existant" msgid "Select option {i} of {numItems}" msgstr "Sélectionne l’option {i} sur {numItems}" +#: src/view/com/auth/create/Step1.tsx:77 #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Sélectionner un service" @@ -2933,8 +3013,8 @@ msgctxt "action" msgid "Send Email" msgstr "Envoyer l’e-mail" -#: src/view/shell/Drawer.tsx:295 -#: src/view/shell/Drawer.tsx:316 +#: src/view/shell/Drawer.tsx:298 +#: src/view/shell/Drawer.tsx:319 msgid "Send feedback" msgstr "Envoyer des commentaires" @@ -2956,15 +3036,15 @@ msgctxt "action" msgid "Set Age" msgstr "Enregistrer l’âge" -#: src/view/screens/Settings.tsx:469 +#: src/view/screens/Settings.tsx:482 msgid "Set color theme to dark" msgstr "Change le thème de couleur en sombre" -#: src/view/screens/Settings.tsx:462 +#: src/view/screens/Settings.tsx:475 msgid "Set color theme to light" msgstr "Change le thème de couleur en clair" -#: src/view/screens/Settings.tsx:456 +#: src/view/screens/Settings.tsx:469 msgid "Set color theme to system setting" msgstr "Change le thème de couleur en fonction du paramètre système" @@ -2972,29 +3052,29 @@ msgstr "Change le thème de couleur en fonction du paramètre système" msgid "Set new password" msgstr "Définir un nouveau mot de passe" -#: src/view/com/auth/create/Step2.tsx:133 +#: src/view/com/auth/create/Step1.tsx:169 msgid "Set password" msgstr "Définit le mot de passe" #: 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 "Choisissez « Non » pour cacher toutes les citations sur votre fils d’actu. Les reposts seront toujours visibles." +msgstr "Choisissez « Non » pour cacher toutes les citations sur votre fils d’actu. Les reposts seront toujours visibles." #: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." -msgstr "Choisissez « Non » pour cacher toutes les réponses dans votre fils d’actu." +msgstr "Choisissez « Non » pour cacher toutes les réponses dans votre fils d’actu." #: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." -msgstr "Choisissez « Non » pour cacher toutes les reposts de votre fils d’actu." +msgstr "Choisissez « Non » pour cacher toutes les reposts de votre fils d’actu." #: 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 "Choisissez « Oui » pour afficher les réponses dans un fil de discussion. C’est une fonctionnalité expérimentale." +msgstr "Choisissez « Oui » pour afficher les réponses dans un fil de discussion. C’est une fonctionnalité expérimentale." #: 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 "Choisissez « Oui » pour afficher des échantillons de vos fils d’actu enregistrés dans votre fils d’actu suivant. C’est une fonctionnalité expérimentale." +msgstr "Choisissez « Oui » pour afficher des échantillons de vos fils d’actu enregistrés dans votre fils d’actu suivant. C’est une fonctionnalité expérimentale." #: src/view/com/modals/ChangeHandle.tsx:266 msgid "Sets Bluesky username" @@ -3009,18 +3089,19 @@ msgid "Sets hosting provider for password reset" msgstr "Définit l’hébergeur pour la réinitialisation du mot de passe" #: src/view/com/auth/create/Step1.tsx:143 -msgid "Sets hosting provider to {label}" -msgstr "Définit l’hébergeur à {label}" +#~ msgid "Sets hosting provider to {label}" +#~ msgstr "Définit l’hébergeur à {label}" +#: src/view/com/auth/create/Step1.tsx:78 #: src/view/com/auth/login/LoginForm.tsx:148 msgid "Sets server for the Bluesky client" msgstr "Définit le serveur pour le client Bluesky" #: src/Navigation.tsx:136 -#: src/view/screens/Settings.tsx:287 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:567 -#: src/view/shell/Drawer.tsx:568 +#: src/view/shell/Drawer.tsx:570 +#: src/view/shell/Drawer.tsx:571 msgid "Settings" msgstr "Paramètres" @@ -3046,7 +3127,7 @@ msgstr "Partager le fil d’actu" #: 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:331 +#: src/view/screens/Settings.tsx:344 msgid "Show" msgstr "Afficher" @@ -3148,8 +3229,8 @@ msgstr "Se connecter à " #: src/view/com/modals/SwitchAccount.tsx:64 #: src/view/com/modals/SwitchAccount.tsx:69 -#: src/view/screens/Settings.tsx:102 -#: src/view/screens/Settings.tsx:105 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Déconnexion" @@ -3173,7 +3254,7 @@ msgstr "S’inscrire ou se connecter pour participer à la conversation" msgid "Sign-in Required" msgstr "Connexion requise" -#: src/view/screens/Settings.tsx:342 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Connecté en tant que" @@ -3189,6 +3270,10 @@ msgstr "Déconnecte {0} de Bluesky" msgid "Skip" msgstr "Ignorer" +#: src/view/com/auth/create/Step2.tsx:70 +msgid "SMS verification" +msgstr "" + #: src/view/com/modals/ProfilePreview.tsx:62 msgid "Something went wrong and we're not sure what." msgstr "Quelque chose n’a pas marché, mais on ne sait pas trop quoi." @@ -3197,9 +3282,9 @@ msgstr "Quelque chose n’a pas marché, mais on ne sait pas trop quoi." msgid "Something went wrong. Check your email and try again." msgstr "Quelque chose n’a pas marché. Vérifiez vos e-mails et réessayez." -#: src/App.native.tsx:57 +#: src/App.native.tsx:62 msgid "Sorry! Your session expired. Please log in again." -msgstr "Désolé ! Votre session a expiré. Essayez de vous reconnecter." +msgstr "Désolé ! Votre session a expiré. Essayez de vous reconnecter." #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" @@ -3207,30 +3292,34 @@ msgstr "Trier les réponses" #: src/view/screens/PreferencesThreads.tsx:72 msgid "Sort replies to the same post by:" -msgstr "Trier les réponses au même post par :" +msgstr "Trier les réponses au même post par :" #: src/view/com/modals/crop-image/CropImage.web.tsx:122 msgid "Square" msgstr "Carré" -#: src/view/com/auth/create/Step1.tsx:90 #: src/view/com/modals/ServerInput.tsx:62 msgid "Staging" msgstr "Serveur de test" -#: src/view/screens/Settings.tsx:780 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "État du service" +#: src/view/com/auth/create/StepHeader.tsx:22 +msgid "Step {0} of {numSteps}" +msgstr "" + #: src/view/com/auth/create/StepHeader.tsx:15 -msgid "Step {step} of 3" -msgstr "Étape {step} sur 3" +#~ msgid "Step {step} of 3" +#~ msgstr "Étape {step} sur 3" -#: src/view/screens/Settings.tsx:269 +#: src/view/screens/Settings.tsx:276 msgid "Storage cleared, you need to restart the app now." msgstr "Stockage effacé, vous devez redémarrer l’application maintenant." -#: src/view/screens/Settings.tsx:716 +#: src/Navigation.tsx:204 +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Historique" @@ -3247,8 +3336,8 @@ msgid "Subscribe to this list" msgstr "S’abonner à cette liste" #: src/view/com/lists/ListCard.tsx:101 -msgid "Subscribed" -msgstr "Abonné·e" +#~ msgid "Subscribed" +#~ msgstr "Abonné·e" #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" @@ -3277,20 +3366,20 @@ msgid "Switch Account" msgstr "Changer de compte" #: src/view/com/modals/SwitchAccount.tsx:97 -#: src/view/screens/Settings.tsx:132 +#: src/view/screens/Settings.tsx:137 msgid "Switch to {0}" msgstr "Basculer sur {0}" #: src/view/com/modals/SwitchAccount.tsx:98 -#: src/view/screens/Settings.tsx:133 +#: src/view/screens/Settings.tsx:138 msgid "Switches the account you are logged in to" msgstr "Bascule le compte auquel vous êtes connectés vers" -#: src/view/screens/Settings.tsx:453 +#: src/view/screens/Settings.tsx:466 msgid "System" msgstr "Système" -#: src/view/screens/Settings.tsx:696 +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "Journal système" @@ -3307,9 +3396,9 @@ msgid "Terms" msgstr "Conditions générales" #: src/Navigation.tsx:224 -#: src/view/screens/Settings.tsx:794 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 -#: src/view/shell/Drawer.tsx:256 +#: src/view/shell/Drawer.tsx:259 msgid "Terms of Service" msgstr "Conditions d’utilisation" @@ -3378,7 +3467,7 @@ msgstr "Il y a eu un problème de connexion à votre serveur" msgid "There was an issue fetching notifications. Tap here to try again." msgstr "Il y a eu un problème lors de la récupération des notifications. Appuyez ici pour réessayer." -#: src/view/com/posts/Feed.tsx:261 +#: src/view/com/posts/Feed.tsx:263 msgid "There was an issue fetching posts. Tap here to try again." msgstr "Il y a eu un problème lors de la récupération des posts. Appuyez ici pour réessayer." @@ -3406,7 +3495,7 @@ msgstr "Il y a eu un problème lors de la récupération de vos mots de passe dâ #: src/view/com/profile/ProfileHeader.tsx:297 #: src/view/com/profile/ProfileHeader.tsx:319 msgid "There was an issue! {0}" -msgstr "Il y a eu un problème ! {0}" +msgstr "Il y a eu un problème ! {0}" #: src/view/screens/ProfileList.tsx:287 #: src/view/screens/ProfileList.tsx:306 @@ -3417,11 +3506,15 @@ msgstr "Il y a eu un problème. Veuillez vérifier votre connexion Internet et r #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" -msgstr "Un problème inattendu s’est produit dans l’application. N’hésitez pas à nous faire savoir si cela vous est arrivé !" +msgstr "Un problème inattendu s’est produit dans l’application. N’hésitez pas à nous faire savoir si cela vous est arrivé !" + +#: src/view/com/auth/create/Step2.tsx:47 +msgid "There's something wrong with this number. Please include your country and/or area code!" +msgstr "" #: src/view/com/util/moderation/ScreenHider.tsx:88 msgid "This {screenDescription} has been flagged:" -msgstr "Ce {screenDescription} a été signalé :" +msgstr "Ce {screenDescription} a été signalé :" #: src/view/com/util/moderation/ScreenHider.tsx:83 msgid "This account has requested that users sign in to view their profile." @@ -3429,7 +3522,7 @@ msgstr "Ce compte a demandé aux personnes de se connecter pour voir son profil. #: src/view/com/modals/EmbedConsent.tsx:68 msgid "This content is hosted by {0}. Do you want to enable external media?" -msgstr "Ce contenu est hébergé par {0}. Voulez-vous activer les médias externes ?" +msgstr "Ce contenu est hébergé par {0}. Voulez-vous activer les médias externes ?" #: src/view/com/modals/ModerationDetails.tsx:67 msgid "This content is not available because one of the users involved has blocked the other." @@ -3447,11 +3540,11 @@ msgstr "Ce fil d’actu reçoit actuellement un trafic important, il est tempora #: src/view/screens/ProfileFeed.tsx:484 #: src/view/screens/ProfileList.tsx:639 msgid "This feed is empty!" -msgstr "Ce fil d’actu est vide !" +msgstr "Ce fil d’actu est vide !" #: 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 "Ce fil d’actu est vide ! Vous devriez peut-être suivre plus de comptes ou ajuster vos paramètres de langue." +msgstr "Ce fil d’actu est vide ! Vous devriez peut-être suivre plus de comptes ou ajuster vos paramètres de langue." #: src/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." @@ -3462,16 +3555,16 @@ msgid "This is important in case you ever need to change your email or reset you msgstr "Ceci est important au cas où vous auriez besoin de changer d’e-mail ou de réinitialiser votre mot de passe." #: src/view/com/auth/create/Step1.tsx:55 -msgid "This is the service that keeps you online." -msgstr "C’est le service qui vous permet de rester en ligne." +#~ msgid "This is the service that keeps you online." +#~ msgstr "C’est le service qui vous permet de rester en ligne." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" -msgstr "Ce lien vous conduit au site Web suivant :" +msgstr "Ce lien vous conduit au site Web suivant :" #: src/view/screens/ProfileList.tsx:813 msgid "This list is empty!" -msgstr "Cette liste est vide !" +msgstr "Cette liste est vide !" #: src/view/com/modals/AddAppPasswords.tsx:105 msgid "This name is already in use" @@ -3502,7 +3595,7 @@ msgid "This will hide this post from your feeds." msgstr "Cela va masquer ce post de vos fils d’actu." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:518 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "Préférences des fils de discussion" @@ -3541,7 +3634,7 @@ msgstr "Débloquer la liste" msgid "Un-mute list" msgstr "Réafficher cette liste" -#: src/view/com/auth/create/CreateAccount.tsx:65 +#: 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 @@ -3579,7 +3672,7 @@ msgstr "Se désabonner" msgid "Unfollow {0}" msgstr "Se désabonner de {0}" -#: src/view/com/auth/create/state.ts:216 +#: src/view/com/auth/create/state.ts:289 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Malheureusement, vous ne remplissez pas les conditions requises pour créer un compte." @@ -3626,7 +3719,7 @@ msgstr "Mise à jour…" #: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" -msgstr "Envoyer un fichier texte vers :" +msgstr "Envoyer un fichier texte vers :" #: 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." @@ -3636,6 +3729,16 @@ msgstr "Utilisez les mots de passe de l’appli pour se connecter à d’autres msgid "Use default provider" msgstr "Utiliser le fournisseur par défaut" +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "Utilisez-le pour vous connecter à l’autre application avec votre identifiant." @@ -3646,7 +3749,7 @@ msgstr "Utilise votre domaine comme votre fournisseur de client Bluesky" #: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" -msgstr "Utilisé par :" +msgstr "Utilisé par :" #: src/view/com/modals/ModerationDetails.tsx:54 msgid "User Blocked" @@ -3706,17 +3809,21 @@ msgstr "comptes suivis par <0/>" #: src/view/com/modals/Threadgate.tsx:106 msgid "Users in \"{0}\"" -msgstr "Comptes dans « {0} »" +msgstr "Comptes dans « {0} »" -#: src/view/screens/Settings.tsx:819 +#: src/view/com/auth/create/Step2.tsx:139 +msgid "Verification code" +msgstr "" + +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "Confirmer l’e-mail" -#: src/view/screens/Settings.tsx:844 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "Confirmer mon e-mail" -#: src/view/screens/Settings.tsx:853 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "Confirmer mon e-mail" @@ -3749,7 +3856,7 @@ msgstr "Voir le profil" msgid "View the avatar" msgstr "Afficher l’avatar" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Visiter le site" @@ -3757,13 +3864,17 @@ msgstr "Visiter le site" msgid "Warn" msgstr "Avertir" +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from <0/>." +msgstr "" + #: src/view/com/modals/AppealLabel.tsx:48 msgid "We'll look into your appeal promptly." msgstr "Nous examinerons votre appel rapidement." -#: src/view/com/auth/create/CreateAccount.tsx:122 +#: src/view/com/auth/create/CreateAccount.tsx:123 msgid "We're so excited to have you join us!" -msgstr "Nous sommes ravis de vous accueillir !" +msgstr "Nous sommes ravis de vous accueillir !" #: src/view/screens/ProfileList.tsx:83 msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." @@ -3775,7 +3886,7 @@ msgstr "Nous sommes désolés, mais votre recherche a été annulée. Veuillez r #: src/view/screens/NotFound.tsx:48 msgid "We're sorry! We can't find the page you were looking for." -msgstr "Nous sommes désolés ! La page que vous recherchez est introuvable." +msgstr "Nous sommes désolés ! La page que vous recherchez est introuvable." #: src/view/com/auth/onboarding/WelcomeMobile.tsx:46 msgid "Welcome to <0>Bluesky</0>" @@ -3783,39 +3894,44 @@ msgstr "Bienvenue sur <0>Bluesky</0>" #: src/view/com/modals/report/Modal.tsx:169 msgid "What is the issue with this {collectionName}?" -msgstr "Quel est le problème avec cette {collectionName} ?" +msgstr "Quel est le problème avec cette {collectionName} ?" #: src/view/com/auth/SplashScreen.tsx:34 -#: src/view/com/composer/Composer.tsx:278 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" -msgstr "Quoi de neuf ?" +msgstr "Quoi de neuf ?" #: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78 msgid "Which languages are used in this post?" -msgstr "Quelles sont les langues utilisées dans ce post ?" +msgstr "Quelles sont les langues utilisées dans ce post ?" #: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77 msgid "Which languages would you like to see in your algorithmic feeds?" -msgstr "Quelles langues aimeriez-vous voir apparaître dans vos flux algorithmiques ?" +msgstr "Quelles langues aimeriez-vous voir apparaître dans vos flux algorithmiques ?" #: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47 #: src/view/com/modals/Threadgate.tsx:66 msgid "Who can reply" -msgstr "Qui peut répondre ?" +msgstr "Qui peut répondre ?" #: src/view/com/modals/crop-image/CropImage.web.tsx:102 msgid "Wide" msgstr "Large" -#: src/view/com/composer/Composer.tsx:414 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "Rédiger un post" -#: src/view/com/composer/Composer.tsx:277 +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "Rédigez votre réponse" +#: src/view/com/auth/create/Step2.tsx:158 +msgid "XXXXXX" +msgstr "" + +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 #: src/view/screens/PreferencesHomeFeed.tsx:129 #: src/view/screens/PreferencesHomeFeed.tsx:201 #: src/view/screens/PreferencesHomeFeed.tsx:236 @@ -3831,8 +3947,8 @@ msgid "You can also discover new Custom Feeds to follow." msgstr "Vous pouvez aussi découvrir de nouveaux fils d’actu personnalisés à suivre." #: src/view/com/auth/create/Step1.tsx:106 -msgid "You can change hosting providers at any time." -msgstr "Vous pouvez changer d’hébergeur à tout moment." +#~ msgid "You can change hosting providers at any time." +#~ msgstr "Vous pouvez changer d’hébergeur à tout moment." #: src/view/com/auth/login/Login.tsx:158 #: src/view/com/auth/login/PasswordUpdatedForm.tsx:31 @@ -3841,7 +3957,7 @@ msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." #: 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 "Vous n’avez encore aucun code d’invitation ! Nous vous en enverrons lorsque vous serez sur Bluesky depuis un peu plus longtemps." +msgstr "Vous n’avez encore aucun code d’invitation ! Nous vous en enverrons lorsque vous serez sur Bluesky depuis un peu plus longtemps." #: src/view/screens/SavedFeeds.tsx:102 msgid "You don't have any pinned feeds." @@ -3849,7 +3965,7 @@ msgstr "Vous n’avez encore aucun fil épinglé." #: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" -msgstr "Vous n’avez encore aucun fil enregistré !" +msgstr "Vous n’avez encore aucun fil enregistré !" #: src/view/screens/SavedFeeds.tsx:135 msgid "You don't have any saved feeds." @@ -3878,7 +3994,7 @@ msgstr "Vous n’avez aucune liste." #: 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 "Vous n’avez pas encore bloqué de comptes. Pour bloquer un compte, accédez à son profil et sélectionnez « Bloquer le compte » dans le menu de son compte." +msgstr "Vous n’avez pas encore bloqué de comptes. Pour bloquer un compte, accédez à son profil et sélectionnez « Bloquer le compte » dans le menu de son compte." #: src/view/screens/AppPasswords.tsx:87 msgid "You have not created any app passwords yet. You can create one by pressing the button below." @@ -3886,7 +4002,7 @@ msgstr "Vous n’avez encore créé aucun mot de passe pour l’appli. Vous pouv #: 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 "Vous n’avez encore masqué aucun compte. Pour désactiver un compte, allez sur son profil et sélectionnez « Masquer le compte » dans le menu de son compte." +msgstr "Vous n’avez encore masqué aucun compte. Pour désactiver un compte, allez sur son profil et sélectionnez « Masquer le compte » dans le menu de son compte." #: src/view/com/modals/ContentFilteringSettings.tsx:170 msgid "You must be 18 or older to enable adult content." @@ -3902,13 +4018,13 @@ msgstr "Vous recevrez désormais des notifications pour ce fil de discussion" #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." -msgstr "Vous recevrez un e-mail contenant un « code de réinitialisation » Saisissez ce code ici, puis votre nouveau mot de passe." +msgstr "Vous recevrez un e-mail contenant un « code de réinitialisation » Saisissez ce code ici, puis votre nouveau mot de passe." #: src/view/com/posts/FollowingEndOfFeed.tsx:48 msgid "You've reached the end of your feed! Find some more accounts to follow." -msgstr "Vous avez atteint la fin de votre fil d’actu ! Trouvez d’autres comptes à suivre." +msgstr "Vous avez atteint la fin de votre fil d’actu ! Trouvez d’autres comptes à suivre." -#: src/view/com/auth/create/Step2.tsx:58 +#: src/view/com/auth/create/Step1.tsx:67 msgid "Your account" msgstr "Votre compte" @@ -3916,18 +4032,22 @@ msgstr "Votre compte" msgid "Your account has been deleted" msgstr "Votre compte a été supprimé" -#: src/view/com/auth/create/Step2.tsx:146 +#: src/view/com/auth/create/Step1.tsx:182 msgid "Your birth date" msgstr "Votre date de naissance" -#: src/view/com/auth/create/state.ts:102 +#: src/view/com/modals/InAppBrowserConsent.tsx:47 +msgid "Your choice will be saved, but can be changed later in settings." +msgstr "" + +#: src/view/com/auth/create/state.ts:147 #: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Votre e-mail semble être invalide." #: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." -msgstr "Votre e-mail a été enregistré ! Nous vous contacterons bientôt." +msgstr "Votre e-mail a été enregistré ! Nous vous contacterons bientôt." #: 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." @@ -3939,7 +4059,7 @@ msgstr "Votre e-mail n’a pas encore été vérifié. Il s’agit d’une mesur #: src/view/com/posts/FollowingEmptyState.tsx:47 msgid "Your following feed is empty! Follow more users to see what's happening." -msgstr "Votre fil d’actu des comptes suivis est vide ! Suivez plus de comptes pour voir ce qui se passe." +msgstr "Votre fil d’actu des comptes suivis est vide ! Suivez plus de comptes pour voir ce qui se passe." #: src/view/com/auth/create/Step3.tsx:42 msgid "Your full handle will be" @@ -3950,16 +4070,16 @@ msgid "Your full handle will be <0>@{0}</0>" msgstr "Votre pseudo complet sera <0>@{0}</0>" #: src/view/com/auth/create/Step1.tsx:53 -msgid "Your hosting provider" -msgstr "Votre hébergeur" +#~ msgid "Your hosting provider" +#~ msgstr "Votre hébergeur" -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:657 +#: src/view/shell/Drawer.tsx:660 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Vos codes d’invitation sont cachés lorsque vous êtes connecté à l’aide d’un mot de passe d’application." -#: src/view/com/composer/Composer.tsx:266 +#: src/view/com/composer/Composer.tsx:267 msgid "Your post has been published" msgstr "Votre post a été publié" @@ -3969,11 +4089,11 @@ msgid "Your posts, likes, and blocks are public. Mutes are private." msgstr "Vos posts, les likes et les blocages sont publics. Les silences (comptes masqués) sont privés." #: src/view/com/modals/SwitchAccount.tsx:84 -#: src/view/screens/Settings.tsx:120 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Votre profil" -#: src/view/com/composer/Composer.tsx:265 +#: src/view/com/composer/Composer.tsx:266 msgid "Your reply has been published" msgstr "Votre réponse a été publiée" diff --git a/src/locale/locales/hi/messages.po b/src/locale/locales/hi/messages.po index 793175dea..b0f6f984b 100644 --- a/src/locale/locales/hi/messages.po +++ b/src/locale/locales/hi/messages.po @@ -21,29 +21,38 @@ msgstr "" #~ msgid ". This warning is only available for posts with media attached." #~ msgstr "यह चेतावनी केवल मीडिया वाले पोसà¥à¤Ÿ के लिठउपलबà¥à¤§ है।" +#: 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 "" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "{0} {purposeLabel} सूची" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "{0} {purposeLabel} सूची" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "" @@ -51,10 +60,22 @@ msgstr "" msgid "{message}" msgstr "" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>अपना</0><1>पसंदीदा</1><2>फ़ीड चà¥à¤¨à¥‡à¤‚</2>" @@ -75,6 +96,14 @@ msgstr "<0>कà¥à¤›</0><1>पसंदीदा उपयोगकरà¥à¤¤à¤¾à #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" #~ msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "" @@ -83,23 +112,61 @@ msgstr "" msgid "A new version of the app is available. Please update to continue using the app." msgstr "à¤à¤ª का à¤à¤• नया संसà¥à¤•रण उपलबà¥à¤§ है. कृपया à¤à¤ª का उपयोग जारी रखने के लिठअपडेट करें।" +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "पà¥à¤°à¤µà¥‡à¤°à¥à¤¶à¤¯à¥‹à¤—à¥à¤¯à¤¤à¤¾" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "अकाउंट" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +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/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "à¤à¤¡ करो" @@ -107,12 +174,12 @@ msgstr "à¤à¤¡ करो" msgid "Add a content warning" msgstr "सामगà¥à¤°à¥€ चेतावनी जोड़ें" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "इस सूची में किसी को जोड़ें" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "अकाउंट जोड़ें" @@ -122,6 +189,12 @@ msgstr "अकाउंट जोड़ें" msgid "Add alt text" msgstr "इस फ़ोटो में विवरण जोड़ें" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -131,32 +204,41 @@ msgstr "विवरण जोड़ें" msgid "Add details to report" msgstr "रिपोरà¥à¤Ÿ करने के लिठविवरण जोड़ें" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "लिंक कारà¥à¤¡ जोड़ें" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "लिंक कारà¥à¤¡ जोड़ें:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "अपने डोमेन में निमà¥à¤¨à¤²à¤¿à¤–ित DNS रिकॉरà¥à¤¡ जोड़ें:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "सूचियों में जोड़ें" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 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:128 msgid "Added to list" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "पसंद की संखà¥à¤¯à¤¾ को समायोजित करें उतà¥à¤¤à¤° को आपके फ़ीड में दिखाया जाना चाहिà¤à¥¤à¥¤" @@ -164,10 +246,18 @@ msgstr "पसंद की संखà¥à¤¯à¤¾ को समायोजित à msgid "Adult Content" msgstr "वयसà¥à¤• सामगà¥à¤°à¥€" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "विकसित" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -180,7 +270,7 @@ msgstr "वैकलà¥à¤ªà¤¿à¤• पाठ" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "ऑलà¥à¤Ÿ टेकà¥à¤¸à¥à¤Ÿ अंधा और कम दृशà¥à¤¯ लोगों के लिठछवियों का वरà¥à¤£à¤¨ करता है, और हर किसी को संदरà¥à¤ देने में मदद करता है।।" -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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} को ईमेल à¤à¥‡à¤œà¤¾ गया है। इसमें à¤à¤• OTP कोड शामिल है जिसे आप नीचे दरà¥à¤œ कर सकते हैं।।" @@ -188,7 +278,12 @@ msgstr "{0} को ईमेल à¤à¥‡à¤œà¤¾ गया है। इसमें msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "{0} को ईमेल à¤à¥‡à¤œà¤¾ गया है। इसमें à¤à¤• OTP कोड शामिल है जिसे आप नीचे दरà¥à¤œ कर सकते हैं।।" -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "और" @@ -197,15 +292,32 @@ msgstr "और" msgid "App Language" msgstr "à¤à¤ª à¤à¤¾à¤·à¤¾" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "à¤à¤ª पासवरà¥à¤¡" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "à¤à¤ª पासवरà¥à¤¡" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "" @@ -225,7 +337,7 @@ msgstr "" msgid "Appeal this decision." msgstr "" -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "दिखावट" @@ -233,7 +345,7 @@ msgstr "दिखावट" #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." #~ msgstr "" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "कà¥à¤¯à¤¾ आप वाकई à¤à¤ª पासवरà¥à¤¡ \"{name}\" हटाना चाहते हैं?" @@ -241,14 +353,18 @@ msgstr "कà¥à¤¯à¤¾ आप वाकई à¤à¤ª पासवरà¥à¤¡ \"{name}\" msgid "Are you sure you'd like to discard this draft?" msgstr "कà¥à¤¯à¤¾ आप वाकई इस डà¥à¤°à¤¾à¤«à¥à¤Ÿ को हटाना करना चाहेंगे?" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "कà¥à¤¯à¤¾ आप वासà¥à¤¤à¤µ में इसे करना चाहते हैं?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "कà¥à¤¯à¤¾ आप वासà¥à¤¤à¤µ में इसे करना चाहते हैं? इसे असंपादित नहीं किया जा सकता है।" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "कलातà¥à¤®à¤• या गैर-कामà¥à¤• नगà¥à¤¨à¤¤à¤¾à¥¤à¥¤" @@ -259,18 +375,24 @@ msgstr "कलातà¥à¤®à¤• या गैर-कामà¥à¤• नगà¥à¤¨à¤¤à¤ #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "वापस" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "मूल बातें" @@ -279,36 +401,46 @@ msgstr "मूल बातें" msgid "Birthday" msgstr "जनà¥à¤®à¤¦à¤¿à¤¨" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "जनà¥à¤®à¤¦à¤¿à¤¨:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "खाता बà¥à¤²à¥‰à¤• करें" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "खाता बà¥à¤²à¥‰à¤• करें" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "खाता बà¥à¤²à¥‰à¤• करें?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "बà¥à¤²à¥‰à¤• किठगठखाते" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "बà¥à¤²à¥‰à¤• किठगठखाते" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "अवरà¥à¤¦à¥à¤§ खाते आपके थà¥à¤°à¥‡à¤¡à¥à¤¸ में उतà¥à¤¤à¤° नहीं दे सकते, आपका उलà¥à¤²à¥‡à¤– नहीं कर सकते, या अनà¥à¤¯à¤¥à¤¾ आपके साथ बातचीत नहीं कर सकते।" @@ -316,11 +448,11 @@ msgstr "अवरà¥à¤¦à¥à¤§ खाते आपके थà¥à¤°à¥‡à¤¡à¥à¤¸ ठ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:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "बà¥à¤²à¥‰à¤• पोसà¥à¤Ÿà¥¤" -#: src/view/screens/ProfileList.tsx:310 +#: 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 "अवरोधन सारà¥à¤µà¤œà¤¨à¤¿à¤• है. अवरà¥à¤¦à¥à¤§ खाते आपके थà¥à¤°à¥‡à¤¡à¥à¤¸ में उतà¥à¤¤à¤° नहीं दे सकते, आपका उलà¥à¤²à¥‡à¤– नहीं कर सकते, या अनà¥à¤¯à¤¥à¤¾ आपके साथ बातचीत नहीं कर सकते।" @@ -332,14 +464,17 @@ msgstr "" 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 लचीला है।।" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky खà¥à¤²à¤¾ है।।" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky सारà¥à¤µà¤œà¤¨à¤¿à¤• है।।" @@ -356,7 +491,7 @@ msgstr "" msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Build version {0} {1}" @@ -364,37 +499,65 @@ msgstr "Build version {0} {1}" 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "कैमरा" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "केवल अकà¥à¤·à¤°, संखà¥à¤¯à¤¾, रिकà¥à¤¤ सà¥à¤¥à¤¾à¤¨, डैश और अंडरसà¥à¤•ोर हो सकते हैं। कम से कम 4 अकà¥à¤·à¤° लंबा होना चाहिà¤, लेकिन 32 अकà¥à¤·à¤°à¥‹à¤‚ से अधिक लंबा नहीं होना चाहिà¤à¥¤à¥¤" -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "कैंसिल" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "अकाउंट बंद मत करो" @@ -410,29 +573,34 @@ msgstr "नाम मत बदलो" msgid "Cancel image crop" msgstr "तसà¥à¤µà¥€à¤° को कà¥à¤°à¥‰à¤ª मत करो" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² संपादन मत करो" -#: src/view/com/modals/Repost.tsx:64 +#: 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:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "खोज मत करो" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ सूची पंजीकरण मत करो" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "परिवरà¥à¤¤à¤¨" +msgstr "" + +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "परिवरà¥à¤¤à¤¨" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "हैंडल बदलें" @@ -440,10 +608,14 @@ msgstr "हैंडल बदलें" msgid "Change Handle" msgstr "हैंडल बदलें" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "मेरा ईमेल बदलें" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "मेरा ईमेल बदलें" @@ -456,7 +628,7 @@ msgstr "कà¥à¤› अनà¥à¤¶à¤‚सित फ़ीड देखें. उनà msgid "Check out some recommended users. Follow them to see similar users." msgstr "कà¥à¤› अनà¥à¤¶à¤‚सित उपयोगकरà¥à¤¤à¤¾à¤“ं की जाà¤à¤š करें। à¤à¤¸à¥‡ ही उपयोगकरà¥à¤¤à¤¾ देखने के लिठउनका अनà¥à¤¸à¤°à¤£ करें।" -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "नीचे पà¥à¤°à¤µà¥‡à¤¶ करने के लिठOTP कोड के साथ à¤à¤• ईमेल के लिठअपने इनबॉकà¥à¤¸ की जाà¤à¤š करें:" @@ -464,10 +636,15 @@ msgstr "नीचे पà¥à¤°à¤µà¥‡à¤¶ करने के लिठOTP को msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "सेवा चà¥à¤¨à¥‡à¤‚" +#: 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 "उन à¤à¤²à¥à¤—ोरिदम का चयन करें जो कसà¥à¤Ÿà¤® फीडà¥à¤¸ के साथ अपने अनà¥à¤à¤µ को शकà¥à¤¤à¤¿ देते हैं।।" @@ -476,27 +653,33 @@ msgstr "उन à¤à¤²à¥à¤—ोरिदम का चयन करें जो msgid "Choose your password" msgstr "अपना पासवरà¥à¤¡ चà¥à¤¨à¥‡à¤‚" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "खोज कà¥à¤µà¥‡à¤°à¥€ साफ़ करें" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "चेतावनी को बंद करो" @@ -517,23 +700,54 @@ msgstr "छवि बंद करें" msgid "Close navigation footer" msgstr "नेविगेशन पाद बंद करें" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "समà¥à¤¦à¤¾à¤¯ दिशानिरà¥à¤¦à¥‡à¤¶" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "जवाब लिखो" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "हो गया" +#: 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" @@ -543,18 +757,26 @@ msgstr "बदलाव की पà¥à¤·à¥à¤Ÿà¤¿ करें" msgid "Confirm content language settings" msgstr "सामगà¥à¤°à¥€ à¤à¤¾à¤·à¤¾ सेटिंगà¥à¤¸ की पà¥à¤·à¥à¤Ÿà¤¿ करें" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "खाते को हटा दें" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: src/view/com/modals/VerifyEmail.tsx:165 msgid "Confirmation code" msgstr "OTP कोड" +#: src/view/com/modals/Waitlist.tsx:120 +msgid "Confirms signing up {email} to the waitlist" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "कनेकà¥à¤Ÿà¤¿à¤‚ग ..।" @@ -571,6 +793,11 @@ msgstr "सामगà¥à¤°à¥€ फ़िलà¥à¤Ÿà¤°à¤¿à¤‚ग" msgid "Content Languages" msgstr "सामगà¥à¤°à¥€ à¤à¤¾à¤·à¤¾" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "सामगà¥à¤°à¥€ चेतावनी" @@ -584,31 +811,46 @@ msgstr "सामगà¥à¤°à¥€ चेतावनी" msgid "Continue" msgstr "आगे बढ़ें" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "कॉपी कर ली" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "कॉपी" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "पोसà¥à¤Ÿ टेकà¥à¤¸à¥à¤Ÿ कॉपी करें" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "कॉपीराइट नीति" @@ -617,29 +859,50 @@ msgstr "कॉपीराइट नीति" msgid "Could not load feed" msgstr "फ़ीड लोड नहीं कर सकता" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "सूची लोड नहीं कर सकता" #: 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 "नया खाता बनाà¤à¤‚" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "खाता बनाà¤à¤" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "नया खाता बनाà¤à¤‚" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "बनाया गया {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "कसà¥à¤Ÿà¤® डोमेन" @@ -648,15 +911,27 @@ msgstr "कसà¥à¤Ÿà¤® डोमेन" msgid "Customize media from external sites." msgstr "" -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "खतरा कà¥à¤·à¥‡à¤¤à¥à¤°" -#: src/view/screens/Settings.tsx:411 -#~ msgid "Dark" -#~ msgstr "डारà¥à¤• मोड" +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "डारà¥à¤• मोड" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "खाता हटाà¤à¤‚" @@ -664,40 +939,44 @@ msgstr "खाता हटाà¤à¤‚" msgid "Delete Account" msgstr "खाता हटाà¤à¤‚" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "अपà¥à¤ª पासवरà¥à¤¡ हटाà¤à¤‚" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "सूची हटाà¤à¤" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "मेरा खाता हटाà¤à¤‚" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "मेरा खाता हटाà¤à¤‚…" -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "पोसà¥à¤Ÿ को हटाà¤à¤‚" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "इस पोसà¥à¤Ÿ को डीलीट करें?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "यह पोसà¥à¤Ÿ मिटाई जा चà¥à¤•ी है" -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "विवरण" @@ -705,7 +984,7 @@ msgstr "विवरण" msgid "Dev Server" msgstr "देव सरà¥à¤µà¤°" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "डेवलपर उपकरण" @@ -725,35 +1004,53 @@ msgstr "डà¥à¤°à¤¾à¤«à¥à¤Ÿ हटाà¤à¤‚" msgid "Discourage apps from showing my account to logged-out users" msgstr "" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "नठफ़ीड की खोज करें" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "नाम" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨ का नाम" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "डोमेन सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "खतà¥à¤®" @@ -761,56 +1058,116 @@ msgstr "खतà¥à¤®" msgid "Done{extraText}" msgstr "खतà¥à¤® {extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "छवि संपादित करें" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "सूची विवरण संपादित करें" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "मेरी फ़ीड संपादित करें" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "मेरी पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² संपादित करें" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "मेरी पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² संपादित करें" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "मेरी पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤² संपादित करें" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "à¤à¤¡à¤¿à¤Ÿ सेवà¥à¤¡ फीड" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "ईमेल" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 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/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "ईमेल:" @@ -818,34 +1175,63 @@ msgstr "ईमेल:" msgid "Enable {0} only" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "इस सेटिंग को केवल उन लोगों के बीच जवाब देखने में सकà¥à¤·à¤® करें जिनà¥à¤¹à¥‡à¤‚ आप फॉलो करते हैं।।" -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "अपने पà¥à¤°à¤¦à¤¾à¤¤à¤¾ का पता दरà¥à¤œ करें:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "आप जिस डोमेन का उपयोग करना चाहते हैं उसे दरà¥à¤œ करें" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "वह ईमेल दरà¥à¤œ करें जिसका उपयोग आपने अपना खाता बनाने के लिठकिया था। हम आपको à¤à¤• \"reset code\" à¤à¥‡à¤œà¥‡à¤‚गे ताकि आप à¤à¤• नया पासवरà¥à¤¡ सेट कर सकें।" +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 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 "नीचे अपना नया ईमेल पता दरà¥à¤œ करें।।" @@ -862,10 +1248,32 @@ msgstr "" msgid "Everybody" msgstr "" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 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/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "" @@ -875,17 +1283,43 @@ msgstr "" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "फ़ीड ऑफ़लाइन है" @@ -898,12 +1332,13 @@ msgstr "फ़ीड पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता" msgid "Feedback" msgstr "पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "सà¤à¥€ फ़ीड" @@ -915,6 +1350,12 @@ msgstr "सामगà¥à¤°à¥€ को वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ करने ठmsgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "फ़ीड कसà¥à¤Ÿà¤® à¤à¤²à¥à¤—ोरिदम हैं जिनà¥à¤¹à¥‡à¤‚ उपयोगकरà¥à¤¤à¤¾ थोड़ी कोडिंग विशेषजà¥à¤žà¤¤à¤¾ के साथ बनाते हैं। <0/> अधिक जानकारी के लिà¤." +#: 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:427 msgid "Find users on Bluesky" msgstr "" @@ -927,7 +1368,7 @@ msgstr "" msgid "Finding similar accounts..." msgstr "मिलते-जà¥à¤²à¤¤à¥‡ खाते ढूà¤à¤¢à¤¨à¤¾" -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "अपने मà¥à¤–à¥à¤¯ फ़ीड की सà¥à¤•à¥à¤°à¥€à¤¨ पर दिखाई देने वाली सामगà¥à¤°à¥€ को ठीक करें।।" @@ -935,52 +1376,86 @@ msgstr "अपने मà¥à¤–à¥à¤¯ फ़ीड की सà¥à¤•à¥à¤°à¥€à¤¨ à msgid "Fine-tune the discussion threads." msgstr "चरà¥à¤šà¤¾ धागे को ठीक-टà¥à¤¯à¥‚न करें।।" -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "फॉलो" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +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:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "केवल वे यूजर को फ़ॉलो किया गया" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "यह यूजर आपका फ़ोलो करता है" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "फोलà¥à¤²à¥‹à¤µà¤¿à¤‚ग" +#~ msgid "following" +#~ msgstr "फोलà¥à¤²à¥‹à¤µà¤¿à¤‚ग" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "फोलà¥à¤²à¥‹à¤µà¤¿à¤‚ग" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "यह यूजर आपका फ़ोलो करता है" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "सà¥à¤°à¤•à¥à¤·à¤¾ कारणों के लिà¤, हमें आपके ईमेल पते पर à¤à¤• OTP कोड à¤à¥‡à¤œà¤¨à¥‡ की आवशà¥à¤¯à¤•ता होगी।।" -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "सà¥à¤°à¤•à¥à¤·à¤¾ कारणों के लिà¤, आप इसे फिर से देखने में सकà¥à¤·à¤® नहीं होंगे। यदि आप इस पासवरà¥à¤¡ को खो देते हैं, तो आपको à¤à¤• नया उतà¥à¤ªà¤¨à¥à¤¨ करना होगा।।" -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "à¤à¥‚ल" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "पासवरà¥à¤¡ à¤à¥‚ल गà¤" @@ -989,11 +1464,17 @@ msgstr "पासवरà¥à¤¡ à¤à¥‚ल गà¤" msgid "Forgot Password" msgstr "पासवरà¥à¤¡ à¤à¥‚ल गà¤" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "गैलरी" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "पà¥à¤°à¤¾à¤°à¤‚ठकरें" @@ -1006,14 +1487,14 @@ msgstr "वापस जाओ" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "वापस जाओ" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "अगला" @@ -1026,48 +1507,64 @@ msgstr "हैंडल" msgid "Help" msgstr "सहायता" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "यहां आपका à¤à¤ª पासवरà¥à¤¡ है." -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "इसे छिपाà¤à¤‚" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "उपयोगकरà¥à¤¤à¤¾ सूची छà¥à¤ªà¤¾à¤à¤" +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." #~ msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: 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:98 +#: 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:104 +#: 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:101 +#: 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:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "" @@ -1075,6 +1572,7 @@ msgstr "" #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." #~ msgstr "" +#: 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 @@ -1082,13 +1580,14 @@ msgstr "" msgid "Home" msgstr "होम फीड" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "होम फ़ीड पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ताà¤à¤‚" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à¤¦à¤¾à¤¤à¤¾" @@ -1097,18 +1596,34 @@ msgstr "होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à¤¦à¤¾à¤¤à¤¾" msgid "Hosting provider address" msgstr "होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à¤¦à¤¾à¤¤à¤¾ पता" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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 "मेरे पास à¤à¤• OTP कोड है" -#: src/view/com/modals/ChangeHandle.tsx:281 +#: 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:158 +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/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "छवि alt पाठ" @@ -1123,19 +1638,76 @@ msgstr "छवि विकलà¥à¤ª" #~ msgid "In Your Network" #~ msgstr "आपके नेटवरà¥à¤• में" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "अवैध उपयोगकरà¥à¤¤à¤¾ नाम या पासवरà¥à¤¡" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "आमंतà¥à¤°à¤£ à¤à¥‡à¤œà¥‹" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "à¤à¤• दोसà¥à¤¤ को आमंतà¥à¤°à¤¿à¤¤ करें" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "आमंतà¥à¤°à¤£ कोड" @@ -1144,10 +1716,18 @@ msgstr "आमंतà¥à¤°à¤£ कोड" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "" -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "" @@ -1161,7 +1741,7 @@ msgstr "पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ सूची में शामिल हॠmsgid "Join the waitlist." msgstr "पà¥à¤°à¤¤à¥€à¤•à¥à¤·à¤¾ सूची में शामिल हों।।" -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "वेटरलिसà¥à¤Ÿ में शामिल हों" @@ -1169,15 +1749,24 @@ msgstr "वेटरलिसà¥à¤Ÿ में शामिल हों" msgid "Language selection" msgstr "अपनी à¤à¤¾à¤·à¤¾ चà¥à¤¨à¥‡" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "à¤à¤¾à¤·à¤¾ सेटिंगà¥à¤¸" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "à¤à¤¾à¤·à¤¾" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "" @@ -1187,9 +1776,9 @@ msgstr "" msgid "Learn More" msgstr "अधिक जानें" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1203,10 +1792,14 @@ msgstr "" msgid "Leave them all unchecked to see any language." msgstr "उनà¥à¤¹à¥‡à¤‚ किसी à¤à¥€ à¤à¤¾à¤·à¤¾ को देखने के लिठअनचेक छोड़ दें।।" -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "लीविंग Bluesky" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1217,23 +1810,48 @@ msgstr "चलो अपना पासवरà¥à¤¡ रीसेट करेठmsgid "Library" msgstr "चितà¥à¤° पà¥à¤¸à¥à¤¤à¤•ालय" -#: src/view/screens/Settings.tsx:405 -#~ msgid "Light" -#~ msgstr "लाइट मोड" +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "लाइट मोड" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "इस फ़ीड को लाइक करो" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "इन यूजर ने लाइक किया है" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" #~ msgstr "" @@ -1242,23 +1860,52 @@ msgstr "" #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "सूची अवतार" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "सूची का नाम" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "सूची" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "अधिक पोसà¥à¤Ÿ लोड करें" @@ -1266,7 +1913,10 @@ msgstr "अधिक पोसà¥à¤Ÿ लोड करें" msgid "Load new notifications" msgstr "नई सूचनाà¤à¤‚ लोड करें" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "नई पोसà¥à¤Ÿ लोड करें" @@ -1278,6 +1928,10 @@ msgstr "" msgid "Local dev server" msgstr "सà¥à¤¥à¤¾à¤¨à¥€à¤¯ देव सरà¥à¤µà¤°" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "" @@ -1294,7 +1948,7 @@ msgstr "उस खाते में लॉग इन करें जो सॠ#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "यह सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करने के लिठकि आप कहाठजाना चाहते हैं!" @@ -1310,72 +1964,119 @@ msgstr "" msgid "Mentioned users" msgstr "" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "मेनू" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" +#~ msgid "Message from server" +#~ msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "मॉडरेशन" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "मॉडरेशन सूचियाà¤" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "अधिक फ़ीड" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "अधिक विकलà¥à¤ª" -#: src/view/com/util/forms/PostDropdownBtn.tsx:158 -#~ msgid "More post options" -#~ msgstr "पोसà¥à¤Ÿ विकलà¥à¤ª" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "पोसà¥à¤Ÿ विकलà¥à¤ª" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "खाता मà¥à¤¯à¥‚ट करें" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "खातों को मà¥à¤¯à¥‚ट करें" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "इन खातों को मà¥à¤¯à¥‚ट करें?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "थà¥à¤°à¥‡à¤¡ मà¥à¤¯à¥‚ट करें" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "मà¥à¤¯à¥‚ट किठगठखाते" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "मà¥à¤¯à¥‚ट किठगठखाते" @@ -1384,7 +2085,7 @@ msgstr "मà¥à¤¯à¥‚ट किठगठखाते" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "मà¥à¤¯à¥‚ट किठगठखातों की पोसà¥à¤Ÿ आपके फ़ीड और आपकी सूचनाओं से हटा दी जाती हैं। मà¥à¤¯à¥‚ट पूरी तरह से निजी हैं." -#: src/view/screens/ProfileList.tsx:273 +#: 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 "मà¥à¤¯à¥‚ट करना निजी है. मà¥à¤¯à¥‚ट किठगठखाते आपके साथ इंटरैकà¥à¤Ÿ कर सकते हैं, लेकिन आप उनकी पोसà¥à¤Ÿ नहीं देखेंगे या उनसे सूचनाà¤à¤‚ पà¥à¤°à¤¾à¤ªà¥à¤¤ नहीं करेंगे।" @@ -1396,7 +2097,7 @@ msgstr "मà¥à¤¯à¥‚ट करना निजी है. मà¥à¤¯à¥‚ट कि msgid "My Birthday" msgstr "जनà¥à¤®à¤¦à¤¿à¤¨" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "मेरी फ़ीड" @@ -1404,80 +2105,134 @@ msgstr "मेरी फ़ीड" msgid "My Profile" msgstr "मेरी पà¥à¤°à¥‹à¤«à¤¾à¤‡à¤²" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "मेरी फ़ीड" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "नाम" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "" +#: 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 "अपने फ़ॉलोअरà¥à¤¸ और डेटा तक पहà¥à¤‚च कà¤à¥€ न खोà¤à¤‚।" #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "नया" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "नई पोसà¥à¤Ÿ" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "नई पोसà¥à¤Ÿ" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "नई पोसà¥à¤Ÿ" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "अगला" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "अगली फोटो" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "नहीं" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "कोई विवरण नहीं" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "\"{query}\" के लिठकोई परिणाम नहीं मिला" @@ -1489,8 +2244,8 @@ msgstr "\"{query}\" के लिठकोई परिणाम नहीं à #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "" @@ -1510,6 +2265,15 @@ msgstr "" msgid "Not Applicable." msgstr "लागू नहीं।" +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "" @@ -1522,6 +2286,7 @@ msgstr "" #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." #~ msgstr "" +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1531,6 +2296,10 @@ msgstr "" msgid "Notifications" msgstr "सूचनाà¤à¤‚" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "अरे नहीं!" @@ -1543,7 +2312,11 @@ msgstr "ठीक है" msgid "Oldest replies first" msgstr "" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "à¤à¤• या अधिक छवियाठalt पाठयाद आती हैं।।" @@ -1551,60 +2324,131 @@ msgstr "à¤à¤• या अधिक छवियाठalt पाठयाद ठmsgid "Only {0} can reply." msgstr "" -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "ओपन नेविगेशन" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "à¤à¤¾à¤·à¤¾ सेटिंगà¥à¤¸ खोलें" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "कसà¥à¤Ÿà¤® डोमेन का उपयोग करने के लिठमोडल खोलें" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "मॉडरेशन सेटिंगà¥à¤¸ खोलें" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "सà¤à¥€ बचाया फ़ीड के साथ सà¥à¤•à¥à¤°à¥€à¤¨ खोलें" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "à¤à¤ª पासवरà¥à¤¡ सेटिंग पेज खोलें" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "होम फीड वरीयताओं को खोलता है" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "सà¥à¤Ÿà¥‹à¤°à¥€à¤¬à¥à¤• पेज खोलें" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "सिसà¥à¤Ÿà¤® लॉग पेज खोलें" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "धागे वरीयताओं को खोलता है" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "" @@ -1628,9 +2472,9 @@ msgstr "पृषà¥à¤ नहीं मिला" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "पासवरà¥à¤¡" @@ -1642,10 +2486,31 @@ msgstr "" msgid "Password updated!" msgstr "पासवरà¥à¤¡ अदà¥à¤¯à¤¤à¤¨!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "चितà¥à¤° वयसà¥à¤•ों के लिठथे।।" +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "पिन किया गया फ़ीड" @@ -1675,7 +2540,11 @@ msgstr "" 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:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "कृपया इस à¤à¤ª पासवरà¥à¤¡ के लिठà¤à¤• अदà¥à¤µà¤¿à¤¤à¥€à¤¯ नाम दरà¥à¤œ करें या हमारे यादृचà¥à¤›à¤¿à¤• रूप से उतà¥à¤ªà¤¨à¥à¤¨ à¤à¤• का उपयोग करें।।" @@ -1683,7 +2552,7 @@ msgstr "कृपया इस à¤à¤ª पासवरà¥à¤¡ के लिठठmsgid "Please enter your email." msgstr "" -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "कृपया अपना पासवरà¥à¤¡ à¤à¥€ दरà¥à¤œ करें:" @@ -1697,17 +2566,51 @@ msgstr "" #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "पोसà¥à¤Ÿ" +#~ msgid "Post" +#~ msgstr "पोसà¥à¤Ÿ" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "छà¥à¤ªà¤¾ पोसà¥à¤Ÿ" @@ -1719,7 +2622,7 @@ msgstr "पोसà¥à¤Ÿ à¤à¤¾à¤·à¤¾" msgid "Post Languages" msgstr "पोसà¥à¤Ÿ à¤à¤¾à¤·à¤¾" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "पोसà¥à¤Ÿ नहीं मिला" @@ -1727,7 +2630,11 @@ msgstr "पोसà¥à¤Ÿ नहीं मिला" msgid "Posts" msgstr "" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "शायद à¤à¤• à¤à¥à¤°à¤¾à¤®à¤• लिंक" @@ -1743,30 +2650,35 @@ msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤• à¤à¤¾à¤·à¤¾" msgid "Prioritize Your Follows" msgstr "अपने फ़ॉलोअरà¥à¤¸ को पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता दें" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "गोपनीयता" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "गोपनीयता नीति" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "पà¥à¤°à¤¸à¤‚सà¥à¤•रण..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤²" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "अपने ईमेल को सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करके अपने खाते को सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ रखें।।" @@ -1778,14 +2690,31 @@ msgstr "" msgid "Public, shareable lists which can drive feeds." msgstr "सारà¥à¤µà¤œà¤¨à¤¿à¤•, साà¤à¤¾ करने योगà¥à¤¯ सूचियाठजो फ़ीड चला सकती हैं।" -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "कोटे पोसà¥à¤Ÿ" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "कोटे पोसà¥à¤Ÿ" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1810,7 +2739,7 @@ msgstr "अनà¥à¤¶à¤‚सित लोग" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1824,13 +2753,16 @@ msgstr "मेरे फ़ीड से {0} हटाà¤à¤‚?" msgid "Remove account" msgstr "खाता हटाà¤à¤‚" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "फ़ीड हटाà¤à¤" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "मेरे फ़ीड से हटाà¤à¤" @@ -1842,11 +2774,15 @@ msgstr "छवि निकालें" msgid "Remove image preview" msgstr "छवि पूरà¥à¤µà¤¾à¤µà¤²à¥‹à¤•न निकालें" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "इस फ़ीड को सहेजे गठफ़ीड से हटा दें?" @@ -1855,6 +2791,15 @@ msgstr "इस फ़ीड को सहेजे गठफ़ीड से ठmsgid "Removed from list" msgstr "" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "" @@ -1863,31 +2808,50 @@ msgstr "" msgid "Replies to this thread are disabled" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "फिलà¥à¤Ÿà¤°" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "रिपोरà¥à¤Ÿ {collectionName}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "रिपोरà¥à¤Ÿ" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "रिपोरà¥à¤Ÿ फ़ीड" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "रिपोरà¥à¤Ÿ सूची" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" 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 "पà¥à¤¨: पोसà¥à¤Ÿ" @@ -1901,6 +2865,22 @@ msgstr "पोसà¥à¤Ÿ दोबारा पोसà¥à¤Ÿ करें या à msgid "Reposted by" msgstr "दà¥à¤µà¤¾à¤°à¤¾ दोबारा पोसà¥à¤Ÿ किया गया" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" @@ -1910,7 +2890,7 @@ msgstr "अनà¥à¤°à¥‹à¤§ बदलें" #~ msgid "Request to limit the visibility of my account" #~ msgstr "" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "पोसà¥à¤Ÿ करने से पहले वैकलà¥à¤ªà¤¿à¤• टेकà¥à¤¸à¥à¤Ÿ की आवशà¥à¤¯à¤•ता है" @@ -1918,34 +2898,52 @@ msgstr "पोसà¥à¤Ÿ करने से पहले वैकलà¥à¤ªà¤¿à¤ msgid "Required for this provider" msgstr "इस पà¥à¤°à¤¦à¤¾à¤¤à¤¾ के लिठआवशà¥à¤¯à¤•" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "कोड रीसेट करें" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "ऑनबोरà¥à¤¡à¤¿à¤‚ग सà¥à¤Ÿà¥‡à¤Ÿ को रीसेट करें" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "पासवरà¥à¤¡ रीसेट" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ताओं को रीसेट करें" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "ऑनबोरà¥à¤¡à¤¿à¤‚ग सà¥à¤Ÿà¥‡à¤Ÿ को रीसेट करें" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ताओं की सà¥à¤¥à¤¿à¤¤à¤¿ को रीसेट करें" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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" @@ -1955,12 +2953,26 @@ msgstr "फिर से कोशिश करो" #~ msgid "Retry change handle" #~ msgstr "हैंडल बदलना फिर से कोशिश करो" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "सेव करो" @@ -1972,7 +2984,7 @@ msgstr "सेव ऑलà¥à¤Ÿ टेकà¥à¤¸à¥à¤Ÿ" #~ msgid "Save changes" #~ msgstr "बदलाव सेव करो" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "बदलाव सेव करो" @@ -1988,9 +3000,25 @@ msgstr "फोटो बदलाव सेव करो" msgid "Saved 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -2007,6 +3035,7 @@ 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 "" @@ -2014,10 +3043,18 @@ msgstr "" msgid "Security Step Required" 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 "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Bluesky Social का चयन करें" @@ -2026,6 +3063,10 @@ msgstr "Bluesky Social का चयन करें" msgid "Select from an existing account" msgstr "मौजूदा खाते से चà¥à¤¨à¥‡à¤‚" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "सेवा चà¥à¤¨à¥‡à¤‚" @@ -2042,7 +3083,8 @@ msgstr "à¤à¤ª में पà¥à¤°à¤¦à¤°à¥à¤¶à¤¿à¤¤ होने वाले à msgid "Select your preferred language for translations in your feed." msgstr "अपने फ़ीड में अनà¥à¤µà¤¾à¤¦ के लिठअपनी पसंदीदा à¤à¤¾à¤·à¤¾ चà¥à¤¨à¥‡à¤‚।" -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "पà¥à¤·à¥à¤Ÿà¤¿à¤•रण ईमेल à¤à¥‡à¤œà¥‡à¤‚" @@ -2050,9 +3092,14 @@ msgstr "पà¥à¤·à¥à¤Ÿà¤¿à¤•रण ईमेल à¤à¥‡à¤œà¥‡à¤‚" msgid "Send email" msgstr "ईमेल à¤à¥‡à¤œà¥‡à¤‚" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "ईमेल à¤à¥‡à¤œà¥‡à¤‚" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "ईमेल à¤à¥‡à¤œà¥‡à¤‚" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -2063,19 +3110,49 @@ msgstr "पà¥à¤°à¤¤à¤¿à¤•à¥à¤°à¤¿à¤¯à¤¾ à¤à¥‡à¤œà¥‡à¤‚" msgid "Send Report" msgstr "रिपोरà¥à¤Ÿ à¤à¥‡à¤œà¥‡à¤‚" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "नया पासवरà¥à¤¡ सेट करें" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "अपने फ़ीड से सà¤à¥€ उदà¥à¤§à¤°à¤£ पदों को छिपाने के लिठइस सेटिंग को \"नहीं\" में सेट करें। Reposts अà¤à¥€ à¤à¥€ दिखाई देगा।।" -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "इस सेटिंग को अपने फ़ीड से सà¤à¥€ उतà¥à¤¤à¤°à¥‹à¤‚ को छिपाने के लिठ\"नहीं\" पर सेट करें।।" -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "इस सेटिंग को अपने फ़ीड से सà¤à¥€ पोसà¥à¤Ÿ छिपाने के लिठ\"नहीं\" करने के लिठसेट करें।।" @@ -2083,14 +3160,35 @@ msgstr "इस सेटिंग को अपने फ़ीड से सठmsgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "इस सेटिंग को \"हाà¤\" में सेट करने के लिठà¤à¤• थà¥à¤°à¥‡à¤¡à¥‡à¤¡ वà¥à¤¯à¥‚ में जवाब दिखाने के लिà¤à¥¤ यह à¤à¤• पà¥à¤°à¤¯à¥‹à¤—ातà¥à¤®à¤• विशेषता है।।" -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "सेटिंगà¥à¤¸" @@ -2098,13 +3196,18 @@ msgstr "सेटिंगà¥à¤¸" msgid "Sexual activity or erotic nudity." msgstr "यौन गतिविधि या कामà¥à¤• नगà¥à¤¨à¤¤à¤¾à¥¤à¥¤" -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "शेयर" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "" @@ -2112,11 +3215,17 @@ msgstr "" #~ msgid "Share link" #~ msgstr "लिंक शेयर करें" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "दिखाओ" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "दिखाओ" @@ -2125,15 +3234,25 @@ msgstr "दिखाओ" msgid "Show embeds from {0}" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "मेरी फीड से पोसà¥à¤Ÿ दिखाà¤à¤‚" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "उदà¥à¤§à¤°à¤£ पोसà¥à¤Ÿ दिखाओ" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "उतà¥à¤¤à¤° दिखाà¤à¤" @@ -2141,14 +3260,31 @@ msgstr "उतà¥à¤¤à¤° दिखाà¤à¤" msgid "Show replies by people you follow before all other replies." msgstr "अनà¥à¤¯ सà¤à¥€ उतà¥à¤¤à¤°à¥‹à¤‚ से पहले उन लोगों के उतà¥à¤¤à¤° दिखाà¤à¤‚ जिनà¥à¤¹à¥‡à¤‚ आप फ़ॉलो करते हैं।" -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "रीपोसà¥à¤Ÿ दिखाà¤à¤" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "लोग दिखाà¤à¤" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2183,7 +3319,9 @@ msgid "Sign into" msgstr "साइन इन करें" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "साइन आउट" @@ -2207,14 +3345,34 @@ msgstr "" msgid "Sign-in Required" msgstr "" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "आपने इस रूप में साइन इन करा है:" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "सà¥à¤•िप" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "उतà¥à¤¤à¤° कà¥à¤°à¤®à¤¬à¤¦à¥à¤§ करें" @@ -2232,11 +3390,19 @@ msgstr "सà¥à¤•à¥à¤µà¤¾à¤¯à¤°" msgid "Staging" msgstr "सà¥à¤Ÿà¥‡à¤œà¤¿à¤‚ग" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "सà¥à¤¥à¤¿à¤¤à¤¿ पृषà¥à¤ " -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Storybook" @@ -2244,32 +3410,59 @@ msgstr "Storybook" msgid "Submit" msgstr "" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "सबà¥à¤¸à¤•à¥à¤°à¤¾à¤‡à¤¬" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "इस सूची को सबà¥à¤¸à¤•à¥à¤°à¤¾à¤‡à¤¬ करें" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "अनà¥à¤¶à¤‚सित लोग" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "सहायता" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "खाते बदलें" -#: src/view/screens/Settings.tsx:398 -#~ msgid "System" -#~ msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€" +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "पà¥à¤°à¤£à¤¾à¤²à¥€" -#: src/view/screens/Settings.tsx:679 +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "सिसà¥à¤Ÿà¤® लॉग" @@ -2277,11 +3470,16 @@ msgstr "सिसà¥à¤Ÿà¤® लॉग" msgid "Tall" msgstr "लंबा" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "शरà¥à¤¤à¥‡à¤‚" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2292,7 +3490,7 @@ msgstr "सेवा की शरà¥à¤¤à¥‡à¤‚" msgid "Text input field" msgstr "पाठइनपà¥à¤Ÿ फ़ीलà¥à¤¡" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "अनबà¥à¤²à¥‰à¤• करने के बाद अकाउंट आपसे इंटरैकà¥à¤Ÿ कर सकेगा।" @@ -2304,7 +3502,7 @@ msgstr "सामà¥à¤¦à¤¾à¤¯à¤¿à¤• दिशानिरà¥à¤¦à¥‡à¤¶à¥‹à¤‚ कà msgid "The Copyright Policy has been moved to <0/>" msgstr "कॉपीराइट नीति को <0/> पर सà¥à¤¥à¤¾à¤¨à¤¾à¤‚तरित कर दिया गया है" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "हो सकता है कि यह पोसà¥à¤Ÿ हटा दी गई हो।" @@ -2313,13 +3511,86 @@ 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} पर जाà¤à¤‚।" +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 "" + +#: 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/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "à¤à¤ªà¥à¤²à¤¿à¤•ेशन में à¤à¤• अपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ समसà¥à¤¯à¤¾ थी. कृपया हमें बताà¤à¤‚ कि कà¥à¤¯à¤¾ आपके साथ à¤à¤¸à¤¾ हà¥à¤† है!" @@ -2340,19 +3611,33 @@ msgstr "" msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "" -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: 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/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "यह जानकारी अनà¥à¤¯ उपयोगकरà¥à¤¤à¤¾à¤“ं के साथ साà¤à¤¾ नहीं की जाती है।।" -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "अगर आपको कà¤à¥€ अपना ईमेल बदलने या पासवरà¥à¤¡ रीसेट करने की आवशà¥à¤¯à¤•ता है तो यह महतà¥à¤µà¤ªà¥‚रà¥à¤£ है।।" @@ -2360,24 +3645,44 @@ msgstr "अगर आपको कà¤à¥€ अपना ईमेल बदलनà msgid "This is the service that keeps you online." msgstr "यह वह सेवा है जो आपको ऑनलाइन रखता है।।" -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "यह लिंक आपको निमà¥à¤¨à¤²à¤¿à¤–ित वेबसाइट पर ले जा रहा है:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "इस पोसà¥à¤Ÿ को हटा दिया गया है।।" +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "यह चेतावनी केवल मीडिया संलगà¥à¤¨ पोसà¥à¤Ÿ के लिठउपलबà¥à¤§ है।" -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "" #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "थà¥à¤°à¥‡à¤¡ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता" @@ -2385,7 +3690,11 @@ msgstr "थà¥à¤°à¥‡à¤¡ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•ता" msgid "Threaded Mode" msgstr "थà¥à¤°à¥‡à¤¡ मोड" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "डà¥à¤°à¥‰à¤ªà¤¡à¤¾à¤‰à¤¨ टॉगल करें" @@ -2393,60 +3702,100 @@ msgstr "डà¥à¤°à¥‰à¤ªà¤¡à¤¾à¤‰à¤¨ टॉगल करें" msgid "Transformations" msgstr "परिवरà¥à¤¤à¤¨" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "अनà¥à¤µà¤¾à¤¦" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "फिर से कोशिश करो" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "फिर से कोशिश करो" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "आपकी सेवा से संपरà¥à¤• करने में असमरà¥à¤¥à¥¤ कृपया अपने इंटरनेट कनेकà¥à¤¶à¤¨ की जांच करें।।" -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "अनबà¥à¤²à¥‰à¤•" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 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/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "" -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "अनमà¥à¤¯à¥‚ट खाता" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "थà¥à¤°à¥‡à¤¡ को अनमà¥à¤¯à¥‚ट करें" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "सूची में {displayName} अदà¥à¤¯à¤¤à¤¨ करें" @@ -2455,34 +3804,83 @@ msgstr "सूची में {displayName} अदà¥à¤¯à¤¤à¤¨ करें" msgid "Update Available" msgstr "उपलबà¥à¤§ अदà¥à¤¯à¤¤à¤¨" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "अदà¥à¤¯à¤¤à¤¨..।" -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "à¤à¤• पाठफ़ाइल अपलोड करने के लिà¤:" -#: src/view/screens/AppPasswords.tsx:194 +#: 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 "अपने खाते या पासवरà¥à¤¡ को पूरà¥à¤£ à¤à¤•à¥à¤¸à¥‡à¤¸ देने के बिना अनà¥à¤¯ बà¥à¤²à¥‚सà¥à¤•ी गà¥à¤°à¤¾à¤¹à¤•ों को लॉगिन करने के लिठà¤à¤ª पासवरà¥à¤¡ का उपयोग करें।।" -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "डिफ़ॉलà¥à¤Ÿ पà¥à¤°à¤¦à¤¾à¤¤à¤¾ का उपयोग करें" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "अपने हैंडल के साथ दूसरे à¤à¤ª में साइन इन करने के लिठइसका उपयोग करें।" -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "के दà¥à¤µà¤¾à¤°à¤¾ उपयोग:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "यूजर हैंडल" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "लोग सूचियाà¤" @@ -2492,7 +3890,7 @@ msgstr "लोग सूचियाà¤" msgid "Username or email address" msgstr "यूजर नाम या ईमेल पता" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "यूजर लोग" @@ -2508,15 +3906,15 @@ msgstr "" msgid "Users in \"{0}\"" msgstr "" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "ईमेल सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करें" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "मेरी ईमेल सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करें" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "मेरी ईमेल सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करें" @@ -2525,18 +3923,46 @@ msgstr "मेरी ईमेल सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करें" msgid "Verify New Email" msgstr "नया ईमेल सतà¥à¤¯à¤¾à¤ªà¤¿à¤¤ करें" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "डीबग पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿ देखें" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "अवतार देखें" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "साइट पर जाà¤à¤‚" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "हम आपके हमारी सेवा में शामिल होने को लेकर बहà¥à¤¤ उतà¥à¤¸à¤¾à¤¹à¤¿à¤¤ हैं!" @@ -2549,6 +3975,10 @@ msgstr "हम आपके हमारी सेवा में शामिà #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." #~ msgstr "" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "" @@ -2566,6 +3996,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "इस {collectionName} के साथ कà¥à¤¯à¤¾ मà¥à¤¦à¥à¤¦à¤¾ है?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "" @@ -2590,23 +4021,30 @@ msgstr "" msgid "Wide" msgstr "चौड़ा" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "पोसà¥à¤Ÿ लिखो" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "अपना जवाब दें" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "हाà¤" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "आप किसी à¤à¥€ समय होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à¤¦à¤¾à¤¤à¤¾à¤“ं को बदल सकते हैं।।" @@ -2616,7 +4054,7 @@ msgstr "आप किसी à¤à¥€ समय होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à msgid "You can now sign in with your new password." msgstr "अब आप अपने नठपासवरà¥à¤¡ के साथ साइन इन कर सकते हैं।।" -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 पर रहेंगे तो हम आपको कà¥à¤› à¤à¥‡à¤œà¥‡à¤‚गे।" @@ -2624,7 +4062,7 @@ msgstr "आपके पास अà¤à¥€ तक कोई आमंतà¥à¤°à¤£ msgid "You don't have any pinned feeds." msgstr "आपके पास कोई पिन किया हà¥à¤† फ़ीड नहीं है." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "" @@ -2632,16 +4070,24 @@ msgstr "" msgid "You don't have any saved feeds." msgstr "आपके पास कोई सहेजी गई फ़ीड नहीं है." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "आपने लेखक को अवरà¥à¤¦à¥à¤§ किया है या आपने लेखक दà¥à¤µà¤¾à¤°à¤¾ अवरà¥à¤¦à¥à¤§ किया है।।" -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "आपके पास कोई सूची नहीं है।।" @@ -2649,7 +4095,7 @@ msgstr "आपके पास कोई सूची नहीं है।।" 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:86 +#: 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 "आपने अà¤à¥€ तक कोई à¤à¤ª पासवरà¥à¤¡ नहीं बनाया है। आप नीचे बटन दबाकर à¤à¤• बना सकते हैं।।" @@ -2657,23 +4103,48 @@ msgstr "आपने अà¤à¥€ तक कोई à¤à¤ª पासवरà¥à¤¡ न 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/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." msgstr "आपको \"reset code\" के साथ à¤à¤• ईमेल पà¥à¤°à¤¾à¤ªà¥à¤¤ होगा। उस कोड को यहाठदरà¥à¤œ करें, फिर अपना नया पासवरà¥à¤¡ दरà¥à¤œ करें।।" +#: 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/Step2.tsx:58 msgid "Your account" msgstr "आपका खाता" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 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/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "" -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "आपका ईमेल बचाया गया है! हम जलà¥à¤¦ ही संपरà¥à¤• में रहेंगे।।" @@ -2681,30 +4152,43 @@ msgstr "आपका ईमेल बचाया गया है! हम जठ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:108 +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "आपका पूरा हैंडल होगा" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "आपका होसà¥à¤Ÿà¤¿à¤‚ग पà¥à¤°à¤¦à¤¾à¤¤à¤¾" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "आपकी पोसà¥à¤Ÿ, पसंद और बà¥à¤²à¥‰à¤• सारà¥à¤µà¤œà¤¨à¤¿à¤• हैं। मà¥à¤¯à¥‚ट निजी हैं।।" -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "आपकी पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤²" @@ -2720,6 +4204,10 @@ msgstr "आपकी पà¥à¤°à¥‹à¤«à¤¼à¤¾à¤‡à¤²" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "आपका यूजर हैंडल" diff --git a/src/locale/locales/id/messages.po b/src/locale/locales/id/messages.po index add00b346..f32a00eff 100644 --- a/src/locale/locales/id/messages.po +++ b/src/locale/locales/id/messages.po @@ -13,29 +13,38 @@ msgstr "" "Language-Team: danninov, thinkbyte1024, mary-ext\n" "Plural-Forms: \n" -#: src/view/shell/desktop/RightNav.tsx:160 +#: 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, plural, one {# kode undangan tersedia} other {# kode undangan tersedia}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "Daftar {purposeLabel} {0}" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "Daftar {purposeLabel} {0}" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" -#: src/view/shell/desktop/RightNav.tsx:143 +#: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, one {Kode undangan: # tersedia} other {Kode undangan: # tersedia}}" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "{invitesAvailable} kode undangan tersedia" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "{invitesAvailable} kode undangan tersedia" @@ -43,10 +52,22 @@ msgstr "{invitesAvailable} kode undangan tersedia" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> anggota" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>Pilih</0><1>Rekomendasi</1><2>Feed</2>" @@ -55,6 +76,14 @@ msgstr "<0>Pilih</0><1>Rekomendasi</1><2>Feed</2>" msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" msgstr "<0>Ikuti</0><1>Rekomendasi</1><2>Pengguna</2>" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "Peringatan konten telah diterapkan pada {0}" @@ -63,23 +92,61 @@ msgstr "Peringatan konten telah diterapkan pada {0}" msgid "A new version of the app is available. Please update to continue using the app." msgstr "Versi terbaru aplikasi telah tersedia. Mohon perbarui untuk melanjutkan." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "Aksesibilitas" -#: src/view/com/auth/login/LoginForm.tsx:159 -#: src/view/screens/Settings.tsx:286 +#: src/view/com/auth/login/LoginForm.tsx:163 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Akun" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +msgid "Account Muted by List" +msgstr "" + #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" msgstr "Preferensi akun" +#: src/view/com/util/AccountDropdownBtn.tsx:25 +msgid "Account removed from quick access" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:754 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "Tambah" @@ -87,20 +154,27 @@ msgstr "Tambah" msgid "Add a content warning" msgstr "Tambahkan peringatan konten" -#: src/view/screens/ProfileList.tsx:744 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "Tambahkan pengguna ke daftar ini" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Tambahkan akun" #: src/view/com/composer/photos/Gallery.tsx:119 #: src/view/com/composer/photos/Gallery.tsx:180 +#: src/view/com/modals/AltImage.tsx:93 msgid "Add alt text" msgstr "Tambahkan teks alt" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -110,32 +184,41 @@ msgstr "Tambahkan detail" msgid "Add details to report" msgstr "Tambahkan detail ke laporan" -#: src/view/com/composer/Composer.tsx:438 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Tambahkan kartu tautan" -#: src/view/com/composer/Composer.tsx:441 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "Tambahkan kartu tautan:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "Tambahkan DNS record berikut ke domain Anda:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "Tambahkan ke Daftar" -#: src/view/screens/ProfileFeed.tsx:270 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Add to my feeds" msgstr "Tambakan ke feed saya" +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 +msgid "Added" +msgstr "" + #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 msgid "Added to list" msgstr "Telah ditambahkan ke daftar" -#: src/view/screens/PreferencesHomeFeed.tsx:164 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "Atur jumlah suka dari balasan yang akan ditampilkan di feed Anda." @@ -143,10 +226,18 @@ msgstr "Atur jumlah suka dari balasan yang akan ditampilkan di feed Anda." msgid "Adult Content" msgstr "Konten Dewasa" -#: src/view/screens/Settings.tsx:569 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Lanjutan" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -159,7 +250,7 @@ msgstr "Teks alt" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "Teks alt mendeskripsikan gambar untuk pengguna disabilitas netra, serta memberikan konteks ke semua orang." -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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 "Email telah dikirim ke {0} berisikan kode konfirmasi yang bisa dimasukkan di bawah ini." @@ -167,7 +258,12 @@ msgstr "Email telah dikirim ke {0} berisikan kode konfirmasi yang bisa dimasukka msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "Email telah dikirim ke alamat Anda sebelumnya, {0}. Masukkan kode konfirmasi yang terdapat di dalamnya di bawah ini." -#: src/view/com/notifications/FeedItem.tsx:236 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "dan" @@ -176,15 +272,32 @@ msgstr "dan" msgid "App Language" msgstr "Bahasa Aplikasi" -#: src/view/screens/Settings.tsx:589 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "Kata sandi aplikasi" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "Kata sandi Aplikasi" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "Ajukan banding peringatan konten" @@ -204,82 +317,102 @@ msgstr "Ajukan banding untuk keputusan ini" msgid "Appeal this decision." msgstr "Ajukan banding untuk keputusan ini." -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "Tampilan" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "Anda yakin untuk menghapus kata sandi aplikasi \"{name}\"?" -#: src/view/com/composer/Composer.tsx:142 +#: src/view/com/composer/Composer.tsx:143 msgid "Are you sure you'd like to discard this draft?" msgstr "Anda yakin untuk membuang draf ini?" -#: src/view/screens/ProfileList.tsx:352 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "Anda yakin?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "Anda yakin? Ini tidak dapat dibatalkan" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "Ketelanjangan artistik atau non-erotis." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:249 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 -#: src/view/com/modals/report/InputIssueDetails.tsx:45 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 +#: src/view/com/modals/report/InputIssueDetails.tsx:46 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "Kembali" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "Dasar" -#: src/view/com/auth/create/Step2.tsx:131 -#: src/view/com/modals/BirthDateSettings.tsx:72 +#: src/view/com/auth/create/Step2.tsx:156 +#: src/view/com/modals/BirthDateSettings.tsx:73 msgid "Birthday" msgstr "Tanggal lahir" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "Tanggal lahir:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "Blokir Akun" -#: src/view/screens/ProfileList.tsx:522 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "Blokir akun" -#: src/view/screens/ProfileList.tsx:472 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "Daftar blokir" -#: src/view/screens/ProfileList.tsx:307 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "Blokir akun ini?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "Akun yang diblokir" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "Akun yang diblokir" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda." @@ -287,11 +420,11 @@ msgstr "Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda 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 "Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda. Anda tidak akan melihat konten mereka dan mereka akan dicegah melihat konten Anda." -#: src/view/com/post-thread/PostThread.tsx:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "Postingan yang diblokir." -#: src/view/screens/ProfileList.tsx:309 +#: 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 "Blokir bersifat publik. Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda." @@ -303,14 +436,17 @@ msgstr "Blog" 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 itu fleksibel." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky itu terbuka." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky bersifat publik." @@ -327,7 +463,7 @@ msgstr "Bluesky tidak akan menampilkan profil dan postingan Anda ke pengguna yan msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:718 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Versi {0} {1}" @@ -335,44 +471,71 @@ msgstr "Versi {0} {1}" msgid "Business" msgstr "Bisnis" +#: 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "Hanya dapat terdiri dari huruf, angka, spasi, tanda hubung dan garis bawah. Minimal 4 karakter, namun tidak boleh lebih dari 32 karakter." -#: src/view/com/composer/Composer.tsx:285 -#: src/view/com/composer/Composer.tsx:288 -#: src/view/com/modals/AltImage.tsx:128 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:584 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "Batal" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Batal menghapus akun" #: src/view/com/modals/AltImage.tsx:123 -msgid "Cancel add image alt text" -msgstr "Batal menambahkan teks alt gambar" +#~ msgid "Cancel add image alt text" +#~ msgstr "Batal menambahkan teks alt gambar" #: src/view/com/modals/ChangeHandle.tsx:149 msgid "Cancel change handle" @@ -382,29 +545,34 @@ msgstr "Batal mengubah handle" msgid "Cancel image crop" msgstr "Batal memotong gambar" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "Batal mengedit profil" -#: src/view/com/modals/Repost.tsx:64 +#: src/view/com/modals/Repost.tsx:78 msgid "Cancel quote post" msgstr "Batal mengutip postingan" #: src/view/com/modals/ListAddRemoveUsers.tsx:87 -#: src/view/shell/desktop/Search.tsx:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "Batal mencari" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "Batal mendaftar di daftar tunggu" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "Ubah" +msgstr "" -#: src/view/screens/Settings.tsx:601 -#: src/view/screens/Settings.tsx:610 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "Ubah" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Ubah handle" @@ -412,10 +580,14 @@ msgstr "Ubah handle" msgid "Change Handle" msgstr "Ubah Handle" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "Ubah email saya" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Ubah Email Anda" @@ -428,43 +600,58 @@ msgstr "Lihat beberapa rekomendasi feed. Ketuk + untuk menambahkan ke daftar fee msgid "Check out some recommended users. Follow them to see similar users." msgstr "Lihat beberapa rekomendasi pengguna. Ikuti mereka untuk melihat pengguna serupa." -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "Periksa kotak masuk email Anda untuk kode konfirmasi dan masukkan di bawah ini:" +#: src/view/com/modals/Threadgate.tsx:72 +msgid "Choose \"Everybody\" or \"Nobody\"" +msgstr "" + +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "Pilih Layanan" +#: 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 "Pilih algoritma yang akan digunakan untuk kustom feed Anda." -#: src/view/com/auth/create/Step2.tsx:106 +#: src/view/com/auth/create/Step2.tsx:127 msgid "Choose your password" msgstr "Pilih kata sandi Anda" -#: src/view/screens/Settings.tsx:694 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "Hapus semua data penyimpanan lama" -#: src/view/screens/Settings.tsx:696 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "Hapus semua data penyimpanan lama (mulai ulang setelah ini)" -#: src/view/screens/Settings.tsx:706 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "Hapus semua data penyimpanan" -#: src/view/screens/Settings.tsx:708 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "Hapus semua data penyimpanan (mulai ulang setelah ini)" -#: src/view/com/util/forms/SearchInput.tsx:73 -#: src/view/screens/Search/Search.tsx:569 +#: src/view/com/util/forms/SearchInput.tsx:74 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "Hapus kueri pencarian" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Tutup peringatan" @@ -485,23 +672,54 @@ msgstr "Tutup penampil gambar" msgid "Close navigation footer" msgstr "Tutup footer navigasi" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "Panduan Komunitas" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "Tulis balasan" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:299 -#: src/view/screens/PreferencesThreads.tsx:153 +#: 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 "Konfirmasi" +#: 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" @@ -511,18 +729,26 @@ msgstr "Konfirmasi Perubahan" msgid "Confirm content language settings" msgstr "Konfirmasi pengaturan bahasa konten" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Konfirmasi hapus akun" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: src/view/com/modals/VerifyEmail.tsx:165 msgid "Confirmation code" msgstr "Código de confirmación" +#: src/view/com/modals/Waitlist.tsx:120 +msgid "Confirms signing up {email} to the waitlist" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:268 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "Menghubungkan..." @@ -539,6 +765,11 @@ msgstr "Penyaring Konten" msgid "Content Languages" msgstr "Bahasa konten" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "Peringatan Konten" @@ -552,71 +783,127 @@ msgstr "Peringatan konten" msgid "Continue" msgstr "Lanjutkan" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "Disalin" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "Salin" -#: src/view/screens/ProfileList.tsx:384 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "Salin tautan ke daftar" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "Salin tautan ke postingan" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "Salin tautan ke profil" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "Salin teks postingan" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "Kebijakan Hak Cipta" -#: src/view/screens/ProfileFeed.tsx:94 +#: src/view/screens/ProfileFeed.tsx:95 msgid "Could not load feed" msgstr "Tidak dapat memuat feed" -#: src/view/screens/ProfileList.tsx:830 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "Tidak dapat memuat daftar" #: 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 "Buat akun baru" -#: src/view/com/auth/create/CreateAccount.tsx:120 +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + +#: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "Buat Akun" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "Buat akun baru" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "Dibuat {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "Domain kustom" -#: src/view/screens/Settings.tsx:615 +#: src/view/screens/PreferencesExternalEmbeds.tsx:55 +msgid "Customize media from external sites." +msgstr "" + +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Zona Berbahaya" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" + +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Hapus akun" @@ -624,40 +911,44 @@ msgstr "Hapus akun" msgid "Delete Account" msgstr "Hapus Akun" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "Hapus kata sandi aplikasi" -#: src/view/screens/ProfileList.tsx:351 -#: src/view/screens/ProfileList.tsx:411 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "Hapus Daftar " -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Hapus akun saya" -#: src/view/screens/Settings.tsx:632 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Menghapus akun saya..." -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "Hapus postingan" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "Hapus postingan ini?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "Postingan dihapus." -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "Deskripsi" @@ -665,15 +956,19 @@ msgstr "Deskripsi" msgid "Dev Server" msgstr "Server Dev" -#: src/view/screens/Settings.tsx:637 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "Alat Pengembang" -#: src/view/com/composer/Composer.tsx:143 +#: src/view/com/composer/Composer.tsx:211 +msgid "Did you want to say anything?" +msgstr "" + +#: src/view/com/composer/Composer.tsx:144 msgid "Discard" msgstr "Buang" -#: src/view/com/composer/Composer.tsx:137 +#: src/view/com/composer/Composer.tsx:138 msgid "Discard draft" msgstr "Buang draf" @@ -681,34 +976,53 @@ msgstr "Buang draf" msgid "Discourage apps from showing my account to logged-out users" msgstr "Cegah aplikasi untuk menampilkan akun saya ke pengguna yang tidak login" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "Temukan feed baru" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "Nama tampilan" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "Nama Tampilan" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "Domain terverifikasi!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:302 -#: src/view/screens/PreferencesThreads.tsx:156 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 +#: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "Selesai" @@ -716,83 +1030,180 @@ msgstr "Selesai" msgid "Done{extraText}" msgstr "Selesai{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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 "Tiap kode hanya berlaku sekali. Anda akan mendapatkan tambahan kode undangan secara berkala." +#: src/view/com/lists/ListMembers.tsx:149 +msgctxt "action" +msgid "Edit" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "Edit gambar" -#: src/view/screens/ProfileList.tsx:399 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "Edit detail daftar" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "Edit Feed Saya" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "Edit profil saya" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "Edit profil" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "Edit Profil" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "Edit Feed Tersimpan" -#: src/view/com/auth/create/Step2.tsx:90 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 +#: 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 "Email" -#: src/view/com/auth/create/Step2.tsx:81 +#: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "Alamat email" +#: 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 "Email Diupdate" -#: src/view/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "Email:" -#: src/view/screens/PreferencesHomeFeed.tsx:138 +#: src/view/com/modals/EmbedConsent.tsx:113 +msgid "Enable {0} only" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +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/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "Aktifkan opsi ini untuk hanya menampilkan balasan dari akun yang Anda ikuti." -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "Akhir feed" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "Masukkan alamat provider Anda:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "Masukkan domain yang ingin Anda gunakan" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "Masukkan email yang Anda gunakan untuk membuat akun. Kami akan mengirimkan \"kode reset\" untuk mengatur kata sandi baru." -#: src/view/com/auth/create/Step2.tsx:86 +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:104 msgid "Enter your email address" msgstr "Masukkan email Anda" +#: 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 "Masukkan email baru Anda." @@ -809,16 +1220,78 @@ msgstr "Eror:" msgid "Everybody" msgstr "Semua orang" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" msgstr "Tampilkan teks alt" +#: src/view/com/composer/ComposerReplyTo.tsx:81 +#: src/view/com/composer/ComposerReplyTo.tsx:84 +msgid "Expand or collapse the full post you are replying to" +msgstr "" + +#: 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:260 +#: src/view/screens/PreferencesExternalEmbeds.tsx:52 +#: src/view/screens/Settings.tsx:623 +msgid "External Media Preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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 "Gagal memuat rekomendasi feed" -#: src/view/screens/Feeds.tsx:554 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "Feed offline" @@ -826,17 +1299,18 @@ msgstr "Feed offline" msgid "Feed Preferences" msgstr "Preferensi Feed" -#: src/view/shell/desktop/RightNav.tsx:65 +#: src/view/shell/desktop/RightNav.tsx:73 #: src/view/shell/Drawer.tsx:311 msgid "Feedback" msgstr "Masukan" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 -#: src/view/shell/desktop/LeftNav.tsx:340 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/desktop/LeftNav.tsx:342 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "Feed" @@ -848,11 +1322,17 @@ msgstr "Feed dibuat oleh pengguna untuk mengkurasi konten. Pilih beberapa feed y msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "Feed merupakan algoritma kustom yang dibuat pengguna dengan sedikit kemampuan menulis kode. <0/> untuk informasi lainnya." -#: src/view/screens/Search/Search.tsx:414 +#: 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:427 msgid "Find users on Bluesky" msgstr "Temukan pengguna di Bluesky" -#: src/view/screens/Search/Search.tsx:412 +#: src/view/screens/Search/Search.tsx:425 msgid "Find users with the search tool on the right" msgstr "Temukan pengguna dengan alat pencarian di sebelah kanan" @@ -860,7 +1340,7 @@ msgstr "Temukan pengguna dengan alat pencarian di sebelah kanan" msgid "Finding similar accounts..." msgstr "Mencari akun serupa..." -#: src/view/screens/PreferencesHomeFeed.tsx:102 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "Atur konten yang Anda lihat di beranda." @@ -868,52 +1348,86 @@ msgstr "Atur konten yang Anda lihat di beranda." msgid "Fine-tune the discussion threads." msgstr "Atur utasan diskusi." -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "Ikuti" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +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 "Ikuti beberapa pengguna untuk memulai. Kami dapat merekomendasikan lebih banyak pengguna yang mungkin menarik Anda." +#: src/view/com/profile/ProfileCard.tsx:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "Pengguna yang diikuti" -#: src/view/screens/PreferencesHomeFeed.tsx:145 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "Hanya pengguna yang diikuti" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "Pengikut" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "mengikuti" +#~ msgid "following" +#~ msgstr "mengikuti" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "Mengikuti" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "Mengikuti Anda" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "Untuk alasan keamanan, kami akan mengirimkan kode konfirmasi ke alamat email Anda." -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "Untuk alasan keamanan, Anda tidak akan dapat melihat ini lagi. Jika Anda lupa kata sandi ini, Anda harus membuat yang baru." -#: src/view/com/auth/login/LoginForm.tsx:231 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "Lupa" -#: src/view/com/auth/login/LoginForm.tsx:228 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Lupa kata sandi" @@ -922,11 +1436,17 @@ msgstr "Lupa kata sandi" msgid "Forgot Password" msgstr "Lupa Kata Sandi" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "Galeri" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "Mulai" @@ -937,16 +1457,16 @@ msgstr "Mulai" msgid "Go back" msgstr "Kembali" -#: src/view/screens/ProfileFeed.tsx:103 -#: src/view/screens/ProfileFeed.tsx:108 -#: src/view/screens/ProfileList.tsx:839 -#: src/view/screens/ProfileList.tsx:844 +#: src/view/screens/ProfileFeed.tsx:104 +#: src/view/screens/ProfileFeed.tsx:109 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "Kembali" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:278 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "Berikutnya" @@ -954,66 +1474,84 @@ msgstr "Berikutnya" msgid "Handle" msgstr "Handle" -#: src/view/shell/desktop/RightNav.tsx:94 +#: src/view/shell/desktop/RightNav.tsx:102 #: src/view/shell/Drawer.tsx:321 msgid "Help" msgstr "Bantuan" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "Berikut kata sandi aplikasi Anda." -#: src/view/com/notifications/FeedItem.tsx:316 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "Sembunyikan" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "Sembunyikan postingan" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "Sembunyikan postingan ini?" -#: src/view/com/notifications/FeedItem.tsx:308 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "Sembunyikan daftar pengguna" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + +#: 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, sepertinya ada masalah saat menghubungi server feed. Beritahu pemilik feed tentang masalah ini." -#: src/view/com/posts/FeedErrorMessage.tsx:98 +#: 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, sepertinya adalah kesalahan konfigurasi pada server feed. Beritahu pemilik feed tentang masalah ini." -#: src/view/com/posts/FeedErrorMessage.tsx:104 +#: 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, sepertinya server feed offline. Beritahu pemilik feed tentang masalah ini." -#: src/view/com/posts/FeedErrorMessage.tsx:101 +#: 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, server feed memberikan respon yang buruk. Beritahu pemilik feed tentang masalah ini." -#: src/view/com/posts/FeedErrorMessage.tsx:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "Hmm, kami tidak dapat menemukan feed ini. Mungkin sudah dihapus" +#: src/Navigation.tsx:432 #: src/view/shell/bottom-bar/BottomBar.tsx:137 -#: src/view/shell/desktop/LeftNav.tsx:304 +#: src/view/shell/desktop/LeftNav.tsx:306 #: src/view/shell/Drawer.tsx:398 #: src/view/shell/Drawer.tsx:399 msgid "Home" msgstr "Beranda" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:95 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "Preferensi Feed Beranda" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "Provider hosting" @@ -1022,18 +1560,34 @@ msgstr "Provider hosting" msgid "Hosting provider address" msgstr "Alamat provider hosting" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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 "Saya punya kode" -#: src/view/com/modals/ChangeHandle.tsx:281 +#: 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 "Saya punya domain sendiri" +#: src/view/com/lightbox/Lightbox.web.tsx:158 +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 "Jika tidak ada yang dipilih, cocok untuk semua umur." +#: src/view/com/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Teks alt gambar" @@ -1043,20 +1597,77 @@ msgstr "Teks alt gambar" msgid "Image options" msgstr "Pilihan gambar" -#: src/view/com/auth/login/LoginForm.tsx:113 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "Username atau kata sandi salah" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "Undang" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "Undang Teman" -#: src/view/com/auth/create/Step2.tsx:57 +#: src/view/com/auth/create/Step2.tsx:63 +#: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "Kode Undangan" @@ -1064,10 +1675,18 @@ msgstr "Kode Undangan" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "Kode undangan salah. Periksa bahwa Anda memasukkannya dengan benar dan coba lagi." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "Kode undangan: {invitesAvailable} tersedia" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "Karir" @@ -1076,12 +1695,12 @@ msgstr "Karir" msgid "Join the waitlist" msgstr "Gabung ke daftar tunggu" -#: src/view/com/auth/create/Step2.tsx:68 -#: src/view/com/auth/create/Step2.tsx:72 +#: src/view/com/auth/create/Step2.tsx:86 +#: src/view/com/auth/create/Step2.tsx:90 msgid "Join the waitlist." msgstr "Gabung ke daftar tunggu." -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "Gabung ke Daftar Tunggu" @@ -1089,15 +1708,24 @@ msgstr "Gabung ke Daftar Tunggu" msgid "Language selection" msgstr "Pilih bahasa" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "Pengaturan Bahasa" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Bahasa" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "Pelajari lebih lanjut" @@ -1107,9 +1735,9 @@ msgstr "Pelajari lebih lanjut" msgid "Learn More" msgstr "Pelajari Lebih Lanjut" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1123,10 +1751,14 @@ msgstr "Pelajari lebih lanjut tentang apa yang publik di Bluesky." msgid "Leave them all unchecked to see any language." msgstr "Biarkan semua tidak tercentang untuk melihat bahasa apa pun." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Meninggalkan Bluesky" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1137,44 +1769,105 @@ msgstr "Reset kata sandi Anda!" msgid "Library" msgstr "Pustaka" -#: src/view/screens/ProfileFeed.tsx:577 +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "Suka feed ini" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "Disukai oleh" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "Suka" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "Avatar Daftar" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "Nama Daftar" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 -#: src/view/shell/desktop/LeftNav.tsx:377 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/desktop/LeftNav.tsx:379 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "Daftar" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "Muat postingan lainnya" -#: src/view/screens/Notifications.tsx:144 +#: src/view/screens/Notifications.tsx:148 msgid "Load new notifications" msgstr "Muat notifikasi baru" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "Muat postingan baru" @@ -1186,6 +1879,10 @@ msgstr "Memuat..." msgid "Local dev server" msgstr "Server dev lokal" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:136 msgid "Logged-out visibility" msgstr "Visibilitas pengguna yang tidak login" @@ -1198,7 +1895,7 @@ msgstr "Masuk ke akun yang tidak ada di daftar" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "Sepertinya feed ini hanya tersedia untuk pengguna dengan akun Bluesky. Silakan daftar atau masuk untuk melihat feed ini!" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "Pastikan ini adalah website yang Anda tuju!" @@ -1214,64 +1911,119 @@ msgstr "pengguna yang disebutkan" msgid "Mentioned users" msgstr "Pengguna yang disebutkan" -#: src/view/screens/Search/Search.tsx:529 +#: src/view/com/util/ViewHeader.tsx:81 +#: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "Menu" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "Pesan dari server" +#~ msgid "Message from server" +#~ msgstr "Pesan dari server" +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" + +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 -#: src/view/shell/desktop/LeftNav.tsx:395 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/screens/Settings.tsx:591 +#: src/view/shell/desktop/LeftNav.tsx:397 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "Moderasi" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "Daftar moderasi" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "Daftar Moderasi" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "Feed lainnya" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:360 -#: src/view/screens/ProfileList.tsx:583 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "Pilihan lainnya" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" + +#: src/view/screens/PreferencesThreads.tsx:82 +msgid "Most-liked replies first" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "Bisukan Akun" -#: src/view/screens/ProfileList.tsx:510 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "Bisukan akun" -#: src/view/screens/ProfileList.tsx:457 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "Daftar akun yang dibisukan" -#: src/view/screens/ProfileList.tsx:270 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "Bisukan akun ini?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "Bisukan utasan" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Akun yang dibisukan" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "Akun yang Dibisukan" @@ -1280,7 +2032,7 @@ msgstr "Akun yang Dibisukan" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "Postingan dari akun yang dibisukan akan dihilangkan dari feed dan notifikasi Anda. Pembisuan ini bersifat privat." -#: src/view/screens/ProfileList.tsx:272 +#: 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 "Pembisuan akun bersifat privat. Akun yang dibisukan tetap dapat berinteraksi dengan Anda, namun Anda tidak akan melihat postingan atau notifikasi dari mereka." @@ -1288,7 +2040,7 @@ msgstr "Pembisuan akun bersifat privat. Akun yang dibisukan tetap dapat berinter msgid "My Birthday" msgstr "Tanggal Lahir Saya" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "Feed Saya" @@ -1296,79 +2048,149 @@ msgstr "Feed Saya" msgid "My Profile" msgstr "Profil Saya" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Feed Tersimpan Saya" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "Nama" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + +#: src/view/com/modals/EmbedConsent.tsx:107 +#: src/view/com/modals/EmbedConsent.tsx:123 +msgid "Never load embeds from {0}" +msgstr "" + +#: 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 "Tidak akan lagi kehilangan akses ke data dan pengikut Anda." #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "Baru" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:505 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:430 -#: src/view/screens/ProfileList.tsx:193 -#: src/view/screens/ProfileList.tsx:221 -#: src/view/shell/desktop/LeftNav.tsx:247 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 +#: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "Postingan baru" -#: src/view/shell/desktop/LeftNav.tsx:257 +#: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "Postingan Baru" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:257 +#~ msgid "New Post" +#~ msgstr "Postingan Baru" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" + +#: src/view/screens/PreferencesThreads.tsx:79 +msgid "Newest replies first" +msgstr "" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:281 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "Berikutnya" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "Gambar berikutnya" -#: src/view/screens/PreferencesHomeFeed.tsx:191 -#: src/view/screens/PreferencesHomeFeed.tsx:226 -#: src/view/screens/PreferencesHomeFeed.tsx:263 +#: 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 "Tidak" -#: src/view/screens/ProfileFeed.tsx:570 -#: src/view/screens/ProfileList.tsx:711 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "Tidak ada deskripsi" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "Tidak ada hasil" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "Tidak ada hasil ditemukan untuk \"{query}\"" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 -#: src/view/screens/Search/Search.tsx:263 -#: src/view/screens/Search/Search.tsx:291 -#: src/view/screens/Search/Search.tsx:607 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:270 +#: src/view/screens/Search/Search.tsx:298 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "Tidak ada hasil ditemukan untuk {query}" +#: src/view/com/modals/EmbedConsent.tsx:129 +msgid "No thanks" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:82 msgid "Nobody" msgstr "Tak seorang pun" @@ -1377,19 +2199,33 @@ msgstr "Tak seorang pun" msgid "Not Applicable." msgstr "Tidak Berlaku." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:232 msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites." msgstr "Catatan: Bluesky merupakan jaringan terbuka dan publik. Pengaturan ini hanya akan membatasi visibilitas konten Anda pada aplikasi dan website Bluesky, dan aplikasi lain mungkin tidak mengindahkan pengaturan ini. Konten Anda mungkin tetap ditampilkan kepada pengguna yang tidak login oleh aplikasi dan website lain." -#: src/view/screens/Notifications.tsx:109 -#: src/view/screens/Notifications.tsx:133 +#: src/Navigation.tsx:447 +#: src/view/screens/Notifications.tsx:113 +#: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 -#: src/view/shell/desktop/LeftNav.tsx:359 +#: src/view/shell/desktop/LeftNav.tsx:361 #: src/view/shell/Drawer.tsx:435 #: src/view/shell/Drawer.tsx:436 msgid "Notifications" msgstr "Notifikasi" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "Oh tidak!" @@ -1398,7 +2234,15 @@ msgstr "Oh tidak!" msgid "Okay" msgstr "Baiklah" -#: src/view/com/composer/Composer.tsx:354 +#: src/view/screens/PreferencesThreads.tsx:78 +msgid "Oldest replies first" +msgstr "" + +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Satu atau lebih gambar belum ada teks alt." @@ -1406,51 +2250,135 @@ msgstr "Satu atau lebih gambar belum ada teks alt." msgid "Only {0} can reply." msgstr "Hanya {0} dapat membalas." +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 +msgid "Open emoji picker" +msgstr "" + +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "Buka navigasi" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Buka pengaturan bahasa yang dapat dikonfigurasi" -#: src/view/shell/desktop/RightNav.tsx:148 -#: src/view/shell/Drawer.tsx:641 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 +msgid "Opens external embeds settings" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 +#: src/view/shell/desktop/RightNav.tsx:156 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "Buka daftar kode undangan" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "Buka modal untuk menggunakan domain kustom" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Buka pengaturan moderasi" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Buka halaman dengan semua feed tersimpan" -#: src/view/screens/Settings.tsx:581 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Buka halaman pengaturan kata sandi aplikasi" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Buka preferensi feed beranda" -#: src/view/screens/Settings.tsx:664 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "Buka halaman storybook" -#: src/view/screens/Settings.tsx:644 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Buka halaman log sistem" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Buka preferensi utasan" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + +#: src/view/com/modals/Threadgate.tsx:89 +msgid "Or combine these options:" +msgstr "" + #: src/view/com/auth/login/ChooseAccountForm.tsx:138 msgid "Other account" msgstr "Akun lainnya" @@ -1468,11 +2396,11 @@ msgstr "Lainnya..." msgid "Page not found" msgstr "Halaman tidak ditemukan" -#: src/view/com/auth/create/Step2.tsx:101 -#: src/view/com/auth/create/Step2.tsx:111 -#: src/view/com/auth/login/LoginForm.tsx:216 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/create/Step2.tsx:122 +#: src/view/com/auth/create/Step2.tsx:132 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Kata sandi" @@ -1484,14 +2412,48 @@ msgstr "Kata sandi diganti" msgid "Password updated!" msgstr "Kata sandi diganti!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "Gambar khusus dewasa." +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "Feed Tersemat" +#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111 +msgid "Play {0}" +msgstr "" + +#: 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 "" + #: src/view/com/auth/create/state.ts:116 msgid "Please choose your handle." msgstr "Silakan pilih handle Anda." @@ -1504,7 +2466,11 @@ msgstr "Masukkan kata sandi Anda." 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 "Mohon konfirmasi email Anda sebelum menggantinya. Ini adalah syarat sementara sampai alat mengganti-email tersedia, setelah itu syarat ini akan dihilangkan." -#: src/view/com/modals/AddAppPasswords.tsx:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Mohon masukkan nama unik untuk Kata Sandi Aplikasi ini atau gunakan nama acak yang kami buat." @@ -1512,7 +2478,7 @@ msgstr "Mohon masukkan nama unik untuk Kata Sandi Aplikasi ini atau gunakan nama msgid "Please enter your email." msgstr "Masukkan email Anda." -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "Masukkan juga kata sandi Anda:" @@ -1526,13 +2492,51 @@ msgstr "Mohon beritahu kami mengapa menurut Anda peringatan konten ini salah!" #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "Mohon beritahu kami mengapa menurut Anda keputusan ini salah." +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + +#: src/view/com/composer/Composer.tsx:215 +msgid "Please wait for your link card to finish loading" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:337 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "Posting" +#~ msgid "Post" +#~ msgstr "Posting" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "Postingan disembunyikan" @@ -1544,7 +2548,7 @@ msgstr "Bahasa postingan" msgid "Post Languages" msgstr "Bahasa Postingan" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "Postingan tidak ditemukan" @@ -1552,7 +2556,11 @@ msgstr "Postingan tidak ditemukan" msgid "Posts" msgstr "Postingan" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Tautan yang Mungkin Menyesatkan" @@ -1564,33 +2572,39 @@ msgstr "Gambar sebelumnya" msgid "Primary Language" msgstr "Bahasa Utama" -#: src/view/screens/PreferencesThreads.tsx:91 +#: src/view/screens/PreferencesThreads.tsx:97 msgid "Prioritize Your Follows" msgstr "Prioritaskan Pengikut Anda" -#: src/view/shell/desktop/RightNav.tsx:76 +#: src/view/screens/Settings.tsx:598 +#: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "Privasi" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:750 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "Kebijakan Privasi" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "Memproses..." #: src/view/shell/bottom-bar/BottomBar.tsx:247 -#: src/view/shell/desktop/LeftNav.tsx:413 +#: src/view/shell/desktop/LeftNav.tsx:415 #: src/view/shell/Drawer.tsx:70 -#: src/view/shell/Drawer.tsx:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "Profil" -#: src/view/screens/Settings.tsx:808 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "Amankan akun Anda dengan memverifikasi email Anda." @@ -1602,14 +2616,35 @@ msgstr "Publik, daftar yang dapat dibagikan oleh pengguna untuk membisukan atau msgid "Public, shareable lists which can drive feeds." msgstr "Publik, daftar yang dapat dibagikan dan dapat berimbas ke feed." -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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 "Kutip postingan" -#: src/view/com/modals/Repost.tsx:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "Kutip Postingan" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "Kutip Postingan" + +#: src/view/screens/PreferencesThreads.tsx:86 +msgid "Random (aka \"Poster's Roulette\")" +msgstr "" #: src/view/com/modals/EditImage.tsx:236 msgid "Ratios" @@ -1625,7 +2660,7 @@ msgstr "Pengguna Direkomendasikan" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1639,13 +2674,16 @@ msgstr "Hapus {0} dari daftar feed saya?" msgid "Remove account" msgstr "Hapus akun" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "Hapus feed" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:270 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "Hapus dari feed saya" @@ -1657,11 +2695,15 @@ msgstr "Hapus gambar" msgid "Remove image preview" msgstr "Hapus pratinjau gambar" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "Hapus feed ini dari feed saya?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "Hapus feed ini dari feed tersimpan Anda?" @@ -1670,6 +2712,15 @@ msgstr "Hapus feed ini dari feed tersimpan Anda?" msgid "Removed from list" msgstr "Dihapus dari daftar" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "Balasan" @@ -1678,31 +2729,50 @@ msgstr "Balasan" msgid "Replies to this thread are disabled" msgstr "Balasan ke utas ini dinonaktifkan" -#: src/view/screens/PreferencesHomeFeed.tsx:135 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "Penyaring Balasan" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "Laporkan {collectionName}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "Laporkan Akun" -#: src/view/screens/ProfileFeed.tsx:290 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "Laporkan feed" -#: src/view/screens/ProfileList.tsx:425 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "Laporkan Daftar" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" msgstr "Laporkan postingan" +#: 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 "Posting ulang" @@ -1716,55 +2786,106 @@ msgstr "Posting ulang atau kutip postingan" msgid "Reposted by" msgstr "Diposting ulang oleh" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" msgstr "Ajukan Perubahan" -#: src/view/com/auth/create/Step2.tsx:53 +#: src/view/screens/Settings.tsx:450 +msgid "Require alt text before posting" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:68 msgid "Required for this provider" msgstr "Diwajibkan untuk provider ini" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "Kode reset" -#: src/view/screens/Settings.tsx:686 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "Reset status onboarding" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "Reset kata sandi" -#: src/view/screens/Settings.tsx:676 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" -msgstr Reset status preferensi" +msgstr "" -#: src/view/screens/Settings.tsx:684 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "Reset status onboarding" -#: src/view/screens/Settings.tsx:674 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "Reset status preferensi" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:258 -#: src/view/com/auth/login/LoginForm.tsx:261 +#: 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 "Ulangi" -#: src/view/com/modals/AltImage.tsx:115 -#: src/view/com/modals/BirthDateSettings.tsx:93 -#: src/view/com/modals/BirthDateSettings.tsx:96 +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + +#: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "Simpan" @@ -1772,7 +2893,7 @@ msgstr "Simpan" msgid "Save alt text" msgstr "Simpan teks alt" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "Simpan Perubahan" @@ -1788,12 +2909,28 @@ msgstr "Simpan potongan gambar" msgid "Saved Feeds" msgstr "Simpan Feed" +#: 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:64 -#: src/view/screens/Search/Search.tsx:393 +#: src/view/com/util/forms/SearchInput.tsx:53 +#: src/view/com/util/forms/SearchInput.tsx:65 +#: src/view/screens/Search/Search.tsx:406 #: src/view/screens/Search/Search.tsx:559 +#: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 -#: src/view/shell/desktop/LeftNav.tsx:322 +#: src/view/shell/desktop/LeftNav.tsx:324 #: src/view/shell/desktop/Search.tsx:161 #: src/view/shell/desktop/Search.tsx:170 #: src/view/shell/Drawer.tsx:362 @@ -1803,6 +2940,7 @@ msgstr "Cari" #: 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 "Cari pengguna" @@ -1810,10 +2948,18 @@ msgstr "Cari pengguna" msgid "Security Step Required" msgstr "Langkah Keamanan Diperlukan" +#: src/view/screens/SavedFeeds.tsx:163 +msgid "See this guide" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" msgstr "Lihat apa yang akan datang" +#: src/view/com/util/Selector.tsx:106 +msgid "Select {item}" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Pilih Bluesky Social" @@ -1822,7 +2968,11 @@ msgstr "Pilih Bluesky Social" msgid "Select from an existing account" msgstr "Pilih dari akun yang sudah ada" -#: src/view/com/auth/login/LoginForm.tsx:143 +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Pilih layanan" @@ -1838,7 +2988,8 @@ msgstr "Pilih bahasa aplikasi Anda untuk tampilan teks bawaan dalam aplikasi" msgid "Select your preferred language for translations in your feed." msgstr "Pilih bahasa yang disukai untuk penerjemahaan feed Anda." -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "Kirim Email Konfirmasi" @@ -1846,9 +2997,14 @@ msgstr "Kirim Email Konfirmasi" msgid "Send email" msgstr "Kirim email" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "Kirim Email" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "Kirim Email" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -1859,34 +3015,85 @@ msgstr "Kirim masukan" msgid "Send Report" msgstr "Kirim Laporan" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "Buat kata sandi baru" -#: src/view/screens/PreferencesHomeFeed.tsx:216 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "Pilih \"Tidak\" untuk menyembunyikan semua kutipan postingan dari feed Anda. Posting ulang tetap akan terlihat." -#: src/view/screens/PreferencesHomeFeed.tsx:113 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "Pilih \"Tidak\" untuk menyembunyikan semua balasan dari feed Anda." -#: src/view/screens/PreferencesHomeFeed.tsx:182 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "Pilih \"Tidak\" untuk menyembunyikan semua posting ulang dari feed Anda." -#: src/view/screens/PreferencesThreads.tsx:116 +#: 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 "Pilih \"Ya\" untuk menampilkan balasan dalam bentuk utasan. Ini merupakan fitur eksperimental." -#: src/view/screens/PreferencesHomeFeed.tsx:252 +#: 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." -#: src/view/screens/Settings.tsx:277 -#: src/view/shell/desktop/LeftNav.tsx:431 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 +#: src/view/shell/desktop/LeftNav.tsx:433 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "Pengaturan" @@ -1894,49 +3101,91 @@ msgstr "Pengaturan" msgid "Sexual activity or erotic nudity." msgstr "Aktivitas seksual atau ketelanjangan erotis." -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:384 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "Bagikan" -#: src/view/screens/ProfileFeed.tsx:302 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "Bagikan feed" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "Tampilkan" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "Tetap tampilkan" -#: src/view/screens/PreferencesHomeFeed.tsx:249 +#: src/view/com/modals/EmbedConsent.tsx:87 +msgid "Show embeds from {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "Tampilkan Postingan dari Feed Saya" -#: src/view/screens/PreferencesHomeFeed.tsx:213 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "Tampilkan Kutipan Postingan" -#: src/view/screens/PreferencesHomeFeed.tsx:110 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "Tampilkan Balasan" -#: src/view/screens/PreferencesThreads.tsx:94 +#: src/view/screens/PreferencesThreads.tsx:100 msgid "Show replies by people you follow before all other replies." msgstr "Tampilkan balasan dari orang yang Anda ikuti sebelum balasan lainnya." -#: src/view/screens/PreferencesHomeFeed.tsx:179 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "Tampilkan Posting Ulang" -#: src/view/com/notifications/FeedItem.tsx:337 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "Tampilkan pengguna" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -1966,12 +3215,14 @@ msgstr "Masuk sebagai {0}" msgid "Sign in as..." msgstr "Masuk sebagai..." -#: src/view/com/auth/login/LoginForm.tsx:130 +#: src/view/com/auth/login/LoginForm.tsx:134 msgid "Sign into" msgstr "Masuk ke" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Keluar" @@ -1995,21 +3246,41 @@ msgstr "Daftar atau masuk untuk bergabung dalam obrolan" msgid "Sign-in Required" msgstr "Dibutuhkan Masuk" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Masuk sebagai" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "Lewati" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "Urutkan Balasan" #: src/view/screens/PreferencesThreads.tsx:72 msgid "Sort replies to the same post by:" -msgstr Urutkan balasan ke postingan yang sama berdasarkan:" +msgstr "" #: src/view/com/modals/crop-image/CropImage.web.tsx:122 msgid "Square" @@ -2020,11 +3291,19 @@ msgstr "Persegi" msgid "Staging" msgstr "Staging" -#: src/view/screens/Settings.tsx:730 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "Halaman status" -#: src/view/screens/Settings.tsx:666 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Storybook" @@ -2032,28 +3311,59 @@ msgstr "Storybook" msgid "Submit" msgstr "Kirim" -#: src/view/screens/ProfileList.tsx:574 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "Langganan" -#: src/view/screens/ProfileList.tsx:570 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "Langganan ke daftar ini" -#: src/view/screens/Search/Search.tsx:349 +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + +#: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "Saran untuk Diikuti" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "Dukungan" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "Pindah Akun" -#: src/view/screens/Settings.tsx:646 +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" + +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "Log sistem" @@ -2061,22 +3371,27 @@ msgstr "Log sistem" msgid "Tall" msgstr "Tinggi" -#: src/view/shell/desktop/RightNav.tsx:85 +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "Ketentuan" -#: src/view/screens/Settings.tsx:744 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" msgstr "Ketentuan Layanan" #: src/view/com/modals/AppealLabel.tsx:70 -#: src/view/com/modals/report/InputIssueDetails.tsx:50 +#: src/view/com/modals/report/InputIssueDetails.tsx:51 msgid "Text input field" msgstr "Area input teks" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "Akun ini akan dapat berinteraksi dengan Anda setelah blokir dibuka." @@ -2088,7 +3403,7 @@ msgstr "Panduan Komunitas telah dipindahkan ke <0/>" msgid "The Copyright Policy has been moved to <0/>" msgstr "Kebijakan Hak Cipta telah dipindahkan ke <0/>" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "Postingan mungkin telah dihapus." @@ -2097,13 +3412,86 @@ msgid "The Privacy Policy has been moved to <0/>" msgstr "Kebijakan Privasi telah dipindahkan ke <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 "Formulir bantuan telah dipindahkan. Jika Anda butuh bantuan, silakan<0/> atau kunjungi {HELP_DESK_URL} untuk menghubungi kami." +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 "" + +#: 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 "Formulir bantuan telah dipindahkan. Jika Anda butuh bantuan, silakan<0/> atau kunjungi {HELP_DESK_URL} untuk menghubungi kami." #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "Ketentuan Layanan telah dipindahkan ke" +#: src/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "Sepertinya ada masalah pada aplikasi. Harap beri tahu kami jika Anda mengalaminya!" @@ -2120,19 +3508,37 @@ msgstr "Ini {screenDescription} telah ditandai:" msgid "This account has requested that users sign in to view their profile." msgstr "Akun ini mewajibkan pengguna untuk masuk agar bisa melihat profilnya." -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/EmbedConsent.tsx:68 +msgid "This content is hosted by {0}. Do you want to enable external media?" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "Konten ini tidak dapat dilihat tanpa akun Bluesky." -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: src/view/com/posts/FeedErrorMessage.tsx:114 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." msgstr "Feed ini sedang menerima terlalu banyak trafik dan sementara tidak tersedia. Silakan coba lagi nanti." +#: src/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "Informasi ini tidak akan dibagikan ke pengguna lainnya." -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "Ini penting jika Anda butuh untuk mengganti email atau reset kata sandi Anda nantinya." @@ -2140,32 +3546,56 @@ msgstr "Ini penting jika Anda butuh untuk mengganti email atau reset kata sandi msgid "This is the service that keeps you online." msgstr "Ini adalah layanan yang menjaga Anda tetap online." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "Tautan ini akan membawa Anda ke website:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "Postingan ini telah dihapus." +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "Peringatan ini hanya tersedia untuk postingan dengan lampiran media." -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "Ini akan menyembunyikan postingan ini dari feed Anda." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "Preferensi Utasan" -#: src/view/screens/PreferencesThreads.tsx:113 +#: src/view/screens/PreferencesThreads.tsx:119 msgid "Threaded Mode" msgstr "Mode Utasan" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "Beralih dropdown" @@ -2173,60 +3603,100 @@ msgstr "Beralih dropdown" msgid "Transformations" msgstr "Transformasi" -#: src/view/com/post-thread/PostThreadItem.tsx:704 -#: src/view/com/post-thread/PostThreadItem.tsx:706 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "Terjemahkan" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "Ulangi" +msgstr "" + +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "Ulangi" -#: src/view/screens/ProfileList.tsx:472 +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "Buka blokir daftar" -#: src/view/screens/ProfileList.tsx:457 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "Bunyikan daftar" -#: src/view/com/auth/create/CreateAccount.tsx:64 +#: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 -#: src/view/com/auth/login/LoginForm.tsx:117 +#: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "Tidak dapat terhubung ke layanan. Mohon periksa koneksi internet Anda." -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "Buka blokir" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 msgid "Unblock Account" msgstr "Buka blokir Akun" +#: 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 "Batalkan posting ulang" -#: src/view/com/auth/create/state.ts:210 +#: src/view/com/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + +#: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Sayangnya, Anda tidak memenuhi syarat untuk membuat akun." -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "Bunyikan Akun" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "Bunyikan utasan" -#: src/view/screens/ProfileList.tsx:440 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "Lepas sematan daftar moderasi" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "Memperbarui {displayName} di Daftar" @@ -2235,44 +3705,93 @@ msgstr "Memperbarui {displayName} di Daftar" msgid "Update Available" msgstr "Pembaruan Tersedia" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "Memperbarui..." -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "Unggah berkas teks ke:" -#: src/view/screens/AppPasswords.tsx:194 +#: 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 "Gunakan kata sandi aplikasi untuk masuk ke klien Bluesky lainnya tanpa memberikan akses penuh ke akun atau kata sandi Anda." -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "Gunakan layanan bawaan" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "Gunakan ini untuk masuk ke aplikasi lain dengan handle Anda." -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "Digunakan oleh:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "Handle pengguna" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "Daftar Pengguna" -#: src/view/com/auth/login/LoginForm.tsx:170 -#: src/view/com/auth/login/LoginForm.tsx:187 +#: src/view/com/auth/login/LoginForm.tsx:174 +#: src/view/com/auth/login/LoginForm.tsx:192 msgid "Username or email address" msgstr "Nama pengguna atau alamat email" -#: src/view/screens/ProfileList.tsx:738 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "Pengguna" @@ -2284,15 +3803,15 @@ msgstr "pengguna yang diikuti <0/>" msgid "Users in \"{0}\"" msgstr "Pengguna di \"{0}\"" -#: src/view/screens/Settings.tsx:769 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "Verifikasi email" -#: src/view/screens/Settings.tsx:794 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "Verifikasi email saya" -#: src/view/screens/Settings.tsx:803 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "Verifikasi Email Saya" @@ -2301,23 +3820,55 @@ msgstr "Verifikasi Email Saya" msgid "Verify New Email" msgstr "Verifikasi Email Baru" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "Lihat entri debug" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "Lihat avatar" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Kunjungi Halaman" -#: src/view/com/auth/create/CreateAccount.tsx:121 +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + +#: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "Kami sangat senang Anda bergabung dengan kami!" -#: src/view/screens/Search/Search.tsx:236 +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + +#: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "Maaf, pencarian Anda tidak dapat dilakukan. Mohon coba lagi dalam beberapa menit." @@ -2338,6 +3889,7 @@ msgstr "Apa yang bermasalah dengan {collectionName}?" #~ msgstr "Apa selanjutnya?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "Apa kabar?" @@ -2358,20 +3910,30 @@ msgstr "Siapa yang dapat membalas" msgid "Wide" msgstr "Lebar" -#: src/view/com/composer/Composer.tsx:409 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "Tulis postingan" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "Tulis balasan Anda" -#: src/view/screens/PreferencesHomeFeed.tsx:192 -#: src/view/screens/PreferencesHomeFeed.tsx:227 -#: src/view/screens/PreferencesHomeFeed.tsx:262 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "Ya" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "Anda dapat mengganti layanan hosting kapan pun." @@ -2381,7 +3943,7 @@ msgstr "Anda dapat mengganti layanan hosting kapan pun." msgid "You can now sign in with your new password." msgstr "Sekarang Anda dapat masuk dengan kata sandi baru." -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 "Anda belum memiliki kode undangan! Kami akan mengirimkan kode saat Anda sudah sedikit lama di Bluesky." @@ -2389,7 +3951,7 @@ msgstr "Anda belum memiliki kode undangan! Kami akan mengirimkan kode saat Anda msgid "You don't have any pinned feeds." msgstr "Anda tidak memiliki feed yang disematkan." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "Anda tidak memiliki feed yang disimpan!" @@ -2397,16 +3959,24 @@ msgstr "Anda tidak memiliki feed yang disimpan!" msgid "You don't have any saved feeds." msgstr "Anda tidak memiliki feed yang disimpan." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "Anda telah memblokir atau diblokir oleh penulis ini." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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 "Anda tidak punya feed." #: src/view/com/lists/MyLists.tsx:89 -#: src/view/com/lists/ProfileLists.tsx:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "Anda tidak punya daftar." @@ -2414,7 +3984,7 @@ msgstr "Anda tidak punya daftar." 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 "Anda belum memblokir akun lain. Untuk memblokir akun, kunjungi profil mereka dan pilih \"Blokir akun\" pada menu di akun mereka." -#: src/view/screens/AppPasswords.tsx:86 +#: 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 "Anda belum membuat kata sandi aplikasi. Anda dapat membuatnya dengan menekan tombol di bawah ini." @@ -2422,23 +3992,48 @@ msgstr "Anda belum membuat kata sandi aplikasi. Anda dapat membuatnya dengan men 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 "Anda belum membisukan akun lain. Untuk membisukan akun, kunjungi profil mereka dan pilih \"Bisukan akun\" pada menu di akun mereka." +#: src/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." msgstr "Anda akan menerima email berisikan \"kode reset\". Masukkan kode tersebut di sini, lalu masukkan kata sandi baru." -#: src/view/com/auth/create/Step2.tsx:43 +#: 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/Step2.tsx:58 msgid "Your account" msgstr "Akun Anda" -#: src/view/com/auth/create/Step2.tsx:122 +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:146 msgid "Your birth date" msgstr "Tanggal lahir Anda" +#: src/view/com/modals/InAppBrowserConsent.tsx:47 +msgid "Your choice will be saved, but can be changed later in settings." +msgstr "" + #: src/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Email Anda tidak valid." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "Email Anda telah disimpan. Kami akan segera menghubungi Anda." @@ -2446,33 +4041,50 @@ msgstr "Email Anda telah disimpan. Kami akan segera menghubungi Anda." msgid "Your email has been updated but not verified. As a next step, please verify your new email." msgstr "Alamat email Anda telah diperbarui namun belum diverifikasi. Silakan verifikasi alamat email baru Anda." -#: src/view/com/modals/VerifyEmail.tsx:108 +#: 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 "Alamat email Anda belum diverifikasi. Ini merupakan langkah keamanan penting yang kami rekomendasikan." +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "Handle lengkap Anda akan menjadi" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "Layanan hosting Anda" -#: src/view/screens/Settings.tsx:402 -#: src/view/shell/desktop/RightNav.tsx:129 -#: src/view/shell/Drawer.tsx:655 +#: src/view/screens/Settings.tsx:430 +#: src/view/shell/desktop/RightNav.tsx:137 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Kode undangan Anda disembunyikan saat masuk menggunakan Kata Sandi Aplikasi" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "Postingan, suka, dan blokir Anda bersifat publik. Bisukan bersifat privat." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Profil Anda" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Handle Anda" diff --git a/src/locale/locales/ja/messages.po b/src/locale/locales/ja/messages.po index 9620c035a..1727ded83 100644 --- a/src/locale/locales/ja/messages.po +++ b/src/locale/locales/ja/messages.po @@ -13,29 +13,38 @@ msgstr "" "Language-Team: Hima-Zinn, tkusano, dolciss, oboenikui, noritada\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, plural, other {# å€‹ã®æ‹›å¾…コードãŒåˆ©ç”¨å¯èƒ½}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "{0} {purposeLabel} リスト" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "{0} {purposeLabel} リスト" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, other {招待コード: # 個利用å¯èƒ½}}" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "{invitesAvailable}å€‹ã®æ‹›å¾…コードãŒåˆ©ç”¨å¯èƒ½" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "{invitesAvailable}å€‹ã®æ‹›å¾…コードãŒåˆ©ç”¨å¯èƒ½" @@ -43,10 +52,22 @@ msgstr "{invitesAvailable}å€‹ã®æ‹›å¾…コードãŒåˆ©ç”¨å¯èƒ½" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/>ã®ãƒ¡ãƒ³ãƒãƒ¼" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<1>ãŠã™ã™ã‚ã®</1><2>フィード</2><0>ã‚’é¸æŠž</0>" @@ -55,6 +76,14 @@ msgstr "<1>ãŠã™ã™ã‚ã®</1><2>フィード</2><0>ã‚’é¸æŠž</0>" msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" msgstr "<1>ãŠã™ã™ã‚ã®</1><2>ユーザー</2><0>をフォãƒãƒ¼</0>" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "" @@ -63,23 +92,61 @@ msgstr "" msgid "A new version of the app is available. Please update to continue using the app." msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚¢ãƒ—リãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚継続ã—ã¦ä½¿ç”¨ã™ã‚‹ãŸã‚ã«ã¯ã‚¢ãƒƒãƒ—デートã—ã¦ãã ã•ã„。" +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "アクセシビリティ" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "アカウント" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +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/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "è¿½åŠ " @@ -87,12 +154,12 @@ msgstr "è¿½åŠ " msgid "Add a content warning" msgstr "コンテンツã®è¦å‘Šã‚’è¿½åŠ " -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "リストã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’è¿½åŠ " -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’è¿½åŠ " @@ -102,6 +169,12 @@ msgstr "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’è¿½åŠ " msgid "Add alt text" msgstr "ALTテã‚ã‚¹ãƒˆã‚’è¿½åŠ " +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -111,32 +184,41 @@ msgstr "è©³ç´°ã‚’è¿½åŠ " msgid "Add details to report" msgstr "レãƒãƒ¼ãƒˆã«è©³ç´°ã‚’è¿½åŠ " -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "ãƒªãƒ³ã‚¯ã‚«ãƒ¼ãƒ‰ã‚’è¿½åŠ " -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "ãƒªãƒ³ã‚¯ã‚«ãƒ¼ãƒ‰ã‚’è¿½åŠ ï¼š" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "次ã®DNSレコードをドメインã«è¿½åŠ ã—ã¦ãã ã•ã„:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "リストã«è¿½åŠ " -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 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:128 msgid "Added to list" msgstr "リストã«è¿½åŠ " -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "返信ãŒãƒ•ィードã«è¡¨ç¤ºã•れるãŸã‚ã«å¿…è¦ãªã€Œã„ã„ãã€ã®æ•°ã‚’調整ã—ã¾ã™ã€‚" @@ -144,10 +226,18 @@ msgstr "返信ãŒãƒ•ィードã«è¡¨ç¤ºã•れるãŸã‚ã«å¿…è¦ãªã€Œã„ã„ã〠msgid "Adult Content" msgstr "æˆäººå‘ã‘コンテンツ" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "高度ãªè¨å®š" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -160,7 +250,7 @@ msgstr "ALTテã‚スト" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "ALTテã‚ストã¯ã€ã™ã¹ã¦ã®äººãŒæ–‡è„ˆã‚’ç†è§£ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ã€è¦–覚障害者や低視力者å‘ã‘ã«æä¾›ã™ã‚‹ç”»åƒã®èª¬æ˜Žæ–‡ã§ã™ã€‚" -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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}ã«é€ä¿¡ã•れã¾ã—ãŸã€‚以下ã«å…¥åŠ›ã§ãる確èªã‚³ãƒ¼ãƒ‰ãŒãã®ãƒ¡ãƒ¼ãƒ«ã«è¨˜è¼‰ã•れã¦ã„ã¾ã™ã€‚" @@ -168,7 +258,12 @@ msgstr "メールãŒ{0}ã«é€ä¿¡ã•れã¾ã—ãŸã€‚以下ã«å…¥åŠ›ã§ãã‚‹ç¢ºèª msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "以å‰ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹{0}ã«ãƒ¡ãƒ¼ãƒ«ãŒé€ä¿¡ã•れã¾ã—ãŸã€‚以下ã«å…¥åŠ›ã§ãる確èªã‚³ãƒ¼ãƒ‰ãŒãã®ãƒ¡ãƒ¼ãƒ«ã«è¨˜è¼‰ã•れã¦ã„ã¾ã™ã€‚" -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "ãŠã‚ˆã³" @@ -177,15 +272,32 @@ msgstr "ãŠã‚ˆã³" msgid "App Language" msgstr "アプリã®è¨€èªž" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "アプリパスワード" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "アプリパスワード" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "" @@ -205,11 +317,11 @@ msgstr "ã“ã®åˆ¤æ–ã«ç•°è°ã‚’申ã—ç«‹ã¦ã‚‹" msgid "Appeal this decision." msgstr "ã“ã®åˆ¤æ–ã«ç•°è°ã‚’申ã—ç«‹ã¦ã‚‹" -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "外観" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "本当ã«ã‚¢ãƒ—リパスワード「{name}ã€ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ" @@ -217,32 +329,42 @@ msgstr "本当ã«ã‚¢ãƒ—リパスワード「{name}ã€ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ" msgid "Are you sure you'd like to discard this draft?" msgstr "本当ã«ã“ã®ä¸‹æ›¸ãã‚’ç ´æ£„ã—ã¾ã™ã‹ï¼Ÿ" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "本当ã«ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "本当ã«ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿã“れã¯å…ƒã«æˆ»ã›ã¾ã›ã‚“。" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "芸術的ã¾ãŸã¯æ€§çš„ã§ã¯ãªã„ヌード。" #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "戻る" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "基本" @@ -251,36 +373,46 @@ msgstr "基本" msgid "Birthday" msgstr "誕生日" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "誕生日:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "アカウントをブãƒãƒƒã‚¯" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "アカウントをブãƒãƒƒã‚¯" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "リストをブãƒãƒƒã‚¯" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "ã“れらã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ブãƒãƒƒã‚¯ã—ã¾ã™ã‹ï¼Ÿ" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "ブãƒãƒƒã‚¯ä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "ブãƒãƒƒã‚¯ä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "ブãƒãƒƒã‚¯ä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã€ã‚ãªãŸã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ã®è¿”ä¿¡ã€ã‚ãªãŸã¸ã®ãƒ¡ãƒ³ã‚·ãƒ§ãƒ³ã€ãã®ä»–ã®æ–¹æ³•ã§ã‚ãªãŸã¨ã‚„りå–りã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" @@ -288,11 +420,11 @@ msgstr "ブãƒãƒƒã‚¯ä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã€ã‚ãªãŸã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ã®è¿” 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:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "投稿をブãƒãƒƒã‚¯ã—ã¾ã—ãŸã€‚" -#: src/view/screens/ProfileList.tsx:310 +#: 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 "ブãƒãƒƒã‚¯ã—ãŸã“ã¨ã¯å…¬é–‹ã•れã¾ã™ã€‚ブãƒãƒƒã‚¯ä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã€ã‚ãªãŸã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§ã®è¿”ä¿¡ã€ã‚ãªãŸã¸ã®ãƒ¡ãƒ³ã‚·ãƒ§ãƒ³ã€ãã®ä»–ã®æ–¹æ³•ã§ã‚ãªãŸã¨ã‚„りå–りã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" @@ -304,14 +436,17 @@ msgstr "ブãƒã‚°" 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ã¯æŸ”軟ã§ã™ã€‚" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Blueskyã¯é–‹ã‹ã‚Œã¦ã„ã¾ã™ã€‚" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Blueskyã¯ãƒ‘ブリックã§ã™ã€‚" @@ -328,7 +463,7 @@ msgstr "Blueskyã¯ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚ãªãŸã®ãƒ—ãƒãƒ•ィムmsgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "ビルドãƒãƒ¼ã‚¸ãƒ§ãƒ³ {0} {1}" @@ -336,37 +471,65 @@ msgstr "ビルドãƒãƒ¼ã‚¸ãƒ§ãƒ³ {0} {1}" 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "カメラ" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "æ–‡å—ã€æ•°å—ã€ã‚¹ãƒšãƒ¼ã‚¹ã€ãƒã‚¤ãƒ•ンã€ãŠã‚ˆã³ã‚¢ãƒ³ãƒ€ãƒ¼ã‚¹ã‚³ã‚¢ã®ã¿ãŒä½¿ç”¨å¯èƒ½ã§ã™ã€‚é•·ã•ã¯4æ–‡å—以上32æ–‡å—以下ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "ã‚ャンセル" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "アカウントã®å‰Šé™¤ã‚’ã‚ャンセル" @@ -382,29 +545,34 @@ msgstr "ãƒãƒ³ãƒ‰ãƒ«ã®å¤‰æ›´ã‚’ã‚ャンセル" msgid "Cancel image crop" msgstr "ç”»åƒã®åˆ‡ã‚ŠæŠœãã‚’ã‚ャンセル" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "プãƒãƒ•ィールã®ç·¨é›†ã‚’ã‚ャンセル" -#: src/view/com/modals/Repost.tsx:64 +#: 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:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "検索をã‚ャンセル" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "Waitlistã®ç™»éŒ²ã‚’ã‚ャンセル" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "変更" +msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "変更" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’変更" @@ -412,10 +580,14 @@ msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’変更" msgid "Change Handle" msgstr "ãƒãƒ³ãƒ‰ãƒ«ã‚’変更" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "メールアドレスを変更" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "メールアドレスを変更" @@ -428,7 +600,7 @@ msgstr "ãŠã™ã™ã‚ã®ãƒ•ィードを確èªã—ã¦ãã ã•ã„。「+ã€ã‚’ã‚¿ msgid "Check out some recommended users. Follow them to see similar users." msgstr "ãŠã™ã™ã‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’確èªã—ã¦ãã ã•ã„。フォãƒãƒ¼ã™ã‚‹ã“ã¨ã§ã‚ãªãŸã«åˆã£ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè¦‹ã¤ã‹ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。" -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "入力ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å—信トレイを確èªã—ã¦ã€ä»¥ä¸‹ã«å…¥åŠ›ã™ã‚‹ãŸã‚ã®ç¢ºèªã‚³ãƒ¼ãƒ‰ãŒè¨˜è¼‰ã•れãŸãƒ¡ãƒ¼ãƒ«ãŒå±Šã„ã¦ã„ãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„:" @@ -436,10 +608,15 @@ msgstr "入力ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å—信トレイを確èªã—ã¦ã€ä»¥ msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "「全員ã€ã¨ã€Œè¿”ä¿¡ä¸å¯ã€ã®ã©ã¡ã‚‰ã‹ã‚’é¸æŠž" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "ã‚µãƒ¼ãƒ“ã‚¹ã‚’é¸æŠž" +#: 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 "カスタムフィードを使用ã—ã¦ã‚ãªãŸã®ä½“験を強化ã™ã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã‚’é¸æŠžã—ã¾ã™ã€‚" @@ -448,27 +625,33 @@ msgstr "カスタムフィードを使用ã—ã¦ã‚ãªãŸã®ä½“験を強化ã™ã‚‹ msgid "Choose your password" msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠž" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "レガシーストレージデータをã™ã¹ã¦ã‚¯ãƒªã‚¢" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "ã™ã¹ã¦ã®ãƒ¬ã‚¬ã‚·ãƒ¼ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ãƒ‡ãƒ¼ã‚¿ã‚’クリア(ã“ã®å¾Œå†èµ·å‹•ã—ã¾ã™ï¼‰" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "ã™ã¹ã¦ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ãƒ‡ãƒ¼ã‚¿ã‚’クリア" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "ã™ã¹ã¦ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ãƒ‡ãƒ¼ã‚¿ã‚’クリア(ã“ã®å¾Œå†èµ·å‹•ã—ã¾ã™ï¼‰" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "検索クエリをクリア" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "アラートを閉ã˜ã‚‹" @@ -489,23 +672,54 @@ msgstr "ç”»åƒãƒ“ューアを閉ã˜ã‚‹" msgid "Close navigation footer" msgstr "ナビゲーションフッターを閉ã˜ã‚‹" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "コミュニティガイドライン" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "返信を作æˆ" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "確èª" +#: 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" @@ -515,18 +729,26 @@ msgstr "変更を確èª" msgid "Confirm content language settings" msgstr "コンテンツã®è¨€èªžè¨å®šã‚’確èª" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "アカウントã®å‰Šé™¤ã‚’確èª" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: 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 "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "接続ä¸..." @@ -543,6 +765,11 @@ msgstr "コンテンツã®ãƒ•ィルタリング" msgid "Content Languages" msgstr "コンテンツã®è¨€èªž" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "コンテンツã®è¦å‘Š" @@ -556,31 +783,46 @@ msgstr "コンテンツã®è¦å‘Š" msgid "Continue" msgstr "続行" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "コピーã—ã¾ã—ãŸ" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "コピー" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "リストã¸ã®ãƒªãƒ³ã‚¯ã‚’コピー" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "投稿ã¸ã®ãƒªãƒ³ã‚¯ã‚’コピー" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "プãƒãƒ•ィールã¸ã®ãƒªãƒ³ã‚¯ã‚’コピー" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "投稿ã®ãƒ†ã‚ストをコピー" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "著作権ãƒãƒªã‚·ãƒ¼" @@ -589,29 +831,50 @@ msgstr "著作権ãƒãƒªã‚·ãƒ¼" msgid "Could not load feed" msgstr "フィードã®ãƒãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "リストã®ãƒãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸ" #: 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 "æ–°ã—ã„アカウントを作æˆ" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "アカウントを作æˆ" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "æ–°ã—ã„アカウントを作æˆ" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "ä½œæˆæ¸ˆã¿ {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "カスタムドメイン" @@ -620,11 +883,27 @@ msgstr "カスタムドメイン" msgid "Customize media from external sites." msgstr "" -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "å±é™ºåœ°å¸¯" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" + +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "アカウントを削除" @@ -632,40 +911,44 @@ msgstr "アカウントを削除" msgid "Delete Account" msgstr "アカウントを削除" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "アプリパスワードを削除" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "リストを削除" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "マイアカウントを削除" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "マイアカウントを削除…" -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "投稿を削除" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "ã“ã®æŠ•ç¨¿ã‚’å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "投稿を削除ã—ã¾ã—ãŸã€‚" -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "説明" @@ -673,7 +956,7 @@ msgstr "説明" msgid "Dev Server" msgstr "開発者サーãƒãƒ¼" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "開発者ツール" @@ -693,35 +976,53 @@ msgstr "下書ãã‚’ç ´æ£„" msgid "Discourage apps from showing my account to logged-out users" msgstr "アプリãŒãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è‡ªåˆ†ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’表示ã—ãªã„よã†ã«ã™ã‚‹" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "æ–°ã—ã„フィードを見ã¤ã‘ã‚‹" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "表示å" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "表示å" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "ドメインを確èªã—ã¾ã—ãŸï¼" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "完了" @@ -729,56 +1030,116 @@ msgstr "完了" msgid "Done{extraText}" msgstr "完了{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "ç”»åƒã‚’編集" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "リストã®è©³ç´°ã‚’編集" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "マイフィードを編集" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "マイプãƒãƒ•ィールを編集" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "プãƒãƒ•ィールを編集" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "プãƒãƒ•ィールを編集" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "ä¿å˜ã•れãŸãƒ•ィードを編集" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "メールアドレス" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 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/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "メールアドレス:" @@ -786,34 +1147,63 @@ msgstr "メールアドレス:" msgid "Enable {0} only" msgstr "" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "ã“ã®è¨å®šã‚’有効ã«ã™ã‚‹ã¨ã€è‡ªåˆ†ãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザーã‹ã‚‰ã®è¿”ä¿¡ã ã‘ãŒè¡¨ç¤ºã•れã¾ã™ã€‚" -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "フィードã®çµ‚ã‚り" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "プãƒãƒã‚¤ãƒ€ãƒ¼ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "使用ã™ã‚‹ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’入力ã—ã¦ãã ã•ã„" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "アカウントã®ä½œæˆã«ä½¿ç”¨ã—ãŸãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¾ã™ã€‚æ–°ã—ã„パスワードをè¨å®šã§ãるよã†ã«ã€ã€Œãƒªã‚»ãƒƒãƒˆã‚³ãƒ¼ãƒ‰ã€ã‚’ãŠé€ã‚Šã—ã¾ã™ã€‚" +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 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 "ä»¥ä¸‹ã«æ–°ã—ã„メールアドレスを入力ã—ã¦ãã ã•ã„。" @@ -830,10 +1220,32 @@ msgstr "エラー:" msgid "Everybody" msgstr "全員" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" msgstr "ALTテã‚ストを展開" +#: src/view/com/composer/ComposerReplyTo.tsx:81 +#: src/view/com/composer/ComposerReplyTo.tsx:84 +msgid "Expand or collapse the full post you are replying to" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "" @@ -843,17 +1255,43 @@ msgstr "" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "フィードã¯ã‚ªãƒ•ラインã§ã™" @@ -866,12 +1304,13 @@ msgstr "フィードã®è¨å®š" msgid "Feedback" msgstr "フィードãƒãƒƒã‚¯" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "フィード" @@ -883,6 +1322,12 @@ msgstr "フィードã¯ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã‚’æ•´ç†ã™ã‚‹ç‚ºã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã‚ˆã£ msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "フィードã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®å°‚門知è˜ã‚’æŒã£ã¦æ§‹ç¯‰ã™ã‚‹ã‚«ã‚¹ã‚¿ãƒ アルゴリズムã§ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€<0/>ã‚’å‚ç…§ã—ã¦ãã ã•ã„。" +#: 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:427 msgid "Find users on Bluesky" msgstr "Blueskyã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’検索" @@ -895,7 +1340,7 @@ msgstr "å³å´ã®æ¤œç´¢ãƒ„ールã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’検索" msgid "Finding similar accounts..." msgstr "ä¼¼ã¦ã„るアカウントを検索ä¸..." -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "ホーム画é¢ã«è¡¨ç¤ºã•れるコンテンツを微調整ã—ã¾ã™ã€‚" @@ -903,52 +1348,86 @@ msgstr "ホーム画é¢ã«è¡¨ç¤ºã•れるコンテンツを微調整ã—ã¾ã™ã€‚ msgid "Fine-tune the discussion threads." msgstr "ディスカッションスレッドを微調整ã—ã¾ã™ã€‚" -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "フォãƒãƒ¼" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +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:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "自分ãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザー" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "自分ãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザーã®ã¿" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "フォãƒãƒ¯ãƒ¼" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "フォãƒãƒ¼ä¸" +#~ msgid "following" +#~ msgstr "フォãƒãƒ¼ä¸" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "フォãƒãƒ¼ä¸" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "ã‚ãªãŸã‚’フォãƒãƒ¼" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "ã‚»ã‚ュリティ上ã®ç†ç”±ã‹ã‚‰ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã«ç¢ºèªã‚³ãƒ¼ãƒ‰ã‚’é€ä¿¡ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "ã‚»ã‚ュリティ上ã®ç†ç”±ã‹ã‚‰ã€ã“れをå†åº¦è¡¨ç¤ºã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。ã“ã®ãƒ‘スワードを紛失ã—ãŸå ´åˆã¯ã€æ–°ã—ã„パスワードを生æˆã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "忘れãŸ" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "パスワードを忘れãŸ" @@ -957,11 +1436,17 @@ msgstr "パスワードを忘れãŸ" msgid "Forgot Password" msgstr "パスワードを忘れãŸ" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "ギャラリー" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "ã¯ã˜ã‚ã«" @@ -974,14 +1459,14 @@ msgstr "戻る" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "戻る" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "次ã¸" @@ -994,47 +1479,64 @@ msgstr "ãƒãƒ³ãƒ‰ãƒ«" msgid "Help" msgstr "ヘルプ" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "アプリパスワードをãŠçŸ¥ã‚‰ã›ã—ã¾ã™ã€‚" -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "éžè¡¨ç¤º" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "投稿をéžè¡¨ç¤ºã«ã™ã‚‹" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "ã“ã®æŠ•ç¨¿ã‚’éžè¡¨ç¤ºã«ã—ã¾ã™ã‹ï¼Ÿ" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "ユーザーリストをéžè¡¨ç¤º" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + +#: 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:98 +#: 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:104 +#: 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:101 +#: 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:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "ã“ã®ãƒ•ィードãŒè¦‹ã¤ã‹ã‚‰ãªã„よã†ã§ã™ã€‚ã‚‚ã—ã‹ã—ãŸã‚‰å‰Šé™¤ã•れãŸã®ã‹ã‚‚ã—れã¾ã›ã‚“。" +#: 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 @@ -1042,13 +1544,14 @@ msgstr "ã“ã®ãƒ•ィードãŒè¦‹ã¤ã‹ã‚‰ãªã„よã†ã§ã™ã€‚ã‚‚ã—ã‹ã—ãŸã‚‰ msgid "Home" msgstr "ホーム" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "ホームフィードã®è¨å®š" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "ホスティングプãƒãƒã‚¤ãƒ€ãƒ¼" @@ -1057,18 +1560,34 @@ msgstr "ホスティングプãƒãƒã‚¤ãƒ€ãƒ¼" msgid "Hosting provider address" msgstr "ホスティングプãƒãƒã‚¤ãƒ€ãƒ¼ã®ã‚¢ãƒ‰ãƒ¬ã‚¹" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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/ChangeHandle.tsx:281 +#: 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:158 +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/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "ç”»åƒã®ALTテã‚スト" @@ -1078,19 +1597,76 @@ msgstr "ç”»åƒã®ALTテã‚スト" msgid "Image options" msgstr "ç”»åƒã®ã‚ªãƒ—ション" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "無効ãªãƒ¦ãƒ¼ã‚¶ãƒ¼åã¾ãŸã¯ãƒ‘スワード" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "招待" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "å‹é”を招待" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "招待コード" @@ -1099,10 +1675,18 @@ msgstr "招待コード" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "招待コードãŒç¢ºèªã§ãã¾ã›ã‚“。æ£ã—ã入力ã•れã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã€ã‚‚ã†ä¸€åº¦å®Ÿè¡Œã—ã¦ãã ã•ã„。" -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "使用å¯èƒ½ãªæ‹›å¾…コード: {invitesAvailable} 個" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "仕事" @@ -1116,7 +1700,7 @@ msgstr "Waitlistã«å‚åŠ " msgid "Join the waitlist." msgstr "Waitlistã«å‚åŠ ã—ã¾ã™ã€‚" -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "Waitlistã«å‚åŠ " @@ -1124,15 +1708,24 @@ msgstr "Waitlistã«å‚åŠ " msgid "Language selection" msgstr "言語ã®é¸æŠž" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "言語ã®è¨å®š" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "言語" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "詳細" @@ -1142,9 +1735,9 @@ msgstr "詳細" msgid "Learn More" msgstr "詳細" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1158,10 +1751,14 @@ msgstr "Blueskyã§å…¬é–‹ã•れã¦ã„る内容ã¯ã“ã¡ã‚‰ã‚’å‚ç…§ã—ã¦ãã ã msgid "Leave them all unchecked to see any language." msgstr "ã©ã®è¨€èªžã‚‚表示ã™ã‚‹ã«ã¯ã€ã™ã¹ã¦ã®ãƒã‚§ãƒƒã‚¯ã‚’外ã—ãŸã¾ã¾ã«ã—ã¾ã™ã€‚" -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Blueskyã‹ã‚‰é›¢ã‚Œã‚‹" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1172,40 +1769,98 @@ msgstr "パスワードをリセットã—ã¾ã—ょã†ï¼" msgid "Library" msgstr "ライブラリー" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "ã“ã®ãƒ•ィードをã„ã„ã" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "ã„ã„ãã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "ã„ã„ã" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«å¯¾ã—ã¦ç§ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®é–²è¦§ã‚’制é™" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "リストã®ã‚¢ãƒã‚¿ãƒ¼" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "リストã®åå‰" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "リスト" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "投稿をã•らã«ãƒãƒ¼ãƒ‰" @@ -1213,7 +1868,10 @@ msgstr "投稿をã•らã«ãƒãƒ¼ãƒ‰" msgid "Load new notifications" msgstr "最新ã®é€šçŸ¥ã‚’ãƒãƒ¼ãƒ‰" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "æœ€æ–°ã®æŠ•ç¨¿ã‚’ãƒãƒ¼ãƒ‰" @@ -1225,6 +1883,10 @@ msgstr "ãƒãƒ¼ãƒ‰ä¸..." msgid "Local dev server" msgstr "ãƒãƒ¼ã‚«ãƒ«é–‹ç™ºè€…サーãƒãƒ¼" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" @@ -1241,7 +1903,7 @@ msgstr "リストã«ãªã„アカウントã«ãƒã‚°ã‚¤ãƒ³" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "ã“ã®ãƒ•ィードã¯Blueskyã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’æŒã£ã¦ã„るユーザーã®ã¿ãŒåˆ©ç”¨ã§ãるよã†ã§ã™ã€‚ã“ã®ãƒ•ィードを表示ã™ã‚‹ã«ã¯ã€ã‚µã‚¤ãƒ³ã‚¢ãƒƒãƒ—ã™ã‚‹ã‹ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ãã ã•ã„ï¼" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "æ„図ã—ãŸå ´æ‰€ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„ï¼" @@ -1257,68 +1919,119 @@ msgstr "メンションã•れãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" msgid "Mentioned users" msgstr "メンションã•れãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "メニュー" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "サーãƒãƒ¼ã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" +#~ msgid "Message from server" +#~ msgstr "サーãƒãƒ¼ã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "モデレーション" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "モデレーションリスト" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "モデレーションリスト" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "ãã®ä»–ã®ãƒ•ィード" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "ãã®ä»–ã®ã‚ªãƒ—ション" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "ã„ã„ãã®æ•°ãŒå¤šã„é †ã«è¿”信を表示" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "アカウントをミュート" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "アカウントをミュート" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "リストをミュート" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "ã“れらã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ミュートã—ã¾ã™ã‹ï¼Ÿ" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "スレッドをミュート" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" @@ -1327,7 +2040,7 @@ msgstr "ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®æŠ•稿ã¯ã€ãƒ•ィードや通知ã‹ã‚‰å–り除ã‹ã‚Œã¾ã™ã€‚ミュートã®è¨å®šã¯å®Œå…¨ã«éžå…¬é–‹ã§ã™ã€‚" -#: src/view/screens/ProfileList.tsx:273 +#: 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 "ミュートã®è¨å®šã¯éžå…¬é–‹ã§ã™ã€‚ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã‚ãªãŸã¨å¼•ãç¶šãé–¢ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ãŒã€ãã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®æŠ•稿や通知をå—ä¿¡ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" @@ -1335,7 +2048,7 @@ msgstr "ミュートã®è¨å®šã¯éžå…¬é–‹ã§ã™ã€‚ミュートä¸ã®ã‚¢ã‚«ã‚¦ãƒ³ msgid "My Birthday" msgstr "誕生日" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "マイフィード" @@ -1343,88 +2056,142 @@ msgstr "マイフィード" msgid "My Profile" msgstr "マイプãƒãƒ•ィール" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "ä¿å˜ã•れãŸãƒ•ィード" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "åå‰" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "" +#: 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 "フォãƒãƒ¯ãƒ¼ã‚„データã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’失ã†ã“ã¨ã¯ã‚りã¾ã›ã‚“。" #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "æ–°è¦" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "æ–°ã—ã„æŠ•ç¨¿" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "æ–°ã—ã„æŠ•ç¨¿" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "æ–°ã—ã„æŠ•ç¨¿" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "æ–°ã—ã„é †ã«è¿”信を表示" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "次ã¸" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "次ã®ç”»åƒ" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "ã„ã„ãˆ" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "説明ã¯ã‚りã¾ã›ã‚“" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "çµæžœã¯ã‚りã¾ã›ã‚“" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "「{query}ã€ã®æ¤œç´¢çµæžœã¯ã‚りã¾ã›ã‚“" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "「{query}ã€ã®æ¤œç´¢çµæžœã¯ã‚りã¾ã›ã‚“" @@ -1440,6 +2207,15 @@ msgstr "返信ä¸å¯" msgid "Not Applicable." msgstr "該当ãªã—。" +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "注記:Blueskyã¯ã‚ªãƒ¼ãƒ—ンã§ãƒ‘ブリックãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã‚りã€ã“ã®è¨å®šã‚’有効ã«ã—ã¦ã‚‚ãƒã‚°ã‚¤ãƒ³ã—ã¦ã„るユーザーã¯ã‚ãªãŸã®ãƒ—ãƒãƒ•ィールや投稿を制é™ãªã閲覧ã§ãã¾ã™ã€‚ã“ã®è¨å®šã¯Blueskyã®ã‚¢ãƒ—リãŠã‚ˆã³ã‚¦ã‚§ãƒ–サイト上ã®ã¿ã§ã®ã‚ãªãŸã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®å¯è¦–性を制é™ã™ã‚‹ã‚‚ã®ã§ã™ã€‚Blueskyã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を表示ã™ã‚‹ã‚µãƒ¼ãƒ‰ãƒ‘ーティーã®ã‚¢ãƒ—リやウェブサイトãªã©ã¯ã“ã®è¨å®šã‚’å°Šé‡ã—ãªã„å ´åˆãŒã‚りã€ãƒã‚°ã‚¢ã‚¦ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«å¯¾ã—ã‚ãªãŸã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒè¡¨ç¤ºã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚" @@ -1448,6 +2224,7 @@ msgstr "該当ãªã—。" 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:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1457,6 +2234,10 @@ msgstr "注記:Blueskyã¯ã‚ªãƒ¼ãƒ—ンã§ãƒ‘ブリックãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã msgid "Notifications" msgstr "通知" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "ã¡ã‚‡ã£ã¨ï¼" @@ -1469,7 +2250,11 @@ msgstr "OK" msgid "Oldest replies first" msgstr "å¤ã„é †ã«è¿”信を表示" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "1ã¤ã‚‚ã—ãã¯è¤‡æ•°ã®ç”»åƒã«ALTテã‚ストãŒã‚りã¾ã›ã‚“。" @@ -1477,60 +2262,131 @@ msgstr "1ã¤ã‚‚ã—ãã¯è¤‡æ•°ã®ç”»åƒã«ALTテã‚ストãŒã‚りã¾ã›ã‚“。" msgid "Only {0} can reply." msgstr "{0}ã®ã¿è¿”ä¿¡å¯èƒ½" -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "絵文å—を入力" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "ナビゲーションを開ã" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "æ§‹æˆå¯èƒ½ãªè¨€èªžè¨å®šã‚’é–‹ã" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "招待コードã®ãƒªã‚¹ãƒˆã‚’é–‹ã" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "カスタムドメインを使用ã™ã‚‹ãŸã‚ã®ãƒ¢ãƒ¼ãƒ€ãƒ«ã‚’é–‹ã" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "モデレーションã®è¨å®šã‚’é–‹ã" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "ä¿å˜ã•れãŸã™ã¹ã¦ã®ãƒ•ィードã§ç”»é¢ã‚’é–‹ã" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "アプリパスワードè¨å®šãƒšãƒ¼ã‚¸ã‚’é–‹ã" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "ホームフィードã®è¨å®šã‚’é–‹ã" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "ストーリーブックã®ãƒšãƒ¼ã‚¸ã‚’é–‹ã" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "システムãƒã‚°ã®ãƒšãƒ¼ã‚¸ã‚’é–‹ã" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "スレッドã®è¨å®šã‚’é–‹ã" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "ã¾ãŸã¯ä»¥ä¸‹ã®ã‚ªãƒ—ションを組ã¿åˆã‚ã›ã¦ãã ã•ã„:" @@ -1554,9 +2410,9 @@ msgstr "ページãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "パスワード" @@ -1568,10 +2424,31 @@ msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒæ›´æ–°ã•れã¾ã—ãŸ" msgid "Password updated!" msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ãŒæ›´æ–°ã•れã¾ã—ãŸï¼" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "æˆäººå‘ã‘ã®å†™çœŸã§ã™ã€‚" +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "ピン留ã‚ã•れãŸãƒ•ィード" @@ -1601,7 +2478,11 @@ msgstr "ãƒ‘ã‚¹ãƒ¯ãƒ¼ãƒ‰ã‚’é¸æŠžã—ã¦ãã ã•ã„。" 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:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "ã“ã®ã‚¢ãƒ—リパスワードã«å›ºæœ‰ã®åå‰ã‚’入力ã™ã‚‹ã‹ã€ãƒ©ãƒ³ãƒ€ãƒ ã«ç”Ÿæˆã•れãŸåå‰ã‚’使用ã—ã¦ãã ã•ã„。" @@ -1609,7 +2490,7 @@ msgstr "ã“ã®ã‚¢ãƒ—リパスワードã«å›ºæœ‰ã®åå‰ã‚’入力ã™ã‚‹ã‹ã€ãƒ© msgid "Please enter your email." msgstr "メールアドレスを入力ã—ã¦ãã ã•ã„。" -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "パスワードも入力ã—ã¦ãã ã•ã„:" @@ -1623,17 +2504,51 @@ msgstr "" #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "ã“ã®åˆ¤æ–ãŒèª¤ã£ã¦ã„ã‚‹ã¨è€ƒãˆã‚‹ç†ç”±ã‚’æ•™ãˆã¦ãã ã•ã„。" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "リンクカードãŒãƒãƒ¼ãƒ‰ã•れるã¾ã§ãŠå¾…ã¡ãã ã•ã„" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "投稿" +#~ msgid "Post" +#~ msgstr "投稿" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "投稿をéžè¡¨ç¤º" @@ -1645,7 +2560,7 @@ msgstr "投稿ã®è¨€èªž" msgid "Post Languages" msgstr "投稿ã®è¨€èªž" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "投稿ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" @@ -1653,7 +2568,11 @@ msgstr "投稿ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“" msgid "Posts" msgstr "投稿" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "誤解を招ãå¯èƒ½æ€§ã®ã‚るリンク" @@ -1669,30 +2588,35 @@ msgstr "第一言語" msgid "Prioritize Your Follows" msgstr "ã‚ãªãŸã®ãƒ•ã‚©ãƒãƒ¼ã‚’優先" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "プライãƒã‚·ãƒ¼" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "プライãƒã‚·ãƒ¼ãƒãƒªã‚·ãƒ¼" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "処ç†ä¸..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "プãƒãƒ•ィール" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "メールアドレスを確èªã—ã¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ä¿è·ã—ã¾ã™ã€‚" @@ -1704,14 +2628,31 @@ msgstr "ユーザーを一括ã§ãƒŸãƒ¥ãƒ¼ãƒˆã¾ãŸã¯ãƒ–ãƒãƒƒã‚¯ã™ã‚‹ã€å…¬é–‹ msgid "Public, shareable lists which can drive feeds." msgstr "フィードã¨ã—ã¦åˆ©ç”¨ã§ãã‚‹ã€å…¬é–‹ã•れãŸå…±æœ‰å¯èƒ½ãªãƒªã‚¹ãƒˆã€‚" -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "引用" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "引用" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1731,7 +2672,7 @@ msgstr "ãŠã™ã™ã‚ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1745,13 +2686,16 @@ msgstr "マイフィードã‹ã‚‰{0}を削除ã—ã¾ã™ã‹ï¼Ÿ" msgid "Remove account" msgstr "アカウントを削除" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "フィードを削除" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "マイフィードã‹ã‚‰å‰Šé™¤" @@ -1763,11 +2707,15 @@ msgstr "イメージを削除" msgid "Remove image preview" msgstr "イメージプレビューを削除" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "ã“ã®ãƒ•ィードをマイフィードã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "ä¿å˜ã—ãŸãƒ•ィードã‹ã‚‰ã“ã®ãƒ•ィードを削除ã—ã¾ã™ã‹ï¼Ÿ" @@ -1776,6 +2724,15 @@ msgstr "ä¿å˜ã—ãŸãƒ•ィードã‹ã‚‰ã“ã®ãƒ•ィードを削除ã—ã¾ã™ã‹ï¼Ÿ msgid "Removed from list" msgstr "リストã‹ã‚‰å‰Šé™¤ã•れã¾ã—ãŸ" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "返信" @@ -1784,31 +2741,50 @@ msgstr "返信" msgid "Replies to this thread are disabled" msgstr "ã“ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã¸ã®è¿”ä¿¡ã¯ã§ãã¾ã›ã‚“" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "返信ã®ãƒ•ィルター" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "{collectionName}ã‚’å ±å‘Š" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’å ±å‘Š" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "ãƒ•ã‚£ãƒ¼ãƒ‰ã‚’å ±å‘Š" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "ãƒªã‚¹ãƒˆã‚’å ±å‘Š" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" 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 "リãƒã‚¹ãƒˆ" @@ -1822,12 +2798,28 @@ msgstr "リãƒã‚¹ãƒˆã¾ãŸã¯å¼•用" msgid "Reposted by" msgstr "リãƒã‚¹ãƒˆã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +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/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "ç”»åƒæŠ•ç¨¿æ™‚ã«ALTテã‚ã‚¹ãƒˆã‚’å¿…é ˆã¨ã™ã‚‹" @@ -1835,45 +2827,77 @@ msgstr "ç”»åƒæŠ•ç¨¿æ™‚ã«ALTテã‚ã‚¹ãƒˆã‚’å¿…é ˆã¨ã™ã‚‹" msgid "Required for this provider" msgstr "ã“ã®ãƒ—ãƒãƒã‚¤ãƒ€ãƒ¼ã«å¿…è¦" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "コードをリセット" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "オンボーディングã®çŠ¶æ…‹ã‚’ãƒªã‚»ãƒƒãƒˆ" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "パスワードをリセット" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "è¨å®šã‚’リセット" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "オンボーディングã®çŠ¶æ…‹ã‚’ãƒªã‚»ãƒƒãƒˆ" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "è¨å®šã®çŠ¶æ…‹ã‚’ãƒªã‚»ãƒƒãƒˆ" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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 "å†è©¦è¡Œ" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "ä¿å˜" @@ -1881,7 +2905,7 @@ msgstr "ä¿å˜" msgid "Save alt text" msgstr "ALTテã‚ストをä¿å˜" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "変更をä¿å˜" @@ -1897,9 +2921,25 @@ msgstr "ç”»åƒã®åˆ‡ã‚ŠæŠœãã‚’ä¿å˜" msgid "Saved 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -1916,6 +2956,7 @@ 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 "ユーザーを検索" @@ -1923,10 +2964,18 @@ msgstr "ユーザーを検索" msgid "Security Step Required" 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 "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Bluesky Socialã‚’é¸æŠž" @@ -1935,6 +2984,10 @@ msgstr "Bluesky Socialã‚’é¸æŠž" msgid "Select from an existing account" msgstr "æ—¢å˜ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‹ã‚‰é¸æŠž" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "ã‚µãƒ¼ãƒ“ã‚¹ã‚’é¸æŠž" @@ -1951,7 +3004,8 @@ msgstr "アプリã«è¡¨ç¤ºã•れるデフォルトã®ãƒ†ã‚ストã®è¨€èªžã‚’é¸ msgid "Select your preferred language for translations in your feed." msgstr "フィード内ã®ç¿»è¨³ã«ä½¿ç”¨ã™ã‚‹è¨€èªžã‚’é¸æŠžã—ã¾ã™ã€‚" -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "確èªã®ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡" @@ -1959,9 +3013,14 @@ msgstr "確èªã®ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡" msgid "Send email" msgstr "メールをé€ä¿¡" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "メールをé€ä¿¡" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "メールをé€ä¿¡" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -1972,19 +3031,49 @@ msgstr "フィードãƒãƒƒã‚¯ã‚’é€ä¿¡" msgid "Send Report" msgstr "å ±å‘Šã‚’é€ä¿¡" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "æ–°ã—ã„パスワードをè¨å®š" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "フィード内ã®å¼•用をã™ã¹ã¦éžè¡¨ç¤ºã«ã™ã‚‹ã«ã¯ã€ã“ã®è¨å®šã‚’「ã„ã„ãˆã€ã«ã—ã¾ã™ã€‚リãƒã‚¹ãƒˆã¯å¼•ãç¶šã表示ã•れã¾ã™ã€‚" -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "フィード内ã®è¿”ä¿¡ã‚’ã™ã¹ã¦éžè¡¨ç¤ºã«ã™ã‚‹ã«ã¯ã€ã“ã®è¨å®šã‚’「ã„ã„ãˆã€ã«ã—ã¾ã™ã€‚" -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "フィード内ã®ãƒªãƒã‚¹ãƒˆã‚’ã™ã¹ã¦éžè¡¨ç¤ºã«ã™ã‚‹ã«ã¯ã€ã“ã®è¨å®šã‚’「ã„ã„ãˆã€ã«ã—ã¾ã™ã€‚" @@ -1992,14 +3081,35 @@ msgstr "フィード内ã®ãƒªãƒã‚¹ãƒˆã‚’ã™ã¹ã¦éžè¡¨ç¤ºã«ã™ã‚‹ã«ã¯ã€ã“ msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "スレッド表示ã§è¿”信を表示ã™ã‚‹ã«ã¯ã€ã“ã®è¨å®šã‚’「ã¯ã„ã€ã«ã—ã¾ã™ã€‚ã“れã¯å®Ÿé¨“çš„ãªæ©Ÿèƒ½ã§ã™ã€‚" -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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 "ä¿å˜ã•れãŸãƒ•ィードã‹ã‚‰æŠ•稿を抽出ã—ã¦ã€ŒFollowingã€ãƒ•ィードã«è¡¨ç¤ºã™ã‚‹ã«ã¯ã€ã“ã®è¨å®šã‚’「ã¯ã„ã€ã«ã—ã¾ã™ã€‚ã“れã¯å®Ÿé¨“çš„ãªæ©Ÿèƒ½ã§ã™ã€‚" -#: src/view/screens/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "è¨å®š" @@ -2007,21 +3117,32 @@ msgstr "è¨å®š" msgid "Sexual activity or erotic nudity." msgstr "性的行為ã¾ãŸã¯æ€§çš„ãªãƒŒãƒ¼ãƒ‰ã€‚" -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "共有" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "フィードを共有" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "表示" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "ã¨ã«ã‹ã表示" @@ -2030,15 +3151,25 @@ msgstr "ã¨ã«ã‹ã表示" msgid "Show embeds from {0}" msgstr "" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "マイフィードã‹ã‚‰ã®æŠ•稿を表示" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "引用を表示" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "返信を表示" @@ -2046,14 +3177,31 @@ msgstr "返信を表示" msgid "Show replies by people you follow before all other replies." msgstr "自分ãŒãƒ•ã‚©ãƒãƒ¼ã—ã¦ã„るユーザーã‹ã‚‰ã®è¿”ä¿¡ã‚’ã€ä»–ã®ã™ã¹ã¦ã®è¿”ä¿¡ã®å‰ã«è¡¨ç¤ºã—ã¾ã™ã€‚" -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "リãƒã‚¹ãƒˆã‚’表示" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "ユーザーを表示" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2088,7 +3236,9 @@ msgid "Sign into" msgstr "サインイン" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "サインアウト" @@ -2112,14 +3262,34 @@ msgstr "登録ã¾ãŸã¯ãƒã‚°ã‚¤ãƒ³ã—ã¦ä¼šè©±ã«å‚åŠ " msgid "Sign-in Required" msgstr "サインインãŒå¿…è¦" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "サインイン済ã¿" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "スã‚ップ" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "è¿”ä¿¡ã‚’ä¸¦ã³æ›¿ãˆã‚‹" @@ -2137,11 +3307,19 @@ msgstr "æ£æ–¹å½¢" msgid "Staging" msgstr "ステージング" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "ステータスページ" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "ストーリーブック" @@ -2149,28 +3327,59 @@ msgstr "ストーリーブック" msgid "Submit" msgstr "é€ä¿¡" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "登録" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "ã“ã®ãƒªã‚¹ãƒˆã«ç™»éŒ²" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "ãŠã™ã™ã‚ã®ãƒ•ã‚©ãƒãƒ¼" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "サãƒãƒ¼ãƒˆ" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "アカウントを切り替ãˆã‚‹" -#: src/view/screens/Settings.tsx:679 +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" + +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "システムãƒã‚°" @@ -2178,11 +3387,16 @@ msgstr "システムãƒã‚°" msgid "Tall" msgstr "トール" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "æ¡ä»¶" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2193,7 +3407,7 @@ msgstr "利用è¦ç´„" msgid "Text input field" msgstr "テã‚ストã®å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã€ãƒ–ãƒãƒƒã‚¯è§£é™¤å¾Œã«ã‚ãªãŸã¨ã‚„りå–りã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" @@ -2205,7 +3419,7 @@ msgstr "コミュニティガイドラインã¯<0/>ã«ç§»å‹•ã•れã¾ã—ãŸ" msgid "The Copyright Policy has been moved to <0/>" msgstr "著作権ãƒãƒªã‚·ãƒ¼ãŒ<0/>ã«ç§»å‹•ã•れã¾ã—ãŸ" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "投稿ãŒå‰Šé™¤ã•れãŸå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚" @@ -2214,13 +3428,86 @@ 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}ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ã”連絡ãã ã•ã„。" +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 "" + +#: 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/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "アプリケーションã«äºˆæœŸã—ãªã„å•題ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã“ã®ã‚ˆã†ãªã“ã¨ãŒã‚りã¾ã—ãŸã‚‰ãŠçŸ¥ã‚‰ã›ãã ã•ã„ï¼" @@ -2241,19 +3528,33 @@ msgstr "ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’閲覧ã™ã‚‹ãŸã‚ã«ã¯ã‚µã‚¤ãƒ³ã‚¤ãƒ³ãŒå¿…è¦ msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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/com/posts/FeedErrorMessage.tsx:113 +#: 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/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "ã“ã®æƒ…å ±ã¯ä»–ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨å…±æœ‰ã•れã¾ã›ã‚“。" -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "ã“れã¯ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤‰æ›´ã‚„パスワードã®ãƒªã‚»ãƒƒãƒˆãŒå¿…è¦ãªå ´åˆã«é‡è¦ã§ã™ã€‚" @@ -2261,24 +3562,44 @@ msgstr "ã“れã¯ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤‰æ›´ã‚„パスワードã®ãƒªã‚»ãƒƒ msgid "This is the service that keeps you online." msgstr "ã“れã¯ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã‚’ç¶æŒã™ã‚‹ãŸã‚ã®ã‚µãƒ¼ãƒ“スã§ã™ã€‚" -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "ã“ã®ãƒªãƒ³ã‚¯ã¯æ¬¡ã®ã‚¦ã‚§ãƒ–サイトã¸ãƒªãƒ³ã‚¯ã—ã¦ã„ã¾ã™ï¼š" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "ã“ã®æŠ•ç¨¿ã¯å‰Šé™¤ã•れã¾ã—ãŸã€‚" +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "ã“ã®è¦å‘Šã¯ã€ãƒ¡ãƒ‡ã‚£ã‚¢ãŒæŽ¥ç¶šã•れã¦ã„る投稿ã«ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚" -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "ã“ã®æŠ•ç¨¿ã‚’ã‚ãªãŸã®ãƒ•ィードã«ãŠã„ã¦éžè¡¨ç¤ºã«ã—ã¾ã™ã€‚" #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "スレッドã®è¨å®š" @@ -2286,7 +3607,11 @@ msgstr "スレッドã®è¨å®š" msgid "Threaded Mode" msgstr "スレッドモード" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "ドãƒãƒƒãƒ—ダウンをトグル" @@ -2294,60 +3619,100 @@ msgstr "ドãƒãƒƒãƒ—ダウンをトグル" msgid "Transformations" msgstr "変æ›" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "翻訳" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "å†è©¦è¡Œ" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "å†è©¦è¡Œ" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "リストã§ã®ãƒ–ãƒãƒƒã‚¯ã‚’解除" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "リストã§ã®ãƒŸãƒ¥ãƒ¼ãƒˆã‚’解除" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "ã‚ãªãŸã®ã‚µãƒ¼ãƒ“ã‚¹ã«æŽ¥ç¶šã§ãã¾ã›ã‚“。インターãƒãƒƒãƒˆã®æŽ¥ç¶šã‚’確èªã—ã¦ãã ã•ã„。" -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "ブãƒãƒƒã‚¯ã‚’解除" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 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/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "残念ãªãŒã‚‰ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作æˆã™ã‚‹ãŸã‚ã®è¦ä»¶ã‚’満ãŸã—ã¦ã„ã¾ã›ã‚“。" -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "アカウントã®ãƒŸãƒ¥ãƒ¼ãƒˆã‚’解除" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "スレッドã®ãƒŸãƒ¥ãƒ¼ãƒˆã‚’解除" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "モデレーションリストã®ãƒ”ン留ã‚を解除" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "リストã®{displayName}ã‚’æ›´æ–°" @@ -2356,34 +3721,83 @@ msgstr "リストã®{displayName}ã‚’æ›´æ–°" msgid "Update Available" msgstr "æ›´æ–°å¯èƒ½" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "æ›´æ–°ä¸â€¦" -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "テã‚ストファイルã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰å…ˆï¼š" -#: src/view/screens/AppPasswords.tsx:194 +#: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." msgstr "ä»–ã®Blueskyクライアントã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚„パスワードã«ãƒ•ルアクセスã™ã‚‹æ¨©é™ã‚’与ãˆãšã«ã€ã‚¢ãƒ—リパスワードを使ã£ã¦ãƒã‚°ã‚¤ãƒ³ã—ã¾ã™ã€‚" -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "デフォルトプãƒãƒã‚¤ãƒ€ãƒ¼ã‚’使用" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "ã“れã¨ãƒãƒ³ãƒ‰ãƒ«ã‚’使ã£ã¦ä»–ã®ã‚¢ãƒ—リã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¾ã™ã€‚" -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "使用者:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "ユーザーãƒãƒ³ãƒ‰ãƒ«" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "ユーザーリスト" @@ -2393,7 +3807,7 @@ msgstr "ユーザーリスト" msgid "Username or email address" msgstr "ユーザーåã¾ãŸã¯ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "ユーザー" @@ -2405,15 +3819,15 @@ msgstr "<0/>ã«ãƒ•ã‚©ãƒãƒ¼ã•れã¦ã„るユーザー" msgid "Users in \"{0}\"" msgstr "{0}ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "メールアドレスを確èª" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "メールアドレスを確èª" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "メールアドレスを確èª" @@ -2422,22 +3836,54 @@ msgstr "メールアドレスを確èª" msgid "Verify New Email" msgstr "æ–°ã—ã„メールアドレスを確èª" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "æ¬ é™¥äº‹é …ã‚’è¡¨ç¤º" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "ã‚¢ãƒã‚¿ãƒ¼ã‚’表示" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "サイトã¸ã‚¢ã‚¯ã‚»ã‚¹" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "ç§ãŸã¡ã¯ã‚ãªãŸãŒå‚åŠ ã—ã¦ãれるã“ã¨ã‚’ã¨ã¦ã‚‚楽ã—ã¿ã«ã—ã¦ã„ã¾ã™ï¼" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "大変申ã—訳ã‚りã¾ã›ã‚“ãŒã€æ¤œç´¢ã‚’完了ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚数分後ã«å†è©¦è¡Œã—ã¦ãã ã•ã„。" @@ -2455,6 +3901,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "ã“ã®{collectionName}ã®å•題ã¯ä½•ã§ã™ã‹ï¼Ÿ" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "最近ã©ã†ï¼Ÿ" @@ -2475,23 +3922,30 @@ msgstr "返信ã§ãるユーザー" msgid "Wide" msgstr "ワイド" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "投稿を書ã" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "返信を書ã" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "ã¯ã„" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "ホスティングプãƒãƒã‚¤ãƒ€ã¯ã„ã¤ã§ã‚‚変更ã§ãã¾ã™ã€‚" @@ -2501,7 +3955,7 @@ msgstr "ホスティングプãƒãƒã‚¤ãƒ€ã¯ã„ã¤ã§ã‚‚変更ã§ãã¾ã™ã€‚" msgid "You can now sign in with your new password." msgstr "æ–°ã—ã„パスワードã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚" -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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ã‚’ã‚‚ã†ã—ã°ã‚‰ã利用ã—ãŸã‚‰ãŠé€ã‚Šã—ã¾ã™ã€‚" @@ -2509,7 +3963,7 @@ msgstr "ã¾ã 招待コードãŒã‚りã¾ã›ã‚“ï¼Blueskyã‚’ã‚‚ã†ã—ã°ã‚‰ãåˆ msgid "You don't have any pinned feeds." msgstr "ピン留ã‚ã•れãŸãƒ•ィードãŒã‚りã¾ã›ã‚“。" -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "ä¿å˜ã•れãŸãƒ•ィードãŒã‚りã¾ã›ã‚“ï¼" @@ -2517,16 +3971,24 @@ msgstr "ä¿å˜ã•れãŸãƒ•ィードãŒã‚りã¾ã›ã‚“ï¼" msgid "You don't have any saved feeds." msgstr "ä¿å˜ã•れãŸãƒ•ィードãŒã‚りã¾ã›ã‚“。" -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "ã‚ãªãŸãŒè‘—者をブãƒãƒƒã‚¯ã—ã¦ã„ã‚‹ã‹ã€ã¾ãŸã¯è‘—者ã«ã‚ˆã£ã¦ã‚ãªãŸã¯ãƒ–ãƒãƒƒã‚¯ã•れã¦ã„ã¾ã™ã€‚" -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "リストãŒã‚りã¾ã›ã‚“。" @@ -2534,7 +3996,7 @@ msgstr "リストãŒã‚りã¾ã›ã‚“。" 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:86 +#: 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 "アプリパスワードã¯ã¾ã 作æˆã•れã¦ã„ã¾ã›ã‚“。下ã®ãƒœã‚¿ãƒ³ã‚’押ã™ã¨ä½œæˆã§ãã¾ã™ã€‚" @@ -2542,23 +4004,48 @@ msgstr "アプリパスワードã¯ã¾ã 作æˆã•れã¦ã„ã¾ã›ã‚“。下ã®ãƒœ 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/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." 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/Step2.tsx:58 msgid "Your account" msgstr "ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 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/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "メールアドレスãŒç„¡åйãªã‚ˆã†ã§ã™ã€‚" -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "メールアドレスãŒä¿å˜ã•れã¾ã—ãŸï¼ã™ãã«ã”連絡ã„ãŸã—ã¾ã™ã€‚" @@ -2566,30 +4053,43 @@ msgstr "メールアドレスãŒä¿å˜ã•れã¾ã—ãŸï¼ã™ãã«ã”連絡ã„㟠msgid "Your email has been updated but not verified. As a next step, please verify your new email." msgstr "ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ›´æ–°ã•れã¾ã—ãŸãŒã€ç¢ºèªã•れã¦ã„ã¾ã›ã‚“。次ã®ã‚¹ãƒ†ãƒƒãƒ—ã¨ã—ã¦ã€æ–°ã—ã„Eメールを確èªã—ã¦ãã ã•ã„。" -#: src/view/com/modals/VerifyEmail.tsx:108 +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "フルãƒãƒ³ãƒ‰ãƒ«ã¯" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "ホスティングプãƒãƒã‚¤ãƒ€ãƒ¼" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "アプリパスワードを使用ã—ã¦ãƒã‚°ã‚¤ãƒ³ã™ã‚‹ã¨ã€æ‹›å¾…コードã¯éžè¡¨ç¤ºã«ãªã‚Šã¾ã™ã€‚" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "投稿ã€ã„ã„ãã€ãƒ–ãƒãƒƒã‚¯ã¯å…¬é–‹ã•れã¾ã™ã€‚ミュートã¯éžå…¬é–‹ã§ã™ã€‚" -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "ã‚ãªãŸã®ãƒ—ãƒãƒ•ィール" @@ -2597,6 +4097,10 @@ msgstr "ã‚ãªãŸã®ãƒ—ãƒãƒ•ィール" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "ã‚ãªãŸã®ãƒ—ãƒãƒ•ã‚£ãƒ¼ãƒ«ã¨æŠ•ç¨¿ã¯ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’æŒã£ã¦ãŠã‚‰ãšãƒã‚°ã‚¤ãƒ³ã—ã¦ã„ãªã„状態ã§Blueskyã®ã‚¢ãƒ—リã¾ãŸã¯ã‚¦ã‚§ãƒ–サイトを訪å•ã™ã‚‹äººã€…ã«ã¯è¡¨ç¤ºã•れã¾ã›ã‚“。" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "ã‚ãªãŸã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒãƒ³ãƒ‰ãƒ«" diff --git a/src/locale/locales/ko/messages.po b/src/locale/locales/ko/messages.po index 3aaac3d8d..277b97e22 100644 --- a/src/locale/locales/ko/messages.po +++ b/src/locale/locales/ko/messages.po @@ -21,53 +21,62 @@ msgstr "" #~ msgid ". This warning is only available for posts with media attached." #~ msgstr ". ì´ ê²½ê³ ëŠ” 미디어가 ì²¨ë¶€ëœ ê²Œì‹œë¬¼ì—ë§Œ ì‚¬ìš©í• ìˆ˜ 있습니다." +#: 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, plural, one {초대 코드 #ê°œ 사용 가능} other {초대 코드 #ê°œ 사용 가능}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:177 -msgid "{0} {purposeLabel} List" -msgstr "{purposeLabel} 리스트 {0}" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "{purposeLabel} 리스트 {0}" #: src/lib/strings/time.ts:40 -msgid "{0} at {1}" -msgstr "{0} {1}" +#~ msgid "{0} at {1}" +#~ msgstr "{0} {1}" #: src/lib/strings/time.ts:30 -msgid "{0}d" -msgstr "{0}ì¼" +#~ msgid "{0}d" +#~ msgstr "{0}ì¼" #: src/lib/strings/time.ts:28 -msgid "{0}h" -msgstr "{0}시간" +#~ msgid "{0}h" +#~ msgstr "{0}시간" #: src/lib/strings/time.ts:26 -msgid "{0}m" -msgstr "{0}ë¶„" +#~ msgid "{0}m" +#~ msgstr "{0}ë¶„" #: src/lib/strings/time.ts:32 -msgid "{0}mo" -msgstr "{0}개월" +#~ msgid "{0}mo" +#~ msgstr "{0}개월" #: src/lib/strings/time.ts:24 -msgid "{diffSeconds}s" -msgstr "{diffSeconds}ì´ˆ" +#~ msgid "{diffSeconds}s" +#~ msgstr "{diffSeconds}ì´ˆ" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, one {초대 코드: #ê°œ 사용 가능} other {초대 코드: #ê°œ 사용 가능}}" -#: src/view/screens/Settings.tsx:408 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "초대 코드 {invitesAvailable}ê°œ 사용 가능" -#: src/view/screens/Settings.tsx:410 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "초대 코드 {invitesAvailable}ê°œ 사용 가능" @@ -75,25 +84,37 @@ msgstr "초대 코드 {invitesAvailable}ê°œ 사용 가능" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + #: src/view/com/modals/CreateOrEditList.tsx:133 -msgid "{purposeLabel} list created" -msgstr "{purposeLabel} 리스트 ìƒì„±ë¨" +#~ msgid "{purposeLabel} list created" +#~ msgstr "{purposeLabel} 리스트 ìƒì„±ë¨" #: src/view/com/modals/CreateOrEditList.tsx:124 -msgid "{purposeLabel} list updated" -msgstr "{purposeLabel} 리스트 ì—…ë°ì´íЏë¨" +#~ msgid "{purposeLabel} list updated" +#~ msgstr "{purposeLabel} 리스트 ì—…ë°ì´íЏë¨" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> 멤버" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<1>추천 피드</1><0>ì„ íƒí•˜ê¸°</0>" #: src/view/com/modals/DeleteAccount.tsx:82 -msgid "<0>Delete Account </0><1><2>\"</2><3>{0}</3><4>\"</4></1>" -msgstr "<1><2>\"</2><3>{0}</3><4>\"</4></1><0> ê³„ì • ì‚ì œ</0>" +#~ msgid "<0>Delete Account </0><1><2>\"</2><3>{0}</3><4>\"</4></1>" +#~ msgstr "<1><2>\"</2><3>{0}</3><4>\"</4></1><0> ê³„ì • ì‚ì œ</0>" #: src/view/com/auth/onboarding/RecommendedFollows.tsx:37 msgid "<0>Follow some</0><1>Recommended</1><2>Users</2>" @@ -111,10 +132,14 @@ msgstr "<1>추천 사용ìž</1><0>팔로우하기</0>" #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" #~ msgstr "<0>ì°¸ê³ : 프로필과 ê²Œì‹œë¬¼ì€ ê³µê°œ ìƒíƒœë¡œ ìœ ì§€ë©ë‹ˆë‹¤. Bluesky 콘í…ì¸ ë¥¼ 표시하는 타사 ì•±ì€ ì´ ì„¤ì •ì„ ì¤€ìˆ˜í•˜ì§€ ì•Šì„ ìˆ˜ 있습니다.</0>" -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:22 +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 msgid "<0>Welcome to</0><1>Bluesky</1>" msgstr "<1>Bluesky</1><0>ì— ì˜¤ì‹ ê²ƒì„ í™˜ì˜í•©ë‹ˆë‹¤</0>" +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "ì´ {0}ì— ì½˜í…ì¸ ê²½ê³ ê°€ ì ìš©ë˜ì—ˆìŠµë‹ˆë‹¤." @@ -123,13 +148,22 @@ msgstr "ì´ {0}ì— ì½˜í…ì¸ ê²½ê³ ê°€ ì ìš©ë˜ì—ˆìŠµë‹ˆë‹¤." msgid "A new version of the app is available. Please update to continue using the app." msgstr "새 ë²„ì „ì˜ ì•±ì„ ì‚¬ìš©í• ìˆ˜ 있습니다. ì•±ì„ ê³„ì† ì‚¬ìš©í•˜ë ¤ë©´ ì—…ë°ì´íŠ¸í•˜ì„¸ìš”." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:418 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "ì ‘ê·¼ì„±" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:287 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "ê³„ì •" @@ -141,6 +175,14 @@ msgstr "ê³„ì • 차단ë¨" msgid "Account muted" msgstr "ê³„ì • 뮤트ë¨" +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +msgid "Account Muted by List" +msgstr "" + #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" msgstr "ê³„ì • 옵션" @@ -158,13 +200,13 @@ msgid "Account unmuted" msgstr "ê³„ì • 언뮤트ë¨" #: src/state/queries/preferences/moderation.ts:138 -msgid "Accounts falsely claiming to be people or orgs" -msgstr "사람 ë˜ëŠ” ì¡°ì§ì„ 사ì¹í•˜ëŠ” ê³„ì •" +#~ msgid "Accounts falsely claiming to be people or orgs" +#~ msgstr "사람 ë˜ëŠ” ì¡°ì§ì„ 사ì¹í•˜ëŠ” ê³„ì •" -#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:151 +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:772 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "추가" @@ -172,12 +214,12 @@ msgstr "추가" msgid "Add a content warning" msgstr "콘í…ì¸ ê²½ê³ ì¶”ê°€" -#: src/view/screens/ProfileList.tsx:762 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "ì´ ë¦¬ìŠ¤íŠ¸ì— ì‚¬ìš©ìž ì¶”ê°€" -#: src/view/screens/Settings.tsx:356 -#: src/view/screens/Settings.tsx:365 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "ê³„ì • 추가" @@ -194,23 +236,23 @@ msgid "Add App Password" msgstr "앱 비밀번호 추가" #: src/view/com/modals/report/InputIssueDetails.tsx:41 -#: src/view/com/modals/report/Modal.tsx:194 +#: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" msgstr "세부 ì •ë³´ 추가" -#: src/view/com/modals/report/Modal.tsx:197 +#: src/view/com/modals/report/Modal.tsx:194 msgid "Add details to report" msgstr "ì‹ ê³ ì„¸ë¶€ ì •ë³´ 추가" -#: src/view/com/composer/Composer.tsx:449 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "ë§í¬ 카드 추가" -#: src/view/com/composer/Composer.tsx:452 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "ë§í¬ 카드 추가:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "ë„ë©”ì¸ì— ë‹¤ìŒ DNS ë ˆì½”ë“œë¥¼ 추가하세요:" @@ -218,11 +260,12 @@ msgstr "ë„ë©”ì¸ì— ë‹¤ìŒ DNS ë ˆì½”ë“œë¥¼ 추가하세요:" msgid "Add to Lists" msgstr "ë¦¬ìŠ¤íŠ¸ì— ì¶”ê°€" +#: src/view/com/feeds/FeedSourceCard.tsx:243 #: src/view/screens/ProfileFeed.tsx:281 msgid "Add to my feeds" msgstr "ë‚´ í”¼ë“œì— ì¶”ê°€" -#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:140 +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 msgid "Added" msgstr "추가ë¨" @@ -247,7 +290,7 @@ msgstr "ì„±ì¸ ì½˜í…ì¸ " msgid "Adult content can only be enabled via the Web at <0/>." msgstr "ì„±ì¸ ì½˜í…ì¸ ëŠ” <0/>ì—서 ì›¹ì„ í†µí•´ì„œë§Œ í™œì„±í™”í• ìˆ˜ 있습니다." -#: src/view/screens/Settings.tsx:603 +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "ê³ ê¸‰" @@ -267,7 +310,7 @@ msgstr "대체 í…스트" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "대체 í…스트는 시ê°ìž¥ì• ì¸ê³¼ ì €ì‹œë ¥ 사용ìžë¥¼ 위해 ì´ë¯¸ì§€ë¥¼ 설명하며 ëª¨ë“ ì‚¬ìš©ìžì˜ ì´í•´ë¥¼ ë•습니다." -#: src/view/com/modals/VerifyEmail.tsx:120 +#: 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}(으)로 ì´ë©”ì¼ì„ ì „ì†¡í–ˆìŠµë‹ˆë‹¤. ì´ ì´ë©”ì¼ì—는 ì•„ëž˜ì— ìž…ë ¥í•˜ëŠ” í™•ì¸ ì½”ë“œê°€ í¬í•¨ë˜ì–´ 있습니다." @@ -276,25 +319,22 @@ msgid "An email has been sent to your previous address, {0}. It includes a confi msgstr "ì´ì „ ì£¼ì†Œì¸ {0}(으)로 ì´ë©”ì¼ì„ ì „ì†¡í–ˆìŠµë‹ˆë‹¤. ì´ ì´ë©”ì¼ì—는 ì•„ëž˜ì— ìž…ë ¥í•˜ëŠ” í™•ì¸ ì½”ë“œê°€ í¬í•¨ë˜ì–´ 있습니다." #: src/view/com/modals/report/ReasonOptions.tsx:23 -msgid "An issue not included in these options" -msgstr "ì´ ì˜µì…˜ì— í¬í•¨ë˜ì§€ ì•Šì€ ë¬¸ì œ" +#~ msgid "An issue not included in these options" +#~ msgstr "ì´ ì˜µì…˜ì— í¬í•¨ë˜ì§€ ì•Šì€ ë¬¸ì œ" #: src/view/com/profile/FollowButton.tsx:30 #: src/view/com/profile/FollowButton.tsx:40 -#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:183 -#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:193 msgid "An issue occurred, please try again." msgstr "ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. 다시 시ë„í•´ 주세요." -#: src/view/com/auth/create/Policies.tsx:80 #: src/view/com/notifications/FeedItem.tsx:240 #: src/view/com/threadgate/WhoCanReply.tsx:178 msgid "and" msgstr "ë°" #: src/view/com/modals/report/ReasonOptions.tsx:14 -msgid "Anti-Social Behavior" -msgstr "반사회ì 행위" +#~ msgid "Anti-Social Behavior" +#~ msgstr "반사회ì 행위" #: src/view/screens/LanguageSettings.tsx:95 msgid "App Language" @@ -312,15 +352,20 @@ msgstr "앱 비밀번호 ì´ë¦„ì—는 문ìž, 숫ìž, 공백, 대시, 밑줄만 msgid "App Password names must be at least 4 characters long." msgstr "앱 비밀번호 ì´ë¦„ì€ 4ìž ì´ìƒì´ì–´ì•¼ 합니다." -#: src/view/screens/Settings.tsx:623 +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "앱 비밀번호" +#: src/Navigation.tsx:239 #: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "앱 비밀번호" -#: src/view/com/util/forms/PostDropdownBtn.tsx:238 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "콘í…ì¸ ê²½ê³ ì´ì˜ì‹ ì²" @@ -340,7 +385,7 @@ msgstr "ì´ ê²°ì •ì— ì´ì˜ì‹ ì²" msgid "Appeal this decision." msgstr "ì´ ê²°ì •ì— ì´ì˜ì‹ ì²í•©ë‹ˆë‹¤." -#: src/view/screens/Settings.tsx:433 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "모양" @@ -356,14 +401,18 @@ msgstr "앱 비밀번호 \"{name}\"ì„(를) ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" msgid "Are you sure you'd like to discard this draft?" msgstr "ì´ ì´ˆì•ˆì„ ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" -#: src/view/screens/ProfileList.tsx:361 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "ì •ë§ì¸ê°€ìš”?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:221 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "ì •ë§ì¸ê°€ìš”? ë˜ëŒë¦´ 수 없습니다." +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "ì„ ì •ì ì´ì§€ 않거나 ì˜ˆìˆ ì ì¸ ë…¸ì¶œ." @@ -374,18 +423,24 @@ msgstr "ì„ ì •ì ì´ì§€ 않거나 ì˜ˆìˆ ì ì¸ ë…¸ì¶œ." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:676 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "뒤로" -#: src/view/screens/Settings.tsx:462 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "기본" @@ -394,7 +449,7 @@ msgstr "기본" msgid "Birthday" msgstr "ìƒë…„ì›”ì¼" -#: src/view/screens/Settings.tsx:313 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "ìƒë…„ì›”ì¼:" @@ -403,22 +458,32 @@ msgstr "ìƒë…„ì›”ì¼:" msgid "Block Account" msgstr "ê³„ì • 차단" -#: src/view/screens/ProfileList.tsx:531 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "ê³„ì • 차단" -#: src/view/screens/ProfileList.tsx:481 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "리스트 차단" -#: src/view/screens/ProfileList.tsx:312 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "ì´ ê³„ì •ë“¤ì„ ì°¨ë‹¨í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "차단한 ê³„ì •" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "차단한 ê³„ì •" @@ -431,16 +496,15 @@ msgstr "차단한 ê³„ì •ì€ ë‚´ ìŠ¤ë ˆë“œì— ë‹µê¸€ì„ ë‹¬ê±°ë‚˜ 나를 ë©˜ì…˜í• 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:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "ì°¨ë‹¨ëœ ê²Œì‹œë¬¼." -#: src/view/screens/ProfileList.tsx:314 +#: 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 "차단 목ë¡ì€ 공개ë©ë‹ˆë‹¤. 차단한 ê³„ì •ì€ ë‚´ ìŠ¤ë ˆë“œì— ë‹µê¸€ì„ ë‹¬ê±°ë‚˜ 나를 멘션하거나 기타 다른 ë°©ì‹ìœ¼ë¡œ 나와 ìƒí˜¸ìž‘ìš©í• ìˆ˜ 없습니다." #: src/view/com/auth/HomeLoggedOutCTA.tsx:93 -#: src/view/com/auth/SplashScreen.web.tsx:113 msgid "Blog" msgstr "블로그" @@ -448,17 +512,17 @@ msgstr "블로그" msgid "Bluesky" msgstr "Bluesky" -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:82 +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:80 msgid "Bluesky is flexible." msgstr "Bluesky는 ìœ ì—°í•©ë‹ˆë‹¤." -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:71 +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky는 ì—´ë ¤ 있습니다." -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:58 +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky는 공개ì 입니다." @@ -475,18 +539,37 @@ msgstr "로그아웃한 사용ìžì—게 ë‚´ 프로필과 ê²Œì‹œë¬¼ì„ í‘œì‹œí•˜ì msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:752 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "빌드 ë²„ì „ {0} {1}" #: src/view/com/auth/HomeLoggedOutCTA.tsx:87 -#: src/view/com/auth/SplashScreen.web.tsx:108 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + #: src/view/com/auth/create/Policies.tsx:87 -msgid "By creating an account you agree to the {els}." -msgstr "ê³„ì •ì„ ë§Œë“¤ë©´ {els}ì— ë™ì˜í•˜ëŠ” 것입니다." +#~ msgid "By creating an account you agree to the {els}." +#~ msgstr "ê³„ì •ì„ ë§Œë“¤ë©´ {els}ì— ë™ì˜í•˜ëŠ” 것입니다." + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" #: src/view/com/composer/photos/OpenCameraBtn.tsx:60 #: src/view/com/util/UserAvatar.tsx:221 @@ -498,31 +581,35 @@ msgstr "ì¹´ë©”ë¼" 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/view/com/composer/Composer.tsx:296 -#: src/view/com/composer/Composer.tsx:299 +#: 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/ChangeHandle.tsx:153 -#: src/view/com/modals/Confirm.tsx:88 -#: src/view/com/modals/Confirm.tsx:91 -#: src/view/com/modals/CreateOrEditList.tsx:270 -#: src/view/com/modals/CreateOrEditList.tsx:275 -#: src/view/com/modals/crop-image/CropImage.web.tsx:137 -#: src/view/com/modals/DeleteAccount.tsx:152 -#: src/view/com/modals/DeleteAccount.tsx:225 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 #: src/view/com/modals/EditProfile.tsx:249 -#: src/view/com/modals/LinkWarning.tsx:85 +#: src/view/com/modals/InAppBrowserConsent.tsx:78 #: src/view/com/modals/LinkWarning.tsx:87 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "취소" +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:148 -#: src/view/com/modals/DeleteAccount.tsx:221 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "ê³„ì • ì‚ì œ 취소" @@ -542,25 +629,30 @@ msgstr "ì´ë¯¸ì§€ ìžë¥´ê¸° 취소" msgid "Cancel profile editing" msgstr "프로필 편집 취소" -#: src/view/com/modals/Repost.tsx:64 +#: 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:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "검색 취소" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "ëŒ€ê¸°ìž ëª…ë‹¨ ë“±ë¡ ì·¨ì†Œ" -#: src/view/screens/Settings.tsx:307 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "변경" +msgstr "" + +#: src/view/screens/Settings.tsx:307 +#~ msgid "Change" +#~ msgstr "변경" -#: src/view/screens/Settings.tsx:635 -#: src/view/screens/Settings.tsx:644 +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "핸들 변경" @@ -568,10 +660,14 @@ msgstr "핸들 변경" msgid "Change Handle" msgstr "핸들 변경" -#: src/view/com/modals/VerifyEmail.tsx:143 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "ë‚´ ì´ë©”ì¼ ë³€ê²½" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "ì´ë©”ì¼ ë³€ê²½" @@ -592,11 +688,15 @@ msgstr "ë°›ì€ íŽ¸ì§€í•¨ì—서 ì•„ëž˜ì— ìž…ë ¥í•˜ëŠ” í™•ì¸ ì½”ë“œê°€ í¬í•¨ëœ msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "\"모ë‘\" ë˜ëŠ” \"ì—†ìŒ\"ì„ ì„ íƒí•˜ì„¸ìš”." +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "서비스 ì„ íƒ" -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:85 +#: 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 "맞춤 피드를 통해 ì‚¬ìš©ìž ê²½í—˜ì„ ê°•í™”í•˜ëŠ” ì•Œê³ ë¦¬ì¦˜ì„ ì„ íƒí•©ë‹ˆë‹¤." @@ -609,27 +709,33 @@ msgstr "맞춤 피드를 통해 ì‚¬ìš©ìž ê²½í—˜ì„ ê°•í™”í•˜ëŠ” ì•Œê³ ë¦¬ì¦˜ì„ msgid "Choose your password" msgstr "비밀번호를 ìž…ë ¥í•˜ì„¸ìš”" -#: src/view/screens/Settings.tsx:728 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "ëª¨ë“ ë ˆê±°ì‹œ ìŠ¤í† ë¦¬ì§€ ë°ì´í„° 지우기" -#: src/view/screens/Settings.tsx:730 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "ëª¨ë“ ë ˆê±°ì‹œ ìŠ¤í† ë¦¬ì§€ ë°ì´í„° 지우기 (ì´í›„ 다시 시작)" -#: src/view/screens/Settings.tsx:740 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "ëª¨ë“ ìŠ¤í† ë¦¬ì§€ ë°ì´í„° 지우기" -#: src/view/screens/Settings.tsx:742 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "ëª¨ë“ ìŠ¤í† ë¦¬ì§€ ë°ì´í„° 지우기 (ì´í›„ 다시 시작)" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "검색어 지우기" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "알림 닫기" @@ -650,25 +756,54 @@ msgstr "ì´ë¯¸ì§€ ë·°ì–´ 닫기" msgid "Close navigation footer" msgstr "íƒìƒ‰ 푸터 닫기" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "커뮤니티 ê°€ì´ë“œë¼ì¸" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "답글 작성하기" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 -#: src/view/com/modals/Confirm.tsx:78 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:227 -#: src/view/com/modals/VerifyEmail.tsx:229 +#: 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 "확ì¸" +#: 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" @@ -678,24 +813,32 @@ msgstr "변경 확ì¸" msgid "Confirm content language settings" msgstr "콘í…ì¸ ì–¸ì–´ ì„¤ì • 확ì¸" -#: src/view/com/modals/DeleteAccount.tsx:211 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "ê³„ì • ì‚ì œ 확ì¸" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 #: src/view/com/modals/DeleteAccount.tsx:178 -#: src/view/com/modals/VerifyEmail.tsx:161 +#: 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 "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "ì—°ê²° 중…" #: src/view/com/modals/report/ReasonOptions.tsx:38 -msgid "Contains copyrighted material" -msgstr "ì €ìž‘ê¶Œì´ ìžˆëŠ” ìžë£Œê°€ í¬í•¨ë¨" +#~ msgid "Contains copyrighted material" +#~ msgstr "ì €ìž‘ê¶Œì´ ìžˆëŠ” ìžë£Œê°€ í¬í•¨ë¨" #: src/view/screens/Moderation.tsx:81 msgid "Content filtering" @@ -710,6 +853,11 @@ msgstr "콘í…ì¸ í•„í„°ë§" msgid "Content Languages" msgstr "콘í…ì¸ ì–¸ì–´" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "콘í…ì¸ ê²½ê³ " @@ -728,31 +876,33 @@ msgstr "계ì†" msgid "Copied" msgstr "복사ë¨" -#: src/view/screens/Settings.tsx:236 +#: src/view/screens/Settings.tsx:243 msgid "Copied build version to clipboard" msgstr "빌드 ë²„ì „ í´ë¦½ë³´ë“œì— 복사ë¨" -#: src/lib/sharing.ts:23 #: src/view/com/modals/AddAppPasswords.tsx:75 -#: src/view/com/modals/ChangeHandle.tsx:325 #: src/view/com/modals/InviteCodes.tsx:152 -#: src/view/com/util/forms/PostDropdownBtn.tsx:100 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 msgid "Copied to clipboard" msgstr "í´ë¦½ë³´ë“œì— 복사ë¨" +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + #: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "복사" #: src/view/com/modals/ChangeHandle.tsx:479 -msgid "Copy {0}" -msgstr "{0} 복사" +#~ msgid "Copy {0}" +#~ msgstr "{0} 복사" -#: src/view/screens/ProfileList.tsx:393 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "리스트 ë§í¬ 복사" -#: src/view/com/util/forms/PostDropdownBtn.tsx:141 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "게시물 ë§í¬ 복사" @@ -760,32 +910,37 @@ msgstr "게시물 ë§í¬ 복사" msgid "Copy link to profile" msgstr "프로필 ë§í¬ 복사" -#: src/view/com/util/forms/PostDropdownBtn.tsx:127 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "게시물 í…스트 복사" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "ì €ìž‘ê¶Œ ì •ì±…" #: src/view/com/modals/report/ReasonOptions.tsx:37 -msgid "Copyright Violation" -msgstr "ì €ìž‘ê¶Œ 침해" +#~ msgid "Copyright Violation" +#~ msgstr "ì €ìž‘ê¶Œ 침해" #: src/view/screens/ProfileFeed.tsx:95 msgid "Could not load feed" msgstr "피드를 불러올 수 없습니다" -#: src/view/screens/ProfileList.tsx:848 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "리스트를 불러올 수 없습니다" #: src/view/com/auth/HomeLoggedOutCTA.tsx:62 #: src/view/com/auth/SplashScreen.tsx:46 -#: src/view/com/auth/SplashScreen.web.tsx:78 +#: src/view/com/auth/SplashScreen.web.tsx:77 msgid "Create a new account" msgstr "새 ê³„ì • 만들기" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "ê³„ì • 만들기" @@ -803,7 +958,19 @@ msgstr "새 ê³„ì • 만들기" msgid "Created {0}" msgstr "{0} ìƒì„±ë¨" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "ì‚¬ìš©ìž ì§€ì • ë„ë©”ì¸" @@ -812,58 +979,74 @@ msgstr "ì‚¬ìš©ìž ì§€ì • ë„ë©”ì¸" msgid "Customize media from external sites." msgstr "외부 사ì´íЏ 미디어를 ì‚¬ìš©ìž ì§€ì •í•©ë‹ˆë‹¤." -#: src/view/screens/Settings.tsx:649 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "위험 구ì—" -#: src/view/screens/Settings.tsx:452 +#: src/view/screens/Settings.tsx:479 msgid "Dark" msgstr "ì–´ë‘움" +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" + +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:61 -msgid "default" -msgstr "기본" +#~ msgid "default" +#~ msgstr "기본" -#: src/view/screens/Settings.tsx:656 +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "ê³„ì • ì‚ì œ" #: src/view/com/modals/DeleteAccount.tsx:83 -#~ msgid "Delete Account" -#~ msgstr "ê³„ì • ì‚ì œ" +msgid "Delete Account" +msgstr "ê³„ì • ì‚ì œ" #: src/view/screens/AppPasswords.tsx:222 #: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "앱 비밀번호 ì‚ì œ" -#: src/view/screens/ProfileList.tsx:360 -#: src/view/screens/ProfileList.tsx:420 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "리스트 ì‚ì œ" -#: src/view/com/modals/DeleteAccount.tsx:214 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "ë‚´ ê³„ì • ì‚ì œ" -#: src/view/screens/Settings.tsx:666 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "ë‚´ ê³„ì • ì‚ì œâ€¦" -#: src/view/com/util/forms/PostDropdownBtn.tsx:216 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "게시물 ì‚ì œ" -#: src/view/com/util/forms/PostDropdownBtn.tsx:220 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "ì´ ê²Œì‹œë¬¼ì„ ì‚ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "ì‚ì œëœ ê²Œì‹œë¬¼." -#: src/view/com/modals/CreateOrEditList.tsx:221 -#: src/view/com/modals/CreateOrEditList.tsx:237 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 #: src/view/com/modals/EditProfile.tsx:198 #: src/view/com/modals/EditProfile.tsx:210 msgid "Description" @@ -873,7 +1056,7 @@ msgstr "설명" msgid "Dev Server" msgstr "개발 서버" -#: src/view/screens/Settings.tsx:671 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "ê°œë°œìž ë„구" @@ -898,7 +1081,7 @@ msgstr "ì•±ì´ ë¡œê·¸ì•„ì›ƒí•œ 사용ìžì—게 ë‚´ ê³„ì •ì„ í‘œì‹œí•˜ì§€ ì•Šë„ msgid "Discover new custom feeds" msgstr "새로운 맞춤 피드 찾아보기" -#: src/view/screens/Feeds.tsx:405 +#: src/view/screens/Feeds.tsx:409 msgid "Discover new feeds" msgstr "새 피드 발견하기" @@ -911,16 +1094,16 @@ msgid "Display Name" msgstr "표시 ì´ë¦„" #: src/view/com/modals/ChangeHandle.tsx:396 -msgid "DNS Panel" -msgstr "DNS 패ë„" +#~ msgid "DNS Panel" +#~ msgstr "DNS 패ë„" #: src/state/queries/preferences/moderation.ts:108 -msgid "Does not include nudity" -msgstr "ì‹ ì²´ 노출 미í¬í•¨" +#~ msgid "Does not include nudity" +#~ msgstr "ì‹ ì²´ 노출 미í¬í•¨" #: src/view/com/modals/ChangeHandle.tsx:480 -msgid "Domain Value" -msgstr "ë„ë©”ì¸ ê°’" +#~ msgid "Domain Value" +#~ msgstr "ë„ë©”ì¸ ê°’" #: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" @@ -931,23 +1114,27 @@ msgid "Don't have an invite code?" 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:79 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 +#: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + #: src/view/com/modals/AddAppPasswords.tsx:228 #: src/view/com/modals/AltImage.tsx:115 #: 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/EditImage.tsx:333 #: src/view/com/modals/InviteCodes.tsx:80 #: src/view/com/modals/InviteCodes.tsx:123 #: src/view/com/modals/ListAddRemoveUsers.tsx:142 -#: 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:79 -#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesHomeFeed.tsx:311 -#: src/view/screens/PreferencesThreads.tsx:162 msgid "Done" msgstr "완료" @@ -955,40 +1142,44 @@ msgstr "완료" msgid "Done{extraText}" msgstr "완료{extraText}" +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:33 #: src/view/com/modals/ChangeHandle.tsx:257 -msgid "e.g. alice" -msgstr "예: alice" +#~ msgid "e.g. alice" +#~ msgstr "예: alice" #: src/view/com/modals/EditProfile.tsx:185 msgid "e.g. Alice Roberts" msgstr "예: 앨리스 ë¡œë²„ì¸ " #: src/view/com/modals/ChangeHandle.tsx:379 -msgid "e.g. alice.com" -msgstr "예: alice.com" +#~ msgid "e.g. alice.com" +#~ msgstr "예: alice.com" #: src/view/com/modals/EditProfile.tsx:203 msgid "e.g. Artist, dog-lover, and avid reader." msgstr "예: ì˜ˆìˆ ê°€, ê°œ ì• í˜¸ê°€, ë…서광." -#: src/view/com/modals/CreateOrEditList.tsx:207 +#: src/view/com/modals/CreateOrEditList.tsx:225 msgid "e.g. Great Posters" msgstr "예: ë©‹ì§„ í¬ìŠ¤í„°" #: src/view/com/modals/ServerInput.tsx:94 -msgid "e.g. https://bsky.app" -msgstr "예: https://bsky.app" +#~ msgid "e.g. https://bsky.app" +#~ msgstr "예: https://bsky.app" -#: src/view/com/modals/CreateOrEditList.tsx:208 +#: src/view/com/modals/CreateOrEditList.tsx:226 msgid "e.g. Spammers" msgstr "예: 스팸 ê³„ì •" -#: src/view/com/modals/CreateOrEditList.tsx:228 +#: src/view/com/modals/CreateOrEditList.tsx:246 msgid "e.g. The posters who never miss." msgstr "예: ë†“ì¹ ìˆ˜ 없는 í¬ìŠ¤í„°ë“¤." -#: src/view/com/modals/CreateOrEditList.tsx:229 +#: src/view/com/modals/CreateOrEditList.tsx:247 msgid "e.g. Users that repeatedly reply with ads." msgstr "예: 반복ì 으로 ê´‘ê³ ë‹µê¸€ì„ ë‹¤ëŠ” ê³„ì •." @@ -996,20 +1187,30 @@ msgstr "예: 반복ì 으로 ê´‘ê³ ë‹µê¸€ì„ ë‹¤ëŠ” ê³„ì •." msgid "Each code works once. You'll receive more invite codes periodically." msgstr "ê° ì½”ë“œëŠ” 한 번만 ì‚¬ìš©í• ìˆ˜ 있습니다. 주기ì 으로 ë” ë§Žì€ ì´ˆëŒ€ 코드를 받게 ë©ë‹ˆë‹¤." -#: src/view/com/modals/CreateOrEditList.tsx:178 +#: src/view/com/lists/ListMembers.tsx:149 +msgctxt "action" msgid "Edit" -msgstr "편집" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:178 +#~ msgid "Edit" +#~ 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:408 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "리스트 세부 ì •ë³´ 편집" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "ë‚´ 피드 편집" @@ -1022,22 +1223,35 @@ msgstr "ë‚´ 프로필 편집" msgid "Edit profile" msgstr "프로필 편집" -#: src/view/com/profile/ProfileHeader.tsx:460 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "프로필 편집" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "ì €ìž¥ëœ í”¼ë“œ 편집" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "ì´ë©”ì¼" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "ì´ë©”ì¼ ì£¼ì†Œ" @@ -1054,7 +1268,7 @@ msgstr "ì´ë©”ì¼ ë³€ê²½ë¨" msgid "Email verified" msgstr "ì´ë©”ì¼ í™•ì¸ë¨" -#: src/view/screens/Settings.tsx:291 +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "ì´ë©”ì¼:" @@ -1062,7 +1276,7 @@ msgstr "ì´ë©”ì¼:" msgid "Enable {0} only" msgstr "{0}ë§Œ 사용" -#: src/view/com/modals/ContentFilteringSettings.tsx:158 +#: src/view/com/modals/ContentFilteringSettings.tsx:162 msgid "Enable Adult Content" msgstr "ì„±ì¸ ì½˜í…ì¸ í™œì„±í™”" @@ -1087,10 +1301,10 @@ msgid "Enter a name for this App Password" msgstr "ì´ ì•± ë¹„ë°€ë²ˆí˜¸ì˜ ì´ë¦„ì„ ìž…ë ¥í•˜ì„¸ìš”" #: src/view/com/modals/report/InputIssueDetails.tsx:53 -msgid "Enter a reason or any other details here." -msgstr "ì—¬ê¸°ì— ì´ìœ ë˜ëŠ” 기타 세부 ì •ë³´ë¥¼ ìž…ë ¥í•˜ì„¸ìš”" +#~ msgid "Enter a reason or any other details here." +#~ msgstr "ì—¬ê¸°ì— ì´ìœ ë˜ëŠ” 기타 세부 ì •ë³´ë¥¼ ìž…ë ¥í•˜ì„¸ìš”" -#: src/view/com/modals/VerifyEmail.tsx:102 +#: src/view/com/modals/VerifyEmail.tsx:105 msgid "Enter Confirmation Code" msgstr "í™•ì¸ ì½”ë“œ ìž…ë ¥" @@ -1098,14 +1312,19 @@ msgstr "í™•ì¸ ì½”ë“œ ìž…ë ¥" msgid "Enter the address of your provider:" msgstr "ì œê³µìž ì£¼ì†Œë¥¼ ìž…ë ¥í•˜ì„¸ìš”:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "ì‚¬ìš©í• ë„ë©”ì¸ ìž…ë ¥" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "ê³„ì •ì„ ë§Œë“¤ 때 사용한 ì´ë©”ì¼ì„ ìž…ë ¥í•©ë‹ˆë‹¤. 새 비밀번호를 ì„¤ì •í• ìˆ˜ 있ë„ë¡ \"ìž¬ì„¤ì • 코드\"를 보내드립니다." +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + #: src/view/com/modals/Waitlist.tsx:78 msgid "Enter your email" msgstr "ì´ë©”ì¼ì„ ìž…ë ¥í•˜ì„¸ìš”" @@ -1114,6 +1333,10 @@ msgstr "ì´ë©”ì¼ì„ ìž…ë ¥í•˜ì„¸ìš”" 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 "ì•„ëž˜ì— ìƒˆ ì´ë©”ì¼ ì£¼ì†Œë¥¼ ìž…ë ¥í•˜ì„¸ìš”." @@ -1131,20 +1354,42 @@ msgid "Everybody" msgstr "모ë‘" #: src/view/com/modals/report/ReasonOptions.tsx:30 -msgid "Excessive mentions or replies" -msgstr "ê³¼ë„한 멘션 ë˜ëŠ” 답글" +#~ msgid "Excessive mentions or replies" +#~ msgstr "ê³¼ë„한 멘션 ë˜ëŠ” 답글" #: src/state/queries/preferences/moderation.ts:131 -msgid "Excessive unwanted interactions" -msgstr "ì›ì¹˜ 않는 ê³¼ë„한 ìƒí˜¸ìž‘ìš©" +#~ msgid "Excessive unwanted interactions" +#~ msgstr "ì›ì¹˜ 않는 ê³¼ë„한 ìƒí˜¸ìž‘ìš©" + +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" #: src/view/com/lightbox/Lightbox.web.tsx:156 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/state/queries/preferences/moderation.ts:91 -msgid "Explicit Sexual Images" -msgstr "노골ì ì¸ ì„±ì ì´ë¯¸ì§€" +#~ msgid "Explicit Sexual Images" +#~ msgstr "노골ì ì¸ ì„±ì ì´ë¯¸ì§€" #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" @@ -1155,17 +1400,26 @@ msgstr "외부 미디어" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:596 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "외부 미디어 ì„¤ì •" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + #: src/view/com/modals/AddAppPasswords.tsx:114 #: src/view/com/modals/AddAppPasswords.tsx:118 msgid "Failed to create app password." msgstr "앱 비밀번호를 만들지 못했습니다." -#: src/view/com/util/forms/PostDropdownBtn.tsx:78 +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 msgid "Failed to delete post, please try again" msgstr "ê²Œì‹œë¬¼ì„ ì‚ì œí•˜ì§€ 못했습니다. 다시 시ë„í•´ 주세요." @@ -1175,10 +1429,18 @@ msgid "Failed to load recommended feeds" msgstr "추천 피드를 불러오지 못했습니다" #: src/view/com/lightbox/Lightbox.tsx:83 -msgid "Failed to save image: {0}" -msgstr "ì´ë¯¸ì§€ë¥¼ ì €ìž¥í•˜ì§€ 못했습니다: {0}" +#~ msgid "Failed to save image: {0}" +#~ msgstr "ì´ë¯¸ì§€ë¥¼ ì €ìž¥í•˜ì§€ 못했습니다: {0}" -#: src/view/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "피드 오프ë¼ì¸" @@ -1191,12 +1453,13 @@ msgstr "피드 ì„¤ì •" msgid "Feedback" msgstr "피드백" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "피드" @@ -1209,9 +1472,10 @@ msgid "Feeds are custom algorithms that users build with a little coding experti msgstr "피드는 사용ìžê°€ ì•½ê°„ì˜ ì½”ë”© ì „ë¬¸ ì§€ì‹ìœ¼ë¡œ êµ¬ì¶•í• ìˆ˜ 있는 맞춤 ì•Œê³ ë¦¬ì¦˜ìž…ë‹ˆë‹¤. <0/>ì—서 ìžì„¸í•œ ë‚´ìš©ì„ í™•ì¸í•˜ì„¸ìš”." #: src/view/com/modals/ChangeHandle.tsx:480 -msgid "File Contents" -msgstr "íŒŒì¼ ë‚´ìš©" +#~ msgid "File Contents" +#~ 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" @@ -1225,7 +1489,7 @@ msgstr "Blueskyì—서 ì‚¬ìš©ìž ì°¾ê¸°" msgid "Find users with the search tool on the right" msgstr "ì˜¤ë¥¸ìª½ì˜ ê²€ìƒ‰ ë„구로 ì‚¬ìš©ìž ì°¾ê¸°" -#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:152 +#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150 msgid "Finding similar accounts..." msgstr "ìœ ì‚¬í•œ ê³„ì •ì„ ì°¾ëŠ” 중…" @@ -1237,13 +1501,28 @@ msgstr "홈 í™”ë©´ì— í‘œì‹œë˜ëŠ” 콘í…ì¸ ë¥¼ 미세 ì¡°ì •í•©ë‹ˆë‹¤." msgid "Fine-tune the discussion threads." msgstr "í† ë¡ ìŠ¤ë ˆë“œë¥¼ 미세 ì¡°ì •í•©ë‹ˆë‹¤." -#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:138 +#: 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/view/com/profile/FollowButton.tsx:64 -#: src/view/com/profile/ProfileHeader.tsx:542 -#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:241 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "팔로우" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 #~ msgid "Follow some" #~ msgstr "팔로우:" @@ -1252,6 +1531,10 @@ msgstr "팔로우" 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:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "팔로우한 사용ìž" @@ -1269,12 +1552,11 @@ msgid "Followers" msgstr "팔로워" #: src/view/com/profile/ProfileHeader.tsx:628 -msgid "following" -msgstr "팔로우 중" +#~ msgid "following" +#~ msgstr "팔로우 중" -#: src/view/com/profile/ProfileHeader.tsx:526 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 -#: src/view/shell/desktop/Feeds.tsx:27 msgid "Following" msgstr "팔로우 중" @@ -1282,11 +1564,15 @@ msgstr "팔로우 중" msgid "Following {0}" msgstr "{0} 팔로우 중" -#: src/view/com/profile/ProfileHeader.tsx:575 +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "나를 팔로우함" -#: src/view/com/modals/DeleteAccount.tsx:109 +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "보안ìƒì˜ ì´ìœ 로 ì´ë©”ì¼ ì£¼ì†Œë¡œ í™•ì¸ ì½”ë“œë¥¼ 보내야 합니다." @@ -1294,11 +1580,11 @@ 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:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "분실" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "비밀번호 분실" @@ -1308,24 +1594,30 @@ msgid "Forgot Password" msgstr "비밀번호 분실" #: src/view/com/modals/report/ReasonOptions.tsx:56 -msgid "Frequently Posts Unwanted Content" -msgstr "ì›ì¹˜ 않는 콘í…ì¸ ë¥¼ ì§€ì†ì 으로 게시함" +#~ msgid "Frequently Posts Unwanted Content" +#~ msgstr "ì›ì¹˜ 않는 콘í…ì¸ ë¥¼ ì§€ì†ì 으로 게시함" -#: src/view/com/posts/FeedItem.tsx:187 +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" msgid "From <0/>" -msgstr "<0/>ì—서" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:187 +#~ msgid "From <0/>" +#~ msgstr "<0/>ì—서" #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "갤러리" -#: src/view/com/modals/VerifyEmail.tsx:185 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "시작하기" #: src/view/com/modals/report/ReasonOptions.tsx:19 -msgid "Glaring violations of law or terms of service" -msgstr "명백한 ë²•ë¥ ë˜ëŠ” 서비스 ì´ìš©ì•½ê´€ 위반 행위" +#~ msgid "Glaring violations of law or terms of service" +#~ msgstr "명백한 ë²•ë¥ ë˜ëŠ” 서비스 ì´ìš©ì•½ê´€ 위반 행위" #: src/view/com/auth/LoggedOut.tsx:81 #: src/view/com/auth/LoggedOut.tsx:82 @@ -1336,32 +1628,32 @@ msgstr "뒤로" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:857 -#: src/view/screens/ProfileList.tsx:862 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "뒤로" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "다ìŒ" #: src/state/queries/preferences/moderation.ts:116 -msgid "Gore, self-harm, torture" -msgstr "ê³ ì–´, ìží•´, ê³ ë¬¸" +#~ msgid "Gore, self-harm, torture" +#~ msgstr "ê³ ì–´, ìží•´, ê³ ë¬¸" #: src/view/com/modals/ChangeHandle.tsx:265 msgid "Handle" msgstr "핸들" #: src/view/com/modals/report/ReasonOptions.tsx:15 -msgid "Harassment, trolling, or intolerance" -msgstr "ê´´ë¡íž˜, 허위 ì •ë³´ 게시, 편협성" +#~ msgid "Harassment, trolling, or intolerance" +#~ msgstr "ê´´ë¡íž˜, 허위 ì •ë³´ 게시, 편협성" #: src/state/queries/preferences/moderation.ts:123 -msgid "Hate Group Iconography" -msgstr "ì¦ì˜¤ 단체 ë„ìƒí•™" +#~ msgid "Hate Group Iconography" +#~ msgstr "ì¦ì˜¤ 단체 ë„ìƒí•™" #: src/view/shell/desktop/RightNav.tsx:102 #: src/view/shell/Drawer.tsx:321 @@ -1372,18 +1664,28 @@ msgstr "ë„움ë§" msgid "Here is your app password." msgstr "앱 비밀번호입니다." -#: src/view/com/modals/ContentFilteringSettings.tsx:211 -#: src/view/com/modals/ContentFilteringSettings.tsx:238 -#: src/view/com/notifications/FeedItem.tsx:327 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "숨기기" -#: src/view/com/util/forms/PostDropdownBtn.tsx:175 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "게시물 숨기기" -#: src/view/com/util/forms/PostDropdownBtn.tsx:179 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "ì´ ê²Œì‹œë¬¼ì„ ìˆ¨ê¸°ì‹œê² ìŠµë‹ˆê¹Œ?" @@ -1391,27 +1693,31 @@ msgstr "ì´ ê²Œì‹œë¬¼ì„ ìˆ¨ê¸°ì‹œê² ìŠµë‹ˆê¹Œ?" msgid "Hide user list" msgstr "ì‚¬ìš©ìž ë¦¬ìŠ¤íŠ¸ 숨기기" +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." #~ msgstr "피드 ì„œë²„ì— ì—°ê²°í•˜ëŠ” 중 ì–´ë–¤ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. 피드 ì†Œìœ ìžì—게 ì´ ë¬¸ì œì— ëŒ€í•´ ì•Œë ¤ì£¼ì„¸ìš”." -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: 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:98 +#: 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:104 +#: 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:101 +#: 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:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "ì´ í”¼ë“œë¥¼ 찾는 ë° ë¬¸ì œê°€ 있습니다. 피드가 ì‚ì œë˜ì—ˆì„ 수 있습니다." @@ -1419,6 +1725,7 @@ msgstr "ì´ í”¼ë“œë¥¼ 찾는 ë° ë¬¸ì œê°€ 있습니다. 피드가 ì‚ì œë˜ì—ˆì #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." #~ msgstr "ì´ í”¼ë“œë¥¼ 찾는 ë° ë¬¸ì œê°€ 있습니다. 피드가 ì‚ì œë˜ì—ˆì„ 수 있습니다." +#: 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 @@ -1426,17 +1733,18 @@ msgstr "ì´ í”¼ë“œë¥¼ 찾는 ë° ë¬¸ì œê°€ 있습니다. 피드가 ì‚ì œë˜ì—ˆì msgid "Home" msgstr "홈" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 #: src/view/screens/PreferencesHomeFeed.tsx:104 -#: src/view/screens/Settings.tsx:482 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "홈 피드 ì„¤ì •" #: src/view/com/modals/ChangeHandle.tsx:419 -msgid "Host" -msgstr "호스트" +#~ msgid "Host" +#~ msgstr "호스트" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "호스팅 ì œê³µìž" @@ -1445,29 +1753,45 @@ msgstr "호스팅 ì œê³µìž" msgid "Hosting provider address" msgstr "호스팅 ì œê³µìž ì£¼ì†Œ" -#: src/view/com/modals/VerifyEmail.tsx:210 +#: 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/ChangeHandle.tsx:281 +#: 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/state/queries/preferences/moderation.ts:92 -msgid "i.e. pornography" -msgstr "예: í¬ë¥´ë…¸ê·¸ëž˜í”¼" +#~ msgid "i.e. pornography" +#~ msgstr "예: í¬ë¥´ë…¸ê·¸ëž˜í”¼" + +#: src/view/com/lightbox/Lightbox.web.tsx:158 +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 "본ì¸ì´ 거주하는 êµê°€ì˜ ë²•ë¥ ì— ë”°ë¼ ì•„ì§ ì„±ì¸ì´ 아닌 경우, 부모 ë˜ëŠ” 법ì 보호ìžê°€ 본ì¸ì„ ëŒ€ì‹ í•˜ì—¬ 본 ì•½ê´€ì„ ì½ì–´ì•¼ 합니다." +#~ 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/com/modals/report/ReasonOptions.tsx:18 -msgid "Illegal and Urgent" -msgstr "불법 ë° ê¸´ê¸‰ 사í•" +#~ msgid "Illegal and Urgent" +#~ msgstr "불법 ë° ê¸´ê¸‰ 사í•" + +#: src/view/com/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" @@ -1479,16 +1803,16 @@ msgid "Image options" msgstr "ì´ë¯¸ì§€ 옵션" #: src/state/queries/preferences/moderation.ts:124 -msgid "Images of terror groups, articles covering events, etc." -msgstr "테러 ë‹¨ì²´ì˜ ì´ë¯¸ì§€, 사건 ê´€ë ¨ 기사 등" +#~ msgid "Images of terror groups, articles covering events, etc." +#~ msgstr "테러 ë‹¨ì²´ì˜ ì´ë¯¸ì§€, 사건 ê´€ë ¨ 기사 등" #: src/state/queries/preferences/moderation.ts:137 -msgid "Impersonation" -msgstr "사ì¹" +#~ msgid "Impersonation" +#~ msgstr "사ì¹" #: src/view/com/modals/report/ReasonOptions.tsx:53 -msgid "Impersonation or false claims about identity or affiliation" -msgstr "ì‹ ì› ë˜ëŠ” 소ì†ì— 대한 ì‚¬ì¹ ë˜ëŠ” 허위 주장" +#~ msgid "Impersonation or false claims about identity or affiliation" +#~ msgstr "ì‹ ì› ë˜ëŠ” 소ì†ì— 대한 ì‚¬ì¹ ë˜ëŠ” 허위 주장" #: src/view/com/search/Suggestions.tsx:104 #: src/view/com/search/Suggestions.tsx:115 @@ -1496,19 +1820,75 @@ msgstr "ì‹ ì› ë˜ëŠ” 소ì†ì— 대한 ì‚¬ì¹ ë˜ëŠ” 허위 주장" #~ msgstr "ë‚´ 네트워í¬" #: src/state/queries/preferences/moderation.ts:100 -msgid "Including non-sexual and artistic" -msgstr "ì„ ì •ì ì´ì§€ 않거나 ì˜ˆìˆ ì 콘í…ì¸ í¬í•¨" +#~ msgid "Including non-sexual and artistic" +#~ msgstr "ì„ ì •ì ì´ì§€ 않거나 ì˜ˆìˆ ì 콘í…ì¸ í¬í•¨" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "ìž˜ëª»ëœ ì‚¬ìš©ìž ì´ë¦„ ë˜ëŠ” 비밀번호" -#: src/view/screens/Settings.tsx:384 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "초대" #: src/view/com/modals/InviteCodes.tsx:93 -#: src/view/screens/Settings.tsx:372 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "친구 초대하기" @@ -1521,12 +1901,19 @@ msgstr "초대 코드" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "초대 코드가 올바르지 않습니다. 코드를 올바르게 ìž…ë ¥í–ˆëŠ”ì§€ 확ì¸í•œ 후 다시 시ë„하세요." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "초대 코드: {invitesAvailable}ê°œ 사용 가능" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 -#: src/view/com/auth/SplashScreen.web.tsx:118 msgid "Jobs" msgstr "채용" @@ -1539,7 +1926,7 @@ msgstr "ëŒ€ê¸°ìž ëª…ë‹¨ 등ë¡" msgid "Join the waitlist." msgstr "ëŒ€ê¸°ìž ëª…ë‹¨ì— ë“±ë¡í•˜ì„¸ìš”." -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "ëŒ€ê¸°ìž ëª…ë‹¨ 등ë¡" @@ -1547,19 +1934,24 @@ msgstr "ëŒ€ê¸°ìž ëª…ë‹¨ 등ë¡" msgid "Language selection" msgstr "언어 ì„ íƒ" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "언어 ì„¤ì •" -#: src/view/screens/Settings.tsx:542 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "언어" -#: src/view/com/auth/create/StepHeader.tsx:14 +#: src/view/com/auth/create/StepHeader.tsx:13 msgid "Last step!" msgstr "마지막 단계예요!" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "ë” ì•Œì•„ë³´ê¸°" @@ -1569,9 +1961,9 @@ msgstr "ë” ì•Œì•„ë³´ê¸°" msgid "Learn More" msgstr "ë” ì•Œì•„ë³´ê¸°" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1585,11 +1977,11 @@ msgstr "Blueskyì—서 공개ë˜ëŠ” í•ëª©ì— ëŒ€í•´ ìžì„¸ížˆ 알아보세요." msgid "Leave them all unchecked to see any language." msgstr "ëª¨ë“ ì–¸ì–´ë¥¼ ë³´ë ¤ë©´ ëª¨ë‘ ì„ íƒí•˜ì§€ ì•Šì€ ìƒíƒœë¡œ ë‘세요." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Bluesky ë– ë‚˜ê¸°" -#: src/view/screens/Settings.tsx:273 +#: src/view/screens/Settings.tsx:280 msgid "Legacy storage cleared, you need to restart the app now." msgstr "ë ˆê±°ì‹œ ìŠ¤í† ë¦¬ì§€ê°€ 지워졌으며 지금 ì•±ì„ ë‹¤ì‹œ 시작해야 합니다." @@ -1603,19 +1995,32 @@ msgstr "비밀번호를 ìž¬ì„¤ì •í•´ 봅시다!" msgid "Library" msgstr "ë¼ì´ë¸ŒëŸ¬ë¦¬" -#: src/view/screens/Settings.tsx:446 +#: src/view/screens/Settings.tsx:473 msgid "Light" msgstr "ë°ìŒ" -#: src/view/screens/ProfileFeed.tsx:599 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "ì´ í”¼ë“œ" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "좋아요 표시한 ê³„ì •" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + #: src/view/com/notifications/FeedItem.tsx:171 msgid "liked your custom feed{0}" msgstr "ë‹˜ì´ ë‚´ 맞춤 피드{0}ì„(를) 좋아합니다" @@ -1628,6 +2033,10 @@ msgstr "ë‹˜ì´ ë‚´ ê²Œì‹œë¬¼ì„ ì¢‹ì•„í•©ë‹ˆë‹¤" msgid "Likes" msgstr "좋아요" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" #~ msgstr "ë‚´ ê³„ì • 공개 범위 ì œí•œ" @@ -1636,43 +2045,52 @@ msgstr "좋아요" #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "ë‚´ ê³„ì •ì˜ ê³µê°œ 범위를 로그아웃한 사용ìžë¡œ ì œí•œ" -#: src/view/com/modals/CreateOrEditList.tsx:187 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "리스트 아바타" -#: src/view/screens/ProfileList.tsx:320 +#: src/view/screens/ProfileList.tsx:323 msgid "List blocked" msgstr "리스트 차단ë¨" -#: src/view/screens/ProfileList.tsx:364 +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 msgid "List deleted" msgstr "리스트 ì‚ì œë¨" -#: src/view/screens/ProfileList.tsx:279 +#: src/view/screens/ProfileList.tsx:282 msgid "List muted" msgstr "리스트 뮤트ë¨" -#: src/view/com/modals/CreateOrEditList.tsx:200 +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "리스트 ì´ë¦„" -#: src/view/screens/ProfileList.tsx:339 +#: src/view/screens/ProfileList.tsx:342 msgid "List unblocked" msgstr "리스트 차단 í•´ì œë¨" -#: src/view/screens/ProfileList.tsx:298 +#: src/view/screens/ProfileList.tsx:301 msgid "List unmuted" msgstr "리스트 언뮤트ë¨" +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "리스트" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "ë” ë§Žì€ ê²Œì‹œë¬¼ 불러오기" @@ -1680,8 +2098,10 @@ msgstr "ë” ë§Žì€ ê²Œì‹œë¬¼ 불러오기" msgid "Load new notifications" msgstr "새 알림 불러오기" -#: src/view/com/feeds/FeedPage.tsx:189 -#: src/view/screens/ProfileList.tsx:655 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "새 게시물 불러오기" @@ -1693,6 +2113,10 @@ msgstr "불러오는 중…" msgid "Local dev server" msgstr "로컬 개발 서버" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "로그아웃한 사용ìž" @@ -1709,7 +2133,7 @@ msgstr "목ë¡ì— 없는 ê³„ì •ìœ¼ë¡œ 로그ì¸" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "ì´ í”¼ë“œëŠ” Bluesky ê³„ì •ì´ ìžˆëŠ” 사용ìžë§Œ ì´ìš©í• 수 있는 것 같습니다. ì´ í”¼ë“œë¥¼ ë³´ë ¤ë©´ 가입하거나 로그ì¸í•˜ì„¸ìš”!" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "ì´ê³³ì´ ë‹¹ì‹ ì´ ê°€ê³ ìž í•˜ëŠ” ê³³ì¸ì§€ 확ì¸í•˜ì„¸ìš”!" @@ -1725,48 +2149,85 @@ msgstr "멘션한 사용ìž" msgid "Mentioned users" msgstr "멘션한 사용ìž" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "메뉴" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "서버ì—서 보낸 메시지" +#~ msgid "Message from server" +#~ msgstr "서버ì—서 보낸 메시지" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" #: src/view/com/modals/report/ReasonOptions.tsx:52 -msgid "Misleading Account" -msgstr "ì˜¤í•´ì˜ ì†Œì§€ê°€ 있는 ê³„ì •" +#~ msgid "Misleading Account" +#~ msgstr "ì˜¤í•´ì˜ ì†Œì§€ê°€ 있는 ê³„ì •" -#: src/view/com/modals/CreateOrEditList.tsx:68 +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:564 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "ê²€í† " +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "ê²€í† ë¦¬ìŠ¤íŠ¸" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "ê²€í† ë¦¬ìŠ¤íŠ¸" -#: src/view/shell/desktop/Feeds.tsx:57 +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + +#: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "피드 ë” ë³´ê¸°" -#: src/view/com/profile/ProfileHeader.tsx:552 +#: src/view/com/profile/ProfileHeader.tsx:562 #: src/view/screens/ProfileFeed.tsx:371 -#: src/view/screens/ProfileList.tsx:592 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "옵션 ë” ë³´ê¸°" -#: src/view/com/util/forms/PostDropdownBtn.tsx:158 -#~ msgid "More post options" -#~ msgstr "게시물 옵션 ë” ë³´ê¸°" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "게시물 옵션 ë” ë³´ê¸°" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" @@ -1776,26 +2237,35 @@ msgstr "좋아요 ë§Žì€ ìˆœ" msgid "Mute Account" msgstr "ê³„ì • 뮤트" -#: src/view/screens/ProfileList.tsx:519 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "ê³„ì • 뮤트" -#: src/view/screens/ProfileList.tsx:466 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "리스트 뮤트" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "ì´ ê³„ì •ë“¤ì„ ë®¤íŠ¸í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:159 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "ìŠ¤ë ˆë“œ 뮤트" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "뮤트한 ê³„ì •" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "뮤트한 ê³„ì •" @@ -1804,7 +2274,7 @@ msgstr "뮤트한 ê³„ì •" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "ê³„ì •ì„ ë®¤íŠ¸í•˜ë©´ 피드와 알림ì—서 해당 ê³„ì •ì˜ ê²Œì‹œë¬¼ì´ ì‚¬ë¼ì§‘니다. 뮤트 목ë¡ì€ ì™„ì „ížˆ 비공개로 ìœ ì§€ë©ë‹ˆë‹¤." -#: src/view/screens/ProfileList.tsx:273 +#: 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 "뮤트 목ë¡ì€ 비공개입니다. 뮤트한 ê³„ì •ì€ ë‚˜ì™€ ìƒí˜¸ìž‘ìš©í• ìˆ˜ 있지만 해당 ê³„ì •ì˜ ê²Œì‹œë¬¼ì„ ë³´ê±°ë‚˜ 해당 ê³„ì •ìœ¼ë¡œë¶€í„° ì•Œë¦¼ì„ ë°›ì„ ìˆ˜ 없습니다." @@ -1816,7 +2286,7 @@ msgstr "뮤트 목ë¡ì€ 비공개입니다. 뮤트한 ê³„ì •ì€ ë‚˜ì™€ ìƒí˜¸ìž msgid "My Birthday" msgstr "ë‚´ ìƒë…„ì›”ì¼" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "ë‚´ 피드" @@ -1824,69 +2294,111 @@ msgstr "ë‚´ 피드" msgid "My Profile" msgstr "ë‚´ 프로필" -#: src/view/screens/Settings.tsx:521 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "ë‚´ ì €ìž¥ëœ í”¼ë“œ" #: src/view/com/modals/AddAppPasswords.tsx:181 -#: src/view/com/modals/CreateOrEditList.tsx:214 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "ì´ë¦„" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + #: src/view/com/modals/report/ReasonOptions.tsx:45 #: src/view/com/modals/report/ReasonOptions.tsx:60 -msgid "Name or Description Violates Community Standards" -msgstr "ì´ë¦„ ë˜ëŠ” ì„¤ëª…ì´ ì»¤ë®¤ë‹ˆí‹° ê¸°ì¤€ì„ ìœ„ë°˜í•©ë‹ˆë‹¤" +#~ msgid "Name or Description Violates Community Standards" +#~ msgstr "ì´ë¦„ ë˜ëŠ” ì„¤ëª…ì´ ì»¤ë®¤ë‹ˆí‹° ê¸°ì¤€ì„ ìœ„ë°˜í•©ë‹ˆë‹¤" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +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:74 +#: 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 "팔로워와 ë°ì´í„°ì— 대한 ì ‘ê·¼ ê¶Œí•œì„ ìžƒì§€ 않습니다." #: src/view/com/modals/ChangeHandle.tsx:518 -msgid "Nevermind, create a handle for me" -msgstr "ì·¨ì†Œí•˜ê³ ë‚˜ë§Œì˜ í•¸ë“¤ 만들기" +#~ msgid "Nevermind, create a handle for me" +#~ msgstr "ì·¨ì†Œí•˜ê³ ë‚˜ë§Œì˜ í•¸ë“¤ 만들기" -#: src/view/com/modals/CreateOrEditList.tsx:178 #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "새로 만들기" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 #: src/view/screens/ProfileFeed.tsx:441 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "새 게시물" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "새 게시물" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "새 게시물" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "새로운 순" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:105 msgid "Next" msgstr "다ìŒ" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "ë‹¤ìŒ ì´ë¯¸ì§€" @@ -1900,24 +2412,29 @@ msgstr "ë‹¤ìŒ ì´ë¯¸ì§€" msgid "No" msgstr "아니요" -#: src/view/screens/ProfileFeed.tsx:592 -#: src/view/screens/ProfileList.tsx:729 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "설명 ì—†ìŒ" #: src/view/com/modals/ChangeHandle.tsx:404 -msgid "No DNS Panel" -msgstr "DNS íŒ¨ë„ ì—†ìŒ" +#~ msgid "No DNS Panel" +#~ msgstr "DNS íŒ¨ë„ ì—†ìŒ" #: src/view/com/profile/ProfileHeader.tsx:217 msgid "No longer following {0}" msgstr "ë” ì´ìƒ {0}(ì„)를 팔로우하지 않ìŒ" +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "ê²°ê³¼ ì—†ìŒ" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "\"{query}\"ì— ëŒ€í•œ 결과를 ì°¾ì„ ìˆ˜ 없습니다." @@ -1929,8 +2446,8 @@ msgstr "\"{query}\"ì— ëŒ€í•œ 결과를 ì°¾ì„ ìˆ˜ 없습니다." #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "{query}ì— ëŒ€í•œ 결과를 ì°¾ì„ ìˆ˜ 없습니다." @@ -1950,6 +2467,15 @@ msgstr "ì—†ìŒ" msgid "Not Applicable." msgstr "해당 ì—†ìŒ." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "ì°¸ê³ : Bluesky는 개방형 공개 네트워í¬ì´ë¯€ë¡œ ì´ ì„¤ì •ì„ ì‚¬ìš© ì„¤ì •í•´ë„ ë‚´ í”„ë¡œí•„ì´ ë¹„ê³µê°œë¡œ ì „í™˜ë˜ê±°ë‚˜ 로그ì¸í•œ 사용ìžê°€ ë‚´ ê²Œì‹œë¬¼ì„ ë³¼ 수 있는 ê¸°ëŠ¥ì´ ì œí•œë˜ì§€ 않습니다. ì´ ì„¤ì •ì€ Bluesky 앱과 웹사ì´íŠ¸ì˜ ê²Œì‹œë¬¼ 공개 여부만 ì œí•œí•˜ë©°, Bluesky 콘í…ì¸ ë¥¼ 표시하는 타사 ì•±ì€ ì´ ì„¤ì •ì„ ì¤€ìˆ˜í•˜ì§€ ì•Šì„ ìˆ˜ 있으며, 로그아웃한 사용ìžì—게 ë‚´ 콘í…ì¸ ê°€ 표시ë 수 있습니다." @@ -1962,6 +2488,7 @@ msgstr "ì°¸ê³ : Bluesky는 개방형 공개 네트워í¬ìž…니다. ì´ ì„¤ì •ì€ #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." #~ msgstr "ì°¸ê³ : Bluesky 콘í…ì¸ ë¥¼ 표시하는 타사 ì•±ì€ ì´ ì„¤ì •ì„ ì¤€ìˆ˜í•˜ì§€ ì•Šì„ ìˆ˜ 있습니다." +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1972,12 +2499,16 @@ msgid "Notifications" msgstr "알림" #: src/lib/strings/time.ts:22 -msgid "now" -msgstr "지금" +#~ msgid "now" +#~ msgstr "지금" + +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" #: src/view/com/modals/report/ReasonOptions.tsx:34 -msgid "Nudity or pornography not labeled as such" -msgstr "노출 ë˜ëŠ” ìŒëž€ë¬¼ë¡œ ì„¤ì •ë˜ì§€ ì•Šì€ ì½˜í…ì¸ " +#~ msgid "Nudity or pornography not labeled as such" +#~ msgstr "노출 ë˜ëŠ” ìŒëž€ë¬¼ë¡œ ì„¤ì •ë˜ì§€ ì•Šì€ ì½˜í…ì¸ " #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" @@ -1991,11 +2522,11 @@ msgstr "확ì¸" msgid "Oldest replies first" msgstr "ì˜¤ëž˜ëœ ìˆœ" -#: src/view/screens/Settings.tsx:229 +#: src/view/screens/Settings.tsx:236 msgid "Onboarding reset" msgstr "온보딩 ìž¬ì„¤ì •" -#: src/view/com/composer/Composer.tsx:365 +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "하나 ì´ìƒì˜ ì´ë¯¸ì§€ì— 대체 í…스트가 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤." @@ -2003,76 +2534,147 @@ msgstr "하나 ì´ìƒì˜ ì´ë¯¸ì§€ì— 대체 í…스트가 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤. msgid "Only {0} can reply." msgstr "{0}ë§Œ ë‹µê¸€ì„ ë‹¬ 수 있습니다." +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + #: src/view/com/composer/Composer.tsx:470 #: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "ì´ëª¨í‹°ì½˜ ì„ íƒê¸° 열기" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "내비게ì´ì…˜ 열기" -#: src/view/screens/Settings.tsx:534 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "구성 가능한 언어 ì„¤ì •ì„ ì—½ë‹ˆë‹¤" -#: src/view/screens/Settings.tsx:588 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "외부 ìž„ë² ë“œ ì„¤ì •ì„ ì—½ë‹ˆë‹¤" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "초대 코드 목ë¡ì„ 엽니다" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "ì‚¬ìš©ìž ì§€ì • ë„ë©”ì¸ì„ 사용하기 위한 대화 ìƒìžë¥¼ 엽니다" -#: src/view/screens/Settings.tsx:559 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "ê²€í† ì„¤ì •ì„ ì—½ë‹ˆë‹¤" -#: src/view/screens/Settings.tsx:515 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "ëª¨ë“ ì €ìž¥ëœ í”¼ë“œ í™”ë©´ì„ ì—½ë‹ˆë‹¤" -#: src/view/screens/Settings.tsx:615 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "비밀번호 ì„¤ì • 페ì´ì§€ë¥¼ 엽니다" -#: src/view/screens/Settings.tsx:474 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "홈 피드 ì„¤ì •ì„ ì—½ë‹ˆë‹¤" -#: src/view/screens/Settings.tsx:698 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "ìŠ¤í† ë¦¬ë¶ íŽ˜ì´ì§€ë¥¼ 엽니다" -#: src/view/screens/Settings.tsx:678 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "시스템 로그 페ì´ì§€ë¥¼ 엽니다" -#: src/view/screens/Settings.tsx:495 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "ìŠ¤ë ˆë“œ ì„¤ì •ì„ ì—½ë‹ˆë‹¤" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "ë˜ëŠ” ë‹¤ìŒ ì˜µì…˜ì„ ê²°í•©í•˜ì„¸ìš”:" #: src/view/com/auth/create/Step1.tsx:67 #: src/view/com/modals/report/ReasonOptions.tsx:22 -msgid "Other" -msgstr "기타" +#~ msgid "Other" +#~ msgstr "기타" #: src/view/com/auth/login/ChooseAccountForm.tsx:138 msgid "Other account" msgstr "다른 ê³„ì •" #: src/state/queries/preferences/moderation.ts:99 -msgid "Other Nudity" -msgstr "기타 ì‹ ì²´ 노출" +#~ msgid "Other Nudity" +#~ msgstr "기타 ì‹ ì²´ 노출" #: src/view/com/modals/ServerInput.tsx:88 msgid "Other service" @@ -2089,9 +2691,9 @@ msgstr "페ì´ì§€ë¥¼ ì°¾ì„ ìˆ˜ ì—†ìŒ" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:193 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "비밀번호" @@ -2103,6 +2705,14 @@ msgstr "비밀번호 변경ë¨" msgid "Password updated!" msgstr "비밀번호 변경ë¨" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + #: src/view/com/lightbox/Lightbox.tsx:66 msgid "Permission to access camera roll is required." msgstr "ì•¨ë²”ì— ì ‘ê·¼í• ìˆ˜ 있는 ê¶Œí•œì´ í•„ìš”í•©ë‹ˆë‹¤." @@ -2116,7 +2726,7 @@ msgid "Pictures meant for adults." msgstr "성ì¸ìš© 사진." #: src/view/screens/ProfileFeed.tsx:362 -#: src/view/screens/ProfileList.tsx:556 +#: src/view/screens/ProfileList.tsx:559 msgid "Pin to home" msgstr "í™ˆì— ê³ ì •" @@ -2161,13 +2771,13 @@ msgstr "ì´ ì•± ë¹„ë°€ë²ˆí˜¸ì— ëŒ€í•´ ê³ ìœ í•œ ì´ë¦„ì„ ìž…ë ¥í•˜ê±°ë‚˜ ë¬´ìž msgid "Please enter your email." msgstr "ì´ë©”ì¼ì„ ìž…ë ¥í•˜ì„¸ìš”." -#: src/view/com/modals/DeleteAccount.tsx:182 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "ë¹„ë°€ë²ˆí˜¸ë„ ìž…ë ¥í•´ 주세요:" #: src/lib/hooks/useAccountSwitcher.ts:42 -msgid "Please sign in as @{0}" -msgstr "@{0}(으)로 로그ì¸í•˜ì„¸ìš”." +#~ msgid "Please sign in as @{0}" +#~ msgstr "@{0}(으)로 로그ì¸í•˜ì„¸ìš”." #: src/view/com/modals/AppealLabel.tsx:72 #: src/view/com/modals/AppealLabel.tsx:75 @@ -2179,7 +2789,7 @@ msgstr "ì´ ì½˜í…ì¸ ê²½ê³ ê°€ 잘못 ì ìš©ë˜ì—ˆë‹¤ê³ ìƒê°í•˜ëŠ” ì´ìœ 를 #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "ì´ ê²°ì •ì´ ìž˜ëª»ë˜ì—ˆë‹¤ê³ ìƒê°í•˜ëŠ” ì´ìœ 를 ì•Œë ¤ì£¼ì„¸ìš”." -#: src/view/com/modals/VerifyEmail.tsx:100 +#: src/view/com/modals/VerifyEmail.tsx:101 msgid "Please Verify Your Email" msgstr "ì´ë©”ì¼ ì¸ì¦í•˜ê¸°" @@ -2187,21 +2797,47 @@ msgstr "ì´ë©”ì¼ ì¸ì¦í•˜ê¸°" msgid "Please wait for your link card to finish loading" msgstr "ë§í¬ 카드를 ì™„ì „ížˆ 불러올 때까지 ê¸°ë‹¤ë ¤ì£¼ì„¸ìš”." +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "게시물" +#~ msgid "Post" +#~ msgstr "게시물" #: src/view/com/composer/Composer.tsx:341 #: src/view/com/composer/Composer.tsx:348 -msgid "Post (verb)" -msgstr "게시하기" +#~ msgid "Post (verb)" +#~ msgstr "게시하기" -#: src/view/com/util/forms/PostDropdownBtn.tsx:74 +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 msgid "Post deleted" msgstr "게시물 ì‚ì œë¨" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "게시물 숨김" @@ -2213,19 +2849,23 @@ msgstr "게시물 언어" msgid "Post Languages" msgstr "게시물 언어" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "ê²Œì‹œë¬¼ì„ ì°¾ì„ ìˆ˜ ì—†ìŒ" #: src/lib/api/index.ts:242 -msgid "Posting..." -msgstr "게시하는 중…" +#~ msgid "Posting..." +#~ msgstr "게시하는 중…" #: src/view/screens/Profile.tsx:161 msgid "Posts" msgstr "게시물" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "ì˜¤í•´ì˜ ì†Œì§€ê°€ 있는 ë§í¬" @@ -2241,28 +2881,27 @@ msgstr "주 언어" msgid "Prioritize Your Follows" msgstr "ë‚´ 팔로우 ìš°ì„ ì‹œí‚¤ê¸°" -#: src/view/screens/Settings.tsx:571 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "ê°œì¸ì •ë³´" -#: src/view/com/auth/create/Policies.tsx:69 +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:784 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "ê°œì¸ì •ë³´ 처리방침" -#: src/lib/api/index.ts:80 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "처리 중…" #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "프로필" @@ -2270,7 +2909,7 @@ msgstr "프로필" msgid "Profile updated" msgstr "프로필 ì—…ë°ì´íЏë¨" -#: src/view/screens/Settings.tsx:842 +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "ì´ë©”ì¼ì„ ì¸ì¦í•˜ì—¬ ê³„ì •ì„ ë³´í˜¸í•˜ì„¸ìš”." @@ -2282,22 +2921,31 @@ msgstr "ìŒì†Œê±°í•˜ê±°ë‚˜ ì¼ê´„ ì°¨ë‹¨í• ìˆ˜ 있는 공개ì ì´ê³ ê³µìœ í• msgid "Public, shareable lists which can drive feeds." msgstr "피드를 íƒìƒ‰í• 수 있는 공개ì ì´ê³ ê³µìœ í• ìˆ˜ 있는 목ë¡ìž…니다." -#: src/view/com/composer/Composer.tsx:329 +#: src/view/com/composer/Composer.tsx:335 msgid "Publish post" msgstr "게시물 게시하기" -#: src/view/com/composer/Composer.tsx:329 +#: src/view/com/composer/Composer.tsx:335 msgid "Publish reply" msgstr "답글 게시하기" -#: src/view/com/modals/Repost.tsx:52 +#: 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:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "게시물 ì¸ìš©" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "게시물 ì¸ìš©" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -2322,7 +2970,7 @@ msgstr "추천 사용ìž" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -2336,12 +2984,15 @@ msgstr "{0}ì„(를) ë‚´ 피드ì—서 ì œê±°í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" msgid "Remove account" msgstr "ê³„ì • ì œê±°" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "피드 ì œê±°" #: 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:281 msgid "Remove from my feeds" msgstr "ë‚´ 피드ì—서 ì œê±°" @@ -2354,11 +3005,15 @@ msgstr "ì´ë¯¸ì§€ ì œê±°" msgid "Remove image preview" msgstr "ì´ë¯¸ì§€ 미리보기 ì œê±°" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "ì´ í”¼ë“œë¥¼ ë‚´ 피드ì—서 ì œê±°í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "ì´ í”¼ë“œë¥¼ ì €ìž¥ëœ í”¼ë“œì—서 ì œê±°í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" @@ -2372,6 +3027,10 @@ msgstr "리스트ì—서 ì œê±°ë¨" msgid "Removed from my feeds" msgstr "ë‚´ 피드ì—서 ì œê±°ë¨" +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "답글" @@ -2380,20 +3039,31 @@ msgstr "답글" msgid "Replies to this thread are disabled" msgstr "ì´ ìŠ¤ë ˆë“œì— ëŒ€í•œ ë‹µê¸€ì´ ë¹„í™œì„±í™”ë©ë‹ˆë‹¤." -#: src/view/com/composer/Composer.tsx:341 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" msgid "Reply" -msgstr "답글" +msgstr "" + +#: src/view/com/composer/Composer.tsx:341 +#~ msgid "Reply" +#~ msgstr "답글" #: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "답글 í•„í„°" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/post/Post.tsx:164 #: src/view/com/posts/FeedItem.tsx:285 -msgid "Reply to <0/>" -msgstr "<0/> 님ì—게 보내는 답글" +#~ msgid "Reply to <0/>" +#~ msgstr "<0/> 님ì—게 보내는 답글" -#: src/view/com/modals/report/Modal.tsx:169 +#: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "{collectionName} ì‹ ê³ " @@ -2405,15 +3075,23 @@ msgstr "ê³„ì • ì‹ ê³ " msgid "Report feed" msgstr "피드 ì‹ ê³ " -#: src/view/screens/ProfileList.tsx:434 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "리스트 ì‹ ê³ " #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:198 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" 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 "재게시" @@ -2428,10 +3106,14 @@ msgid "Reposted by" msgstr "재게시한 ê³„ì •" #: src/view/com/posts/FeedItem.tsx:205 -msgid "Reposted by {0}" -msgstr "{0} ë‹˜ì´ ìž¬ê²Œì‹œí•¨" +#~ msgid "Reposted by {0}" +#~ msgstr "{0} ë‹˜ì´ ìž¬ê²Œì‹œí•¨" -#: src/view/com/posts/FeedItem.tsx:222 +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 msgid "Reposted by <0/>" msgstr "<0/> ë‹˜ì´ ìž¬ê²Œì‹œí•¨" @@ -2439,6 +3121,10 @@ msgstr "<0/> ë‹˜ì´ ìž¬ê²Œì‹œí•¨" msgid "reposted your post" msgstr "ë‹˜ì´ ë‚´ ê²Œì‹œë¬¼ì„ ìž¬ê²Œì‹œí–ˆìŠµë‹ˆë‹¤" +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" @@ -2448,7 +3134,7 @@ msgstr "변경 ìš”ì²" #~ msgid "Request to limit the visibility of my account" #~ msgstr "ë‚´ ê³„ì •ì˜ ê³µê°œ 범위 ì œí•œ ìš”ì²í•˜ê¸°" -#: src/view/screens/Settings.tsx:423 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "게시하기 ì „ 대체 í…스트 필수" @@ -2456,34 +3142,52 @@ msgstr "게시하기 ì „ 대체 í…스트 필수" msgid "Required for this provider" msgstr "ì´ ì œê³µìžì—서 필수" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "코드 ìž¬ì„¤ì •" -#: src/view/screens/Settings.tsx:720 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "온보딩 ìƒíƒœ ìž¬ì„¤ì •" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "비밀번호 ìž¬ì„¤ì •" -#: src/view/screens/Settings.tsx:710 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "ì„¤ì • ìƒíƒœ ìž¬ì„¤ì •" -#: src/view/screens/Settings.tsx:718 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "온보딩 ìƒíƒœ ìž¬ì„¤ì •" -#: src/view/screens/Settings.tsx:708 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "ì„¤ì • ìƒíƒœ ìž¬ì„¤ì •" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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" @@ -2493,11 +3197,24 @@ msgstr "다시 시ë„" #~ msgid "Retry change handle" #~ msgstr "핸들 변경 다시 시ë„" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:252 -#: src/view/com/modals/CreateOrEditList.tsx:260 +#: src/view/com/modals/CreateOrEditList.tsx:270 #: src/view/com/modals/EditProfile.tsx:224 #: src/view/screens/ProfileFeed.tsx:354 msgid "Save" @@ -2528,9 +3245,23 @@ msgid "Saved Feeds" msgstr "ì €ìž¥ëœ í”¼ë“œ" #: src/view/com/lightbox/Lightbox.tsx:81 -msgid "Saved to your camera roll." -msgstr "ë‚´ ì•¨ë²”ì— ì €ìž¥ë¨" +#~ msgid "Saved to your camera roll." +#~ 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 @@ -2568,6 +3299,10 @@ msgstr "ì´ ê°€ì´ë“œ" msgid "See what's next" msgstr "See what's next" +#: src/view/com/util/Selector.tsx:106 +msgid "Select {item}" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Bluesky Social ì„ íƒ" @@ -2576,6 +3311,10 @@ msgstr "Bluesky Social ì„ íƒ" msgid "Select from an existing account" msgstr "기존 ê³„ì •ì—서 ì„ íƒ" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "서비스 ì„ íƒ" @@ -2592,17 +3331,23 @@ msgstr "ì•±ì— í‘œì‹œë˜ëŠ” 기본 í…스트 언어를 ì„ íƒí•©ë‹ˆë‹¤." msgid "Select your preferred language for translations in your feed." msgstr "피드ì—서 번ì—ì„ ìœ„í•´ ì„ í˜¸í•˜ëŠ” 언어를 ì„ íƒí•©ë‹ˆë‹¤." -#: src/view/com/modals/VerifyEmail.tsx:198 +#: 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:129 +#: src/view/com/modals/DeleteAccount.tsx:127 msgid "Send email" msgstr "ì´ë©”ì¼ ì „ì†¡" #: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "ì´ë©”ì¼ ì „ì†¡" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:140 +#~ msgid "Send Email" +#~ msgstr "ì´ë©”ì¼ ì „ì†¡" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -2613,10 +3358,40 @@ msgstr "피드백 ì „ì†¡" msgid "Send Report" msgstr "ì‹ ê³ ì „ì†¡" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "새 비밀번호 ì„¤ì •" +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + #: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "피드ì—서 ëª¨ë“ ì¸ìš© ê²Œì‹œë¬¼ì„ ìˆ¨ê¸°ë ¤ë©´ ì´ ì„¤ì •ì„ \"아니요\"로 ì„¤ì •í•©ë‹ˆë‹¤. 재게시는 ê³„ì† í‘œì‹œë©ë‹ˆë‹¤." @@ -2637,10 +3412,31 @@ msgstr "ìŠ¤ë ˆë“œ ë³´ê¸°ì— ë‹µê¸€ì„ í‘œì‹œí•˜ë ¤ë©´ ì´ ì„¤ì •ì„ \"예\"로 ì 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/Settings.tsx:278 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "ì„¤ì •" @@ -2649,12 +3445,17 @@ msgid "Sexual activity or erotic nudity." msgstr "성행위 ë˜ëŠ” ì„ ì •ì ì¸ ë…¸ì¶œ." #: src/state/queries/preferences/moderation.ts:107 -msgid "Sexually Suggestive" -msgstr "성ì 암시" +#~ msgid "Sexually Suggestive" +#~ msgstr "성ì 암시" + +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" #: src/view/com/profile/ProfileHeader.tsx:342 -#: src/view/com/util/forms/PostDropdownBtn.tsx:141 -#: src/view/screens/ProfileList.tsx:393 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "ê³µìœ " @@ -2666,9 +3467,10 @@ msgstr "피드 ê³µìœ " #~ msgid "Share link" #~ msgstr "ë§í¬ ê³µìœ " -#: src/view/com/modals/ContentFilteringSettings.tsx:253 -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:317 +#: 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 "표시" @@ -2684,8 +3486,13 @@ msgstr "ë¬´ì‹œí•˜ê³ í‘œì‹œ" msgid "Show embeds from {0}" msgstr "{0} ìž„ë² ë“œ 표시" -#: src/view/com/post/Post.tsx:195 -#: src/view/com/posts/FeedItem.tsx:360 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 msgid "Show More" msgstr "ë” ë³´ê¸°" @@ -2713,10 +3520,23 @@ msgstr "좋아요가 {value}ê°œ ì´ìƒì¸ 답글 표시" msgid "Show Reposts" msgstr "재게시 표시" -#: src/view/com/notifications/FeedItem.tsx:348 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "ì‚¬ìš©ìž í‘œì‹œ" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2728,13 +3548,12 @@ msgstr "ì‚¬ìš©ìž í‘œì‹œ" #: src/view/shell/bottom-bar/BottomBarWeb.tsx:180 #: 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:78 #: src/view/com/auth/SplashScreen.tsx:57 -#: src/view/com/auth/SplashScreen.web.tsx:88 +#: src/view/com/auth/SplashScreen.web.tsx:87 msgid "Sign In" msgstr "로그ì¸" @@ -2752,9 +3571,9 @@ msgid "Sign into" msgstr "로그ì¸" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 -#: src/view/screens/Settings.tsx:102 -#: src/view/screens/Settings.tsx:105 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "로그아웃" @@ -2778,26 +3597,37 @@ msgstr "가입 ë˜ëŠ” 로그ì¸í•˜ì—¬ ëŒ€í™”ì— ì°¸ì—¬í•˜ì„¸ìš”." msgid "Sign-in Required" msgstr "ë¡œê·¸ì¸ í•„ìš”" -#: src/view/screens/Settings.tsx:328 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "로그ì¸í•œ ê³„ì •" -#: src/lib/hooks/useAccountSwitcher.ts:36 #: src/view/com/auth/login/ChooseAccountForm.tsx:103 msgid "Signed in as @{0}" msgstr "@{0}(으)로 로그ì¸í–ˆìŠµë‹ˆë‹¤." +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "건너뛰기" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + #: src/lib/hooks/useAccountSwitcher.ts:47 -msgid "Sorry! We need you to enter your password." -msgstr "죄송합니다. 비밀번호를 ìž…ë ¥í•´ 주세요." +#~ msgid "Sorry! We need you to enter your password." +#~ msgstr "죄송합니다. 비밀번호를 ìž…ë ¥í•´ 주세요." #: src/App.native.tsx:57 -#~ msgid "Sorry! Your session expired. Please log in again." -#~ msgstr "죄송합니다. ì„¸ì…˜ì´ ë§Œë£Œë˜ì—ˆìŠµë‹ˆë‹¤. 다시 로그ì¸í•´ 주세요." +msgid "Sorry! Your session expired. Please log in again." +msgstr "죄송합니다. ì„¸ì…˜ì´ ë§Œë£Œë˜ì—ˆìŠµë‹ˆë‹¤. 다시 로그ì¸í•´ 주세요." #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" @@ -2809,12 +3639,12 @@ msgstr "ë™ì¼í•œ ê²Œì‹œë¬¼ì— ëŒ€í•œ ë‹µê¸€ì„ ì •ë ¬í•˜ëŠ” 기준입니다." #: src/state/queries/preferences/moderation.ts:130 #: src/view/com/modals/report/ReasonOptions.tsx:29 -msgid "Spam" -msgstr "스팸" +#~ msgid "Spam" +#~ msgstr "스팸" #: src/view/com/modals/report/ReasonOptions.tsx:57 -msgid "Spam; excessive mentions or replies" -msgstr "스팸, ê³¼ë„한 멘션 ë˜ëŠ” 답글" +#~ msgid "Spam; excessive mentions or replies" +#~ msgstr "스팸, ê³¼ë„한 멘션 ë˜ëŠ” 답글" #: src/view/com/modals/crop-image/CropImage.web.tsx:122 msgid "Square" @@ -2825,23 +3655,23 @@ msgstr "ì •ì‚¬ê°í˜•" msgid "Staging" msgstr "스테ì´ì§•" -#: src/view/screens/Settings.tsx:764 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "ìƒíƒœ 페ì´ì§€" #: src/view/com/auth/create/CreateAccount.tsx:120 -msgid "Step {0}" -msgstr "{0}단계" +#~ msgid "Step {0}" +#~ msgstr "{0}단계" -#: src/view/com/auth/create/StepHeader.tsx:16 +#: src/view/com/auth/create/StepHeader.tsx:15 msgid "Step {step} of 3" msgstr "3단계 중 {step}단계" -#: src/view/screens/Settings.tsx:269 +#: src/view/screens/Settings.tsx:276 msgid "Storage cleared, you need to restart the app now." msgstr "ìŠ¤í† ë¦¬ì§€ê°€ 지워졌으며 지금 ì•±ì„ ë‹¤ì‹œ 시작해야 합니다." -#: src/view/screens/Settings.tsx:700 +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "ìŠ¤í† ë¦¬ë¶" @@ -2849,36 +3679,59 @@ msgstr "ìŠ¤í† ë¦¬ë¶" msgid "Submit" msgstr "확ì¸" -#: src/view/screens/ProfileList.tsx:583 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "구ë…" -#: src/view/screens/ProfileList.tsx:579 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "ì´ ë¦¬ìŠ¤íŠ¸ë¡œ 구ë…" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "팔로우 추천" -#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65 +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 msgid "Suggested for you" msgstr "나를 위한 추천" +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "ì§€ì›" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "ê³„ì • ì „í™˜" -#: src/view/screens/Settings.tsx:439 +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 msgid "System" msgstr "시스템" -#: src/view/screens/Settings.tsx:680 +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "시스템 로그" @@ -2886,12 +3739,16 @@ msgstr "시스템 로그" msgid "Tall" msgstr "세로" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "ì´ìš©ì•½ê´€" -#: src/view/com/auth/create/Policies.tsx:59 -#: src/view/screens/Settings.tsx:778 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2899,8 +3756,8 @@ msgstr "서비스 ì´ìš©ì•½ê´€" #: src/view/com/modals/report/ReasonOptions.tsx:46 #: src/view/com/modals/report/ReasonOptions.tsx:61 -msgid "Terms used violate community standards" -msgstr "커뮤니티 í‘œì¤€ì„ ìœ„ë°˜í•˜ëŠ” 용어 사용" +#~ msgid "Terms used violate community standards" +#~ msgstr "커뮤니티 í‘œì¤€ì„ ìœ„ë°˜í•˜ëŠ” 용어 사용" #: src/view/com/modals/AppealLabel.tsx:70 #: src/view/com/modals/report/InputIssueDetails.tsx:51 @@ -2908,12 +3765,12 @@ msgid "Text input field" msgstr "í…스트 ìž…ë ¥ 필드" #: src/view/com/modals/report/Modal.tsx:82 -msgid "Thank you for your report! We'll look into it promptly." -msgstr "ì‹ ê³ í•´ 주셔서 ê°ì‚¬í•©ë‹ˆë‹¤! 즉시 ê²€í† í•˜ê² ìŠµë‹ˆë‹¤." +#~ msgid "Thank you for your report! We'll look into it promptly." +#~ msgstr "ì‹ ê³ í•´ 주셔서 ê°ì‚¬í•©ë‹ˆë‹¤! 즉시 ê²€í† í•˜ê² ìŠµë‹ˆë‹¤." #: src/view/com/modals/ChangeHandle.tsx:464 -msgid "That contains the following:" -msgstr "í…스트 íŒŒì¼ ë‚´ìš©:" +#~ msgid "That contains the following:" +#~ msgstr "í…스트 íŒŒì¼ ë‚´ìš©:" #: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." @@ -2927,7 +3784,7 @@ msgstr "커뮤니티 ê°€ì´ë“œë¼ì¸ì´ <0/>(으)로 ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤." msgid "The Copyright Policy has been moved to <0/>" msgstr "ì €ìž‘ê¶Œ ì •ì±…ì´ <0/>(으)로 ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤." -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "ê²Œì‹œë¬¼ì´ ì‚ì œë˜ì—ˆì„ 수 있습니다." @@ -2936,49 +3793,78 @@ 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 "ì§€ì› ì–‘ì‹ì´ ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤. ë„ì›€ì´ í•„ìš”í•˜ë‹¤ë©´ {HELP_DESK_URL}ì„ ë°©ë¬¸í•˜ê±°ë‚˜ <0/>로 문ì˜í•´ 주세요." +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 "" + +#: 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 "ì§€ì› ì–‘ì‹ì´ ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤. ë„ì›€ì´ í•„ìš”í•˜ë‹¤ë©´ {HELP_DESK_URL}ì„ ë°©ë¬¸í•˜ê±°ë‚˜ <0/>로 문ì˜í•´ 주세요." #: src/view/screens/Debug.tsx:184 -msgid "The task has been completed" -msgstr "ìž‘ì—…ì„ ì™„ë£Œí–ˆìŠµë‹ˆë‹¤." +#~ msgid "The task has been completed" +#~ msgstr "ìž‘ì—…ì„ ì™„ë£Œí–ˆìŠµë‹ˆë‹¤." #: src/view/screens/Debug.tsx:188 -msgid "The task has been completed successfully and with no problems" -msgstr "ìž‘ì—…ì„ ë¬¸ì œ ì—†ì´ ì„±ê³µì 으로 완료했습니다." +#~ msgid "The task has been completed successfully and with no problems" +#~ msgstr "ìž‘ì—…ì„ ë¬¸ì œ ì—†ì´ ì„±ê³µì 으로 완료했습니다." #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "서비스 ì´ìš©ì•½ê´€ì´ 다ìŒìœ¼ë¡œ ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤:" -#: src/view/screens/ProfileFeed.tsx:557 +#: src/view/screens/ProfileFeed.tsx:558 msgid "There was an an issue contacting the server, please check your internet connection and try again." msgstr "ì„œë²„ì— ì—°ê²°í•˜ëŠ” ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ì¸í„°ë„· ì—°ê²°ì„ í™•ì¸í•œ 후 다시 시ë„하세요." +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + #: src/view/screens/ProfileFeed.tsx:218 msgid "There was an an issue updating your feeds, please check your internet connection and try again." msgstr "피드를 ì—…ë°ì´íŠ¸í•˜ëŠ” ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ì¸í„°ë„· ì—°ê²°ì„ í™•ì¸í•œ 후 다시 시ë„하세요." #: src/view/screens/ProfileFeed.tsx:245 -#: src/view/screens/ProfileList.tsx:263 +#: 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 "ì„œë²„ì— ì—°ê²°í•˜ëŠ” ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤." -#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:58 -#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:67 +#: 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 "ì„œë²„ì— ì—°ê²°í•˜ëŠ” ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤." +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 msgid "There was an issue syncing your preferences with the server" msgstr "ì„¤ì •ì„ ì„œë²„ì™€ ë™ê¸°í™”하는 ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤." +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + #: src/view/com/profile/ProfileHeader.tsx:204 #: src/view/com/profile/ProfileHeader.tsx:225 #: src/view/com/profile/ProfileHeader.tsx:264 @@ -2988,10 +3874,10 @@ msgstr "ì„¤ì •ì„ ì„œë²„ì™€ ë™ê¸°í™”하는 ë™ì•ˆ ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. msgid "There was an issue! {0}" msgstr "ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤! {0}" -#: src/view/screens/ProfileList.tsx:284 -#: src/view/screens/ProfileList.tsx:303 -#: src/view/screens/ProfileList.tsx:325 -#: src/view/screens/ProfileList.tsx:344 +#: 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 "ë¬¸ì œê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤. ì¸í„°ë„· ì—°ê²°ì„ í™•ì¸í•œ 후 다시 시ë„하세요." @@ -3015,25 +3901,33 @@ msgstr "ì´ ê³„ì •ì˜ í”„ë¡œí•„ì„ ë³´ë ¤ë©´ 로그ì¸í•´ì•¼ 합니다." msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "ì´ ì½˜í…ì¸ ëŠ” {0}ì—서 호스팅ë©ë‹ˆë‹¤. 외부 미디어를 ì‚¬ìš©í•˜ì‹œê² ìŠµë‹ˆê¹Œ?" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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/com/posts/FeedErrorMessage.tsx:113 +#: 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/view/screens/Profile.tsx:392 #: src/view/screens/ProfileFeed.tsx:484 -#: src/view/screens/ProfileList.tsx:636 +#: src/view/screens/ProfileList.tsx:639 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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "ì´ ì •ë³´ëŠ” 다른 사용ìžì™€ ê³µìœ ë˜ì§€ 않습니다." -#: src/view/com/modals/VerifyEmail.tsx:115 +#: 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 "ì´ëŠ” ì´ë©”ì¼ì„ 변경하거나 비밀번호를 ìž¬ì„¤ì •í•´ì•¼ í• ë•Œ 중요한 ì •ë³´ìž…ë‹ˆë‹¤." @@ -3041,11 +3935,11 @@ msgstr "ì´ëŠ” ì´ë©”ì¼ì„ 변경하거나 비밀번호를 ìž¬ì„¤ì •í•´ì•¼ í• msgid "This is the service that keeps you online." msgstr "온ë¼ì¸ ìƒíƒœë¥¼ ìœ ì§€í• ìˆ˜ 있게 하는 서비스입니다." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "ì´ ë§í¬ë¥¼ í´ë¦í•˜ë©´ ë‹¤ìŒ ì›¹ì‚¬ì´íŠ¸ë¡œ ì´ë™í•©ë‹ˆë‹¤:" -#: src/view/screens/ProfileList.tsx:794 +#: src/view/screens/ProfileList.tsx:813 msgid "This list is empty!" msgstr "ì´ ë¦¬ìŠ¤íŠ¸ëŠ” 비어 있습니다." @@ -3058,23 +3952,35 @@ msgid "This post has been deleted." msgstr "ì´ ê²Œì‹œë¬¼ì€ ì‚ì œë˜ì—ˆìŠµë‹ˆë‹¤." #: src/view/com/auth/create/Policies.tsx:46 -msgid "This service has not provided terms of service or a privacy policy." -msgstr "ì´ ì„œë¹„ìŠ¤ì—는 서비스 ì´ìš©ì•½ê´€ì´ë‚˜ ê°œì¸ì •ë³´ ì²˜ë¦¬ë°©ì¹¨ì´ ì œê³µë˜ì§€ 않습니다." +#~ msgid "This service has not provided terms of service or a privacy policy." +#~ msgstr "ì´ ì„œë¹„ìŠ¤ì—는 서비스 ì´ìš©ì•½ê´€ì´ë‚˜ ê°œì¸ì •ë³´ ì²˜ë¦¬ë°©ì¹¨ì´ ì œê³µë˜ì§€ 않습니다." #: src/view/com/modals/ChangeHandle.tsx:444 -msgid "This should create a domain record at:" -msgstr "ì´ ë„ë©”ì¸ì— ë ˆì½”ë“œê°€ 추가ë©ë‹ˆë‹¤:" +#~ msgid "This should create a domain record at:" +#~ msgstr "ì´ ë„ë©”ì¸ì— ë ˆì½”ë“œê°€ 추가ë©ë‹ˆë‹¤:" + +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "ì´ ê²½ê³ ëŠ” 미디어가 ì²¨ë¶€ëœ ê²Œì‹œë¬¼ì—ë§Œ ì‚¬ìš©í• ìˆ˜ 있습니다." -#: src/view/com/util/forms/PostDropdownBtn.tsx:180 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "피드ì—서 ì´ ê²Œì‹œë¬¼ì„ ìˆ¨ê¹ë‹ˆë‹¤." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:504 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "ìŠ¤ë ˆë“œ ì„¤ì •" @@ -3082,7 +3988,11 @@ msgstr "ìŠ¤ë ˆë“œ ì„¤ì •" msgid "Threaded Mode" msgstr "ìŠ¤ë ˆë“œ 모드" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "드ë¡ë‹¤ìš´ 열기 ë° ë‹«ê¸°" @@ -3090,60 +4000,86 @@ msgstr "드ë¡ë‹¤ìš´ 열기 ë° ë‹«ê¸°" msgid "Transformations" msgstr "변형" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:113 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "번ì—" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "다시 시ë„" +msgstr "" + +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "다시 시ë„" #: src/view/com/modals/ChangeHandle.tsx:427 -msgid "Type" -msgstr "ìœ í˜•" +#~ msgid "Type" +#~ msgstr "ìœ í˜•" -#: src/view/screens/ProfileList.tsx:481 +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "리스트 차단 í•´ì œ" -#: src/view/screens/ProfileList.tsx:466 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "리스트 언뮤트" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "ì„œë¹„ìŠ¤ì— ì—°ê²°í• ìˆ˜ 없습니다. ì¸í„°ë„· ì—°ê²°ì„ í™•ì¸í•˜ì„¸ìš”." -#: src/view/com/profile/ProfileHeader.tsx:470 -#: src/view/com/profile/ProfileHeader.tsx:473 -#: src/view/screens/ProfileList.tsx:565 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "차단 í•´ì œ" +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + #: src/view/com/profile/ProfileHeader.tsx:308 #: src/view/com/profile/ProfileHeader.tsx:392 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/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:138 #: src/view/com/profile/FollowButton.tsx:55 #: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:241 -msgid "Unfollow" -msgstr "언팔로우" +#~ msgid "Unfollow" +#~ msgstr "언팔로우" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "아쉽지만 ê³„ì •ì„ ë§Œë“¤ 수 있는 ìš”ê±´ì„ ì¶©ì¡±í•˜ì§€ 못했습니다." -#: src/view/screens/ProfileList.tsx:572 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 msgid "Unmute" msgstr "언뮤트" @@ -3151,16 +4087,16 @@ msgstr "언뮤트" msgid "Unmute Account" msgstr "ê³„ì • 언뮤트" -#: src/view/com/util/forms/PostDropdownBtn.tsx:159 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "ìŠ¤ë ˆë“œ 언뮤트" #: src/view/screens/ProfileFeed.tsx:362 -#: src/view/screens/ProfileList.tsx:556 +#: src/view/screens/ProfileList.tsx:559 msgid "Unpin" msgstr "ê³ ì • í•´ì œ" -#: src/view/screens/ProfileList.tsx:449 +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "ê²€í† ë¦¬ìŠ¤íŠ¸ ê³ ì • í•´ì œ" @@ -3169,8 +4105,8 @@ msgid "Unsave" msgstr "ì €ìž¥ í•´ì œ" #: src/view/com/modals/report/ReasonOptions.tsx:33 -msgid "Unwanted Sexual Content" -msgstr "ì›ì¹˜ 않는 성ì 콘í…ì¸ " +#~ msgid "Unwanted Sexual Content" +#~ msgstr "ì›ì¹˜ 않는 성ì 콘í…ì¸ " #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" @@ -3181,24 +4117,24 @@ msgid "Update Available" msgstr "ì—…ë°ì´íЏ 사용 가능" #: src/view/com/modals/ChangeHandle.tsx:507 -msgid "Update to {handle}" -msgstr "{handle}로 변경" +#~ msgid "Update to {handle}" +#~ msgstr "{handle}로 변경" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "ì—…ë°ì´íЏ 중…" -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "í…스트 íŒŒì¼ ì—…ë¡œë“œ 경로:" #: src/lib/api/index.ts:114 -msgid "Uploading image #{0}..." -msgstr "{0}번째 ì´ë¯¸ì§€ 업로드 중…" +#~ msgid "Uploading image #{0}..." +#~ msgstr "{0}번째 ì´ë¯¸ì§€ 업로드 중…" #: src/lib/api/index.ts:152 -msgid "Uploading link thumbnail..." -msgstr "ë§í¬ 미리보기 ì´ë¯¸ì§€ 업로드 중…" +#~ msgid "Uploading link thumbnail..." +#~ msgstr "ë§í¬ 미리보기 ì´ë¯¸ì§€ 업로드 중…" #: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." @@ -3208,22 +4144,71 @@ msgstr "앱 비밀번호를 사용하면 ê³„ì •ì´ë‚˜ ë¹„ë°€ë²ˆí˜¸ì— ëŒ€í•œ ì „ 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/AddAppPasswords.tsx:154 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 "" + #: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "사용 ê³„ì •:" #: src/view/com/modals/CreateOrEditList.tsx:68 -msgid "User" -msgstr "사용ìž" +#~ msgid "User" +#~ msgstr "사용ìž" + +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "ì‚¬ìš©ìž í•¸ë“¤" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "ì‚¬ìš©ìž ë¦¬ìŠ¤íŠ¸" @@ -3233,7 +4218,7 @@ msgstr "ì‚¬ìš©ìž ë¦¬ìŠ¤íŠ¸" msgid "Username or email address" msgstr "ì‚¬ìš©ìž ì´ë¦„ ë˜ëŠ” ì´ë©”ì¼ ì£¼ì†Œ" -#: src/view/screens/ProfileList.tsx:756 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "사용ìž" @@ -3250,22 +4235,22 @@ msgid "Users in \"{0}\"" msgstr "\"{0}\"ì— ìžˆëŠ” 사용ìž" #: src/view/com/modals/ChangeHandle.tsx:435 -msgid "Value" -msgstr "ê°’" +#~ msgid "Value" +#~ msgstr "ê°’" #: src/view/com/modals/ChangeHandle.tsx:508 -msgid "Verify {0}" -msgstr "{0} 확ì¸" +#~ msgid "Verify {0}" +#~ msgstr "{0} 확ì¸" -#: src/view/screens/Settings.tsx:803 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "ì´ë©”ì¼ ì¸ì¦" -#: src/view/screens/Settings.tsx:828 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "ë‚´ ì´ë©”ì¼ ì¸ì¦" -#: src/view/screens/Settings.tsx:837 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "ë‚´ ì´ë©”ì¼ ì¸ì¦" @@ -3274,10 +4259,14 @@ msgstr "ë‚´ ì´ë©”ì¼ ì¸ì¦" msgid "Verify New Email" msgstr "새 ì´ë©”ì¼ ì¸ì¦" -#: src/view/com/modals/VerifyEmail.tsx:104 +#: src/view/com/modals/VerifyEmail.tsx:103 msgid "Verify Your Email" msgstr "ì´ë©”ì¼ ì¸ì¦í•˜ê¸°" +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "디버그 í•목 보기" @@ -3286,22 +4275,30 @@ msgstr "디버그 í•목 보기" msgid "View full thread" msgstr "ì „ì²´ ìŠ¤ë ˆë“œ 보기" +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "아바타 보기" #: src/state/queries/preferences/moderation.ts:115 -msgid "Violent / Bloody" -msgstr "íë ¥ ë° ìœ í˜ˆ" +#~ msgid "Violent / Bloody" +#~ msgstr "íë ¥ ë° ìœ í˜ˆ" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "사ì´íЏ 방문" -#: src/view/com/modals/ContentFilteringSettings.tsx:246 +#: src/view/com/modals/ContentFilteringSettings.tsx:254 msgid "Warn" msgstr "ê²½ê³ " +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + #: src/view/com/modals/AppealLabel.tsx:48 msgid "We'll look into your appeal promptly." msgstr "ì´ì˜ì‹ ì²ì„ 즉시 ê²€í† í•˜ê² ìŠµë‹ˆë‹¤." @@ -3318,6 +4315,10 @@ msgstr "ë‹¹ì‹ ê³¼ 함께하게 ë˜ì–´ ì •ë§ ê¸°ì˜ë„¤ìš”!" #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." #~ msgstr "죄송하지만 현재 íŠ¸ëž˜í”½ì´ ë§Žì•„ ì´ í”¼ë“œë¥¼ ì¼ì‹œì 으로 ì‚¬ìš©í• ìˆ˜ 없습니다. ìž ì‹œ 후 다시 시ë„í•´ 주세요." +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "죄송하지만 ê²€ìƒ‰ì„ ì™„ë£Œí• ìˆ˜ 없습니다. 몇 ë¶„ í›„ì— ë‹¤ì‹œ 시ë„í•´ 주세요." @@ -3330,12 +4331,12 @@ msgstr "죄송합니다! 페ì´ì§€ë¥¼ ì°¾ì„ ìˆ˜ 없습니다." msgid "Welcome to <0>Bluesky</0>" msgstr "<0>Bluesky</0>ì— ì˜¤ì‹ ê²ƒì„ í™˜ì˜í•©ë‹ˆë‹¤" -#: src/view/com/modals/report/Modal.tsx:172 +#: src/view/com/modals/report/Modal.tsx:169 msgid "What is the issue with this {collectionName}?" msgstr "ì´ {collectionName}ì— ì–´ë–¤ ë¬¸ì œê°€ 있습니까?" #: src/view/com/auth/SplashScreen.tsx:34 -#: src/view/com/composer/Composer.tsx:275 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "무슨 ì¼ì´ ì¼ì–´ë‚˜ê³ 있나요?" @@ -3360,15 +4361,16 @@ msgstr "ë‹µê¸€ì„ ë‹¬ 수 있는 사람" msgid "Wide" msgstr "가로" -#: src/view/com/composer/Composer.tsx:420 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "게시물 작성" -#: src/view/com/composer/Composer.tsx:274 +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "답글 작성하기" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 #: src/view/screens/PreferencesHomeFeed.tsx:129 #: src/view/screens/PreferencesHomeFeed.tsx:201 #: src/view/screens/PreferencesHomeFeed.tsx:236 @@ -3400,7 +4402,7 @@ msgstr "ì•„ì§ ì´ˆëŒ€ 코드가 없습니다! Bluesky를 좀 ë” ì˜¤ëž˜ ì‚¬ìš©í• msgid "You don't have any pinned feeds." msgstr "ê³ ì •ëœ í”¼ë“œê°€ 없습니다." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "ì €ìž¥ëœ í”¼ë“œê°€ 없습니다!" @@ -3408,16 +4410,24 @@ msgstr "ì €ìž¥ëœ í”¼ë“œê°€ 없습니다!" msgid "You don't have any saved feeds." msgstr "ì €ìž¥ëœ í”¼ë“œê°€ 없습니다." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "작성ìžë¥¼ 차단했거나 작성ìžê°€ 나를 차단한 경우입니다." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "리스트가 없습니다." @@ -3433,15 +4443,15 @@ msgstr "ì•„ì§ ì•± 비밀번호를 ìƒì„±í•˜ì§€ 않았습니다. 아래 버튼ì 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/view/com/modals/ContentFilteringSettings.tsx:166 +#: src/view/com/modals/ContentFilteringSettings.tsx:170 msgid "You must be 18 or older to enable adult content." msgstr "ì„±ì¸ ì½˜í…ì¸ ë¥¼ í™œì„±í™”í•˜ë ¤ë©´ 18세 ì´ìƒì´ì–´ì•¼ 합니다." -#: src/view/com/util/forms/PostDropdownBtn.tsx:88 +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 msgid "You will no longer receive notifications for this thread" msgstr "ì´ ìŠ¤ë ˆë“œì— ëŒ€í•œ ì•Œë¦¼ì„ ë” ì´ìƒ 받지 않습니다." -#: src/view/com/util/forms/PostDropdownBtn.tsx:91 +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 msgid "You will now receive notifications for this thread" msgstr "ì´ì œ ì´ ìŠ¤ë ˆë“œì— ëŒ€í•œ ì•Œë¦¼ì„ ë°›ìŠµë‹ˆë‹¤." @@ -3454,8 +4464,8 @@ msgid "You've reached the end of your feed! Find some more accounts to follow." msgstr "피드 ëì— ë„달했습니다! íŒ”ë¡œìš°í• ê³„ì •ì„ ë” ì°¾ì•„ë³´ì„¸ìš”." #: src/view/com/composer/Composer.tsx:264 -msgid "Your {0} has been published" -msgstr "ë‚´ {0}(ì„)를 게시했습니다." +#~ msgid "Your {0} has been published" +#~ msgstr "ë‚´ {0}(ì„)를 게시했습니다." #: src/view/com/auth/create/Step2.tsx:58 msgid "Your account" @@ -3469,11 +4479,16 @@ msgstr "ê³„ì •ì„ ì‚ì œí–ˆìŠµë‹ˆë‹¤." 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/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "ì´ë©”ì¼ì´ ìž˜ëª»ëœ ê²ƒ 같습니다." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "ì´ë©”ì¼ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤! 가까운 ì‹œì¼ ë‚´ì— ì—°ë½ë“œë¦¬ê² 습니다." @@ -3481,7 +4496,7 @@ msgstr "ì´ë©”ì¼ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤! 가까운 ì‹œì¼ ë‚´ì— ì—°ë½ë“œë¦¬ 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:110 +#: 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 "ì´ë©”ì¼ì´ ì•„ì§ ì¸ì¦ë˜ì§€ 않았습니다. ì´ëŠ” 중요한 보안 단계ì´ë¯€ë¡œ 권장하는 사í•입니다." @@ -3490,26 +4505,34 @@ msgid "Your following feed is empty! Follow more users to see what's happening." msgstr "팔로우 ì¤‘ì¸ í”¼ë“œê°€ 비어 있습니다! ë” ë§Žì€ ì‚¬ìš©ìžë¥¼ 팔로우하여 무슨 ì¼ì´ ì¼ì–´ë‚˜ê³ 있는지 확ì¸í•˜ì„¸ìš”." #: src/view/com/auth/create/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "ë‚´ ì „ì²´ 핸들:" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "호스팅 ì œê³µìž" -#: src/view/screens/Settings.tsx:403 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "앱 비밀번호를 사용하여 로그ì¸í•˜ë©´ 초대 코드가 숨겨집니다" -#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:61 +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "ë‚´ 게시물, 좋아요, 차단 목ë¡ì€ 공개ë©ë‹ˆë‹¤. 뮤트 목ë¡ì€ 공개ë˜ì§€ 않습니다." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "ë‚´ 프로필" @@ -3525,6 +4548,10 @@ msgstr "ë‚´ 프로필" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "ê³„ì •ì´ ì—†ê±°ë‚˜ 로그ì¸í•˜ì§€ ì•Šì€ ìƒíƒœì—서 Bluesky 앱ì´ë‚˜ 웹사ì´íŠ¸ë¥¼ 방문하는 사람들ì—게는 ë‚´ 프로필과 ê²Œì‹œë¬¼ì´ í‘œì‹œë˜ì§€ 않습니다." +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "ë‚´ ì‚¬ìš©ìž í•¸ë“¤" diff --git a/src/locale/locales/pt-BR/messages.po b/src/locale/locales/pt-BR/messages.po index 45daf1a9f..d7083ff37 100644 --- a/src/locale/locales/pt-BR/messages.po +++ b/src/locale/locales/pt-BR/messages.po @@ -21,29 +21,38 @@ msgstr "" #~ msgid ". This warning is only available for posts with media attached." #~ msgstr "" +#: 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, plural, one {# convite disponÃvel} other {# convites disponÃveis}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "Lista {0} {purposeLabel}" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "Lista {0} {purposeLabel}" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, one {Códigos de convite: # disponÃvel} other {Códigos de convite: # disponÃveis}}" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "Código de convite {invitesAvailable} disponÃvel" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "Códigos de convite {invitesAvailable} disponÃveis" @@ -51,10 +60,22 @@ msgstr "Códigos de convite {invitesAvailable} disponÃveis" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> membros" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>Escolha seu</0><1>Recomendado</1><2>Feeds</2>" @@ -75,6 +96,14 @@ msgstr "<0>Seguir alguns</0><1>Recomendado</1><2>Usuários</2>" #~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" #~ msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "Um aviso de conteúdo foi aplicado a este {0}." @@ -83,23 +112,61 @@ msgstr "Um aviso de conteúdo foi aplicado a este {0}." msgid "A new version of the app is available. Please update to continue using the app." msgstr "Uma nova versão do aplicativo está disponÃvel. Por favor, atualize para continuar usando o aplicativo." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "Acessibilidade" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Conta" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +msgid "Account Muted by List" +msgstr "" + #: src/view/com/util/AccountDropdownBtn.tsx:41 msgid "Account options" msgstr "Opções da conta" +#: src/view/com/util/AccountDropdownBtn.tsx:25 +msgid "Account removed from quick access" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "Adicionar" @@ -107,12 +174,12 @@ msgstr "Adicionar" msgid "Add a content warning" msgstr "Adicionar um aviso de conteúdo" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "Adicionar um usuário a esta lista" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Adicionar conta" @@ -122,6 +189,12 @@ msgstr "Adicionar conta" msgid "Add alt text" msgstr "Adicionar texto alternativo" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -131,32 +204,41 @@ msgstr "Adicionar detalhes" msgid "Add details to report" msgstr "Adicionar detalhes ao relatório" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Adicionar cartão de link" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "Adicionar cartão de link:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "Adicione o seguinte registro DNS ao seu domÃnio:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "Adicionar à s Listas" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Add to my feeds" msgstr "Adicionar aos meus feeds" +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139 +msgid "Added" +msgstr "" + #: src/view/com/modals/ListAddRemoveUsers.tsx:191 #: src/view/com/modals/UserAddRemoveLists.tsx:128 msgid "Added to list" msgstr "Adicionado à lista" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "Ajuste o número de curtidas que uma resposta deve ser mostrada no seu feed." @@ -164,10 +246,18 @@ msgstr "Ajuste o número de curtidas que uma resposta deve ser mostrada no seu f msgid "Adult Content" msgstr "Conteúdo Adulto" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Avançado" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -180,7 +270,7 @@ msgstr "Texto alternativo" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "O texto alternativo descreve imagens para usuários cegos e com baixa visão e ajuda a dar contexto a todos." -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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 "Um email foi enviado para {0}. Ele inclui um código de confirmação que você pode inserir abaixo." @@ -188,7 +278,12 @@ msgstr "Um email foi enviado para {0}. Ele inclui um código de confirmação qu msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "Um email foi enviado para seu endereço anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo." -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "e" @@ -197,15 +292,32 @@ msgstr "e" msgid "App Language" msgstr "Idioma do aplicativo" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "Senhas de aplicativos" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "Senhas de Aplicativos" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "Aviso de conteúdo de apelação" @@ -225,7 +337,7 @@ msgstr "Apelar a esta decisão" msgid "Appeal this decision." msgstr "Apelar a esta decisão." -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "Aparência" @@ -233,7 +345,7 @@ msgstr "Aparência" #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." #~ msgstr "" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "Tem certeza de que deseja excluir a senha do aplicativo \"{name}\"?" @@ -241,14 +353,18 @@ msgstr "Tem certeza de que deseja excluir a senha do aplicativo \"{name}\"?" msgid "Are you sure you'd like to discard this draft?" msgstr "Tem certeza que deseja descartar este rascunho?" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "Tem certeza?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "Tem certeza? Esta ação não poderá ser desfeita." +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "Nudez artÃstica ou não erótica." @@ -259,18 +375,24 @@ msgstr "Nudez artÃstica ou não erótica." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "Voltar" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "Básicos" @@ -279,36 +401,46 @@ msgstr "Básicos" msgid "Birthday" msgstr "Aniversário" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "Aniversário:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "Bloquear Conta" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "Bloquear contas" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "Lista de bloqueio" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "Bloquear esta conta?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "Contas bloqueadas" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "Contas Bloqueadas" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." @@ -316,11 +448,11 @@ msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours." msgstr "Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você. Você não verá o seu conteúdo e eles serão impedidos de ver o seu." -#: src/view/com/post-thread/PostThread.tsx:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "Post bloqueado." -#: src/view/screens/ProfileList.tsx:310 +#: src/view/screens/ProfileList.tsx:317 msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Bloquear é público. Contas bloqueadas não podem responder em seus tópicos, mencioná-lo ou interagir com você." @@ -332,14 +464,17 @@ msgstr "Blog" 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 é flexÃvel." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky está aberto." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky é público." @@ -356,7 +491,7 @@ msgstr "O Bluesky não mostrará seu perfil e publicações para usuários desco msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "Versão da compilação {0} {1}" @@ -364,37 +499,65 @@ msgstr "Versão da compilação {0} {1}" msgid "Business" msgstr "Negócios" +#: 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "Câmera" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "Só pode conter letras, números, espaços, traços e sublinhados. Deve ter pelo menos 4 caracteres, mas não mais de 32 caracteres." -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "Cancelar" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "Cancelar exclusão da conta" @@ -410,29 +573,34 @@ msgstr "Cancelar alteração de identificador" msgid "Cancel image crop" msgstr "Cancelar corte da imagem" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "Cancelar edição do perfil" -#: src/view/com/modals/Repost.tsx:64 +#: src/view/com/modals/Repost.tsx:78 msgid "Cancel quote post" msgstr "Cancelar citação de um post" #: src/view/com/modals/ListAddRemoveUsers.tsx:87 -#: src/view/shell/desktop/Search.tsx:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "Cancelar busca" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "Cancelar inscrição na lista de espera" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "Alterar" +msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "Alterar" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Alterar Identificador" @@ -440,10 +608,14 @@ msgstr "Alterar Identificador" msgid "Change Handle" msgstr "Alterar Identificador" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "Alterar meu email" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Altere o Seu Email" @@ -456,7 +628,7 @@ msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los a sua l msgid "Check out some recommended users. Follow them to see similar users." msgstr "Confira alguns usuários recomendados. Siga-os para ver usuários semelhantes." -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "Verifique sua caixa de entrada para um email com o código de confirmação abaixo:" @@ -464,10 +636,15 @@ msgstr "Verifique sua caixa de entrada para um email com o código de confirmaç msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "Escolha \"Everybody\" ou \"Nobody\"" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "Escolher o Serviço" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:83 msgid "Choose the algorithms that power your experience with custom feeds." msgstr "Escolha os algoritmos que alimentam a sua experiência com feeds personalizados." @@ -480,27 +657,33 @@ msgstr "Escolha os algoritmos que alimentam a sua experiência com feeds persona msgid "Choose your password" msgstr "Escolha sua senha" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "Limpar todos os dados de armazenamento legados" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "Limpar todos os dados de armazenamento legados (reinicie após isso)" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "Limpar todos os dados de armazenamento" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "Limpar todos os dados de armazenamento (reiniciar após isso)" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "Limpar consulta de busca" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Fechar alerta" @@ -521,23 +704,54 @@ msgstr "Fechar visualizador de imagens" msgid "Close navigation footer" msgstr "Feche o painel de navegação" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "Diretrizes da Comunidade" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "Escrever resposta" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "Confirme" +#: 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" @@ -547,18 +761,26 @@ msgstr "Confirmar Alterações" msgid "Confirm content language settings" msgstr "Confirmar configurações de idioma de conteúdo" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Confirmar a exclusão da conta" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: src/view/com/modals/VerifyEmail.tsx:165 msgid "Confirmation code" msgstr "Código de confirmação" +#: src/view/com/modals/Waitlist.tsx:120 +msgid "Confirms signing up {email} to the waitlist" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "Conectando..." @@ -575,6 +797,11 @@ msgstr "Filtragem de Conteúdo" msgid "Content Languages" msgstr "Idiomas de Conteúdo" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "Aviso de Conteúdo" @@ -588,31 +815,46 @@ msgstr "Avisos de conteúdo" msgid "Continue" msgstr "Continuar" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "Copiado" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "Copiar" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "Copiar link da lista" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "Copiar link para postar" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "Copiar link do perfil" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "Copiar texto da postagem" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "PolÃtica de Direitos Autorais" @@ -621,29 +863,50 @@ msgstr "PolÃtica de Direitos Autorais" msgid "Could not load feed" msgstr "Não foi possÃvel carregar o feed" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "Não foi possÃvel carregar a lista" #: 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 "Criar uma nova conta" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "Criar Conta" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "Criar uma nova conta" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "Criado {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "DomÃnio personalizado" @@ -652,15 +915,27 @@ msgstr "DomÃnio personalizado" msgid "Customize media from external sites." msgstr "Personalize a mÃdia de sites externos." -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Zona de Perigo" -#: src/view/screens/Settings.tsx:411 -#~ msgid "Dark" -#~ msgstr "" +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Excluir a conta" @@ -668,40 +943,44 @@ msgstr "Excluir a conta" msgid "Delete Account" msgstr "Excluir a Conta" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "Excluir senha do aplicativo" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "Excluir Lista" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Excluir minha conta" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Excluir minha conta…" -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "Excluir post" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "Excluir este post?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "Post excluÃdo." -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "Descrição" @@ -709,7 +988,7 @@ msgstr "Descrição" msgid "Dev Server" msgstr "Servidor de Desenvolvimento" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "Ferramentas do Desenvolvedor" @@ -729,35 +1008,53 @@ msgstr "Descartar rascunho" msgid "Discourage apps from showing my account to logged-out users" msgstr "Desencorajar aplicativos de mostrar minha conta para usuários desconectados" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "Descubra novos feeds" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "Nome de exibição" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "Nome de Exibição" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "DomÃnio verificado!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "Feito" @@ -765,56 +1062,116 @@ msgstr "Feito" msgid "Done{extraText}" msgstr "Feito{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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 "Cada código só funciona uma vez. Você receberá mais códigos de convite periodicamente." +#: src/view/com/lists/ListMembers.tsx:149 +msgctxt "action" +msgid "Edit" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "Editar imagem" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "Editar detalhes da lista" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "Editar Meus Feeds" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "Editar meu perfil" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "Editar perfil" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "Editar Perfil" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "Editar Feeds Salvos" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "Email" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 msgid "Email address" msgstr "Endereço de email" +#: 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 "Email Atualizado" -#: src/view/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "Email:" @@ -822,34 +1179,63 @@ msgstr "Email:" msgid "Enable {0} only" msgstr "Ativar {0} somente" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "Ativar MÃdia Externa" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "Ative esta configuração para ver apenas as respostas entre as pessoas que você segue." -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "Fim do feed" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "Digite o endereço do seu provedor:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "Digite o domÃnio que você deseja usar" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:103 msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password." msgstr "Digite o email que você usou para criar a sua conta. Nós lhe enviaremos um \"código de redefinição\" para que você possa definir uma nova senha." +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 msgid "Enter your email address" msgstr "Digite seu endereço de email" +#: 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 "Digite seu novo endereço de email abaixo." @@ -866,10 +1252,32 @@ msgstr "Erro:" msgid "Everybody" msgstr "Todos" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 msgid "Expand alt text" msgstr "Expandir texto alternativo" +#: src/view/com/composer/ComposerReplyTo.tsx:81 +#: src/view/com/composer/ComposerReplyTo.tsx:84 +msgid "Expand or collapse the full post you are replying to" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "MÃdia Externa" @@ -879,17 +1287,43 @@ msgstr "MÃdia Externa" msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button." msgstr "A mÃdia externa pode permitir que os sites coletem informações sobre você e seu dispositivo. Nenhuma informação é enviada ou solicitada até que você pressione o botão \"play\"." +#: src/Navigation.tsx:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "Preferências de MÃdia Externa" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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 "Falha ao carregar feeds recomendados" -#: src/view/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "Feed offline" @@ -902,12 +1336,13 @@ msgstr "Preferências de Feed" msgid "Feedback" msgstr "Comentários" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "Feeds" @@ -919,6 +1354,12 @@ msgstr "Os feeds são criados por usuários para curadoria de conteúdo. Escolha msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "Os feeds são algoritmos personalizados que os usuários criam com um pouco de experiência em condificação. <0/> para mais informações." +#: 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:427 msgid "Find users on Bluesky" msgstr "Encontrar usuários no Bluesky" @@ -931,7 +1372,7 @@ msgstr "Encontre usuários com a ferramenta de busca à direita" msgid "Finding similar accounts..." msgstr "Procurando contas semelhantes..." -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "Ajuste o conteúdo que você vê na sua tela inicial." @@ -939,10 +1380,28 @@ msgstr "Ajuste o conteúdo que você vê na sua tela inicial." msgid "Fine-tune the discussion threads." msgstr "Ajuste os tópicos de discussão." -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "Seguir" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 #~ msgid "Follow some" #~ msgstr "" @@ -951,44 +1410,60 @@ msgstr "Seguir" msgid "Follow some users to get started. We can recommend you more users based on who you find interesting." msgstr "Seguir alguns usuários para começar. Nós podemos recomendar mais usuários com base em quem você acha interessante." +#: src/view/com/profile/ProfileCard.tsx:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "Usuários seguidos" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "Somente usuários seguidos" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "Seguidores" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "seguindo" +#~ msgid "following" +#~ msgstr "seguindo" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "Seguindo" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "Segue você" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de email." -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "Por motivos de segurança, você não poderá ver isto novamente. Se você perder esta senha, precisará gerar uma nova." -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "Esqueceu" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Esqueci a senha" @@ -997,11 +1472,17 @@ msgstr "Esqueci a senha" msgid "Forgot Password" msgstr "Esqueci a Senha" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "Galeria" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "Vamos começar" @@ -1014,14 +1495,14 @@ msgstr "Voltar atrás" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "Voltar Atrás" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "Ir para o próximo" @@ -1034,48 +1515,64 @@ msgstr "Identificador" msgid "Help" msgstr "Ajuda" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "Aqui está a sua senha do aplicativo." -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "Ocultar" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "Ocultar post" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "Ocultar este post?" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "Ocultar lista de usuários" +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." #~ msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: src/view/com/posts/FeedErrorMessage.tsx:111 msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue." msgstr "Hmm, ocorreu algum tipo de problema ao entrar em contato com o servidor do feed. Por favor, avise o proprietário do feed sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:98 +#: src/view/com/posts/FeedErrorMessage.tsx:99 msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue." msgstr "Hmm, o servidor de feed parece estar mal configurado. Por favor, deixe o proprietário do feed saber sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:104 +#: src/view/com/posts/FeedErrorMessage.tsx:105 msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue." msgstr "Hmm, o servidor de feed parece estar offline. Por favor, avise o autor do feed sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:101 +#: src/view/com/posts/FeedErrorMessage.tsx:102 msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue." msgstr "Hmm, o servidor de feed deu uma má resposta. Por favor, avise o autor do feed sobre este problema." -#: src/view/com/posts/FeedErrorMessage.tsx:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido excluÃdo." @@ -1083,6 +1580,7 @@ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido e #~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." #~ msgstr "" +#: 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 @@ -1090,13 +1588,14 @@ msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido e msgid "Home" msgstr "Página Inicial" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "Preferências do Feed Inicial" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "Provedor de hospedagem" @@ -1105,18 +1604,34 @@ msgstr "Provedor de hospedagem" msgid "Hosting provider address" msgstr "Endereço do provedor de hospedagem" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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 "Eu tenho um código" -#: src/view/com/modals/ChangeHandle.tsx:281 +#: 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 "Eu tenho meu próprio domÃnio" +#: src/view/com/lightbox/Lightbox.web.tsx:158 +msgid "If alt text is long, toggles alt text expanded state" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:127 msgid "If none are selected, suitable for all ages." msgstr "Se nenhum for selecionado, adequado para todas as idades." +#: src/view/com/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Texto alternativo da imagem" @@ -1131,19 +1646,76 @@ msgstr "Opções de imagem" #~ msgid "In Your Network" #~ msgstr "" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "Nome de usuário ou senha inválido" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "Convite" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "Convide um Amigo" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "Código de convite" @@ -1152,10 +1724,18 @@ msgstr "Código de convite" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "Código de convite não aceito. Verifique se você o inseriu corretamente e tente novamente." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "Códigos de convite: {invitesAvailable} disponÃvel" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "Empregos" @@ -1169,7 +1749,7 @@ msgstr "Junte-se à lista de espera" msgid "Join the waitlist." msgstr "Junte-se à lista de espera." -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "Junte-se à Lista de Espera" @@ -1177,15 +1757,24 @@ msgstr "Junte-se à Lista de Espera" msgid "Language selection" msgstr "Seleção de idioma" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "Configurações de Idiomas" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Idiomas" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "Saiba mais" @@ -1195,9 +1784,9 @@ msgstr "Saiba mais" msgid "Learn More" msgstr "Saiba Mais" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1211,10 +1800,14 @@ msgstr "Saiba mais sobre o que é público no Bluesky." msgid "Leave them all unchecked to see any language." msgstr "Deixe todos desmarcados para ver qualquer idioma." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Saindo do Bluesky" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1225,23 +1818,48 @@ msgstr "Vamos redefinir sua senha!" msgid "Library" msgstr "Biblioteca" -#: src/view/screens/Settings.tsx:405 -#~ msgid "Light" -#~ msgstr "" +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "Curtir este feed" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "Curtido por" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "Curtidas" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" #~ msgstr "" @@ -1250,23 +1868,52 @@ msgstr "Curtidas" #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "Listar Avatar" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "Lista de Nomes" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "Listas" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "Carregar mais posts" @@ -1274,7 +1921,10 @@ msgstr "Carregar mais posts" msgid "Load new notifications" msgstr "Carregar novas notificações" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "Carregar novos posts" @@ -1286,6 +1936,10 @@ msgstr "Carregando..." msgid "Local dev server" msgstr "Servidor de desenvolvimento local" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "" @@ -1302,7 +1956,7 @@ msgstr "Fazer login em uma conta que não está listada" #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "Certifique-se de que é para lá que você pretende ir!" @@ -1318,72 +1972,119 @@ msgstr "usuários mencionados" msgid "Mentioned users" msgstr "Usuários mencionados" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "Menu" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "Mensagem do servidor" +#~ msgid "Message from server" +#~ msgstr "Mensagem do servidor" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "Moderação" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "Listas de moderação" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "Listas de Moderação" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "Mais feeds" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "Mais opções" -#: src/view/com/util/forms/PostDropdownBtn.tsx:158 -#~ msgid "More post options" -#~ msgstr "" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "Respostas mais curtidas primeiro" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "Silenciar Conta" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "Silenciar contas" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "Lista de silenciados" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "Silenciar essas contas?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "Silenciar tópico" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Contas silenciadas" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "Contas Silenciadas" @@ -1392,7 +2093,7 @@ msgstr "Contas Silenciadas" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "Contas silenciadas tem seus posts removidos do seu feed e das suas notificações. Os silenciamentos são completamente privados." -#: src/view/screens/ProfileList.tsx:273 +#: src/view/screens/ProfileList.tsx:276 msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them." msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas você não verá postagens ou receber notificações delas." @@ -1404,7 +2105,7 @@ msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas msgid "My Birthday" msgstr "Meu Aniversário" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "Meus Feeds" @@ -1412,80 +2113,134 @@ msgstr "Meus Feeds" msgid "My Profile" msgstr "Meu Perfil" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Meus Feeds Salvos" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "Nome" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:107 #: src/view/com/modals/EmbedConsent.tsx:123 msgid "Never load embeds from {0}" msgstr "Nunca carregue incorporações de {0}" +#: 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 "Nunca perca o acesso aos seus seguidores e dados." #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "Novo" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "Novo post" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "Novo Post" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "Novo Post" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "Respostas mais recentes primeiro" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "Próximo" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "Próxima imagem" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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ão" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "Sem descrição" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "Nenhum resultado" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "Nenhum resultado encontrado para \"{query}\"" @@ -1497,8 +2252,8 @@ msgstr "Nenhum resultado encontrado para \"{query}\"" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "Nenhum resultado encontrado para {query}" @@ -1518,6 +2273,15 @@ msgstr "Ninguém" msgid "Not Applicable." msgstr "Não Aplicável." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "" @@ -1530,6 +2294,7 @@ msgstr "Nota: o Bluesky é uma rede aberta e pública. Essa configuração limit #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." #~ msgstr "" +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1539,6 +2304,10 @@ msgstr "Nota: o Bluesky é uma rede aberta e pública. Essa configuração limit msgid "Notifications" msgstr "Notificações" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "Oh, não!" @@ -1551,7 +2320,11 @@ msgstr "Ok" msgid "Oldest replies first" msgstr "Respostas mais antigas primeiro" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Uma ou mais imagens estão sem texto alternativo." @@ -1559,60 +2332,131 @@ msgstr "Uma ou mais imagens estão sem texto alternativo." msgid "Only {0} can reply." msgstr "Apenas {0} pode responder." -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "Abrir seletor de emojis" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "Abrir navegação" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Abre definições de idioma configuráveis" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "Abre as configurações de incorporações externas" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "Abre a lista de códigos de convite" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "Abre modal para usar o domÃnio personalizado" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Abre configurações de moderação" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Abre a tela com todos os feeds salvos" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Abre a página de configurações de senha do aplicativo" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Abre as preferências do feed inicial" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "Abre a página do storybook" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Abre a página de log do sistema" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Abrir as preferências dos tópicos" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "Ou combine estas opções:" @@ -1636,9 +2480,9 @@ msgstr "Página não encontrada" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Senha" @@ -1650,10 +2494,31 @@ msgstr "Senha atualizada" msgid "Password updated!" msgstr "Senha atualizada!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "Imagens destinadas a adultos." +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "Feeds Fixados" @@ -1683,7 +2548,11 @@ msgstr "Por favor, escolha sua senha." msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed." msgstr "Por favor, confirme seu email antes de alterá-lo. Este é um requisito temporário enquanto ferramentas de atualização de email são adicionadas, e em breve serão removidos." -#: src/view/com/modals/AddAppPasswords.tsx:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Por favor, insira um nome único para esta Senha do Aplicativo ou use nossa senha gerada aleatoriamente." @@ -1691,7 +2560,7 @@ msgstr "Por favor, insira um nome único para esta Senha do Aplicativo ou use no msgid "Please enter your email." msgstr "Por favor, digite o seu email." -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "Por favor, digite sua senha também:" @@ -1705,17 +2574,51 @@ msgstr "Por favor, diga-nos por que você acha que este aviso de conteúdo foi a #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "Aguarde até que o cartão de link termine de carregar" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "Post" +#~ msgid "Post" +#~ msgstr "Post" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "Post oculto" @@ -1727,7 +2630,7 @@ msgstr "Idioma do post" msgid "Post Languages" msgstr "Idioma do Post" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "Post não encontrado" @@ -1735,7 +2638,11 @@ msgstr "Post não encontrado" msgid "Posts" msgstr "Posts" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Link Potencialmente Enganoso" @@ -1751,30 +2658,35 @@ msgstr "Idioma Principal" msgid "Prioritize Your Follows" msgstr "Priorizar seus Seguidores" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "Privacidade" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "PolÃtica de Privacidade" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "Processando..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "Perfil" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "Proteja a sua conta verificando o seu email." @@ -1786,14 +2698,31 @@ msgstr "Listas públicas e compartilháveis de usuários para silenciar ou bloqu msgid "Public, shareable lists which can drive feeds." msgstr "Listas públicas e compartilháveis que podem gerar feeds." -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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 "Citar post" -#: src/view/com/modals/Repost.tsx:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "Citar Post" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "Citar Post" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1818,7 +2747,7 @@ msgstr "Usuários Recomendados" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1832,13 +2761,16 @@ msgstr "Remover {0} dos meus feeds?" msgid "Remove account" msgstr "Remover conta" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "Remover feed" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "Remover dos meus feeds" @@ -1850,11 +2782,15 @@ msgstr "Remover imagem" msgid "Remove image preview" msgstr "Remover visualização da imagem" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "Remover este feed dos meus feeds?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "Remover esse feed de seus feeds salvos?" @@ -1863,6 +2799,15 @@ msgstr "Remover esse feed de seus feeds salvos?" msgid "Removed from list" msgstr "Removido da lista" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "Respostas" @@ -1871,31 +2816,50 @@ msgstr "Respostas" msgid "Replies to this thread are disabled" msgstr "Respostas para este tópico estão desativadas" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "Filtros de Resposta" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "Denunciar {collectionName}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "Denunciar Conta" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "Denunciar feed" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "Denunciar Lista" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" msgstr "Denunciar post" +#: 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 "Repostar" @@ -1909,6 +2873,22 @@ msgstr "Repostar ou citar uma post" msgid "Reposted by" msgstr "Repostado por" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" @@ -1918,7 +2898,7 @@ msgstr "Solicitar Alteração" #~ msgid "Request to limit the visibility of my account" #~ msgstr "" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "Exigir texto alternativo antes de postar" @@ -1926,34 +2906,52 @@ msgstr "Exigir texto alternativo antes de postar" msgid "Required for this provider" msgstr "Obrigatório para este provedor" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "Código de redefinição" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "Redefinir estado de integração" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "Redefinir senha" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "Redefinir estado das preferências" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "Redefine o estado de integração" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "Redefine o estado das preferências" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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" @@ -1963,12 +2961,26 @@ msgstr "Tente novamente" #~ msgid "Retry change handle" #~ msgstr "" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "Salvar" @@ -1980,7 +2992,7 @@ msgstr "Salvar texto alternativo" #~ msgid "Save changes" #~ msgstr "" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "Salvar Alterações" @@ -1996,9 +3008,25 @@ msgstr "Salvar corte de imagem" msgid "Saved Feeds" msgstr "Feeds Salvos" +#: 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -2015,6 +3043,7 @@ msgstr "Buscar" #: src/view/com/auth/LoggedOut.tsx:104 #: src/view/com/auth/LoggedOut.tsx:105 +#: src/view/com/modals/ListAddRemoveUsers.tsx:70 msgid "Search for users" msgstr "Buscar por usuários" @@ -2022,10 +3051,18 @@ msgstr "Buscar por usuários" msgid "Security Step Required" msgstr "Passo de Segurança Necessário" +#: src/view/screens/SavedFeeds.tsx:163 +msgid "See this guide" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:39 msgid "See what's next" msgstr "Veja o que vem a seguir" +#: src/view/com/util/Selector.tsx:106 +msgid "Select {item}" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Selecione Bluesky Social" @@ -2034,6 +3071,10 @@ msgstr "Selecione Bluesky Social" msgid "Select from an existing account" msgstr "Selecione em uma conta existente" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Selecione o serviço" @@ -2050,7 +3091,8 @@ msgstr "Selecione o idioma do seu aplicativo para o texto padrão a ser exibido msgid "Select your preferred language for translations in your feed." msgstr "Selecione seu idioma preferido para as traduções do seu feed." -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "Enviar Email de Confirmação" @@ -2058,9 +3100,14 @@ msgstr "Enviar Email de Confirmação" msgid "Send email" msgstr "Enviar email" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "Enviar Email" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "Enviar Email" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -2071,19 +3118,49 @@ msgstr "Enviar comentários" msgid "Send Report" msgstr "Enviar um Relatório" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "Defina uma nova senha" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "Defina esta configuração como \"Não\" para ocultar todos os posts citados do seu feed. Repostagens ainda serão visÃveis." -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "Defina essa configuração como \"Não\" para ocultar todas as respostas do seu feed." -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "Defina essa configuração como \"Não\" para ocultar todas as repostagens do seu feed." @@ -2091,14 +3168,35 @@ msgstr "Defina essa configuração como \"Não\" para ocultar todas as repostage msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma visualização thread. Este é um recurso experimental." -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: src/view/screens/PreferencesHomeFeed.tsx:261 msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature." msgstr "Defina essa configuração como \"Sim\" para mostrar amostras de seus feeds salvos no seu seguinte feed. Este é um recurso experimental." -#: src/view/screens/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "Configurações" @@ -2106,13 +3204,18 @@ msgstr "Configurações" msgid "Sexual activity or erotic nudity." msgstr "Atividade sexual ou nudez erótica." -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "Compartilhar" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "Compartilhar feed" @@ -2120,11 +3223,17 @@ msgstr "Compartilhar feed" #~ msgid "Share link" #~ msgstr "" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "Mostrar" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "Mostrar mesmo assim" @@ -2133,15 +3242,25 @@ msgstr "Mostrar mesmo assim" msgid "Show embeds from {0}" msgstr "Mostrar incorporações de {0}" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "Mostrar Posts dos meus Feeds" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "Mostrar Posts de Citações" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "Mostrar Respostas" @@ -2149,14 +3268,31 @@ msgstr "Mostrar Respostas" msgid "Show replies by people you follow before all other replies." msgstr "Mostrar as respostas de pessoas que você segue antes de todas as outras respostas." -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "Mostrar Repostagens" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "Mostrar usuários" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2191,7 +3327,9 @@ msgid "Sign into" msgstr "Fazer login" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Sair" @@ -2215,14 +3353,34 @@ msgstr "Inscreva-se ou faça login para se juntar à conversa" msgid "Sign-in Required" msgstr "É Necessário Fazer Login" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Entrou como" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "Pular" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "Classificar Respostas" @@ -2240,11 +3398,19 @@ msgstr "Quadrado" msgid "Staging" msgstr "Encenação" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "Página de status" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "Storybook" @@ -2252,32 +3418,59 @@ msgstr "Storybook" msgid "Submit" msgstr "Enviar" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "Assinar" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "Assinar esta lista" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "Seguidores Sugeridos" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "Suporte" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "Alterar Conta" -#: src/view/screens/Settings.tsx:398 -#~ msgid "System" -#~ msgstr "" +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" -#: src/view/screens/Settings.tsx:679 +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" + +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "Log do sistema" @@ -2285,11 +3478,16 @@ msgstr "Log do sistema" msgid "Tall" msgstr "Alto" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "Termos" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2300,7 +3498,7 @@ msgstr "Termos de Serviço" msgid "Text input field" msgstr "Campo de entrada de texto" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "A conta poderá interagir com você após o desbloqueio." @@ -2312,7 +3510,7 @@ msgstr "As Diretrizes da Comunidade foram movidas para <0/>" msgid "The Copyright Policy has been moved to <0/>" msgstr "A PolÃtica de Direitos Autorais foi movida para <0/>" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "O post pode ter sido excluÃdo." @@ -2321,13 +3519,86 @@ msgid "The Privacy Policy has been moved to <0/>" msgstr "A PolÃtica de Privacidade foi movida para <0/>" #: src/view/screens/Support.tsx:36 -msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us." -msgstr "O formulário de suporte foi movido. Se precisar de ajuda, por favor <0/> ou visite {HELP_DESK_URL} para entrar em contato conosco." +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 "" + +#: 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 "O formulário de suporte foi movido. Se precisar de ajuda, por favor <0/> ou visite {HELP_DESK_URL} para entrar em contato conosco." #: src/view/screens/TermsOfService.tsx:33 msgid "The Terms of Service have been moved to" msgstr "Os Termos de Serviço foram movidos para" +#: src/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: 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 "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "Houve um problema inesperado no aplicativo. Por favor, deixe-nos saber se isso aconteceu com você!" @@ -2348,19 +3619,33 @@ msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seu msgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "Este conteúdo é hospedado por {0}. Deseja ativar a mÃdia externa?" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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 "Este conteúdo não está visÃvel sem uma conta Bluesky." -#: src/view/com/posts/FeedErrorMessage.tsx:113 +#: src/view/com/posts/FeedErrorMessage.tsx:114 msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later." msgstr "Este feed está recebendo alto tráfego e está temporariamente indisponÃvel. Por favor, tente novamente mais tarde." +#: src/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "Esta informação não é compartilhada com outros usuários." -#: src/view/com/modals/VerifyEmail.tsx:113 +#: src/view/com/modals/VerifyEmail.tsx:119 msgid "This is important in case you ever need to change your email or reset your password." msgstr "Isso é importante caso você precise alterar seu email ou redefinir sua senha." @@ -2368,24 +3653,44 @@ msgstr "Isso é importante caso você precise alterar seu email ou redefinir sua msgid "This is the service that keeps you online." msgstr "Este é o serviço que o mantém online." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "Esse link está levando você ao seguinte site:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "Este post foi excluÃdo." +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "Este aviso só está disponÃvel para publicações com mÃdia anexada." -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "Isso ocultará esse post de seus feeds." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "Preferências de Tópico" @@ -2393,7 +3698,11 @@ msgstr "Preferências de Tópico" msgid "Threaded Mode" msgstr "Modo Tópico" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "Alternar menu suspenso" @@ -2401,60 +3710,100 @@ msgstr "Alternar menu suspenso" msgid "Transformations" msgstr "Transformações" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "Traduzir" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "Tente novamente" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "Tente novamente" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "Lista de desbloqueio" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "Lista de não silenciados" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "Não foi possÃvel entrar em contato com seu serviço. Por favor, verifique sua conexão à internet." -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "Desbloquear" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 msgid "Unblock Account" msgstr "Desbloquear Conta" +#: 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 "Desfazer repost" +#: src/view/com/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Infelizmente, você não atende aos requisitos para criar uma conta." -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "Não Silenciar Conta" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "Não silenciar o tópico" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "Desafixar lista de moderação" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "Atualizar {displayName} nas Listas" @@ -2463,34 +3812,83 @@ msgstr "Atualizar {displayName} nas Listas" msgid "Update Available" msgstr "Atualização DisponÃvel" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "Atualizando..." -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "Carregar um arquivo de texto para:" -#: src/view/screens/AppPasswords.tsx:194 +#: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." msgstr "Use as senhas de aplicativos para fazer login em outros clientes Bluesky sem dar acesso total à sua conta ou senha." -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "Usar provedor padrão" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "Use isto para entrar no outro aplicativo juntamente com seu identificador." -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "Usado por:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "Identificador de usuário" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "Listas de Usuários" @@ -2500,7 +3898,7 @@ msgstr "Listas de Usuários" msgid "Username or email address" msgstr "Nome de usuário ou endereço de email" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "Usuários" @@ -2516,15 +3914,15 @@ msgstr "usuários seguidos por <0/>" msgid "Users in \"{0}\"" msgstr "Usuários em \"{0}\"" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "Verificar email" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "Verificar meu email" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "Verificar Meu Email" @@ -2533,18 +3931,46 @@ msgstr "Verificar Meu Email" msgid "Verify New Email" msgstr "Verificar Novo Email" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "Ver entrada de depuração" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "Ver o avatar" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Visitar Site" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "Estamos muito felizes por você se juntar a nós!" @@ -2557,6 +3983,10 @@ msgstr "Estamos muito felizes por você se juntar a nós!" #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." #~ msgstr "" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "Lamentamos, mas sua busca não pôde ser concluÃda. Por favor, tente novamente em alguns minutos." @@ -2574,6 +4004,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "Qual é o problema com este {collectionName}?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "Que há de novo?" @@ -2598,23 +4029,30 @@ msgstr "Quem pode responder" msgid "Wide" msgstr "Largo" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "Escrever post" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "Escreva sua resposta" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "Sim" +#: src/view/com/posts/FollowingEmptyState.tsx:67 +#: src/view/com/posts/FollowingEndOfFeed.tsx:68 +msgid "You can also discover new Custom Feeds to follow." +msgstr "" + #: src/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "Você pode alterar os provedores de hospedagem a qualquer momento." @@ -2624,7 +4062,7 @@ msgstr "Você pode alterar os provedores de hospedagem a qualquer momento." msgid "You can now sign in with your new password." msgstr "Agora você pode entrar com a sua nova senha." -#: src/view/com/modals/InviteCodes.tsx:64 +#: src/view/com/modals/InviteCodes.tsx:66 msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer." msgstr "Você ainda não tem nenhum código de convite! Nós lhe enviaremos alguns quando você estiver no Bluesky por mais um pouco de tempo." @@ -2632,7 +4070,7 @@ msgstr "Você ainda não tem nenhum código de convite! Nós lhe enviaremos algu msgid "You don't have any pinned feeds." msgstr "Você não tem feeds fixados." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "Você não tem feeds salvos!" @@ -2640,16 +4078,24 @@ msgstr "Você não tem feeds salvos!" msgid "You don't have any saved feeds." msgstr "Você não tem feeds salvos." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "Você bloqueou o autor ou foi bloqueado pelo autor." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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 "Você não tem feeds." #: src/view/com/lists/MyLists.tsx:89 -#: src/view/com/lists/ProfileLists.tsx:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "Você não tem listas." @@ -2657,7 +4103,7 @@ msgstr "Você não tem listas." msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account." msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse o perfil e selecione \"Bloquear conta\" no menu da conta." -#: src/view/screens/AppPasswords.tsx:86 +#: src/view/screens/AppPasswords.tsx:87 msgid "You have not created any app passwords yet. You can create one by pressing the button below." msgstr "Você ainda não criou nenhuma senha do aplicativo. Você pode criar uma pressionando o botão abaixo." @@ -2665,23 +4111,48 @@ msgstr "Você ainda não criou nenhuma senha do aplicativo. Você pode criar uma msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account." msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, vá ao perfil deles e selecione \"Silenciar conta\" no menu em sua conta." +#: src/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." msgstr "Você receberá um email com um \"código de redefinição\". Digite esse código aqui, e então digite sua nova senha." +#: src/view/com/posts/FollowingEndOfFeed.tsx:48 +msgid "You've reached the end of your feed! Find some more accounts to follow." +msgstr "" + #: src/view/com/auth/create/Step2.tsx:58 msgid "Your account" msgstr "Sua conta" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 msgid "Your birth date" msgstr "Sua data de nascimento" +#: src/view/com/modals/InAppBrowserConsent.tsx:47 +msgid "Your choice will be saved, but can be changed later in settings." +msgstr "" + #: src/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Seu email parece ser inválido." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "Seu email foi salvo! Entraremos em contato em breve." @@ -2689,30 +4160,43 @@ msgstr "Seu email foi salvo! Entraremos em contato em breve." msgid "Your email has been updated but not verified. As a next step, please verify your new email." msgstr "Seu email foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo email." -#: src/view/com/modals/VerifyEmail.tsx:108 +#: src/view/com/modals/VerifyEmail.tsx:114 msgid "Your email has not yet been verified. This is an important security step which we recommend." msgstr "Seu email ainda não foi verificado. Esta é uma etapa de segurança importante que recomendamos." +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "Seu identificador completo será" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "Seu provedor de hospedagem" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Seus códigos de convite estão ocultos quando conectado com uma Senha do Aplicativo" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:59 msgid "Your posts, likes, and blocks are public. Mutes are private." msgstr "Suas postagens, curtidas e blocos são públicos. Mudos são privados." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Seu perfil" @@ -2728,6 +4212,10 @@ msgstr "Seu perfil" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Seu identificador de usuário" diff --git a/src/locale/locales/uk/messages.po b/src/locale/locales/uk/messages.po index 114b3164b..016e20623 100644 --- a/src/locale/locales/uk/messages.po +++ b/src/locale/locales/uk/messages.po @@ -26,29 +26,38 @@ msgstr "" #~ msgid ". This warning is only available for posts with media attached." #~ msgstr "" +#: 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, plural, one {ДоÑтупний # код запрошеннÑ} few {ДоÑтупно # коди запрошеннÑ} other {ДоÑтупно # кодів запрошеннÑ}}" -#: src/view/com/modals/Repost.tsx:44 +#: src/view/com/modals/CreateOrEditList.tsx:185 +#: src/view/screens/Settings.tsx:294 msgid "{0}" msgstr "{0}" #: src/view/com/modals/CreateOrEditList.tsx:176 -msgid "{0} {purposeLabel} List" -msgstr "{0} СпиÑок {purposeLabel}" +#~ msgid "{0} {purposeLabel} List" +#~ msgstr "{0} СпиÑок {purposeLabel}" + +#: src/view/com/profile/ProfileHeader.tsx:632 +msgid "{following} following" +msgstr "" #: src/view/shell/desktop/RightNav.tsx:151 msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}" msgstr "{invitesAvailable, plural, one {Коди запрошень: доÑтупно #} other {Коди запрошень: доÑтупно #}}" -#: src/view/screens/Settings.tsx:407 -#: src/view/shell/Drawer.tsx:659 +#: src/view/screens/Settings.tsx:435 +#: src/view/shell/Drawer.tsx:661 msgid "{invitesAvailable} invite code available" msgstr "ДоÑтупний код запрошеннÑ" -#: src/view/screens/Settings.tsx:409 -#: src/view/shell/Drawer.tsx:661 +#: src/view/screens/Settings.tsx:437 +#: src/view/shell/Drawer.tsx:663 msgid "{invitesAvailable} invite codes available" msgstr "ДоÑтупно {invitesAvailable} кодів запрошеннÑ" @@ -56,10 +65,22 @@ msgstr "ДоÑтупно {invitesAvailable} кодів запрошеннÑ" msgid "{message}" msgstr "{message}" +#: src/view/shell/Drawer.tsx:440 +msgid "{numUnreadNotifications} unread" +msgstr "" + +#: src/Navigation.tsx:147 +msgid "@{0}" +msgstr "" + #: src/view/com/threadgate/WhoCanReply.tsx:158 msgid "<0/> members" msgstr "<0/> учаÑників" +#: src/view/com/profile/ProfileHeader.tsx:634 +msgid "<0>{following} </0><1>following</1>" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30 msgid "<0>Choose your</0><1>Recommended</1><2>Feeds</2>" msgstr "<0>Оберіть Ñвої</0><1>рекомендовані</1><2>Ñтрічки</2>" @@ -80,6 +101,14 @@ msgstr "<0>ПідпишітьÑÑ Ð½Ð° деÑких </0><1>рекомендовР#~ msgid "<0>Note: Your profile and posts will remain publicly available. Third-party apps that display Bluesky content may not respect this setting.</0>" #~ msgstr "" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21 +msgid "<0>Welcome to</0><1>Bluesky</1>" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:597 +msgid "âš Invalid Handle" +msgstr "" + #: src/view/com/util/moderation/LabelInfo.tsx:45 msgid "A content warning has been applied to this {0}." msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚ було додано до цього {0}." @@ -88,23 +117,61 @@ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚ було додано до ц msgid "A new version of the app is available. Please update to continue using the app." msgstr "ДоÑтупна нова верÑÑ–Ñ. Будь лаÑка, оновіть заÑтоÑунок, щоб продовжити ним кориÑтуватиÑÑ." +#: src/view/com/util/ViewHeader.tsx:83 +#: src/view/screens/Search/Search.tsx:538 +msgid "Access navigation links and settings" +msgstr "" + +#: src/view/com/pager/FeedsTabBarMobile.tsx:78 +msgid "Access profile and other navigation links" +msgstr "" + #: src/view/com/modals/EditImage.tsx:299 -#: src/view/screens/Settings.tsx:417 +#: src/view/screens/Settings.tsx:445 msgid "Accessibility" msgstr "ДоÑтупніÑть" #: src/view/com/auth/login/LoginForm.tsx:163 -#: src/view/screens/Settings.tsx:286 +#: src/view/screens/Settings.tsx:308 msgid "Account" msgstr "Обліковий запиÑ" +#: src/view/com/profile/ProfileHeader.tsx:293 +msgid "Account blocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:260 +msgid "Account muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:86 +msgid "Account Muted" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:72 +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/view/com/profile/ProfileHeader.tsx:315 +msgid "Account unblocked" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:273 +msgid "Account unmuted" +msgstr "" + +#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150 #: src/view/com/modals/ListAddRemoveUsers.tsx:264 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 -#: src/view/screens/ProfileList.tsx:763 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 +#: src/view/screens/ProfileList.tsx:791 msgid "Add" msgstr "Додати" @@ -112,12 +179,12 @@ msgstr "Додати" msgid "Add a content warning" msgstr "Додати Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚" -#: src/view/screens/ProfileList.tsx:753 +#: src/view/screens/ProfileList.tsx:781 msgid "Add a user to this list" msgstr "Додати кориÑтувача до ÑпиÑку" -#: src/view/screens/Settings.tsx:355 -#: src/view/screens/Settings.tsx:364 +#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:392 msgid "Add account" msgstr "Додати обліковий запиÑ" @@ -127,6 +194,12 @@ msgstr "Додати обліковий запиÑ" msgid "Add alt text" msgstr "Додати альтернативний текÑÑ‚" +#: src/view/screens/AppPasswords.tsx:102 +#: src/view/screens/AppPasswords.tsx:143 +#: src/view/screens/AppPasswords.tsx:156 +msgid "Add App Password" +msgstr "" + #: src/view/com/modals/report/InputIssueDetails.tsx:41 #: src/view/com/modals/report/Modal.tsx:191 msgid "Add details" @@ -136,32 +209,41 @@ msgstr "Додайте подробиці" msgid "Add details to report" msgstr "Додайте подробиці до Ñкарги" -#: src/view/com/composer/Composer.tsx:447 +#: src/view/com/composer/Composer.tsx:446 msgid "Add link card" msgstr "Додати попередній переглÑд" -#: src/view/com/composer/Composer.tsx:450 +#: src/view/com/composer/Composer.tsx:451 msgid "Add link card:" msgstr "Додати попередній переглÑд:" -#: src/view/com/modals/ChangeHandle.tsx:415 +#: src/view/com/modals/ChangeHandle.tsx:417 msgid "Add the following DNS record to your domain:" msgstr "Додайте наÑтупний DNS-Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ вашого домену:" -#: src/view/com/profile/ProfileHeader.tsx:353 +#: src/view/com/profile/ProfileHeader.tsx:357 msgid "Add to Lists" msgstr "Додати до ÑпиÑку" -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 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:128 msgid "Added to list" msgstr "Додано до ÑпиÑку" -#: src/view/screens/PreferencesHomeFeed.tsx:170 +#: src/view/com/feeds/FeedSourceCard.tsx:125 +msgid "Added to my feeds" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:173 msgid "Adjust the number of likes a reply must have to be shown in your feed." msgstr "Ðалаштуйте мінімальну кількіÑть вподобань Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ щоб відповідь відобразилаÑÑ Ñƒ вашій Ñтрічці." @@ -169,10 +251,18 @@ msgstr "Ðалаштуйте мінімальну кількіÑть вподоРmsgid "Adult Content" msgstr "ВміÑÑ‚ Ð´Ð»Ñ Ð´Ð¾Ñ€Ð¾Ñлих" -#: src/view/screens/Settings.tsx:602 +#: src/view/com/modals/ContentFilteringSettings.tsx:137 +msgid "Adult content can only be enabled via the Web at <0/>." +msgstr "" + +#: src/view/screens/Settings.tsx:630 msgid "Advanced" msgstr "Розширені" +#: src/view/com/auth/login/ChooseAccountForm.tsx:98 +msgid "Already signed in as @{0}" +msgstr "" + #: src/view/com/composer/photos/Gallery.tsx:130 msgid "ALT" msgstr "ALT" @@ -185,7 +275,7 @@ msgstr "Ðльтернативний текÑÑ‚" msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone." msgstr "Ðльтернативний текÑÑ‚ опиÑує Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð½ÐµÐ·Ñ€Ñчих та кориÑтувачів із вадами зору, та надає додатковий контекÑÑ‚ Ð´Ð»Ñ Ð²ÑÑ–Ñ…." -#: src/view/com/modals/VerifyEmail.tsx:118 +#: 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}. Він міÑтить код підтвердженнÑ, Ñкий можна ввеÑти нижче." @@ -193,7 +283,12 @@ msgstr "Було надіÑлано лиÑÑ‚ на адреÑу {0}. Він Ð¼Ñ–Ñ msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below." msgstr "Було надіÑлано лиÑÑ‚ на вашу попередню адреÑу, {0}. Він міÑтить код підтвердженнÑ, Ñкий ви можете ввеÑти нижче." -#: src/view/com/notifications/FeedItem.tsx:237 +#: src/view/com/profile/FollowButton.tsx:30 +#: src/view/com/profile/FollowButton.tsx:40 +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 "та" @@ -202,15 +297,32 @@ msgstr "та" msgid "App Language" msgstr "Мова заÑтоÑунку" -#: src/view/screens/Settings.tsx:622 +#: src/view/screens/AppPasswords.tsx:228 +msgid "App password deleted" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:133 +msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:98 +msgid "App Password names must be at least 4 characters long." +msgstr "" + +#: src/view/screens/Settings.tsx:641 +msgid "App password settings" +msgstr "" + +#: src/view/screens/Settings.tsx:650 msgid "App passwords" msgstr "Паролі Ð´Ð»Ñ Ð·Ð°ÑтоÑунків" -#: src/view/screens/AppPasswords.tsx:186 +#: src/Navigation.tsx:239 +#: src/view/screens/AppPasswords.tsx:187 msgid "App Passwords" msgstr "Паролі Ð´Ð»Ñ Ð·Ð°ÑтоÑунків" -#: src/view/com/util/forms/PostDropdownBtn.tsx:236 +#: src/view/com/util/forms/PostDropdownBtn.tsx:248 msgid "Appeal content warning" msgstr "ОÑкаржити Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚" @@ -230,7 +342,7 @@ msgstr "ОÑкаржити це рішеннÑ" msgid "Appeal this decision." msgstr "ОÑкаржити це рішеннÑ" -#: src/view/screens/Settings.tsx:432 +#: src/view/screens/Settings.tsx:460 msgid "Appearance" msgstr "ОформленнÑ" @@ -238,7 +350,7 @@ msgstr "ОформленнÑ" #~ msgid "Apps that respect this setting, including the official Bluesky app and bsky.app website, won't show your content to logged out users." #~ msgstr "" -#: src/view/screens/AppPasswords.tsx:223 +#: src/view/screens/AppPasswords.tsx:224 msgid "Are you sure you want to delete the app password \"{name}\"?" msgstr "Ви дійÑно хочете видалити пароль Ð´Ð»Ñ Ð·Ð°ÑтоÑунку \"{name}\"?" @@ -246,14 +358,18 @@ msgstr "Ви дійÑно хочете видалити пароль Ð´Ð»Ñ Ð·Ð° msgid "Are you sure you'd like to discard this draft?" msgstr "Ви дійÑно бажаєте видалити цю чернетку?" -#: src/view/screens/ProfileList.tsx:353 +#: src/view/screens/ProfileList.tsx:364 msgid "Are you sure?" msgstr "Ви впевнені?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:219 +#: src/view/com/util/forms/PostDropdownBtn.tsx:231 msgid "Are you sure? This cannot be undone." msgstr "Ви впевнені? Це не можна буде ÑкаÑувати." +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:65 +msgid "Are you writing in <0>{0}</0>?" +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:123 msgid "Artistic or non-erotic nudity." msgstr "Ð¥ÑƒÐ´Ð¾Ð¶Ð½Ñ Ð°Ð±Ð¾ нееротична оголеніÑть." @@ -264,18 +380,24 @@ msgstr "Ð¥ÑƒÐ´Ð¾Ð¶Ð½Ñ Ð°Ð±Ð¾ нееротична оголеніÑть." #: src/view/com/auth/create/CreateAccount.tsx:141 #: src/view/com/auth/login/ChooseAccountForm.tsx:151 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:166 -#: src/view/com/auth/login/LoginForm.tsx:254 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:148 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:170 +#: src/view/com/auth/login/LoginForm.tsx:256 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:150 #: src/view/com/modals/report/InputIssueDetails.tsx:46 -#: src/view/com/post-thread/PostThread.tsx:388 -#: src/view/com/post-thread/PostThread.tsx:438 -#: src/view/com/post-thread/PostThread.tsx:446 -#: src/view/com/profile/ProfileHeader.tsx:672 +#: src/view/com/post-thread/PostThread.tsx:392 +#: src/view/com/post-thread/PostThread.tsx:442 +#: src/view/com/post-thread/PostThread.tsx:450 +#: src/view/com/profile/ProfileHeader.tsx:688 +#: src/view/com/util/ViewHeader.tsx:81 msgid "Back" msgstr "Ðазад" -#: src/view/screens/Settings.tsx:461 +#: src/view/com/post-thread/PostThread.tsx:400 +msgctxt "action" +msgid "Back" +msgstr "" + +#: src/view/screens/Settings.tsx:489 msgid "Basics" msgstr "ОÑновні" @@ -284,36 +406,46 @@ msgstr "ОÑновні" msgid "Birthday" msgstr "Дата народженнÑ" -#: src/view/screens/Settings.tsx:312 +#: src/view/screens/Settings.tsx:340 msgid "Birthday:" msgstr "Дата народженнÑ:" -#: src/view/com/profile/ProfileHeader.tsx:282 -#: src/view/com/profile/ProfileHeader.tsx:389 +#: src/view/com/profile/ProfileHeader.tsx:286 +#: src/view/com/profile/ProfileHeader.tsx:393 msgid "Block Account" msgstr "Заблокувати" -#: src/view/screens/ProfileList.tsx:523 +#: src/view/screens/ProfileList.tsx:534 msgid "Block accounts" msgstr "Заблокувати облікові запиÑи" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/screens/ProfileList.tsx:484 msgid "Block list" msgstr "Заблокувати ÑпиÑок" -#: src/view/screens/ProfileList.tsx:308 +#: src/view/screens/ProfileList.tsx:315 msgid "Block these accounts?" msgstr "Заблокувати ці облікові запиÑи?" +#: src/view/screens/ProfileList.tsx:319 +msgid "Block this List" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:109 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:57 +msgid "Blocked" +msgstr "" + #: src/view/screens/Moderation.tsx:123 msgid "Blocked accounts" msgstr "Заблоковані облікові запиÑи" +#: src/Navigation.tsx:131 #: src/view/screens/ModerationBlockedAccounts.tsx:107 msgid "Blocked Accounts" msgstr "Заблоковані облікові запиÑи" -#: src/view/com/profile/ProfileHeader.tsx:284 +#: src/view/com/profile/ProfileHeader.tsx:288 msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you." msgstr "Заблоковані облікові запиÑи не можуть вам відповідати, згадувати Ð²Ð°Ñ Ñƒ Ñвоїх поÑтах, Ñ– взаємодіÑти з вами будь-Ñким іншим чином." @@ -321,11 +453,11 @@ msgstr "Заблоковані облікові запиÑи не можуть Ð 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:250 +#: src/view/com/post-thread/PostThread.tsx:254 msgid "Blocked post." msgstr "Заблокований поÑÑ‚." -#: src/view/screens/ProfileList.tsx:310 +#: 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 "Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ - це відкрита інформаціÑ. Заблоковані кориÑтувачі не можуть відповіÑти у ваших темах, згадувати Ð²Ð°Ñ Ð°Ð±Ð¾ іншим чином взаємодіÑти з вами." @@ -337,14 +469,17 @@ msgstr "Блог" 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 гнучкий." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:69 msgid "Bluesky is open." msgstr "Bluesky відкритий." +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56 #: src/view/com/auth/onboarding/WelcomeMobile.tsx:56 msgid "Bluesky is public." msgstr "Bluesky публічний." @@ -361,7 +496,7 @@ msgstr "Bluesky не буде показувати ваш профіль Ñ– по msgid "Bluesky.Social" msgstr "Bluesky.Social" -#: src/view/screens/Settings.tsx:751 +#: src/view/screens/Settings.tsx:792 msgid "Build version {0} {1}" msgstr "ВерÑÑ–Ñ {0} {1}" @@ -369,37 +504,65 @@ msgstr "ВерÑÑ–Ñ {0} {1}" 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 "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:161 +msgid "by <0/>" +msgstr "" + +#: src/view/com/profile/ProfileSubpageHeader.tsx:159 +msgid "by you" +msgstr "" + #: 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 "Камера" -#: src/view/com/modals/AddAppPasswords.tsx:214 +#: src/view/com/modals/AddAppPasswords.tsx:218 msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long." msgstr "Може міÑтити лише літери, цифри, пробіли, дефіÑи та знаки підкреÑленнÑ, Ñ– мати довжину від 4 до 32 Ñимволів." -#: src/view/com/composer/Composer.tsx:294 -#: src/view/com/composer/Composer.tsx:297 +#: 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/Confirm.tsx:88 -#: src/view/com/modals/CreateOrEditList.tsx:267 -#: src/view/com/modals/CreateOrEditList.tsx:272 -#: src/view/com/modals/DeleteAccount.tsx:150 -#: src/view/com/modals/DeleteAccount.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:288 #: src/view/com/modals/EditImage.tsx:323 -#: src/view/com/modals/EditProfile.tsx:248 -#: src/view/com/modals/LinkWarning.tsx:85 -#: src/view/com/modals/Repost.tsx:73 -#: src/view/com/modals/Waitlist.tsx:136 -#: src/view/screens/Search/Search.tsx:601 -#: src/view/shell/desktop/Search.tsx:182 +#: 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:602 +#: src/view/shell/desktop/Search.tsx:185 msgid "Cancel" msgstr "СкаÑувати" -#: src/view/com/modals/DeleteAccount.tsx:146 -#: src/view/com/modals/DeleteAccount.tsx:219 +#: src/view/com/modals/Confirm.tsx:88 +#: src/view/com/modals/Confirm.tsx:91 +#: src/view/com/modals/CreateOrEditList.tsx:293 +#: src/view/com/modals/DeleteAccount.tsx:152 +#: src/view/com/modals/DeleteAccount.tsx:230 +msgctxt "action" +msgid "Cancel" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:148 +#: src/view/com/modals/DeleteAccount.tsx:226 msgid "Cancel account deletion" msgstr "СкаÑувати Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу" @@ -415,29 +578,34 @@ msgstr "СкаÑувати зміну пÑевдоніму" msgid "Cancel image crop" msgstr "СкаÑувати Ð¾Ð±Ñ€Ñ–Ð·Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ" -#: src/view/com/modals/EditProfile.tsx:243 +#: src/view/com/modals/EditProfile.tsx:244 msgid "Cancel profile editing" msgstr "СкаÑувати Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ„Ñ–Ð»ÑŽ" -#: src/view/com/modals/Repost.tsx:64 +#: 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:178 +#: src/view/shell/desktop/Search.tsx:181 msgid "Cancel search" msgstr "СкаÑувати пошук" -#: src/view/com/modals/Waitlist.tsx:132 +#: src/view/com/modals/Waitlist.tsx:136 msgid "Cancel waitlist signup" msgstr "СкаÑувати Ð·Ð°Ð¿Ð¸Ñ Ñƒ чергу очікуваннÑ" -#: src/view/screens/Settings.tsx:306 +#: src/view/screens/Settings.tsx:334 +msgctxt "action" msgid "Change" -msgstr "Змінити" +msgstr "" -#: src/view/screens/Settings.tsx:634 -#: src/view/screens/Settings.tsx:643 +#: src/view/screens/Settings.tsx:306 +#~ msgid "Change" +#~ msgstr "Змінити" + +#: src/view/screens/Settings.tsx:662 +#: src/view/screens/Settings.tsx:671 msgid "Change handle" msgstr "Змінити пÑевдонім" @@ -445,10 +613,14 @@ msgstr "Змінити пÑевдонім" msgid "Change Handle" msgstr "Змінити пÑевдонім" -#: src/view/com/modals/VerifyEmail.tsx:141 +#: src/view/com/modals/VerifyEmail.tsx:147 msgid "Change my email" msgstr "Змінити адреÑу електронної пошти" +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:78 +msgid "Change post language to {0}" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:109 msgid "Change Your Email" msgstr "Змінити адреÑу електронної пошти" @@ -461,7 +633,7 @@ msgstr "ПодивітьÑÑ Ð½Ð° деÑкі з рекомендованих ÑÑ msgid "Check out some recommended users. Follow them to see similar users." msgstr "ПодивітьÑÑ Ð½Ð° деÑких рекомендованих кориÑтувачів. ПідпишітьÑÑ Ð½Ð° них щоб бачити Ñхожих кориÑтувачів." -#: src/view/com/modals/DeleteAccount.tsx:163 +#: src/view/com/modals/DeleteAccount.tsx:165 msgid "Check your inbox for an email with the confirmation code to enter below:" msgstr "Пошукайте у вашій поштовій Ñкриньці лиÑÑ‚ із кодом, щоб ввеÑти нижче:" @@ -469,10 +641,15 @@ msgstr "Пошукайте у вашій поштовій Ñкриньці Ð»Ð¸Ñ msgid "Choose \"Everybody\" or \"Nobody\"" msgstr "Виберіть \"УÑÑ–\" або \"Ðіхто\"" +#: src/view/screens/Settings.tsx:663 +msgid "Choose a new Bluesky username or create" +msgstr "" + #: src/view/com/modals/ServerInput.tsx:38 msgid "Choose Service" msgstr "Оберіть хоÑтинг-провайдера" +#: 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 "Ðвтори Ñтрічок можуть обирати будь-Ñкі алгоритми Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼ÑƒÐ²Ð°Ð½Ð½Ñ Ñтрічки Ñаме Ð´Ð»Ñ Ð²Ð°Ñ." @@ -485,27 +662,33 @@ msgstr "Ðвтори Ñтрічок можуть обирати будь-Ñкі msgid "Choose your password" msgstr "Вкажіть пароль" -#: src/view/screens/Settings.tsx:727 +#: src/view/screens/Settings.tsx:767 +#: src/view/screens/Settings.tsx:768 msgid "Clear all legacy storage data" msgstr "" -#: src/view/screens/Settings.tsx:729 +#: src/view/screens/Settings.tsx:770 msgid "Clear all legacy storage data (restart after this)" msgstr "" -#: src/view/screens/Settings.tsx:739 +#: src/view/screens/Settings.tsx:779 +#: src/view/screens/Settings.tsx:780 msgid "Clear all storage data" msgstr "" -#: src/view/screens/Settings.tsx:741 +#: src/view/screens/Settings.tsx:782 msgid "Clear all storage data (restart after this)" msgstr "" #: src/view/com/util/forms/SearchInput.tsx:74 -#: src/view/screens/Search/Search.tsx:582 +#: src/view/screens/Search/Search.tsx:583 msgid "Clear search query" msgstr "ОчиÑтити пошуковий запит" +#: src/view/screens/Support.tsx:40 +msgid "click here" +msgstr "" + #: src/view/com/auth/login/PasswordUpdatedForm.tsx:38 msgid "Close alert" msgstr "Закрити ÑповіщеннÑ" @@ -526,23 +709,54 @@ msgstr "Закрити переглÑд зображеннÑ" msgid "Close navigation footer" msgstr "Закрити панель навігації" +#: src/view/shell/index.web.tsx:50 +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:302 +msgid "Closes post composer and discards post draft" +msgstr "" + +#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27 +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/Navigation.tsx:229 #: src/view/screens/CommunityGuidelines.tsx:32 msgid "Community Guidelines" msgstr "Правила Ñпільноти" +#: src/view/com/composer/Composer.tsx:417 +msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length" +msgstr "" + #: src/view/com/composer/Prompt.tsx:24 msgid "Compose reply" msgstr "ВідповіÑти" #: src/view/com/modals/AppealLabel.tsx:98 -#: src/view/com/modals/Confirm.tsx:75 #: src/view/com/modals/SelfLabel.tsx:154 -#: src/view/com/modals/VerifyEmail.tsx:225 -#: src/view/screens/PreferencesHomeFeed.tsx:305 +#: 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 "Підтвердити" +#: 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" @@ -552,18 +766,26 @@ msgstr "Підтвердити" msgid "Confirm content language settings" msgstr "Підтвердити перелік мов" -#: src/view/com/modals/DeleteAccount.tsx:209 +#: src/view/com/modals/DeleteAccount.tsx:216 msgid "Confirm delete account" msgstr "Підтвердити Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу" +#: src/view/com/modals/ContentFilteringSettings.tsx:151 +msgid "Confirm your age to enable adult content." +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:157 -#: src/view/com/modals/DeleteAccount.tsx:176 -#: src/view/com/modals/VerifyEmail.tsx:159 +#: src/view/com/modals/DeleteAccount.tsx:178 +#: 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 "" + #: src/view/com/auth/create/CreateAccount.tsx:174 -#: src/view/com/auth/login/LoginForm.tsx:273 +#: src/view/com/auth/login/LoginForm.tsx:275 msgid "Connecting..." msgstr "З’єднаннÑ..." @@ -580,6 +802,11 @@ msgstr "Ð¤Ñ–Ð»ÑŒÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¼Ñ–Ñту" msgid "Content Languages" msgstr "Мови" +#: src/view/com/modals/ModerationDetails.tsx:65 +msgid "Content Not Available" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:33 #: src/view/com/util/moderation/ScreenHider.tsx:78 msgid "Content Warning" msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚" @@ -593,31 +820,46 @@ msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ вміÑÑ‚" msgid "Continue" msgstr "Продовжити" -#: src/view/com/modals/AddAppPasswords.tsx:193 -#: src/view/com/modals/InviteCodes.tsx:179 +#: src/view/com/modals/AddAppPasswords.tsx:197 +#: src/view/com/modals/InviteCodes.tsx:182 msgid "Copied" msgstr "Скопійовано" -#: src/view/com/modals/AddAppPasswords.tsx:186 +#: src/view/screens/Settings.tsx:243 +msgid "Copied build version to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:75 +#: src/view/com/modals/InviteCodes.tsx:152 +#: src/view/com/util/forms/PostDropdownBtn.tsx:110 +msgid "Copied to clipboard" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:191 +msgid "Copies app password" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:190 msgid "Copy" msgstr "Скопіювати" -#: src/view/screens/ProfileList.tsx:385 +#: src/view/screens/ProfileList.tsx:396 msgid "Copy link to list" msgstr "Скопіювати поÑиланнÑ" -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 msgid "Copy link to post" msgstr "Скопіювати поÑиланнÑ" -#: src/view/com/profile/ProfileHeader.tsx:338 +#: src/view/com/profile/ProfileHeader.tsx:342 msgid "Copy link to profile" msgstr "Скопіювати поÑиланнÑ" -#: src/view/com/util/forms/PostDropdownBtn.tsx:125 +#: src/view/com/util/forms/PostDropdownBtn.tsx:137 msgid "Copy post text" msgstr "Скопіювати текÑÑ‚" +#: src/Navigation.tsx:234 #: src/view/screens/CopyrightPolicy.tsx:29 msgid "Copyright Policy" msgstr "Політика захиÑту авторÑького права" @@ -626,29 +868,50 @@ msgstr "Політика захиÑту авторÑького права" msgid "Could not load feed" msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñтрічку" -#: src/view/screens/ProfileList.tsx:839 +#: src/view/screens/ProfileList.tsx:867 msgid "Could not load list" msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ ÑпиÑок" #: 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 "Створити новий обліковий запиÑ" +#: src/view/screens/Settings.tsx:384 +msgid "Create a new Bluesky account" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:121 msgid "Create Account" msgstr "Створити обліковий запиÑ" +#: src/view/com/modals/AddAppPasswords.tsx:228 +msgid "Create App Password" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:54 #: src/view/com/auth/SplashScreen.tsx:43 msgid "Create new account" msgstr "Створити новий обліковий запиÑ" -#: src/view/screens/AppPasswords.tsx:248 +#: src/view/screens/AppPasswords.tsx:249 msgid "Created {0}" msgstr "Створено: {0}" -#: src/view/com/modals/ChangeHandle.tsx:387 +#: src/view/screens/ProfileFeed.tsx:625 +msgid "Created by <0/>" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:623 +msgid "Created by you" +msgstr "" + +#: src/view/com/composer/Composer.tsx:448 +msgid "Creates a card with a thumbnail. The card links to {url}" +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:389 #: src/view/com/modals/ServerInput.tsx:102 msgid "Custom domain" msgstr "ВлаÑний домен" @@ -657,15 +920,27 @@ msgstr "ВлаÑний домен" msgid "Customize media from external sites." msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼ÐµÐ´Ñ–Ð° зі Ñторонніх вебÑайтів." -#: src/view/screens/Settings.tsx:648 +#: src/view/screens/Settings.tsx:687 msgid "Danger Zone" msgstr "Ðебезпечна зона" -#: src/view/screens/Settings.tsx:411 -#~ msgid "Dark" -#~ msgstr "" +#: src/view/screens/Settings.tsx:479 +msgid "Dark" +msgstr "" + +#: src/view/screens/Debug.tsx:63 +msgid "Dark mode" +msgstr "" + +#: src/Navigation.tsx:204 +msgid "Debug" +msgstr "" -#: src/view/screens/Settings.tsx:655 +#: src/view/screens/Debug.tsx:83 +msgid "Debug panel" +msgstr "" + +#: src/view/screens/Settings.tsx:694 msgid "Delete account" msgstr "Видалити обліковий запиÑ" @@ -673,40 +948,44 @@ msgstr "Видалити обліковий запиÑ" msgid "Delete Account" msgstr "Видалити обліковий запиÑ" -#: src/view/screens/AppPasswords.tsx:221 -#: src/view/screens/AppPasswords.tsx:241 +#: src/view/screens/AppPasswords.tsx:222 +#: src/view/screens/AppPasswords.tsx:242 msgid "Delete app password" msgstr "Видалити пароль Ð´Ð»Ñ Ð·Ð°ÑтоÑунку" -#: src/view/screens/ProfileList.tsx:352 -#: src/view/screens/ProfileList.tsx:412 +#: src/view/screens/ProfileList.tsx:363 +#: src/view/screens/ProfileList.tsx:423 msgid "Delete List" msgstr "Видалити ÑпиÑок" -#: src/view/com/modals/DeleteAccount.tsx:212 +#: src/view/com/modals/DeleteAccount.tsx:219 msgid "Delete my account" msgstr "Видалити мій обліковий запиÑ" -#: src/view/screens/Settings.tsx:665 +#: src/view/screens/Settings.tsx:706 msgid "Delete my account…" msgstr "Видалити мій обліковий запиÑ…" -#: src/view/com/util/forms/PostDropdownBtn.tsx:214 +#: src/view/com/util/forms/PostDropdownBtn.tsx:226 msgid "Delete post" msgstr "Видалити поÑÑ‚" -#: src/view/com/util/forms/PostDropdownBtn.tsx:218 +#: src/view/com/util/forms/PostDropdownBtn.tsx:230 msgid "Delete this post?" msgstr "Видалити цей поÑÑ‚?" -#: src/view/com/post-thread/PostThread.tsx:242 +#: src/view/com/util/post-embeds/QuoteEmbed.tsx:66 +msgid "Deleted" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:246 msgid "Deleted post." msgstr "Видалений поÑÑ‚." -#: src/view/com/modals/CreateOrEditList.tsx:218 -#: src/view/com/modals/CreateOrEditList.tsx:234 -#: src/view/com/modals/EditProfile.tsx:197 -#: src/view/com/modals/EditProfile.tsx:209 +#: src/view/com/modals/CreateOrEditList.tsx:239 +#: src/view/com/modals/CreateOrEditList.tsx:255 +#: src/view/com/modals/EditProfile.tsx:198 +#: src/view/com/modals/EditProfile.tsx:210 msgid "Description" msgstr "ОпиÑ" @@ -714,7 +993,7 @@ msgstr "ОпиÑ" msgid "Dev Server" msgstr "" -#: src/view/screens/Settings.tsx:670 +#: src/view/screens/Settings.tsx:711 msgid "Developer Tools" msgstr "ІнÑтрументи розробника" @@ -734,35 +1013,53 @@ msgstr "Відкинути чернетку" msgid "Discourage apps from showing my account to logged-out users" msgstr "ПопроÑити заÑтоÑунки не показувати мій обліковий Ð·Ð°Ð¿Ð¸Ñ Ð±ÐµÐ· входу" -#: src/view/screens/Feeds.tsx:405 +#: 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:409 msgid "Discover new feeds" msgstr "Відкрийте Ð´Ð»Ñ Ñебе нові Ñтрічки" -#: src/view/com/modals/EditProfile.tsx:191 +#: src/view/com/modals/EditProfile.tsx:192 msgid "Display name" msgstr "Ім'Ñ" -#: src/view/com/modals/EditProfile.tsx:179 +#: src/view/com/modals/EditProfile.tsx:180 msgid "Display Name" msgstr "Ім'Ñ" -#: src/view/com/modals/ChangeHandle.tsx:485 +#: src/view/com/modals/ChangeHandle.tsx:487 msgid "Domain verified!" msgstr "Домен перевірено!" +#: src/view/com/auth/create/Step2.tsx:83 +msgid "Don't have an invite code?" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:86 -#: src/view/com/modals/AltImage.tsx:115 -#: 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/EditImage.tsx:333 -#: src/view/com/modals/ListAddRemoveUsers.tsx:142 +#: 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:79 -#: src/view/screens/PreferencesHomeFeed.tsx:308 +#: src/view/com/modals/UserAddRemoveLists.tsx:82 #: src/view/screens/PreferencesThreads.tsx:162 +msgctxt "action" +msgid "Done" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:228 +#: src/view/com/modals/AltImage.tsx:115 +#: 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 "Готово" @@ -770,56 +1067,116 @@ msgstr "Готово" msgid "Done{extraText}" msgstr "Готово{extraText}" -#: src/view/com/modals/InviteCodes.tsx:94 +#: src/view/com/auth/login/ChooseAccountForm.tsx:45 +msgid "Double tap to sign in" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:185 +msgid "e.g. Alice Roberts" +msgstr "" + +#: src/view/com/modals/EditProfile.tsx:203 +msgid "e.g. Artist, dog-lover, and avid reader." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:225 +msgid "e.g. Great Posters" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:226 +msgid "e.g. Spammers" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:246 +msgid "e.g. The posters who never miss." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:247 +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/composer/photos/Gallery.tsx:144 #: src/view/com/modals/EditImage.tsx:207 msgid "Edit image" msgstr "Редагувати зображеннÑ" -#: src/view/screens/ProfileList.tsx:400 +#: src/view/screens/ProfileList.tsx:411 msgid "Edit list details" msgstr "Редагувати Ð¾Ð¿Ð¸Ñ ÑпиÑку" -#: src/view/screens/Feeds.tsx:367 +#: src/view/com/modals/CreateOrEditList.tsx:193 +msgid "Edit Moderation List" +msgstr "" + +#: src/Navigation.tsx:244 +#: src/view/screens/Feeds.tsx:371 #: src/view/screens/SavedFeeds.tsx:84 msgid "Edit My Feeds" msgstr "Редагувати мої Ñтрічки" -#: src/view/com/modals/EditProfile.tsx:151 +#: src/view/com/modals/EditProfile.tsx:152 msgid "Edit my profile" msgstr "Редагувати мій профіль" -#: src/view/com/profile/ProfileHeader.tsx:453 +#: src/view/com/profile/ProfileHeader.tsx:457 msgid "Edit profile" msgstr "Редагувати профіль" -#: src/view/com/profile/ProfileHeader.tsx:456 +#: src/view/com/profile/ProfileHeader.tsx:462 msgid "Edit Profile" msgstr "Редагувати профіль" -#: src/view/screens/Feeds.tsx:330 +#: src/view/screens/Feeds.tsx:334 msgid "Edit Saved Feeds" msgstr "Редагувати збережені Ñтрічки" +#: src/view/com/modals/CreateOrEditList.tsx:188 +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/view/com/auth/create/Step2.tsx:108 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:148 +#: 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 "Ел. адреÑа" #: src/view/com/auth/create/Step2.tsx:99 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:143 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/screens/Settings.tsx:290 +#: src/view/com/modals/VerifyEmail.tsx:78 +msgid "Email verified" +msgstr "" + +#: src/view/screens/Settings.tsx:312 msgid "Email:" msgstr "Ел. адреÑа:" @@ -827,34 +1184,63 @@ msgstr "Ел. адреÑа:" msgid "Enable {0} only" msgstr "Увімкнути лише {0}" +#: src/view/com/modals/ContentFilteringSettings.tsx:162 +msgid "Enable Adult Content" +msgstr "" + #: src/view/com/modals/EmbedConsent.tsx:97 msgid "Enable External Media" msgstr "Увімкнути зовнішні медіа" -#: src/view/screens/PreferencesHomeFeed.tsx:144 +#: src/view/screens/PreferencesExternalEmbeds.tsx:75 +msgid "Enable media players for" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:147 msgid "Enable this setting to only see replies between people you follow." msgstr "Увімкніть цей параметр, щоб бачити відповіді тільки між людьми, на Ñких ви підпиÑані." -#: src/view/screens/Profile.tsx:426 +#: src/view/screens/Profile.tsx:427 msgid "End of feed" msgstr "Кінець Ñтрічки" +#: src/view/com/modals/AddAppPasswords.tsx:165 +msgid "Enter a name for this App Password" +msgstr "" + +#: src/view/com/modals/VerifyEmail.tsx:105 +msgid "Enter Confirmation Code" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:71 msgid "Enter the address of your provider:" msgstr "Введіть адреÑу вашого хоÑтинг-провайдера:" -#: src/view/com/modals/ChangeHandle.tsx:369 +#: src/view/com/modals/ChangeHandle.tsx:371 msgid "Enter the domain you want to use" msgstr "Введіть домен, Ñкий ви хочете викориÑтовувати" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:101 +#: 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 "Введіть адреÑу електронної пошти, Ñку ви викориÑтовували Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу. Ми надішлемо вам код підтвердженнÑ, щоб ви могли вÑтановити новий пароль." +#: src/view/com/auth/create/Step2.tsx:157 +#: src/view/com/modals/BirthDateSettings.tsx:74 +msgid "Enter your birth date" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:78 +msgid "Enter your email" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:104 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 "Введіть нову адреÑу електронної пошти." @@ -871,10 +1257,32 @@ msgstr "Помилка:" msgid "Everybody" msgstr "УÑÑ–" +#: src/view/com/modals/ChangeHandle.tsx:150 +msgid "Exits handle change process" +msgstr "" + +#: src/view/com/lightbox/Lightbox.web.tsx:113 +msgid "Exits image view" +msgstr "" + +#: src/view/com/modals/ListAddRemoveUsers.tsx:88 +#: src/view/shell/desktop/Search.tsx:182 +msgid "Exits inputting search query" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:138 +msgid "Exits signing up for waitlist with {email}" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:156 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/view/com/modals/EmbedConsent.tsx:64 msgid "External Media" msgstr "Зовнішні медіа" @@ -884,17 +1292,43 @@ msgstr "Зовнішні медіа" 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:260 #: src/view/screens/PreferencesExternalEmbeds.tsx:52 -#: src/view/screens/Settings.tsx:595 +#: src/view/screens/Settings.tsx:623 msgid "External Media Preferences" msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… медіа" +#: src/view/screens/Settings.tsx:614 +msgid "External media settings" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:114 +#: src/view/com/modals/AddAppPasswords.tsx:118 +msgid "Failed to create app password." +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:148 +msgid "Failed to create the list. Check your internet connection and try again." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:86 +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/screens/Feeds.tsx:556 +#: src/Navigation.tsx:194 +msgid "Feed" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:229 +msgid "Feed by {0}" +msgstr "" + +#: src/view/screens/Feeds.tsx:560 msgid "Feed offline" msgstr "Стрічка не працює" @@ -907,12 +1341,13 @@ msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñтрічки" msgid "Feedback" msgstr "ÐадіÑлати відгук" -#: src/view/screens/Feeds.tsx:475 +#: src/Navigation.tsx:442 +#: src/view/screens/Feeds.tsx:479 #: src/view/screens/Profile.tsx:165 #: src/view/shell/bottom-bar/BottomBar.tsx:181 #: src/view/shell/desktop/LeftNav.tsx:342 -#: src/view/shell/Drawer.tsx:474 -#: src/view/shell/Drawer.tsx:475 +#: src/view/shell/Drawer.tsx:476 +#: src/view/shell/Drawer.tsx:477 msgid "Feeds" msgstr "Стрічки" @@ -924,6 +1359,12 @@ msgstr "Стрічки ÑтворюютьÑÑ ÐºÐ¾Ñ€Ð¸Ñтувачами Ð´Ð»Ñ msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information." msgstr "Стрічки - це алгоритми, Ñтворені кориÑтувачами з деÑким доÑвідом програмуваннÑ. <0/> Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ñ— інформації." +#: 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:427 msgid "Find users on Bluesky" msgstr "Знайти кориÑтувачів у Bluesky" @@ -936,7 +1377,7 @@ msgstr "Знайти кориÑтувачів за допомогою Ð¿Ð¾Ð»Ñ Ð msgid "Finding similar accounts..." msgstr "Пошук Ñхожих кориÑтувачів..." -#: src/view/screens/PreferencesHomeFeed.tsx:108 +#: src/view/screens/PreferencesHomeFeed.tsx:111 msgid "Fine-tune the content you see on your home screen." msgstr "Оберіть, що ви хочете бачити у Ñвоїй домашній Ñтрічці." @@ -944,10 +1385,28 @@ msgstr "Оберіть, що ви хочете бачити у Ñвоїй дом msgid "Fine-tune the discussion threads." msgstr "Ðалаштуйте Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½ÑŒ." -#: src/view/com/profile/ProfileHeader.tsx:538 +#: 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/view/com/profile/FollowButton.tsx:64 +msgctxt "action" +msgid "Follow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:552 msgid "Follow" msgstr "ПідпиÑатиÑÑ" +#: src/view/com/profile/ProfileHeader.tsx:543 +msgid "Follow {0}" +msgstr "" + #: src/view/com/auth/onboarding/RecommendedFollows.tsx:42 #~ msgid "Follow some" #~ msgstr "" @@ -956,44 +1415,60 @@ msgstr "ПідпиÑатиÑÑ" 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:194 +msgid "Followed by {0}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:98 msgid "Followed users" msgstr "Ваші підпиÑки" -#: src/view/screens/PreferencesHomeFeed.tsx:151 +#: src/view/screens/PreferencesHomeFeed.tsx:154 msgid "Followed users only" msgstr "Тільки ваші підпиÑки" +#: src/view/com/notifications/FeedItem.tsx:166 +msgid "followed you" +msgstr "" + #: src/view/screens/ProfileFollowers.tsx:25 msgid "Followers" msgstr "ПідпиÑники" #: src/view/com/profile/ProfileHeader.tsx:624 -msgid "following" -msgstr "підпиÑок" +#~ msgid "following" +#~ msgstr "підпиÑок" -#: src/view/com/profile/ProfileHeader.tsx:522 +#: src/view/com/profile/ProfileHeader.tsx:534 #: src/view/screens/ProfileFollows.tsx:25 msgid "Following" msgstr "ПідпиÑані" -#: src/view/com/profile/ProfileHeader.tsx:571 +#: src/view/com/profile/ProfileHeader.tsx:196 +msgid "Following {0}" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:585 msgid "Follows you" msgstr "ПідпиÑаний(-на) на ваÑ" +#: src/view/com/profile/ProfileCard.tsx:141 +msgid "Follows You" +msgstr "" + #: src/view/com/modals/DeleteAccount.tsx:107 msgid "For security reasons, we'll need to send a confirmation code to your email address." msgstr "З міркувань безпеки нам потрібно буде відправити код Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ð° вашу електронну адреÑу." -#: src/view/com/modals/AddAppPasswords.tsx:207 +#: src/view/com/modals/AddAppPasswords.tsx:211 msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one." msgstr "З міркувань безпеки цей пароль відображаєтьÑÑ Ð»Ð¸ÑˆÐµ один раз. Якщо ви втратите цей пароль, вам потрібно буде згенерувати новий." -#: src/view/com/auth/login/LoginForm.tsx:236 +#: src/view/com/auth/login/LoginForm.tsx:238 msgid "Forgot" msgstr "Забули пароль" -#: src/view/com/auth/login/LoginForm.tsx:233 +#: src/view/com/auth/login/LoginForm.tsx:235 msgid "Forgot password" msgstr "Забули пароль" @@ -1002,11 +1477,17 @@ msgstr "Забули пароль" msgid "Forgot Password" msgstr "Забули пароль" +#: src/view/com/posts/FeedItem.tsx:188 +msgctxt "from-feed" +msgid "From <0/>" +msgstr "" + #: src/view/com/composer/photos/SelectPhotoBtn.tsx:43 msgid "Gallery" msgstr "ГалереÑ" -#: src/view/com/modals/VerifyEmail.tsx:183 +#: src/view/com/modals/VerifyEmail.tsx:189 +#: src/view/com/modals/VerifyEmail.tsx:191 msgid "Get Started" msgstr "Почати" @@ -1019,14 +1500,14 @@ msgstr "Ðазад" #: src/view/screens/ProfileFeed.tsx:104 #: src/view/screens/ProfileFeed.tsx:109 -#: src/view/screens/ProfileList.tsx:848 -#: src/view/screens/ProfileList.tsx:853 +#: src/view/screens/ProfileList.tsx:876 +#: src/view/screens/ProfileList.tsx:881 msgid "Go Back" msgstr "Ðазад" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:181 -#: src/view/com/auth/login/LoginForm.tsx:283 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:163 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:185 +#: src/view/com/auth/login/LoginForm.tsx:285 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:165 msgid "Go to next" msgstr "Далі" @@ -1039,48 +1520,64 @@ msgstr "ПÑевдонім" msgid "Help" msgstr "Довідка" -#: src/view/com/modals/AddAppPasswords.tsx:148 +#: src/view/com/modals/AddAppPasswords.tsx:152 msgid "Here is your app password." msgstr "Це ваш пароль Ð´Ð»Ñ Ð·Ð°ÑтоÑунків." -#: src/view/com/notifications/FeedItem.tsx:324 -#: src/view/com/util/moderation/ContentHider.tsx:103 +#: src/view/com/modals/ContentFilteringSettings.tsx:219 +#: src/view/com/notifications/FeedItem.tsx:329 +msgctxt "action" +msgid "Hide" +msgstr "" + +#: 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 "Приховати" -#: src/view/com/util/forms/PostDropdownBtn.tsx:173 +#: src/view/com/util/forms/PostDropdownBtn.tsx:185 msgid "Hide post" msgstr "Приховати поÑÑ‚" -#: src/view/com/util/forms/PostDropdownBtn.tsx:177 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Hide the content" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:189 msgid "Hide this post?" msgstr "Приховати цей поÑÑ‚?" -#: src/view/com/notifications/FeedItem.tsx:316 +#: src/view/com/notifications/FeedItem.tsx:319 msgid "Hide user list" msgstr "Приховати ÑпиÑок кориÑтувачів" +#: src/view/com/profile/ProfileHeader.tsx:526 +msgid "Hides posts from {0} in your feed" +msgstr "" + #: src/view/com/posts/FeedErrorMessage.tsx:102 #~ msgid "Hmm, some kind of issue occured when contacting the feed server. Please let the feed owner know about this issue." #~ msgstr "" -#: src/view/com/posts/FeedErrorMessage.tsx:110 +#: 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:98 +#: 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:104 +#: 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:101 +#: 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:95 +#: src/view/com/posts/FeedErrorMessage.tsx:96 msgid "Hmm, we're having trouble finding this feed. It may have been deleted." msgstr "Хм, ми не можемо знайти цю Ñтрічку. Можливо вона була видалена." @@ -1088,6 +1585,7 @@ msgstr "Хм, ми не можемо знайти цю Ñтрічку. МожлР#~ msgid "Hmmm, we're having trouble finding this feed. It may have been deleted." #~ msgstr "" +#: 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 @@ -1095,13 +1593,14 @@ msgstr "Хм, ми не можемо знайти цю Ñтрічку. МожлРmsgid "Home" msgstr "Головна" -#: src/view/com/pager/FeedsTabBarMobile.tsx:96 -#: src/view/screens/PreferencesHomeFeed.tsx:101 -#: src/view/screens/Settings.tsx:481 +#: src/Navigation.tsx:249 +#: src/view/com/pager/FeedsTabBarMobile.tsx:98 +#: src/view/screens/PreferencesHomeFeed.tsx:104 +#: src/view/screens/Settings.tsx:509 msgid "Home Feed Preferences" msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÑŒÐ¾Ñ— Ñтрічки" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:114 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:116 msgid "Hosting provider" msgstr "ХоÑтинг-провайдер" @@ -1110,18 +1609,34 @@ msgstr "ХоÑтинг-провайдер" msgid "Hosting provider address" msgstr "ÐдреÑа хоÑтинг-провайдера" -#: src/view/com/modals/VerifyEmail.tsx:208 +#: 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/ChangeHandle.tsx:281 +#: 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:158 +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/util/images/Gallery.tsx:37 +msgid "Image" +msgstr "" + #: src/view/com/modals/AltImage.tsx:97 msgid "Image alt text" msgstr "Ðльтернативний текÑÑ‚" @@ -1136,19 +1651,76 @@ msgstr "Ð ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ" #~ msgid "In Your Network" #~ msgstr "" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:110 +msgid "Input code sent to your email for password reset" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:180 +msgid "Input confirmation code for account deletion" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:109 +msgid "Input email for Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:80 +msgid "Input hosting provider address" +msgstr "" + +#: src/view/com/auth/create/Step2.tsx:73 +msgid "Input invite code to proceed" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:182 +msgid "Input name for app password" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:133 +msgid "Input new password" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:199 +msgid "Input password for account deletion" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:227 +msgid "Input the password tied to {identifier}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:194 +msgid "Input the username or email address you used at signup" +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:90 +msgid "Input your email to get on the Bluesky waitlist" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:226 +msgid "Input your password" +msgstr "" + +#: src/view/com/auth/create/Step3.tsx:39 +msgid "Input your user handle" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:229 +msgid "Invalid or unsupported post record" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:115 msgid "Invalid username or password" msgstr "Ðевірне ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача або пароль" -#: src/view/screens/Settings.tsx:383 +#: src/view/screens/Settings.tsx:411 msgid "Invite" msgstr "ЗапроÑити" -#: src/view/com/modals/InviteCodes.tsx:91 -#: src/view/screens/Settings.tsx:371 +#: src/view/com/modals/InviteCodes.tsx:93 +#: src/view/screens/Settings.tsx:399 msgid "Invite a Friend" msgstr "ЗапроÑити друга" +#: src/view/com/auth/create/Step2.tsx:63 #: src/view/com/auth/create/Step2.tsx:72 msgid "Invite code" msgstr "Код запрошеннÑ" @@ -1157,10 +1729,18 @@ msgstr "Код запрошеннÑ" msgid "Invite code not accepted. Check that you input it correctly and try again." msgstr "Код Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð½Ðµ прийнÑто. ПереконайтеÑÑ Ð² його правильноÑті та повторіть Ñпробу." -#: src/view/shell/Drawer.tsx:640 +#: src/view/com/modals/InviteCodes.tsx:170 +msgid "Invite codes: {0} available" +msgstr "" + +#: src/view/shell/Drawer.tsx:642 msgid "Invite codes: {invitesAvailable} available" msgstr "Коди запрошеннÑ: {invitesAvailable}" +#: src/view/com/modals/InviteCodes.tsx:169 +msgid "Invite codes: 1 available" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:99 msgid "Jobs" msgstr "ВаканÑÑ–Ñ—" @@ -1174,7 +1754,7 @@ msgstr "ПриєднатиÑÑ Ð´Ð¾ черги очікуваннÑ" msgid "Join the waitlist." msgstr "ПриєднатиÑÑ Ð´Ð¾ черги очікуваннÑ." -#: src/view/com/modals/Waitlist.tsx:124 +#: src/view/com/modals/Waitlist.tsx:128 msgid "Join Waitlist" msgstr "ПриєднатиÑÑ Ð´Ð¾ черги очікуваннÑ" @@ -1182,15 +1762,24 @@ msgstr "ПриєднатиÑÑ Ð´Ð¾ черги очікуваннÑ" msgid "Language selection" msgstr "Вибір мови" +#: src/view/screens/Settings.tsx:560 +msgid "Language settings" +msgstr "" + +#: src/Navigation.tsx:141 #: src/view/screens/LanguageSettings.tsx:89 msgid "Language Settings" msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð²" -#: src/view/screens/Settings.tsx:541 +#: src/view/screens/Settings.tsx:569 msgid "Languages" msgstr "Мови" -#: src/view/com/util/moderation/ContentHider.tsx:101 +#: src/view/com/auth/create/StepHeader.tsx:13 +msgid "Last step!" +msgstr "" + +#: src/view/com/util/moderation/ContentHider.tsx:103 msgid "Learn more" msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ" @@ -1200,9 +1789,9 @@ msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ" msgid "Learn More" msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ" -#: src/view/com/util/moderation/ContentHider.tsx:83 +#: src/view/com/util/moderation/ContentHider.tsx:85 #: src/view/com/util/moderation/PostAlerts.tsx:40 -#: src/view/com/util/moderation/PostHider.tsx:76 +#: 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" @@ -1216,10 +1805,14 @@ msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про те, що Ñ” публічним msgid "Leave them all unchecked to see any language." msgstr "Залиште Ñ—Ñ… уÑÑ– невідміченими, щоб бачити поÑти незалежно від мови." -#: src/view/com/modals/LinkWarning.tsx:49 +#: src/view/com/modals/LinkWarning.tsx:51 msgid "Leaving Bluesky" msgstr "Ви залишаєте Bluesky" +#: src/view/screens/Settings.tsx:280 +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!" @@ -1230,23 +1823,48 @@ msgstr "Давайте відновимо ваш пароль!" msgid "Library" msgstr "ГалереÑ" -#: src/view/screens/Settings.tsx:405 -#~ msgid "Light" -#~ msgstr "" +#: src/view/screens/Settings.tsx:473 +msgid "Light" +msgstr "" + +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Like" +msgstr "" -#: src/view/screens/ProfileFeed.tsx:586 +#: src/view/screens/ProfileFeed.tsx:600 msgid "Like this feed" msgstr "Вподобати цю Ñтрічку" +#: src/Navigation.tsx:199 #: src/view/screens/PostLikedBy.tsx:27 #: src/view/screens/ProfileFeedLikedBy.tsx:27 msgid "Liked by" msgstr "СподобалоÑÑ" +#: src/view/com/feeds/FeedSourceCard.tsx:277 +msgid "Liked by {0} {1}" +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:615 +msgid "Liked by {likeCount} {0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:171 +msgid "liked your custom feed{0}" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:155 +msgid "liked your post" +msgstr "" + #: src/view/screens/Profile.tsx:164 msgid "Likes" msgstr "ВподобаннÑ" +#: src/view/com/post-thread/PostThreadItem.tsx:184 +msgid "Likes on this post" +msgstr "" + #: src/view/screens/Moderation.tsx:203 #~ msgid "Limit the visibility of my account" #~ msgstr "" @@ -1255,23 +1873,52 @@ msgstr "ВподобаннÑ" #~ msgid "Limit the visibility of my account to logged-out users" #~ msgstr "" -#: src/view/com/modals/CreateOrEditList.tsx:186 +#: src/Navigation.tsx:168 +msgid "List" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:205 msgid "List Avatar" msgstr "Ðватар ÑпиÑку" -#: src/view/com/modals/CreateOrEditList.tsx:199 +#: src/view/screens/ProfileList.tsx:323 +msgid "List blocked" +msgstr "" + +#: src/view/com/feeds/FeedSourceCard.tsx:231 +msgid "List by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:367 +msgid "List deleted" +msgstr "" + +#: src/view/screens/ProfileList.tsx:282 +msgid "List muted" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:218 msgid "List Name" msgstr "Ðазва ÑпиÑку" +#: src/view/screens/ProfileList.tsx:342 +msgid "List unblocked" +msgstr "" + +#: src/view/screens/ProfileList.tsx:301 +msgid "List unmuted" +msgstr "" + +#: src/Navigation.tsx:111 #: src/view/screens/Profile.tsx:166 #: src/view/shell/desktop/LeftNav.tsx:379 -#: src/view/shell/Drawer.tsx:490 -#: src/view/shell/Drawer.tsx:491 +#: src/view/shell/Drawer.tsx:492 +#: src/view/shell/Drawer.tsx:493 msgid "Lists" msgstr "СпиÑки" -#: src/view/com/post-thread/PostThread.tsx:259 -#: src/view/com/post-thread/PostThread.tsx:267 +#: src/view/com/post-thread/PostThread.tsx:263 +#: src/view/com/post-thread/PostThread.tsx:271 msgid "Load more posts" msgstr "Завантажити більше поÑтів" @@ -1279,7 +1926,10 @@ msgstr "Завантажити більше поÑтів" msgid "Load new notifications" msgstr "Завантажити нові ÑповіщеннÑ" -#: src/view/com/feeds/FeedPage.tsx:189 +#: src/view/com/feeds/FeedPage.tsx:190 +#: src/view/screens/Profile.tsx:412 +#: src/view/screens/ProfileFeed.tsx:503 +#: src/view/screens/ProfileList.tsx:659 msgid "Load new posts" msgstr "Завантажити нові поÑти" @@ -1291,6 +1941,10 @@ msgstr "ЗавантаженнÑ..." msgid "Local dev server" msgstr "Локальний Ñервер розробки" +#: src/Navigation.tsx:209 +msgid "Log" +msgstr "" + #: src/view/screens/Moderation.tsx:134 #~ msgid "Logged-out users" #~ msgstr "" @@ -1307,7 +1961,7 @@ msgstr "Увійти до облікового запиÑу, Ñкого нема #~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!" #~ msgstr "" -#: src/view/com/modals/LinkWarning.tsx:63 +#: src/view/com/modals/LinkWarning.tsx:65 msgid "Make sure this is where you intend to go!" msgstr "ПереконайтеÑÑ, що це дійÑно той Ñайт, що ви збираєтеÑÑ Ð²Ñ–Ð´Ð²Ñ–Ð´Ð°Ñ‚Ð¸!" @@ -1323,72 +1977,119 @@ msgstr "згадані кориÑтувачі" msgid "Mentioned users" msgstr "Згадані кориÑтувачі" +#: src/view/com/util/ViewHeader.tsx:81 #: src/view/screens/Search/Search.tsx:537 msgid "Menu" msgstr "Меню" #: src/view/com/posts/FeedErrorMessage.tsx:194 -msgid "Message from server" -msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ Ñервера" +#~ msgid "Message from server" +#~ msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ Ñервера" + +#: src/view/com/posts/FeedErrorMessage.tsx:197 +msgid "Message from server: {0}" +msgstr "" +#: src/Navigation.tsx:116 #: src/view/screens/Moderation.tsx:64 -#: src/view/screens/Settings.tsx:563 +#: src/view/screens/Settings.tsx:591 #: src/view/shell/desktop/LeftNav.tsx:397 -#: src/view/shell/Drawer.tsx:509 -#: src/view/shell/Drawer.tsx:510 +#: src/view/shell/Drawer.tsx:511 +#: src/view/shell/Drawer.tsx:512 msgid "Moderation" msgstr "МодераціÑ" +#: src/view/com/lists/ListCard.tsx:92 +#: src/view/com/modals/UserAddRemoveLists.tsx:190 +msgid "Moderation list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:753 +msgid "Moderation list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:90 +#: src/view/com/modals/UserAddRemoveLists.tsx:188 +#: src/view/screens/ProfileList.tsx:751 +msgid "Moderation list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:139 +msgid "Moderation list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:126 +msgid "Moderation list updated" +msgstr "" + #: src/view/screens/Moderation.tsx:95 msgid "Moderation lists" msgstr "СпиÑки Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÑ€Ð°Ñ†Ñ–Ñ—" +#: src/Navigation.tsx:121 #: src/view/screens/ModerationModlists.tsx:58 msgid "Moderation Lists" msgstr "СпиÑки Ð´Ð»Ñ Ð¼Ð¾Ð´ÐµÑ€Ð°Ñ†Ñ–Ñ—" +#: src/view/screens/Settings.tsx:585 +msgid "Moderation settings" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:35 +msgid "Moderator has chosen to set a general warning on the content." +msgstr "" + #: src/view/shell/desktop/Feeds.tsx:53 msgid "More feeds" msgstr "Більше Ñтрічок" -#: src/view/com/profile/ProfileHeader.tsx:548 -#: src/view/screens/ProfileFeed.tsx:361 -#: src/view/screens/ProfileList.tsx:584 +#: src/view/com/profile/ProfileHeader.tsx:562 +#: src/view/screens/ProfileFeed.tsx:371 +#: src/view/screens/ProfileList.tsx:595 msgid "More options" msgstr "Додаткові опції" -#: src/view/com/util/forms/PostDropdownBtn.tsx:158 -#~ msgid "More post options" -#~ msgstr "" +#: src/view/com/util/forms/PostDropdownBtn.tsx:268 +msgid "More post options" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:82 msgid "Most-liked replies first" msgstr "За кількіÑтю вподобань" -#: src/view/com/profile/ProfileHeader.tsx:370 +#: src/view/com/profile/ProfileHeader.tsx:374 msgid "Mute Account" msgstr "Ігнорувати обліковий запиÑ" -#: src/view/screens/ProfileList.tsx:511 +#: src/view/screens/ProfileList.tsx:522 msgid "Mute accounts" msgstr "Ігнорувати облікові запиÑи" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Mute list" msgstr "Ігнорувати ÑпиÑок" -#: src/view/screens/ProfileList.tsx:271 +#: src/view/screens/ProfileList.tsx:274 msgid "Mute these accounts?" msgstr "Ігнорувати ці облікові запиÑи?" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/screens/ProfileList.tsx:278 +msgid "Mute this List" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Mute thread" msgstr "Ігнорувати поÑÑ‚" +#: src/view/com/lists/ListCard.tsx:101 +msgid "Muted" +msgstr "" + #: src/view/screens/Moderation.tsx:109 msgid "Muted accounts" msgstr "Ігноровані облікові запиÑи" +#: src/Navigation.tsx:126 #: src/view/screens/ModerationMutedAccounts.tsx:107 msgid "Muted Accounts" msgstr "Ігноровані облікові запиÑи" @@ -1397,7 +2098,7 @@ msgstr "Ігноровані облікові запиÑи" msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private." msgstr "Ігноровані облікові запиÑи автоматично вилучаютьÑÑ Ñ–Ð· вашої Ñтрічки та Ñповіщень. Ð†Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ” повніÑтю приватним." -#: src/view/screens/ProfileList.tsx:273 +#: 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 "Ð†Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ” приватним. Ігноровані кориÑтувачі можуть взаємодіÑти з вами, але ви не бачитимете Ñ—Ñ… поÑти Ñ– не отримуватимете від них Ñповіщень." @@ -1409,7 +2110,7 @@ msgstr "Ð†Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ” приватним. Ігноровані ÐºÐ¾Ñ msgid "My Birthday" msgstr "Мій день народженнÑ" -#: src/view/screens/Feeds.tsx:363 +#: src/view/screens/Feeds.tsx:367 msgid "My Feeds" msgstr "Мої Ñтрічки" @@ -1417,80 +2118,134 @@ msgstr "Мої Ñтрічки" msgid "My Profile" msgstr "Мій профіль" -#: src/view/screens/Settings.tsx:520 +#: src/view/screens/Settings.tsx:548 msgid "My Saved Feeds" msgstr "Мої збережені Ñтрічки" -#: src/view/com/modals/AddAppPasswords.tsx:177 -#: src/view/com/modals/CreateOrEditList.tsx:211 +#: src/view/com/modals/AddAppPasswords.tsx:181 +#: src/view/com/modals/CreateOrEditList.tsx:232 msgid "Name" msgstr "Ім'Ñ" +#: src/view/com/modals/CreateOrEditList.tsx:108 +msgid "Name is required" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:186 +#: src/view/com/auth/login/LoginForm.tsx:286 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +msgid "Navigates to the next screen" +msgstr "" + +#: src/view/shell/Drawer.tsx:71 +msgid "Navigates to your profile" +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:72 msgid "Never lose access to your followers and data." msgstr "Ðіколи не втрачайте доÑтуп до ваших даних та підпиÑників." #: src/view/screens/Lists.tsx:76 +msgctxt "action" +msgid "New" +msgstr "" + #: src/view/screens/ModerationModlists.tsx:78 msgid "New" msgstr "Ðовий" -#: src/view/com/feeds/FeedPage.tsx:200 -#: src/view/screens/Feeds.tsx:507 +#: src/view/com/modals/CreateOrEditList.tsx:195 +msgid "New Moderation List" +msgstr "" + +#: src/view/com/auth/login/SetNewPasswordForm.tsx:122 +msgid "New password" +msgstr "" + +#: src/view/com/feeds/FeedPage.tsx:201 +msgctxt "action" +msgid "New post" +msgstr "" + +#: src/view/screens/Feeds.tsx:511 #: src/view/screens/Profile.tsx:354 -#: src/view/screens/ProfileFeed.tsx:431 -#: src/view/screens/ProfileList.tsx:194 -#: src/view/screens/ProfileList.tsx:222 +#: src/view/screens/ProfileFeed.tsx:441 +#: src/view/screens/ProfileList.tsx:197 +#: src/view/screens/ProfileList.tsx:225 #: src/view/shell/desktop/LeftNav.tsx:248 msgid "New post" msgstr "Ðовий поÑÑ‚" #: src/view/shell/desktop/LeftNav.tsx:258 +msgctxt "action" msgid "New Post" -msgstr "Ðовий поÑÑ‚" +msgstr "" + +#: src/view/shell/desktop/LeftNav.tsx:258 +#~ msgid "New Post" +#~ msgstr "Ðовий поÑÑ‚" + +#: src/view/com/modals/CreateOrEditList.tsx:190 +msgid "New User List" +msgstr "" #: src/view/screens/PreferencesThreads.tsx:79 msgid "Newest replies first" msgstr "Спочатку найновіші" #: src/view/com/auth/create/CreateAccount.tsx:154 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:174 -#: src/view/com/auth/login/ForgotPasswordForm.tsx:184 -#: src/view/com/auth/login/LoginForm.tsx:286 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:156 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:166 +#: 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:158 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:168 #: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79 msgid "Next" msgstr "Далі" +#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103 +msgctxt "action" +msgid "Next" +msgstr "" + #: src/view/com/lightbox/Lightbox.web.tsx:142 msgid "Next image" msgstr "ÐаÑтупне зображеннÑ" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:197 -#: src/view/screens/PreferencesHomeFeed.tsx:232 -#: src/view/screens/PreferencesHomeFeed.tsx:269 +#: 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 "ÐÑ–" -#: src/view/screens/ProfileFeed.tsx:579 -#: src/view/screens/ProfileList.tsx:720 +#: src/view/screens/ProfileFeed.tsx:593 +#: src/view/screens/ProfileList.tsx:733 msgid "No description" msgstr "ÐžÐ¿Ð¸Ñ Ð²Ñ–Ð´Ñутній" +#: src/view/com/profile/ProfileHeader.tsx:217 +msgid "No longer following {0}" +msgstr "" + +#: src/view/com/notifications/Feed.tsx:107 +msgid "No notifications yet!" +msgstr "" + #: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97 +#: src/view/com/composer/text-input/web/Autocomplete.tsx:191 msgid "No result" msgstr "Результати відÑутні" -#: src/view/screens/Feeds.tsx:452 +#: src/view/screens/Feeds.tsx:456 msgid "No results found for \"{query}\"" msgstr "Ðічого не знайдено за запитом «{query}»" @@ -1502,8 +2257,8 @@ msgstr "Ðічого не знайдено за запитом «{query}»" #: src/view/com/modals/ListAddRemoveUsers.tsx:127 #: src/view/screens/Search/Search.tsx:270 #: src/view/screens/Search/Search.tsx:298 -#: src/view/screens/Search/Search.tsx:629 -#: src/view/shell/desktop/Search.tsx:210 +#: src/view/screens/Search/Search.tsx:630 +#: src/view/shell/desktop/Search.tsx:213 msgid "No results found for {query}" msgstr "Ðічого не знайдено за запитом «{query}»" @@ -1523,6 +2278,15 @@ msgstr "Ðіхто" msgid "Not Applicable." msgstr "Ðе заÑтоÑовно." +#: src/Navigation.tsx:106 +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/screens/Moderation.tsx:227 #~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users." #~ msgstr "" @@ -1535,6 +2299,7 @@ msgstr "Примітка: Bluesky Ñ” відкритою Ñ– публічною м #~ msgid "Note: Third-party apps that display Bluesky content may not respect this setting." #~ msgstr "" +#: src/Navigation.tsx:447 #: src/view/screens/Notifications.tsx:113 #: src/view/screens/Notifications.tsx:137 #: src/view/shell/bottom-bar/BottomBar.tsx:205 @@ -1544,6 +2309,10 @@ msgstr "Примітка: Bluesky Ñ” відкритою Ñ– публічною м msgid "Notifications" msgstr "СповіщеннÑ" +#: src/view/com/modals/SelfLabel.tsx:103 +msgid "Nudity" +msgstr "" + #: src/view/com/util/ErrorBoundary.tsx:34 msgid "Oh no!" msgstr "О, ні!" @@ -1556,7 +2325,11 @@ msgstr "Добре" msgid "Oldest replies first" msgstr "Спочатку найдавніші" -#: src/view/com/composer/Composer.tsx:363 +#: src/view/screens/Settings.tsx:236 +msgid "Onboarding reset" +msgstr "" + +#: src/view/com/composer/Composer.tsx:375 msgid "One or more images is missing alt text." msgstr "Ð”Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ або кількох зображень відÑутній альтернативний текÑÑ‚." @@ -1564,60 +2337,131 @@ msgstr "Ð”Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ або кількох зображень відÑÑƒÑ msgid "Only {0} can reply." msgstr "Тільки {0} можуть відповідати." -#: src/view/com/composer/Composer.tsx:468 -#: src/view/com/composer/Composer.tsx:469 +#: src/view/com/modals/ProfilePreview.tsx:49 +#: src/view/com/modals/ProfilePreview.tsx:61 +#: src/view/screens/AppPasswords.tsx:65 +msgid "Oops!" +msgstr "" + +#: src/view/com/composer/Composer.tsx:470 +#: src/view/com/composer/Composer.tsx:471 msgid "Open emoji picker" msgstr "Емоджі" +#: src/view/screens/Settings.tsx:678 +msgid "Open links with in-app browser" +msgstr "" + #: src/view/com/pager/FeedsTabBarMobile.tsx:76 msgid "Open navigation" msgstr "Відкрити навігацію" -#: src/view/screens/Settings.tsx:533 +#: src/view/screens/Settings.tsx:737 +msgid "Open storybook page" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:147 +msgid "Opens {numItems} options" +msgstr "" + +#: src/view/screens/Log.tsx:54 +msgid "Opens additional details for a debug entry" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:352 +msgid "Opens an expanded list of users in this notification" +msgstr "" + +#: src/view/com/composer/photos/OpenCameraBtn.tsx:61 +msgid "Opens camera on device" +msgstr "" + +#: src/view/com/composer/Prompt.tsx:25 +msgid "Opens composer" +msgstr "" + +#: src/view/screens/Settings.tsx:561 msgid "Opens configurable language settings" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð²" -#: src/view/screens/Settings.tsx:587 +#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44 +msgid "Opens device photo gallery" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:459 +msgid "Opens editor for profile display name, avatar, background image, and description" +msgstr "" + +#: src/view/screens/Settings.tsx:615 msgid "Opens external embeds settings" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… вбудувань" +#: src/view/com/profile/ProfileHeader.tsx:614 +msgid "Opens followers list" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:633 +msgid "Opens following list" +msgstr "" + +#: src/view/screens/Settings.tsx:412 +msgid "Opens invite code list" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:172 #: src/view/shell/desktop/RightNav.tsx:156 -#: src/view/shell/Drawer.tsx:641 +#: src/view/shell/Drawer.tsx:643 msgid "Opens list of invite codes" msgstr "Відкриває ÑпиÑок кодів запрошеннÑ" -#: src/view/com/modals/ChangeHandle.tsx:279 +#: src/view/screens/Settings.tsx:696 +msgid "Opens modal for account deletion confirmation. Requires email code." +msgstr "" + +#: src/view/com/modals/ChangeHandle.tsx:281 msgid "Opens modal for using custom domain" msgstr "Відкриває діалог Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð»Ð°Ñного домену Ñк пÑевдоніму" -#: src/view/screens/Settings.tsx:558 +#: src/view/screens/Settings.tsx:586 msgid "Opens moderation settings" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÐµÑ€Ð°Ñ†Ñ–Ñ—" -#: src/view/screens/Settings.tsx:514 +#: src/view/com/auth/login/LoginForm.tsx:236 +msgid "Opens password reset form" +msgstr "" + +#: src/view/screens/Feeds.tsx:335 +msgid "Opens screen to edit Saved Feeds" +msgstr "" + +#: src/view/screens/Settings.tsx:542 msgid "Opens screen with all saved feeds" msgstr "Відкриває Ñторінку з уÑіма збереженими Ñтрічками" -#: src/view/screens/Settings.tsx:614 +#: src/view/screens/Settings.tsx:642 msgid "Opens the app password settings page" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ–Ð² Ð´Ð»Ñ Ð·Ð°ÑтоÑунків" -#: src/view/screens/Settings.tsx:473 +#: src/view/screens/Settings.tsx:501 msgid "Opens the home feed preferences" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð¼Ð°ÑˆÐ½ÑŒÐ¾Ñ— Ñтрічки" -#: src/view/screens/Settings.tsx:697 +#: src/view/screens/Settings.tsx:738 msgid "Opens the storybook page" msgstr "" -#: src/view/screens/Settings.tsx:677 +#: src/view/screens/Settings.tsx:718 msgid "Opens the system log page" msgstr "Відкриває ÑиÑтемний журнал" -#: src/view/screens/Settings.tsx:494 +#: src/view/screens/Settings.tsx:522 msgid "Opens the threads preferences" msgstr "Відкриває Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ–Ð»Ð¾Ðº" +#: src/view/com/util/forms/DropdownButton.tsx:254 +msgid "Option {0} of {numItems}" +msgstr "" + #: src/view/com/modals/Threadgate.tsx:89 msgid "Or combine these options:" msgstr "Ðбо ÑкіÑÑŒ із наÑтупних варіантів:" @@ -1641,9 +2485,9 @@ msgstr "Сторінку не знайдено" #: src/view/com/auth/create/Step2.tsx:122 #: src/view/com/auth/create/Step2.tsx:132 -#: src/view/com/auth/login/LoginForm.tsx:221 -#: src/view/com/auth/login/SetNewPasswordForm.tsx:130 -#: src/view/com/modals/DeleteAccount.tsx:191 +#: src/view/com/auth/login/LoginForm.tsx:223 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:132 +#: src/view/com/modals/DeleteAccount.tsx:198 msgid "Password" msgstr "Пароль" @@ -1655,10 +2499,31 @@ msgstr "Пароль змінено" msgid "Password updated!" msgstr "Пароль змінено!" +#: src/Navigation.tsx:162 +msgid "People followed by @{0}" +msgstr "" + +#: src/Navigation.tsx:155 +msgid "People following @{0}" +msgstr "" + +#: 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/view/com/modals/SelfLabel.tsx:121 msgid "Pictures meant for adults." msgstr "ЗображеннÑ, призначені Ð´Ð»Ñ Ð´Ð¾Ñ€Ð¾Ñлих." +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Pin to home" +msgstr "" + #: src/view/screens/SavedFeeds.tsx:88 msgid "Pinned Feeds" msgstr "Закріплені Ñтрічки" @@ -1688,7 +2553,11 @@ msgstr "Будь лаÑка, оберіть ваш пароль." 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:140 +#: src/view/com/modals/AddAppPasswords.tsx:89 +msgid "Please enter a name for your app password. All spaces is not allowed." +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:144 msgid "Please enter a unique name for this App Password or use our randomly generated one." msgstr "Будь лаÑка, введіть унікальну назву Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ паролю або викориÑтовуйте нашу випадково згенеровану." @@ -1696,7 +2565,7 @@ msgstr "Будь лаÑка, введіть унікальну назву Ð´Ð»Ñ msgid "Please enter your email." msgstr "Будь лаÑка, введіть адреÑу ел. пошти." -#: src/view/com/modals/DeleteAccount.tsx:180 +#: src/view/com/modals/DeleteAccount.tsx:187 msgid "Please enter your password as well:" msgstr "Будь лаÑка, також введіть ваш пароль:" @@ -1710,17 +2579,51 @@ msgstr "Будь лаÑка, вкажіть чому ви вважаєте що #~ msgid "Please tell us why you think this decision was incorrect." #~ msgstr "" +#: src/view/com/modals/VerifyEmail.tsx:101 +msgid "Please Verify Your Email" +msgstr "" + #: src/view/com/composer/Composer.tsx:215 msgid "Please wait for your link card to finish loading" msgstr "Будь лаÑка, зачекайте доки завершитьÑÑ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду Ð´Ð»Ñ Ð¿Ð¾ÑиланнÑ" +#: src/view/com/modals/SelfLabel.tsx:111 +msgid "Porn" +msgstr "" + +#: src/view/com/composer/Composer.tsx:350 +#: src/view/com/composer/Composer.tsx:358 +msgctxt "action" +msgid "Post" +msgstr "" + +#: src/view/com/post-thread/PostThread.tsx:227 +#: src/view/screens/PostThread.tsx:82 +msgctxt "description" +msgid "Post" +msgstr "" + #: src/view/com/composer/Composer.tsx:346 #: src/view/com/post-thread/PostThread.tsx:225 #: src/view/screens/PostThread.tsx:80 -msgid "Post" -msgstr "ПоÑÑ‚" +#~ msgid "Post" +#~ msgstr "ПоÑÑ‚" + +#: src/view/com/post-thread/PostThreadItem.tsx:176 +msgid "Post by {0}" +msgstr "" + +#: src/Navigation.tsx:174 +#: src/Navigation.tsx:181 +#: src/Navigation.tsx:188 +msgid "Post by @{0}" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:82 +msgid "Post deleted" +msgstr "" -#: src/view/com/post-thread/PostThread.tsx:378 +#: src/view/com/post-thread/PostThread.tsx:382 msgid "Post hidden" msgstr "ПоÑÑ‚ приховано" @@ -1732,7 +2635,7 @@ msgstr "Мова поÑту" msgid "Post Languages" msgstr "Мови поÑту" -#: src/view/com/post-thread/PostThread.tsx:430 +#: src/view/com/post-thread/PostThread.tsx:434 msgid "Post not found" msgstr "ПоÑÑ‚ не знайдено" @@ -1740,7 +2643,11 @@ msgstr "ПоÑÑ‚ не знайдено" msgid "Posts" msgstr "ПоÑти" -#: src/view/com/modals/LinkWarning.tsx:44 +#: src/view/com/posts/FeedErrorMessage.tsx:64 +msgid "Posts hidden" +msgstr "" + +#: src/view/com/modals/LinkWarning.tsx:46 msgid "Potentially Misleading Link" msgstr "Потенційно оманливе поÑиланнÑ" @@ -1756,30 +2663,35 @@ msgstr "ОÑновна мова" msgid "Prioritize Your Follows" msgstr "Пріоритезувати ваші підпиÑки" -#: src/view/screens/Settings.tsx:570 +#: src/view/screens/Settings.tsx:598 #: src/view/shell/desktop/RightNav.tsx:84 msgid "Privacy" msgstr "КонфіденційніÑть" +#: src/Navigation.tsx:219 #: src/view/screens/PrivacyPolicy.tsx:29 -#: src/view/screens/Settings.tsx:783 +#: src/view/screens/Settings.tsx:824 #: src/view/shell/Drawer.tsx:262 msgid "Privacy Policy" msgstr "Політика конфіденційноÑті" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:190 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:194 msgid "Processing..." msgstr "Обробка..." #: 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:544 -#: src/view/shell/Drawer.tsx:545 +#: src/view/shell/Drawer.tsx:546 +#: src/view/shell/Drawer.tsx:547 msgid "Profile" msgstr "Профіль" -#: src/view/screens/Settings.tsx:841 +#: src/view/com/modals/EditProfile.tsx:128 +msgid "Profile updated" +msgstr "" + +#: src/view/screens/Settings.tsx:882 msgid "Protect your account by verifying your email." msgstr "ЗахиÑтіть Ñвій обліковий запиÑ, підтвердивши Ñвою електронну адреÑу." @@ -1791,14 +2703,31 @@ msgstr "Публічні, поширювані ÑпиÑки кориÑтувач msgid "Public, shareable lists which can drive feeds." msgstr "Публічні, поширювані ÑпиÑки Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñтрічок." -#: src/view/com/modals/Repost.tsx:52 +#: src/view/com/composer/Composer.tsx:335 +msgid "Publish post" +msgstr "" + +#: src/view/com/composer/Composer.tsx:335 +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:56 +#: src/view/com/modals/Repost.tsx:70 +msgctxt "action" msgid "Quote Post" -msgstr "Цитувати поÑÑ‚" +msgstr "" + +#: src/view/com/modals/Repost.tsx:56 +#~ msgid "Quote Post" +#~ msgstr "Цитувати поÑÑ‚" #: src/view/screens/PreferencesThreads.tsx:86 msgid "Random (aka \"Poster's Roulette\")" @@ -1823,7 +2752,7 @@ msgstr "Рекомендовані кориÑтувачі" #: src/view/com/modals/ListAddRemoveUsers.tsx:264 #: src/view/com/modals/SelfLabel.tsx:83 -#: src/view/com/modals/UserAddRemoveLists.tsx:193 +#: src/view/com/modals/UserAddRemoveLists.tsx:203 #: src/view/com/util/UserAvatar.tsx:282 #: src/view/com/util/UserBanner.tsx:89 msgid "Remove" @@ -1837,13 +2766,16 @@ msgstr "Вилучити {0} зі збережених Ñтрічок?" msgid "Remove account" msgstr "Вилучити обліковий запиÑ" -#: src/view/com/posts/FeedErrorMessage.tsx:130 +#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:166 msgid "Remove feed" msgstr "Вилучити Ñтрічку" #: src/view/com/feeds/FeedSourceCard.tsx:105 +#: src/view/com/feeds/FeedSourceCard.tsx:167 #: src/view/com/feeds/FeedSourceCard.tsx:172 -#: src/view/screens/ProfileFeed.tsx:271 +#: src/view/com/feeds/FeedSourceCard.tsx:243 +#: src/view/screens/ProfileFeed.tsx:281 msgid "Remove from my feeds" msgstr "Вилучити з моїх Ñтрічок" @@ -1855,11 +2787,15 @@ msgstr "Вилучити зображеннÑ" msgid "Remove image preview" msgstr "Вилучити попередній переглÑд зображеннÑ" +#: src/view/com/modals/Repost.tsx:47 +msgid "Remove repost" +msgstr "" + #: src/view/com/feeds/FeedSourceCard.tsx:173 msgid "Remove this feed from my feeds?" msgstr "Вилучити цю Ñтрічку з ваших Ñтрічок?" -#: src/view/com/posts/FeedErrorMessage.tsx:131 +#: src/view/com/posts/FeedErrorMessage.tsx:132 msgid "Remove this feed from your saved feeds?" msgstr "Вилучити цю Ñтрічку зі збережених Ñтрічок?" @@ -1868,6 +2804,15 @@ msgstr "Вилучити цю Ñтрічку зі збережених ÑÑ‚Ñ€Ñ–Ñ msgid "Removed from list" msgstr "Вилучено зі ÑпиÑку" +#: src/view/com/feeds/FeedSourceCard.tsx:111 +#: src/view/com/feeds/FeedSourceCard.tsx:178 +msgid "Removed from my feeds" +msgstr "" + +#: src/view/com/composer/ExternalEmbed.tsx:71 +msgid "Removes default thumbnail from {0}" +msgstr "" + #: src/view/screens/Profile.tsx:162 msgid "Replies" msgstr "Відповіді" @@ -1876,31 +2821,50 @@ msgstr "Відповіді" msgid "Replies to this thread are disabled" msgstr "Відповіді до цього поÑту вимкнено" -#: src/view/screens/PreferencesHomeFeed.tsx:141 +#: src/view/com/composer/Composer.tsx:348 +msgctxt "action" +msgid "Reply" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:144 msgid "Reply Filters" msgstr "Які відповіді показувати" +#: src/view/com/post/Post.tsx:165 +#: src/view/com/posts/FeedItem.tsx:286 +msgctxt "description" +msgid "Reply to <0/>" +msgstr "" + #: src/view/com/modals/report/Modal.tsx:166 msgid "Report {collectionName}" msgstr "ПоÑкаржитиÑÑŒ на {collectionName}" -#: src/view/com/profile/ProfileHeader.tsx:404 +#: src/view/com/profile/ProfileHeader.tsx:408 msgid "Report Account" msgstr "ПоÑкаржитиÑÑŒ на обліковий запиÑ" -#: src/view/screens/ProfileFeed.tsx:291 +#: src/view/screens/ProfileFeed.tsx:301 msgid "Report feed" msgstr "ПоÑкаржитиÑÑŒ на Ñтрічку" -#: src/view/screens/ProfileList.tsx:426 +#: src/view/screens/ProfileList.tsx:437 msgid "Report List" msgstr "ПоÑкаржитиÑÑŒ на ÑпиÑок" #: src/view/com/modals/report/SendReportButton.tsx:37 -#: src/view/com/util/forms/PostDropdownBtn.tsx:196 +#: src/view/com/util/forms/PostDropdownBtn.tsx:208 msgid "Report post" 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 "РепоÑтити" @@ -1914,6 +2878,22 @@ msgstr "РепоÑтити або цитувати" msgid "Reposted by" msgstr "РепоÑÑ‚" +#: src/view/com/posts/FeedItem.tsx:206 +msgid "Reposted by {0})" +msgstr "" + +#: src/view/com/posts/FeedItem.tsx:223 +msgid "Reposted by <0/>" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:162 +msgid "reposted your post" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:189 +msgid "Reposts of this post" +msgstr "" + #: src/view/com/modals/ChangeEmail.tsx:181 #: src/view/com/modals/ChangeEmail.tsx:183 msgid "Request Change" @@ -1923,7 +2903,7 @@ msgstr "Змінити" #~ msgid "Request to limit the visibility of my account" #~ msgstr "" -#: src/view/screens/Settings.tsx:422 +#: src/view/screens/Settings.tsx:450 msgid "Require alt text before posting" msgstr "Вимагати альтернативний текÑÑ‚ до зображень перед публікацією" @@ -1931,34 +2911,52 @@ msgstr "Вимагати альтернативний текÑÑ‚ до зобра msgid "Required for this provider" msgstr "ВимагаєтьÑÑ Ñ†Ð¸Ð¼ хоÑтинг-провайдером" +#: src/view/com/auth/login/SetNewPasswordForm.tsx:98 #: src/view/com/auth/login/SetNewPasswordForm.tsx:108 msgid "Reset code" msgstr "Код підтвердженнÑ" -#: src/view/screens/Settings.tsx:719 +#: src/view/screens/Settings.tsx:757 +msgid "Reset onboarding" +msgstr "" + +#: src/view/screens/Settings.tsx:760 msgid "Reset onboarding state" msgstr "" -#: src/view/com/auth/login/ForgotPasswordForm.tsx:98 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:100 msgid "Reset password" msgstr "Скинути пароль" -#: src/view/screens/Settings.tsx:709 +#: src/view/screens/Settings.tsx:747 +msgid "Reset preferences" +msgstr "" + +#: src/view/screens/Settings.tsx:750 msgid "Reset preferences state" msgstr "" -#: src/view/screens/Settings.tsx:717 +#: src/view/screens/Settings.tsx:758 msgid "Resets the onboarding state" msgstr "" -#: src/view/screens/Settings.tsx:707 +#: src/view/screens/Settings.tsx:748 msgid "Resets the preferences state" msgstr "" +#: src/view/com/auth/login/LoginForm.tsx:266 +msgid "Retries login" +msgstr "" + +#: src/view/com/util/error/ErrorMessage.tsx:57 +#: src/view/com/util/error/ErrorScreen.tsx:67 +msgid "Retries the last action, which errored out" +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:163 #: src/view/com/auth/create/CreateAccount.tsx:167 -#: src/view/com/auth/login/LoginForm.tsx:263 -#: src/view/com/auth/login/LoginForm.tsx:266 +#: 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" @@ -1968,12 +2966,26 @@ msgstr "Повторити Ñпробу" #~ msgid "Retry change handle" #~ msgstr "" +#: src/view/screens/ProfileList.tsx:877 +msgid "Return to previous page" +msgstr "" + +#: src/view/shell/desktop/RightNav.tsx:59 +msgid "SANDBOX. Posts and accounts are not permanent." +msgstr "" + +#: src/view/com/lightbox/Lightbox.tsx:125 +#: src/view/com/modals/CreateOrEditList.tsx:278 +msgctxt "action" +msgid "Save" +msgstr "" + #: 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:249 -#: src/view/com/modals/CreateOrEditList.tsx:257 -#: src/view/com/modals/EditProfile.tsx:223 +#: src/view/com/modals/CreateOrEditList.tsx:270 +#: src/view/com/modals/EditProfile.tsx:224 +#: src/view/screens/ProfileFeed.tsx:354 msgid "Save" msgstr "Зберегти" @@ -1985,7 +2997,7 @@ msgstr "Зберегти альтернативний текÑÑ‚" #~ msgid "Save changes" #~ msgstr "" -#: src/view/com/modals/EditProfile.tsx:231 +#: src/view/com/modals/EditProfile.tsx:232 msgid "Save Changes" msgstr "Зберегти зміни" @@ -2001,9 +3013,25 @@ msgstr "Обрізати зображеннÑ" msgid "Saved 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 "" + +#: src/view/screens/ProfileList.tsx:833 +msgid "Scroll to top" +msgstr "" + +#: 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:53 #: src/view/com/util/forms/SearchInput.tsx:65 #: src/view/screens/Search/Search.tsx:406 +#: src/view/screens/Search/Search.tsx:559 #: src/view/screens/Search/Search.tsx:572 #: src/view/shell/bottom-bar/BottomBar.tsx:159 #: src/view/shell/desktop/LeftNav.tsx:324 @@ -2020,6 +3048,7 @@ 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 "Пошук кориÑтувачів" @@ -2027,10 +3056,18 @@ msgstr "Пошук кориÑтувачів" msgid "Security Step Required" 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 "" + #: src/view/com/modals/ServerInput.tsx:75 msgid "Select Bluesky Social" msgstr "Вибрати Bluesky Social" @@ -2039,6 +3076,10 @@ msgstr "Вибрати Bluesky Social" msgid "Select from an existing account" msgstr "Вибрати Ñ–Ñнуючий обліковий запиÑ" +#: src/view/com/util/Selector.tsx:107 +msgid "Select option {i} of {numItems}" +msgstr "" + #: src/view/com/auth/login/LoginForm.tsx:147 msgid "Select service" msgstr "Вибрати хоÑтинг-провайдера" @@ -2055,7 +3096,8 @@ msgstr "Оберіть мову інтерфейÑу" msgid "Select your preferred language for translations in your feed." msgstr "Оберіть бажану мову Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´Ñ–Ð² у вашій Ñтрічці." -#: src/view/com/modals/VerifyEmail.tsx:196 +#: src/view/com/modals/VerifyEmail.tsx:202 +#: src/view/com/modals/VerifyEmail.tsx:204 msgid "Send Confirmation Email" msgstr "ÐадіÑлати лиÑÑ‚ із кодом підтвердженнÑ" @@ -2063,9 +3105,14 @@ msgstr "ÐадіÑлати лиÑÑ‚ із кодом підтвердженнÑ" msgid "Send email" msgstr "ÐадіÑлати ел. лиÑта" -#: src/view/com/modals/DeleteAccount.tsx:138 +#: src/view/com/modals/DeleteAccount.tsx:140 +msgctxt "action" msgid "Send Email" -msgstr "ÐадіÑлати ел. лиÑта" +msgstr "" + +#: src/view/com/modals/DeleteAccount.tsx:138 +#~ msgid "Send Email" +#~ msgstr "ÐадіÑлати ел. лиÑта" #: src/view/shell/Drawer.tsx:295 #: src/view/shell/Drawer.tsx:316 @@ -2076,19 +3123,49 @@ msgstr "ÐадіÑлати відгук" msgid "Send Report" msgstr "ПоÑкаржитиÑÑŒ" +#: src/view/com/modals/DeleteAccount.tsx:129 +msgid "Sends email with confirmation code for account deletion" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:306 +msgid "Set {value} for {labelGroup} content moderation policy" +msgstr "" + +#: src/view/com/modals/ContentFilteringSettings.tsx:155 +#: src/view/com/modals/ContentFilteringSettings.tsx:174 +msgctxt "action" +msgid "Set Age" +msgstr "" + +#: src/view/screens/Settings.tsx:482 +msgid "Set color theme to dark" +msgstr "" + +#: src/view/screens/Settings.tsx:475 +msgid "Set color theme to light" +msgstr "" + +#: src/view/screens/Settings.tsx:469 +msgid "Set color theme to system setting" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:78 msgid "Set new password" msgstr "Зміна паролÑ" -#: src/view/screens/PreferencesHomeFeed.tsx:222 +#: src/view/com/auth/create/Step2.tsx:133 +msgid "Set password" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:225 msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible." msgstr "Вимкніть це налаштуваннÑ, щоб приховати вÑÑ– цитовані поÑти у вашій Ñтрічці. Ðе впливає на репоÑти без цитуваннÑ." -#: src/view/screens/PreferencesHomeFeed.tsx:119 +#: src/view/screens/PreferencesHomeFeed.tsx:122 msgid "Set this setting to \"No\" to hide all replies from your feed." msgstr "Вимкніть це налаштуваннÑ, щоб приховати вÑÑ– відповіді у вашій Ñтрічці." -#: src/view/screens/PreferencesHomeFeed.tsx:188 +#: src/view/screens/PreferencesHomeFeed.tsx:191 msgid "Set this setting to \"No\" to hide all reposts from your feed." msgstr "Вимкніть це налаштуваннÑ, щоб приховати вÑÑ– репоÑти у вашій Ñтрічці." @@ -2096,14 +3173,35 @@ msgstr "Вимкніть це налаштуваннÑ, щоб приховатРmsgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature." msgstr "Увімкніть це налаштуваннÑ, щоб показувати відповіді у виглÑді гілок. Це екÑпериментальна функціÑ." -#: src/view/screens/PreferencesHomeFeed.tsx:258 +#: 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/Settings.tsx:277 +#: src/view/com/modals/ChangeHandle.tsx:266 +msgid "Sets Bluesky username" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:153 +msgid "Sets email for password reset" +msgstr "" + +#: src/view/com/auth/login/ForgotPasswordForm.tsx:118 +msgid "Sets hosting provider for password reset" +msgstr "" + +#: src/view/com/auth/create/Step1.tsx:143 +msgid "Sets hosting provider to {label}" +msgstr "" + +#: src/view/com/auth/login/LoginForm.tsx:148 +msgid "Sets server for the Bluesky client" +msgstr "" + +#: src/Navigation.tsx:136 +#: src/view/screens/Settings.tsx:294 #: src/view/shell/desktop/LeftNav.tsx:433 -#: src/view/shell/Drawer.tsx:565 -#: src/view/shell/Drawer.tsx:566 +#: src/view/shell/Drawer.tsx:567 +#: src/view/shell/Drawer.tsx:568 msgid "Settings" msgstr "ÐалаштуваннÑ" @@ -2111,13 +3209,18 @@ msgstr "ÐалаштуваннÑ" msgid "Sexual activity or erotic nudity." msgstr "СекÑуальна активніÑть або еротична оголеніÑть." -#: src/view/com/profile/ProfileHeader.tsx:338 -#: src/view/com/util/forms/PostDropdownBtn.tsx:139 -#: src/view/screens/ProfileList.tsx:385 +#: src/view/com/lightbox/Lightbox.tsx:134 +msgctxt "action" +msgid "Share" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:342 +#: src/view/com/util/forms/PostDropdownBtn.tsx:151 +#: src/view/screens/ProfileList.tsx:396 msgid "Share" msgstr "Поширити" -#: src/view/screens/ProfileFeed.tsx:303 +#: src/view/screens/ProfileFeed.tsx:313 msgid "Share feed" msgstr "Поширити Ñтрічку" @@ -2125,11 +3228,17 @@ msgstr "Поширити Ñтрічку" #~ msgid "Share link" #~ msgstr "" -#: src/view/com/util/moderation/ContentHider.tsx:105 -#: src/view/screens/Settings.tsx:316 +#: 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 "Показати" +#: src/view/screens/PreferencesHomeFeed.tsx:68 +msgid "Show all replies" +msgstr "" + #: src/view/com/util/moderation/ScreenHider.tsx:132 msgid "Show anyway" msgstr "Ð’Ñеодно показати" @@ -2138,15 +3247,25 @@ msgstr "Ð’Ñеодно показати" msgid "Show embeds from {0}" msgstr "Показати Ð²Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ Ð· {0}" -#: src/view/screens/PreferencesHomeFeed.tsx:255 +#: src/view/com/profile/ProfileHeader.tsx:498 +msgid "Show follows similar to {0}" +msgstr "" + +#: src/view/com/post-thread/PostThreadItem.tsx:569 +#: src/view/com/post/Post.tsx:196 +#: src/view/com/posts/FeedItem.tsx:362 +msgid "Show More" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:258 msgid "Show Posts from My Feeds" msgstr "Показувати поÑти зі збережених Ñтрічок" -#: src/view/screens/PreferencesHomeFeed.tsx:219 +#: src/view/screens/PreferencesHomeFeed.tsx:222 msgid "Show Quote Posts" msgstr "Показувати цитати" -#: src/view/screens/PreferencesHomeFeed.tsx:116 +#: src/view/screens/PreferencesHomeFeed.tsx:119 msgid "Show Replies" msgstr "Показувати відповіді" @@ -2154,14 +3273,31 @@ msgstr "Показувати відповіді" msgid "Show replies by people you follow before all other replies." msgstr "Показувати відповіді від людей, за Ñкими ви Ñлідкуєте, вище інших." -#: src/view/screens/PreferencesHomeFeed.tsx:185 +#: src/view/screens/PreferencesHomeFeed.tsx:70 +msgid "Show replies with at least {value} {0}" +msgstr "" + +#: src/view/screens/PreferencesHomeFeed.tsx:188 msgid "Show Reposts" msgstr "Показувати репоÑти" -#: src/view/com/notifications/FeedItem.tsx:345 +#: src/view/com/util/moderation/ContentHider.tsx:67 +#: src/view/com/util/moderation/PostHider.tsx:61 +msgid "Show the content" +msgstr "" + +#: src/view/com/notifications/FeedItem.tsx:350 msgid "Show users" msgstr "Показати кориÑтувачів" +#: src/view/com/profile/ProfileHeader.tsx:501 +msgid "Shows a list of users similar to this user." +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:545 +msgid "Shows posts from {0} in your feed" +msgstr "" + #: src/view/com/auth/HomeLoggedOutCTA.tsx:70 #: src/view/com/auth/login/Login.tsx:98 #: src/view/com/auth/SplashScreen.tsx:54 @@ -2196,7 +3332,9 @@ msgid "Sign into" msgstr "Увійти до" #: src/view/com/modals/SwitchAccount.tsx:64 -#: src/view/com/modals/SwitchAccount.tsx:67 +#: src/view/com/modals/SwitchAccount.tsx:69 +#: src/view/screens/Settings.tsx:107 +#: src/view/screens/Settings.tsx:110 msgid "Sign out" msgstr "Вийти" @@ -2220,14 +3358,34 @@ msgstr "ЗареєÑтруйтеÑÑ Ð°Ð±Ð¾ увійдіть, щоб приєдРmsgid "Sign-in Required" msgstr "Ðеобхідно увійти Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду" -#: src/view/screens/Settings.tsx:327 +#: src/view/screens/Settings.tsx:355 msgid "Signed in as" msgstr "Ви увійшли Ñк" +#: src/view/com/auth/login/ChooseAccountForm.tsx:103 +msgid "Signed in as @{0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:66 +msgid "Signs {0} out of Bluesky" +msgstr "" + #: src/view/com/auth/onboarding/WelcomeMobile.tsx:33 msgid "Skip" msgstr "ПропуÑтити" +#: src/view/com/modals/ProfilePreview.tsx:62 +msgid "Something went wrong and we're not sure what." +msgstr "" + +#: src/view/com/modals/Waitlist.tsx:51 +msgid "Something went wrong. Check your email and try again." +msgstr "" + +#: src/App.native.tsx:57 +msgid "Sorry! Your session expired. Please log in again." +msgstr "" + #: src/view/screens/PreferencesThreads.tsx:69 msgid "Sort Replies" msgstr "Сортувати відповіді" @@ -2245,11 +3403,19 @@ msgstr "Квадратне" msgid "Staging" msgstr "" -#: src/view/screens/Settings.tsx:763 +#: src/view/screens/Settings.tsx:804 msgid "Status page" msgstr "Сторінка Ñтану" -#: src/view/screens/Settings.tsx:699 +#: src/view/com/auth/create/StepHeader.tsx:15 +msgid "Step {step} of 3" +msgstr "" + +#: src/view/screens/Settings.tsx:276 +msgid "Storage cleared, you need to restart the app now." +msgstr "" + +#: src/view/screens/Settings.tsx:740 msgid "Storybook" msgstr "" @@ -2257,32 +3423,59 @@ msgstr "" msgid "Submit" msgstr "ÐадіÑлати" -#: src/view/screens/ProfileList.tsx:575 +#: src/view/screens/ProfileList.tsx:586 msgid "Subscribe" msgstr "ПідпиÑатиÑÑ" -#: src/view/screens/ProfileList.tsx:571 +#: src/view/screens/ProfileList.tsx:582 msgid "Subscribe to this list" msgstr "ПідпиÑатиÑÑ Ð½Ð° цей ÑпиÑок" +#: src/view/com/lists/ListCard.tsx:101 +#~ msgid "Subscribed" +#~ msgstr "" + #: src/view/screens/Search/Search.tsx:362 msgid "Suggested Follows" msgstr "Пропоновані підпиÑки" +#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64 +msgid "Suggested for you" +msgstr "" + +#: src/view/com/modals/SelfLabel.tsx:95 +msgid "Suggestive" +msgstr "" + +#: src/Navigation.tsx:214 #: src/view/screens/Support.tsx:30 #: src/view/screens/Support.tsx:33 msgid "Support" msgstr "Підтримка" -#: src/view/com/modals/SwitchAccount.tsx:115 +#: src/view/com/modals/ProfilePreview.tsx:110 +msgid "Swipe up to see more" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:117 msgid "Switch Account" msgstr "Перемикнути обліковий запиÑ" -#: src/view/screens/Settings.tsx:398 -#~ msgid "System" -#~ msgstr "" +#: src/view/com/modals/SwitchAccount.tsx:97 +#: src/view/screens/Settings.tsx:137 +msgid "Switch to {0}" +msgstr "" + +#: src/view/com/modals/SwitchAccount.tsx:98 +#: src/view/screens/Settings.tsx:138 +msgid "Switches the account you are logged in to" +msgstr "" + +#: src/view/screens/Settings.tsx:466 +msgid "System" +msgstr "" -#: src/view/screens/Settings.tsx:679 +#: src/view/screens/Settings.tsx:720 msgid "System log" msgstr "СиÑтемний журнал" @@ -2290,11 +3483,16 @@ msgstr "СиÑтемний журнал" msgid "Tall" msgstr "ВиÑоке" +#: src/view/com/util/images/AutoSizedImage.tsx:70 +msgid "Tap to view fully" +msgstr "" + #: src/view/shell/desktop/RightNav.tsx:93 msgid "Terms" msgstr "Умови" -#: src/view/screens/Settings.tsx:777 +#: src/Navigation.tsx:224 +#: src/view/screens/Settings.tsx:818 #: src/view/screens/TermsOfService.tsx:29 #: src/view/shell/Drawer.tsx:256 msgid "Terms of Service" @@ -2305,7 +3503,7 @@ msgstr "Умови ВикориÑтаннÑ" msgid "Text input field" msgstr "Поле вводу текÑту" -#: src/view/com/profile/ProfileHeader.tsx:306 +#: src/view/com/profile/ProfileHeader.tsx:310 msgid "The account will be able to interact with you after unblocking." msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ Ð·Ð¼Ð¾Ð¶Ðµ взаємодіÑти з вами піÑÐ»Ñ Ñ€Ð¾Ð·Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ." @@ -2317,7 +3515,7 @@ msgstr "Правила Спільноти переміщено до <0/>" msgid "The Copyright Policy has been moved to <0/>" msgstr "Політику захиÑту авторÑького права переміщено до <0/>" -#: src/view/com/post-thread/PostThread.tsx:433 +#: src/view/com/post-thread/PostThread.tsx:437 msgid "The post may have been deleted." msgstr "Можливо цей поÑÑ‚ було видалено." @@ -2326,13 +3524,86 @@ 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}, щоб зв'ÑзатиÑÑ Ð· нами." +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 "" + +#: 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/view/screens/ProfileFeed.tsx:558 +msgid "There was an an issue contacting the server, please check your internet connection and try again." +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:139 +msgid "There was an an issue removing this feed. Please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:218 +msgid "There was an an issue updating your feeds, please check your internet connection and try again." +msgstr "" + +#: src/view/screens/ProfileFeed.tsx:245 +#: 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 "" + +#: 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 "" + +#: src/view/com/notifications/Feed.tsx:115 +msgid "There was an issue fetching notifications. Tap here to try again." +msgstr "" + +#: src/view/com/posts/Feed.tsx:263 +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/view/com/modals/ContentFilteringSettings.tsx:126 +msgid "There was an issue syncing your preferences with the server" +msgstr "" + +#: src/view/screens/AppPasswords.tsx:66 +msgid "There was an issue with fetching your app passwords" +msgstr "" + +#: 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 "" + +#: 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 "" + #: src/view/com/util/ErrorBoundary.tsx:35 msgid "There was an unexpected issue in the application. Please let us know if this happened to you!" msgstr "У заÑтоÑунку ÑталаÑÑ Ð½ÐµÐ¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð° проблема. Будь лаÑка, повідомте наÑ, Ñкщо ви отримали це повідомленнÑ!" @@ -2353,19 +3624,33 @@ msgstr "Цей кориÑтувач вказав, що не хоче, аби йРmsgid "This content is hosted by {0}. Do you want to enable external media?" msgstr "Цей вміÑÑ‚ розміщено {0}. Увімкнути зовнішні медіа?" -#: src/view/com/posts/FeedErrorMessage.tsx:107 +#: src/view/com/modals/ModerationDetails.tsx:67 +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/com/posts/FeedErrorMessage.tsx:113 +#: 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/view/screens/Profile.tsx:392 +#: src/view/screens/ProfileFeed.tsx:484 +#: src/view/screens/ProfileList.tsx:639 +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/view/com/modals/BirthDateSettings.tsx:61 msgid "This information is not shared with other users." msgstr "Ð¦Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð½Ðµ розкриваєтьÑÑ Ñ–Ð½ÑˆÐ¸Ð¼ кориÑтувачам." -#: src/view/com/modals/VerifyEmail.tsx:113 +#: 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 "Це важливо Ð´Ð»Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо вам коли-небудь потрібно буде змінити адреÑу електронної пошти або відновити пароль." @@ -2373,24 +3658,44 @@ msgstr "Це важливо Ð´Ð»Ñ Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо вам коли-не msgid "This is the service that keeps you online." msgstr "Це ÑÐµÑ€Ð²Ñ–Ñ Ñкий зберігає дані вашого облікового запиÑу." -#: src/view/com/modals/LinkWarning.tsx:56 +#: src/view/com/modals/LinkWarning.tsx:58 msgid "This link is taking you to the following website:" msgstr "Це поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð²ÐµÐ´Ðµ на Ñайт:" +#: src/view/screens/ProfileList.tsx:813 +msgid "This list is empty!" +msgstr "" + +#: src/view/com/modals/AddAppPasswords.tsx:105 +msgid "This name is already in use" +msgstr "" + #: src/view/com/post-thread/PostThreadItem.tsx:123 msgid "This post has been deleted." msgstr "Цей поÑÑ‚ було видалено." +#: src/view/com/modals/ModerationDetails.tsx:62 +msgid "This user has blocked you. You cannot view their content." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:42 +msgid "This user is included in the <0/> list which you have blocked." +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:74 +msgid "This user is included the <0/> list which you have muted." +msgstr "" + #: src/view/com/modals/SelfLabel.tsx:137 msgid "This warning is only available for posts with media attached." msgstr "Це Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупне тільки Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñів з прикріпленими медіа-файлами." -#: src/view/com/util/forms/PostDropdownBtn.tsx:178 +#: src/view/com/util/forms/PostDropdownBtn.tsx:190 msgid "This will hide this post from your feeds." msgstr "Це приховає цей поÑÑ‚ із вашої Ñтрічки." #: src/view/screens/PreferencesThreads.tsx:53 -#: src/view/screens/Settings.tsx:503 +#: src/view/screens/Settings.tsx:531 msgid "Thread Preferences" msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ–Ð»Ð¾Ðº" @@ -2398,7 +3703,11 @@ msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ–Ð»Ð¾Ðº" msgid "Threaded Mode" msgstr "Режим гілок" -#: src/view/com/util/forms/DropdownButton.tsx:230 +#: src/Navigation.tsx:254 +msgid "Threads Preferences" +msgstr "" + +#: src/view/com/util/forms/DropdownButton.tsx:234 msgid "Toggle dropdown" msgstr "Розкрити/Ñховати" @@ -2406,60 +3715,100 @@ msgstr "Розкрити/Ñховати" msgid "Transformations" msgstr "РедагуваннÑ" -#: src/view/com/post-thread/PostThreadItem.tsx:705 -#: src/view/com/post-thread/PostThreadItem.tsx:707 -#: src/view/com/util/forms/PostDropdownBtn.tsx:111 +#: src/view/com/post-thread/PostThreadItem.tsx:710 +#: src/view/com/post-thread/PostThreadItem.tsx:712 +#: src/view/com/util/forms/PostDropdownBtn.tsx:123 msgid "Translate" msgstr "ПереклаÑти" -#: src/view/com/util/error/ErrorScreen.tsx:73 +#: src/view/com/util/error/ErrorScreen.tsx:75 +msgctxt "action" msgid "Try again" -msgstr "Спробувати ще раз" +msgstr "" -#: src/view/screens/ProfileList.tsx:473 +#: src/view/com/util/error/ErrorScreen.tsx:73 +#~ msgid "Try again" +#~ msgstr "Спробувати ще раз" + +#: src/view/screens/ProfileList.tsx:484 msgid "Un-block list" msgstr "Розблокувати ÑпиÑок" -#: src/view/screens/ProfileList.tsx:458 +#: src/view/screens/ProfileList.tsx:469 msgid "Un-mute list" msgstr "ПереÑтати ігнорувати" #: src/view/com/auth/create/CreateAccount.tsx:65 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:87 #: src/view/com/auth/login/Login.tsx:76 #: src/view/com/auth/login/LoginForm.tsx:120 msgid "Unable to contact your service. Please check your Internet connection." msgstr "Ðе вдалоÑÑ Ð·Ð²'ÑзатиÑÑ Ð· вашим хоÑтинг-провайдером. Перевірте ваше Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ Інтернету." -#: src/view/com/profile/ProfileHeader.tsx:466 -#: src/view/com/profile/ProfileHeader.tsx:469 +#: src/view/com/profile/ProfileHeader.tsx:472 +#: src/view/screens/ProfileList.tsx:568 msgid "Unblock" msgstr "Розблокувати" -#: src/view/com/profile/ProfileHeader.tsx:304 -#: src/view/com/profile/ProfileHeader.tsx:388 +#: src/view/com/profile/ProfileHeader.tsx:475 +msgctxt "action" +msgid "Unblock" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:308 +#: src/view/com/profile/ProfileHeader.tsx:392 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/profile/FollowButton.tsx:55 +msgctxt "action" +msgid "Unfollow" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:524 +msgid "Unfollow {0}" +msgstr "" + #: src/view/com/auth/create/state.ts:216 msgid "Unfortunately, you do not meet the requirements to create an account." msgstr "Ðа жаль, ви не відповідаєте вимогам Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑу." -#: src/view/com/profile/ProfileHeader.tsx:369 +#: src/view/com/util/post-ctrls/PostCtrls.tsx:189 +msgid "Unlike" +msgstr "" + +#: src/view/screens/ProfileList.tsx:575 +msgid "Unmute" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:373 msgid "Unmute Account" msgstr "ПереÑтати ігнорувати" -#: src/view/com/util/forms/PostDropdownBtn.tsx:157 +#: src/view/com/util/forms/PostDropdownBtn.tsx:169 msgid "Unmute thread" msgstr "ПереÑтати ігнорувати" -#: src/view/screens/ProfileList.tsx:441 +#: src/view/screens/ProfileFeed.tsx:362 +#: src/view/screens/ProfileList.tsx:559 +msgid "Unpin" +msgstr "" + +#: src/view/screens/ProfileList.tsx:452 msgid "Unpin moderation list" msgstr "Відкріпити ÑпиÑок модерації" +#: src/view/screens/ProfileFeed.tsx:354 +msgid "Unsave" +msgstr "" + #: src/view/com/modals/UserAddRemoveLists.tsx:54 msgid "Update {displayName} in Lists" msgstr "Змінити належніÑть {displayName} до ÑпиÑків" @@ -2468,34 +3817,83 @@ msgstr "Змінити належніÑть {displayName} до ÑпиÑків" msgid "Update Available" msgstr "ДоÑтупне оновленнÑ" -#: src/view/com/auth/login/SetNewPasswordForm.tsx:172 +#: src/view/com/auth/login/SetNewPasswordForm.tsx:174 msgid "Updating..." msgstr "ОновленнÑ..." -#: src/view/com/modals/ChangeHandle.tsx:453 +#: src/view/com/modals/ChangeHandle.tsx:455 msgid "Upload a text file to:" msgstr "Завантажити текÑтовий файл до:" -#: src/view/screens/AppPasswords.tsx:194 +#: src/view/screens/AppPasswords.tsx:195 msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password." msgstr "ВикориÑтовуйте паролі Ð´Ð»Ñ Ð·Ð°ÑтоÑунків Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ в інших заÑтоÑунках Ð´Ð»Ñ Bluesky. Це дозволить викориÑтовувати Ñ—Ñ…, не надаючи повний доÑтуп до вашого облікового запиÑу Ñ– вашого оÑновного паролÑ." -#: src/view/com/modals/ChangeHandle.tsx:513 +#: src/view/com/modals/ChangeHandle.tsx:515 msgid "Use default provider" msgstr "ВикориÑтовувати провайдера за замовчуваннÑм" -#: src/view/com/modals/AddAppPasswords.tsx:150 +#: 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/AddAppPasswords.tsx:154 msgid "Use this to sign into the other app along with your handle." msgstr "СкориÑтайтеÑÑŒ ним Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñƒ в інші заÑтоÑунки." -#: src/view/com/modals/InviteCodes.tsx:197 +#: src/view/com/modals/ServerInput.tsx:105 +msgid "Use your domain as your Bluesky client service provider" +msgstr "" + +#: src/view/com/modals/InviteCodes.tsx:200 msgid "Used by:" msgstr "ВикориÑтано:" +#: src/view/com/modals/ModerationDetails.tsx:54 +msgid "User Blocked" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:40 +msgid "User Blocked by List" +msgstr "" + +#: src/view/com/modals/ModerationDetails.tsx:60 +msgid "User Blocks You" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:38 msgid "User handle" msgstr "ПÑевдонім" +#: src/view/com/lists/ListCard.tsx:84 +#: src/view/com/modals/UserAddRemoveLists.tsx:182 +msgid "User list by {0}" +msgstr "" + +#: src/view/screens/ProfileList.tsx:741 +msgid "User list by <0/>" +msgstr "" + +#: src/view/com/lists/ListCard.tsx:82 +#: src/view/com/modals/UserAddRemoveLists.tsx:180 +#: src/view/screens/ProfileList.tsx:739 +msgid "User list by you" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:138 +msgid "User list created" +msgstr "" + +#: src/view/com/modals/CreateOrEditList.tsx:125 +msgid "User list updated" +msgstr "" + #: src/view/screens/Lists.tsx:58 msgid "User Lists" msgstr "СпиÑки кориÑтувачів" @@ -2505,7 +3903,7 @@ msgstr "СпиÑки кориÑтувачів" msgid "Username or email address" msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача або електронна адреÑа" -#: src/view/screens/ProfileList.tsx:747 +#: src/view/screens/ProfileList.tsx:775 msgid "Users" msgstr "КориÑтувачі" @@ -2521,15 +3919,15 @@ msgstr "кориÑтувачі, на Ñких підпиÑані <0/>" msgid "Users in \"{0}\"" msgstr "КориÑтувачі в «{0}»" -#: src/view/screens/Settings.tsx:802 +#: src/view/screens/Settings.tsx:843 msgid "Verify email" msgstr "Підтвердити електронну адреÑу" -#: src/view/screens/Settings.tsx:827 +#: src/view/screens/Settings.tsx:868 msgid "Verify my email" msgstr "Підтвердити мою електронну адреÑу" -#: src/view/screens/Settings.tsx:836 +#: src/view/screens/Settings.tsx:877 msgid "Verify My Email" msgstr "Підтвердити мою електронну адреÑу" @@ -2538,18 +3936,46 @@ msgstr "Підтвердити мою електронну адреÑу" msgid "Verify New Email" msgstr "Підтвердити нову адреÑу електронної пошти" +#: src/view/com/modals/VerifyEmail.tsx:103 +msgid "Verify Your Email" +msgstr "" + +#: src/view/com/profile/ProfileHeader.tsx:701 +msgid "View {0}'s avatar" +msgstr "" + #: src/view/screens/Log.tsx:52 msgid "View debug entry" msgstr "ПереглÑнути Ð·Ð°Ð¿Ð¸Ñ Ð´Ð»Ñ Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ" +#: src/view/com/posts/FeedSlice.tsx:103 +msgid "View full thread" +msgstr "" + +#: src/view/com/posts/FeedErrorMessage.tsx:172 +msgid "View profile" +msgstr "" + #: src/view/com/profile/ProfileSubpageHeader.tsx:128 msgid "View the avatar" msgstr "ПереглÑнути аватар" -#: src/view/com/modals/LinkWarning.tsx:73 +#: src/view/com/modals/LinkWarning.tsx:75 msgid "Visit Site" msgstr "Відвідати Ñайт" +#: src/view/com/modals/ContentFilteringSettings.tsx:254 +msgid "Warn" +msgstr "" + +#: src/view/com/posts/DiscoverFallbackHeader.tsx:29 +msgid "We ran out of posts from your follows. Here's the latest from" +msgstr "" + +#: src/view/com/modals/AppealLabel.tsx:48 +msgid "We'll look into your appeal promptly." +msgstr "" + #: src/view/com/auth/create/CreateAccount.tsx:122 msgid "We're so excited to have you join us!" msgstr "Ми дуже раді, що ви приєдналиÑÑ!" @@ -2562,6 +3988,10 @@ msgstr "Ми дуже раді, що ви приєдналиÑÑ!" #~ msgid "We're sorry, but this feed is currently receiving high traffic and is temporarily unavailable. Please try again later." #~ msgstr "" +#: src/view/screens/ProfileList.tsx:83 +msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}." +msgstr "" + #: src/view/screens/Search/Search.tsx:243 msgid "We're sorry, but your search could not be completed. Please try again in a few minutes." msgstr "Даруйте, нам не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ пошук за вашим запитом. Будь лаÑка, Ñпробуйте ще раз через кілька хвилин." @@ -2579,6 +4009,7 @@ msgid "What is the issue with this {collectionName}?" msgstr "Яка проблема з {collectionName}?" #: src/view/com/auth/SplashScreen.tsx:34 +#: src/view/com/composer/Composer.tsx:279 msgid "What's up?" msgstr "Як Ñправи?" @@ -2603,23 +4034,30 @@ msgstr "Хто може відповідати" msgid "Wide" msgstr "Широке" -#: src/view/com/composer/Composer.tsx:418 +#: src/view/com/composer/Composer.tsx:415 msgid "Write post" msgstr "ÐапиÑати поÑÑ‚" +#: src/view/com/composer/Composer.tsx:278 #: src/view/com/composer/Prompt.tsx:33 msgid "Write your reply" msgstr "ÐапиÑати відповідь" -#: src/view/screens/PreferencesHomeFeed.tsx:126 -#: src/view/screens/PreferencesHomeFeed.tsx:198 -#: src/view/screens/PreferencesHomeFeed.tsx:233 -#: src/view/screens/PreferencesHomeFeed.tsx:268 +#: src/view/com/composer/select-language/SuggestedLanguage.tsx:82 +#: 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 "Так" +#: 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/view/com/auth/create/Step1.tsx:106 msgid "You can change hosting providers at any time." msgstr "Ви можете змінити хоÑтинг-провайдера у будь-Ñкий чаÑ." @@ -2629,7 +4067,7 @@ msgstr "Ви можете змінити хоÑтинг-провайдера у msgid "You can now sign in with your new password." msgstr "Тепер ви можете увійти за допомогою нового паролÑ." -#: src/view/com/modals/InviteCodes.tsx:64 +#: 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 "У Ð²Ð°Ñ Ñ‰Ðµ немає кодів запрошеннÑ! З чаÑом ми надамо вам декілька." @@ -2637,7 +4075,7 @@ msgstr "У Ð²Ð°Ñ Ñ‰Ðµ немає кодів запрошеннÑ! З чаÑом msgid "You don't have any pinned feeds." msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” закріплених Ñтрічок." -#: src/view/screens/Feeds.tsx:383 +#: src/view/screens/Feeds.tsx:387 msgid "You don't have any saved feeds!" msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” збережених Ñтрічок!" @@ -2645,16 +4083,24 @@ msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” збережених Ñтрічок!" msgid "You don't have any saved feeds." msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” збережених Ñтрічок." -#: src/view/com/post-thread/PostThread.tsx:381 +#: src/view/com/post-thread/PostThread.tsx:385 msgid "You have blocked the author or you have been blocked by the author." msgstr "Ви заблокували автора або автор заблокував ваÑ." -#: src/view/com/feeds/ProfileFeedgens.tsx:134 +#: src/view/com/modals/ModerationDetails.tsx:56 +msgid "You have blocked this user. You cannot view their content." +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:138 +#: src/view/com/lists/ProfileLists.tsx:140 msgid "You have no lists." msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” ÑпиÑків." @@ -2662,7 +4108,7 @@ msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” ÑпиÑків." 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:86 +#: 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 "Ви ще не Ñтворили жодного Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð·Ð°ÑтоÑунків. Ви можете Ñтворити новий пароль, натиÑнувши кнопку нижче." @@ -2670,23 +4116,48 @@ msgstr "Ви ще не Ñтворили жодного Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð·Ð°Ñ 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/view/com/modals/ContentFilteringSettings.tsx:170 +msgid "You must be 18 or older to enable adult content." +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:96 +msgid "You will no longer receive notifications for this thread" +msgstr "" + +#: src/view/com/util/forms/PostDropdownBtn.tsx:99 +msgid "You will now receive notifications for this thread" +msgstr "" + #: src/view/com/auth/login/SetNewPasswordForm.tsx:81 msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password." 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/Step2.tsx:58 msgid "Your account" msgstr "Ваш акаунт" +#: src/view/com/modals/DeleteAccount.tsx:65 +msgid "Your account has been deleted" +msgstr "" + #: src/view/com/auth/create/Step2.tsx:146 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/view/com/auth/create/state.ts:102 +#: src/view/com/auth/login/ForgotPasswordForm.tsx:70 msgid "Your email appears to be invalid." msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ адреÑу електронної пошти." -#: src/view/com/modals/Waitlist.tsx:107 +#: src/view/com/modals/Waitlist.tsx:109 msgid "Your email has been saved! We'll be in touch soon." msgstr "Вашу електронну адреÑу збережено! Ми Ñкоро зв'ÑжемоÑÑ Ð· вами." @@ -2694,30 +4165,43 @@ msgstr "Вашу електронну адреÑу збережено! Ми Ñк 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:108 +#: 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/Step3.tsx:42 -#: src/view/com/modals/ChangeHandle.tsx:270 msgid "Your full handle will be" msgstr "Ваш повний пÑевдонім буде" +#: src/view/com/modals/ChangeHandle.tsx:270 +msgid "Your full handle will be <0>@{0}</0>" +msgstr "" + #: src/view/com/auth/create/Step1.tsx:53 msgid "Your hosting provider" msgstr "Ваш хоÑтинг-провайдер" -#: src/view/screens/Settings.tsx:402 +#: src/view/screens/Settings.tsx:430 #: src/view/shell/desktop/RightNav.tsx:137 -#: src/view/shell/Drawer.tsx:655 +#: src/view/shell/Drawer.tsx:657 msgid "Your invite codes are hidden when logged in using an App Password" msgstr "Ваші коди Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¾, Ñкщо ви увійшли за допомогою Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð´Ð»Ñ Ð·Ð°ÑтоÑунків" +#: src/view/com/composer/Composer.tsx:267 +msgid "Your post has been published" +msgstr "" + +#: 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 "Ваші повідомленнÑ, Ð²Ð¿Ð¾Ð´Ð¾Ð±Ð°Ð½Ð½Ñ Ñ– блоки Ñ” публічними. Ð†Ð³Ð½Ð¾Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ - приватні." -#: src/view/com/modals/SwitchAccount.tsx:82 +#: src/view/com/modals/SwitchAccount.tsx:84 +#: src/view/screens/Settings.tsx:125 msgid "Your profile" msgstr "Ваш профіль" @@ -2733,7 +4217,10 @@ msgstr "Ваш профіль" #~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in." #~ msgstr "" +#: src/view/com/composer/Composer.tsx:266 +msgid "Your reply has been published" +msgstr "" + #: src/view/com/auth/create/Step3.tsx:28 msgid "Your user handle" msgstr "Ваш пÑевдонім" - diff --git a/src/state/dialogs/index.tsx b/src/state/dialogs/index.tsx new file mode 100644 index 000000000..4cafaa086 --- /dev/null +++ b/src/state/dialogs/index.tsx @@ -0,0 +1,44 @@ +import React from 'react' +import {DialogControlProps} from '#/components/Dialog' + +const DialogContext = React.createContext<{ + activeDialogs: React.MutableRefObject< + Map<string, React.MutableRefObject<DialogControlProps>> + > +}>({ + activeDialogs: { + current: new Map(), + }, +}) + +const DialogControlContext = React.createContext<{ + closeAllDialogs(): void +}>({ + closeAllDialogs: () => {}, +}) + +export function useDialogStateContext() { + return React.useContext(DialogContext) +} + +export function useDialogStateControlContext() { + return React.useContext(DialogControlContext) +} + +export function Provider({children}: React.PropsWithChildren<{}>) { + const activeDialogs = React.useRef< + Map<string, React.MutableRefObject<DialogControlProps>> + >(new Map()) + const closeAllDialogs = React.useCallback(() => { + activeDialogs.current.forEach(dialog => dialog.current.close()) + }, []) + const context = React.useMemo(() => ({activeDialogs}), []) + const controls = React.useMemo(() => ({closeAllDialogs}), [closeAllDialogs]) + return ( + <DialogContext.Provider value={context}> + <DialogControlContext.Provider value={controls}> + {children} + </DialogControlContext.Provider> + </DialogContext.Provider> + ) +} diff --git a/src/state/modals/index.tsx b/src/state/modals/index.tsx index 8c32c472a..45856e108 100644 --- a/src/state/modals/index.tsx +++ b/src/state/modals/index.tsx @@ -187,6 +187,11 @@ export interface EmbedConsentModal { onAccept: () => void } +export interface InAppBrowserConsentModal { + name: 'in-app-browser-consent' + href: string +} + export type Modal = // Account | AddAppPasswordModal @@ -231,6 +236,7 @@ export type Modal = | ConfirmModal | LinkWarningModal | EmbedConsentModal + | InAppBrowserConsentModal const ModalContext = React.createContext<{ isModalActive: boolean diff --git a/src/state/persisted/__tests__/migrate.test.ts b/src/state/persisted/__tests__/migrate.test.ts index d42580efd..2435ed24f 100644 --- a/src/state/persisted/__tests__/migrate.test.ts +++ b/src/state/persisted/__tests__/migrate.test.ts @@ -26,7 +26,7 @@ test('migrate: fresh install', async () => { expect(AsyncStorage.getItem).toHaveBeenCalledWith('root') expect(read).toHaveBeenCalledTimes(1) - expect(logger.log).toHaveBeenCalledWith( + expect(logger.info).toHaveBeenCalledWith( 'persisted state: no migration needed', ) }) @@ -38,7 +38,7 @@ test('migrate: fresh install, existing new storage', async () => { expect(AsyncStorage.getItem).toHaveBeenCalledWith('root') expect(read).toHaveBeenCalledTimes(1) - expect(logger.log).toHaveBeenCalledWith( + expect(logger.info).toHaveBeenCalledWith( 'persisted state: no migration needed', ) }) @@ -68,7 +68,7 @@ test('migrate: has legacy data', async () => { await migrate() expect(write).toHaveBeenCalledWith(transform(fixtures.LEGACY_DATA_DUMP)) - expect(logger.log).toHaveBeenCalledWith( + expect(logger.info).toHaveBeenCalledWith( 'persisted state: migrated legacy storage', ) }) diff --git a/src/state/persisted/legacy.ts b/src/state/persisted/legacy.ts index 334ef1d92..097d6bc5c 100644 --- a/src/state/persisted/legacy.ts +++ b/src/state/persisted/legacy.ts @@ -164,14 +164,14 @@ export async function migrate() { if (validate.success) { await write(newData) - logger.log('persisted state: migrated legacy storage') + logger.info('persisted state: migrated legacy storage') } else { logger.error('persisted state: legacy data failed validation', { error: validate.error, }) } } else { - logger.log('persisted state: no migration needed') + logger.info('persisted state: no migration needed') } } catch (e: any) { logger.error(e, { diff --git a/src/state/persisted/schema.ts b/src/state/persisted/schema.ts index 6a26cedae..a6f2ea06a 100644 --- a/src/state/persisted/schema.ts +++ b/src/state/persisted/schema.ts @@ -53,6 +53,7 @@ export const schema = z.object({ step: z.string(), }), hiddenPosts: z.array(z.string()).optional(), // should move to server + useInAppBrowser: z.boolean().optional(), }) export type Schema = z.infer<typeof schema> @@ -84,4 +85,5 @@ export const defaults: Schema = { step: 'Home', }, hiddenPosts: [], + useInAppBrowser: undefined, } diff --git a/src/state/preferences/in-app-browser.tsx b/src/state/preferences/in-app-browser.tsx new file mode 100644 index 000000000..628663af4 --- /dev/null +++ b/src/state/preferences/in-app-browser.tsx @@ -0,0 +1,79 @@ +import React from 'react' +import * as persisted from '#/state/persisted' +import {Linking} from 'react-native' +import * as WebBrowser from 'expo-web-browser' +import {isNative} from '#/platform/detection' +import {useModalControls} from '../modals' + +type StateContext = persisted.Schema['useInAppBrowser'] +type SetContext = (v: persisted.Schema['useInAppBrowser']) => void + +const stateContext = React.createContext<StateContext>( + persisted.defaults.useInAppBrowser, +) +const setContext = React.createContext<SetContext>( + (_: persisted.Schema['useInAppBrowser']) => {}, +) + +export function Provider({children}: React.PropsWithChildren<{}>) { + const [state, setState] = React.useState(persisted.get('useInAppBrowser')) + + const setStateWrapped = React.useCallback( + (inAppBrowser: persisted.Schema['useInAppBrowser']) => { + setState(inAppBrowser) + persisted.write('useInAppBrowser', inAppBrowser) + }, + [setState], + ) + + React.useEffect(() => { + return persisted.onUpdate(() => { + setState(persisted.get('useInAppBrowser')) + }) + }, [setStateWrapped]) + + return ( + <stateContext.Provider value={state}> + <setContext.Provider value={setStateWrapped}> + {children} + </setContext.Provider> + </stateContext.Provider> + ) +} + +export function useInAppBrowser() { + return React.useContext(stateContext) +} + +export function useSetInAppBrowser() { + return React.useContext(setContext) +} + +export function useOpenLink() { + const {openModal} = useModalControls() + const enabled = useInAppBrowser() + + const openLink = React.useCallback( + (url: string, override?: boolean) => { + if (isNative && !url.startsWith('mailto:')) { + if (override === undefined && enabled === undefined) { + openModal({ + name: 'in-app-browser-consent', + href: url, + }) + return + } else if (override ?? enabled) { + WebBrowser.openBrowserAsync(url, { + presentationStyle: + WebBrowser.WebBrowserPresentationStyle.FULL_SCREEN, + }) + return + } + } + Linking.openURL(url) + }, + [enabled, openModal], + ) + + return openLink +} diff --git a/src/state/preferences/index.tsx b/src/state/preferences/index.tsx index cc2d9244c..a442b763a 100644 --- a/src/state/preferences/index.tsx +++ b/src/state/preferences/index.tsx @@ -3,6 +3,7 @@ import {Provider as LanguagesProvider} from './languages' import {Provider as AltTextRequiredProvider} from '../preferences/alt-text-required' import {Provider as HiddenPostsProvider} from '../preferences/hidden-posts' import {Provider as ExternalEmbedsProvider} from './external-embeds-prefs' +import {Provider as InAppBrowserProvider} from './in-app-browser' export {useLanguagePrefs, useLanguagePrefsApi} from './languages' export { @@ -20,7 +21,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) { <LanguagesProvider> <AltTextRequiredProvider> <ExternalEmbedsProvider> - <HiddenPostsProvider>{children}</HiddenPostsProvider> + <HiddenPostsProvider> + <InAppBrowserProvider>{children}</InAppBrowserProvider> + </HiddenPostsProvider> </ExternalEmbedsProvider> </AltTextRequiredProvider> </LanguagesProvider> diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts index 7a55b4e18..4acc7179a 100644 --- a/src/state/queries/feed.ts +++ b/src/state/queries/feed.ts @@ -272,7 +272,8 @@ export function usePinnedFeedsInfos(): { }, }) } catch (e) { - logger.warn(`usePinnedFeedsInfos: failed to fetch ${uri}`, { + // expected failure + logger.info(`usePinnedFeedsInfos: failed to fetch ${uri}`, { error: e, }) } diff --git a/src/state/queries/notifications/unread.tsx b/src/state/queries/notifications/unread.tsx index 49bb5a29d..a96b56225 100644 --- a/src/state/queries/notifications/unread.tsx +++ b/src/state/queries/notifications/unread.tsx @@ -167,7 +167,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { } broadcast.postMessage({event: unreadCountStr}) } catch (e) { - logger.error('Failed to check unread notifications', {error: e}) + logger.warn('Failed to check unread notifications', {error: e}) } }, diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts index dbb729133..82acf3974 100644 --- a/src/state/queries/post-feed.ts +++ b/src/state/queries/post-feed.ts @@ -18,6 +18,7 @@ import {LikesFeedAPI} from 'lib/api/feed/likes' import {CustomFeedAPI} from 'lib/api/feed/custom' 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 {precacheFeedPosts as precacheResolvedUris} from './resolve-uri' @@ -338,7 +339,11 @@ function createApi( feedTuners: FeedTunerFn[], ) { if (feedDesc === 'home') { - return new MergeFeedAPI(params, feedTuners) + if (params.mergeFeedEnabled) { + return new MergeFeedAPI(params, feedTuners) + } else { + return new HomeFeedAPI() + } } else if (feedDesc === 'following') { return new FollowingFeedAPI() } else if (feedDesc.startsWith('author')) { diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index 65cb12b46..e49bc2b39 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -44,6 +44,8 @@ export type ApiContext = { password: string handle: string inviteCode?: string + verificationPhone?: string + verificationCode?: string }) => Promise<void> login: (props: { service: string @@ -193,11 +195,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { ) const clearCurrentAccount = React.useCallback(() => { - logger.debug( - `session: clear current account`, - {}, - logger.DebugContext.session, - ) + logger.warn(`session: clear current account`) __globalAgent = PUBLIC_BSKY_AGENT queryClient.clear() setStateAndPersist(s => ({ @@ -207,7 +205,15 @@ export function Provider({children}: React.PropsWithChildren<{}>) { }, [setStateAndPersist, queryClient]) const createAccount = React.useCallback<ApiContext['createAccount']>( - async ({service, email, password, handle, inviteCode}: any) => { + async ({ + service, + email, + password, + handle, + inviteCode, + verificationPhone, + verificationCode, + }: any) => { logger.info(`session: creating account`, { service, handle, @@ -221,12 +227,20 @@ export function Provider({children}: React.PropsWithChildren<{}>) { password, email, inviteCode, + verificationPhone, + verificationCode, }) if (!agent.session) { throw new Error(`session: createAccount failed to establish a session`) } + /*dont await*/ agent.upsertProfile(_existing => { + return { + displayName: handle, + } + }) + const account: SessionAccount = { service: agent.service.toString(), did: agent.session.did, @@ -322,8 +336,8 @@ export function Provider({children}: React.PropsWithChildren<{}>) { ) const logout = React.useCallback<ApiContext['logout']>(async () => { + logger.info(`session: logout`) clearCurrentAccount() - logger.debug(`session: logout`, {}, logger.DebugContext.session) setStateAndPersist(s => { return { ...s, @@ -551,30 +565,36 @@ export function Provider({children}: React.PropsWithChildren<{}>) { return persisted.onUpdate(() => { const session = persisted.get('session') - logger.debug(`session: onUpdate`, {}, logger.DebugContext.session) + logger.info(`session: persisted onUpdate`, {}) - if (session.currentAccount) { + if (session.currentAccount && session.currentAccount.refreshJwt) { if (session.currentAccount?.did !== state.currentAccount?.did) { - logger.debug( - `session: switching account`, - { - from: { - did: state.currentAccount?.did, - handle: state.currentAccount?.handle, - }, - to: { - did: session.currentAccount.did, - handle: session.currentAccount.handle, - }, + logger.info(`session: persisted onUpdate, switching accounts`, { + from: { + did: state.currentAccount?.did, + handle: state.currentAccount?.handle, }, - logger.DebugContext.session, - ) + to: { + did: session.currentAccount.did, + handle: session.currentAccount.handle, + }, + }) initSession(session.currentAccount) + } else { + logger.info(`session: persisted onUpdate, updating session`, {}) + + /* + * Use updated session in this tab's agent. Do not call + * upsertAccount, since that will only persist the session that's + * already persisted, and we'll get a loop between tabs. + */ + // @ts-ignore we checked for `refreshJwt` above + __globalAgent.session = session.currentAccount } } else if (!session.currentAccount && state.currentAccount) { logger.debug( - `session: logging out`, + `session: persisted onUpdate, logging out`, { did: state.currentAccount?.did, handle: state.currentAccount?.handle, @@ -582,10 +602,22 @@ export function Provider({children}: React.PropsWithChildren<{}>) { logger.DebugContext.session, ) + /* + * No need to do a hard logout here. If we reach this, tokens for this + * account have already been cleared either by an `expired` event + * handled by `persistSession` (which nukes this accounts tokens only), + * or by a `logout` call which nukes all accounts tokens) + */ clearCurrentAccount() } + + setState(s => ({ + ...s, + accounts: session.accounts, + currentAccount: session.currentAccount, + })) }) - }, [state, clearCurrentAccount, initSession]) + }, [state, setState, clearCurrentAccount, initSession]) const stateContext = React.useMemo( () => ({ diff --git a/src/view/com/Button.tsx b/src/view/com/Button.tsx deleted file mode 100644 index d1f70d4ae..000000000 --- a/src/view/com/Button.tsx +++ /dev/null @@ -1,204 +0,0 @@ -import React from 'react' -import {Pressable, Text, PressableProps, TextProps} from 'react-native' -import * as tokens from '#/alf/tokens' -import {atoms} from '#/alf' - -export type ButtonType = - | 'primary' - | 'secondary' - | 'tertiary' - | 'positive' - | 'negative' -export type ButtonSize = 'small' | 'large' - -export type VariantProps = { - type?: ButtonType - size?: ButtonSize -} -type ButtonState = { - pressed: boolean - hovered: boolean - focused: boolean -} -export type ButtonProps = Omit<PressableProps, 'children'> & - VariantProps & { - children: - | ((props: { - state: ButtonState - type?: ButtonType - size?: ButtonSize - }) => React.ReactNode) - | React.ReactNode - | string - } -export type ButtonTextProps = TextProps & VariantProps - -export function Button({children, style, type, size, ...rest}: ButtonProps) { - const {baseStyles, hoverStyles} = React.useMemo(() => { - const baseStyles = [] - const hoverStyles = [] - - switch (type) { - case 'primary': - baseStyles.push({ - backgroundColor: tokens.color.blue_500, - }) - break - case 'secondary': - baseStyles.push({ - backgroundColor: tokens.color.gray_200, - }) - hoverStyles.push({ - backgroundColor: tokens.color.gray_100, - }) - break - default: - } - - switch (size) { - case 'large': - baseStyles.push( - atoms.py_md, - atoms.px_xl, - atoms.rounded_md, - atoms.gap_sm, - ) - break - case 'small': - baseStyles.push( - atoms.py_sm, - atoms.px_md, - atoms.rounded_sm, - atoms.gap_xs, - ) - break - default: - } - - return { - baseStyles, - hoverStyles, - } - }, [type, size]) - - const [state, setState] = React.useState({ - pressed: false, - hovered: false, - focused: false, - }) - - const onPressIn = React.useCallback(() => { - setState(s => ({ - ...s, - pressed: true, - })) - }, [setState]) - const onPressOut = React.useCallback(() => { - setState(s => ({ - ...s, - pressed: false, - })) - }, [setState]) - const onHoverIn = React.useCallback(() => { - setState(s => ({ - ...s, - hovered: true, - })) - }, [setState]) - const onHoverOut = React.useCallback(() => { - setState(s => ({ - ...s, - hovered: false, - })) - }, [setState]) - const onFocus = React.useCallback(() => { - setState(s => ({ - ...s, - focused: true, - })) - }, [setState]) - const onBlur = React.useCallback(() => { - setState(s => ({ - ...s, - focused: false, - })) - }, [setState]) - - return ( - <Pressable - {...rest} - style={state => [ - atoms.flex_row, - atoms.align_center, - ...baseStyles, - ...(state.hovered ? hoverStyles : []), - typeof style === 'function' ? style(state) : style, - ]} - onPressIn={onPressIn} - onPressOut={onPressOut} - onHoverIn={onHoverIn} - onHoverOut={onHoverOut} - onFocus={onFocus} - onBlur={onBlur}> - {typeof children === 'string' ? ( - <ButtonText type={type} size={size}> - {children} - </ButtonText> - ) : typeof children === 'function' ? ( - children({state, type, size}) - ) : ( - children - )} - </Pressable> - ) -} - -export function ButtonText({ - children, - style, - type, - size, - ...rest -}: ButtonTextProps) { - const textStyles = React.useMemo(() => { - const base = [] - - switch (type) { - case 'primary': - base.push({color: tokens.color.white}) - break - case 'secondary': - base.push({ - color: tokens.color.gray_700, - }) - break - default: - } - - switch (size) { - case 'small': - base.push(atoms.text_sm, {paddingBottom: 1}) - break - case 'large': - base.push(atoms.text_md, {paddingBottom: 1}) - break - default: - } - - return base - }, [type, size]) - - return ( - <Text - {...rest} - style={[ - atoms.flex_1, - atoms.font_semibold, - atoms.text_center, - ...textStyles, - style, - ]}> - {children} - </Text> - ) -} diff --git a/src/view/com/auth/create/CreateAccount.tsx b/src/view/com/auth/create/CreateAccount.tsx index 74307a631..449afb0d3 100644 --- a/src/view/com/auth/create/CreateAccount.tsx +++ b/src/view/com/auth/create/CreateAccount.tsx @@ -22,12 +22,13 @@ import { useSetSaveFeedsMutation, DEFAULT_PROD_FEEDS, } from '#/state/queries/preferences' -import {IS_PROD} from '#/lib/constants' +import {FEEDBACK_FORM_URL, IS_PROD} from '#/lib/constants' import {Step1} from './Step1' import {Step2} from './Step2' import {Step3} from './Step3' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' +import {TextLink} from '../../util/Link' export function CreateAccount({onPressBack}: {onPressBack: () => void}) { const {screen} = useAnalytics() @@ -117,7 +118,7 @@ export function CreateAccount({onPressBack}: {onPressBack: () => void}) { return ( <LoggedOutLayout - leadin={`Step ${uiState.step}`} + leadin="" title={_(msg`Create Account`)} description={_(msg`We're so excited to have you join us!`)}> <ScrollView testID="createAccount" style={pal.view}> @@ -176,6 +177,27 @@ export function CreateAccount({onPressBack}: {onPressBack: () => void}) { </> ) : undefined} </View> + + <View style={styles.stepContainer}> + <View + style={[ + s.flexRow, + s.alignCenter, + pal.viewLight, + {borderRadius: 8, paddingHorizontal: 14, paddingVertical: 12}, + ]}> + <Text type="md" style={pal.textLight}> + <Trans>Having trouble?</Trans>{' '} + </Text> + <TextLink + type="md" + style={pal.link} + text={_(msg`Contact support`)} + href={FEEDBACK_FORM_URL({email: uiState.email})} + /> + </View> + </View> + <View style={{height: isTabletOrDesktop ? 50 : 400}} /> </ScrollView> </LoggedOutLayout> diff --git a/src/view/com/auth/create/Step1.tsx b/src/view/com/auth/create/Step1.tsx index 0f8581c0b..2ce77cf53 100644 --- a/src/view/com/auth/create/Step1.tsx +++ b/src/view/com/auth/create/Step1.tsx @@ -1,25 +1,38 @@ import React from 'react' -import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native' +import { + ActivityIndicator, + Keyboard, + StyleSheet, + TouchableWithoutFeedback, + View, +} from 'react-native' +import {CreateAccountState, CreateAccountDispatch, is18} from './state' import {Text} from 'view/com/util/text/Text' +import {DateInput} from 'view/com/util/forms/DateInput' import {StepHeader} from './StepHeader' -import {CreateAccountState, CreateAccountDispatch} from './state' -import {useTheme} from 'lib/ThemeContext' -import {usePalette} from 'lib/hooks/usePalette' import {s} from 'lib/styles' -import {HelpTip} from '../util/HelpTip' +import {usePalette} from 'lib/hooks/usePalette' import {TextInput} from '../util/TextInput' -import {Button} from 'view/com/util/forms/Button' +import {Button} from '../../util/forms/Button' +import {Policies} from './Policies' import {ErrorMessage} from 'view/com/util/error/ErrorMessage' -import {msg, Trans} from '@lingui/macro' +import {isWeb} from 'platform/detection' +import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {useModalControls} from '#/state/modals' +import {logger} from '#/logger' +import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' -import {LOCAL_DEV_SERVICE, STAGING_SERVICE, PROD_SERVICE} from 'lib/constants' -import {LOGIN_INCLUDE_DEV_SERVERS} from 'lib/build-flags' +function sanitizeDate(date: Date): Date { + if (!date || date.toString() === 'Invalid Date') { + logger.error(`Create account: handled invalid date for birthDate`, { + hasDate: !!date, + }) + return new Date() + } + return date +} -/** STEP 1: Your hosting provider - * @field Bluesky (default) - * @field Other (staging, local dev, your own PDS, etc.) - */ export function Step1({ uiState, uiDispatch, @@ -28,136 +41,175 @@ export function Step1({ uiDispatch: CreateAccountDispatch }) { const pal = usePalette('default') - const [isDefaultSelected, setIsDefaultSelected] = React.useState(true) const {_} = useLingui() + const {openModal} = useModalControls() - const onPressDefault = React.useCallback(() => { - setIsDefaultSelected(true) - uiDispatch({type: 'set-service-url', value: PROD_SERVICE}) - }, [setIsDefaultSelected, uiDispatch]) + const onPressSelectService = React.useCallback(() => { + openModal({ + name: 'server-input', + initialService: uiState.serviceUrl, + onSelect: (url: string) => + uiDispatch({type: 'set-service-url', value: url}), + }) + Keyboard.dismiss() + }, [uiDispatch, uiState.serviceUrl, openModal]) - const onPressOther = React.useCallback(() => { - setIsDefaultSelected(false) - uiDispatch({type: 'set-service-url', value: 'https://'}) - }, [setIsDefaultSelected, uiDispatch]) + const onPressWaitlist = React.useCallback(() => { + openModal({name: 'waitlist'}) + }, [openModal]) - const onChangeServiceUrl = React.useCallback( - (v: string) => { - uiDispatch({type: 'set-service-url', value: v}) - }, - [uiDispatch], - ) + const birthDate = React.useMemo(() => { + return sanitizeDate(uiState.birthDate) + }, [uiState.birthDate]) return ( <View> - <StepHeader step="1" title={_(msg`Your hosting provider`)} /> - <Text style={[pal.text, s.mb10]}> - <Trans>This is the service that keeps you online.</Trans> - </Text> - <Option - testID="blueskyServerBtn" - isSelected={isDefaultSelected} - label="Bluesky" - help=" (default)" - onPress={onPressDefault} - /> - <Option - testID="otherServerBtn" - isSelected={!isDefaultSelected} - label="Other" - onPress={onPressOther}> - <View style={styles.otherForm}> - <Text nativeID="addressProvider" style={[pal.text, s.mb5]}> - <Trans>Enter the address of your provider:</Trans> - </Text> - <TextInput - testID="customServerInput" - icon="globe" - placeholder={_(msg`Hosting provider address`)} - value={uiState.serviceUrl} - editable - onChange={onChangeServiceUrl} - accessibilityHint={_(msg`Input hosting provider address`)} - accessibilityLabel={_(msg`Hosting provider address`)} - accessibilityLabelledBy="addressProvider" - /> - {LOGIN_INCLUDE_DEV_SERVERS && ( - <View style={[s.flexRow, s.mt10]}> - <Button - testID="stagingServerBtn" - type="default" - style={s.mr5} - label={_(msg`Staging`)} - onPress={() => onChangeServiceUrl(STAGING_SERVICE)} - /> - <Button - testID="localDevServerBtn" - type="default" - label={_(msg`Dev Server`)} - onPress={() => onChangeServiceUrl(LOCAL_DEV_SERVICE)} + <StepHeader uiState={uiState} title={_(msg`Your account`)}> + <View> + <Button + testID="selectServiceButton" + type="default" + style={{ + aspectRatio: 1, + justifyContent: 'center', + alignItems: 'center', + }} + accessibilityLabel={_(msg`Select service`)} + accessibilityHint={_(msg`Sets server for the Bluesky client`)} + onPress={onPressSelectService}> + <FontAwesomeIcon icon="server" size={21} /> + </Button> + </View> + </StepHeader> + + {!uiState.serviceDescription ? ( + <ActivityIndicator /> + ) : ( + <> + {uiState.isInviteCodeRequired && ( + <View style={s.pb20}> + <Text type="md-medium" style={[pal.text, s.mb2]}> + <Trans>Invite code</Trans> + </Text> + <TextInput + testID="inviteCodeInput" + icon="ticket" + placeholder={_(msg`Required for this provider`)} + value={uiState.inviteCode} + editable + onChange={value => uiDispatch({type: 'set-invite-code', value})} + accessibilityLabel={_(msg`Invite code`)} + accessibilityHint={_(msg`Input invite code to proceed`)} + autoCapitalize="none" + autoComplete="off" + autoCorrect={false} + autoFocus={true} /> </View> )} - </View> - </Option> - {uiState.error ? ( - <ErrorMessage message={uiState.error} style={styles.error} /> - ) : ( - <HelpTip text={_(msg`You can change hosting providers at any time.`)} /> - )} - </View> - ) -} -function Option({ - children, - isSelected, - label, - help, - onPress, - testID, -}: React.PropsWithChildren<{ - isSelected: boolean - label: string - help?: string - onPress: () => void - testID?: string -}>) { - const theme = useTheme() - const pal = usePalette('default') - const {_} = useLingui() - const circleFillStyle = React.useMemo( - () => ({ - backgroundColor: theme.palette.primary.background, - }), - [theme], - ) - - return ( - <View style={[styles.option, pal.border]}> - <TouchableWithoutFeedback - onPress={onPress} - testID={testID} - accessibilityRole="button" - accessibilityLabel={label} - accessibilityHint={_(msg`Sets hosting provider to ${label}`)}> - <View style={styles.optionHeading}> - <View style={[styles.circle, pal.border]}> - {isSelected ? ( - <View style={[circleFillStyle, styles.circleFill]} /> - ) : undefined} - </View> - <Text type="xl" style={pal.text}> - {label} - {help ? ( - <Text type="xl" style={pal.textLight}> - {help} + {!uiState.inviteCode && uiState.isInviteCodeRequired ? ( + <View style={[s.flexRow, s.alignCenter]}> + <Text style={pal.text}> + <Trans>Don't have an invite code?</Trans>{' '} </Text> - ) : undefined} - </Text> - </View> - </TouchableWithoutFeedback> - {isSelected && children} + <TouchableWithoutFeedback + onPress={onPressWaitlist} + accessibilityLabel={_(msg`Join the waitlist.`)} + accessibilityHint=""> + <View style={styles.touchable}> + <Text style={pal.link}> + <Trans>Join the waitlist.</Trans> + </Text> + </View> + </TouchableWithoutFeedback> + </View> + ) : ( + <> + <View style={s.pb20}> + <Text + type="md-medium" + style={[pal.text, s.mb2]} + nativeID="email"> + <Trans>Email address</Trans> + </Text> + <TextInput + testID="emailInput" + icon="envelope" + placeholder={_(msg`Enter your email address`)} + value={uiState.email} + editable + onChange={value => uiDispatch({type: 'set-email', value})} + accessibilityLabel={_(msg`Email`)} + accessibilityHint={_(msg`Input email for Bluesky account`)} + accessibilityLabelledBy="email" + autoCapitalize="none" + autoComplete="off" + autoCorrect={false} + autoFocus={!uiState.isInviteCodeRequired} + /> + </View> + + <View style={s.pb20}> + <Text + type="md-medium" + style={[pal.text, s.mb2]} + nativeID="password"> + <Trans>Password</Trans> + </Text> + <TextInput + testID="passwordInput" + icon="lock" + placeholder={_(msg`Choose your password`)} + value={uiState.password} + editable + secureTextEntry + onChange={value => uiDispatch({type: 'set-password', value})} + accessibilityLabel={_(msg`Password`)} + accessibilityHint={_(msg`Set password`)} + accessibilityLabelledBy="password" + autoCapitalize="none" + autoComplete="off" + autoCorrect={false} + /> + </View> + + <View style={s.pb20}> + <Text + type="md-medium" + style={[pal.text, s.mb2]} + nativeID="birthDate"> + <Trans>Your birth date</Trans> + </Text> + <DateInput + handleAsUTC + testID="birthdayInput" + value={birthDate} + onChange={value => + uiDispatch({type: 'set-birth-date', value}) + } + buttonType="default-light" + buttonStyle={[pal.border, styles.dateInputButton]} + buttonLabelType="lg" + accessibilityLabel={_(msg`Birthday`)} + accessibilityHint={_(msg`Enter your birth date`)} + accessibilityLabelledBy="birthDate" + /> + </View> + + {uiState.serviceDescription && ( + <Policies + serviceDescription={uiState.serviceDescription} + needsGuardian={!is18(uiState)} + /> + )} + </> + )} + </> + )} + {uiState.error ? ( + <ErrorMessage message={uiState.error} style={styles.error} /> + ) : undefined} </View> ) } @@ -165,34 +217,15 @@ function Option({ const styles = StyleSheet.create({ error: { borderRadius: 6, + marginTop: 10, }, - - option: { + dateInputButton: { borderWidth: 1, borderRadius: 6, - marginBottom: 10, - }, - optionHeading: { - flexDirection: 'row', - alignItems: 'center', - padding: 10, + paddingVertical: 14, }, - circle: { - width: 26, - height: 26, - borderRadius: 15, - padding: 4, - borderWidth: 1, - marginRight: 10, - }, - circleFill: { - width: 16, - height: 16, - borderRadius: 10, - }, - - otherForm: { - paddingBottom: 10, - paddingHorizontal: 12, + // @ts-expect-error: Suppressing error due to incomplete `ViewStyle` type definition in react-native-web, missing `cursor` prop as discussed in https://github.com/necolas/react-native-web/issues/832. + touchable: { + ...(isWeb && {cursor: 'pointer'}), }, }) diff --git a/src/view/com/auth/create/Step2.tsx b/src/view/com/auth/create/Step2.tsx index 53e1e02c9..f938bb9ce 100644 --- a/src/view/com/auth/create/Step2.tsx +++ b/src/view/com/auth/create/Step2.tsx @@ -1,39 +1,28 @@ import React from 'react' -import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native' -import {CreateAccountState, CreateAccountDispatch, is18} from './state' +import { + ActivityIndicator, + StyleSheet, + TouchableWithoutFeedback, + View, +} from 'react-native' +import { + CreateAccountState, + CreateAccountDispatch, + requestVerificationCode, +} from './state' import {Text} from 'view/com/util/text/Text' -import {DateInput} from 'view/com/util/forms/DateInput' import {StepHeader} from './StepHeader' import {s} from 'lib/styles' import {usePalette} from 'lib/hooks/usePalette' import {TextInput} from '../util/TextInput' -import {Policies} from './Policies' +import {Button} from '../../util/forms/Button' import {ErrorMessage} from 'view/com/util/error/ErrorMessage' import {isWeb} from 'platform/detection' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' -import {useModalControls} from '#/state/modals' -import {logger} from '#/logger' +import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' +import parsePhoneNumber from 'libphonenumber-js' -function sanitizeDate(date: Date): Date { - if (!date || date.toString() === 'Invalid Date') { - logger.error(`Create account: handled invalid date for birthDate`, { - hasDate: !!date, - }) - return new Date() - } - return date -} - -/** STEP 2: Your account - * @field Invite code or waitlist - * @field Email address - * @field Email address - * @field Email address - * @field Password - * @field Birth date - * @readonly Terms of service & privacy policy - */ export function Step2({ uiState, uiDispatch, @@ -43,130 +32,155 @@ export function Step2({ }) { const pal = usePalette('default') const {_} = useLingui() - const {openModal} = useModalControls() + const {isMobile} = useWebMediaQueries() - const onPressWaitlist = React.useCallback(() => { - openModal({name: 'waitlist'}) - }, [openModal]) + const onPressRequest = React.useCallback(() => { + if ( + uiState.verificationPhone.length >= 9 && + parsePhoneNumber(uiState.verificationPhone, 'US') + ) { + requestVerificationCode({uiState, uiDispatch, _}) + } else { + uiDispatch({ + type: 'set-error', + value: _( + msg`There's something wrong with this number. Please include your country and/or area code!`, + ), + }) + } + }, [uiState, uiDispatch, _]) - const birthDate = React.useMemo(() => { - return sanitizeDate(uiState.birthDate) - }, [uiState.birthDate]) + const onPressRetry = React.useCallback(() => { + uiDispatch({type: 'set-has-requested-verification-code', value: false}) + }, [uiDispatch]) + + const phoneNumberFormatted = React.useMemo( + () => + uiState.hasRequestedVerificationCode + ? parsePhoneNumber( + uiState.verificationPhone, + 'US', + )?.formatInternational() + : '', + [uiState.hasRequestedVerificationCode, uiState.verificationPhone], + ) return ( <View> - <StepHeader step="2" title={_(msg`Your account`)} /> + <StepHeader uiState={uiState} title={_(msg`SMS verification`)} /> - {uiState.isInviteCodeRequired && ( - <View style={s.pb20}> - <Text type="md-medium" style={[pal.text, s.mb2]}> - <Trans>Invite code</Trans> - </Text> - <TextInput - testID="inviteCodeInput" - icon="ticket" - placeholder={_(msg`Required for this provider`)} - value={uiState.inviteCode} - editable - onChange={value => uiDispatch({type: 'set-invite-code', value})} - accessibilityLabel={_(msg`Invite code`)} - accessibilityHint={_(msg`Input invite code to proceed`)} - autoCapitalize="none" - autoComplete="off" - autoCorrect={false} - /> - </View> - )} - - {!uiState.inviteCode && uiState.isInviteCodeRequired ? ( - <Text style={[s.alignBaseline, pal.text]}> - <Trans>Don't have an invite code?</Trans>{' '} - <TouchableWithoutFeedback - onPress={onPressWaitlist} - accessibilityLabel={_(msg`Join the waitlist.`)} - accessibilityHint=""> - <View style={styles.touchable}> - <Text style={pal.link}> - <Trans>Join the waitlist.</Trans> - </Text> - </View> - </TouchableWithoutFeedback> - </Text> - ) : ( + {!uiState.hasRequestedVerificationCode ? ( <> <View style={s.pb20}> - <Text type="md-medium" style={[pal.text, s.mb2]} nativeID="email"> - <Trans>Email address</Trans> + <Text + type="md-medium" + style={[pal.text, s.mb2]} + nativeID="phoneNumber"> + <Trans>Phone number</Trans> </Text> <TextInput - testID="emailInput" - icon="envelope" - placeholder={_(msg`Enter your email address`)} - value={uiState.email} + testID="phoneInput" + icon="phone" + placeholder={_(msg`Enter your phone number`)} + value={uiState.verificationPhone} editable - onChange={value => uiDispatch({type: 'set-email', value})} + onChange={value => + uiDispatch({type: 'set-verification-phone', value}) + } accessibilityLabel={_(msg`Email`)} - accessibilityHint={_(msg`Input email for Bluesky waitlist`)} - accessibilityLabelledBy="email" + accessibilityHint={_( + msg`Input phone number for SMS verification`, + )} + accessibilityLabelledBy="phoneNumber" + keyboardType="phone-pad" autoCapitalize="none" - autoComplete="off" + autoComplete="tel" autoCorrect={false} + autoFocus={true} /> + <Text type="sm" style={[pal.textLight, s.mt5]}> + <Trans> + Please enter a phone number that can receive SMS text messages. + </Trans> + </Text> </View> + <View style={isMobile ? {} : {flexDirection: 'row'}}> + {uiState.isProcessing ? ( + <ActivityIndicator /> + ) : ( + <Button + testID="requestCodeBtn" + type="primary" + label={_(msg`Request code`)} + labelStyle={isMobile ? [s.flex1, s.textCenter, s.f17] : []} + style={ + isMobile ? {paddingVertical: 12, paddingHorizontal: 20} : {} + } + onPress={onPressRequest} + /> + )} + </View> + </> + ) : ( + <> <View style={s.pb20}> - <Text - type="md-medium" - style={[pal.text, s.mb2]} - nativeID="password"> - <Trans>Password</Trans> - </Text> + <View + style={[ + s.flexRow, + s.mb5, + s.alignCenter, + {justifyContent: 'space-between'}, + ]}> + <Text + type="md-medium" + style={pal.text} + nativeID="verificationCode"> + <Trans>Verification code</Trans>{' '} + </Text> + <TouchableWithoutFeedback + onPress={onPressRetry} + accessibilityLabel={_(msg`Retry.`)} + accessibilityHint=""> + <View style={styles.touchable}> + <Text + type="md-medium" + style={pal.link} + nativeID="verificationCode"> + <Trans>Retry</Trans> + </Text> + </View> + </TouchableWithoutFeedback> + </View> <TextInput - testID="passwordInput" - icon="lock" - placeholder={_(msg`Choose your password`)} - value={uiState.password} + testID="codeInput" + icon="hashtag" + placeholder={_(msg`XXXXXX`)} + value={uiState.verificationCode} editable - secureTextEntry - onChange={value => uiDispatch({type: 'set-password', value})} - accessibilityLabel={_(msg`Password`)} - accessibilityHint={_(msg`Set password`)} - accessibilityLabelledBy="password" + onChange={value => + uiDispatch({type: 'set-verification-code', value}) + } + accessibilityLabel={_(msg`Email`)} + accessibilityHint={_( + msg`Input the verification code we have texted to you`, + )} + accessibilityLabelledBy="verificationCode" + keyboardType="phone-pad" autoCapitalize="none" - autoComplete="off" + autoComplete="one-time-code" + textContentType="oneTimeCode" autoCorrect={false} + autoFocus={true} /> - </View> - - <View style={s.pb20}> - <Text - type="md-medium" - style={[pal.text, s.mb2]} - nativeID="birthDate"> - <Trans>Your birth date</Trans> + <Text type="sm" style={[pal.textLight, s.mt5]}> + <Trans>Please enter the verification code sent to</Trans>{' '} + {phoneNumberFormatted}. </Text> - <DateInput - handleAsUTC - testID="birthdayInput" - value={birthDate} - onChange={value => uiDispatch({type: 'set-birth-date', value})} - buttonType="default-light" - buttonStyle={[pal.border, styles.dateInputButton]} - buttonLabelType="lg" - accessibilityLabel={_(msg`Birthday`)} - accessibilityHint={_(msg`Enter your birth date`)} - accessibilityLabelledBy="birthDate" - /> </View> - - {uiState.serviceDescription && ( - <Policies - serviceDescription={uiState.serviceDescription} - needsGuardian={!is18(uiState)} - /> - )} </> )} + {uiState.error ? ( <ErrorMessage message={uiState.error} style={styles.error} /> ) : undefined} @@ -179,11 +193,6 @@ const styles = StyleSheet.create({ borderRadius: 6, marginTop: 10, }, - dateInputButton: { - borderWidth: 1, - borderRadius: 6, - paddingVertical: 14, - }, // @ts-expect-error: Suppressing error due to incomplete `ViewStyle` type definition in react-native-web, missing `cursor` prop as discussed in https://github.com/necolas/react-native-web/issues/832. touchable: { ...(isWeb && {cursor: 'pointer'}), diff --git a/src/view/com/auth/create/Step3.tsx b/src/view/com/auth/create/Step3.tsx index 2b2b9f7fe..bc7956da4 100644 --- a/src/view/com/auth/create/Step3.tsx +++ b/src/view/com/auth/create/Step3.tsx @@ -25,7 +25,7 @@ export function Step3({ const {_} = useLingui() return ( <View> - <StepHeader step="3" title={_(msg`Your user handle`)} /> + <StepHeader uiState={uiState} title={_(msg`Your user handle`)} /> <View style={s.pb10}> <TextInput testID="handleInput" diff --git a/src/view/com/auth/create/StepHeader.tsx b/src/view/com/auth/create/StepHeader.tsx index 41f912051..af6bf5478 100644 --- a/src/view/com/auth/create/StepHeader.tsx +++ b/src/view/com/auth/create/StepHeader.tsx @@ -3,27 +3,42 @@ import {StyleSheet, View} from 'react-native' import {Text} from 'view/com/util/text/Text' import {usePalette} from 'lib/hooks/usePalette' import {Trans} from '@lingui/macro' +import {CreateAccountState} from './state' -export function StepHeader({step, title}: {step: string; title: string}) { +export function StepHeader({ + uiState, + title, + children, +}: React.PropsWithChildren<{uiState: CreateAccountState; title: string}>) { const pal = usePalette('default') + const numSteps = uiState.isPhoneVerificationRequired ? 3 : 2 return ( <View style={styles.container}> - <Text type="lg" style={[pal.textLight]}> - {step === '3' ? ( - <Trans>Last step!</Trans> - ) : ( - <Trans>Step {step} of 3</Trans> - )} - </Text> - <Text style={[pal.text]} type="title-xl"> - {title} - </Text> + <View> + <Text type="lg" style={[pal.textLight]}> + {uiState.step === 3 ? ( + <Trans>Last step!</Trans> + ) : ( + <Trans> + Step {uiState.step} of {numSteps} + </Trans> + )} + </Text> + + <Text style={[pal.text]} type="title-xl"> + {title} + </Text> + </View> + {children} </View> ) } const styles = StyleSheet.create({ container: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', marginBottom: 20, }, }) diff --git a/src/view/com/auth/create/state.ts b/src/view/com/auth/create/state.ts index 62a8495b3..7e0310bb3 100644 --- a/src/view/com/auth/create/state.ts +++ b/src/view/com/auth/create/state.ts @@ -2,6 +2,7 @@ import {useReducer} from 'react' import { ComAtprotoServerDescribeServer, ComAtprotoServerCreateAccount, + BskyAgent, } from '@atproto/api' import {I18nContext, useLingui} from '@lingui/react' import {msg} from '@lingui/macro' @@ -13,6 +14,7 @@ import {cleanError} from '#/lib/strings/errors' import {DispatchContext as OnboardingDispatchContext} from '#/state/shell/onboarding' import {ApiContext as SessionApiContext} from '#/state/session' import {DEFAULT_SERVICE} from '#/lib/constants' +import parsePhoneNumber from 'libphonenumber-js' export type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema const DEFAULT_DATE = new Date(Date.now() - 60e3 * 60 * 24 * 365 * 20) // default to 20 years ago @@ -27,6 +29,9 @@ export type CreateAccountAction = | {type: 'set-invite-code'; value: string} | {type: 'set-email'; value: string} | {type: 'set-password'; value: string} + | {type: 'set-verification-phone'; value: string} + | {type: 'set-verification-code'; value: string} + | {type: 'set-has-requested-verification-code'; value: boolean} | {type: 'set-handle'; value: string} | {type: 'set-birth-date'; value: Date} | {type: 'next'} @@ -43,6 +48,9 @@ export interface CreateAccountState { inviteCode: string email: string password: string + verificationPhone: string + verificationCode: string + hasRequestedVerificationCode: boolean handle: string birthDate: Date @@ -50,6 +58,7 @@ export interface CreateAccountState { canBack: boolean canNext: boolean isInviteCodeRequired: boolean + isPhoneVerificationRequired: boolean } export type CreateAccountDispatch = (action: CreateAccountAction) => void @@ -66,15 +75,51 @@ export function useCreateAccount() { inviteCode: '', email: '', password: '', + verificationPhone: '', + verificationCode: '', + hasRequestedVerificationCode: false, handle: '', birthDate: DEFAULT_DATE, canBack: false, canNext: false, isInviteCodeRequired: false, + isPhoneVerificationRequired: false, }) } +export async function requestVerificationCode({ + uiState, + uiDispatch, + _, +}: { + uiState: CreateAccountState + uiDispatch: CreateAccountDispatch + _: I18nContext['_'] +}) { + const phoneNumber = parsePhoneNumber(uiState.verificationPhone, 'US')?.number + if (!phoneNumber) { + return + } + uiDispatch({type: 'set-error', value: ''}) + uiDispatch({type: 'set-processing', value: true}) + uiDispatch({type: 'set-verification-phone', value: phoneNumber}) + try { + const agent = new BskyAgent({service: uiState.serviceUrl}) + await agent.com.atproto.temp.requestPhoneVerification({ + phoneNumber, + }) + uiDispatch({type: 'set-has-requested-verification-code', value: true}) + } catch (e: any) { + logger.error( + `Failed to request sms verification code (${e.status} status)`, + {error: e}, + ) + uiDispatch({type: 'set-error', value: cleanError(e.toString())}) + } + uiDispatch({type: 'set-processing', value: false}) +} + export async function submit({ createAccount, onboardingDispatch, @@ -89,26 +134,36 @@ export async function submit({ _: I18nContext['_'] }) { if (!uiState.email) { - uiDispatch({type: 'set-step', value: 2}) + uiDispatch({type: 'set-step', value: 1}) return uiDispatch({ type: 'set-error', value: _(msg`Please enter your email.`), }) } if (!EmailValidator.validate(uiState.email)) { - uiDispatch({type: 'set-step', value: 2}) + uiDispatch({type: 'set-step', value: 1}) return uiDispatch({ type: 'set-error', value: _(msg`Your email appears to be invalid.`), }) } if (!uiState.password) { - uiDispatch({type: 'set-step', value: 2}) + uiDispatch({type: 'set-step', value: 1}) return uiDispatch({ type: 'set-error', value: _(msg`Please choose your password.`), }) } + if ( + uiState.isPhoneVerificationRequired && + (!uiState.verificationPhone || !uiState.verificationCode) + ) { + uiDispatch({type: 'set-step', value: 2}) + return uiDispatch({ + type: 'set-error', + value: _(msg`Please enter the code you received by SMS.`), + }) + } if (!uiState.handle) { uiDispatch({type: 'set-step', value: 3}) return uiDispatch({ @@ -127,6 +182,8 @@ export async function submit({ handle: createFullHandle(uiState.handle, uiState.userDomain), password: uiState.password, inviteCode: uiState.inviteCode.trim(), + verificationPhone: uiState.verificationPhone.trim(), + verificationCode: uiState.verificationCode.trim(), }) } catch (e: any) { onboardingDispatch({type: 'skip'}) // undo starting the onboard @@ -135,6 +192,9 @@ export async function submit({ errMsg = _( msg`Invite code not accepted. Check that you input it correctly and try again.`, ) + uiDispatch({type: 'set-step', value: 1}) + } else if (e.error === 'InvalidPhoneVerification') { + uiDispatch({type: 'set-step', value: 2}) } if ([400, 429].includes(e.status)) { @@ -201,6 +261,19 @@ function createReducer({_}: {_: I18nContext['_']}) { case 'set-password': { return compute({...state, password: action.value}) } + case 'set-verification-phone': { + return compute({ + ...state, + verificationPhone: action.value, + hasRequestedVerificationCode: false, + }) + } + case 'set-verification-code': { + return compute({...state, verificationCode: action.value.trim()}) + } + case 'set-has-requested-verification-code': { + return compute({...state, hasRequestedVerificationCode: action.value}) + } case 'set-handle': { return compute({...state, handle: action.value}) } @@ -208,7 +281,7 @@ function createReducer({_}: {_: I18nContext['_']}) { return compute({...state, birthDate: action.value}) } case 'next': { - if (state.step === 2) { + if (state.step === 1) { if (!is13(state)) { return compute({ ...state, @@ -218,10 +291,18 @@ function createReducer({_}: {_: I18nContext['_']}) { }) } } - return compute({...state, error: '', step: state.step + 1}) + let increment = 1 + if (state.step === 1 && !state.isPhoneVerificationRequired) { + increment = 2 + } + return compute({...state, error: '', step: state.step + increment}) } case 'back': { - return compute({...state, error: '', step: state.step - 1}) + let decrement = 1 + if (state.step === 3 && !state.isPhoneVerificationRequired) { + decrement = 2 + } + return compute({...state, error: '', step: state.step - decrement}) } } } @@ -230,12 +311,16 @@ function createReducer({_}: {_: I18nContext['_']}) { function compute(state: CreateAccountState): CreateAccountState { let canNext = true if (state.step === 1) { - canNext = !!state.serviceDescription - } else if (state.step === 2) { canNext = + !!state.serviceDescription && (!state.isInviteCodeRequired || !!state.inviteCode) && !!state.email && !!state.password + } else if (state.step === 2) { + canNext = + !state.isPhoneVerificationRequired || + (!!state.verificationPhone && + isValidVerificationCode(state.verificationCode)) } else if (state.step === 3) { canNext = !!state.handle } @@ -244,5 +329,11 @@ function compute(state: CreateAccountState): CreateAccountState { canBack: state.step > 1, canNext, isInviteCodeRequired: !!state.serviceDescription?.inviteCodeRequired, + isPhoneVerificationRequired: + !!state.serviceDescription?.phoneVerificationRequired, } } + +function isValidVerificationCode(str: string): boolean { + return /[0-9]{6}/.test(str) +} diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx index e24fdcf3e..1c2e126c8 100644 --- a/src/view/com/composer/Composer.tsx +++ b/src/view/com/composer/Composer.tsx @@ -45,6 +45,7 @@ import {Gallery} from './photos/Gallery' import {MAX_GRAPHEME_LENGTH} from 'lib/constants' import {LabelsBtn} from './labels/LabelsBtn' import {SelectLangBtn} from './select-language/SelectLangBtn' +import {SuggestedLanguage} from './select-language/SuggestedLanguage' import {insertMentionAt} from 'lib/strings/mention-manip' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' @@ -454,6 +455,7 @@ export const ComposePost = observer(function ComposePost({ ))} </View> ) : null} + <SuggestedLanguage text={richtext.text} /> <View style={[pal.border, styles.bottomBar]}> {canSelectImages ? ( <> diff --git a/src/view/com/composer/select-language/SuggestedLanguage.tsx b/src/view/com/composer/select-language/SuggestedLanguage.tsx new file mode 100644 index 000000000..987d89d36 --- /dev/null +++ b/src/view/com/composer/select-language/SuggestedLanguage.tsx @@ -0,0 +1,101 @@ +import React, {useEffect, useState} from 'react' +import {StyleSheet, View} from 'react-native' +import lande from 'lande' +import {Trans, msg} from '@lingui/macro' +import {useLingui} from '@lingui/react' +import {Text} from '../../util/text/Text' +import {Button} from '../../util/forms/Button' +import {code3ToCode2Strict, codeToLanguageName} from '#/locale/helpers' +import { + toPostLanguages, + useLanguagePrefs, + useLanguagePrefsApi, +} from '#/state/preferences/languages' +import {usePalette} from '#/lib/hooks/usePalette' +import {s} from '#/lib/styles' +import { + FontAwesomeIcon, + FontAwesomeIconStyle, +} from '@fortawesome/react-native-fontawesome' + +// fallbacks for safari +const onIdle = globalThis.requestIdleCallback || (cb => setTimeout(cb, 1)) +const cancelIdle = globalThis.cancelIdleCallback || clearTimeout + +export function SuggestedLanguage({text}: {text: string}) { + const [suggestedLanguage, setSuggestedLanguage] = useState<string>() + const langPrefs = useLanguagePrefs() + const setLangPrefs = useLanguagePrefsApi() + const pal = usePalette('default') + const {_} = useLingui() + + useEffect(() => { + const textTrimmed = text.trim() + + // Don't run the language model on small posts, the results are likely + // to be inaccurate anyway. + if (textTrimmed.length < 40) { + setSuggestedLanguage(undefined) + return + } + + const idle = onIdle(() => { + // Only select languages that have a high confidence and convert to code2 + const result = lande(textTrimmed).filter( + ([lang, value]) => value >= 0.97 && code3ToCode2Strict(lang), + ) + + setSuggestedLanguage( + result.length > 0 ? code3ToCode2Strict(result[0][0]) : undefined, + ) + }) + + return () => cancelIdle(idle) + }, [text]) + + return suggestedLanguage && + !toPostLanguages(langPrefs.postLanguage).includes(suggestedLanguage) ? ( + <View style={[pal.border, styles.infoBar]}> + <FontAwesomeIcon + icon="language" + style={pal.text as FontAwesomeIconStyle} + size={24} + /> + <Text style={[pal.text, s.flex1]}> + <Trans> + Are you writing in{' '} + <Text type="sm-bold" style={pal.text}> + {codeToLanguageName(suggestedLanguage)} + </Text> + ? + </Trans> + </Text> + + <Button + type="default" + onPress={() => setLangPrefs.setPostLanguage(suggestedLanguage)} + accessibilityLabel={_( + msg`Change post language to ${codeToLanguageName(suggestedLanguage)}`, + )} + accessibilityHint=""> + <Text type="button" style={[pal.link, s.fw600]}> + <Trans>Yes</Trans> + </Text> + </Button> + </View> + ) : null +} + +const styles = StyleSheet.create({ + infoBar: { + flexDirection: 'row', + alignItems: 'center', + gap: 10, + borderWidth: 1, + borderRadius: 6, + paddingHorizontal: 16, + paddingVertical: 12, + marginHorizontal: 10, + marginBottom: 10, + }, +}) diff --git a/src/view/com/lists/ListCard.tsx b/src/view/com/lists/ListCard.tsx index 28e98144a..5750faec1 100644 --- a/src/view/com/lists/ListCard.tsx +++ b/src/view/com/lists/ListCard.tsx @@ -94,15 +94,23 @@ export const ListCard = ({ </Trans> ))} </Text> - {!!list.viewer?.muted && ( - <View style={s.flexRow}> + <View style={s.flexRow}> + {list.viewer?.muted ? ( <View style={[s.mt5, pal.btn, styles.pill]}> <Text type="xs" style={pal.text}> - <Trans>Subscribed</Trans> + <Trans>Muted</Trans> </Text> </View> - </View> - )} + ) : null} + + {list.viewer?.blocked ? ( + <View style={[s.mt5, pal.btn, styles.pill]}> + <Text type="xs" style={pal.text}> + <Trans>Blocked</Trans> + </Text> + </View> + ) : null} + </View> </View> {renderButton ? ( <View style={styles.layoutButton}>{renderButton()}</View> diff --git a/src/view/com/modals/DeleteAccount.tsx b/src/view/com/modals/DeleteAccount.tsx index 0cfc098d4..945d7bc89 100644 --- a/src/view/com/modals/DeleteAccount.tsx +++ b/src/view/com/modals/DeleteAccount.tsx @@ -160,7 +160,7 @@ export function Component({}: {}) { {/* TODO: Update this label to be more concise */} <Text type="lg" - style={styles.description} + style={[pal.text, styles.description]} nativeID="confirmationCode"> <Trans> Check your inbox for an email with the confirmation code to @@ -180,7 +180,10 @@ export function Component({}: {}) { msg`Input confirmation code for account deletion`, )} /> - <Text type="lg" style={styles.description} nativeID="password"> + <Text + type="lg" + style={[pal.text, styles.description]} + nativeID="password"> <Trans>Please enter your password as well:</Trans> </Text> <TextInput diff --git a/src/view/com/modals/InAppBrowserConsent.tsx b/src/view/com/modals/InAppBrowserConsent.tsx new file mode 100644 index 000000000..86bb46ca8 --- /dev/null +++ b/src/view/com/modals/InAppBrowserConsent.tsx @@ -0,0 +1,102 @@ +import React from 'react' +import {StyleSheet, View} from 'react-native' + +import {s} from 'lib/styles' +import {Text} from '../util/text/Text' +import {Button} from '../util/forms/Button' +import {ScrollView} from './util' +import {usePalette} from 'lib/hooks/usePalette' + +import {msg, Trans} from '@lingui/macro' +import {useLingui} from '@lingui/react' +import {useModalControls} from '#/state/modals' +import { + useOpenLink, + useSetInAppBrowser, +} from '#/state/preferences/in-app-browser' + +export const snapPoints = [350] + +export function Component({href}: {href: string}) { + const pal = usePalette('default') + const {closeModal} = useModalControls() + const {_} = useLingui() + const setInAppBrowser = useSetInAppBrowser() + const openLink = useOpenLink() + + const onUseIAB = React.useCallback(() => { + setInAppBrowser(true) + closeModal() + openLink(href, true) + }, [closeModal, setInAppBrowser, href, openLink]) + + const onUseLinking = React.useCallback(() => { + setInAppBrowser(false) + closeModal() + openLink(href, false) + }, [closeModal, setInAppBrowser, href, openLink]) + + return ( + <ScrollView + testID="inAppBrowserConsentModal" + style={[s.flex1, pal.view, {paddingHorizontal: 20, paddingTop: 10}]}> + <Text style={[pal.text, styles.title]}> + <Trans>How should we open this link?</Trans> + </Text> + <Text style={pal.text}> + <Trans> + Your choice will be saved, but can be changed later in settings. + </Trans> + </Text> + <View style={[styles.btnContainer]}> + <Button + testID="confirmBtn" + type="inverted" + onPress={onUseIAB} + accessibilityLabel={_(msg`Use in-app browser`)} + accessibilityHint="" + label={_(msg`Use in-app browser`)} + labelContainerStyle={{justifyContent: 'center', padding: 8}} + labelStyle={[s.f18]} + /> + <Button + testID="confirmBtn" + type="inverted" + onPress={onUseLinking} + accessibilityLabel={_(msg`Use my default browser`)} + accessibilityHint="" + label={_(msg`Use my default browser`)} + labelContainerStyle={{justifyContent: 'center', padding: 8}} + labelStyle={[s.f18]} + /> + <Button + testID="cancelBtn" + type="default" + onPress={() => { + closeModal() + }} + accessibilityLabel={_(msg`Cancel`)} + accessibilityHint="" + label="Cancel" + labelContainerStyle={{justifyContent: 'center', padding: 8}} + labelStyle={[s.f18]} + /> + </View> + </ScrollView> + ) +} + +const styles = StyleSheet.create({ + title: { + textAlign: 'center', + fontWeight: 'bold', + fontSize: 24, + marginBottom: 12, + }, + btnContainer: { + marginTop: 20, + flexDirection: 'column', + justifyContent: 'center', + rowGap: 10, + }, +}) diff --git a/src/view/com/modals/LinkWarning.tsx b/src/view/com/modals/LinkWarning.tsx index 39e6cc3e6..81fdc7285 100644 --- a/src/view/com/modals/LinkWarning.tsx +++ b/src/view/com/modals/LinkWarning.tsx @@ -1,5 +1,5 @@ import React from 'react' -import {Linking, SafeAreaView, StyleSheet, View} from 'react-native' +import {SafeAreaView, StyleSheet, View} from 'react-native' import {ScrollView} from './util' import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' import {Text} from '../util/text/Text' @@ -12,6 +12,7 @@ import {isPossiblyAUrl, splitApexDomain} from 'lib/strings/url-helpers' import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useModalControls} from '#/state/modals' +import {useOpenLink} from '#/state/preferences/in-app-browser' export const snapPoints = ['50%'] @@ -21,10 +22,11 @@ export function Component({text, href}: {text: string; href: string}) { const {isMobile} = useWebMediaQueries() const {_} = useLingui() const potentiallyMisleading = isPossiblyAUrl(text) + const openLink = useOpenLink() const onPressVisit = () => { closeModal() - Linking.openURL(href) + openLink(href) } return ( diff --git a/src/view/com/modals/Modal.tsx b/src/view/com/modals/Modal.tsx index f9d211d07..7f814d971 100644 --- a/src/view/com/modals/Modal.tsx +++ b/src/view/com/modals/Modal.tsx @@ -39,6 +39,7 @@ import * as ChangeEmailModal from './ChangeEmail' import * as SwitchAccountModal from './SwitchAccount' import * as LinkWarningModal from './LinkWarning' import * as EmbedConsentModal from './EmbedConsent' +import * as InAppBrowserConsentModal from './InAppBrowserConsent' const DEFAULT_SNAPPOINTS = ['90%'] const HANDLE_HEIGHT = 24 @@ -180,6 +181,9 @@ export function ModalsContainer() { } else if (activeModal?.name === 'embed-consent') { snapPoints = EmbedConsentModal.snapPoints element = <EmbedConsentModal.Component {...activeModal} /> + } else if (activeModal?.name === 'in-app-browser-consent') { + snapPoints = InAppBrowserConsentModal.snapPoints + element = <InAppBrowserConsentModal.Component {...activeModal} /> } else { return null } diff --git a/src/view/com/pager/FeedsTabBarMobile.tsx b/src/view/com/pager/FeedsTabBarMobile.tsx index 2c5ba5dfb..9c562f67d 100644 --- a/src/view/com/pager/FeedsTabBarMobile.tsx +++ b/src/view/com/pager/FeedsTabBarMobile.tsx @@ -20,6 +20,11 @@ import {useNavigation} from '@react-navigation/native' import {NavigationProp} from 'lib/routes/types' import {Logo} from '#/view/icons/Logo' +import {IS_DEV} from '#/env' +import {atoms} from '#/alf' +import {Link as Link2} from '#/components/Link' +import {ColorPalette_Stroke2_Corner0_Rounded as ColorPalette} from '#/components/icons/ColorPalette' + export function FeedsTabBar( props: RenderTabBarFnProps & {testID?: string; onPressSelected: () => void}, ) { @@ -68,7 +73,7 @@ export function FeedsTabBar( headerHeight.value = e.nativeEvent.layout.height }}> <View style={[pal.view, styles.topBar]}> - <View style={[pal.view]}> + <View style={[pal.view, {width: 100}]}> <TouchableOpacity testID="viewHeaderDrawerBtn" onPress={onPressAvi} @@ -88,7 +93,21 @@ export function FeedsTabBar( <View> <Logo width={30} /> </View> - <View style={[pal.view, {width: 18}]}> + <View + style={[ + atoms.flex_row, + atoms.justify_end, + atoms.align_center, + atoms.gap_md, + pal.view, + {width: 100}, + ]}> + {IS_DEV && ( + <Link2 to="/sys/debug"> + <ColorPalette size="md" /> + </Link2> + )} + {hasSession && ( <Link testID="viewHeaderHomeFeedPrefsBtn" diff --git a/src/view/com/posts/DiscoverFallbackHeader.tsx b/src/view/com/posts/DiscoverFallbackHeader.tsx new file mode 100644 index 000000000..ffde89997 --- /dev/null +++ b/src/view/com/posts/DiscoverFallbackHeader.tsx @@ -0,0 +1,43 @@ +import React from 'react' +import {View} from 'react-native' +import {Trans} from '@lingui/macro' +import {Text} from '../util/text/Text' +import {usePalette} from '#/lib/hooks/usePalette' +import {TextLink} from '../util/Link' +import {InfoCircleIcon} from '#/lib/icons' + +export function DiscoverFallbackHeader() { + const pal = usePalette('default') + return ( + <View + style={[ + { + flexDirection: 'row', + alignItems: 'center', + paddingVertical: 12, + paddingHorizontal: 12, + borderTopWidth: 1, + }, + pal.border, + pal.viewLight, + ]}> + <View style={{width: 68, paddingLeft: 12}}> + <InfoCircleIcon size={36} style={pal.textLight} strokeWidth={1.5} /> + </View> + <View style={{flex: 1}}> + <Text type="md" style={pal.text}> + <Trans> + We ran out of posts from your follows. Here's the latest from{' '} + <TextLink + type="md-medium" + href="/profile/bsky.app/feed/whats-hot" + text="Discover" + style={pal.link} + /> + . + </Trans> + </Text> + </View> + </View> + ) +} diff --git a/src/view/com/posts/Feed.tsx b/src/view/com/posts/Feed.tsx index cd9f26463..04753fe6c 100644 --- a/src/view/com/posts/Feed.tsx +++ b/src/view/com/posts/Feed.tsx @@ -30,6 +30,8 @@ import {useSession} from '#/state/session' import {STALE} from '#/state/queries' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' +import {DiscoverFallbackHeader} from './DiscoverFallbackHeader' +import {FALLBACK_MARKER_POST} from '#/lib/api/feed/home' const LOADING_ITEM = {_reactKey: '__loading__'} const EMPTY_FEED_ITEM = {_reactKey: '__empty__'} @@ -265,6 +267,12 @@ let Feed = ({ ) } else if (item === LOADING_ITEM) { return <PostFeedLoadingPlaceholder /> + } else if (item.rootUri === FALLBACK_MARKER_POST.post.uri) { + // HACK + // tell the user we fell back to discover + // see home.ts (feed api) for more info + // -prf + return <DiscoverFallbackHeader /> } return <FeedSlice slice={item} /> }, diff --git a/src/view/com/util/Link.tsx b/src/view/com/util/Link.tsx index dcbec7cb4..4f898767d 100644 --- a/src/view/com/util/Link.tsx +++ b/src/view/com/util/Link.tsx @@ -1,6 +1,5 @@ import React, {ComponentProps, memo, useMemo} from 'react' import { - Linking, GestureResponderEvent, Platform, StyleProp, @@ -31,6 +30,7 @@ import {sanitizeUrl} from '@braintree/sanitize-url' import {PressableWithHover} from './PressableWithHover' import FixedTouchableHighlight from '../pager/FixedTouchableHighlight' import {useModalControls} from '#/state/modals' +import {useOpenLink} from '#/state/preferences/in-app-browser' type Event = | React.MouseEvent<HTMLAnchorElement, MouseEvent> @@ -65,6 +65,7 @@ export const Link = memo(function Link({ const {closeModal} = useModalControls() const navigation = useNavigation<NavigationProp>() const anchorHref = asAnchor ? sanitizeUrl(href) : undefined + const openLink = useOpenLink() const onPress = React.useCallback( (e?: Event) => { @@ -74,11 +75,12 @@ export const Link = memo(function Link({ navigation, sanitizeUrl(href), navigationAction, + openLink, e, ) } }, - [closeModal, navigation, navigationAction, href], + [closeModal, navigation, navigationAction, href, openLink], ) if (noFeedback) { @@ -172,6 +174,7 @@ export const TextLink = memo(function TextLink({ const {...props} = useLinkProps({to: sanitizeUrl(href)}) const navigation = useNavigation<NavigationProp>() const {openModal, closeModal} = useModalControls() + const openLink = useOpenLink() if (warnOnMismatchingLabel && typeof text !== 'string') { console.error('Unable to detect mismatching label') @@ -200,6 +203,7 @@ export const TextLink = memo(function TextLink({ navigation, sanitizeUrl(href), navigationAction, + openLink, e, ) }, @@ -212,6 +216,7 @@ export const TextLink = memo(function TextLink({ text, warnOnMismatchingLabel, navigationAction, + openLink, ], ) const hrefAttrs = useMemo(() => { @@ -317,6 +322,7 @@ function onPressInner( navigation: NavigationProp, href: string, navigationAction: 'push' | 'replace' | 'navigate' = 'push', + openLink: (href: string) => void, e?: Event, ) { let shouldHandle = false @@ -345,7 +351,7 @@ function onPressInner( if (shouldHandle) { href = convertBskyAppUrlIfNeeded(href) if (newTab || href.startsWith('http') || href.startsWith('mailto')) { - Linking.openURL(href) + openLink(href) } else { closeModal() // close any active modals diff --git a/src/view/com/util/post-embeds/index.tsx b/src/view/com/util/post-embeds/index.tsx index 00a102e7b..6f168a293 100644 --- a/src/view/com/util/post-embeds/index.tsx +++ b/src/view/com/util/post-embeds/index.tsx @@ -22,7 +22,6 @@ import {Link} from '../Link' import {ImageLayoutGrid} from '../images/ImageLayoutGrid' import {useLightboxControls, ImagesLightbox} from '#/state/lightbox' import {usePalette} from 'lib/hooks/usePalette' -import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries' import {ExternalLinkEmbed} from './ExternalLinkEmbed' import {MaybeQuoteEmbed} from './QuoteEmbed' import {AutoSizedImage} from '../images/AutoSizedImage' @@ -51,7 +50,6 @@ export function PostEmbeds({ }) { const pal = usePalette('default') const {openLightbox} = useLightboxControls() - const {isMobile} = useWebMediaQueries() // quote post with media // = @@ -129,10 +127,7 @@ export function PostEmbeds({ dimensionsHint={aspectRatio} onPress={() => _openLightbox(0)} onPressIn={() => onPressIn(0)} - style={[ - styles.singleImage, - isMobile && styles.singleImageMobile, - ]}> + style={[styles.singleImage]}> {alt === '' ? null : ( <View style={styles.altContainer}> <Text style={styles.alt} accessible={false}> @@ -151,11 +146,7 @@ export function PostEmbeds({ images={embed.images} onPress={_openLightbox} onPressIn={onPressIn} - style={ - embed.images.length === 1 - ? [styles.singleImage, isMobile && styles.singleImageMobile] - : undefined - } + style={embed.images.length === 1 ? [styles.singleImage] : undefined} /> </View> ) @@ -188,10 +179,6 @@ const styles = StyleSheet.create({ }, singleImage: { borderRadius: 8, - maxHeight: 1000, - }, - singleImageMobile: { - maxHeight: 500, }, extOuter: { borderWidth: 1, diff --git a/src/view/icons/Logo.tsx b/src/view/icons/Logo.tsx index 15ab5a11c..9212381a9 100644 --- a/src/view/icons/Logo.tsx +++ b/src/view/icons/Logo.tsx @@ -1,4 +1,5 @@ import React from 'react' +import {StyleSheet, TextProps} from 'react-native' import Svg, { Path, Defs, @@ -14,12 +15,14 @@ const ratio = 57 / 64 type Props = { fill?: PathProps['fill'] -} & SvgProps + style?: TextProps['style'] +} & Omit<SvgProps, 'style'> export const Logo = React.forwardRef(function LogoImpl(props: Props, ref) { const {fill, ...rest} = props const gradient = fill === 'sky' - const _fill = gradient ? 'url(#sky)' : fill || colors.blue3 + const styles = StyleSheet.flatten(props.style) + const _fill = gradient ? 'url(#sky)' : fill || styles?.color || colors.blue3 // @ts-ignore it's fiiiiine const size = parseInt(rest.width || 32) return ( @@ -29,7 +32,7 @@ export const Logo = React.forwardRef(function LogoImpl(props: Props, ref) { ref={ref} viewBox="0 0 64 57" {...rest} - style={{width: size, height: size * ratio}}> + style={[{width: size, height: size * ratio}, styles]}> {gradient && ( <Defs> <LinearGradient id="sky" x1="0" y1="0" x2="0" y2="1"> diff --git a/src/view/icons/index.tsx b/src/view/icons/index.tsx index 221b9702c..be139d2f2 100644 --- a/src/view/icons/index.tsx +++ b/src/view/icons/index.tsx @@ -52,6 +52,7 @@ import {faGear} from '@fortawesome/free-solid-svg-icons/faGear' import {faGlobe} from '@fortawesome/free-solid-svg-icons/faGlobe' import {faHand} from '@fortawesome/free-solid-svg-icons/faHand' import {faHand as farHand} from '@fortawesome/free-regular-svg-icons/faHand' +import {faHashtag} from '@fortawesome/free-solid-svg-icons/faHashtag' import {faHeart} from '@fortawesome/free-regular-svg-icons/faHeart' import {faHeart as fasHeart} from '@fortawesome/free-solid-svg-icons/faHeart' import {faHouse} from '@fortawesome/free-solid-svg-icons/faHouse' @@ -71,6 +72,7 @@ import {faPaste} from '@fortawesome/free-regular-svg-icons/faPaste' import {faPen} from '@fortawesome/free-solid-svg-icons/faPen' import {faPenNib} from '@fortawesome/free-solid-svg-icons/faPenNib' import {faPenToSquare} from '@fortawesome/free-solid-svg-icons/faPenToSquare' +import {faPhone} from '@fortawesome/free-solid-svg-icons/faPhone' import {faPlay} from '@fortawesome/free-solid-svg-icons/faPlay' import {faPlus} from '@fortawesome/free-solid-svg-icons/faPlus' import {faQuoteLeft} from '@fortawesome/free-solid-svg-icons/faQuoteLeft' @@ -78,6 +80,7 @@ import {faReply} from '@fortawesome/free-solid-svg-icons/faReply' import {faRetweet} from '@fortawesome/free-solid-svg-icons/faRetweet' import {faRss} from '@fortawesome/free-solid-svg-icons/faRss' import {faSatelliteDish} from '@fortawesome/free-solid-svg-icons/faSatelliteDish' +import {faServer} from '@fortawesome/free-solid-svg-icons/faServer' import {faShare} from '@fortawesome/free-solid-svg-icons/faShare' import {faShareFromSquare} from '@fortawesome/free-solid-svg-icons/faShareFromSquare' import {faShield} from '@fortawesome/free-solid-svg-icons/faShield' @@ -153,6 +156,7 @@ library.add( faGlobe, faHand, farHand, + faHashtag, faHeart, fasHeart, faHouse, @@ -172,6 +176,7 @@ library.add( faPen, faPenNib, faPenToSquare, + faPhone, faPlay, faPlus, faQuoteLeft, @@ -179,6 +184,7 @@ library.add( faRetweet, faRss, faSatelliteDish, + faServer, faShare, faShareFromSquare, faShield, diff --git a/src/view/screens/DebugNew.tsx b/src/view/screens/DebugNew.tsx deleted file mode 100644 index 0b7c5f03b..000000000 --- a/src/view/screens/DebugNew.tsx +++ /dev/null @@ -1,541 +0,0 @@ -import React from 'react' -import {View} from 'react-native' -import {CenteredView, ScrollView} from '#/view/com/util/Views' -import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome' - -import {useSetColorMode} from '#/state/shell' -import * as tokens from '#/alf/tokens' -import {atoms as a, useTheme, useBreakpoints, ThemeProvider as Alf} from '#/alf' -import {Button, ButtonText} from '#/view/com/Button' -import {Text, H1, H2, H3, H4, H5, H6} from '#/view/com/Typography' - -function ThemeSelector() { - const setColorMode = useSetColorMode() - - return ( - <View style={[a.flex_row, a.gap_md]}> - <Button - type="secondary" - size="small" - onPress={() => setColorMode('system')}> - System - </Button> - <Button - type="secondary" - size="small" - onPress={() => setColorMode('light')}> - Light - </Button> - <Button - type="secondary" - size="small" - onPress={() => setColorMode('dark')}> - Dark - </Button> - </View> - ) -} - -function BreakpointDebugger() { - const t = useTheme() - const breakpoints = useBreakpoints() - - return ( - <View> - <H3 style={[a.pb_md]}>Breakpoint Debugger</H3> - <Text style={[a.pb_md]}> - Current breakpoint: {!breakpoints.gtMobile && <Text>mobile</Text>} - {breakpoints.gtMobile && !breakpoints.gtTablet && <Text>tablet</Text>} - {breakpoints.gtTablet && <Text>desktop</Text>} - </Text> - <Text - style={[a.p_md, t.atoms.bg_contrast_100, {fontFamily: 'monospace'}]}> - {JSON.stringify(breakpoints, null, 2)} - </Text> - </View> - ) -} - -function ThemedSection() { - const t = useTheme() - - return ( - <View style={[t.atoms.bg, a.gap_md, a.p_xl]}> - <H3 style={[a.font_bold]}>theme.atoms.text</H3> - <View style={[a.flex_1, t.atoms.border, a.border_t]} /> - <H3 style={[a.font_bold, t.atoms.text_contrast_700]}> - theme.atoms.text_contrast_700 - </H3> - <View style={[a.flex_1, t.atoms.border, a.border_t]} /> - <H3 style={[a.font_bold, t.atoms.text_contrast_500]}> - theme.atoms.text_contrast_500 - </H3> - <View style={[a.flex_1, t.atoms.border_contrast_500, a.border_t]} /> - - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - t.atoms.bg, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg</Text> - </View> - <View - style={[ - a.flex_1, - t.atoms.bg_contrast_100, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg_contrast_100</Text> - </View> - </View> - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - t.atoms.bg_contrast_200, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg_contrast_200</Text> - </View> - <View - style={[ - a.flex_1, - t.atoms.bg_contrast_300, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg_contrast_300</Text> - </View> - </View> - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - t.atoms.bg_positive, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg_positive</Text> - </View> - <View - style={[ - a.flex_1, - t.atoms.bg_negative, - a.align_center, - a.justify_center, - {height: 60}, - ]}> - <Text>theme.bg_negative</Text> - </View> - </View> - </View> - ) -} - -export function DebugScreen() { - const t = useTheme() - - return ( - <ScrollView> - <CenteredView style={[t.atoms.bg]}> - <View style={[a.p_xl, a.gap_xxl, {paddingBottom: 200}]}> - <ThemeSelector /> - - <Alf theme="light"> - <ThemedSection /> - </Alf> - <Alf theme="dark"> - <ThemedSection /> - </Alf> - - <H1>Heading 1</H1> - <H2>Heading 2</H2> - <H3>Heading 3</H3> - <H4>Heading 4</H4> - <H5>Heading 5</H5> - <H6>Heading 6</H6> - - <Text style={[a.text_xxl]}>atoms.text_xxl</Text> - <Text style={[a.text_xl]}>atoms.text_xl</Text> - <Text style={[a.text_lg]}>atoms.text_lg</Text> - <Text style={[a.text_md]}>atoms.text_md</Text> - <Text style={[a.text_sm]}>atoms.text_sm</Text> - <Text style={[a.text_xs]}>atoms.text_xs</Text> - <Text style={[a.text_xxs]}>atoms.text_xxs</Text> - - <View style={[a.gap_md, a.align_start]}> - <Button> - {({state}) => ( - <View style={[a.p_md, a.rounded_full, t.atoms.bg_contrast_300]}> - <Text>Unstyled button, state: {JSON.stringify(state)}</Text> - </View> - )} - </Button> - - <Button type="primary" size="small"> - Button - </Button> - <Button type="secondary" size="small"> - Button - </Button> - - <Button type="primary" size="large"> - Button - </Button> - <Button type="secondary" size="large"> - Button - </Button> - - <Button type="secondary" size="small"> - {({type, size}) => ( - <> - <FontAwesomeIcon icon={['fas', 'plus']} size={12} /> - <ButtonText type={type} size={size}> - With an icon - </ButtonText> - </> - )} - </Button> - <Button type="primary" size="large"> - {({state: _state, ...rest}) => ( - <> - <FontAwesomeIcon icon={['fas', 'plus']} /> - <ButtonText {...rest}>With an icon</ButtonText> - </> - )} - </Button> - </View> - - <View style={[a.gap_md]}> - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_0}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_100}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_200}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_300}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_400}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_500}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_600}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_700}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_800}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_900}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.gray_1000}, - ]} - /> - </View> - - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_0}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_100}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_200}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_300}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_400}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_500}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_600}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_700}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_800}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_900}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.blue_1000}, - ]} - /> - </View> - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_0}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_100}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_200}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_300}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_400}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_500}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_600}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_700}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_800}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_900}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.green_1000}, - ]} - /> - </View> - <View style={[a.flex_row, a.gap_md]}> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_0}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_100}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_200}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_300}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_400}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_500}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_600}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_700}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_800}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_900}, - ]} - /> - <View - style={[ - a.flex_1, - {height: 60, backgroundColor: tokens.color.red_1000}, - ]} - /> - </View> - </View> - - <View> - <H3 style={[a.pb_md, a.font_bold]}>Spacing</H3> - - <View style={[a.gap_md]}> - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>xxs (2px)</Text> - <View style={[a.flex_1, a.pt_xxs, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>xs (4px)</Text> - <View style={[a.flex_1, a.pt_xs, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>sm (8px)</Text> - <View style={[a.flex_1, a.pt_sm, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>md (12px)</Text> - <View style={[a.flex_1, a.pt_md, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>lg (18px)</Text> - <View style={[a.flex_1, a.pt_lg, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>xl (24px)</Text> - <View style={[a.flex_1, a.pt_xl, t.atoms.bg_contrast_300]} /> - </View> - - <View style={[a.flex_row, a.align_center]}> - <Text style={{width: 80}}>xxl (32px)</Text> - <View style={[a.flex_1, a.pt_xxl, t.atoms.bg_contrast_300]} /> - </View> - </View> - </View> - - <BreakpointDebugger /> - </View> - </CenteredView> - </ScrollView> - ) -} diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx index 0e20a9cf7..7d6a40f02 100644 --- a/src/view/screens/Home.tsx +++ b/src/view/screens/Home.tsx @@ -19,7 +19,6 @@ import {useSession} from '#/state/session' import {loadString, saveString} from '#/lib/storage' import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' import {clamp} from '#/lib/numbers' -import {PROD_DEFAULT_FEED} from '#/lib/constants' type Props = NativeStackScreenProps<HomeTabNavigatorParams, 'Home'> export function HomeScreen(props: Props) { @@ -112,7 +111,7 @@ function HomeScreenReady({ mergeFeedEnabled: Boolean(preferences.feedViewPrefs.lab_mergeFeedEnabled), mergeFeedSources: preferences.feedViewPrefs.lab_mergeFeedEnabled ? preferences.feeds.saved - : [PROD_DEFAULT_FEED('whats-hot')], + : [], } }, [preferences]) diff --git a/src/view/screens/Settings.tsx b/src/view/screens/Settings.tsx index c078e7a23..1f117b45b 100644 --- a/src/view/screens/Settings.tsx +++ b/src/view/screens/Settings.tsx @@ -70,6 +70,11 @@ 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' function SettingsAccountCard({account}: {account: SessionAccount}) { const pal = usePalette('default') @@ -146,6 +151,8 @@ export function SettingsScreen({}: Props) { const setMinimalShellMode = useSetMinimalShellMode() const requireAltTextEnabled = useRequireAltTextEnabled() const setRequireAltTextEnabled = useSetRequireAltTextEnabled() + const inAppBrowserPref = useInAppBrowser() + const setUseInAppBrowser = useSetInAppBrowser() const onboardingDispatch = useOnboardingDispatch() const navigation = useNavigation<NavigationProp>() const {isMobile} = useWebMediaQueries() @@ -313,8 +320,14 @@ export function SettingsScreen({}: Props) { /> </> )} - <Text type="lg" style={pal.text}> - {currentAccount.email || '(no email)'}{' '} + <Text + type="lg" + numberOfLines={1} + style={[ + pal.text, + {overflow: 'hidden', marginRight: 4, flex: 1}, + ]}> + {currentAccount.email || '(no email)'} </Text> <Link onPress={() => openModal({name: 'change-email'})}> <Text type="lg" style={pal.link}> @@ -658,6 +671,17 @@ export function SettingsScreen({}: Props) { <Trans>Change handle</Trans> </Text> </TouchableOpacity> + {isNative && ( + <View style={[pal.view, styles.toggleCard]}> + <ToggleButton + type="default-light" + label={_(msg`Open links with in-app browser`)} + labelType="lg" + isSelected={inAppBrowserPref ?? false} + onPress={() => setUseInAppBrowser(!inAppBrowserPref)} + /> + </View> + )} <View style={styles.spacer20} /> <Text type="xl-bold" style={[pal.text, styles.heading]}> <Trans>Danger Zone</Trans> diff --git a/src/view/screens/Storybook/Breakpoints.tsx b/src/view/screens/Storybook/Breakpoints.tsx new file mode 100644 index 000000000..1b846d517 --- /dev/null +++ b/src/view/screens/Storybook/Breakpoints.tsx @@ -0,0 +1,25 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a, useTheme, useBreakpoints} from '#/alf' +import {Text, H3} from '#/components/Typography' + +export function Breakpoints() { + const t = useTheme() + const breakpoints = useBreakpoints() + + return ( + <View> + <H3 style={[a.pb_md]}>Breakpoint Debugger</H3> + <Text style={[a.pb_md]}> + Current breakpoint: {!breakpoints.gtMobile && <Text>mobile</Text>} + {breakpoints.gtMobile && !breakpoints.gtTablet && <Text>tablet</Text>} + {breakpoints.gtTablet && <Text>desktop</Text>} + </Text> + <Text + style={[a.p_md, t.atoms.bg_contrast_100, {fontFamily: 'monospace'}]}> + {JSON.stringify(breakpoints, null, 2)} + </Text> + </View> + ) +} diff --git a/src/view/screens/Storybook/Buttons.tsx b/src/view/screens/Storybook/Buttons.tsx new file mode 100644 index 000000000..fbdc84eb4 --- /dev/null +++ b/src/view/screens/Storybook/Buttons.tsx @@ -0,0 +1,124 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a} from '#/alf' +import { + Button, + ButtonVariant, + ButtonColor, + ButtonIcon, + ButtonText, +} from '#/components/Button' +import {H1} from '#/components/Typography' +import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight' +import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe' + +export function Buttons() { + return ( + <View style={[a.gap_md]}> + <H1>Buttons</H1> + + <View style={[a.flex_row, a.flex_wrap, a.gap_md, a.align_start]}> + {['primary', 'secondary', 'negative'].map(color => ( + <View key={color} style={[a.gap_md, a.align_start]}> + {['solid', 'outline', 'ghost'].map(variant => ( + <React.Fragment key={variant}> + <Button + variant={variant as ButtonVariant} + color={color as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + <Button + disabled + variant={variant as ButtonVariant} + color={color as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + </React.Fragment> + ))} + </View> + ))} + + <View style={[a.flex_row, a.gap_md, a.align_start]}> + <View style={[a.gap_md, a.align_start]}> + {['gradient_sky', 'gradient_midnight', 'gradient_sunrise'].map( + name => ( + <React.Fragment key={name}> + <Button + variant="gradient" + color={name as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + <Button + disabled + variant="gradient" + color={name as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + </React.Fragment> + ), + )} + </View> + <View style={[a.gap_md, a.align_start]}> + {['gradient_sunset', 'gradient_nordic', 'gradient_bonfire'].map( + name => ( + <React.Fragment key={name}> + <Button + variant="gradient" + color={name as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + <Button + disabled + variant="gradient" + color={name as ButtonColor} + size="large" + label="Click here"> + Button + </Button> + </React.Fragment> + ), + )} + </View> + </View> + + <Button + variant="gradient" + color="gradient_sky" + size="large" + label="Link out"> + <ButtonText>Link out</ButtonText> + <ButtonIcon icon={ArrowTopRight} /> + </Button> + + <Button + variant="gradient" + color="gradient_sky" + size="small" + label="Link out"> + <ButtonText>Link out</ButtonText> + <ButtonIcon icon={ArrowTopRight} /> + </Button> + + <Button + variant="gradient" + color="gradient_sky" + size="small" + label="Link out"> + <ButtonIcon icon={Globe} /> + <ButtonText>See the world</ButtonText> + </Button> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Dialogs.tsx b/src/view/screens/Storybook/Dialogs.tsx new file mode 100644 index 000000000..db568c6bd --- /dev/null +++ b/src/view/screens/Storybook/Dialogs.tsx @@ -0,0 +1,90 @@ +import React from 'react' +import {View} from 'react-native' + +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' + +export function Dialogs() { + const control = Dialog.useDialogControl() + const prompt = Prompt.usePromptControl() + const {closeAllDialogs} = useDialogStateControlContext() + + return ( + <View style={[a.gap_md]}> + <Button + variant="outline" + color="secondary" + size="small" + onPress={() => { + control.open() + prompt.open() + }} + label="Open basic dialog"> + Open basic dialog + </Button> + + <Button + variant="solid" + color="primary" + size="small" + onPress={() => prompt.open()} + label="Open prompt"> + Open prompt + </Button> + + <Prompt.Outer control={prompt}> + <Prompt.Title>This is a prompt</Prompt.Title> + <Prompt.Description> + This is a generic prompt component. It accepts a title and a + description, as well as two actions. + </Prompt.Description> + <Prompt.Actions> + <Prompt.Cancel>Cancel</Prompt.Cancel> + <Prompt.Action>Confirm</Prompt.Action> + </Prompt.Actions> + </Prompt.Outer> + + <Dialog.Outer + control={control} + nativeOptions={{sheet: {snapPoints: ['90%']}}}> + <Dialog.Handle /> + + <Dialog.ScrollableInner + accessibilityDescribedBy="dialog-description" + accessibilityLabelledBy="dialog-title"> + <View style={[a.relative, a.gap_md, a.w_full]}> + <H3 nativeID="dialog-title">Dialog</H3> + <P nativeID="dialog-description"> + A scrollable dialog with an input within it. + </P> + <Dialog.Input value="" onChangeText={() => {}} label="Type here" /> + + <Button + variant="outline" + color="secondary" + size="small" + onPress={closeAllDialogs} + label="Close all dialogs"> + Close all dialogs + </Button> + <View style={{height: 1000}} /> + <View style={[a.flex_row, a.justify_end]}> + <Button + variant="outline" + color="primary" + size="small" + onPress={() => control.close()} + label="Open basic dialog"> + Close basic dialog + </Button> + </View> + </View> + </Dialog.ScrollableInner> + </Dialog.Outer> + </View> + ) +} diff --git a/src/view/screens/Storybook/Forms.tsx b/src/view/screens/Storybook/Forms.tsx new file mode 100644 index 000000000..9396cca67 --- /dev/null +++ b/src/view/screens/Storybook/Forms.tsx @@ -0,0 +1,215 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a} from '#/alf' +import {H1, H3} from '#/components/Typography' +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' + +export function Forms() { + const [toggleGroupAValues, setToggleGroupAValues] = React.useState(['a']) + const [toggleGroupBValues, setToggleGroupBValues] = React.useState(['a', 'b']) + const [toggleGroupCValues, setToggleGroupCValues] = React.useState(['a', 'b']) + const [toggleGroupDValues, setToggleGroupDValues] = React.useState(['warn']) + + const [value, setValue] = React.useState('') + const [date, setDate] = React.useState('2001-01-01') + + return ( + <View style={[a.gap_4xl, a.align_start]}> + <H1>Forms</H1> + + <View style={[a.gap_md, a.align_start, a.w_full]}> + <H3>InputText</H3> + + <TextField.Input + value={value} + onChangeText={setValue} + label="Text field" + /> + + <TextField.Root> + <TextField.Icon icon={Globe} /> + <TextField.Input + value={value} + onChangeText={setValue} + label="Text field" + /> + </TextField.Root> + + <View style={[a.w_full]}> + <TextField.Label>Text field</TextField.Label> + <TextField.Root> + <TextField.Icon icon={Globe} /> + <TextField.Input + value={value} + onChangeText={setValue} + label="Text field" + /> + <TextField.Suffix label="@gmail.com">@gmail.com</TextField.Suffix> + </TextField.Root> + </View> + + <View style={[a.w_full]}> + <TextField.Label>Textarea</TextField.Label> + <TextField.Input + multiline + numberOfLines={4} + value={value} + onChangeText={setValue} + label="Text field" + /> + </View> + + <H3>DateField</H3> + + <View style={[a.w_full]}> + <Label>Date</Label> + <DateField + testID="date" + value={date} + onChangeDate={date => { + console.log(date) + setDate(date) + }} + label="Input" + /> + </View> + </View> + + <View style={[a.gap_md, a.align_start, a.w_full]}> + <H3>Toggles</H3> + + <Toggle.Item name="a" label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Uncontrolled toggle</Toggle.Label> + </Toggle.Item> + + <Toggle.Group + label="Toggle" + type="checkbox" + maxSelections={2} + values={toggleGroupAValues} + onChange={setToggleGroupAValues}> + <View style={[a.gap_md]}> + <Toggle.Item name="a" label="Click me"> + <Toggle.Switch /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="b" label="Click me"> + <Toggle.Switch /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="c" label="Click me"> + <Toggle.Switch /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="d" disabled label="Click me"> + <Toggle.Switch /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="e" isInvalid label="Click me"> + <Toggle.Switch /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + </View> + </Toggle.Group> + + <Toggle.Group + label="Toggle" + type="checkbox" + maxSelections={2} + values={toggleGroupBValues} + onChange={setToggleGroupBValues}> + <View style={[a.gap_md]}> + <Toggle.Item name="a" label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="b" label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="c" label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="d" disabled label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="e" isInvalid label="Click me"> + <Toggle.Checkbox /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + </View> + </Toggle.Group> + + <Toggle.Group + label="Toggle" + type="radio" + values={toggleGroupCValues} + onChange={setToggleGroupCValues}> + <View style={[a.gap_md]}> + <Toggle.Item name="a" label="Click me"> + <Toggle.Radio /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="b" label="Click me"> + <Toggle.Radio /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="c" label="Click me"> + <Toggle.Radio /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="d" disabled label="Click me"> + <Toggle.Radio /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + <Toggle.Item name="e" isInvalid label="Click me"> + <Toggle.Radio /> + <Toggle.Label>Click me</Toggle.Label> + </Toggle.Item> + </View> + </Toggle.Group> + </View> + + <Button + variant="gradient" + color="gradient_nordic" + size="small" + label="Reset all toggles" + onPress={() => { + setToggleGroupAValues(['a']) + setToggleGroupBValues(['a', 'b']) + setToggleGroupCValues(['a']) + }}> + Reset all toggles + </Button> + + <View style={[a.gap_md, a.align_start, a.w_full]}> + <H3>ToggleButton</H3> + + <ToggleButton.Group + label="Preferences" + values={toggleGroupDValues} + onChange={setToggleGroupDValues}> + <ToggleButton.Button name="hide" label="Hide"> + Hide + </ToggleButton.Button> + <ToggleButton.Button name="warn" label="Warn"> + Warn + </ToggleButton.Button> + <ToggleButton.Button name="show" label="Show"> + Show + </ToggleButton.Button> + </ToggleButton.Group> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Icons.tsx b/src/view/screens/Storybook/Icons.tsx new file mode 100644 index 000000000..73466e077 --- /dev/null +++ b/src/view/screens/Storybook/Icons.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a, useTheme} from '#/alf' +import {H1} from '#/components/Typography' +import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe' +import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight' +import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays' + +export function Icons() { + const t = useTheme() + return ( + <View style={[a.gap_md]}> + <H1>Icons</H1> + + <View style={[a.flex_row, a.gap_xl]}> + <Globe size="xs" fill={t.atoms.text.color} /> + <Globe size="sm" fill={t.atoms.text.color} /> + <Globe size="md" fill={t.atoms.text.color} /> + <Globe size="lg" fill={t.atoms.text.color} /> + <Globe size="xl" fill={t.atoms.text.color} /> + </View> + + <View style={[a.flex_row, a.gap_xl]}> + <ArrowTopRight size="xs" fill={t.atoms.text.color} /> + <ArrowTopRight size="sm" fill={t.atoms.text.color} /> + <ArrowTopRight size="md" fill={t.atoms.text.color} /> + <ArrowTopRight size="lg" fill={t.atoms.text.color} /> + <ArrowTopRight size="xl" fill={t.atoms.text.color} /> + </View> + + <View style={[a.flex_row, a.gap_xl]}> + <CalendarDays size="xs" fill={t.atoms.text.color} /> + <CalendarDays size="sm" fill={t.atoms.text.color} /> + <CalendarDays size="md" fill={t.atoms.text.color} /> + <CalendarDays size="lg" fill={t.atoms.text.color} /> + <CalendarDays size="xl" fill={t.atoms.text.color} /> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Links.tsx b/src/view/screens/Storybook/Links.tsx new file mode 100644 index 000000000..c3b1c0e0f --- /dev/null +++ b/src/view/screens/Storybook/Links.tsx @@ -0,0 +1,48 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a} from '#/alf' +import {ButtonText} from '#/components/Button' +import {Link} from '#/components/Link' +import {H1, H3} from '#/components/Typography' + +export function Links() { + return ( + <View style={[a.gap_md, a.align_start]}> + <H1>Links</H1> + + <View style={[a.gap_md, a.align_start]}> + <Link + to="https://blueskyweb.xyz" + warnOnMismatchingTextChild + style={[a.text_md]}> + External + </Link> + <Link to="https://blueskyweb.xyz" style={[a.text_md]}> + <H3>External with custom children</H3> + </Link> + <Link + to="https://blueskyweb.xyz" + warnOnMismatchingTextChild + style={[a.text_lg]}> + https://blueskyweb.xyz + </Link> + <Link + to="https://bsky.app/profile/bsky.app" + warnOnMismatchingTextChild + style={[a.text_md]}> + Internal + </Link> + + <Link + variant="solid" + color="primary" + size="large" + label="View @bsky.app's profile" + to="https://bsky.app/profile/bsky.app"> + <ButtonText>Link as a button</ButtonText> + </Link> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Palette.tsx b/src/view/screens/Storybook/Palette.tsx new file mode 100644 index 000000000..b521fe860 --- /dev/null +++ b/src/view/screens/Storybook/Palette.tsx @@ -0,0 +1,336 @@ +import React from 'react' +import {View} from 'react-native' + +import * as tokens from '#/alf/tokens' +import {atoms as a} from '#/alf' + +export function Palette() { + return ( + <View style={[a.gap_md]}> + <View style={[a.flex_row, a.gap_md]}> + <View + style={[a.flex_1, {height: 60, backgroundColor: tokens.color.gray_0}]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_25}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_50}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_100}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_200}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_300}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_400}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_500}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_600}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_700}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_800}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_900}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_950}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_975}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.gray_1000}, + ]} + /> + </View> + + <View style={[a.flex_row, a.gap_md]}> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_25}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_50}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_100}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_200}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_300}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_400}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_500}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_600}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_700}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_800}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_900}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_950}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.blue_975}, + ]} + /> + </View> + <View style={[a.flex_row, a.gap_md]}> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_25}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_50}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_100}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_200}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_300}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_400}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_500}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_600}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_700}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_800}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_900}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_950}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.green_975}, + ]} + /> + </View> + <View style={[a.flex_row, a.gap_md]}> + <View + style={[a.flex_1, {height: 60, backgroundColor: tokens.color.red_25}]} + /> + <View + style={[a.flex_1, {height: 60, backgroundColor: tokens.color.red_50}]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_100}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_200}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_300}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_400}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_500}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_600}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_700}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_800}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_900}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_950}, + ]} + /> + <View + style={[ + a.flex_1, + {height: 60, backgroundColor: tokens.color.red_975}, + ]} + /> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Shadows.tsx b/src/view/screens/Storybook/Shadows.tsx new file mode 100644 index 000000000..f92112395 --- /dev/null +++ b/src/view/screens/Storybook/Shadows.tsx @@ -0,0 +1,53 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a, useTheme} from '#/alf' +import {H1, Text} from '#/components/Typography' + +export function Shadows() { + const t = useTheme() + + return ( + <View style={[a.gap_md]}> + <H1>Shadows</H1> + + <View style={[a.flex_row, a.gap_5xl]}> + <View + style={[ + a.flex_1, + a.justify_center, + a.px_lg, + a.py_2xl, + t.atoms.bg, + t.atoms.shadow_sm, + ]}> + <Text>shadow_sm</Text> + </View> + + <View + style={[ + a.flex_1, + a.justify_center, + a.px_lg, + a.py_2xl, + t.atoms.bg, + t.atoms.shadow_md, + ]}> + <Text>shadow_md</Text> + </View> + + <View + style={[ + a.flex_1, + a.justify_center, + a.px_lg, + a.py_2xl, + t.atoms.bg, + t.atoms.shadow_lg, + ]}> + <Text>shadow_lg</Text> + </View> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Spacing.tsx b/src/view/screens/Storybook/Spacing.tsx new file mode 100644 index 000000000..d7faf93a8 --- /dev/null +++ b/src/view/screens/Storybook/Spacing.tsx @@ -0,0 +1,64 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a, useTheme} from '#/alf' +import {Text, H1} from '#/components/Typography' + +export function Spacing() { + const t = useTheme() + return ( + <View style={[a.gap_md]}> + <H1>Spacing</H1> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>2xs (2px)</Text> + <View style={[a.flex_1, a.pt_2xs, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>xs (4px)</Text> + <View style={[a.flex_1, a.pt_xs, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>sm (8px)</Text> + <View style={[a.flex_1, a.pt_sm, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>md (12px)</Text> + <View style={[a.flex_1, a.pt_md, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>lg (16px)</Text> + <View style={[a.flex_1, a.pt_lg, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>xl (20px)</Text> + <View style={[a.flex_1, a.pt_xl, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>2xl (24px)</Text> + <View style={[a.flex_1, a.pt_2xl, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>3xl (28px)</Text> + <View style={[a.flex_1, a.pt_3xl, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>4xl (32px)</Text> + <View style={[a.flex_1, a.pt_4xl, t.atoms.bg_contrast_300]} /> + </View> + + <View style={[a.flex_row, a.align_center]}> + <Text style={{width: 80}}>5xl (40px)</Text> + <View style={[a.flex_1, a.pt_5xl, t.atoms.bg_contrast_300]} /> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Theming.tsx b/src/view/screens/Storybook/Theming.tsx new file mode 100644 index 000000000..a05443473 --- /dev/null +++ b/src/view/screens/Storybook/Theming.tsx @@ -0,0 +1,56 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a, useTheme} from '#/alf' +import {Text} from '#/components/Typography' +import {Palette} from './Palette' + +export function Theming() { + const t = useTheme() + + return ( + <View style={[t.atoms.bg, a.gap_lg, a.p_xl]}> + <Palette /> + + <Text style={[a.font_bold, a.pt_xl, a.px_md]}>theme.atoms.text</Text> + + <View style={[a.flex_1, t.atoms.border, a.border_t]} /> + <Text style={[a.font_bold, t.atoms.text_contrast_600, a.px_md]}> + theme.atoms.text_contrast_600 + </Text> + + <View style={[a.flex_1, t.atoms.border, a.border_t]} /> + <Text style={[a.font_bold, t.atoms.text_contrast_500, a.px_md]}> + theme.atoms.text_contrast_500 + </Text> + + <View style={[a.flex_1, t.atoms.border, a.border_t]} /> + <Text style={[a.font_bold, t.atoms.text_contrast_400, a.px_md]}> + theme.atoms.text_contrast_400 + </Text> + + <View style={[a.flex_1, t.atoms.border_contrast, a.border_t]} /> + + <View style={[a.w_full, a.gap_md]}> + <View style={[t.atoms.bg, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg</Text> + </View> + <View style={[t.atoms.bg_contrast_25, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg_contrast_25</Text> + </View> + <View style={[t.atoms.bg_contrast_50, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg_contrast_50</Text> + </View> + <View style={[t.atoms.bg_contrast_100, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg_contrast_100</Text> + </View> + <View style={[t.atoms.bg_contrast_200, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg_contrast_200</Text> + </View> + <View style={[t.atoms.bg_contrast_300, a.justify_center, a.p_md]}> + <Text>theme.atoms.bg_contrast_300</Text> + </View> + </View> + </View> + ) +} diff --git a/src/view/screens/Storybook/Typography.tsx b/src/view/screens/Storybook/Typography.tsx new file mode 100644 index 000000000..2e1f04a66 --- /dev/null +++ b/src/view/screens/Storybook/Typography.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import {View} from 'react-native' + +import {atoms as a} from '#/alf' +import {Text, H1, H2, H3, H4, H5, H6, P} from '#/components/Typography' + +export function Typography() { + return ( + <View style={[a.gap_md]}> + <H1>H1 Heading</H1> + <H2>H2 Heading</H2> + <H3>H3 Heading</H3> + <H4>H4 Heading</H4> + <H5>H5 Heading</H5> + <H6>H6 Heading</H6> + <P>P Paragraph</P> + + <Text style={[a.text_5xl]}>atoms.text_5xl</Text> + <Text style={[a.text_4xl]}>atoms.text_4xl</Text> + <Text style={[a.text_3xl]}>atoms.text_3xl</Text> + <Text style={[a.text_2xl]}>atoms.text_2xl</Text> + <Text style={[a.text_xl]}>atoms.text_xl</Text> + <Text style={[a.text_lg]}>atoms.text_lg</Text> + <Text style={[a.text_md]}>atoms.text_md</Text> + <Text style={[a.text_sm]}>atoms.text_sm</Text> + <Text style={[a.text_xs]}>atoms.text_xs</Text> + <Text style={[a.text_2xs]}>atoms.text_2xs</Text> + </View> + ) +} diff --git a/src/view/screens/Storybook/index.tsx b/src/view/screens/Storybook/index.tsx new file mode 100644 index 000000000..d8898f20e --- /dev/null +++ b/src/view/screens/Storybook/index.tsx @@ -0,0 +1,78 @@ +import React from 'react' +import {View} from 'react-native' +import {CenteredView, ScrollView} from '#/view/com/util/Views' + +import {atoms as a, useTheme, ThemeProvider} from '#/alf' +import {useSetColorMode} from '#/state/shell' +import {Button} from '#/components/Button' + +import {Theming} from './Theming' +import {Typography} from './Typography' +import {Spacing} from './Spacing' +import {Buttons} from './Buttons' +import {Links} from './Links' +import {Forms} from './Forms' +import {Dialogs} from './Dialogs' +import {Breakpoints} from './Breakpoints' +import {Shadows} from './Shadows' +import {Icons} from './Icons' + +export function Storybook() { + const t = useTheme() + const setColorMode = useSetColorMode() + + return ( + <ScrollView> + <CenteredView style={[t.atoms.bg]}> + <View style={[a.p_xl, a.gap_5xl, {paddingBottom: 200}]}> + <View style={[a.flex_row, a.align_start, a.gap_md]}> + <Button + variant="outline" + color="primary" + size="small" + label='Set theme to "system"' + onPress={() => setColorMode('system')}> + System + </Button> + <Button + variant="solid" + color="secondary" + size="small" + label='Set theme to "system"' + onPress={() => setColorMode('light')}> + Light + </Button> + <Button + variant="solid" + color="secondary" + size="small" + label='Set theme to "system"' + onPress={() => setColorMode('dark')}> + Dark + </Button> + </View> + + <ThemeProvider theme="light"> + <Theming /> + </ThemeProvider> + <ThemeProvider theme="dim"> + <Theming /> + </ThemeProvider> + <ThemeProvider theme="dark"> + <Theming /> + </ThemeProvider> + + <Typography /> + <Spacing /> + <Shadows /> + <Buttons /> + <Icons /> + <Links /> + <Forms /> + <Dialogs /> + <Breakpoints /> + </View> + </CenteredView> + </ScrollView> + ) +} diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx index 6f748755a..c30874c2f 100644 --- a/src/view/shell/Drawer.tsx +++ b/src/view/shell/Drawer.tsx @@ -53,6 +53,8 @@ import {useInviteCodesQuery} from '#/state/queries/invites' import {NavSignupCard} from '#/view/shell/NavSignupCard' import {TextLink} from '../com/util/Link' +import {useTheme as useAlfTheme} from '#/alf' + let DrawerProfileCard = ({ account, onPressProfile, @@ -106,6 +108,7 @@ export {DrawerProfileCard} let DrawerContent = ({}: {}): React.ReactNode => { const theme = useTheme() + const t = useAlfTheme() const pal = usePalette('default') const {_} = useLingui() const setDrawerOpen = useSetDrawerOpen() @@ -208,7 +211,7 @@ let DrawerContent = ({}: {}): React.ReactNode => { testID="drawer" style={[ styles.view, - theme.colorScheme === 'light' ? pal.view : styles.viewDarkMode, + theme.colorScheme === 'light' ? pal.view : t.atoms.bg_contrast_25, ]}> <SafeAreaView style={s.flex1}> <ScrollView style={styles.main}> diff --git a/src/view/shell/index.tsx b/src/view/shell/index.tsx index 51c03ae3d..5320aebfc 100644 --- a/src/view/shell/index.tsx +++ b/src/view/shell/index.tsx @@ -28,6 +28,7 @@ import {isAndroid} from 'platform/detection' import {useSession} from '#/state/session' import {useCloseAnyActiveElement} from '#/state/util' import * as notifications from 'lib/notifications/notifications' +import {Outlet as PortalOutlet} from '#/components/Portal' function ShellInner() { const isDrawerOpen = useIsDrawerOpen() @@ -94,6 +95,7 @@ function ShellInner() { </View> <Composer winHeight={winDim.height} /> <ModalsContainer /> + <PortalOutlet /> <Lightbox /> </> ) diff --git a/src/view/shell/index.web.tsx b/src/view/shell/index.web.tsx index 20bc0dff1..1ada883c9 100644 --- a/src/view/shell/index.web.tsx +++ b/src/view/shell/index.web.tsx @@ -15,6 +15,7 @@ import {useAuxClick} from 'lib/hooks/useAuxClick' import {t} from '@lingui/macro' import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell' import {useCloseAllActiveElements} from '#/state/util' +import {Outlet as PortalOutlet} from '#/components/Portal' function ShellInner() { const isDrawerOpen = useIsDrawerOpen() @@ -41,6 +42,7 @@ function ShellInner() { </View> <Composer winHeight={0} /> <ModalsContainer /> + <PortalOutlet /> <Lightbox /> {!isDesktop && isDrawerOpen && ( <TouchableOpacity |