2017-03-16 128 views
0

我为wordpress创建了一个插件,现在我想翻译它。 我已经在“Plugin-name/locale”中添加了我的代码.po和.mo文件(我创建了“locale”文件夹,其中放置了de_DE,fr_FR,en_US,it_IT,es_ES,ru_RU文件夹) 每种语言文件夹包含一个名为“LC_MESSAGES”的文件夹,其中包含.po和.mo文件,如“translation.mo and transolation.po” 现在我想连接这些翻译。 在我的配置文件我已经创建了这样的事情:在Wordpress插件中添加翻译

$locale = str_replace("-", "_", $culture); 

    $textDomain = "translation"; 
    try { 
     @putenv("LC_ALL=$locale"); 
    } 
    catch (Exception $e) { } 
    setlocale(LC_ALL, $locale . ".utf8"); //Set language 
    bindtextdomain($textDomain, dirname(__FILE__) . "/locale"); //Specify location of translation tables 
    textdomain($textDomain); //Choose domain 

,在我的页面我刚刚加入了gettext这样的:

_("Hello") 

我的网站是在意大利,所以我会看到“ Ciao“,但插件没有翻译,所以我仍然看到”你好“

任何人都可以帮我吗?

在此先感谢

+0

Opcache活跃? –

+0

这是不活跃,但现在我已经激活它,但仍然不能工作 – Awkn

+0

号。保持它的发展。它会缓存PHP文件,当您更改它们时,您不会立即看到更改。 –

回答

1

与WordPress,你需要正常使用此格式: 要么

_e('your_text_to_be_translated'); 

__('your_text_to_be_translated'); 
+0

https://codex.wordpress.org/I18n_for_WordPress_Developers – FusionDesign

+0

我已经试过机智_e(和__(但仍然没有workin ..我不知道如果我错过了连接我的翻译或什么 – Awkn

+0

你可以试试这个插件而非常容易使用: https://wordpress.org/plugins/loco-translate/ – FusionDesign