1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

這段 PHP 代碼該如何修改呢?

本帖由 Ulysses2008-06-27 发布。版面名称:后端开发

  1. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    PHP:
    require_once("lib/gettext/streams.php");
    require_once(
    "lib/gettext/gettext.php");

    $locale "zh_CN";

    $mofile "../plog-translations/" $locale ".mo";

    // If the mo file does not exist or is not readable, or if the locale is
    // en_US, do not load the mo.
    if ( is_readable($mofile) && ($locale != 'en_US') ) {
        
    $input = new FileReader($mofile);
    } else {
        
    $input false;
    }

    $l10n = new gettext_reader($input);

    // Return a translated string.    
    function plog_tr($text) {
        global 
    $l10n;
        return 
    $l10n->translate($text);
    }
    上面的代碼中,只能在安裝目錄的子目錄中使用,如果那段代碼被安裝目錄中的文件調用,就無效了。

    應該怎麽修改

    PHP:
    $mofile "../plog-translations/" $locale ".mo";
    以使得上下兩級的目錄都可以使用呢?
     
  2. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    現在的情況就是,後臺位于 admin 目錄中,可以調用語言文件漢化,但是前臺無法漢化,如果修改代碼為

    PHP:
    $mofile "plog-translations/" $locale ".mo";
    前臺漢化了,後臺又不能。

    這個路徑的問題該如何解決呢?
     
  3. fyfei

    fyfei New Member

    注册:
    2005-10-07
    帖子:
    9,067
    赞:
    46
    应该是路径问题,自己多试试。瞎说的:D
     
  4. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    是路徑問題。那程序作者寫的路徑,出現問題。
     
  5. lane

    lane New Member

    注册:
    2005-09-05
    帖子:
    6,548
    赞:
    29
    加个判断路径得了。
     
  6. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    用define定义,../换成dirname( __FILE__ ) 的形式,
    然后在别的地方只要调用那个变量就可以。
     
  7. oicq我爱玩

    oicq我爱玩 New Member

    注册:
    2006-01-27
    帖子:
    5,205
    赞:
    28

    小叶好厉害哦~:D
     
  8. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    問題解決。

    謝謝!

    :lol: