定制 axproo/lang-manager 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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
  • 点击次数: 3
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-26