langchange.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. (function ($) {
  2. $.fn.cloudLang = function (params) {
  3. var defaults = {
  4. file: '/static/page/lang-example.xml',
  5. lang: 'zh'
  6. }
  7. var aTexts = new Array();
  8. if (params) $.extend(defaults, params);
  9. $.ajax({
  10. type: "GET",
  11. url: window.nps.web_base_url + defaults.file,
  12. dataType: "xml",
  13. success: function (xml) {
  14. $(xml).find('text').each(function () {
  15. var textId = $(this).attr("id");
  16. var text = $(this).find(defaults.lang).text();
  17. aTexts[textId] = text;
  18. });
  19. $.each($("*"), function (i, item) {
  20. //alert($(item).attr("langtag"));
  21. if ($(item).attr("langtag") != null)
  22. $(item).fadeOut(150).fadeIn(150).text(aTexts[$(item).attr("langtag")]);
  23. });
  24. }
  25. });
  26. };
  27. })(jQuery);
  28. $(document).ready(function () {
  29. function setCookie(c_name, value, expiredays) {
  30. var exdate = new Date()
  31. exdate.setDate(exdate.getDate() + expiredays)
  32. document.cookie = c_name + "=" + escape(value) +
  33. ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
  34. }
  35. function getCookie(c_name) {
  36. if (document.cookie.length > 0) {
  37. c_start = document.cookie.indexOf(c_name + "=")
  38. if (c_start != -1) {
  39. c_start = c_start + c_name.length + 1
  40. c_end = document.cookie.indexOf(";", c_start)
  41. if (c_end == -1) c_end = document.cookie.length
  42. return unescape(document.cookie.substring(c_start, c_end))
  43. }
  44. }
  45. return ""
  46. }
  47. if (getCookie("lang") == "en") {
  48. $("body").cloudLang({lang: "en", file: "/static/page/lang-example.xml"});
  49. }
  50. $("#lang-en").click(function () {
  51. setCookie("lang", "en")
  52. $("body").cloudLang({lang: "en", file: "/static/page/lang-example.xml"});
  53. });
  54. $("#langzh").click(function () {
  55. setCookie("lang", "zh")
  56. $("body").cloudLang({lang: "zh", file: "/static/page/lang-example.xml"});
  57. });
  58. });