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 today

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 13% 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

[smmoosavi/php-gettext

Wrapper for php-gettext by danilo segan. This library provides PHP functions to read MO files even when gettext is not compiled in or when appropriate locale is not present on the system.

1927.0k1](/packages/smmoosavi-php-gettext)

PHPackages © 2026

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