Browse Source

i18n fixes

Add PKI Backup Reminder dialog + ensure en-US is UI default
pull/663/head
philon- 1 year ago
parent
commit
4e8f35553a
  1. 2
      src/components/KeyBackupReminder.tsx
  2. 1
      src/components/LanguageSwitcher.tsx
  3. 14
      src/core/hooks/useKeyBackupReminder.tsx
  4. 4
      src/i18n/config.ts
  5. 1
      src/i18n/locales/en/common.json
  6. 8
      src/i18n/locales/en/dialog.json

2
src/components/KeyBackupReminder.tsx

@ -7,7 +7,7 @@ export const KeyBackupReminder = () => {
const { t } = useTranslation("dialog");
useBackupReminder({
message: t("pkiBackup.description"),
message: t("pkiBackupReminder.description"),
onAccept: () => setDialogOpen("pkiBackup", true),
enabled: true,
});

1
src/components/LanguageSwitcher.tsx

@ -24,6 +24,7 @@ export default function LanguageSwitcher(
const currentLanguage =
supportedLanguages.find((lang) => lang.code === i18n.language) ||
supportedLanguages.find((lang) => lang.code === "en-US") ||
supportedLanguages[0];
const handleLanguageChange = async (languageCode: LangCode) => {

14
src/core/hooks/useKeyBackupReminder.tsx

@ -2,6 +2,7 @@ import { Button } from "@components/UI/Button.tsx";
import { useCallback, useEffect, useRef } from "react";
import { useToast } from "@core/hooks/useToast.ts";
import useLocalStorage from "@core/hooks/useLocalStorage.ts";
import { useTranslation } from "react-i18next";
interface UseBackupReminderOptions {
reminderInDays?: number;
@ -36,6 +37,8 @@ export function useBackupReminder({
onAccept = () => {},
reminderInDays = REMINDER_DAYS_ONE_WEEK,
}: UseBackupReminderOptions) {
const { t } = useTranslation("dialog");
const { toast } = useToast();
const toastShownRef = useRef(false);
const [reminderState, setReminderState] = useLocalStorage<
@ -59,7 +62,7 @@ export function useBackupReminder({
toastShownRef.current = true;
const { dismiss } = toast({
title: "Backup Reminder",
title: t("pkiBackupReminder.title"),
duration: TOAST_DURATION,
delay: TOAST_APPEAR_DELAY,
description: message,
@ -75,7 +78,10 @@ export function useBackupReminder({
setReminderExpiry(reminderInDays);
}}
>
Remind me in {reminderInDays} day{reminderInDays > 1 ? "s" : ""}
{t("pkiBackupReminder.remindLaterPrefix")} {reminderInDays}{" "}
{reminderInDays > 1
? t("common:unit.day.plural").toLowerCase()
: t("common:unit.day.one").toLowerCase()}
</Button>
<Button
type="button"
@ -86,7 +92,7 @@ export function useBackupReminder({
setReminderExpiry(REMINDER_DAYS_FOREVER);
}}
>
Never remind me
{t("pkiBackupReminder.remindNever")}
</Button>
</div>
<Button
@ -99,7 +105,7 @@ export function useBackupReminder({
setReminderExpiry(REMINDER_DAYS_ONE_YEAR);
}}
>
Back up now
{t("pkiBackupReminder.backupNow")}
</Button>
</div>
),

4
src/i18n/config.ts

@ -26,8 +26,8 @@ function getFlagEmoji(regionCode: string): string {
return String.fromCodePoint(...codePoints);
}
export const supportedLanguages: Lang[] = [
{ code: "de-DE", name: "Deutschland", flag: getFlagEmoji("DE") },
export const supportedLanguages: Lang[] = [ // en-US should be the first entry to ensure it's the default in the language selector
{ code: "de-DE", name: "Deutsch", flag: getFlagEmoji("DE") },
{ code: "en-US", name: "English", flag: getFlagEmoji("US") },
{ code: "fi-FI", name: "Suomi", flag: getFlagEmoji("FI") },
{ code: "sv-SE", name: "Svenska", flag: getFlagEmoji("SE") },

1
src/i18n/locales/en/common.json

@ -54,6 +54,7 @@
"suffix": "ms"
},
"second": { "one": "Second", "plural": "Seconds" },
"day": { "one": "Day", "plural": "Days" },
"snr": "SNR",
"volt": { "one": "Volt", "plural": "Volts", "suffix": "V" },
"record": { "one": "Records", "plural": "Records" }

8
src/i18n/locales/en/dialog.json

@ -93,7 +93,6 @@
"unignoreNode": "Unignore node"
},
"pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===",
@ -103,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys"
},
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair"

Loading…
Cancel
Save