因此,我们现有的Rails 2.3.5应用程序根本不支持国际化.现在,我非常熟悉Rails I18n的内容,但是我们在/javascripts/
中有很多输出字符串.我不是这个方法的超级粉丝,但不幸的是现在修复它已经太晚了.
我们如何在Rails应用程序中国际化存储在JS文件中的字符串?Rails甚至不提供JS文件...
我想我可以让Rails应用程序提供JS文件,但这看起来很恶心.有插件可以做到这一点吗?
因此,我们现有的Rails 2.3.5应用程序根本不支持国际化.现在,我非常熟悉Rails I18n的内容,但是我们在/javascripts/
中有很多输出字符串.我不是这个方法的超级粉丝,但不幸的是现在修复它已经太晚了.
我们如何在Rails应用程序中国际化存储在JS文件中的字符串?Rails甚至不提供JS文件...
我想我可以让Rails应用程序提供JS文件,但这看起来很恶心.有插件可以做到这一点吗?
为什么不做一些简单的事情,比如:
<script type="text/javascript">
window.I18n = <%= I18n.backend.send(:translations).to_json.html_safe %>
</script>
然后在JS中,你可以做如下事情:
I18n["en-US"]["alpha"]["bravo"];
我已经把我的包在了应用程序助手中.
def current_translations
@translations ||= I18n.backend.send(:translations)
@translations[I18n.locale].with_indifferent_access
end
然后我打电话来申请.html.雇员再培训局的情况如下:
<script type="text/javascript">
window.I18n = <%= current_translations.to_json.html_safe %>
</script>
这使您不必知道JavaScript中的当前语言环境.
I18n["alpha"]["bravo"];
或
I18n.alpha.bravo;