From 0375e02d935fb32fa4ba796d13d227e35b51d772 Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Sat, 4 Nov 2023 15:32:37 +0900 Subject: [PATCH] Setup i18n --- locales/en/translation.json | 25 ++++ package.json | 1 + renderer/components/accounts/New.tsx | 13 +- renderer/components/layouts/timelines.tsx | 10 +- renderer/components/timelines/Timeline.tsx | 8 +- renderer/components/timelines/status/Poll.tsx | 23 +++- .../components/timelines/status/Status.tsx | 5 +- renderer/pages/_app.tsx | 13 +- renderer/utils/flattenMessage.ts | 14 ++ renderer/utils/i18n.tsx | 37 ++++++ yarn.lock | 125 ++++++++++++++++++ 11 files changed, 252 insertions(+), 22 deletions(-) create mode 100644 locales/en/translation.json create mode 100644 renderer/utils/flattenMessage.ts create mode 100644 renderer/utils/i18n.tsx diff --git a/locales/en/translation.json b/locales/en/translation.json new file mode 100644 index 00000000..8948ce93 --- /dev/null +++ b/locales/en/translation.json @@ -0,0 +1,25 @@ +{ + "timeline": { + "home": "Home", + "notifications": "Notifications", + "local": "Local", + "public": "Public", + "search": "Search", + "status": { + "boosted": "{user} boosted", + "poll": { + "refresh": "Refresh", + "vote": "Vote", + "peolpe": "{num} people", + "closed": "Closed" + } + } + }, + "accounts": { + "new": { + "title": "Add account", + "sign_in": "Sign in", + "authorize": "Authorize" + } + } +} diff --git a/package.json b/package.json index 11eea3e9..0ba0a297 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "flowbite": "^2.0.0", "flowbite-react": "^0.6.4", "megalodon": "^9.1.1", + "react-intl": "^6.5.1", "react-virtuoso": "^4.6.2" }, "devDependencies": { diff --git a/renderer/components/accounts/New.tsx b/renderer/components/accounts/New.tsx index 46dc6e8f..b15b9533 100644 --- a/renderer/components/accounts/New.tsx +++ b/renderer/components/accounts/New.tsx @@ -2,6 +2,7 @@ import { Label, Modal, TextInput, Button } from 'flowbite-react' import generator, { MegalodonInterface, detector } from 'megalodon' import { useState } from 'react' import { db } from '@/db' +import { FormattedMessage } from 'react-intl' type NewProps = { opened: boolean @@ -63,7 +64,9 @@ export default function New(props: NewProps) { return ( <> - Add account + + +
{sns === null && ( @@ -72,7 +75,9 @@ export default function New(props: NewProps) {