Modul:Translation license
Aspect
--[=[
Implementează [[Format:Licență traducere]]
]=]
local p = {} --p stands for package
local getArgs = require('Modul:Arguments').getArgs
local yesno = require('Modul:Yesno')
local license_scope = require('Modul:License_scope')._license_scope
local categoryHandler = require('Modul:Category handler').main
local namespace = mw.title.getCurrentTitle().nsText
function p._license_collapsible_container(args)
-- license table
local tag_table = mw.html.create('table'):addClass('mw-collapsible-content wst-license-tags')
for k = 1, #args, 2 do
tag_table:tag('tr')
:tag('th'):attr('scope', 'row'):wikitext(args[k])
:tag('td'):wikitext(args[k + 1])
end
-- license container
local frame = mw.getCurrentFrame()
local container_begin = frame:expandTemplate {
['title'] = 'Început casetă licență',
['args'] = {
['imagini'] = args.imagini or args.images,
['mesaj'] = args.mesaj or args.message
}
}
local container_end = frame:expandTemplate {
['title'] = 'Sfârșit casetă licență'
}
return container_begin .. tostring(tag_table) .. container_end
end
function p.license_collapsible_container(frame)
return p._license_collapsible_container(getArgs(frame))
end
function p._no_license(args)
local scope = args.scope or 'content'
local p1 = mw.html.create('p'):tag('b'):wikitext('Această pagină nu oferă informații despre licență pentru ' .. scope .. '.')
local p2 = mw.html.create('p'):css({['font-size'] = '83%'}):wikitext('Paginile fără informații despre licență pot fi nominalizate pentru ștergere. Dacă doriți să ajutați, consultați [[Wikisource:Drepturi de autor]] sau [[' .. tostring(mw.title.getCurrentTitle().talkPageTitle) .. '|lăsați un comentariu]].')
local frame = mw.getCurrentFrame()
return frame:expandTemplate {
['title'] = 'licență',
['args'] = {
['imagine'] = 'Ambox_warning_pn.svg',
['clasă'] = 'warningLicenseContainer',
['text'] = tostring(p1) .. tostring(p2) .. (args.category or args.categorie or '')
}
}
end
function p.no_license(frame)
return p._no_license(getArgs(frame))
end
function p._translation_license(args)
local frame = mw.getCurrentFrame()
local original = args.original
local translation = args.translation or args.traducere
local trans_ns = namespace == "Traducere" or namespace == "Discuție Traducere"
if not translation and trans_ns then
translation = frame:expandTemplate {
['titlu'] = 'GFDL/CC-BY-SA-4.0'
}
end
-- images in title
local images
if not (original and translation) then
images = '[[File:Copyright.svg|20px|link=]][[File:Achtung.svg|20px|link=]]'
end
-- text in title
local message = args.message or args.mesaj
if not message then
message = license_scope() .. " o traducere și i se aplică drepturi de autor în mod separat "
if namespace == "Autor" or namespace == "Discuție Autor" then
message = message .. "de restul conținutului original atribuit acestui autor."
elseif namespace == "Fișier" or namespace == "Discuție Fișier" then
message = message .. "de protecțiile aplicabile sursei originale."
else
message = message .. "de protecțiile aplicabile conținutului original."
end
end
-- license tags
if not original then
original = p._no_license({
['scope'] = 'original content',
['cateogry'] = categoryHandler{
['main'] = '[[Categorie:Lucrări fără format de licență]]',
['author'] = '[[Categorie:Pagini de autor fără format de licență]]',
['file'] = '[[Categorie:Fișiere fără format de licență]]',
}
})
end
if not translation then
local category
local noCatNamespaces = {
['Ajutor'] = true,
['Discuție Ajutor'] = true,
['Format'] = true,
['Discuție Format'] = true,
['Wikisource'] = true,
['Discuție Wikisource'] = true,
['Categorie'] = true,
['Discuție Categorie'] = true,
['Modul'] = true,
['Discuție Modul'] = true
}
if not noCatNamespaces[namespace] then
category = '[[Categorie:Traduceri fără format de licență]]'
end
translation = p._no_license({
['scope'] = 'translation',
['category'] = category
})
end
return p._license_collapsible_container({
['images'] = images,
['message'] = message,
[1] = 'Original:',
[2] = original,
[3] = 'Traducere:',
[4] = translation
})
end
function p.translation_license(frame)
return p._translation_license(getArgs(frame))
end
return p