Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.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
如何翻译部分jquery模板文件中的标签内容_Jquery_Ruby On Rails_Jquery Templates - Fatal编程技术网

如何翻译部分jquery模板文件中的标签内容

如何翻译部分jquery模板文件中的标签内容,jquery,ruby-on-rails,jquery-templates,Jquery,Ruby On Rails,Jquery Templates,我必须为我的rails应用程序做一些翻译,在我的应用程序中,有一个名为dashboard.tmpl的模板文件,在特定部分中部分呈现 <div> <span>Latest News</span> {{if my_recommendations[0]}} {{each(i, my_rec) my_recommendations}} {{/each}} {{else}} <p>No New

我必须为我的rails应用程序做一些翻译,在我的应用程序中,有一个名为dashboard.tmpl的模板文件,在特定部分中部分呈现

<div>
    <span>Latest News</span>
    {{if my_recommendations[0]}}
        {{each(i, my_rec) my_recommendations}}
        {{/each}}
    {{else}} 
    <p>No News yet.</p>
    {{/if}}
</div>

最新消息
{{如果我的建议[0]}
{{每个(我,我的建议)我的建议}
{{/每个}}
{{else}
还没有消息

{{/if}

我试着翻译最新的新闻。所以试着把它放在这里。但它不能工作。我怎么翻译呢?请帮帮我

在您的评论之后,这里是问题所在。当您请求页面时,需要“动态”生成模板。它们不能从文件中加载,因为您需要先预编译它们,以便rails引擎可以进行本地化

简而言之,将模板作为html的一部分放入脚本标记中,而不是单独的文件

在.html.erb文件中,尝试添加以下代码:

<script type="text/template" id='news-template'>
  <span><%=t :latest_news %></span>
</script>
加载具有正确翻译的模板后,可以使用它进行渲染

$.template( "newsTemplate", newsTemplate );
$.tmpl( "newsTemplate", news ).appendTo( "#news-list" );
所以,在模板中,您不是使用文件获取模板,而是使用客户端使用的脚本标记从html页面加载

你也可以检查这个宝石-我没有试过,但也许他们解决了这个问题


希望对你有所帮助

你想翻译什么?这个街区有最新消息吗?你能显示不起作用的代码吗?是否在您的
config/locales/*.yml
中定义了
latest\u news
标签?是的,在locale文件中定义了。在我的erb文件中它工作,但在tmpl文件中它不工作。你能在引用模板的jquery中显示代码吗…我想看看你是如何呈现部分的。你能告诉我们它给出的消息/输出吗?所以我们知道发生了什么错误
$.template( "newsTemplate", newsTemplate );
$.tmpl( "newsTemplate", news ).appendTo( "#news-list" );