diff --git a/.github/translators.txt b/.github/translators.txt index 4ac62c57c..cf844fbff 100644 --- a/.github/translators.txt +++ b/.github/translators.txt @@ -184,3 +184,5 @@ Frost-ZX :: Chinese Simplified Kuzma Simonov (ovmach) :: Russian Vojtěch Krystek (acantophis) :: Czech Michał Lipok (mLipok) :: Polish +Nicolas Pawlak (Mikolajek) :: French +Thomas Hansen (thomasdk81) :: Danish diff --git a/app/Http/Middleware/ApplyCspRules.php b/app/Http/Middleware/ApplyCspRules.php index a65d12a05..6c9d14e7b 100644 --- a/app/Http/Middleware/ApplyCspRules.php +++ b/app/Http/Middleware/ApplyCspRules.php @@ -8,7 +8,6 @@ use Illuminate\Http\Request; class ApplyCspRules { - /** * @var CspService */ @@ -43,5 +42,4 @@ class ApplyCspRules return $response; } - } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 1119d87df..59704f4a1 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -73,7 +73,7 @@ class AppServiceProvider extends ServiceProvider return new SocialAuthService($app->make(SocialiteFactory::class), $app->make(LoginService::class)); }); - $this->app->singleton(CspService::class, function($app) { + $this->app->singleton(CspService::class, function ($app) { return new CspService(); }); } diff --git a/app/Theming/CustomHtmlHeadContentProvider.php b/app/Theming/CustomHtmlHeadContentProvider.php index 6110d5a60..041e5d025 100644 --- a/app/Theming/CustomHtmlHeadContentProvider.php +++ b/app/Theming/CustomHtmlHeadContentProvider.php @@ -33,9 +33,10 @@ class CustomHtmlHeadContentProvider { $content = $this->getSourceContent(); $hash = md5($content); - $html = $this->cache->remember('custom-head-web:' . $hash, 86400, function() use ($content) { + $html = $this->cache->remember('custom-head-web:' . $hash, 86400, function () use ($content) { return HtmlNonceApplicator::prepare($content); }); + return HtmlNonceApplicator::apply($html, $this->cspService->getNonce()); } @@ -47,8 +48,9 @@ class CustomHtmlHeadContentProvider { $content = $this->getSourceContent(); $hash = md5($content); - return $this->cache->remember('custom-head-export:' . $hash, 86400, function() use ($content) { - return HtmlContentFilter::removeScripts($content); + + return $this->cache->remember('custom-head-export:' . $hash, 86400, function () use ($content) { + return HtmlContentFilter::removeScripts($content); }); } @@ -59,5 +61,4 @@ class CustomHtmlHeadContentProvider { return setting('app-custom-head', ''); } - -} \ No newline at end of file +} diff --git a/app/Util/CspService.php b/app/Util/CspService.php index 2979ebc3e..812e1a4be 100644 --- a/app/Util/CspService.php +++ b/app/Util/CspService.php @@ -12,7 +12,7 @@ class CspService public function __construct(string $nonce = '') { - $this->nonce = $nonce ?: Str::random(16); + $this->nonce = $nonce ?: Str::random(24); } /** @@ -90,7 +90,7 @@ class CspService protected function getAllowedIframeHosts(): array { $hosts = config('app.iframe_hosts', ''); + return array_filter(explode(' ', $hosts)); } - -} \ No newline at end of file +} diff --git a/app/Util/HtmlContentFilter.php b/app/Util/HtmlContentFilter.php index aa395cc45..1943aa780 100644 --- a/app/Util/HtmlContentFilter.php +++ b/app/Util/HtmlContentFilter.php @@ -70,6 +70,7 @@ class HtmlContentFilter { $value = strtolower($value); $upperVal = strtoupper($value); + return 'contains(translate(' . $property . ', \'' . $upperVal . '\', \'' . $value . '\'), \'' . $value . '\')'; } diff --git a/app/Util/HtmlNonceApplicator.php b/app/Util/HtmlNonceApplicator.php index e66625bf2..07298577c 100644 --- a/app/Util/HtmlNonceApplicator.php +++ b/app/Util/HtmlNonceApplicator.php @@ -21,10 +21,10 @@ class HtmlNonceApplicator return $html; } - $html = '
' . $html . ''; + $html = '' . $html . ''; libxml_use_internal_errors(true); $doc = new DOMDocument(); - $doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8')); + $doc->loadHTML($html, LIBXML_SCHEMA_CREATE); $xPath = new DOMXPath($doc); // Apply to scripts @@ -38,7 +38,8 @@ class HtmlNonceApplicator $returnHtml = ''; $topElems = $doc->documentElement->childNodes->item(0)->childNodes; foreach ($topElems as $child) { - $returnHtml .= $doc->saveHTML($child); + $content = $doc->saveHTML($child); + $returnHtml .= $content; } return $returnHtml; @@ -59,5 +60,4 @@ class HtmlNonceApplicator $node->setAttribute('nonce', $attrValue); } } - } diff --git a/resources/lang/da/activities.php b/resources/lang/da/activities.php index a81dde3ec..23c13b2d8 100644 --- a/resources/lang/da/activities.php +++ b/resources/lang/da/activities.php @@ -44,12 +44,12 @@ return [ 'bookshelf_delete_notification' => 'Bogreolen blev opdateret', // Favourites - 'favourite_add_notification' => '":name" has been added to your favourites', - 'favourite_remove_notification' => '":name" has been removed from your favourites', + 'favourite_add_notification' => '":name" er blevet tilføjet til dine favoritter', + 'favourite_remove_notification' => '":name" er blevet fjernet fra dine favoritter', // MFA - 'mfa_setup_method_notification' => 'Multi-factor method successfully configured', - 'mfa_remove_method_notification' => 'Multi-factor method successfully removed', + 'mfa_setup_method_notification' => 'Multi-faktor metode konfigureret', + 'mfa_remove_method_notification' => 'Multi-faktor metode fjernet', // Other 'commented_on' => 'kommenterede til', diff --git a/resources/lang/da/auth.php b/resources/lang/da/auth.php index f16bbf47f..8c9d86ea6 100644 --- a/resources/lang/da/auth.php +++ b/resources/lang/da/auth.php @@ -76,19 +76,19 @@ return [ 'user_invite_success' => 'Adgangskode indstillet, du har nu adgang til :appName!', // Multi-factor Authentication - 'mfa_setup' => 'Setup Multi-Factor Authentication', - 'mfa_setup_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.', - 'mfa_setup_configured' => 'Already configured', - 'mfa_setup_reconfigure' => 'Reconfigure', - 'mfa_setup_remove_confirmation' => 'Are you sure you want to remove this multi-factor authentication method?', - 'mfa_setup_action' => 'Setup', - 'mfa_backup_codes_usage_limit_warning' => 'You have less than 5 backup codes remaining, Please generate and store a new set before you run out of codes to prevent being locked out of your account.', - 'mfa_option_totp_title' => 'Mobile App', - 'mfa_option_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.', - 'mfa_option_backup_codes_title' => 'Backup Codes', - 'mfa_option_backup_codes_desc' => 'Securely store a set of one-time-use backup codes which you can enter to verify your identity.', - 'mfa_gen_confirm_and_enable' => 'Confirm and Enable', - 'mfa_gen_backup_codes_title' => 'Backup Codes Setup', + 'mfa_setup' => 'Opsætning af Multi-faktor godkendelse', + 'mfa_setup_desc' => 'Opsæt multi-faktor godkendelse som et ekstra lag af sikkerhed for din brugerkonto.', + 'mfa_setup_configured' => 'Allerede konfigureret', + 'mfa_setup_reconfigure' => 'Genkonfigurer', + 'mfa_setup_remove_confirmation' => 'Er du sikker på, at du vil fjerne denne multi-faktor godkendelsesmetode?', + 'mfa_setup_action' => 'Opsætning', + 'mfa_backup_codes_usage_limit_warning' => 'Du har mindre end 5 backup koder tilbage, generere og gem et nyt sæt før du løber tør for koder, for at forhindre at blive lukket ude af din konto.', + 'mfa_option_totp_title' => 'Mobil app', + 'mfa_option_totp_desc' => 'For at bruge multi-faktor godkendelse, skal du bruge en mobil app, der understøtter TOTP såsom Google Authenticator, Authy eller Microsoft Authenticator.', + 'mfa_option_backup_codes_title' => 'Backup koder', + 'mfa_option_backup_codes_desc' => 'Gem sikkert et sæt af engangs backup koder, som du kan indtaste for at bekræfte din identitet.', + 'mfa_gen_confirm_and_enable' => 'Bekræft og aktivér', + 'mfa_gen_backup_codes_title' => 'Backup koder opsætning', 'mfa_gen_backup_codes_desc' => 'Store the below list of codes in a safe place. When accessing the system you\'ll be able to use one of the codes as a second authentication mechanism.', 'mfa_gen_backup_codes_download' => 'Download Codes', 'mfa_gen_backup_codes_usage_warning' => 'Each code can only be used once', diff --git a/resources/lang/da/common.php b/resources/lang/da/common.php index 829ab9382..0e4269734 100644 --- a/resources/lang/da/common.php +++ b/resources/lang/da/common.php @@ -39,12 +39,12 @@ return [ 'reset' => 'Nulstil', 'remove' => 'Fjern', 'add' => 'Tilføj', - 'configure' => 'Configure', + 'configure' => 'Konfigurer', 'fullscreen' => 'Fuld skærm', - 'favourite' => 'Favourite', - 'unfavourite' => 'Unfavourite', - 'next' => 'Next', - 'previous' => 'Previous', + 'favourite' => 'Foretrukken', + 'unfavourite' => 'Fjern som foretrukken', + 'next' => 'Næste', + 'previous' => 'Forrige', // Sort Options 'sort_options' => 'Sorteringsindstillinger', @@ -61,7 +61,7 @@ return [ 'no_activity' => 'Ingen aktivitet at vise', 'no_items' => 'Intet indhold tilgængeligt', 'back_to_top' => 'Tilbage til toppen', - 'skip_to_main_content' => 'Skip to main content', + 'skip_to_main_content' => 'Spring til indhold', 'toggle_details' => 'Vis/skjul detaljer', 'toggle_thumbnails' => 'Vis/skjul miniaturer', 'details' => 'Detaljer', diff --git a/resources/lang/da/entities.php b/resources/lang/da/entities.php index a61f80906..e488e201f 100644 --- a/resources/lang/da/entities.php +++ b/resources/lang/da/entities.php @@ -27,8 +27,8 @@ return [ 'images' => 'Billeder', 'my_recent_drafts' => 'Mine seneste kladder', 'my_recently_viewed' => 'Mine senest viste', - 'my_most_viewed_favourites' => 'My Most Viewed Favourites', - 'my_favourites' => 'My Favourites', + 'my_most_viewed_favourites' => 'Mine mest viste favoritter', + 'my_favourites' => 'Mine favoritter', 'no_pages_viewed' => 'Du har ikke besøgt nogle sider', 'no_pages_recently_created' => 'Ingen sider er blevet oprettet for nyligt', 'no_pages_recently_updated' => 'Ingen sider er blevet opdateret for nyligt', @@ -36,7 +36,7 @@ return [ 'export_html' => 'Indeholdt webfil', 'export_pdf' => 'PDF-fil', 'export_text' => 'Almindelig tekstfil', - 'export_md' => 'Markdown File', + 'export_md' => 'Markdown Fil', // Permissions and restrictions 'permissions' => 'Rettigheder', @@ -99,7 +99,7 @@ return [ 'shelves_permissions' => 'Reoltilladelser', 'shelves_permissions_updated' => 'Reoltilladelser opdateret', 'shelves_permissions_active' => 'Aktive reoltilladelser', - 'shelves_permissions_cascade_warning' => 'Permissions on bookshelves do not automatically cascade to contained books. This is because a book can exist on multiple shelves. Permissions can however be copied down to child books using the option found below.', + 'shelves_permissions_cascade_warning' => 'Tilladelser på reoler nedarves ikke automatisk til indeholdte bøger. Dette skyldes, at en bog kan eksistere på flere hylder. Tilladelser kan dog kopieres ned til underliggende bøger ved hjælp af muligheden, der findes nedenfor.', 'shelves_copy_permissions_to_books' => 'Kopier tilladelser til bøger', 'shelves_copy_permissions' => 'Kopier tilladelser', 'shelves_copy_permissions_explain' => 'Dette vil anvende de aktuelle tilladelsesindstillinger på denne boghylde på alle bøger indeholdt i. Før aktivering skal du sikre dig, at ændringer i tilladelserne til denne boghylde er blevet gemt.', diff --git a/resources/lang/da/errors.php b/resources/lang/da/errors.php index 806ac8177..d54cac243 100644 --- a/resources/lang/da/errors.php +++ b/resources/lang/da/errors.php @@ -83,9 +83,9 @@ return [ '404_page_not_found' => 'Siden blev ikke fundet', 'sorry_page_not_found' => 'Beklager, siden du leder efter blev ikke fundet.', 'sorry_page_not_found_permission_warning' => 'Hvis du forventede, at denne side skulle eksistere, har du muligvis ikke tilladelse til at se den.', - 'image_not_found' => 'Image Not Found', - 'image_not_found_subtitle' => 'Sorry, The image file you were looking for could not be found.', - 'image_not_found_details' => 'If you expected this image to exist it might have been deleted.', + 'image_not_found' => 'Billede ikke fundet', + 'image_not_found_subtitle' => 'Beklager, billedet du ledte efter kunne ikke findes.', + 'image_not_found_details' => 'Hvis du forventede, at dette billede skulle eksistere, kan det være blevet slettet.', 'return_home' => 'Gå tilbage til hjem', 'error_occurred' => 'Der opstod en fejl', 'app_down' => ':appName er nede lige nu', diff --git a/resources/lang/da/settings.php b/resources/lang/da/settings.php index 212a727a6..55d15bf4e 100644 --- a/resources/lang/da/settings.php +++ b/resources/lang/da/settings.php @@ -92,7 +92,7 @@ return [ 'recycle_bin' => 'Papirkurv', 'recycle_bin_desc' => 'Her kan du gendanne elementer, der er blevet slettet eller vælge at permanent fjerne dem fra systemet. Denne liste er ufiltreret, i modsætning til lignende aktivitetslister i systemet, hvor tilladelsesfiltre anvendes.', 'recycle_bin_deleted_item' => 'Slettet element', - 'recycle_bin_deleted_parent' => 'Parent', + 'recycle_bin_deleted_parent' => 'Overordnet', 'recycle_bin_deleted_by' => 'Slettet af', 'recycle_bin_deleted_at' => 'Sletningstidspunkt', 'recycle_bin_permanently_delete' => 'Slet permanent', @@ -105,7 +105,7 @@ return [ 'recycle_bin_restore_list' => 'Elementer der skal gendannes', 'recycle_bin_restore_confirm' => 'Denne handling vil gendanne det slettede element, herunder alle underelementer, til deres oprindelige placering. Hvis den oprindelige placering siden er blevet slettet, og nu er i papirkurven, vil det overordnede element også skulle gendannes.', 'recycle_bin_restore_deleted_parent' => 'Det overordnede element til dette element er også blevet slettet. Disse vil forblive slettet indtil det overordnede også er gendannet.', - 'recycle_bin_restore_parent' => 'Restore Parent', + 'recycle_bin_restore_parent' => 'Gendan Overordnet', 'recycle_bin_destroy_notification' => 'Slettede :count elementer fra papirkurven.', 'recycle_bin_restore_notification' => 'Gendannede :count elementer fra papirkurven.', @@ -138,7 +138,7 @@ return [ 'role_details' => 'Rolledetaljer', 'role_name' => 'Rollenavn', 'role_desc' => 'Kort beskrivelse af rolle', - 'role_mfa_enforced' => 'Requires Multi-Factor Authentication', + 'role_mfa_enforced' => 'Kræver multifaktor godkendelse', 'role_external_auth_id' => 'Eksterne godkendelses-IDer', 'role_system' => 'Systemtilladelser', 'role_manage_users' => 'Administrere brugere', @@ -148,7 +148,7 @@ return [ 'role_manage_page_templates' => 'Administrer side-skabeloner', 'role_access_api' => 'Tilgå system-API', 'role_manage_settings' => 'Administrer app-indstillinger', - 'role_export_content' => 'Export content', + 'role_export_content' => 'Eksporter indhold', 'role_asset' => 'Tilladelser for medier og "assets"', 'roles_system_warning' => 'Vær opmærksom på, at adgang til alle af de ovennævnte tre tilladelser, kan give en bruger mulighed for at ændre deres egne brugerrettigheder eller brugerrettigheder for andre i systemet. Tildel kun roller med disse tilladelser til betroede brugere.', 'role_asset_desc' => 'Disse tilladelser kontrollerer standardadgang til medier og "assets" i systemet. Tilladelser til bøger, kapitler og sider tilsidesætter disse tilladelser.', @@ -206,10 +206,10 @@ return [ 'users_api_tokens_create' => 'Opret Token', 'users_api_tokens_expires' => 'Udløber', 'users_api_tokens_docs' => 'API-dokumentation', - 'users_mfa' => 'Multi-Factor Authentication', - 'users_mfa_desc' => 'Setup multi-factor authentication as an extra layer of security for your user account.', - 'users_mfa_x_methods' => ':count method configured|:count methods configured', - 'users_mfa_configure' => 'Configure Methods', + 'users_mfa' => 'Multi-faktor godkendelse', + 'users_mfa_desc' => 'Opsæt multi-faktor godkendelse som et ekstra lag af sikkerhed for din brugerkonto.', + 'users_mfa_x_methods' => ':count metode konfigureret|:count metoder konfigureret', + 'users_mfa_configure' => 'Konfigurer metoder', // API Tokens 'user_api_token_create' => 'Opret API-token', diff --git a/resources/lang/da/validation.php b/resources/lang/da/validation.php index 0635f14a7..c54b07a6e 100644 --- a/resources/lang/da/validation.php +++ b/resources/lang/da/validation.php @@ -15,7 +15,7 @@ return [ 'alpha_dash' => ':attribute må kun bestå af bogstaver, tal, binde- og under-streger.', 'alpha_num' => ':attribute må kun indeholde bogstaver og tal.', 'array' => ':attribute skal være et array.', - 'backup_codes' => 'The provided code is not valid or has already been used.', + 'backup_codes' => 'Den angivne kode er ikke gyldig eller er allerede brugt.', 'before' => ':attribute skal være en dato før :date.', 'between' => [ 'numeric' => ':attribute skal være mellem :min og :max.', @@ -99,7 +99,7 @@ return [ ], 'string' => ':attribute skal være tekst.', 'timezone' => ':attribute skal være en gyldig zone.', - 'totp' => 'The provided code is not valid or has expired.', + 'totp' => 'Den angivne kode er ikke gyldig eller er udløbet.', 'unique' => ':attribute er allerede i brug.', 'url' => ':attribute-formatet er ugyldigt.', 'uploaded' => 'Filen kunne ikke oploades. Serveren accepterer muligvis ikke filer af denne størrelse.', diff --git a/resources/lang/es/auth.php b/resources/lang/es/auth.php index 96f0b384e..70f069a12 100644 --- a/resources/lang/es/auth.php +++ b/resources/lang/es/auth.php @@ -80,11 +80,11 @@ return [ 'mfa_setup_desc' => 'La autenticación en dos pasos añade una capa de seguridad adicional a tu cuenta de usuario.', 'mfa_setup_configured' => 'Ya está configurado', 'mfa_setup_reconfigure' => 'Reconfigurar', - 'mfa_setup_remove_confirmation' => '¿Está seguro de que desea eliminar este método de autenticación de dos pasos?', + 'mfa_setup_remove_confirmation' => '¿Está seguro de que desea eliminar este método de autenticación en dos pasos?', 'mfa_setup_action' => 'Configuración', 'mfa_backup_codes_usage_limit_warning' => 'Quedan menos de 5 códigos de respaldo, Por favor, genera y almacena un nuevo conjunto antes de que te quedes sin códigos para evitar que te bloquees fuera de tu cuenta.', 'mfa_option_totp_title' => 'Aplicación para móviles', - 'mfa_option_totp_desc' => 'Para utilizar la autenticación de dos pasos necesitarás una aplicación móvil que soporte TOTP como Google Authenticator, Authy o Microsoft Authenticator.', + 'mfa_option_totp_desc' => 'Para utilizar la autenticación en dos pasos necesitarás una aplicación móvil que soporte TOTP como Google Authenticator, Authy o Microsoft Authenticator.', 'mfa_option_backup_codes_title' => 'Códigos de Respaldo', 'mfa_option_backup_codes_desc' => 'Almacena de forma segura un conjunto de códigos de respaldo de un solo uso que puedes introducir para verificar tu identidad.', 'mfa_gen_confirm_and_enable' => 'Confirmar y Activar', @@ -93,7 +93,7 @@ return [ 'mfa_gen_backup_codes_download' => 'Descargar Códigos', 'mfa_gen_backup_codes_usage_warning' => 'Cada código sólo puede utilizarse una vez', 'mfa_gen_totp_title' => 'Configuración de Aplicación móvil', - 'mfa_gen_totp_desc' => 'Para utilizar la autenticación de dos pasos necesitarás una aplicación móvil que soporte TOTP como Google Authenticator, Authy o Microsoft Authenticator.', + 'mfa_gen_totp_desc' => 'Para utilizar la autenticación en dos pasos necesitarás una aplicación móvil que soporte TOTP como Google Authenticator, Authy o Microsoft Authenticator.', 'mfa_gen_totp_scan' => 'Escanea el código QR mostrado a continuación usando tu aplicación de autenticación preferida para empezar.', 'mfa_gen_totp_verify_setup' => 'Verificar Configuración', 'mfa_gen_totp_verify_setup_desc' => 'Verifica que todo está funcionando introduciendo un código, generado en tu aplicación de autenticación, en el campo de texto a continuación:', @@ -101,7 +101,7 @@ return [ 'mfa_verify_access' => 'Verificar Acceso', 'mfa_verify_access_desc' => 'Tu cuenta de usuario requiere que confirmes tu identidad a través de un nivel adicional de verificación antes de que te conceda el acceso. Verifica tu identidad usando uno de los métodos configurados para continuar.', 'mfa_verify_no_methods' => 'No hay Métodos Configurados', - 'mfa_verify_no_methods_desc' => 'No se han encontrado métodos de autenticación de dos pasos para tu cuenta. Tendrás que configurar al menos un método antes de obtener acceso.', + 'mfa_verify_no_methods_desc' => 'No se han encontrado métodos de autenticación en dos pasos para tu cuenta. Tendrás que configurar al menos un método antes de obtener acceso.', 'mfa_verify_use_totp' => 'Verificar usando una aplicación móvil', 'mfa_verify_use_backup_codes' => 'Verificar usando un código de respaldo', 'mfa_verify_backup_code' => 'Códigos de Respaldo', diff --git a/resources/lang/fr/auth.php b/resources/lang/fr/auth.php index 0e5e9b0d7..f6ad00759 100644 --- a/resources/lang/fr/auth.php +++ b/resources/lang/fr/auth.php @@ -82,31 +82,31 @@ return [ 'mfa_setup_reconfigure' => 'Reconfigurer', 'mfa_setup_remove_confirmation' => 'Êtes-vous sûr de vouloir supprimer cette méthode d\'authentification multi-facteurs ?', 'mfa_setup_action' => 'Configuration', - 'mfa_backup_codes_usage_limit_warning' => 'You have less than 5 backup codes remaining, Please generate and store a new set before you run out of codes to prevent being locked out of your account.', + 'mfa_backup_codes_usage_limit_warning' => 'Il vous reste moins de 5 codes de secours, veuillez générer et stocker un nouveau jeu de codes afin d\'éviter tout verrouillage de votre compte.', 'mfa_option_totp_title' => 'Application mobile', 'mfa_option_totp_desc' => 'Pour utiliser l\'authentification multi-facteurs, vous aurez besoin d\'une application mobile qui supporte TOTP comme Google Authenticator, Authy ou Microsoft Authenticator.', - 'mfa_option_backup_codes_title' => 'Backup Codes', - 'mfa_option_backup_codes_desc' => 'Securely store a set of one-time-use backup codes which you can enter to verify your identity.', + 'mfa_option_backup_codes_title' => 'Codes de secours', + 'mfa_option_backup_codes_desc' => 'Stockez en toute sécurité un jeu de codes de secours que vous pourrez utiliser pour vérifier votre identité.', 'mfa_gen_confirm_and_enable' => 'Confirmer et activer', - 'mfa_gen_backup_codes_title' => 'Backup Codes Setup', + 'mfa_gen_backup_codes_title' => 'Configuration des codes de secours', 'mfa_gen_backup_codes_desc' => 'Stockez la liste des codes ci-dessous dans un endroit sûr. Lorsque vous accédez au système, vous pourrez utiliser l\'un des codes comme un deuxième mécanisme d\'authentification.', 'mfa_gen_backup_codes_download' => 'Télécharger le code', 'mfa_gen_backup_codes_usage_warning' => 'Chaque code ne peut être utilisé qu\'une seule fois', 'mfa_gen_totp_title' => 'Configuration de l\'application mobile', - 'mfa_gen_totp_desc' => 'To use multi-factor authentication you\'ll need a mobile application that supports TOTP such as Google Authenticator, Authy or Microsoft Authenticator.', - 'mfa_gen_totp_scan' => 'Scan the QR code below using your preferred authentication app to get started.', + 'mfa_gen_totp_desc' => 'Pour utiliser l\'authentification multi-facteurs, vous aurez besoin d\'une application mobile qui supporte TOTP comme Google Authenticator, Authy ou Microsoft Authenticator.', + 'mfa_gen_totp_scan' => 'Scannez le QR code ci-dessous avec votre application d\'authentification préférée pour débuter.', 'mfa_gen_totp_verify_setup' => 'Vérifier la configuration', - 'mfa_gen_totp_verify_setup_desc' => 'Verify that all is working by entering a code, generated within your authentication app, in the input box below:', + 'mfa_gen_totp_verify_setup_desc' => 'Vérifiez que tout fonctionne en utilisant un code généré par votre application d\'authentification, dans la zone ci-dessous :', 'mfa_gen_totp_provide_code_here' => 'Fournir le code généré par votre application ici', 'mfa_verify_access' => 'Vérifier l\'accès', - 'mfa_verify_access_desc' => 'Your user account requires you to confirm your identity via an additional level of verification before you\'re granted access. Verify using one of your configured methods to continue.', + 'mfa_verify_access_desc' => 'Votre compte d\'utilisateur vous demande de confirmer votre identité par un niveau supplémentaire de vérification avant que vous n\'ayez accès. Vérifiez-la en utilisant l\'une de vos méthodes configurées pour continuer.', 'mfa_verify_no_methods' => 'Aucune méthode configurée', 'mfa_verify_no_methods_desc' => 'Aucune méthode d\'authentification multi-facteurs n\'a pu être trouvée pour votre compte. Vous devez configurer au moins une méthode avant d\'obtenir l\'accès.', 'mfa_verify_use_totp' => 'Vérifier à l\'aide d\'une application mobile', - 'mfa_verify_use_backup_codes' => 'Verify using a backup code', - 'mfa_verify_backup_code' => 'Backup Code', - 'mfa_verify_backup_code_desc' => 'Enter one of your remaining backup codes below:', - 'mfa_verify_backup_code_enter_here' => 'Enter backup code here', + 'mfa_verify_use_backup_codes' => 'Vérifier en utilisant un code de secours', + 'mfa_verify_backup_code' => 'Code de secours', + 'mfa_verify_backup_code_desc' => 'Entrez l\'un de vos codes de secours restants ci-dessous :', + 'mfa_verify_backup_code_enter_here' => 'Saisissez un code de secours ici', 'mfa_verify_totp_desc' => 'Entrez ci-dessous le code généré à l\'aide de votre application mobile :', 'mfa_setup_login_notification' => 'Méthode multi-facteurs configurée. Veuillez maintenant vous reconnecter en utilisant la méthode configurée.', ]; \ No newline at end of file diff --git a/resources/lang/fr/entities.php b/resources/lang/fr/entities.php index f30dd8b8f..e5779e10b 100644 --- a/resources/lang/fr/entities.php +++ b/resources/lang/fr/entities.php @@ -99,7 +99,7 @@ return [ 'shelves_permissions' => 'Permissions de l\'étagère', 'shelves_permissions_updated' => 'Permissions de l\'étagère mises à jour', 'shelves_permissions_active' => 'Permissions de l\'étagère activées', - 'shelves_permissions_cascade_warning' => 'Permissions on bookshelves do not automatically cascade to contained books. This is because a book can exist on multiple shelves. Permissions can however be copied down to child books using the option found below.', + 'shelves_permissions_cascade_warning' => 'Les permissions sur les étagères ne sont pas automatiquement recopiées aux livres qu\'elles contiennent, car un livre peut exister dans plusieurs étagères. Les permissions peuvent cependant être recopiées vers les livres contenus en utilisant l\'option ci-dessous.', 'shelves_copy_permissions_to_books' => 'Copier les permissions vers les livres', 'shelves_copy_permissions' => 'Copier les permissions', 'shelves_copy_permissions_explain' => 'Ceci va appliquer les permissions actuelles de cette étagère à tous les livres qu\'elle contient. Avant de continuer, assurez-vous que toutes les permissions de cette étagère ont été sauvegardées.', diff --git a/resources/lang/fr/settings.php b/resources/lang/fr/settings.php index 56f18d5fc..2baaefb45 100644 --- a/resources/lang/fr/settings.php +++ b/resources/lang/fr/settings.php @@ -38,7 +38,7 @@ return [ 'app_homepage_desc' => 'Choisissez une page à afficher sur la page d\'accueil au lieu de la vue par défaut. Les permissions sont ignorées pour les pages sélectionnées.', 'app_homepage_select' => 'Choisissez une page', 'app_footer_links' => 'Liens de pied de page', - 'app_footer_links_desc' => 'Ajoutez des liens dans le pied de page du site. Ils seront affichés en bas de la plupart des pages, incluant celles qui ne nécesittent pas de connexion. Vous pouvez utiliser l\'étiquette "trans::