我正在使用10月份的CMS和Laravel,并且遇到客户端翻译问题,想知道你们是否有任何想法我是如何实现这一点的。
我正在使用Twig {{ 'String'|_ }}
的前端翻译用于静态内容,还使用laravel翻译库,用于在{{'author.plugin::lang.type.string'|trans }}
页面加载时插入内容的动态字符串。
除了在页面加载时动态插入字符串,我也在使用Ajax进行此客户端。例如,我有一个包含两个<select>
类型的搜索表单,第二个<select>
的值和名称取决于在第一个中选择的值。但是我不能简单地将javascript var = value
放入像{{ ( 'author.plugin::lang.type.string.'|trans ~ value) }}
这样的Twig,因为Twig是在服务器上执行的。如果有人能建议我如何处理这个问题,我将非常高兴。
Ajax代码示例
function getTipNeprem(){
$.ajax({
method: 'get',
url: '/sitename/vrsta_neprem=' + $("#vrsta_neprem").val(),
dataType: "json",
success: function(data){
var tipi_nepremicnin = $.parseJSON(data[0].tip_nepremicnine_{{activeLocale}});
var select_input = $("#tip_neprem");
$(select_input).find("option").remove();
$(select_input).append("<option value=''> {{ 'Choose Type'|_ }} </option>");
$.each( tipi_nepremicnin, function( key, value ) {
$(select_input).append("<option value='" + value + "'>" + value + "</option>").removeAttr("disabled");
});
}
});
}
问题是选项的值始终使用国内语言,因为它是用于搜索功能的数据库中列的名称。如果我在上面的例子中使用ajax代码,它将始终只对值和内容使用一种语言。<option value="string in domestic_language"> string in foreign language </option>
如果您对如何实现这一点有更好的了解,如果您能指出我正确的方向,我将很高兴。