我的php文件字符串就像这样:
<?php
__('My string A', 'a_theme');
_e('My string B', 'a_theme');
?>
并且没有出现在“字符串翻译”中。
我还购买并安装了这个主题:http://preview.ait-themes.com/index.php?bartype=desktop&theme=touroperator来自该主题的字符串也不会出现在WPML的“字符串翻译”中。
这是我安装时已经在主题中的字符串的一个例子:
<input type="text" id="dir-searchinput-location" class="dir-searchinput-select" placeholder="{__ 'Destination'}">
我需要做一些额外的配置吗?
感谢您的帮助
答案 0 :(得分:22)
要让字符串显示在字符串翻译中,首先需要转到主题和插件本地化。向下滚动到主题中的字符串部分,然后单击扫描字符串主题按钮。然后,WPML将检测任何未经注册或新添加的字符串,这些字符串已正确格式化以进行本地化。
如果有效,您会在域列中看到主题a-theme
,并在计数列中看到检测到的字符串数量。单击查看需要翻译的字符串按钮将转到字符串翻译。如果任何字符串未正确格式化以进行本地化,则不会更新计数。
如果您更新现有字符串或添加新字符串,则需要在WPML将其添加到字符串翻译之前重新扫描。
第一个示例中的格式设置看起来没问题,WPML应检测字符串,但在第二个示例中,您尚未声明域。没有域名,WPML就不会拿起字符串。
格式正确
__('Your string', 'yourDomain')
要么
_e('Your string', 'yourDomain')
在这种情况下,域名应该是主题的名称'a_theme'
。
答案 1 :(得分:1)
这些字符串以某种方式缓存。因此,如果您添加了新的(正确的方式)并且它仍然没有出现在字符串转换中,请转到“主题和插件本地化”并点击“扫描字符串的主题”按钮。这将重新索引字符串,你应该出现新添加的字符串(为我工作)。
答案 2 :(得分:1)
我有同样的问题,我的主题是“bookyourtravel”,插件“WPML字符串翻译”,没有翻译这些文字:
#include <stdio.h>
#include <stdlib.h>
#define NUM_POINTS 5 // each vector has 5 points
int main()
{
double xvals[NUM_POINTS] = {1.0, 2.0, 3.0, 4.0, 5.0};
double yvals[NUM_POINTS] = {5.0 ,3.0, 1.0, 3.0, 5.0};
double Avals[NUM_POINTS] = {4.0 ,5.0, 3.0, 0.0, 1.0};
int i;
//Write xvals, yvals, and Avals to a temporary file
FILE * temp = fopen("data.temp", "w");
for(i=0; i < NUM_POINTS; i++)
fprintf(temp, "%lf %lf %lf\n", xvals[i] , yvals[i], Avals[i]);
fclose(temp); // close file if it won't be used anymore
// open interface to gnuplot. Option -p lets plot windows survive after program exits
FILE * gnuplotPipe = popen ("gnuplot -p", "w");
// send commands to gnuplot one by one.
fprintf(gnuplotPipe, "%s \n", "set title 'Trajectory\\_ARM'"); // command 0: define the graph title
fprintf(gnuplotPipe, "%s \n", "plot 'data.temp' u 1:2 w lp"); // command 1: plot yvals vs xvals, and Avals vs xvals
fflush(gnuplotPipe); // plots the data with the current commands
// we obtained a plot of data.temp
// now, we place an instruction to pause the program until a key is typed
getchar();
// add a plot to the current graph
fprintf(gnuplotPipe, "%s \n", "replot 'data.temp' u 1:3 w lp");
pclose(gnuplotPipe); // close gnuplot if it won't be used anymore
return 0;
}
没有翻译!!!
我的解决方案是:
如果您使用缓存,则清除页面中的所有缓存。
准备好了,这有效!!!!!!!
来源:https://wpml.org/forums/topic/using-gettext-for-hard-coded-strings-what-else/