Fix FLEXIAPI-296 fix registration text

This commit is contained in:
Jonathan Bartet 2025-05-13 11:32:27 +02:00 committed by Timothée Jaussoin
parent 97667ada1c
commit 477f23123d
19 changed files with 63 additions and 53 deletions

View file

@ -63,7 +63,7 @@ class AuthenticateController extends Controller
}
if (!$account) {
return redirect()->back()->withErrors(['authentication' => __('Wrong username or password')]);
return redirect()->back()->withErrors(['authentication' => __('Incorrect username or password')]);
}
// Try out the passwords
@ -77,7 +77,7 @@ class AuthenticateController extends Controller
}
}
return redirect()->back()->withErrors(['authentication' => __('Wrong username or password')]);
return redirect()->back()->withErrors(['authentication' => __('Incorrect username or password')]);
}
public function loginAuthToken(Request $request, ?string $token = null)

View file

@ -7,8 +7,6 @@
"Account recovery": "Récupération de compte",
"Account registered": "Compte créé",
"Account settings": "Paramètres de compte",
"Account": "Compte",
"Accounts": "Comptes",
"Actions": "Actions",
"Activate All": "Tout activer",
"Activate": "Activer",
@ -20,6 +18,7 @@
"Add existing contacts lists to display them in the user applications.": "Ajouter des listes de contacts existantes afin quelles soient visibles dans les applications de lutilisateur.",
"Add": "Ajouter",
"Admin": "Administrateur",
"Admins": "Administrateurs",
"Administration": "Administration",
"All the admins will be super admins": "Tous les administrateurs seront super-administrateurs",
"Allow a custom CSS theme": "Autoriser un thème CSS personnalisé",
@ -28,28 +27,32 @@
"An email will be sent to :email with a QR Code and provisioning link.": "Un email sera envoyé à :email contenant un QR Code et un lien de déploiement.",
"An email will be sent to this email when someone join the newsletter": "Un email sera envoyé à cette addresse quand quelqu'un rejoint la liste de diffusion",
"App Configuration": "Configuration de l'App",
"App settings": "Paramètres d'application",
"Api Keys": "Clefs d'API",
"Assistant": "Assistant",
"Blocked": "Bloqué",
"Broadcast": "Broadcast",
"By": "Par",
"Calls logs": "Journaux d'appel",
"Call Recording": "Enregistrement d'appels",
"Cancel": "Annuler",
"Cannot be changed once created.": "Ne peut être changé par la suite.",
"Change your email": "Changer votre email",
"Change your phone number": "Changer votre numéro de téléphone",
"Chat": "Chat",
"Code Verification" : "Vérification du code",
"instant messaging": "messagerie instantanée",
"Check the README.md documentation": "Voir la documentation dans README.md",
"Clear to never expire": "Laisser vide pour ne jamais expirer",
"Code": "Code",
"Conference": "Conférence",
"Configuration": "Configuration",
"Confirm email": "Confirmation de l'email",
"Confirm email": "Confirmer l'email",
"Confirm password": "Confirmer le mot de passe",
"Confirmed registration text": "Texte de confirmation d'inscription",
"Connection": "Connexion",
"Contacts List": "Liste de Contacts",
"Contacts Lists": "Listes de Contacts",
"Contacts": "Contacts",
"Configure": "Configurer",
"Copyright text": "Texte droits d'auteurs",
"Country code": "Code du pays",
"Create": "Créer",
@ -67,14 +70,14 @@
"Display name": "Nom d'affichage",
"Domain": "Domaine",
"Edit": "Éditer",
"Email registration": "Inscription par email",
"By email": "Inscription par email",
"Email": "Email",
"Email Server": "Serveur Mail",
"Empty": "Vide",
"Enable the web interface": "Activer l'interface web",
"Enabled": "Activé",
"Encrypted": "Chiffré",
"Enter the pin code bellow:": "Entrez le code pin ci-dessous:",
"Enter the code you received below": "Saisissez le code reçu ci-dessous",
"Errors": "Erreurs",
"Expiration": "Expiration",
"Expired": "Expiré",
@ -84,7 +87,6 @@
"Fill to change": "Remplir pour changer",
"Fill the related columns if you want to add an external account as well": "Remplissez également les colonnes suivantes si vous souhaitez ajouter un compte externe",
"From": "Depuis",
"General settings": "Paramètres généraux",
"Host": "Hôte",
"I accept the Privacy Policy": "J'accepte la Politique de Confidentialité",
"I accept the Terms and Conditions": "J'accepte les Conditions Générales",
@ -115,6 +117,8 @@
"Never": "Jamais",
"Never expire": "N'expire jamais",
"New Admin": "Nouvel Admin",
"New user": "Nouvel utilisateur",
"New Space": "Nouvel Espace",
"Newsletter registration email address": "Addresse email d'inscription à la liste de diffusion",
"Newsletter registration confirmed": "Confirmation de l'inscription à la newsletter",
"Next": "Suivant",
@ -123,13 +127,14 @@
"No limit": "Sans limite",
"No phone yet": "Pas de téléphone pour le moment",
"Number of minutes to expire the key after the last request.": "Nombre de minutes avant l'expiration de la clef après son dernier usage.",
"Only display usernames (hide SIP addresses)": "N'afficher que les num d'utilisateur (cacher les addresses SIP)",
"Other information": "Autres informations",
"Outbound proxy": "Outbound proxy",
"Password": "Mot de passe",
"Your password" : "Votre mot de passe",
"Phone Countries": "Numéros Internationaux",
"Phone number": "Numéro de téléphone",
"Phone registration": "Inscription via mobile",
"By phone": "Par téléphone",
"Phone registration": "Inscription par téléphone",
"Please enter the new email that you would like to link to your account.": "Veuillez entre l'adresse email que vous souhaitez lier à votre compte.",
"Please enter the new phone number that you would like to link to your account.": "Veuillez entrer le numéro de téléphone que vous souhaitez lier à votre compte.",
"Protocol": "Protocole",
@ -139,17 +144,18 @@
"Public registration": "Inscription publiques",
"QR Code scanning": "Scan de QR Code",
"Realm": "Royaume",
"Record calls": "Enregistrements des appels",
"Recover your account using your email": "Récupérer votre compte avec votre email",
"Use the mobile app to recover your account using your phone number": "Utilisez l'application mobile pour récupérer votre compte avec votre numéro de téléphone",
"Username or Phone": "Nom d'utilisateur ou téléphone",
"Register": "Inscription",
"Registrar": "Registrar",
"Registration introduction": "Présentation lors de l'inscription",
"Registration confirmed": "Confirmation de l'inscription",
"Remote provisioning": "configuration distante",
"Remove": "Remove",
"Renew": "Renouveller",
"Requests": "Requêtes",
"Resend": "Ré-envoyer",
"Resend": "Renvoyer",
"Reset password emails": "Email de réinitialisation de mot de passe",
"Reset password": "Réinitialiser le mot de passe",
"Reset your password": "Réinitialiser votre mot de passe",
@ -157,6 +163,7 @@
"Role": "Rôle",
"Scan the following QR Code using an authenticated device and wait a few seconds.": "Scanner le QR Code avec un appareil authentifié et attendez quelques secondes",
"Search": "Rechercher",
"Search by username":"Rechercher par nom d'utilisateur",
"Select a contacts list": "Sélectionner une liste de contact",
"Select a domain": "Sélectionner un domaine",
"Select a file": "Choisir un fichier",
@ -164,6 +171,7 @@
"Send an email to the user with provisioning information": "Envoyer un email à l'utilisateur avec les informations de déploiement",
"Send": "Envoyer",
"Settings": "Paramètres",
"Show usernames only": "Afficher uniquement les noms d'utilisateur",
"Sip Adress": "Adresse SIP",
"SIP Domain": "Domaine SIP",
"Space": "Espace",
@ -178,12 +186,12 @@
"The account doesn't exists": "Le compte n'existe pas",
"The code has expired": "Le code a expiré",
"The code is not valid": "Le code n'est pas valide",
"The code will be available :minutes minutes.": "Le code sera disponible pendant :minutes minutes.",
"We will send you a verification code to recover your account.": "Nous vous enverrons un code de vérification pour récupérer votre compte.",
"The contact doesn't exists": "Le contact n'existe pas",
"The file must be in CSV following this template": "Le fichier doit être au format CSV et respecter le modèle suivant",
"The first line contains the labels": "La premières ligne contient les étiquettes",
"The link can only be visited once": "Le lien ne peut être utilisé qu'une fois",
"Third party SIP": "Adresse SIP tierce",
"Third-party SIP account": "Compte SIP tiers",
"This link is not available anymore.": "Ce lien n'est plus disponible.",
"This link will be available for :hours hours.": "Ce lien restera disponible pour :hours heures.",
"To": "À",
@ -195,14 +203,14 @@
"Updated": "Mise à jour",
"Used on": "Utilisé le",
"User": "Utilisateur",
"Username or phone number": "Identifiant ou numéro de téléphone",
"Username": "Identifiant",
"Users": "Utilisateurs",
"Username": "Nom d'utilisateur",
"Value": "Valeur",
"Verify": "Vérifier",
"Via": "Via",
"Week": "Semaine",
"Welcome on :app_name": "Bienvenue sur :app_name",
"Wrong username or password": "Mauvais identifiant ou mot de passe",
"Incorrect username or password": "Nom d'utilisateur ou mot de passe incorrect",
"Year": "Année",
"You already have an account?": "Vous avez déjà un compte ?",
"You are going to permanently delete the following element. Please confirm your action.": "Vous allez supprimer l'élément suivant. Veuillez confirmer votre action.",

View file

@ -165,7 +165,8 @@ form label {
form input[type="radio"]~label:after,
form input[required]+label:after {
content: '*';
content: '' '*';
color: var(--danger-5);
}
form input:not([type=checkbox])~label,

View file

@ -2,14 +2,14 @@
@section('content')
<section>
<h1 style="margin-bottom: 4rem;"><i class="ph">user-circle</i> {{ __('Change your phone email') }}</h1>
<h1 style="margin-bottom: 4rem;"><i class="ph">user-circle</i> {{ __('Code Verification') }}</h1>
<form method="POST" action="{{ route('account.email.update') }}" accept-charset="UTF-8">
@csrf
<div class="large">
<p>{{ __('A verification code was sent by email to :email.', ['email' => $emailChangeCode->email]) }}</p>
<p>{{ __('Enter the pin code bellow:') }}</p>
<p>{{ __('Enter the code you received below') }}</p>
</div>
<div class="large">
@ -28,8 +28,9 @@
<div class="large" style="margin-top: 2rem;">
<p>
You didn't receive the code?
<a class="btn secondary" href="{{ route('account.email.change') }}">Resend a code</a>
{{ __('You didn't receive the code?') }}
<a class="btn secondary" href="{{ route('account.email.change') }}">{{ __('Resend') }}</a>
</p>
</div>

View file

@ -12,9 +12,9 @@
@csrf
<div>
@if (space()->phone_registration)
<input placeholder="john, +163423..." required="" name="username" type="text"
<input placeholder="{{ __('Username or Phone') }}" required="" name="username" type="text"
value="{{ old('username') }}">
<label for="username">{{ __('Username or phone number') }}</label>
<label for="username">{{ __('Username') }}</label>
@else
<input placeholder="username" required="" name="username" type="text"
value="{{ old('username') }}">
@ -24,7 +24,7 @@
</div>
<div class="on_desktop"></div>
<div>
<input placeholder="myPassword" required="" name="password" type="password" value="">
<input placeholder="{{ __('Your password') }}" required="" name="password" type="password" value="">
<label for="password">{{ __('Password') }}</label>
</div>
<div>

View file

@ -9,7 +9,7 @@
<div class="large">
<p>{{ __('A verification code was sent by SMS to :phone.', ['phone' => $phoneChangeCode->phone]) }}</p>
<p>{{ __('Enter the pin code bellow:') }}</p>
<p>{{ __('Enter the code you received below') }}</p>
</div>
<div class="large">

View file

@ -7,7 +7,7 @@
<form method="POST" action="{{ route('account.recovery.confirm') }}" accept-charset="UTF-8">
@csrf
<p class="large">{{ __('Enter the pin code bellow:') }}</p>
<p class="large">{{ __('Enter the code you received below') }}</p>
<div class="large">
<input oninput="digitFilled(this)" onfocus="this.value = ''" autofocus class="digit" name="number_1" type="number" min="0" max="9">
<input oninput="digitFilled(this)" onfocus="this.value = ''" class="digit" name="number_2" type="number" min="0" max="9">

View file

@ -11,7 +11,7 @@
<div class="large">
@if (config('app.recovery_code_expiration_minutes') > 0)
<p class="large">
{{ __('The code will be available :minutes minutes.', ['minutes' => config('app.recovery_code_expiration_minutes')]) }}
{{ __('We will send you a verification code to recover your account.') }}
</p>
@endif
@include('parts.errors', ['name' => 'code'])
@ -35,7 +35,7 @@
@elseif($method == 'phone')
@if (config('app.recovery_code_expiration_minutes') > 0)
<p class="large">
{{ __('The code will be available :minutes minutes.', ['minutes' => config('app.recovery_code_expiration_minutes')]) }}
{{ __('We will send you a verification code to recover your account.') }}
</p>
@endif
<div>

View file

@ -21,7 +21,7 @@
@include('admin.account.parts.tabs')
@else
<header>
<h1><i class="ph">users</i> {{ __('Create') }}</h1>
<h1><i class="ph">users</i> {{ __('New user') }}</h1>
<a href="{{ route('admin.account.index') }}" class="btn secondary oppose">{{ __('Cancel') }}</a>
</header>
@endif

View file

@ -20,7 +20,7 @@
<p>{{ __('The file must be in CSV following this template') }}: <a href="{{ route('account.home') }}/accounts_example.csv">example_template.csv</a></p>
<h4>{{ __('Account') }}</h4>
<h4>{{ __('User') }}</h4>
<p>{{ __('The first line contains the labels') }}</p>
<ol>
<li>{{ __('Username') }}* </li>

View file

@ -2,12 +2,12 @@
@section('content')
<header>
<h1><i class="ph">users</i> {{ __('Accounts') }}</h1>
<h1><i class="ph">users</i> {{ __('Users') }}</h1>
@if ($space)
<p>{{ $accounts->count()}} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph">infinity</i>@endif</p>
@endif
<a class="btn secondary oppose" href="{{ route('admin.account.import.create') }}">
<i class="ph">download-simple</i>
<i class="ph">upload-simple</i>
{{ __('Import') }}
</a>
@if (space()?->intercom_features)
@ -17,8 +17,8 @@
</a>
@endif
<a class="btn" href="{{ route('admin.account.create') }}">
<i class="ph">plus</i>
{{ __('Create') }}
<i class="ph">user-plus</i>
{{ __('New user') }}
</a>
</header>
<div>
@ -27,7 +27,7 @@
<input type="hidden" name="order_by" value="{{ request()->get('order_by', '') }}">
<input type="hidden" name="order_sort" value="{{ request()->get('order_sort', '') }}">
<div class="search large">
<input placeholder="Search by username: +1234, foo_bar…" name="search" type="text"
<input placeholder="{{ __('Search by username') }}" name="search" type="text"
value="{{ request()->get('search', '') }}">
<label for="search">{{ __('Search') }}</label>
</div>

View file

@ -1,3 +1,3 @@
<li class="breadcrumb-item">
<a href="{{ route('admin.account.index') }}">{{ __('Accounts') }}</a>
<a href="{{ route('admin.account.index') }}">{{ __('Users') }}</a>
</li>

View file

@ -67,7 +67,7 @@
@include('parts.errors', ['name' => 'account_proxy_registrar_address'])
</div>
<h3 class="large">{{ __('Provisioning') }}</h3>
<h3 class="large">{{ __('Remote provisioning') }}</h3>
<div class="large">
<textarea style="min-height: 200px;" name="custom_provisioning_entries" id="custom_provisioning_entries">{{ $space->custom_provisioning_entries }}</textarea>

View file

@ -27,14 +27,14 @@
<h3 class="large">{{ __('Features') }}</h3>
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => __('Chat'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => __('instant messaging'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_meetings_feature', 'label' => __('Meeting'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => __('Conference'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => __('General settings'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => __('Broadcast'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => __('App settings'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_account_settings', 'label' => __('Account settings'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => __('Record calls'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => __('Call Recording'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'only_display_sip_uri_username', 'label' => __('Only display usernames (hide SIP addresses)')])
@include('parts.form.toggle', ['object' => $space, 'key' => 'only_display_sip_uri_username', 'label' => __('Show usernames only')])
<div class="select">
<select name="max_account">
@ -50,7 +50,7 @@
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_create_account', 'label' => __('Account creation'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_disable_qr_code', 'label' => __('QR Code scanning'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => __('Third party SIP'), 'reversed' => true])
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => __('Third-party SIP account'), 'reversed' => true])
<div class="large">
<input class="btn" type="submit" value="{{ __('Update') }}">

View file

@ -6,7 +6,7 @@
<h1><i class="ph">globe-hemisphere-west</i> {{ __('Spaces') }}</h1>
<a class="btn oppose" href="{{ route('admin.spaces.create') }}">
<i class="ph">plus</i>
{{ __('Create') }}
{{ __('New Space') }}
</a>
</header>

View file

@ -31,7 +31,7 @@
<div class="grid third ">
<div class="card">
<span class="icon"><i class="ph">users</i></span>
<h3>{{ __('Accounts') }}</h3>
<h3>{{ __('Users') }}</h3>
<p>
{{ $space->accounts()->count() }}
/
@ -57,7 +57,7 @@
<a class="btn secondary oppose small" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['admin' => true, 'domain' => $space->domain]) }}"><i class="ph">user-plus</i> {{ __('New Admin') }}</a>
<h2>Admins</h2>
<h2>{{ __('Admins') }}</h2>
<table>
<thead>

View file

@ -1,6 +1,6 @@
@include('parts.tabs', [
'items' => [
route('admin.statistics.show', ['type' => 'accounts']) => __('Accounts'),
route('admin.statistics.show', ['type' => 'accounts']) => __('Users'),
route('admin.statistics.show', ['type' => 'calls']) => __('Calls'),
route('admin.statistics.show_call_logs') => __('Calls logs'),
route('admin.statistics.show', ['type' => 'messages']) => __('Messages'),

View file

@ -9,7 +9,7 @@
$items['admin.spaces.me'] = ['title' => __('My Space'), 'icon' => 'globe-hemisphere-west'];
}
$items['admin.account.index'] = ['title' => __('Accounts'), 'icon' => 'users'];
$items['admin.account.index'] = ['title' => __('Users'), 'icon' => 'users'];
$items['admin.contacts_lists.index'] = ['title' => __('Contacts Lists'), 'icon' => 'user-rectangle'];
$items['admin.statistics.show'] = ['title' => __('Statistics'), 'icon' => 'chart-donut'];
$items['admin.api_keys.index'] = ['title' => __('Settings'), 'icon' => 'gear'];

View file

@ -1,6 +1,6 @@
@if(space()->phone_registration)
@include('parts.tabs', ['items' => [
route('account.register.phone') => __('Phone registration'),
route('account.register.email') => __('Email registration'),
route('account.register.phone') => __('By phone'),
route('account.register.email') => __('By email'),
]])
@endif