[feature-274] add translations

This commit is contained in:
MathieuG-P
2023-11-06 17:08:07 +01:00
parent 8e5e04ad52
commit b692bcc7cd
11 changed files with 214 additions and 54 deletions
@@ -37,17 +37,15 @@ export const ChooseStore: ModalComponent<BsStore> = ({ resolver }) => {
}
return {
bright: new Color(tailwindConfig.theme.colors["main-color"][1], "hex").hex(),
dim: new Color(tailwindConfig.theme.colors["main-color"][1], "hex").darken(.2).hex()
bright: new Color(tailwindConfig.theme.colors["light-main-color"][1], "hex").hex(),
dim: new Color(tailwindConfig.theme.colors["light-main-color"][1], "hex").darken(.2).hex()
}
})();
// TODO : Translate
return (
<form className="flex flex-col gap-3 max-w-sm">
<h1 className="text-3xl uppercase tracking-wide w-full text-center text-gray-800 dark:text-gray-200">{t("which platform ?")}</h1>
<p className="w-auto text-gray-800 dark:text-gray-200 text-center">Select the platfrom where you own Beat Saber or from which you want to download it.</p>
<h1 className="text-3xl uppercase tracking-wide w-full text-center text-gray-800 dark:text-gray-200">{t("modals.choose-store.title")}</h1>
<p className="w-auto text-gray-800 dark:text-gray-200 text-center">{t("modals.choose-store.body")}</p>
<div className="flex flex-row w-full flex-grow gap-3">
<div className="flex flex-col flex-grow basis-0 gap-2 text-center px-5 pt-3 pb-1 rounded-md border-main-color-3 border-2 cursor-pointer" onMouseEnter={() => setOculusHover(true)} onMouseLeave={() => setOculusHover(false)} onClick={() => chooseStore(BsStore.OCULUS)} style={{backgroundColor: oculusHover ? bg.dim : bg.bright}}>
<OculusIcon className="flex-grow aspect-square text-black bg-white rounded-full p-5"/>
@@ -58,7 +56,7 @@ export const ChooseStore: ModalComponent<BsStore> = ({ resolver }) => {
<h2 className="font-bold">Steam</h2>
</div>
</div>
<p onClick={goToSettings} className="text-sm italic underline cursor-pointer">Définir la platforme par défaut dans les paramètres</p>
<p onClick={goToSettings} className="text-sm italic underline cursor-pointer">{t("modals.choose-store.set-in-settings")}</p>
</form>
);
};
@@ -17,28 +17,21 @@ export const LoginToMetaModal: ModalComponent<boolean> = ({ resolver }) => {
return (
<form className="flex flex-col justify-center items-center w-96 gap-4">
<h1 className="text-3xl uppercase tracking-wide w-full text-center">Connect to Meta</h1>
<h1 className="text-3xl uppercase tracking-wide w-full text-center">{t("modals.connect-to-meta.title")}</h1>
{/* <BsmImage className="mx-auto h-24" image={BeatConflict} /> */}
<div className="flex justify-center items-center h-28 aspect-square bg-white rounded-full p-4">
<MetaIcon className="w-full h-full"/>
</div>
<p>
<b>Votre token de connexion à Meta est nécéssaire pour télécharger Beat Saber.</b>
</p>
{/* TODO : Translate */}
<p>
En vous connectant à Meta, une fenètre de connexion s'ouvrira et vous pourrez alors débuter le processus de connexion.
Veuillez à bien accepter les cookies sinon quoi, il se pourrait que l'on arrive pas à récupérer votre token de connexion pour démarrer le téléchargement.
</p>
<p className="font-bold">{t("modals.connect-to-meta.body.token-needed")}</p>
<p>{t("modals.connect-to-meta.body.need-cookie-enabled")}</p>
<div className="w-full flex flex-row justify-start items-center gap-1.5">
<BsmCheckbox className="relative z-[1] w-6 aspect-square" checked={stay} onChange={enable => setStay(() => enable)}/>
<span>{t("modals.steam-login.inputs.stay")}</span>
<span>{t("modals.connect-to-meta.stay")}</span>
</div>
<BsmButton className="rounded-md flex justify-center items-center transition-all h-10 w-full" typeColor="primary" text="Connect to Meta" withBar={false} onClick={submit}/>
<BsmButton className="rounded-md flex justify-center items-center transition-all h-10 w-full" typeColor="primary" text="modals.connect-to-meta.connect-to-meta" withBar={false} onClick={submit}/>
</form>
);
};
@@ -22,10 +22,10 @@ export const ImportVersionModal: ModalComponent<BsStore> = ({ resolver }) => {
<h1 className="text-3xl uppercase tracking-wide w-full text-center text-gray-800 dark:text-gray-200">{t("modals.bs-import-version.title")}</h1>
<BsmImage className="mx-auto h-20" image={BeatImpatient} />
<p className="max-w-sm text-gray-800 dark:text-gray-200">{t("modals.bs-import-version.description")}</p>
<Tippy content="Cocher si c'est une version Oculus" placement="right" arrow={false} className="!bg-neutral-900 font-bold">
<Tippy content={t("modals.bs-import-version.oculus-version-tooltip")} placement="right" arrow={false} className="!bg-neutral-900 font-bold">
<div className="relative flex flex-row items-center gap-1.5 mb-4 mt-3 cursor-help w-fit">
<BsmCheckbox className="relative h-5 w-5 z-[1]" checked={isOculus} onChange={checked => setIsOculus(checked)}/>
<span className="font-bold italic">Version Oculus</span> {/* TODO Translate */}
<span className="font-bold italic">{t("modals.bs-import-version.oculus-version")}</span>
</div>
</Tippy>
<div className="grid grid-flow-col grid-cols-2 gap-4">
@@ -4,29 +4,29 @@ import { BsmButton } from "renderer/components/shared/bsm-button.component";
import { BsmImage } from "renderer/components/shared/bsm-image.component";
import { BsmCheckbox } from "renderer/components/shared/bsm-checkbox.component";
import { useState } from "react";
import { useTranslation } from "renderer/hooks/use-translation.hook";
export const OriginalOculusVersionBackupModal: ModalComponent<boolean, void> = ({ resolver }) => {
const t = useTranslation();
const [dontShowAgain, setDontShowAgain] = useState(false);
const submit = () => {
resolver({ exitCode: ModalExitCode.COMPLETED, data: dontShowAgain });
}
// TODO : Translate
return (
<form className="max-w-[450px] text-gray-800 dark:text-gray-200">
<h1 className="text-3xl uppercase tracking-wide w-full text-center text-gray-800 dark:text-gray-200">Attention</h1>
<h1 className="text-3xl uppercase tracking-wide w-full text-center text-gray-800 dark:text-gray-200">{t("modals.original-version-backup-oculus.title")}</h1>
<BsmImage className="mx-auto h-20" image={BeatConflict} />
<p className="mb-4">Pour lancer cette version, le dossier d'installation de Beat Saber se trouvant dans votre librairie Oculus va être renommé.</p>
<p className="mb-4">Au besoin, vous pourrez le restaurer depuis BSManager en vous rendant dans les options de la version originale et en cliquant sur "Restaurer le dossier"</p>
<p className="text-sm italic mb-4">Astuce : Vous pourrez lancer cette version directement depuis Oculus, tant que la version originale n'est pas restaurée.</p>
<p className="mb-4">{t("modals.original-version-backup-oculus.body.need-backup")}</p>
<p className="mb-4">{t("modals.original-version-backup-oculus.body.can-restore-later")}</p>
<p className="text-sm italic mb-4">{t("modals.original-version-backup-oculus.body.tips-launch-oculus")}</p>
<div className="flex flex-row justify-start items-center gap-1.5 my-4" >
<BsmCheckbox className="relative z-[1] w-6 aspect-square" checked={dontShowAgain} onChange={setDontShowAgain} />
<span>Ne plus me rappler</span>
<span>{t("modals.original-version-backup-oculus.not-remind-me")}</span>
</div>
<div className="grid grid-flow-col grid-cols-2 gap-4">
@@ -44,7 +44,7 @@ export const OriginalOculusVersionBackupModal: ModalComponent<boolean, void> = (
className="rounded-md transition-all h-10 flex items-center justify-center"
onClick={submit}
withBar={false}
text="J'ai compris"
text="modals.original-version-backup-oculus.understood"
/>
</div>
</form>
@@ -231,12 +231,11 @@ export function SettingsPage() {
<SettingContainer title="pages.settings.steam-and-oculus.title" description="pages.settings.steam-and-oculus.description">
<BsmButton onClick={clearDownloadersSession} className="w-fit px-3 py-[2px] text-white rounded-md" withBar={false} text="pages.settings.steam-and-oculus.logout" typeColor="error" disabled={!hasDownloaderSession}/>
<SettingContainer id="choose-default-store" minorTitle="Platforme par défaut" description="Choisi la platfrome par défaut qui sera utilisé pour télécharger les versions de Beat Saber." className="mt-3">
{/* TODO: Translate */}
<SettingContainer id="choose-default-store" minorTitle="pages.settings.steam-and-oculus.download-platform.title" description="pages.settings.steam-and-oculus.download-platform.desc" className="mt-3">
<SettingRadioArray items={[
{ id: 1, text: "Steam", value: BsStore.STEAM, icon: <SteamIcon className="h-6 w-6 float-left"/> },
{ id: 2, text: "Oculus", value: BsStore.OCULUS, icon: <OculusIcon className="h-6 w-6 float-left bg-white text-black rounded-full p-0.5"/>},
{ id: 0, text: "Toujours demander", value: undefined },
{ id: 2, text: "Oculus Store PC", value: BsStore.OCULUS, icon: <OculusIcon className="h-6 w-6 float-left bg-white text-black rounded-full p-0.5"/>},
{ id: 0, text: t("pages.settings.steam-and-oculus.download-platform.always-ask"), value: undefined },
]} selectedItemValue={downloadStore} onItemSelected={handleChangeBsStore} direction="row"/>
</SettingContainer>
</SettingContainer>
@@ -131,7 +131,7 @@ export function VersionViewer() {
</div>
<BsmDropdownButton className="absolute top-3 right-4 h-9 w-9 bg-light-main-color-2 dark:bg-main-color-2 rounded-md" items={[
{ text: "pages.version-viewer.dropdown.open-folder", icon: "folder", onClick: openFolder },
state.oculus && { text: "Restaurer le dossier", icon: "backup-restore", onClick: restoreOriginalOculusFolder}, // TODO : translate
state.oculus && { text: "pages.version-viewer.dropdown.restore-oculus-folder", icon: "backup-restore", onClick: restoreOriginalOculusFolder},
{ text: "pages.version-viewer.dropdown.verify-files", icon: "task", onClick: verifyFiles },
!state.steam && !state.oculus && { text: "pages.version-viewer.dropdown.edit", icon: "edit", onClick: edit },
!state.oculus && { text: "pages.version-viewer.dropdown.clone", icon: "copy", onClick: clone },