Multilingue

Langues de Linsei

Le panneau de Linsei parle 8 langues, et ajouter la vôtre tient en un simple fichier texte. Voici les langues disponibles et comment créer une nouvelle traduction.

Langues disponibles

Le panneau d'administration est traduit dans ces 8 langues d'origine. Vous pouvez les activer ou les désactiver depuis les Réglages.

Español
English
Français
Português
Deutsch
Italiano
Nederlands
Polski

Ajouter une langue est aussi simple

  1. Copiez le fichier de base ci-dessous (fr.php).
  2. Traduisez uniquement la partie droite de chaque ligne. Laissez les clés et les variables comme {v} ou {n} telles quelles.
  3. Enregistrez-le avec le code de votre langue, par exemple it.php ou tr.php.
  4. Téléversez-le depuis le panneau dans Réglages → Langues, ou par FTP dans data/lang/. Elle apparaît aussitôt.

Fichier de base à copier

Voici la version française (fr.php). Copiez-la entièrement et traduisez les valeurs. Pour partir d'une autre langue, changez la langue de ce site en haut à droite.

fr.php
<?php if(!defined("PL_APP")){http_response_code(403);exit;}
return [
    'update.title' => 'Mettre à jour Linsei',
    'update.installed' => 'Version installée',
    'update.latest' => 'Dernière disponible',
    'update.available' => 'Mise à jour disponible !',
    'update.uptodate' => 'à jour',
    'update.check' => 'Vérifier les mises à jour',
    'update.apply' => 'Mettre à jour vers la dernière version',
    'update.applying' => 'Mise à jour en cours',
    'update.confirm' => 'Mettre à jour le cœur de Linsei maintenant ? Une sauvegarde automatique est faite avant.',
    'update.done' => 'Linsei mis à jour vers la version {v}.',
    'update.err' => 'Échec de la mise à jour',
    'update.note' => 'Télécharge le cœur depuis linsei.com et le remplace sans toucher à vos extensions, vos données ni votre configuration. Une sauvegarde est faite avant (dans data/update/).',
    'form.dup_warn' => 'Vous avez déjà un lien vers cette même destination : {slug}.',
    'form.dup_view' => 'Voir le lien existant',
    'form.dup_create_anyway' => 'En créer un autre quand même',
    'nav.settings' => 'Réglages',
    'settings.title' => 'Réglages',
    'settings.profile' => 'Votre profil',
    'settings.my_email' => 'Votre e-mail',
    'settings.my_email_hint' => 'Pour recevoir des avis et récupérer votre mot de passe.',
    'settings.smtp' => 'Serveur de messagerie (SMTP)',
    'settings.smtp_intro' => 'Nécessaire pour envoyer les e-mails de récupération de mot de passe (à vous et à vos gestionnaires).',
    'settings.smtp_host' => 'Hôte',
    'settings.smtp_port' => 'Port',
    'settings.smtp_secure' => 'Sécurité',
    'settings.secure_none' => 'Sans chiffrement',
    'settings.smtp_user' => 'Nom d\'utilisateur',
    'settings.smtp_pass' => 'Mot de passe',
    'settings.pass_set' => 'Enregistré (laissez vide pour le conserver)',
    'settings.mail_from' => 'Adresse d\'expéditeur',
    'settings.smtp_note' => 'Demandez ces informations à votre fournisseur d\'e-mail ou d\'hébergement. Elles sont stockées sur votre serveur.',
    'settings.save' => 'Enregistrer les réglages',
    'settings.test_title' => 'E-mail de test',
    'settings.test_intro' => 'Envoyez un e-mail de test à votre adresse pour vérifier le SMTP. Enregistrez d\'abord les réglages.',
    'settings.test_btn' => 'Envoyer un e-mail de test',
    'settings.test_ok' => 'E-mail de test envoyé. Vérifiez votre boîte de réception (et le dossier spam).',
    'settings.test_err' => 'Envoi impossible. Vérifiez les informations SMTP et que votre e-mail est renseigné ci-dessus.',
    'settings.test_subject' => 'Test Linsei',
    'settings.test_body' => 'Si vous recevez cet e-mail, l\'envoi de courrier de Linsei fonctionne correctement.',
    'settings.langs' => 'Langues',
    'settings.langs_intro' => 'Activez ou désactivez les langues du panneau ; les langues désactivées n\'apparaissent pas dans le sélecteur. Au moins une doit rester active.',
    'settings.langs_add' => 'Ajouter une langue (fichier .php traduit)',
    'settings.langs_add_hint' => 'Téléversez un fichier comme fr.php (une copie traduite de es.php). Vous pouvez aussi le déposer par FTP dans data/lang/.',
    'settings.langs_save' => 'Enregistrer les langues',
    'settings.langs_uploaded' => 'téléversé',
    'settings.lang_added' => 'Langue ajoutée et activée.',
    'settings.lang_badfile' => 'Fichier invalide : ce doit être un .php renvoyant un tableau, nommé avec un code de 2 à 3 lettres (par ex. fr.php).',
    'gest.email' => 'E-mail',
    'gest.email_hint' => 'Pour qu\'ils puissent récupérer leur propre mot de passe.',
    'gest.no_email' => 'pas d\'e-mail',
    'gest.act_password' => 'Changer le mot de passe',
    'gest.act_email' => 'Changer l\'e-mail de récupération',
    'gest.set_password_prompt' => 'Nouveau mot de passe pour ce gestionnaire (au moins 6 caractères) :',
    'gest.set_email_prompt' => 'E-mail du gestionnaire (laissez vide pour supprimer) :',
    'gest.flash_pass' => 'Mot de passe mis à jour.',
    'gest.flash_email' => 'E-mail mis à jour.',
    'gest.err_email' => 'E-mail invalide.',
    'stats.unique' => 'Clics uniques',
    'stats.last_click' => 'Dernier clic',
    'stats.peak_day' => 'Jour de pic',
    'stats.avg_day' => 'Moy./jour',
    'stats.by_os' => 'Par système',
    'stats.by_source' => 'Sources de trafic',
    'stats.by_hour' => 'Par heure de la journée',
    'stats.by_weekday' => 'Par jour de la semaine',
    'stats.complement_activity' => 'Activité des extensions',
    'stats.col_source' => 'Source',
    'stats.direct' => 'Direct',
    'stats.dow_mon' => 'Lun',
    'stats.dow_tue' => 'Mar',
    'stats.dow_wed' => 'Mer',
    'stats.dow_thu' => 'Jeu',
    'stats.dow_fri' => 'Ven',
    'stats.dow_sat' => 'Sam',
    'stats.dow_sun' => 'Dim',
    'dash.geo_update' => 'Mettre à jour la base de données',
    'help.geo.download' => 'Télécharger la base de données automatiquement',
    'help.geo.downloading' => 'Téléchargement',
    'help.geo.dl_ok' => 'Base de géolocalisation installée. Les pays des visiteurs sont désormais détectés (sur les nouveaux clics).',
    'help.geo.dl_err' => 'Téléchargement ou installation impossible. Vérifiez que le serveur a accès à Internet, ou téléversez le CSV manuellement.',
    'form.section_link' => 'Détails du lien',
    'form.addons_section' => 'Extensions',
    'dash.complement_activity' => 'Activité des extensions',
    'ev.block' => 'Bloqué',
    'ev.redirect' => 'Redirigé',
    'comp.title' => 'Extensions',
    'comp.intro' => 'Étendez Linsei avec des extensions. Installez-les ou désinstallez-les en un clic ; les nouvelles apparaissent automatiquement.',
    'comp.installed' => 'Installée',
    'comp.install' => 'Installer',
    'comp.uninstall' => 'Désinstaller',
    'comp.details' => 'Plus de détails',
    'comp.version' => 'Version',
    'comp.confirm_uninstall' => 'Désinstaller cette extension ? Elle sera supprimée du serveur.',
    'comp.empty' => 'Aucune extension disponible pour le moment.',
    'comp.ok_install' => 'Extension installée.',
    'comp.ok_uninstall' => 'Extension désinstallée.',
    'comp.err_unknown' => 'Extension inconnue.',
    'comp.err_nozip' => 'Votre serveur n\'a pas ZipArchive ; téléversez l\'extension par FTP dans plugins/.',
    'comp.err_notwritable' => 'Le dossier plugins/ n\'est pas accessible en écriture.',
    'comp.err_download' => 'Impossible de télécharger l\'extension. linsei.com est-il accessible ?',
    'comp.err_badzip' => 'Le paquet de l\'extension est invalide.',
    'comp.upload' => 'Téléverser une extension',
    'comp.upload_help' => 'Téléversez un .zip avec votre extension (un dossier contenant son plugin.php). Vous seul pouvez l\'installer ; elle exécute du code sur votre serveur, alors ne téléversez que des extensions de confiance.',
    'comp.upload_btn' => 'Téléverser et installer',
    'comp.ok_uploaded' => 'Extension téléversée et installée.',
    'comp.ok_updated' => 'Extension mise à jour.',
    'comp.err_nofile' => 'Choisissez un fichier .zip à téléverser.',
    'comp.err_invalid' => 'Le .zip ne ressemble pas à une extension valide (il doit contenir un plugin.php).',
    'comp.err_toobig' => 'Le fichier est trop volumineux (max 8 Mo).',
    'login.forgot' => 'Mot de passe oublié ?',
    'recover.title' => 'Récupérer le mot de passe',
    'recover.intro' => 'Saisissez l\'e-mail de votre compte et nous vous enverrons un lien pour définir un nouveau mot de passe.',
    'recover.email' => 'E-mail',
    'recover.send' => 'Envoyer le lien',
    'recover.sent' => 'Si cet e-mail existe, nous vous avons envoyé un lien pour réinitialiser votre mot de passe. Vérifiez votre boîte de réception.',
    'recover.back' => 'Retour à la connexion',
    'recover.mail_subject' => 'Réinitialisez votre mot de passe Linsei',
    'recover.mail_body' => 'Vous avez demandé une réinitialisation du mot de passe. Ouvrez ce lien (expire dans 1 heure) :',
    'reset.title' => 'Nouveau mot de passe',
    'reset.intro' => 'Saisissez votre nouveau mot de passe (au moins 6 caractères).',
    'reset.password' => 'Nouveau mot de passe',
    'reset.save' => 'Enregistrer le mot de passe',
    'reset.bad' => 'Le lien est invalide ou a expiré. Demandez-en un nouveau.',
    'reset.done' => 'Mot de passe modifié. Vous pouvez maintenant vous connecter.',
    'reset.go_login' => 'Aller à la connexion',
    'inst.admin_email' => 'E-mail de l\'administrateur',
    'inst.admin_email_hint' => 'Nous l\'utiliserons pour récupérer votre mot de passe si vous l\'oubliez.',
    'inst.err_email' => 'Saisissez un e-mail valide.',
    'help.email.title' => 'Votre e-mail',
    'help.email.body' => 'Nécessaire pour récupérer votre mot de passe si vous l\'oubliez.',
    'help.email.save' => 'Enregistrer l\'e-mail',
    'nav.dashboard' => 'Tableau de bord',
    'nav.links' => 'Liens',
    'nav.gestores' => 'Gestionnaires',
    'nav.help' => 'Aide',
    'nav.complementos' => 'Extensions',
    'nav.logout' => 'Se déconnecter',
    'common.new_link' => 'Nouveau lien',
    'common.back' => 'Retour',
    'common.cancel' => 'Annuler',
    'common.view' => 'Voir',
    'common.clicks' => 'Clics',
    'common.optional' => '(facultatif)',
    'common.actions' => 'Actions',
    'common.export_csv' => 'Exporter en CSV',
    'login.subtitle' => 'Panneau d\'administration',
    'login.user' => 'Nom d\'utilisateur',
    'login.password' => 'Mot de passe',
    'login.enter' => 'Se connecter',
    'login.error_bad' => 'Nom d\'utilisateur ou mot de passe incorrect.',
    'dash.title' => 'Tableau de bord',
    'dash.subtitle_admin' => 'Vue globale (administrateur)',
    'dash.subtitle_user' => 'Résumé de vos liens',
    'dash.kpi_links' => 'Liens',
    'dash.kpi_total_clicks' => 'Clics au total',
    'dash.kpi_today' => 'Clics aujourd\'hui',
    'dash.kpi_active' => 'Liens actifs',
    'dash.evolution' => 'Évolution des clics (30 derniers jours)',
    'dash.by_country' => 'Par pays',
    'dash.by_device' => 'Par appareil',
    'dash.by_browser' => 'Par navigateur',
    'dash.top_links' => 'Liens les plus performants',
    'dash.no_links' => 'Pas encore de liens.',
    'dash.create_first' => 'Créer le premier',
    'dash.col_link' => 'Lien',
    'dash.manager_perf' => 'Performance par gestionnaire',
    'dash.no_managers' => 'Pas encore de gestionnaires.',
    'dash.create_manager' => 'Créer un gestionnaire',
    'dash.col_manager' => 'Gestionnaire',
    'links.title' => 'Liens',
    'links.col_short' => 'Lien court',
    'links.col_dest' => 'Destination',
    'links.col_status' => 'Statut',
    'links.none' => 'Pas encore de liens.',
    'links.flash_created' => 'Lien créé avec succès.',
    'links.flash_updated' => 'Lien mis à jour.',
    'links.flash_deleted' => 'Lien supprimé.',
    'links.confirm_delete' => 'Supprimer ce lien et ses statistiques ?',
    'links.search_ph' => 'Rechercher par slug, destination ou titre…',
    'links.total' => '{n} liens au total',
    'links.filtered_by' => 'Liens de {user}',
    'links.clear_filter' => 'Effacer le filtre',
    'links.col_created' => 'Créé le',
    'links.per_page' => 'Par page',
    'links.first' => 'Premier',
    'links.last' => 'Dernier',
    'links.bulk_export' => 'Exporter la sélection',
    'links.bulk_delete' => 'Supprimer la sélection',
    'links.bulk_activate' => 'Activer',
    'links.bulk_deactivate' => 'Désactiver',
    'links.bulk_clear' => 'Effacer la sélection',
    'links.bulk_selected' => 'sélectionnés',
    'links.bulk_confirm_delete' => 'Supprimer les liens sélectionnés ? Cette action est irréversible.',
    'links.flash_bulk_deleted' => 'Liens supprimés.',
    'links.flash_bulk_activated' => 'Liens activés.',
    'links.flash_bulk_deactivated' => 'Liens désactivés.',
    'links.page_of' => 'Page {page} sur {pages}',
    'links.no_results' => 'Aucun lien ne correspond à votre recherche.',
    'common.prev' => 'Précédent',
    'common.next' => 'Suivant',
    'status.active' => 'Actif',
    'status.inactive' => 'Inactif',
    'status.expired' => 'Expiré',
    'status.limit' => 'Limite',
    'form.new_title' => 'Nouveau lien',
    'form.edit_title' => 'Modifier le lien',
    'form.target' => 'URL de destination',
    'form.target_hint' => 'Si vous omettez http(s)://, https:// est ajouté automatiquement.',
    'form.short_label' => 'Lien court',
    'form.slug_fixed_hint' => 'Le slug ne peut pas être modifié lors de l\'édition, afin que les liens déjà partagés continuent de fonctionner.',
    'form.prefix' => 'Préfixe',
    'form.custom_slug' => 'Slug personnalisé',
    'form.slug_result_hint' => 'Laissez vide pour générer un code aléatoire. Si le slug existe déjà, ce lien est mis à jour.',
    'form.title_prefix' => 'Préfixe du titre',
    'form.title' => 'Titre',
    'form.expires' => 'Expire le',
    'form.max_clicks' => 'Clics maximum',
    'form.no_limit' => 'Sans limite',
    'form.active' => 'Lien actif',
    'form.btn_create' => 'Créer le lien',
    'form.btn_save' => 'Enregistrer les modifications',
    'form.utm_toggle' => 'Ajouter des paramètres UTM',
    'form.utm_hint' => 'Ajoutés à l\'URL de destination pour suivre vos campagnes dans les statistiques (Google Analytics, etc.).',
    'form.err_url' => 'Saisissez une URL de destination valide.',
    'form.err_slug' => 'Ce slug n\'est pas autorisé, choisissez-en un autre.',
    'form.err_slug_taken' => 'Le slug "{slug}" est déjà utilisé par un autre gestionnaire.',
    'stats.title' => 'Statistiques du lien',
    'stats.short' => 'Lien court',
    'stats.dest' => 'Destination',
    'stats.total' => 'Clics au total',
    'stats.manager' => 'Gestionnaire',
    'stats.evolution' => 'Évolution (30 derniers jours)',
    'stats.recent' => 'Clics récents',
    'stats.col_date' => 'Date',
    'stats.col_country' => 'Pays',
    'stats.col_device' => 'Appareil',
    'stats.col_browser' => 'Navigateur',
    'stats.col_os' => 'Système',
    'stats.none' => 'Pas encore de clics.',
    'gest.title' => 'Gestionnaires d\'URL',
    'gest.del_title' => 'Supprimer le gestionnaire',
    'gest.del_intro' => 'Vous êtes sur le point de supprimer le gestionnaire {user}.',
    'gest.del_has' => 'Il a {n} liens. Que voulez-vous en faire ?',
    'gest.del_reassign' => 'Réattribuer ses liens à un autre gestionnaire',
    'gest.del_reassign_hint' => 'Les liens et leurs statistiques sont conservés ; ils passent au gestionnaire choisi.',
    'gest.del_delete_all' => 'Supprimer aussi ses liens et statistiques',
    'gest.del_delete_hint' => 'Ses URL courtes cesseront de fonctionner. C\'est irréversible.',
    'gest.del_nolinks' => 'Ce gestionnaire n\'a aucun lien. Seul le compte sera supprimé.',
    'gest.del_choose' => '- choisissez un gestionnaire -',
    'gest.del_submit' => 'Supprimer le gestionnaire',
    'gest.del_cancel' => 'Annuler',
    'gest.err_target' => 'Choisissez un gestionnaire valide à qui réattribuer les liens.',
    'gest.act_delete' => 'Supprimer le gestionnaire',
    'gest.act_enable' => 'Activer le gestionnaire',
    'gest.act_disable' => 'Désactiver le gestionnaire',
    'gest.view_links' => 'Voir tous ses liens',
    'gest.period' => 'Période',
    'gest.p_month' => 'Ce mois-ci',
    'gest.p_lastmonth' => 'Le mois dernier',
    'gest.p_last30' => '30 derniers jours',
    'gest.p_year' => 'Cette année',
    'gest.p_all' => 'Tout',
    'gest.from' => 'Du',
    'gest.to' => 'Au',
    'gest.apply' => 'Appliquer',
    'gest.col_links' => 'Liens créés',
    'gest.admin_badge' => 'Admin',
    'gest.period_hint' => 'Liens créés et clics reçus durant la période sélectionnée.',
    'gest.registered' => 'Gestionnaires enregistrés',
    'gest.none' => 'Pas encore de gestionnaires. Créez le premier avec le formulaire.',
    'gest.col_top' => 'Top',
    'gest.new' => 'Nouveau gestionnaire',
    'gest.user' => 'Nom d\'utilisateur',
    'gest.name' => 'Nom',
    'gest.password' => 'Mot de passe',
    'gest.create' => 'Créer le gestionnaire',
    'gest.flash_created' => 'Gestionnaire créé avec succès.',
    'gest.flash_deleted' => 'Gestionnaire supprimé.',
    'gest.confirm_delete' => 'Supprimer ce gestionnaire ? Tous ses liens et statistiques seront également supprimés, et ses URL cesseront de fonctionner. Cette action est irréversible.',
    'gest.err_user' => 'Le nom d\'utilisateur doit comporter au moins 3 caractères minuscules (lettres, chiffres, . _ -).',
    'gest.err_pass' => 'Le mot de passe doit comporter au moins 6 caractères.',
    'gest.err_exists' => 'Ce nom d\'utilisateur existe déjà.',
    'err.back_panel' => 'Retour au panneau',
    'err.notfound_title' => 'Lien introuvable',
    'err.notfound_msg' => 'Ce lien n\'existe pas ou a été désactivé.',
    'err.denied_title' => 'Accès refusé',
    'err.denied_msg' => 'Vous n\'avez pas l\'autorisation d\'accéder à cette section.',
    'err.expired_title' => 'Lien expiré',
    'err.expired_msg' => 'Ce lien a expiré et n\'est plus disponible.',
    'err.limit_title' => 'Limite atteinte',
    'err.limit_msg' => 'Ce lien a atteint son nombre maximum de visites.',
    'err.404_title' => 'Introuvable',
    'err.404_msg' => 'La page que vous cherchez n\'existe pas.',
    'err.csrf_title' => 'Session expirée',
    'err.csrf_msg' => 'Le jeton de sécurité est invalide. Rechargez la page et réessayez.',
    'err.link_notfound' => 'Lien introuvable.',
    'err.link_denied' => 'Vous n\'avez pas de droits sur ce lien.',
    'help.title' => 'Aide et documentation',
    'help.intro' => 'Un guide rapide pour tirer le meilleur de Linsei. En cas de doute, voici comment fonctionne chaque partie.',
    'help.create.title' => 'Créer et personnaliser des liens',
    'help.create.body' => 'Dans Liens, cliquez sur « Nouveau lien ». Saisissez l\'URL de destination et, en option, un préfixe et un slug personnalisé pour former une adresse comme votredomaine.com/blog-mon-lien. Laissez le slug vide pour générer un code aléatoire. Si vous créez un lien avec un slug qui existe déjà (et qui est le vôtre), il est mis à jour au lieu d\'être dupliqué.',
    'help.titles.title' => 'Préfixe du titre',
    'help.titles.body' => 'Vous pouvez ajouter un préfixe aux titres de vos liens pour les organiser par campagne ou par section, ce qui facilite l\'analyse.',
    'help.expire.title' => 'Expiration et limite de clics',
    'help.expire.body' => 'Chaque lien peut expirer à une date précise ou après un nombre maximum de visites. Une fois dépassé, le lien cesse de rediriger.',
    'help.stats.title' => 'Statistiques',
    'help.stats.body' => 'Le tableau de bord affiche les clics au total, les clics du jour et leur évolution, ainsi qu\'une répartition par pays, appareil et navigateur. Chaque lien a sa propre page de statistiques et vous pouvez tout exporter en CSV.',
    'help.roles.title' => 'Rôles : administrateur et gestionnaire',
    'help.roles.body' => 'L\'administrateur voit et gère tout. Chaque gestionnaire ne voit et ne gère que ses propres liens et statistiques. Les gestionnaires se créent depuis la section Gestionnaires.',
    'help.lang.title' => 'Langue',
    'help.lang.body' => 'Utilisez le sélecteur de langue dans la barre supérieure pour basculer entre l\'espagnol, l\'anglais, le français et le portugais. Votre choix est mémorisé pour la session.',
    'help.api.title' => 'API et extension Chrome',
    'help.api.body' => 'Chaque utilisateur dispose d\'un jeton API pour créer des liens hors du panneau, par exemple avec l\'extension Chrome qui raccourcit l\'URL de l\'onglet actuel en un clic.',
    'help.ext_guide' => 'Télécharger et installer l\'extension Chrome',
    'help.geo.title' => 'Géolocalisation par pays',
    'help.geo.active' => 'Active : {n} plages chargées.',
    'help.geo.inactive' => 'Non configurée : le pays du clic est enregistré comme « Inconnu ».',
    'help.geo.body' => 'Pour afficher le pays du visiteur sans dépendre de votre hébergeur, téléchargez une base de données CSV gratuite IP→pays (colonnes : ip_start, ip_end, country) (par ex. IP2Location LITE DB1, ou les CSV de github.com/sapics/ip-location-db) et téléversez-la en data/geoip.csv. Linsei construit l\'index automatiquement. Aucune IP ne quitte votre serveur.',
    'inst.subtitle' => 'Assistant d\'installation',
    'inst.req_title' => 'Prérequis du serveur',
    'inst.continue' => 'Continuer',
    'inst.req_php' => 'PHP 7.4 ou supérieur (vous avez {version})',
    'inst.req_pdo' => 'Extension PDO',
    'inst.req_driver' => 'Pilote MySQL ou SQLite',
    'inst.req_writable' => 'Dossier du projet accessible en écriture',
    'inst.req_data' => 'Dossier data/ accessible en écriture',
    'inst.req_php_hint' => 'Changez la version de PHP dans le panneau de votre hébergement.',
    'inst.req_pdo_hint' => 'Activez l\'extension PDO dans votre hébergement.',
    'inst.req_driver_hint' => 'Vous avez besoin de pdo_mysql (recommandé) ou pdo_sqlite.',
    'inst.req_writable_hint' => 'Sinon, vous pourrez créer config.php manuellement à la fin.',
    'inst.req_data_hint' => 'Requis pour l\'option SQLite. Donnez-lui les droits d\'écriture.',
    'inst.db_title' => 'Base de données',
    'inst.db_mysql' => 'MySQL / MariaDB',
    'inst.db_mysql_note' => '(recommandé sur hébergement)',
    'inst.db_sqlite' => 'SQLite',
    'inst.db_sqlite_note' => '(sans configuration, idéal pour les tests locaux)',
    'inst.db_server' => 'Hôte',
    'inst.db_port' => 'Port',
    'inst.db_name' => 'Nom de la base de données',
    'inst.db_user' => 'Utilisateur',
    'inst.db_password' => 'Mot de passe',
    'inst.db_submit' => 'Tester la connexion et continuer',
    'inst.admin_title' => 'Compte administrateur',
    'inst.site_url' => 'URL du site',
    'inst.site_url_hint' => 'Adresse publique où se trouve Linsei, sans barre oblique finale.',
    'inst.admin_user' => 'Nom d\'utilisateur administrateur',
    'inst.admin_name' => 'Nom',
    'inst.admin_password' => 'Mot de passe',
    'inst.install_btn' => 'Installer Linsei',
    'inst.done_title' => 'Installation terminée',
    'inst.done_msg' => 'Linsei est prêt. Connectez-vous au panneau avec le compte administrateur que vous venez de créer.',
    'inst.done_security' => 'Conseil de sécurité : si votre hébergement le permet, retirez le droit d\'écriture de config.php une fois installé.',
    'inst.done_go' => 'Aller au panneau',
    'inst.manual_title' => 'Créer config.php manuellement',
    'inst.manual_msg' => 'config.php n\'a pas pu être écrit automatiquement car le dossier n\'est pas accessible en écriture. Créez un fichier nommé config.php à la racine du projet avec ce contenu, puis cliquez sur le bouton :',
    'inst.manual_btn' => 'J\'ai créé config.php, aller au panneau',
    'inst.err_conn' => 'Connexion impossible : {error}',
    'inst.err_user' => 'Le nom d\'utilisateur doit comporter au moins 3 caractères minuscules (lettres, chiffres, . _ -).',
    'inst.err_pass' => 'Le mot de passe doit comporter au moins 6 caractères.',
    'inst.err_db' => 'Erreur lors de la préparation de la base de données : {error}',
    'nav.stats' => 'Statistiques',
    'st.title' => 'Statistiques',
    'st.sub_admin' => 'Analyse globale de tous les liens',
    'st.sub_user' => 'Analyse de vos liens',
    'st.r_today' => 'Aujourd\'hui',
    'st.r_7d' => '7 jours',
    'st.r_30d' => '30 jours',
    'st.r_90d' => '3 mois',
    'st.r_12m' => '12 mois',
    'st.r_all' => 'Tout',
    'st.from' => 'Du',
    'st.to' => 'Au',
    'st.apply' => 'Appliquer',
    'st.showing' => 'Du {from} au {to}',
    'st.vs_prev' => 'par rapport à {from} - {to}',
    'st.kpi_clicks' => 'Clics sur la période',
    'st.kpi_unique' => 'Visiteurs uniques',
    'st.kpi_newlinks' => 'Liens créés',
    'st.new' => 'Nouveau',
    'st.vs' => 'vs précédent',
    'st.evolution' => 'Clics dans le temps',
    'st.by_day' => 'par jour',
    'st.by_month' => 'par mois',
    'st.this_period' => 'Période actuelle',
    'st.prev_period' => 'Période précédente',
    'st.by_os' => 'Par système',
    'st.top_period' => 'Liens les plus cliqués sur la période',
    'st.no_data' => 'Aucun clic sur cette période.',
    'st.by_manager' => 'Par gestionnaire',
    'st.col_newlinks' => 'Nouveaux liens',
    'st.col_created' => 'Créé le',
];

Vous avez traduit Linsei dans votre langue ? Partagez-la avec la communauté.