Factory ‚NetteTranslator\Gettext::getTranslator‘ is not callable
- Saja
- Člen | 7
Zdravím, postupoval jsem podle návodu zde: https://componette.org/search/?…
Soubory jsem nahrál do lib/NetteTranslator a po obnovení stránky mi
napíše laděnka tuto chybu:
Factory NetteTranslator\Gettext::getTranslator‘ is not callable
mám nejnovější verzi Nette pro PHP 5.2
Mohl by mi někdo poradit, kde bude problém? Díky
config:
`#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT
accessible directly via a web browser!
#
# If you don't protect this directory from direct web access, anybody will be
able to see your passwords.
# https://nette.org/…rity-warning
#
common:
parameters:
lang: cs
php:
date.timezone: Europe/Prague
# session.save_path: „%tempDir%/sessions“
# zlib.output_compression: yes
nette:
session:
expiration: ‚+ 14 days‘
database:
default:
dsn: ‚%database.driver%:host=%database.host%;dbname=%database.dbname%‘
user: %database.user%
password: %database.password%
services:
database: @\NConnection
authenticator: Authenticator( @database::table(accounts) )
translator:
factory: NetteTranslator\Gettext::getTranslator
setup:
- addFile(%appDir%/languages, front)
- NetteTranslator\Panel::register
factories:
production < common:
development < common:`
- kralik
- Člen | 230
Prosím a poradil bys mi v čem může být problém?
Vůbec netuším kde mám hledat.
Nevím zda je problém v config.neon nebo v Presenterech.
Vše mám stejné jako v kuchařce.
Mooc díky
můj config.neon
<?php
#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT accessible directly via a web browser!
#
# If you don't protect this directory from direct web access, anybody will be able to see your passwords.
# https://nette.org/en/security-warning
#
common:
parameters:
lang: cs
php:
date.timezone: Europe/Prague
nette:
application:
errorPresenter: Error
database:
dsn: 'mysql:host=localhost;dbname=sb_di'
user: jmeno
password: heslo
session:
expiration: 14 days
services:
authenticator: Authenticator
translator:
create: NetteTranslator\Gettex::getTranslator
setup:
- addFile(%appDir%/lang, front)
- NetteTranslator\Panel::register
translatorPanel:
class: NetteTranslator\Panel
arguments: ['@myContext']
run: true
obedyRepository: Todo\ObedyRepository(@nette.database.default)
userRepository: Todo\UserRepository(@nette.database.default)
listRepository: Todo\ListRepository(@nette.database.default)
factories:
production < common:
development < common:
?>
Můj bootstrap.php
<?php
<?php
/**
* My Application bootstrap file.
*/
use Nette\Application\Routers\Route;
// Load Nette Framework or autoloader generated by Composer
require LIBS_DIR . '/Nette/loader.php';
// Configure application
$configurator = new Nette\Config\Configurator;
// Enable Nette Debugger for error visualisation & logging
//$configurator->setDebugMode($configurator::AUTO);
$configurator->enableDebugger(__DIR__ . '/../log');
// Enable RobotLoader - this will load all classes automatically
$configurator->setTempDirectory(__DIR__ . '/../temp');
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();
// Setup router
$container->router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$container->router[] = new Route('[<lang [a-z]{2}>/]<presenter>/<action>[/<id>]', array(
'presenter' => 'Homepage',
'action' => 'default',
'lang' => $container->translator->getDefault()
));
// Configure and run the application!
$container->application->run();
?>
- kralik
- Člen | 230
Prosím ještě o radu.
Nyní mám funkční řešení, avšak toto řešení vyžaduje složky pro oba
jazyky.
- Homepage
- cs
- default.latte (stejný soubor)
- en
- default.latte (stejný soubor)
- cs
Je možné aby tyto složky nebyly vyžadovány a byl použit jen jeden soubor default.latte a tento soubor byl uložen přímo ve složce Homepage?
Mooc díky