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

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

kappa/translator
================

Simple and intelligent system for translate appliaction

011PHP

Since Jan 27Pushed 13y ago1 watchersCompare

[ Source](https://github.com/Kappa-org/Translator)[ Packagist](https://packagist.org/packages/kappa/translator)[ RSS](/packages/kappa-translator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

\#Kappa:Translator

Nette Translator (c) Patrik Votoček (Vrtak-CZ), 2010 ()

Note
====

[](#note)

This is short manual how to use Nette Translator in the newest Nette 2.0 in its most simple version. No need to edit or operate with .po/.mo files required. Written 2012-02-10.

Actual info/manual:

### 1. Enable Translator

[](#1-enable-translator)

app/config/services.neon:

```
services:
	translator:
		factory: \Kappa\Localization\Translator\Gettext::getTranslator
		setup:
			- addFile(%appDir%/lang, front) # at leas one file required
			- Kappa\Localization\Translator\Panel::register # panel to debug bar
```

### 2. Use in templates

[](#2-use-in-templates)

template

```
{_"Dog"}
{_"Cat", $number} // for plural, default are Czech plurals: 1, 2-4, 5+
```

### 3. Use in forms

[](#3-use-in-forms)

```
/**
 * @autowire
 * @var \Kappa\Localization\Translator\Gettext
 */
protected $translator;

createComponentMyForm ()
{
	$form = new Form;
	// ...
	$form->setTranslator($this->translator);
}
```

\###4. Use in Presenters

app/\[\*Module/ (presenters/)\]BasePresenter.php

```
/**
 * @persistent
 */
public $lang;

/**
 * @autowire
 * @var \Kappa\Localization\Translator\Gettext
 */
protected $translator;

/**
 * @autowire
 * @var \Nette\Http\Request
 */
protected $request;

public function startup()
{
	parent::startup();
	if (!$this->lang)
	{
		$lang = $this->request->detectLanguage(array('en', 'cs')) ?: 'cs';
		$this->redirectUrl($lang);
	}
}

/**
 * @param null $class
 * @return \Nette\Templating\ITemplate
 */
public function createTemplate($class = NULL)
{
	$template = parent::createTemplate($class);
	$this->translator->setLang($this->lang); // set lang
	$template->setTranslator($this->translator);
	return $template;
}
```

\###Route:

```
$router[] = new Route('//[/]', 'Homepage:default');
```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c0840abca14f130b93d02cfa8412e99dc0645ca3f7e57cf75cfcb487efe33aa?d=identicon)[Budry](/maintainers/Budry)

---

Top Contributors

[![Budry](https://avatars.githubusercontent.com/u/990676?v=4)](https://github.com/Budry "Budry (5 commits)")

### Embed Badge

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

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

###  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)
