php类方法参数中的gettext字符串

php类方法参数中的gettext字符串,php,class,methods,arguments,gettext,Php,Class,Methods,Arguments,Gettext,在类方法参数中使用gettext字符串,我遇到了一个挑战。它们没有翻译。每隔一个字符串(假设是静态的)都会被翻译成没有问题的字符串,而gettext在这些字符串上的作用就像魅力一样 以下是一个非工作翻译示例: $myClass->myMethod(_('string to be translated')); 方法定义: public function myMethod (arg1) { echo arg1; } 它总是只显示第一页加载时的翻译集。无论我切换语言多少次,或者刷新页

在类方法参数中使用gettext字符串,我遇到了一个挑战。它们没有翻译。每隔一个字符串(假设是静态的)都会被翻译成没有问题的字符串,而gettext在这些字符串上的作用就像魅力一样

以下是一个非工作翻译示例:

$myClass->myMethod(_('string to be translated'));
方法定义:

public function myMethod (arg1) {
    echo arg1;
}
它总是只显示第一页加载时的翻译集。无论我切换语言多少次,或者刷新页面多少次。我还尝试将字符串作为变量传递。不幸的是,它也不起作用:

$var = _('string to be translated'); 
$myClass->myMethod($var);

谢谢你的提示!:)

您的区域设置文件中有翻译吗?您是否只使用系统区域设置或您自己的文件?

谢谢您的关注。是的,字符串已被选择转换为pot文件,并被转换为相应的mo文件。如果我将浏览器首选语言切换到应用程序支持的语言,我会看到翻译。这意味着,翻译本身是可以的。他们只是没有改变,当我改变语言。只有静态翻译才能很好地工作。但这难道不意味着在这种特定语言中,如果其他语言工作,就没有翻译可用吗?很可能,目前,我只有一种翻译可用。我确信,翻译是存在的。正如我提到的,我已经能够看到翻译,但我无法切换到另一个。任何其他静态文本都是完美的。我能很好地在两种语言之间切换。我想这与php缓存有关。我已经重新启动了apache,但它没有任何帮助。我想我根本无法理解这个问题-你在做什么,你希望得到什么结果?好的,我有一个English lang网站的主网站。我创建了斯洛伐克语言的完整翻译。当我尝试在语言之间切换时,静态字符串标记为(“”)进行翻译翻译得很好。不幸的是,标记为相同方式并作为参数传递给函数的字符串不接受语言切换。它们保留在第一页加载时设置的翻译中。希望我的问题现在能更清楚一点。