feat: refactor languages

This commit is contained in:
Zamitto 2024-09-04 23:40:05 -03:00
parent 02907d84e1
commit 40f4bbc124
28 changed files with 172 additions and 57 deletions

View file

@ -26,7 +26,7 @@ import {
import { store } from "./store";
import * as resources from "@locales";
import resources from "@locales";
import { User } from "./pages/user/user";
Sentry.init({});

View file

@ -1,7 +1,4 @@
import { useContext, useEffect, useState } from "react";
import languages from "@cospired/i18n-iso-languages";
import languagesEn from "@cospired/i18n-iso-languages/langs/en.json";
import {
TextField,
Button,
@ -9,11 +6,9 @@ import {
SelectField,
} from "@renderer/components";
import { useTranslation } from "react-i18next";
import { useAppSelector } from "@renderer/hooks";
import { changeLanguage } from "i18next";
import * as languageResources from "@locales";
import languageResources from "@locales";
import { orderBy } from "lodash-es";
import { settingsContext } from "@renderer/context";
@ -22,13 +17,6 @@ interface LanguageOption {
nativeName: string;
}
languages.registerLocale(languagesEn);
const customLanguageNames = {
ptBR: "Português (Brasil)",
ptPT: "Português (Portugal)",
};
export function SettingsGeneral() {
const { t } = useTranslation("settings");
@ -58,11 +46,9 @@ export function SettingsGeneral() {
setLanguageOptions(
orderBy(
Object.keys(languageResources).map((language) => {
Object.entries(languageResources).map(([language, value]) => {
return {
nativeName:
customLanguageNames[language] ||
languages.getName(language, "en"),
nativeName: value.language_name,
option: language,
};
}),
@ -103,8 +89,6 @@ export function SettingsGeneral() {
function updateFormWithUserPreferences() {
if (userPreferences) {
const parsedLanguage = userPreferences.language;
setForm((prev) => ({
...prev,
downloadsPath: userPreferences.downloadsPath ?? defaultDownloadsPath,
@ -112,7 +96,7 @@ export function SettingsGeneral() {
userPreferences.downloadNotificationsEnabled,
repackUpdatesNotificationsEnabled:
userPreferences.repackUpdatesNotificationsEnabled,
language: parsedLanguage,
language: userPreferences.language,
}));
}
}