Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internationalization 客户端翻译在CKAN中不起作用_Internationalization_Ckan - Fatal编程技术网

Internationalization 客户端翻译在CKAN中不起作用

Internationalization 客户端翻译在CKAN中不起作用,internationalization,ckan,Internationalization,Ckan,我在翻译CKAN中的客户端文本时遇到问题。我的网站是法语的,所以问题是: -如果我点击左边的绿色按钮“S'abonner”,它会将按钮更改为红色,并显示文本“Se désabonner”,但它会显示“Unfollow”,如照片中所示: 如果我再次单击它,它会显示“Follow”(而不是“S'abonner”)。这是客户端的一个问题。通常,当您在服务器端生成文本时,您会在模板uz('msgid出现在pofile')中写入文本,但在客户端,它使用对“/api/i18n/{language}”的A

我在翻译CKAN中的客户端文本时遇到问题。我的网站是法语的,所以问题是: -如果我点击左边的绿色按钮“S'abonner”,它会将按钮更改为红色,并显示文本“Se désabonner”,但它会显示“Unfollow”,如照片中所示:

如果我再次单击它,它会显示“Follow”(而不是“S'abonner”)。这是客户端的一个问题。通常,当您在服务器端生成文本时,您会在模板uz('msgid出现在pofile')中写入文本,但在客户端,它使用对“/api/i18n/{language}”的AJAX调用的结果

我做了一些挖掘,客户端翻译似乎使用了AJAX调用“/api/i18n/fr”的结果,但我得到的只是一个json对象:

{
"": {
"domain": "ckan",
"lang": "fr",
"plural-forms": "nplurals=2; plural=(n > 1)"
}
}
但是,如果我看看ckan的演示网站,(
http://demo.ckan.org/api/i18n/fr
),我得到一个长JSON文件,其中包含所有翻译。 我设法发现这个Ajax调用是从哪里完成的,显然它来自于“src/ckan/ckan/public/base/javascript/client.js”,函数:

getLocaleData: function (locale, success, error) {
  var url = this.url('/api/i18n/' + (locale || ''));
  return jQuery.getJSON(url).then(success, error);
}

 If I replace 
var url = this.url('/api/i18n/' + (locale || '')); 

问题解决了,因为我在json对象中获得了翻译。 我的问题是如何生成正确的数据,production.ini中是否有参数?不幸的是,CKAN中的文档非常糟糕,因此我没有这方面的线索。有人有线索吗?
谢谢

我怀疑您可能正在运行CKAN的一个未发布的分支(例如master),因此还没有构建Javascript翻译

这是通过以下命令完成的:

paster front-end-build -c config_file.ini
只要运行这个命令,翻译就会很好

在主存储库上,这只在发布之前进行,以避免使git历史变得复杂

例如,检查此站点是否运行最新的主分支,但前端每晚都在其上构建:


我应用了您的命令,但粘贴程序似乎无法识别该命令。以下是输出:命令“前端构建”未知(您可能需要运行setup.py egg_info)是否从ckan文件夹({virtualenv}/src/ckan)运行它?
paster front-end-build -c config_file.ini