PHPackages                             tigron/skeleton-i18n - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. tigron/skeleton-i18n

ActiveLibrary[Localization &amp; i18n](/categories/localization)

tigron/skeleton-i18n
====================

Translation and internationalization for Skeleton

4.1.6(7mo ago)019.1k↓31.8%2[2 issues](https://github.com/tigron/skeleton-i18n/issues)1MITPHP

Since Aug 14Pushed 7mo ago4 watchersCompare

[ Source](https://github.com/tigron/skeleton-i18n)[ Packagist](https://packagist.org/packages/tigron/skeleton-i18n)[ RSS](/packages/tigron-skeleton-i18n/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (69)Used By (1)

skeleton-i18n
=============

[](#skeleton-i18n)

Description
-----------

[](#description)

This library enables internationalization and translation features in Skeleton.

Installation
------------

[](#installation)

Installation via composer:

```
composer require tigron/skeleton-i18n

```

Run the migrations to update the database schema:

```
skeleton migrate:up

```

Howto
-----

[](#howto)

Translate a Skeleton App:

```
/**
 * Create a translator object
 */
$translator = new \Skeleton\I18n\Translator($application->name);

/**
 * Attach a storage
 */
$translator_storage_po = new \Skeleton\I18n\Translator\Storage\Po();
$translator_storage_po->set_configuration([
	'storage_path' => $root_path . '/po/'
]);
$translator->set_translator_storage($translator_storage_po);

/**
 * Use an extractor to extract translations from templates
 */
$translator_extractor_twig = new \Skeleton\I18n\Translator\Extractor\Twig();
$translator_extractor_twig->set_template_path($application->template_path);
$translator->set_translator_extractor($translator_extractor_twig);

[ optional ]
/**
 * Use a translator service to automatically translate untranslated strings
 */
$tas_service = new \Skeleton\I18n\Translator\Service\Tas();
$translator->set_translator_service($tas_service);

/**
 * Save the translator
 */
$translator->save();

/**
 * To translate, get the translation object and ask for a translation
 */
$translation = $translator->get_translation( Language::get_by_name_short('nl') );
echo $translation->translate('This is a test');

```

Translator\\Storage objects can have a default configuration. This configuration will be used for any newly created Translator\\Storage object.

```
\Skeleton\I18n\Translator\Storage\Po::set_default_configuration([
	'storage_path' => $root_path . '/po/'
]);

/**
 * Optional:
 * Set another Language interface
 */
\Skeleton\I18n\Config::$language_interface = '\Language';

```

#### Use it:

[](#use-it)

Via a twig template rendered by skeleton-template-twig:

```
{% trans "To be translated" %}

```

#### Po files:

[](#po-files)

Po files can now contain the fuzzy flag: **\#, fuzzy** this makes it clear which translations still need work.

#### Translator services:

[](#translator-services)

A new translator service has been added, this is to make it possible to automatically translate untranslated strings. Translations made by a translator service will get the fuzzy flag.

Currently supported translator services:

- TAS: \\Skeleton\\I18n\\Translator\\Service\\Tas() =&gt;
- Deepl: \\Skeleton\\I18n\\Translator\\Service\\Deepl() =&gt;

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance63

Regular maintenance activity

Popularity26

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~57 days

Recently: every ~24 days

Total

66

Last Release

223d ago

Major Versions

v1.0.15 → v2.1.62020-09-09

v1.0.17 → v2.1.102020-12-15

v1.0.18 → 2.1.122021-01-29

2.1.12 → v3.0.02021-05-18

v3.0.4 → v4.0.02022-11-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/8bff1383483dacb0c3f89d2d3856ae03d4cf3e80de26a2998248dd1175317285?d=identicon)[tigron](/maintainers/tigron)

---

Top Contributors

[![christopheg](https://avatars.githubusercontent.com/u/199087?v=4)](https://github.com/christopheg "christopheg (35 commits)")[![gerryd](https://avatars.githubusercontent.com/u/3003371?v=4)](https://github.com/gerryd "gerryd (13 commits)")[![RoanB](https://avatars.githubusercontent.com/u/77972728?v=4)](https://github.com/RoanB "RoanB (10 commits)")[![LionelLaffineur](https://avatars.githubusercontent.com/u/21120913?v=4)](https://github.com/LionelLaffineur "LionelLaffineur (9 commits)")[![davidvandemaele](https://avatars.githubusercontent.com/u/1914033?v=4)](https://github.com/davidvandemaele "davidvandemaele (8 commits)")[![SanderTigron](https://avatars.githubusercontent.com/u/45229883?v=4)](https://github.com/SanderTigron "SanderTigron (4 commits)")[![kvassia](https://avatars.githubusercontent.com/u/131980475?v=4)](https://github.com/kvassia "kvassia (1 commits)")

### Embed Badge

![Health badge](/badges/tigron-skeleton-i18n/health.svg)

```
[![Health](https://phpackages.com/badges/tigron-skeleton-i18n/health.svg)](https://phpackages.com/packages/tigron-skeleton-i18n)
```

###  Alternatives

[joedixon/laravel-translation

A tool for managing all of your Laravel translations

717911.4k11](/packages/joedixon-laravel-translation)[illuminate/translation

The Illuminate Translation package.

6936.4M495](/packages/illuminate-translation)[lajax/yii2-translate-manager

Translation management extension for Yii 2

227578.8k13](/packages/lajax-yii2-translate-manager)[larswiegers/laravel-translations-checker

Make sure your laravel translations are checked and are included in all languages.

256423.2k2](/packages/larswiegers-laravel-translations-checker)[inpsyde/multilingual-press

Simply THE multisite-based free open source plugin for your multilingual websites.

2414.0k1](/packages/inpsyde-multilingual-press)[statikbe/laravel-chained-translator

The Laravel Chained Translator can combine several translators that can override each others translations.

36149.4k6](/packages/statikbe-laravel-chained-translator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
