diff --git a/web/apps/photos/src/components/Collections/CollectionShare/emailShare/index.tsx b/web/apps/photos/src/components/Collections/CollectionShare/emailShare/index.tsx index e4bce9a93a..9d2444e8aa 100644 --- a/web/apps/photos/src/components/Collections/CollectionShare/emailShare/index.tsx +++ b/web/apps/photos/src/components/Collections/CollectionShare/emailShare/index.tsx @@ -64,7 +64,7 @@ export default function EmailShare({ onClick={openManageEmailShare} label={ collection.sharees.length === 1 - ? t(collection.sharees[0]?.email) + ? collection.sharees[0]?.email : null } endIcon={} diff --git a/web/apps/photos/src/components/Upload/UploadTypeSelector.tsx b/web/apps/photos/src/components/Upload/UploadTypeSelector.tsx index 027f6bd8c1..5e524fe8b3 100644 --- a/web/apps/photos/src/components/Upload/UploadTypeSelector.tsx +++ b/web/apps/photos/src/components/Upload/UploadTypeSelector.tsx @@ -1,4 +1,5 @@ import { FocusVisibleButton } from "@/new/photos/components/FocusVisibleButton"; +import { pt } from "@/next/i18n"; import DialogTitleWithCloseButton, { DialogTitleWithCloseButtonSm, dialogCloseHandler, @@ -202,7 +203,6 @@ const TakeoutOptions: React.FC> = ({ onSelect, onClose, }) => { - // TODO(MR): Move these to localized strings when finalized. return ( <> @@ -218,7 +218,7 @@ const TakeoutOptions: React.FC> = ({ disableRipple onClick={() => onSelect("folders")} > - {t("Select folder")} + {pt("Select folder")} > = ({ disableRipple onClick={() => onSelect("zips")} > - {t("Select zips")} + {pt("Select zips")} > = ({ fullWidth disableRipple > - {t("FAQ")} + {pt("FAQ")} - Unzip all zips into the same folder and upload that. Or - upload the zips directly. See FAQ for details. + {pt( + "Unzip all zips into the same folder and upload that. Or upload the zips directly. See FAQ for details.", + )} diff --git a/web/apps/photos/src/services/export/index.ts b/web/apps/photos/src/services/export/index.ts index 38f73a4240..754c3dc980 100644 --- a/web/apps/photos/src/services/export/index.ts +++ b/web/apps/photos/src/services/export/index.ts @@ -1329,7 +1329,7 @@ const readOnDiskFileExportRecordIDs = async ( * * @param allFiles The list of files to export. * - * @param exportRecord The export record containing bookeeping for the export. + * @param exportRecord The export record containing bookkeeping for the export. * * @paramd diskFileRecordIDs (Optional) The export record IDs of files from * amongst {@link allFiles} that already exist on disk. If provided (e.g. when diff --git a/web/packages/next/i18n.ts b/web/packages/next/i18n.ts index da63bc8c51..cec28add94 100644 --- a/web/packages/next/i18n.ts +++ b/web/packages/next/i18n.ts @@ -262,6 +262,21 @@ export const setLocaleInUse = async (locale: SupportedLocale) => { return i18n.changeLanguage(locale); }; +/** + * A no-op marker for strings that, for various reasons, pending addition to the + * translation dataset. + * + * This function does nothing, it just returns back the passed it string + * verbatim. It is only kept as a way for us to keep track of strings which + * we've not yet added to the list of strings that should be translated (e.g. + * perhaps we're awaiting feedback on the copy). + * + * It is the sibling of the {@link t} function provided by i18next. + * + * See also: {@link ut}. + */ +export const pt = (s: string) => s; + /** * A no-op marker for strings that, for various reasons, are not translated. * @@ -271,5 +286,7 @@ export const setLocaleInUse = async (locale: SupportedLocale) => { * still are user visible. * * It is the sibling of the {@link t} function provided by i18next. + * + * See also: {@link pt}. */ export const ut = (s: string) => s;