Mô đun:I18n
Giao diện
| Mô đun này được xếp loại alpha. Nó đã sẵn sàng cho việc sử dụng giới hạn và nhận phản hồi từ bên ngoài. Nó có thể được sử dụng trên một vài trang, nhưng cần được giám sát cẩn thận. Mọi đề xuất cho các tính năng mới hoặc điều chỉnh đầu vào và đầu ra của mô đun này đều được hoan nghênh. |
| Trang mô đun này đang bị khóa không cho sửa đổi. Xem quy định khóa trang và nhật trình khóa để biết thêm chi tiết. Vui lòng thảo luận bất kỳ thay đổi nào tại trang thảo luận; bạn có thể yêu cầu sửa trang này để yêu cầu bảo quản viên sửa đổi trang nếu sửa đổi đó là sửa đổi không gây hại hoặc được chấp nhận sự đồng thuận. Bạn cũng có thể yêu cầu mở khóa trang này. |
Sử dụng
{{#invoke:I18n|function_name}}
local p = {}-- Credit to http://stackoverflow.com/a/1283608/2644759-- cc-by-sa 3.0local function tableMerge(t1, t2, overwrite) for k,v in pairs(t2) do if type(v) == "table" and type(t1[k]) == "table" then -- since type(t1[k]) == type(v) == "table", so t1[k] and v is true tableMerge(t1[k], v, overwrite) -- t2[k] == v else if overwrite or t1[k] == nil then t1[k] = v end end end return t1endfunction p.loadI18n(name, i18n_arg) local exist, res = pcall(require, name) if exist and next(res) ~= nil then if i18n_arg then tableMerge(i18n_arg, res.i18n, true) elseif type(i18n) == "table" then -- merge to global i18n tableMerge(i18n, res.i18n, true) end endendfunction p.loadI18nFrame(frame, i18n_arg) p.loadI18n(frame:getTitle().."/i18n", i18n_arg)endreturn p