duan20081202 2012-11-05 23:18
浏览 80

PHP - bindtextdomain停止在本地化网站的某些页面上工作

I am hoping someone can help me with this issue. My website is localised into German, French, Spanish and English. Everything seems to work correctly but during testing and often sporadic, the localised text does not appear and except the string codes appear. The variable $language is been set correctly as the images are language specific and they are always displaying.

The code I am using is as follows:

// I18N support information here
putenv("LANG=" . $language); 
setlocale(LC_ALL, $language);

// Set the text domain as "messages"
$domain = "messages";
bindtextdomain($domain, "./locale"); 
bind_textdomain_codeset($domain, 'UTF-8');

textdomain($domain);

The one thing I do seem to notices is this issue only occurs in pages of format: http://example.com/product/product_name.php It always works in pages of format http://example.com/page.php

Can anyone help or even give me details on how I could debug

  • 写回答

1条回答 默认 最新

  • dongxueji2838 2012-11-05 23:50
    关注

    You will need to ensure that your path to bindtextdomain is correct. I would suggest this in your bootstrap file:

    define('ROOT_PATH', dirname(__FILE__));
    

    and then in your script

    bindtextdomain($domain, ROOT_PATH . '/locale');
    

    This way if you get into a subfolder such as product/product_name.php bindtextdomain will not try to find the locale folder in the product folder.

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?