language.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. var sz = ["en", "zh", "ot"]
  2. var szname = ["English", "Chinese", "Other"]
  3. $(function() {
  4. var default_value = "en";
  5. var value = window.localStorage.getItem("i18n_default_value");
  6. if (value) {
  7. default_value = value;
  8. }
  9. loadProperties(default_value);
  10. })
  11. function loadProperties(val) {
  12. $("#languagelist").empty()
  13. window.localStorage.setItem("i18n_default_value", val);
  14. for (var i in sz) {
  15. if (sz[i] == val) {
  16. $("#language_show").text(szname[i])
  17. } else {
  18. //languagelist
  19. var item = $('<li txt="' + sz[i] + '"><a href="#" txt="' + sz[i] + '" >' + szname[i] +
  20. '</a></li>')
  21. item.on("click", function() {
  22. window.localStorage.setItem("i18n_default_value", $(this).attr('txt'));
  23. //刷新 以免一部分插件渲染的 无法国际化
  24. window.location.reload()
  25. })
  26. $("#languagelist").append(item);
  27. }
  28. }
  29. jQuery.i18n.properties({ //加载资浏览器语言对应的资源文件
  30. name: 'strings', //资源文件名称
  31. path: '../../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. var prop = $(this).attr('i18n')
  42. var value = $.i18n.prop(prop)
  43. $(this).val(value);
  44. });
  45. $('.i18n-placeholder').each(function() {
  46. var prop = $(this).attr('i18n')
  47. var value = $.i18n.prop(prop)
  48. $(this).attr('placeholder',value);
  49. });
  50. }
  51. });
  52. }
  53. function relanguage(){
  54. var value = window.localStorage.getItem("i18n_default_value");
  55. loadProperties(value);
  56. }