私は最近、素晴らしいi18nシェルのおかげで、Cakephpで構築しているアプリから文字列を抽出しました。 私は、(フランス語から英語への)翻訳を行い、SRC /ロケールにファイルを置く:Cakephp i18n - コンストラクタが失敗しました - Intl例外
msgid "View"
msgstr ""
:
src/
Locale/
default.po
fr/
default.po
ロケール/フォルダ内の最初のdefault.poは、次のようにフォーマットされFR /フォルダ内のdefault.po:
:私のアプリコントローラーでmsgid "View"
msgstr "Vue"
は、私がtraductionをテストしたいです
public function initialize()
{
parent::initialize();
I18n::locale('fr');
...
}
しかし、私は次のエラーを取得する:
私は、ウェブ上の情報について調べてみましたが、何かを見つけることができませんでした。私はいくつかのマシンでも試しました。
私は間違っていますか?
ありがとうございました!
EDIT:
ケーキのバージョンは3.3.12
デバッグキットのバージョン3.3.12
のError.logです:NDMさんのコメント@読んだ後
2017-03-14 17:18:54 Error: [IntlException] Constructor failed
Request URL:/
Stack Trace:
#0 /www/fitadmin/admin/vendor/cakephp/cakephp/src/I18n/Formatter/IcuFormatter.php(89): MessageFormatter->__construct('fr', '{0, number, #, ...')
#1 /www/fitadmin/admin/vendor/cakephp/cakephp/src/I18n/Formatter/IcuFormatter.php(52): Cake\I18n\Formatter\IcuFormatter->_formatMessage('fr', '{0, number, #, ...', Array)
#2 /www/fitadmin/admin/vendor/cakephp/cakephp/src/I18n/Translator.php(150): Cake\I18n\Formatter\IcuFormatter->format('fr', '{0, number, #, ...', Array)
#3 /www/fitadmin/admin/vendor/cakephp/cakephp/src/I18n/functions.php(84): Cake\I18n\Translator->translate('{0,number,#,###...', Array)
#4 /www/fitadmin/admin/vendor/cakephp/cakephp/src/I18n/Number.php(92): __d('cake', '{0,number,#,###...', 2.2256164550781)
#5 /www/fitadmin/admin/vendor/cakephp/debug_kit/src/Panel/TimerPanel.php(125): Cake\I18n\Number::toReadableSize(2333728)
#6 /www/fitadmin/admin/vendor/cakephp/debug_kit/src/ToolbarService.php(191): DebugKit\Panel\TimerPanel->summary()
#7 /www/fitadmin/admin/vendor/cakephp/debug_kit/src/Routing/Filter/DebugBarFilter.php(139): DebugKit\ToolbarService->saveData(Object(Cake\Network\Request), Object(Cake\Network\Response))
#8 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Event/EventManager.php(426): DebugKit\Routing\Filter\DebugBarFilter->afterDispatch(Object(Cake\Event\Event), Object(Cake\Network\Request), Object(Cake\Network\Response))
#9 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Event/EventManager.php(391): Cake\Event\EventManager->_callListener(Array, Object(Cake\Event\Event))
#10 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Event/EventDispatcherTrait.php(78): Cake\Event\EventManager->dispatch(Object(Cake\Event\Event))
#11 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php(100): Cake\Http\ActionDispatcher->dispatchEvent('Dispatcher.afte...', Array)
#12 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/BaseApplication.php(83): Cake\Http\ActionDispatcher->dispatch(Object(Cake\Network\Request), Object(Cake\Network\Response))
#13 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Http\BaseApplication->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#14 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Routing/Middleware/RoutingMiddleware.php(62): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#15 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\RoutingMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#16 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Routing/Middleware/AssetMiddleware.php(88): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#17 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Routing\Middleware\AssetMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#18 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php(81): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#19 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Runner.php(65): Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Cake\Http\Runner))
#20 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Runner.php(51): Cake\Http\Runner->__invoke(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#21 /www/fitadmin/admin/vendor/cakephp/cakephp/src/Http/Server.php(90): Cake\Http\Runner->run(Object(Cake\Http\MiddlewareQueue), Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#22 /www/fitadmin/admin/webroot/index.php(37): Cake\Http\Server->run()
#23 {main}
あなたはこの'ケーキ\国際化\国際化を使用するを追加しましたか?あなたのローカルコードも間違っている可能性があります。 'br_FR'となるでしょう – tarikul05
エラーを受け取るたびに、いつでも_full_ stacktraceを投稿してください(理想的には、ログから適切に読める形式でコピーしてください)。また、あなたの_exact_ CakePHPのバージョン( 'vendor/cakephp/cakephp/VERSION.txt'の最後の行)、そしてこの場合はデバッグキットのバージョン(' vendor/cakephp/debug_kit/VERSION.txt') – ndm
@ tarikul05はい私は 'Cake \ I18n \ I18n'を追加しました。そして、私はbf_FRについては分かりません。この例をコアcakephpロケールフォルダから見てみましょう:[link](https://github.com/cakephp/localized/tree/master/src/Locale)) – WitoldW