axproo/lang-manager
最新稳定版本:1.0.3
Composer 安装命令:
composer require axproo/lang-manager
包简介
Un générateur de fichiers de langue PHP réutilisable qui analyse les projets et les bibliothèques à la recherche de clés lang() et crée automatiquement des fichiers de langue structurés.
README 文档
README
LangManager est une librairie PHP pour gérer la traduction et la génération des fichiers de langue dans vos projets.
Elle scanne automatiquement votre code à la recherche des clés lang('module.key'), met à jour les fichiers de langue existants, ajoute les nouvelles clés avec un placeholder, et supprime les clés non utilisées.
Fonctionnalités
- 📂 Scan automatique : Parcourt tous les fichiers PHP de votre projet pour détecter les clés
lang('module.key'). - 🌐 Gestion multilingue : Génère et met à jour les fichiers pour plusieurs langues (
fr,en, etc.). - 🆕 Ajout automatique des nouvelles clés avec placeholder
__TRANSLATE__. - 🧹 Nettoyage des clés obsolètes : Supprime les clés non utilisées dans le projet.
- 📝 Rapport CLI : Affiche les clés en attente de traduction.
- 🔄 Réutilisable : Peut être utilisé dans n’importe quel projet PHP ou librairie.
📦 Installation
composer require axproo/lang-manager
Structure du projet
Axproo/LangManager ├── src/ │ ├── LangManager.php │ ├── Scanner.php │ ├── FileGenerator.php │ ├── DictionaryLoader.php │ ├── Helpers.php │ └── LangReporter.php ├── dictionaries/ │ ├── en-fr.php │ └── en-en.php └── vendor/
Exemple d’utilisation
Dans votre projet :
Si vous lancer les test à partir de composer, vous pouvez faire ceci:
composer dump-autoload
Créer un fichier nommé example.php à la racine de votre projet, et entré le code ci-dessous
require __DIR__ . '/vendor/autoload.php'; use LangManager\LangManager; $projectDir = __DIR__ . '/src'; $outputDir = __DIR__ . '/src/Language'; $locales = ['fr', 'en', 'es']; $langManager = new LangManager(); $langManager->run($projectDir, $outputDir, $locales);
en suite lancer dans votre CLI:
php exampe.php
Explication
- Les clés nouvelles sont ajoutées automatiquement dans les fichiers de langue avec le placeholder TRANSLATE.
- Les anciennes clés non utilisées sont supprimées du dictionnaire et des fichiers de langue.
- Les traductions existantes sont conservées si elles ne contiennent pas le placeholder.
- Le rapport CLI affiche toutes les clés encore à traduire.
Fichiers de dictionnaire
Exemple dictionaries/en-fr.php :
<?php return [ 'login.success' => 'Connexion réussie', 'login.unauthorized' => 'Accès non autorisé', ];
Exemple dictionaries/en-en.php :
<?php return [ 'login.success' => 'Login successful', 'login.unauthorized' => 'Unauthorized access', ];
Exemple de fichiers générés
src/ └── Language/ ├── fr/ │ ├── Auth.php │ ├── Users.php │ └── Token.php └── en/ ├── Auth.php ├── Users.php └── Token.php
Chaque clé trouvée est automatiquement placée dans le bon module.
Contribution
Les contributions sont les bienvenues ! Pour ajouter une nouvelle langue, créez simplement un fichier en-xx.php dans le dossier dictionaries et exécutez LangManager.
Vous pouvez aussi générer un fichier de langue en-xx.php en le spécifiant dans locales lors de la création de langues :
$locales = ['fr', 'en', 'es', 'de'];
La librairie générera automatiquement les fichiers nécessaires.
📄 Licence
MIT License – Vous pouvez utiliser cette librairie librement dans vos projets.
👨💻 Auteur
Développé par Christian Djomou. Pour toute contribution, suggestion ou amélioration, ouvrez une issue ou un pull request.
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-26