diff --git a/app/Config/App.php b/app/Config/App.php index 5dd608b357430f05152a5310dee629129d784cf7..c81f2d891a028d9a811ddb443716cbb3f8c72cd4 100644 --- a/app/Config/App.php +++ b/app/Config/App.php @@ -89,7 +89,7 @@ class App extends BaseConfig | found, the first locale will be used. | */ - public $supportedLocales = ['en']; + public $supportedLocales = ['en', 'fr']; /* |-------------------------------------------------------------------------- diff --git a/app/Language/en/Install.php b/app/Language/en/Install.php index 10ae23a3bb19afcbef4e16c8bcf032e2917cae61..131fc20691f52409a585eb17816889ad6520f2de 100644 --- a/app/Language/en/Install.php +++ b/app/Language/en/Install.php @@ -44,7 +44,6 @@ return [ 'email' => 'Email', 'username' => 'Username', 'password' => 'Password', - 'submit_create_superadmin' => 'Create superadmin!', ], 'messages' => [ 'createSuperAdminSuccess' => diff --git a/app/Language/en/PodcastImport.php b/app/Language/en/PodcastImport.php index ddd762b25efe7ec3a9bbed78c4b932323aa56dfb..d914557a9b5b6fa9686fe9788c92900565909de2 100644 --- a/app/Language/en/PodcastImport.php +++ b/app/Language/en/PodcastImport.php @@ -13,7 +13,7 @@ return [ 'old_podcast_section_subtitle' => 'Make sure you own the rights for this podcast before importing it. Copying and broadcasting a podcast without the proper rights is piracy and is liable to prosecution.', 'imported_feed_url' => 'Feed URL', - 'imported_feed_url_hint' => 'The feed must be in `.xml` format.', + 'imported_feed_url_hint' => 'The feed must be in xml or rss format.', 'new_podcast_section_title' => 'The new podcast', 'name' => 'Name', 'name_hint' => 'Used for generating the podcast URL.', diff --git a/app/Language/fr/Admin.php b/app/Language/fr/Admin.php new file mode 100644 index 0000000000000000000000000000000000000000..4a54b1bc2236e72a64eac62751109219574de665 --- /dev/null +++ b/app/Language/fr/Admin.php @@ -0,0 +1,12 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'dashboard' => 'Tableau de bord', + 'welcome_message' => 'Bienvenue dans l’administration !', +]; diff --git a/app/Language/fr/AdminNavigation.php b/app/Language/fr/AdminNavigation.php new file mode 100644 index 0000000000000000000000000000000000000000..ea79018dd7a600a01332e187ecfea88ffb30d8ab --- /dev/null +++ b/app/Language/fr/AdminNavigation.php @@ -0,0 +1,28 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'go_to_website' => 'Visiter le site', + 'dashboard' => 'Tableau de bord', + 'admin' => 'Accueil', + 'podcasts' => 'Podcasts', + 'podcast-list' => 'Tous les podcasts', + 'podcast-create' => 'Créer un podcast', + 'podcast-import' => 'Importer un podcast', + 'users' => 'Utilisateurs', + 'user-list' => 'Tous les utilisateurs', + 'user-create' => 'Créer un utilisateur', + 'pages' => 'Pages', + 'page-list' => 'Toutes les pages', + 'page-create' => 'Créer une page', + 'account' => [ + 'my-account' => 'Mon compte', + 'change-password' => 'Modifier le mot de passe', + 'logout' => 'Déconnexion', + ], +]; diff --git a/app/Language/fr/Breadcrumb.php b/app/Language/fr/Breadcrumb.php new file mode 100644 index 0000000000000000000000000000000000000000..75672e4e5437c6be370d7dea503faea69969f09d --- /dev/null +++ b/app/Language/fr/Breadcrumb.php @@ -0,0 +1,30 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'label' => 'Fil d’Ariane', + config('App')->adminGateway => 'Accueil', + 'podcasts' => 'podcasts', + 'episodes' => 'épisodes', + 'contributors' => 'contributeurs', + 'pages' => 'pages', + 'add' => 'ajouter', + 'new' => 'créer', + 'edit' => 'modifier', + 'users' => 'utilisateurs', + 'my-account' => 'mon compte', + 'change-password' => 'changer le mot de passe', + 'import' => 'importer un flux', + 'settings' => 'paramètres', + 'platforms' => 'plateformes', + 'analytics' => 'Mesures d’audience', + 'locations' => 'Localisations', + 'website' => 'Site web', + 'unique-listeners' => 'Auditeurs uniques', + 'players' => 'Lecteurs', +]; diff --git a/app/Language/fr/Charts.php b/app/Language/fr/Charts.php new file mode 100644 index 0000000000000000000000000000000000000000..8aabc24724508f202bebb5af1aef4af10778cb17 --- /dev/null +++ b/app/Language/fr/Charts.php @@ -0,0 +1,42 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'by_player_weekly' => + 'Téléchargements de Podcast par lecteur (sur la dernière semaine)', + 'by_player_yearly' => + 'Téléchargements de Podcast par lecteur (sur la dernière année)', + 'by_device_weekly' => + 'Téléchargements de Podcast par appareil (sur la dernière semaine)', + 'by_os_weekly' => + 'Téléchargements de Podcast par OS (sur la dernière semaine)', + 'podcast_by_region' => + 'Téléchargements de Podcast par région (sur la dernière semaine)', + 'unique_daily_listeners' => 'Auditeurs uniques quotidiens', + 'unique_monthly_listeners' => 'Auditeurs uniques mensuels', + 'by_browser' => + 'Fréquentation du site par navigateur (sur la dernière semaine)', + 'podcast_by_day' => 'Téléchargements quotidiens de podcasts', + 'podcast_by_month' => 'Téléchargements mensuels de podcasts', + 'episode_by_day' => + 'Téléchargements quotidiens de l’épisode (sur les 60 premiers jours)', + 'episode_by_month' => 'Téléchargements mensuels de l’épisode', + 'episodes_by_day' => + 'Téléchargements des 5 derniers épisodes (sur les 60 premiers jours)', + 'by_country_weekly' => + 'Téléchargement de podcasts par pays (sur la dernière semaine)', + 'by_country_yearly' => + 'Téléchargement de podcasts par pays (sur la dernière année)', + 'by_domain_weekly' => + 'Fréquentation du site par origine (sur la dernière semaine)', + 'by_domain_yearly' => + 'Fréquentation du site par origine (sur la dernière année)', + 'by_entry_page' => + 'Fréquentation du site par page d’entrée (sur la dernière semaine)', + 'podcast_bots' => 'Robots (bots)', +]; diff --git a/app/Language/fr/Common.php b/app/Language/fr/Common.php new file mode 100644 index 0000000000000000000000000000000000000000..0bef7680c41db232101d21c54dedfc2bc4b18f68 --- /dev/null +++ b/app/Language/fr/Common.php @@ -0,0 +1,32 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'yes' => 'Oui', + 'no' => 'Non', + 'optional' => 'Optionnel', + 'no_data' => 'Aucune donnée trouvée !', + 'home' => 'Accueil', + 'explicit' => 'Explicite', + 'mediumDate' => '{0,date,medium}', + 'duration' => '{0,duration}', + 'powered_by' => 'Propulsé par {castopod}.', + 'actions' => 'Actions', + 'pageInfo' => 'Page {currentPage} sur {pageCount}', + 'forms' => [ + 'multiSelect' => [ + 'selectText' => 'Cliquez pour selectionner', + 'loadingText' => 'Chargement...', + 'noResultsText' => 'Aucun résultat trouvé', + 'noChoicesText' => 'Aucune sélection possible', + 'maxItemText' => 'Impossible de rajouter un élément', + ], + 'image_size_hint' => + 'L’image doit être carrée, avec au minimum 1400px de long et de large.', + ], +]; diff --git a/app/Language/fr/Contributor.php b/app/Language/fr/Contributor.php new file mode 100644 index 0000000000000000000000000000000000000000..66728696dda418263e977489b11d11c86127b091 --- /dev/null +++ b/app/Language/fr/Contributor.php @@ -0,0 +1,38 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'podcast_contributors' => 'Contributeurs du podcast', + 'view' => 'Contribution de {username} à {podcastName}', + 'add' => 'Ajouter un contributeur', + 'add_contributor' => 'Ajouter un contributeur pour {0}', + 'edit_role' => 'Modifier le rôle de {0}', + 'edit' => 'Modifier', + 'remove' => 'Supprimer', + 'list' => [ + 'username' => 'Identifiant', + 'role' => 'Rôle', + ], + 'form' => [ + 'user' => 'Identifiant', + 'role' => 'Rôle', + 'submit_add' => 'Ajouter le contributeur', + 'submit_edit' => 'Mettre à jour le rôle', + ], + 'roles' => [ + 'podcast_admin' => 'Administrateur de Podcasts', + ], + 'messages' => [ + 'removeOwnerContributorError' => + 'Vous ne pouvez pas retirer le propriétaire du podcast !', + 'removeContributorSuccess' => + 'Vous avez retiré {username} de {podcastTitle}', + 'alreadyAddedError' => + 'Le contributeur que vous essayez d’ajouter est déjà présent.', + ], +]; diff --git a/app/Language/fr/Episode.php b/app/Language/fr/Episode.php new file mode 100644 index 0000000000000000000000000000000000000000..71d603741f51f64f3c8a323b34ed69d962197dca --- /dev/null +++ b/app/Language/fr/Episode.php @@ -0,0 +1,74 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'previous_episode' => 'Épisode précédent', + 'previous_season' => 'Saison précédente', + 'next_episode' => 'Épisode suivant', + 'next_season' => 'Saison suivante', + 'season' => 'Saison {seasonNumber}', + 'number' => 'Épisode {episodeNumber}', + 'number_abbr' => 'Ep. {episodeNumber}', + 'season_episode' => 'Saison {seasonNumber} épisode {episodeNumber}', + 'season_episode_abbr' => 'S{seasonNumber}E{episodeNumber}', + 'all_podcast_episodes' => 'Tous les épisodes du podcast', + 'back_to_podcast' => 'Revenir au podcast', + 'edit' => 'Modifier', + 'delete' => 'Supprimer', + 'go_to_page' => 'Voir', + 'create' => 'Ajouter un épisode', + 'form' => [ + 'enclosure' => 'Sélectionnez un fichier audio .mp3 ou .m4a…', + 'info_section_title' => 'Informations épisode', + 'info_section_subtitle' => '', + 'image' => 'Image de couverture', + 'image_hint' => + 'Si vous ne définissez pas d’image, celle du podcast sera utilisée à la place.', + 'title' => 'Titre', + 'title_hint' => + 'Doit contenir un titre d’épisode clair et concis. Ne précisez ici aucun numéro de saison ou d’épisode.', + 'slug' => 'Identifiant', + 'slug_hint' => 'Utilisé pour générer l’adresse de l’épisode.', + 'season_number' => 'Saison', + 'episode_number' => 'Épisode', + 'type' => [ + 'label' => 'Type', + 'hint' => + '- <strong>complet</strong>: épisode complet.<br/>- <strong>bande-annonce</strong>: extrait court, promotionnel du podcast.<br/>- <strong>bonus</strong> : contenu supplémentaire pour le podcast (par exemple des informations sur les coulisses ou des interviews avec les acteurs) ou du contenu promotionnel croisé pour un autre podcast.', + 'full' => 'Complet', + 'trailer' => 'Bande-annonce', + 'bonus' => 'Bonus', + ], + 'show_notes_section_title' => 'Notes d’épisode (Show Notes)', + 'show_notes_section_subtitle' => + 'Jusque 4000 caractères, soyez clairs et concis. Les notes d’épisode aident les auditeurs potentiels à le trouver.', + 'description' => 'Description', + 'description_footer' => 'Pied de description', + 'description_footer_hint' => + 'Ce texte est ajouté à la fin de chaque description d’épisode, c’est un bon endroit pour placer vos liens sociaux par exemple.', + 'publication_section_title' => 'Information de publication', + 'publication_section_subtitle' => '', + 'published_at' => [ + 'label' => 'Date de publication', + 'date' => 'Date', + 'time' => 'Heure', + ], + 'parental_advisory' => [ + 'label' => 'Avertissement parental', + 'hint' => 'L’épisode contient-il un contenu explicite ?', + 'undefined' => 'non défini', + 'clean' => 'Convenable', + 'explicit' => 'Explicite', + ], + 'block' => 'L’épisode doit être masqué de toutes les plateformes', + 'block_hint' => + 'La visibilité de l’épisode. Si vous souhaitez retirer cet épisode de l’index Apple, activez ce champs.', + 'submit_create' => 'Créer l’épisode', + 'submit_edit' => 'Enregistrer l’épisode', + ], +]; diff --git a/app/Language/fr/Home.php b/app/Language/fr/Home.php new file mode 100644 index 0000000000000000000000000000000000000000..b8b7c4911a0ede03a90e82642c37af907347691f --- /dev/null +++ b/app/Language/fr/Home.php @@ -0,0 +1,12 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'all_podcasts' => 'Tous les podcasts', + 'no_podcast' => 'Aucun podcast trouvé', +]; diff --git a/app/Language/fr/Install.php b/app/Language/fr/Install.php new file mode 100644 index 0000000000000000000000000000000000000000..dfff116fa9277cfc8f19bd3d4ad97fffa9a536df --- /dev/null +++ b/app/Language/fr/Install.php @@ -0,0 +1,56 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'manual_config' => 'Configuration manuelle', + 'manual_config_subtitle' => + 'Créez un fichier `.env` qui contient tous vos paramètres puis rafraichissez la page pour continuer l’installation.', + 'form' => [ + 'instance_config' => 'Paramètres de l’instance', + 'hostname' => 'Nom d’hôte', + 'admin_gateway' => 'Adresse d’administration', + 'admin_gateway_hint' => + 'Le chemin pour accéder à l’administration (par exemple https://example.com/cp-admin). Il est défini par défaut à cp-admin, nous vous recommandons de le changer par mesure de sécurité.', + 'auth_gateway' => 'Adresse d’authentification', + 'auth_gateway_hint' => + 'Le chemin des pages d’authentication (par exemple https://example.fr/cp-auth). Il est défini par défaut à cp-auth, nous vous recommandons de le changer par mesure de sécurité.', + 'database_config' => 'Paramètres de base de données', + 'database_config_hint' => + 'Castopod doit se connecter à votre base de données MySQL (ou MariaDB). Si vous ne disposez pas de ces informations, merci de contacter l’administrateur du serveur.', + 'db_hostname' => 'Nom d’hôte (ou IP) de la base de données', + 'db_name' => 'Nom de la base de données', + 'db_username' => 'Utilisateur de base de données', + 'db_password' => 'Mot de passe de base de données', + 'db_prefix' => 'Préfixe des tables', + 'db_prefix_hint' => + 'Le préfixe des noms de tables de Castopod, laissez la valeur par défaut si vous ne savez pas de quoi il s’agit.', + 'cache_config' => 'Paramètres de cache', + 'cache_config_hint' => + 'Sélectionnez votre gestionnaire de cache préféré. Laissez la valeur par défaut si vous ne savez pas de quoi il s’agit.', + 'cache_handler' => 'Gestionnaire de cache', + 'cacheHandlerOptions' => [ + 'file' => 'Fichiers', + 'redis' => 'Redis', + 'memcached' => 'Memcached', + ], + 'next' => 'Suivant', + 'submit' => 'Terminer l’installation', + 'create_superadmin' => 'Créer un compte super-utilisateur', + 'email' => 'E-mail', + 'username' => 'Identifiant', + 'password' => 'Mot de passe', + ], + 'messages' => [ + 'createSuperAdminSuccess' => + 'Le compte super-utilisateur a bien été créé. Connectez-vous et commencez à podcaster !', + 'databaseConnectError' => + 'Castopod n’a pas pu se connecter à la base de données. Modifier les paramètres de base de données et essayer à nouveau.', + 'writeError' => + 'Impossible de créer/écrire le fichier `.env`. Créez manuellement un fichier `.env` en copiant le modèle `.env.example` fourni avec Castopod.', + ], +]; diff --git a/app/Language/fr/MyAccount.php b/app/Language/fr/MyAccount.php new file mode 100644 index 0000000000000000000000000000000000000000..5a2181f28dceaf7ef1ddea7080b63b703b42877a --- /dev/null +++ b/app/Language/fr/MyAccount.php @@ -0,0 +1,17 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'info' => 'Informations de mon compte', + 'changePassword' => 'Modifier mon mot de passe', + 'messages' => [ + 'wrongPasswordError' => + 'Le mot de passe que vous avez saisi est invalide.', + 'passwordChangeSuccess' => 'Le mot de passe a été modifié avec succès !', + ], +]; diff --git a/app/Language/fr/Page.php b/app/Language/fr/Page.php new file mode 100644 index 0000000000000000000000000000000000000000..adc10995cb6620861306c705ffcc234a615c0b16 --- /dev/null +++ b/app/Language/fr/Page.php @@ -0,0 +1,26 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'page' => 'Page', + 'all_pages' => 'Toutes les pages', + 'create' => 'Créer une page', + 'go_to_page' => 'Aller à la page', + 'edit' => 'Modifier la page', + 'delete' => 'Supprimer la page', + 'form' => [ + 'title' => 'Titre', + 'slug' => 'Identifiant', + 'content' => 'Contenu', + 'submit_create' => 'Créer la page', + 'submit_edit' => 'Enregistrer', + ], + 'messages' => [ + 'createSuccess' => 'La page {pageTitle} a été créée avec succès !', + ], +]; diff --git a/app/Language/fr/Pager.php b/app/Language/fr/Pager.php new file mode 100644 index 0000000000000000000000000000000000000000..181a18e30fd8b9eae06a00ccc7a9e7eeea962574 --- /dev/null +++ b/app/Language/fr/Pager.php @@ -0,0 +1,19 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'pageNavigation' => 'Navigation', + 'first' => 'Première', + 'previous' => 'Précédent', + 'next' => 'Suivant', + 'last' => 'Dernière', + 'older' => 'Plus ancien', + 'newer' => 'Plus récent', + 'invalidTemplate' => '{0} n’est pas un modèle valide.', + 'invalidPaginationGroup' => '{0} n’est pas un groupe valide.', +]; diff --git a/app/Language/fr/Platforms.php b/app/Language/fr/Platforms.php new file mode 100644 index 0000000000000000000000000000000000000000..3895de2d585cd190ff0edd83d8b80f785ad65ae6 --- /dev/null +++ b/app/Language/fr/Platforms.php @@ -0,0 +1,22 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'title' => 'Plateformes', + 'home_url' => 'Aller au site {platformName}', + 'submit_url' => 'Soumettez votre podcast sur {platformName}', + 'visible' => 'Afficher sur la page d’accueil du podcast ?', + 'remove' => 'Supprimer {platformName}', + 'submit' => 'Enregistrer', + 'messages' => [ + 'updateSuccess' => 'Les liens ont été enregistrés avec succès !', + 'removeLinkSuccess' => 'Le lien a été supprimé.', + 'removeLinkError' => + 'Le lien n’a pas pu être supprimé. Merci d’essayer à nouveau.', + ], +]; diff --git a/app/Language/fr/Podcast.php b/app/Language/fr/Podcast.php new file mode 100644 index 0000000000000000000000000000000000000000..0452bbc6d1ad62ab01126c150ec5c83c461071f7 --- /dev/null +++ b/app/Language/fr/Podcast.php @@ -0,0 +1,192 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'all_podcasts' => 'Tous les podcasts', + 'no_podcast' => 'Aucun podcast trouvé !', + 'create' => 'Créer un podcast', + 'import' => 'Importer un podcast', + 'new_episode' => 'Créer un épisode', + 'feed' => 'RSS', + 'view' => 'Voir le podcast', + 'edit' => 'Modifier le podcast', + 'delete' => 'Supprimer le podcast', + 'see_episodes' => 'Voir les épisodes', + 'see_contributors' => 'Voir les contributeurs', + 'go_to_page' => 'Aller à la page', + 'latest_episodes' => 'Derniers épisodes', + 'see_all_episodes' => 'Voir tous les épisodes', + 'form' => [ + 'identity_section_title' => 'Informations sur le Podcast', + 'identity_section_subtitle' => + 'Ces champs vous permettent de vous faire remarquer.', + 'image' => 'Image de couverture', + 'title' => 'Titre', + 'name' => 'Nom', + 'name_hint' => 'Utilisé pour l’adresse du podcast.', + 'type' => [ + 'label' => 'Type', + 'hint' => + '- <strong>épisodique</strong> : si les épisodes sont destinés à être consommés sans ordre spécifique. Les épisodes les plus récents seront présentés en premier.<br/>- <strong>série</strong>: si les épisodes sont destinés à être consommés dans un ordre séquentiel bien défini. Les épisodes les plus anciens seront présentés en premier.', + 'episodic' => 'Épisodique', + 'serial' => 'Série', + ], + 'description' => 'Description', + 'classification_section_title' => 'Classification', + 'classification_section_subtitle' => + 'Ces champs auront un impact sur votre audience et votre concurrence.', + 'language' => 'Langue', + 'category' => 'Catégorie', + 'other_categories' => 'Autres catégories', + 'parental_advisory' => [ + 'label' => 'Avertissement parental', + 'hint' => 'Contient-il un contenu explicite ?', + 'undefined' => 'non défini', + 'clean' => 'Convenable', + 'explicit' => 'Explicite', + ], + 'author_section_title' => 'Auteur / Autrice', + 'author_section_subtitle' => 'Qui gère le podcast ?', + 'owner_name' => 'Nom du/de la propriétaire', + 'owner_name_hint' => + 'Pour usage administratif uniquement. Visible dans le flux RSS public.', + 'owner_email' => 'E-mail du/de la propriétaire', + 'owner_email_hint' => + 'Utilisé par la plupart des plateformes pour vérifier la propriété du podcast. Visible dans le flux RSS public.', + 'publisher' => 'Éditeur / Éditrice', + 'publisher_hint' => + 'Le groupe responsable de la création du podcast. Fait souvent référence à la société mère ou au réseau d’un podcast. Ce champ est parfois appelé « Auteur ».', + 'copyright' => 'Droit d’auteur', + 'status_section_title' => 'Statut', + 'status_section_subtitle' => 'Vivant ou mort ?', + 'block' => 'Le podcast doit être masqué sur toutes les plateformes', + 'complete' => 'Le podcast n’aura plus de nouveaux épisodes.', + 'submit_create' => 'Créer le podcast', + 'submit_edit' => 'Enregistrer le podcast', + ], + 'category_options' => [ + 'uncategorized' => 'non catégorisé', + 'arts' => 'Arts', + 'business' => 'Entreprise', + 'comedy' => 'Comédie', + 'education' => 'Éducation', + 'fiction' => 'Fiction', + 'government' => 'Gouvernement', + 'health_and_fitness' => 'Santé et remise en forme', + 'history' => 'Histoire', + 'kids_and_family' => 'Enfants et famille', + 'Leisure' => 'Loisirs', + 'music' => 'Musique', + 'news' => 'Actualités', + 'religion_and_spirituality' => 'Religion et spiritualité', + 'science' => 'Science', + 'society_and_culture' => 'Société et Culture', + 'sports' => 'Sports', + 'technology' => 'Technologie', + 'true_crime' => 'Documentaire criminel', + 'tv_and_film' => 'Télévision et films', + 'books' => 'Livres', + 'design' => 'Design', + 'fashion_and_beauty' => 'Mode et beauté', + 'food' => 'Nourriture', + 'performing_arts' => 'Arts du spectacle', + 'visual_arts' => 'Arts visuels', + 'careers' => 'Carrières', + 'entrepreneurship' => 'Entrepreneuriat', + 'investment' => 'Investissement', + 'management' => 'Gestion', + 'marketing' => 'Marketing', + 'non_profit' => 'À but non lucratif', + 'comedy_interviews' => 'Entretiens comiques', + 'improv' => 'Improvisation', + 'stand_up' => 'Stand up', + 'courses' => 'Cours', + 'how_to' => 'Tutoriels', + 'language_learning' => 'Apprentissage des langues', + 'self_improvement' => 'Développement personnel', + 'comedy_fiction' => 'Comédie Fiction', + 'drama' => 'Drame', + 'science_fiction' => 'Science Fiction', + 'alternative_health' => 'Santé alternative', + 'fitness' => 'Remise en forme', + 'medicine' => 'Médecine', + 'mental_health' => 'Santé mentale', + 'nutrition' => 'Nutrition', + 'sexuality' => 'Sexualité', + 'education_for_kids' => 'Éducation pour les enfants', + 'parenting' => 'Parentalité', + 'pets_and_animals' => 'Animaux de compagnie et animaux', + 'stories_for_kids' => 'Histoires pour enfants', + 'animation_and_manga' => 'Animation et Manga', + 'Automotive' => 'Automobile', + 'aviation' => 'Aviation', + 'craft' => 'Artisanat', + 'games' => 'Jeux', + 'hobbies' => 'Loisirs', + 'home_and_garden' => 'Maison et jardin', + 'video_games' => 'Jeux vidéo', + 'music_commentary' => 'Commentaire musical', + 'music_history' => 'Histoire de la musique', + 'music_interviews' => 'Entretiens musicaux', + 'business_news' => 'Actualités économiques', + 'daily_news' => 'Actualités quotidiennes', + 'entertainment_news' => 'Actualités du divertissement', + 'news_commentary' => 'Commentaire d’actualité', + 'politique' => 'Politique', + 'sports_news' => 'Actualités sportives', + 'tech_news' => 'Actualités techniques', + 'buddhism' => 'Bouddhisme', + 'christianity' => 'Christianisme', + 'hinduism' => 'Hindouisme', + 'islam' => 'Islam', + 'judaism' => 'Judaïsme', + 'religion' => 'Religion', + 'spiritualité' => 'Spiritualité', + 'astronomy' => 'Astronomie', + 'chemistry' => 'Chimie', + 'earth_sciences' => 'Sciences de la Terre', + 'life_sciences' => 'Sciences de la vie', + 'Mathématiques' => 'Mathématiques', + 'natural_sciences' => 'Sciences naturelles', + 'nature' => 'Nature', + 'physics' => 'Physique', + 'social_sciences' => 'Sciences sociales', + 'documentary' => 'Documentaire', + 'personal_journals' => 'Journaux personnels', + 'philosophie' => 'Philosophie', + 'places_and_travel' => 'Lieux et voyages', + 'relations' => 'Relations', + 'baseball' => 'Baseball', + 'basketball' => 'Basketball', + 'cricket' => 'Cricket', + 'fantasy_sports' => 'Sports fantastiques', + 'football' => 'Football', + 'golf' => 'Golf', + 'hockey' => 'Hockey', + 'rugby' => 'Rugby', + 'running' => 'Course', + 'soccer' => 'Football', + 'swimming' => 'Natation', + 'tennis' => 'Tennis', + 'volleyball' => 'Volleyball', + 'wilderness' => 'Naturalité', + 'wrestling' => 'Lutte', + 'after_shows' => 'Après spectacle', + 'film_history' => 'Histoire du cinéma', + 'film_interviews' => 'Entretiens de films', + 'film_reviews' => 'Critiques de films', + 'tv_reviews' => 'Critiques TV', + ], + 'by' => 'Par {publisher}', + 'season' => 'Saison {seasonNumber}', + 'list_of_episodes_year' => 'épisodes {year}', + 'list_of_episodes_season' => 'Épisodes de la saison {seasonNumber}', + 'no_episode' => 'Aucun épisode trouvé !', + 'no_episode_hint' => + 'Naviguez au sein des épisodes du podcast episodes grâce à la barre de navigation ci-dessus.', +]; diff --git a/app/Language/fr/PodcastImport.php b/app/Language/fr/PodcastImport.php new file mode 100644 index 0000000000000000000000000000000000000000..c7d03e0c663212ab1517587abe3256f6c59d3aa9 --- /dev/null +++ b/app/Language/fr/PodcastImport.php @@ -0,0 +1,45 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'warning' => + 'Cette procédure peut prendre du temps.<br/>Dans la mesure où la version actuelle ne montre aucune progression durant l’exécution, vous ne pourrez voir aucun changement avant la fin.<br/>En cas d’erreur de timeout, augmentez la valeur de `max_execution_time`.', + 'old_podcast_section_title' => 'Le podcast à importer', + 'old_podcast_section_subtitle' => + 'Assurez-vous d’être détenteur des droits du podcast avant de l’importer. Copier et diffuser un podcast sans en détenir les droits est assimilable à de la contrefaçon et est passible de poursuites.', + 'imported_feed_url' => 'Adresse du flux', + 'imported_feed_url_hint' => 'Le flux doit être au format xml ou rss.', + 'new_podcast_section_title' => 'Le nouveau podcast', + 'name' => 'Nom', + 'name_hint' => 'Utilisé pour l’adresse du podcast.', + 'advanced_params_section_title' => 'Paramètres avancés', + 'advanced_params_section_subtitle' => + 'Si vous ne savez pas à quoi servent ces champs, conservez les valeurs par défaut.', + 'slug_field' => [ + 'label' => + 'Quel champ utiliser pour calculer l’identifiant de l’épisode', + 'link' => '<link> (adresse)', + 'title' => '<title> (titre)', + ], + 'description_field' => [ + 'label' => 'Champs pour la description des épisodes', + 'description' => '<description>', + 'summary' => '<itunes:summary>', + 'subtitle_summary' => + '<itunes:subtitle> + <itunes:summary>', + ], + 'force_renumber' => 'Forcer la re-numérotation des épisodes', + 'force_renumber_hint' => + 'Utilisez ceci si le podcast à importer ne contient pas de numéros d’épisodes mais que vous souhaitez en ajouter pendant l’import.', + 'season_number' => 'Numéro de saison', + 'season_number_hint' => + 'Utilisez ceci si le podcast à importer ne contient pas de numéros de saison mais que vous souhaitez en définir un. Laissez vide sinon.', + 'max_episodes' => 'Nombre maximum d’épisodes à importer', + 'max_episodes_hint' => 'Laissez vide pour importer tous les épisodes', + 'submit' => 'Importer le podcast', +]; diff --git a/app/Language/fr/PodcastNavigation.php b/app/Language/fr/PodcastNavigation.php new file mode 100644 index 0000000000000000000000000000000000000000..7645be0d006b3764b1d50d32fc3c44f38d4381c3 --- /dev/null +++ b/app/Language/fr/PodcastNavigation.php @@ -0,0 +1,28 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'go_to_page' => 'Aller à la page du podcast', + 'dashboard' => 'Tableau de bord du podcast', + 'podcast-view' => 'Accueil', + 'podcast-edit' => 'Modifier le podcast', + 'episodes' => 'Épisodes', + 'episode-list' => 'Tous les épisodes', + 'episode-create' => 'Créer un épisode', + 'analytics' => 'Mesures d’audience', + 'contributors' => 'Contributeurs', + 'contributor-list' => 'Tous les contributeurs', + 'contributor-add' => 'Ajouter un contributeur', + 'settings' => 'Paramètres', + 'platforms' => 'Plateformes du podcast', + 'podcast-analytics' => 'Mesures d’audience', + 'podcast-analytics-website' => 'Visites du site web', + 'podcast-analytics-locations' => 'Localisations', + 'podcast-analytics-unique-listeners' => 'Auditeurs uniques', + 'podcast-analytics-players' => 'Lecteurs', +]; diff --git a/app/Language/fr/User.php b/app/Language/fr/User.php new file mode 100644 index 0000000000000000000000000000000000000000..69fda7b17548b26b3a2c3eb6073b9a9dfa38b895 --- /dev/null +++ b/app/Language/fr/User.php @@ -0,0 +1,52 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'edit_roles' => 'Modifier les rôles de {username}', + 'forcePassReset' => 'Forcer la réinitialisation du mot de passe', + 'ban' => 'Bloquer', + 'unban' => 'Débloquer', + 'delete' => 'Supprimer', + 'create' => 'Créer un utilisateur', + 'view' => 'Informations de {username}', + 'all_users' => 'Tous les utilisateurs', + 'list' => [ + 'user' => 'Utilisateurs', + 'roles' => 'Rôles', + 'banned' => 'Bloqué ?', + ], + 'form' => [ + 'email' => 'E-mail', + 'username' => 'Identifiant', + 'password' => 'Mot de passe', + 'new_password' => 'Nouveau mot de passe', + 'roles' => 'Rôles', + 'permissions' => 'Permissions', + 'submit_create' => 'Créer un utilisateur', + 'submit_edit' => 'Enregistrer', + 'submit_password_change' => 'Valider !', + ], + 'roles' => [ + 'superadmin' => 'Super-utilisateur', + ], + 'messages' => [ + 'createSuccess' => + 'Utilisateur créé avec succès ! {username} devra modifier son mot de passe à la première authentification.', + 'rolesEditSuccess' => + 'Les rôles de {username} ont été mis à jour avec succès.', + 'forcePassResetSuccess' => + '{username} devra modifier son mot de passe à la prochaine visite.', + 'banSuccess' => '{username} a été bloqué.', + 'unbanSuccess' => '{username} a été débloqué.', + 'banSuperAdminError' => + '{username} est un super-utilisateur, on ne bloque pas un super-utilisateur comme ça…', + 'deleteSuperAdminError' => + '{username} est un super-utilisateur, on ne supprime pas un super-utilisateur comme ça…', + 'deleteSuccess' => '{username} a été supprimé.', + ], +]; diff --git a/app/Language/fr/Validation.php b/app/Language/fr/Validation.php new file mode 100644 index 0000000000000000000000000000000000000000..d9ae5dc517c643e5fe4af60b9d0ffadc2749e62a --- /dev/null +++ b/app/Language/fr/Validation.php @@ -0,0 +1,18 @@ +<?php + +/** + * @copyright 2020 Podlibre + * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 + * @link https://castopod.org/ + */ + +return [ + 'not_in_protected_slugs' => + 'Le champ {field} est en conflit avec une des routes (admin, auth ou install).', + 'min_dims' => + '{field} n’est pas une image ou n’a pas la taille minimale requise.', + 'is_image_squared' => + '{field} n’est pas une image ou n’est pas carré (largeur et hauteur différentes).', + 'validate_url' => + 'Le champs {field} doit être une adresse valide (par exemple https://exemple.com/).', +];