承接 efabrica/translatte 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

efabrica/translatte

最新稳定版本:1.6.2

Composer 安装命令:

composer require efabrica/translatte

包简介

Translator for Nette framework

README 文档

README

Build Status Scrutinizer Code Quality Code Coverage

Translator for Nette framework.

Usage

use Efabrica\Translatte\Translator; use Efabrica\Translatte\Resource\NeonDirectoryResource; // Create new translator with default language $translator = new Translator('sk_SK'); // Register new resources where translations are stored $translator->addResource(new NeonDirectoryResource([__DIR__ . '/lang', __DIR__ . '/another/lang'])); $translator->addResource(new NeonResource(__DIR__ . '/dictionary.sk_SK.neon', 'sk_SK')); // Translate basic string $translator->translate('dictionary.forms.error']); // Translate with pluralization $translator->translate('key', 10); // Translate with parameters $translator->translate('key', ['name' => 'Peter']); // Translate with pluralization and parameters $translator->translate('key', 10, ['page' => 'login']); // Select translation language on the fly $translator->translate('key', 1, [], 'en_US');

Nette extension

extensions: translation: Efabrica\Translatte\Bridge\Nette\TranslationExtension # Minimal configuration translation: default: 'sk_SK' # mandatory # Full configuration translation: default: 'sk_SK' # mandatory fallback: # optional - 'en_US' - 'en_UK' dirs: - %appDir%/lang cache: Efabrica\Translatte\Cache\NullCache() # optional resolvers: # optional - Efabrica\Translatte\Resolver\StaticResolver('sk_Sk') resources: # optional - Efabrica\Translatte\Resource\NeonDirectoryResource(%appDir%/localize) recordTranslate: # optional - Efabrica\Translatte\Record\NullRecord() 

Syntactic sugar

dictionary.sk_SK.neon:

cart: products_in_cart: 'V košíku je jeden produkt|V košíku sú %count% produkty|V košíku je %count% produktov' 

Source: src/PluralForm.php

Example of count syntax: sk: '1|2-4|0,5-Inf' cz: '1|2-4|0,5-Inf' en: '1|0,2-Inf' Example of special count syntax (https://symfony.com/doc/3.1/components/translation/usage.html#pluralization): en: '[-Inf,-10]big negative count|]-10,0[negative count|{0}zero count|{1}one count|{2,3,4}two,three,four count|]4,Inf]more than four count' sk: '[-Inf,-10]veľký negatívny počet|]-10,0[negatívny počet|{0}nula počet|{1}jedna počet|{2,3,4}dva,tri,štyri počet|]4,Inf]viac ako štyri počet' 

index.php:

// Translator setup $translator = ... // To params array is set count variable $translator->translate('dictionary.cart.products_in_cart', 2); // V košíku sú 2 produkty // Param count from params array is used to select right plural form $translator->translate('dictionary.cart.products_in_cart', ['count' => 2]); // V košíku sú 2 produkty // If we set both params nothing is override $translator->translate('dictionary.cart.products_in_cart', 10, ['count' => 2]); // V košíku je 2 produktov 

Main classes

Resolver

Resolves which language has translator to use.
Available resolvers:

  • StaticResolver - Resolves to given static lang.
  • ChainResolver - Multiple resolvers can be registered to this resolver. First resolver which returns non empty string is used.

Resource

Represents "storage" with translation strings. It can be anything - directory with translation files, database, redis or external api call.
Available resources:

  • NeonResource - One neon file.
  • NeonDirectoryResource - Multiple directories in which resource search neon files in format "{prefix}.{lang}.neon".

Cache

Used for cache generated directory.

统计信息

  • 总下载量: 65.63k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 3
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固