language.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. $(function() {
  2. var default_value = "en";
  3. $("#language").on("change", function() {
  4. loadProperties($(this).val());
  5. })
  6. var value = window.localStorage.getItem("i18n_default_value");
  7. var sz = ["en", "zh", "ot"]
  8. var szname = ["English", "Chinese", "Other"]
  9. if (value) {
  10. default_value = value;
  11. }
  12. loadProperties(default_value);
  13. function loadProperties(val) {
  14. $("#languagelist").empty()
  15. window.localStorage.setItem("i18n_default_value", val);
  16. for (var i in sz) {
  17. if (sz[i] == val) {
  18. $("#language_show").text(szname[i])
  19. } else {
  20. //languagelist
  21. var item = $('<li txt="' + sz[i] + '"><a href="#" txt="' + sz[i] + '" >' + szname[i] +
  22. '</a></li>')
  23. item.on("click", function() {
  24. loadProperties($(this).attr('txt'));
  25. })
  26. $("#languagelist").append(item);
  27. }
  28. }
  29. jQuery.i18n.properties({ //加载资浏览器语言对应的资源文件
  30. name: 'strings', //资源文件名称
  31. path: '/lanhu-bootstrap/i18n/', //资源文件路径
  32. mode: 'map', //用Map的方式使用资源文件中的值
  33. language: val, // - 不支持 ,支持_
  34. callback: function() { //加载成功后设置显示内容
  35. $('.i18n-text').each(function() {
  36. var prop = $(this).attr('i18n')
  37. var value = $.i18n.prop(prop)
  38. $(this).text(value);
  39. });
  40. $('.i18n-input').each(function() {
  41. $(this).value($.i18n.prop($(this).text()));
  42. });
  43. }
  44. });
  45. }
  46. })