Witajcie,
Używam www.datatables.net do wyświetlania danych w formie tabeli.
Zachciało mi się gmerać w tłumaczeniach oLangue (by mieć kręconego gif’a przy przetwarzaniu) i zrobiłem tak:
utworzyłem katalog /assets/media i w nim
pl.json.erb
en.json.erb
a w nich odpowiednio:
pl.json.erb
{
"sProcessing": "<img src='<%= asset_path('spinner.gif') %>'>",
"sLengthMenu": "Pokaż _MENU_ pozycji",
"sZeroRecords": "Nie znaleziono pasujących pozycji",
"sEmptyTable": "Brak danych",
"sInfo": "Pozycje od _START_ do _END_ z _TOTAL_ łącznie",
"sInfoEmpty": "Pozycji 0 z 0 dostępnych",
"sInfoFiltered": "(filtrowanie spośród _MAX_ dostępnych pozycji)",
"sInfoPostFix": "",
"sInfoThousands": " ",
"sLoadingRecords": "Wczytywanie...",
"sSearch": "Szukaj:",
"sUrl": "",
"oPaginate": {
"sFirst": "<<",
"sPrevious": "<",
"sNext": ">",
"sLast": ">>"
},
"oAria": {
"sSortAscending": ": aktywuj, by posortować kolumnę rosnąco",
"sSortDescending": ": aktywuj, by posortować kolumnę malejąco"
}
}
en.json.erb
{
"sProcessing": "<img src='<%= asset_path('spinner.gif') %>'>",
"sLengthMenu": "Show _MENU_ entries",
"sZeroRecords": "No matching records found",
"sEmptyTable": "No data available in table",
"sInfo": "Showing _START_ to _END_ of _TOTAL_ entries",
"sInfoEmpty": "Showing 0 to 0 of 0 entries",
"sInfoFiltered": "(filtered from _MAX_ total entries)",
"sInfoPostFix": "",
"sInfoThousands": ",",
"sLoadingRecords": "Loading...",
"sSearch": "Search:",
"oPaginate": {
"sFirst": "<<",
"sPrevious": "<",
"sNext": ">",
"sLast": ">>"
},
"oAria": {
"sSortAscending": ": activate to sort column ascending",
"sSortDescending": ": activate to sort column descending"
}
}
w samej definicji DataTable mam tak:
$(document).ready(function() {
var oTable = $('#companies').DataTable({
.....
language: {
url: '<%= asset_path("#{I18n.locale}.json.erb") %>'
}
});
});
No i nawet to działa jakoś. Tzn, gdy mam locale :pl to podstawia z tego pl.json.erb, a jak mam :en to z pliku en.json.erb
Mam teraz dwa pytania:
-
Czy w dobrym miejscu umieściłem te tłumaczenia?
-
Czy
url: ‘<%= asset_path("#{I18n.locale}.json.erb") %>’
nie można jakoś inaczej zorganizować, bo Railsy przecież same potrafią to rozpoznawać, którego pliku należy użyć, więc teoretycznie w powyższym wywołaniu mógłbym opuścić to #{I18n.locale} ale wtedy nie działa mi to.