Kdyby/Translation – Invoking filters via $template->translate($vars) is deprecated, use ($vars|translate)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
flamengo
Člen | 135
+
0
-

Přes composer jsem si nainstaloval web projekt (Nette 2.4). K tomu Kdyby/Translation. Celé nasadil na hotový projekt (Nette 2.3.) a bohužel chyba, s kterou si nevím rady.

User Deprecated
Invoking filters via $template->translate($vars) is deprecated, use ($vars|translate)

Úryvek z composer.json:

"require": {
	"php": ">= 5.6",
	"nette/application": "^2.4",
	"nette/bootstrap": "^2.4.1",
	"nette/caching": "^2.5",
	"nette/database": "^2.4",
	"nette/di": "^2.4",
	"nette/finder": "^2.4",
	"nette/forms": "^2.4",
	"nette/http": "^2.4",
	"nette/mail": "^2.4",
	"nette/robot-loader": "^2.4",
	"nette/safe-stream": "^2.3",
	"nette/security": "^2.4",
	"nette/utils": "^2.4",
	"latte/latte": "^2.4",
	"tracy/tracy": "^2.4",
	"kdyby/translation": "^2.3",
},

V latte šabloně mám následující kód: <meta name="author" content="{_layout.author.meta}">

Pátral jsem zde na fóru, google a nic funkčního jsem nenašel.

Jak prosím vyřešit překlad? Předem díky.

CZechBoY
Člen | 3608
+
0
-

ještě nevyšla stable verze pro Nette 2.4
https://github.com/…n/issues/129

Marek Šneberger
Člen | 130
+
+6
-

Nebo můžeš mezitím jako hotfix upravit závislost kdyby/translation z ^2.3 na @dev a pustit composer update kdyby/translation.

radekBrno
Člen | 61
+
0
-

V „composer.json“ jsem u „kdyby/translation“ nastavil „@dev", "minimum-stability“ mám taky „dev“, spustil jsem „composer update kdyby/translation“, ale chybu mám pořád.

David Matějka
Moderator | 6445
+
+4
-

@radekBrno smaz cache. ten „spatny“ zpusob volani filtru je ulozeny v zkompilovane latte sablone

radekBrno
Člen | 61
+
0
-

Díky moc za radu, pomohlo to.

Čamo
Člen | 798
+
0
-

Stále to nieje releasnuté?

A ako sa má vlastne zapisovať ten filter? Keď napíšem

{'CERTIFIKÁTY'|translate} // chyba
{php 'CERTIFIKÁTY'|translate} // chyba
{_'CERTIFIKÁTY'} // chyba

Je to vôbec možné zapísať ako temp string. Tak ako v prvom príklade? Updatol som kdyby/translation na @dev zmazal keš ale ani jeden z príkladov mi nefunguje.

Editoval Čamo (6. 2. 2017 9:42)

radekBrno
Člen | 61
+
0
-

Jde v composer.json nějak nastavit, aby se mi stáhla dev verze pouze od Kdyby/Translation?

{
	"name": "nette/web-project",
	"description": "Nette: Standard Web Project",
	"type": "project",
	"license": ["MIT", "BSD-3-Clause", "GPL-2.0", "GPL-3.0"],
	"require": {
		"php": ">= 5.6",
		"nette/application": "^2.4",
		"nette/bootstrap": "^2.4.2",
		"nette/caching": "^2.5",
		"nette/database": "^2.4",
		"nette/di": "^2.4",
		"nette/finder": "^2.4",
		"nette/forms": "^2.4",
		"nette/http": "^2.4",
		"nette/mail": "^2.4",
		"nette/robot-loader": "^2.4",
		"nette/security": "^2.4",
		"nette/utils": "^2.4",
		"latte/latte": "^2.4",
		"tracy/tracy": "^2.4",
		"kdyby/translation": "@dev"
	},
	"require-dev": {
		"nette/tester": "^1.6"
	},
	"minimum-stability": "dev",
	"prefer-stable": true
}

Pokud odeberu řádek „prefer-stable“: true, tak se mí stáhnou všechny dev verze a pokud ho tam ponechám, nestáhne se nic. Díky za pomoc.

Editoval radekBrno (18. 2. 2017 20:05)

Tomáš Votruba
Moderator | 1114
+
+1
-

Zkus vyhodit:

"minimum-stability": "dev",
"prefer-stable": true

Editoval Tomáš Votruba (18. 2. 2017 20:56)

radekBrno
Člen | 61
+
+1
-

Pomohlo, díky.

Čamo
Člen | 798
+
0
-

Tak ja už nechápem v čom je problém composer.json

...
		"require": {
            "nette/application": "^2.4",
            "nette/bootstrap": "^2.4.1",
            "nette/caching": "^2.5",
            "nette/database": "^2.4",
            "nette/di": "^2.4",
            "nette/finder": "^2.4",
            "nette/forms": "^2.4",
            "nette/http": "^2.4",
            "nette/mail": "^2.4",
            "nette/robot-loader": "^2.4",
            "nette/safe-stream": "^2.3",
            "nette/security": "^2.4",
            "nette/utils": "^2.4",
            "latte/latte": "^2.4",
            "tracy/tracy": "^2.4",
            "kdyby/translation": "@dev"
        },
        "require-dev": {
                "nette/tester": "~1.0"
        },
        "minimum-stability": "dev",
        "prefer-stable": true

Keš som vymazal v šablone skúšam všetko možné ale stále tá istá chyba.
Ako má vlastne vyzerať správna syntax šablone? Toto mi nefunguje {‚Cenníky‘|translate} a {_'Cenníky'} vzhadzuje error $template->translate($vars) is deprecated

Editoval Čamo (28. 2. 2017 11:38)

David Matějka
Moderator | 6445
+
+2
-

koukni se na prispevek od @TomášVotruba