From 6044f2b4b183ad7ba4ab2ec40301e4d107623e12 Mon Sep 17 00:00:00 2001 From: "Natalie B." <22222885+espeon@users.noreply.github.com> Date: Tue, 27 Jan 2026 20:00:30 -0600 Subject: [PATCH] i18nize --- .../login/pds-host-selector-modal.tsx | 85 ++++++++++--------- js/components/locales/en-US/common.ftl | 14 ++- 2 files changed, 59 insertions(+), 40 deletions(-) diff --git a/js/app/components/login/pds-host-selector-modal.tsx b/js/app/components/login/pds-host-selector-modal.tsx index b262d0d29..35f2d319b 100644 --- a/js/app/components/login/pds-host-selector-modal.tsx +++ b/js/app/components/login/pds-host-selector-modal.tsx @@ -4,8 +4,10 @@ import { Checkbox, Input, ResponsiveDialog, + Trans as T, Text, useTheme, + useTranslation, zero, } from "@streamplace/components"; import { Check, ExternalLink } from "lucide-react-native"; @@ -93,6 +95,7 @@ export const PdsHostSelectorModal: React.FC = ({ const [handlePolicyChecked, hasCheckedHandlePolicy] = useState(false); const { theme } = useTheme(); + const { t } = useTranslation(); const selectedHostObj = SHUFFLED_PDS_HOSTS.find((host) => host.value === selectedHost) || @@ -145,11 +148,10 @@ export const PdsHostSelectorModal: React.FC = ({ - New to the Atmosphere? + {t("pds-selector-title")} - You'll need to select a PDS (Personal Data Server) to access apps on - the Atmosphere, such as Bluesky, Tangled, and Spark. + {t("pds-selector-description")} @@ -226,14 +228,14 @@ export const PdsHostSelectorModal: React.FC = ({ ]} > - Another PDS + {t("pds-selector-custom-label")} - Enter your own PDS host URL + {t("pds-selector-custom-description")} {useCustom && } @@ -250,7 +252,7 @@ export const PdsHostSelectorModal: React.FC = ({ ]} > - Learn more about self-hosting + {t("pds-selector-learn-more")} @@ -259,12 +261,12 @@ export const PdsHostSelectorModal: React.FC = ({ {useCustom && ( - PDS URL + {t("pds-selector-custom-url-label")} = ({ )} - - Each host has their own policies and reliability standards. Your - ATProto data lives on the host you choose and you can migrate - later. - + {t("pds-selector-info")} {!useCustom && ( - Read {selectedHostObj?.label}'s{" "} - - Terms of Service - {" "} - and{" "} - - Privacy Policy - {" "} - before continuing. + + ), + privacyLink: ( + + ), + }} + /> )} @@ -313,15 +314,21 @@ export const PdsHostSelectorModal: React.FC = ({ onCheckedChange={hasCheckedHandlePolicy} /> - I have read and agree to the{" "} - - Linking.openURL(selectedHostObj.handlePolicyDocs!) - } - style={[{ color: theme.colors.ring }]} - > - {selectedHostObj.label} guidelines and handle policy - + + Linking.openURL(selectedHostObj.handlePolicyDocs!) + } + style={[{ color: theme.colors.ring }]} + > + {selectedHostObj.label} guidelines and handle policy + + ), + }} + /> )} @@ -335,7 +342,7 @@ export const PdsHostSelectorModal: React.FC = ({ ]} > diff --git a/js/components/locales/en-US/common.ftl b/js/components/locales/en-US/common.ftl index a5f027d92..c0bc34267 100644 --- a/js/components/locales/en-US/common.ftl +++ b/js/components/locales/en-US/common.ftl @@ -51,7 +51,7 @@ user-offline-message = { $source -> [streamer] Looks like <1>@{ $handle } is offline, but they recommend checking out: *[default] Looks like <1>@{ $handle } is offline, but we recommend checking out: } -user-offline-no-recommendations = +user-offline-no-recommendations = Looks like <1>@{ $handle } is offline right now. Check back later. streaming-title = streaming { $title } @@ -60,3 +60,15 @@ viewer-count = { $count -> [1] 1 viewer *[other] { $count } viewers } + +## PDS Host Selector +pds-selector-title = New to the Atmosphere? +pds-selector-description = You'll need to select a PDS (Personal Data Server) to access apps on the Atmosphere, such as Bluesky, Tangled, and Spark. +pds-selector-custom-label = Another PDS +pds-selector-custom-description = Enter your own PDS host URL +pds-selector-custom-url-label = Custom PDS URL +pds-selector-custom-url-placeholder = https://pds.example.com +pds-selector-learn-more = Learn more about self-hosting +pds-selector-info = Each host has their own policies and reliability standards. Your ATProto data lives on the host you choose and you can migrate later. Note: Streamplace has its own moderation rules - you can be banned from Streamplace regardless of which host you choose. +pds-selector-read-policies = Read { $label }'s Terms of Service and Privacy Policy before continuing. +pds-selector-handle-policy-checkbox = I have read and agree to the handle policy -- 2.51.2