恪別𡧲版𢯢𢷮𧵑「模庉:Coordinates」

n 𠊝替文本-「Bản mẫu:」成「Template:」
(討論 | 㨂𢵰)
空固縿略𢯢𢷮
 
𣳔1: 𣳔1:
--[=[
--[=[
Mô đun này hỗ trợ [[板㑄:Coord]] và các bản mẫu liên quan. Nó cung cấp vài
Mô đun này hỗ trợ [[Bản mẫu:Coord]] và các bản mẫu liên quan. Nó cung cấp vài
phương thức, nhất là:
phương thức, nhất là:


{{#invoke:Coordinates | coord }} : Hàm tổng quát để định dạng và hiển thị các giá
{{#gọi:Coordinates | coord }} : Hàm tổng quát để định dạng và hiển thị các giá
trị tọa độ.
trị tọa độ.


{{#invoke:Coordinates | dec2dms }} : Hàm đơn giản để chuyển đổi các giá trị thập
{{#gọi:Coordinates | dec2dms }} : Hàm đơn giản để chuyển đổi các giá trị thập
phân ra định dạng độ-phút-giây.
phân ra định dạng độ-phút-giây.


{{#invoke:Coordinates | dms2dec }} : Hàm đơn giản để chuyển đổi định dạng
{{#gọi:Coordinates | dms2dec }} : Hàm đơn giản để chuyển đổi định dạng
độ-phút-giây ra định dạng độ thập phân.
độ-phút-giây ra định dạng độ thập phân.


{{#invoke:Coordinates | link }} : Xuất địa chỉ của các công cụ.
{{#gọi:Coordinates | link }} : Xuất địa chỉ của các công cụ.


]=]
]=]


require('Module:No globals')
require('strict')


local math_mod = require("Module:Math")
local math_mod = require("Module:Math")
𣳔27: 𣳔27:
-- Định dạng các số theo quy tắc tiếng Việt (thí dụ 1.234,56).
-- Định dạng các số theo quy tắc tiếng Việt (thí dụ 1.234,56).
local lang = mw.getContentLanguage()
local lang = mw.getContentLanguage()
-- Chuyển đổi đối số thành các giá trị tiếng Anh.
local function delocalizeArguments(args)
-- Chuyển vị bảng đối số
local transposedArgs = {}
for i, arg in ipairs(args) do
transposedArgs[mw.ustring.upper(arg)] = i
end
if transposedArgs["B"] ~= nil then
args[transposedArgs["B"]] = "N"
end
-- “N” có thể có nghĩa hướng nam trong tiếng Việt hoặc hướng bắc trong tiếng Anh.
if transposedArgs["N"] ~= nil and (transposedArgs["Đ"] ~= nil or transposedArgs["T"] ~= nil) then
args[transposedArgs["N"]] = "S"
end
if transposedArgs["Đ"] ~= nil then
args[transposedArgs["Đ"]] = "E"
end
if transposedArgs["T"] ~= nil then
args[transposedArgs["T"]] = "W"
end
end


--[[ Hàm hỗ trợ thay thế {{coord/display/title}} ]]
--[[ Hàm hỗ trợ thay thế {{coord/display/title}} ]]
local function displaytitle(s, notes)
local function displaytitle(s, notes)
local l = "[[Hệ tọa độ địa lý|Tọa độ]]: " .. s
local htmlTitle = '<span style="margin-right: 0.25rem;">' .. s .. notes .. '</span>';
local co = '<span id="coordinates">' .. l .. notes .. '</span>';
return mw.getCurrentFrame():extensionTag('indicator', tostring(htmlTitle), { name = '#coordinates' })
return '<span style="font-size: small;">' .. co .. '</span>';
end
end


𣳔56: 𣳔78:




--[[ Hàm bọc để lấy các tham số; xem tài liệu của hàm này tại 模庉:Arguments. ]]
--[[ Hàm bọc để lấy các tham số; xem tài liệu của hàm này tại Mô đun:Arguments. ]]
local function makeInvokeFunc(funcName)
local function makeInvokeFunc(funcName)
return function (frame)
return function (frame)
local args = require('模庉:Arguments').getArgs(frame, {
local args = require('Mô đun:Arguments').getArgs(frame, {
wrappers = 'Template:Tọa độ'
wrappers = 'Bản mẫu:Tọa độ'
})
})
return coordinates[funcName](args, frame)
return coordinates[funcName](args, frame)
𣳔94: 𣳔116:


Bảng kiểu CSS thường ẩn geo-nondefault, trừ khi một nguời dùng đã ghi đè thiết lập này.
Bảng kiểu CSS thường ẩn geo-nondefault, trừ khi một nguời dùng đã ghi đè thiết lập này.
default là chế độ do nguời dùng định rõ khi nhúng [[板㑄:coord]].
default là chế độ do nguời dùng định rõ khi nhúng [[Bản mẫu:coord]].
mode là chế độ hiển thị (dec hoặc dms) dùng để tính lớp CSS.
mode là chế độ hiển thị (dec hoặc dms) dùng để tính lớp CSS.
]=]
]=]
𣳔172: 𣳔194:
end
end


return '<span class="plainlinks nourlexpansion">' ..
    local stylesheetLink = 'Module:Coordinates/styles.css'
'[' .. coord_link .. uriComponents .. ' ' .. inner .. ']' .. '</span>'
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = stylesheetLink }
} .. '<span class="plainlinks nourlexpansion">[' .. coord_link .. uriComponents ..
' ' .. inner .. ']</span>'
end
end


𣳔518: 𣳔543:
local ret = specPrinter(args, result)
local ret = specPrinter(args, result)
if #errors > 0 then
if #errors > 0 then
ret = ret .. ' ' .. errorPrinter(errors) .. '[[體類:Trang có thẻ tọa độ hỏng]]'
ret = ret .. ' ' .. errorPrinter(errors) .. '[[Thể loại:Trang có thẻ tọa độ hỏng]]'
end
end
return ret, backward
return ret, backward
𣳔546: 𣳔571:
end
end
if ret then
if ret then
return mw.ustring.format('[[體類:%s]]', ret)
return mw.ustring.format('[[Thể loại:%s]]', ret)
else
else
return ''
return ''
𣳔558: 𣳔583:


Cách sử dụng:
Cách sử dụng:
{{ #invoke:Coordinates | link }}
{{ #gọi:Coordinates | link }}
]]
]]
𣳔571: 𣳔596:


Cách sử dụng:
Cách sử dụng:
{{ #invoke:Coordinates | dec2dms | tọa độ thập phân | hậu tố cho số dương |  
{{ #gọi:Coordinates | dec2dms | tọa độ thập phân | hậu tố cho số dương |  
hậu tố cho số âm | độ chính xác }}
hậu tố cho số âm | độ chính xác }}


𣳔610: 𣳔635:


Cách sử dụng:
Cách sử dụng:
{{ #invoke:Coordinates | dms2dec | chữ bán cầu | độ |  
{{ #gọi:Coordinates | dms2dec | chữ bán cầu | độ |  
phút | giây }}
phút | giây }}


𣳔630: 𣳔655:
coord
coord


Chỗ vào chính của hàm Lua thay thế [[板㑄:Coord]].
Chỗ vào chính của hàm Lua thay thế [[Bản mẫu:Coord]].


Cách sử dụng:
Cách sử dụng:
{{ #invoke:Coordinates | coord }}
{{ #gọi:Coordinates | coord }}
{{ #invoke:Coordinates | coord | vĩ độ | kinh độ }}
{{ #gọi:Coordinates | coord | vĩ độ | kinh độ }}
{{ #invoke:Coordinates | coord | vĩ độ | chữ vĩ độ | kinh độ | chữ kinh độ }}
{{ #gọi:Coordinates | coord | vĩ độ | chữ vĩ độ | kinh độ | chữ kinh độ }}
Tra cứu trang tài liệu của [[板㑄:Coord]] để biết đến nhiều tham số và
Tra cứu trang tài liệu của [[Bản mẫu:Coord]] để biết đến nhiều tham số và
tùy chọn khác.
tùy chọn khác.


Lưu ý: Hàm này cung cấp các phần tử hiển thị thị giác của [[板㑄:Coord]]. Để
Lưu ý: Hàm này cung cấp các phần tử hiển thị thị giác của [[Bản mẫu:Coord]]. Để
cho có thể tải các tọa độ lên cơ sở dữ liệu, hàm cú pháp {{#tọađộ:}} cũng cần
cho có thể tải các tọa độ lên cơ sở dữ liệu, hàm cú pháp {{#tọađộ:}} cũng cần
được gọi. Hàm này được gọi tự động trong phiên bản Lua của [[板㑄:Coord]].
được gọi. Hàm này được gọi tự động trong phiên bản Lua của [[Bản mẫu:Coord]].
]=]
]=]
coordinates.coord = makeInvokeFunc('_coord')
coordinates.coord = makeInvokeFunc('_coord')
𣳔669: 𣳔694:
args.wviTitle = (string.find( Display, 'title' ) ~= nil or Display == 't' or  
args.wviTitle = (string.find( Display, 'title' ) ~= nil or Display == 't' or  
Display == 'it' or Display == 'ti')
Display == 'it' or Display == 'ti')
delocalizeArguments(args)
local contents, backward = formatTest(args)
local contents, backward = formatTest(args)
local coordPF = formatTest(args)
local Notes = args.notes or ''
local Notes = args.notes or ''


𣳔707: 𣳔732:
while count <= 9 do args[count] = (args[count] or ''); count = count+1 end
while count <= 9 do args[count] = (args[count] or ''); count = count+1 end
end
end
if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= 'doc' and page_title.subpageText ~= 'tài liệu' and page_title.subpageText ~= 'testcases' and page_title.subpageText ~='kiểm thử' then args[10] = 'primary' end
if isInTitle(Display) and not page_title.isTalkPage and page_title.subpageText ~= 'doc' and page_title.subpageText ~= 'tài liệu' and page_title.subpageText ~= 'testcases' and page_title.subpageText ~='kiểm thử' then args[10] = 'primary' end
args.notes, args.format, args.display = nil
args.notes, args.format, args.display = nil
text = text .. coord_wrapper(args)
text = text .. coord_wrapper(args)
𣳔717: 𣳔742:
coord2text
coord2text


Phân tích ra một giá trị từ lần nhúng [[板㑄:Tọa độ]].
Phân tích ra một giá trị từ lần nhúng [[Bản mẫu:Tọa độ]].
NẾU CÚ PHÁP LIÊN KẾT CỦA GEOHACK THAY ĐỔI, HÀM NÀY CẦN ĐƯỢC THAY ĐỔI LUÔN.
NẾU CÚ PHÁP LIÊN KẾT CỦA GEOHACK THAY ĐỔI, HÀM NÀY CẦN ĐƯỢC THAY ĐỔI LUÔN.


Cách sử dụng:
Cách sử dụng:


     {{#invoke:Coordinates | coord2text | {{Tọa độ}} | parameter }}
     {{#gọi:Coordinates | coord2text | {{Tọa độ}} | parameter }}


Giá trị hợp lệ cho tham số thứ hai là: lat (số nguyên có dấu), long (số nguyên có dấu), type, scale, dim, region, globe, source
Giá trị hợp lệ cho tham số thứ hai là: lat (số nguyên có dấu), long (số nguyên có dấu), type, scale, dim, region, globe, source
𣳔748: 𣳔773:
coordinsert
coordinsert


Xen văn bản vào liên kết GeoHack của một lần nhúng [[板㑄:Tọa độ]] (nếu văn bản này không phải đã xuất hiện trong mã nhúng). Trả về mã nhúng [[板㑄:Tọa độ]] đã sửa đổi.
Xen văn bản vào liên kết GeoHack của một lần nhúng [[Bản mẫu:Tọa độ]] (nếu văn bản này không phải đã xuất hiện trong mã nhúng). Trả về mã nhúng [[Bản mẫu:Tọa độ]] đã sửa đổi.
NẾU CÚ PHÁP LIÊN KẾT CỦA GEOHACK THAY ĐỔI, HÀM NÀY CẦN ĐƯỢC THAY ĐỔI LUÔN.
NẾU CÚ PHÁP LIÊN KẾT CỦA GEOHACK THAY ĐỔI, HÀM NÀY CẦN ĐƯỢC THAY ĐỔI LUÔN.


𣳔755: 𣳔780:
     {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }}
     {{#invoke:Coordinates | coordinsert | {{Coord}} | parameter:value | parameter:value | … }}


Đừng làm GeoHack gây lỗi bằng cách đưa vào gì không được nói đến trong tài liệu [[板㑄:Tọa độ]].
Đừng làm GeoHack gây lỗi bằng cách đưa vào gì không được nói đến trong tài liệu [[Bản mẫu:Tọa độ]].


]=]
]=]