簡體   English   中英

Kohana i18n使用數據庫

[英]Kohana i18n using database

我是kohana的新手,正在嘗試將i18n從基於文件的數據庫修改為基於數據庫的數據庫。 基於本教程,我做了以下工作:在application/classes目錄中創建新的類i18n以覆蓋默認的__()函數。

<?php

class I18n extends Kohana_I18n
{


    function __($token, $lang = 'en')
    {
        $query = ORM::factory('Dictionary')->where('token', '=', $token)->find();
        return $query->{"txt_" . $lang};
    } 
}

我有看起來像這樣的字典模型

<?php defined('SYSPATH') or die('No direct script access.');

class Model_Dictionary extends ORM {
    protected $_table_name = 'Dictionary';

}

得到錯誤消息:

http://screencast.com/t/r84oL1A1

我究竟做錯了什么? 有什么建議嗎? 也許類不會自動加載?

在這種實現中,您需要在View中使用:

I18n::__($message_to_translate);

__($message_to_translate);

並且必須將__()函數聲明為static

<?php defined('SYSPATH') or die('No direct script access.');

class I18n extends Kohana_I18n
{

    public static function __($token, $lang = 'en')
    {
        $query = ORM::factory('Dictionary')->where('token', '=', $token)->find();
        return $query->{"txt_" . $lang};
    } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM