feat: localize errors, translate profile, refine jobs UI

This commit is contained in:
jeremy bayse
2026-05-08 12:20:30 +02:00
parent fd4a39a703
commit 7c01803f46
29 changed files with 3633 additions and 104 deletions

View File

@@ -16,14 +16,14 @@ defineProps({
</script>
<template>
<Head title="Profile" />
<Head title="Profil" />
<AuthenticatedLayout>
<template #header>
<h2
class="text-xl font-semibold leading-tight text-gray-800"
>
Profile
Profil
</h2>
</template>

View File

@@ -42,36 +42,32 @@ const closeModal = () => {
<section class="space-y-6">
<header>
<h2 class="text-lg font-medium text-gray-900">
Delete Account
Supprimer le compte
</h2>
<p class="mt-1 text-sm text-gray-600">
Once your account is deleted, all of its resources and data will
be permanently deleted. Before deleting your account, please
download any data or information that you wish to retain.
Une fois votre compte supprimé, toutes ses ressources et données seront définitivement supprimées. Avant de supprimer votre compte, veuillez télécharger les données ou informations que vous souhaitez conserver.
</p>
</header>
<DangerButton @click="confirmUserDeletion">Delete Account</DangerButton>
<DangerButton @click="confirmUserDeletion">Supprimer le compte</DangerButton>
<Modal :show="confirmingUserDeletion" @close="closeModal">
<div class="p-6">
<h2
class="text-lg font-medium text-gray-900"
>
Are you sure you want to delete your account?
Êtes-vous sûr de vouloir supprimer votre compte ?
</h2>
<p class="mt-1 text-sm text-gray-600">
Once your account is deleted, all of its resources and data
will be permanently deleted. Please enter your password to
confirm you would like to permanently delete your account.
Une fois votre compte supprimé, toutes ses ressources et données seront définitivement supprimées. Veuillez saisir votre mot de passe pour confirmer que vous souhaitez supprimer définitivement votre compte.
</p>
<div class="mt-6">
<InputLabel
for="password"
value="Password"
value="Mot de passe"
class="sr-only"
/>
@@ -81,7 +77,7 @@ const closeModal = () => {
v-model="form.password"
type="password"
class="mt-1 block w-3/4"
placeholder="Password"
placeholder="Mot de passe"
@keyup.enter="deleteUser"
/>
@@ -90,7 +86,7 @@ const closeModal = () => {
<div class="mt-6 flex justify-end">
<SecondaryButton @click="closeModal">
Cancel
Annuler
</SecondaryButton>
<DangerButton
@@ -99,7 +95,7 @@ const closeModal = () => {
:disabled="form.processing"
@click="deleteUser"
>
Delete Account
Supprimer le compte
</DangerButton>
</div>
</div>

View File

@@ -37,18 +37,17 @@ const updatePassword = () => {
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
Update Password
Mettre à jour le mot de passe
</h2>
<p class="mt-1 text-sm text-gray-600">
Ensure your account is using a long, random password to stay
secure.
Assurez-vous que votre compte utilise un long mot de passe aléatoire pour rester sécurisé.
</p>
</header>
<form @submit.prevent="updatePassword" class="mt-6 space-y-6">
<div>
<InputLabel for="current_password" value="Current Password" />
<InputLabel for="current_password" value="Mot de passe actuel" />
<TextInput
id="current_password"
@@ -66,7 +65,7 @@ const updatePassword = () => {
</div>
<div>
<InputLabel for="password" value="New Password" />
<InputLabel for="password" value="Nouveau mot de passe" />
<TextInput
id="password"
@@ -83,7 +82,7 @@ const updatePassword = () => {
<div>
<InputLabel
for="password_confirmation"
value="Confirm Password"
value="Confirmer le mot de passe"
/>
<TextInput
@@ -101,7 +100,7 @@ const updatePassword = () => {
</div>
<div class="flex items-center gap-4">
<PrimaryButton :disabled="form.processing">Save</PrimaryButton>
<PrimaryButton :disabled="form.processing">Enregistrer</PrimaryButton>
<Transition
enter-active-class="transition ease-in-out"
@@ -113,7 +112,7 @@ const updatePassword = () => {
v-if="form.recentlySuccessful"
class="text-sm text-gray-600"
>
Saved.
Enregistré.
</p>
</Transition>
</div>

View File

@@ -26,11 +26,11 @@ const form = useForm({
<section>
<header>
<h2 class="text-lg font-medium text-gray-900">
Profile Information
Informations du profil
</h2>
<p class="mt-1 text-sm text-gray-600">
Update your account's profile information and email address.
Mettez à jour les informations de profil et l'adresse e-mail de votre compte.
</p>
</header>
@@ -39,7 +39,7 @@ const form = useForm({
class="mt-6 space-y-6"
>
<div>
<InputLabel for="name" value="Name" />
<InputLabel for="name" value="Nom" />
<TextInput
id="name"
@@ -55,7 +55,7 @@ const form = useForm({
</div>
<div>
<InputLabel for="email" value="Email" />
<InputLabel for="email" value="E-mail" />
<TextInput
id="email"
@@ -71,14 +71,14 @@ const form = useForm({
<div v-if="mustVerifyEmail && user.email_verified_at === null">
<p class="mt-2 text-sm text-gray-800">
Your email address is unverified.
Votre adresse e-mail n'est pas vérifiée.
<Link
:href="route('verification.send')"
method="post"
as="button"
class="rounded-md text-sm text-gray-600 underline hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2"
>
Click here to re-send the verification email.
Cliquez ici pour renvoyer l'e-mail de vérification.
</Link>
</p>
@@ -86,12 +86,12 @@ const form = useForm({
v-show="status === 'verification-link-sent'"
class="mt-2 text-sm font-medium text-green-600"
>
A new verification link has been sent to your email address.
Un nouveau lien de vérification a été envoyé à votre adresse e-mail.
</div>
</div>
<div class="flex items-center gap-4">
<PrimaryButton :disabled="form.processing">Save</PrimaryButton>
<PrimaryButton :disabled="form.processing">Enregistrer</PrimaryButton>
<Transition
enter-active-class="transition ease-in-out"
@@ -103,7 +103,7 @@ const form = useForm({
v-if="form.recentlySuccessful"
class="text-sm text-gray-600"
>
Saved.
Enregistré.
</p>
</Transition>
</div>