PHPackages                             struktal/struktal-translator - 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. struktal/struktal-translator

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

struktal/struktal-translator
============================

PHP library for translating texts in Struktal applications

1.1.0(9mo ago)01.6k↑284.6%1MITPHPPHP &gt;=8.2.0CI failing

Since Aug 22Pushed 9mo agoCompare

[ Source](https://github.com/Struktal/struktal-translator)[ Packagist](https://packagist.org/packages/struktal/struktal-translator)[ RSS](/packages/struktal-struktal-translator/feed)WikiDiscussions main Synced 2d ago

READMEChangelog (2)DependenciesVersions (3)Used By (1)

Struktal-Translator
===================

[](#struktal-translator)

This is a PHP library for translating texts in Struktal applications.

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

[](#installation)

To install this library, include it in your project using Composer:

```
composer require struktal/struktal-translator
```

Usage
-----

[](#usage)

### Translations directory

[](#translations-directory)

In your project, you have to create a specific directory for translations. This directory then contains more subdirectories—one for each language or locale. Then, the subdirectories contain the translation files—one for each message domain:

```
📁 .../translations
├── 📁 en_US
│   ├── 📄 messages.json
│   └── 📄 emails.json
├── 📁 en_GB
│   ├── 📄 messages.json
│   └── 📄 emails.json
├── 📁 de_DE
│   ├── 📄 messages.json
│   └── 📄 emails.json
└── 📁 de_AT
    ├── 📄 messages.json
    └── 📄 emails.json

```

A translation file is a JSON file that contains key-value pairs for the translations. For example, the `messages.json` file for the `en_US` locale might look like this:

```
{
    "welcome_message": "Welcome to our application!",
    "goodbye_message": "Thank you for using our application!"
}
```

You can use placeholders in the translations, which will be replaced at runtime:

```
{
    "welcome_message": "Welcome to our application, $$username$$!",
    "goodbye_message": "Thank you for using our application, $$username$$!"
}
```

### Setup

[](#setup)

Before you can use this library, you need to customize a few parameters. You can do this in the startup of your application:

```
\struktal\Translator\Translator::setTranslationsDirectory("path/to/your/translations/root");
\struktal\Translator\Translator::setDomain("messages"); // Defines the file to read from the translations directory
\struktal\Translator\Translator::setLocale(
    \struktal\Translator\LanguageUtil::getPreferredLocale()
);
```

Then, you can use the library's features in your code.

### Translate texts

[](#translate-texts)

To translate texts, you can use the `Translator::translate()` method:

```
\struktal\Translator\Translator::translate("welcome_message", [
    "username" => "John Doe"
]);
```

License
-------

[](#license)

This software is licensed under the MIT license. See the [LICENSE](LICENSE) file for more information.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance56

Moderate activity, may be stable

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~26 days

Total

2

Last Release

290d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/49905418?v=4)[Jens Ostertag](/maintainers/JensOstertag)[@JensOstertag](https://github.com/JensOstertag)

---

Top Contributors

[![JensOstertag](https://avatars.githubusercontent.com/u/49905418?v=4)](https://github.com/JensOstertag "JensOstertag (2 commits)")

---

Tags

translator

### Embed Badge

![Health badge](/badges/struktal-struktal-translator/health.svg)

```
[![Health](https://phpackages.com/badges/struktal-struktal-translator/health.svg)](https://phpackages.com/packages/struktal-struktal-translator)
```

###  Alternatives

[stichoza/google-translate-php

Free Google Translate API PHP Package

2.0k8.1M142](/packages/stichoza-google-translate-php)[barryvdh/laravel-translation-manager

Manage Laravel Translations

1.7k3.8M18](/packages/barryvdh-laravel-translation-manager)[phpmyadmin/motranslator

Translation API for PHP using Gettext MO files

611.9M9](/packages/phpmyadmin-motranslator)[vsch/laravel-translation-manager

Enhanced Laravel Translation Manager

185191.4k2](/packages/vsch-laravel-translation-manager)[kargnas/laravel-ai-translator

AI-powered translation tool for Laravel language files

25169.0k1](/packages/kargnas-laravel-ai-translator)[gettext/translator

Gettext translator functions

115.2M15](/packages/gettext-translator)

PHPackages © 2026

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