Sari la conținut

Modul:Proofreadpage index template/config

local function any_case(str)
	return str:gsub('.', function (chr)
		if chr:match('%a') then -- letters
			return '[' .. chr:lower() .. chr:upper() .. ']'
		else
			return chr -- leave as-is
		end
	end)
end
return {
	['defaults'] = {
		['Source'] = '_empty_',
	},
	['pagelist'] =  {
		['pages'] = {
			['txt'] = 'Pagini'
		},
		['legend'] = {
			['txt'] = '(pentru legendă vezi [[Ajutor:Starea paginilor|Starea paginilor]])'
		}
	},
	['cover'] = {
		['width'] = '250px',
		['image'] = 'File:Placeholder book.svg'
	},
	['missing_heading_id'] = function (id)
		return 'Nu se poate găsi denumirea pentru ID: ' .. id
	end,
	['headings'] = {
		['title'] = {
			['txt'] = 'Titlu'
		},
		['progress'] = {
			['txt'] = 'Progres'
		},
		['transclusion'] = {
			['txt'] = 'Transcludere'
		},
		['validation_date'] = {
			['txt'] = 'Validat pe'
		},
		['source'] = {
			['txt'] = 'Sursă'
		},
		['place'] = {
			['txt'] = 'Loc'
		},
		['year'] = {
			['txt'] = 'An'
		},
		['publisher'] = {
			['txt'] = 'Editură'
		},
		['author'] = {
			['txt'] = 'Autor'
		},
		['editor'] = {
			['txt'] = 'Editor'
		},
		['translator'] = {
			['txt'] = 'Traducător'
		},
		['illustrator'] = {
			['txt'] = 'Ilustrator'
		},
		['volumes'] = {
			['txt'] = 'Volume'
		},
		['isbn'] = {
			['txt'] = 'ISBN'
		},
		['oclc'] = {
			['txt'] = 'OCLC'
		},
		['lccn'] = {
			['txt'] = 'LCCN'
		},
		['ark'] = {
			['txt'] = 'ARK'
		},
		--[=[
		['National Archives'] = {
			['txt'] = 'Arhivele Naționale (SUA)'
		},
		]=]
		['doi'] = {
			['txt'] = 'DOI'
		}
	},
	['status'] = {
		['T'] = {
			['cat'] = 'Index validat',
			['txt'] = 'Terminat—Toate paginile lucrării propriu-zise sunt validate',
		},
		['V'] = {
			['cat'] = 'Index verificat',
			['txt'] = 'Verificat—Toate paginile lucrării propriu-zise sunt verificate, dar nu toate sunt validate',
		},
		['C'] = {
			['cat'] = 'Index neverificat',
			['txt'] = 'Trebuie să fie transcris și verificat',
		},
		['MS'] = {
			['cat'] = 'Index - gata pentru transcludere',
			['txt'] = 'Pregătit pentru transcludere',
		},
		['OCR'] = {
			['cat'] = 'Index - strat text solicitat',
			['txt'] = 'Fișierul sursă are nevoie de un strat de text OCR',
		},
		['L'] = {
			['cat'] = 'Index - fișier de reparat',
			['txt'] = 'Fișierul sursă trebuie reparat înainte de transcriere',
			['error'] = true,
		},
		['X'] = {
			['cat'] = 'Index - fișier de verificat',
			['txt'] = 'Creați o listă de pagini pentru fișierul sursă înainte de a începe transcrierea (pentru a verifica că fișierul este corect)',
			['error'] = true
		},
		['_missing'] = {
			['cat'] = 'Index - progres necunoscut',
			['txt'] = 'Progres necunoscut (eroare de format)',
			['error'] = true,
		},
		['_default'] = {
			['cat'] = 'Index - progres necunoscut',
			['txt'] = function (index_status)
				return 'Progres necunoscut: ' .. index_status .. ' (eroare de format)'
			end,
			['error'] = true,
		}
	},
	['transclusion'] = {
		['yes'] = {
			['cat'] = 'Complet transclus',
			['txt'] = 'Complet transclus',
			['help'] = 'Lucrarea este complet transclusă, inclusiv prima și ultima pagină și imagini'
		},
		['notimg'] = {
			['cat'] = 'Imaginile nu au fost complet transcluse',
			['txt'] = 'Imaginile nu au fost complet transcluse',
			['help'] = 'Lucrarea este complet transclusă, dar unele imagini lipsesc încă sau trebuie îmbunătățite',
		},
		['notadv'] = {
			['cat'] = 'Reclamele nu au fost transcluse',
			['txt'] = 'Reclamele nu au fost transcluse',
			['help'] = 'Corpul principal al operei este transclus în mod corespunzător, dar materialul publicitar de pe primele sau ultimele pagini nu'
		},
		['held'] = {
			['cat'] = 'Transcludere pe pauză',
			['txt'] = 'Transcludere pe pauză',
			['help'] = 'Există o problemă cu transcluderea lucrării (care ar trebui explicată pe pagina de discuție)'
		},
		['check'] = {
			['cat'] = 'Transcluderea trebuie verificată',
			['txt'] = 'Transcluderea trebuie verificată',
			['help'] = 'Transcluderea lucrării este incompletă sau necesită verificare'
		},
		['no'] = {
			['cat'] = 'Indexul nu a fost transclus',
			['txt'] = 'Indexul nu a fost transclus sau revizuit',
			['help'] = 'Această lucrare nu este transclusă sau nu a fost revizuită pentru transcludere'
		},
		['_missing'] = {
			['cat'] = 'Indexul nu a fost transclus',
			['txt'] = 'Starea transcluderii lipsește (eroare de format)',
			['error'] = true,
		},
		['_default'] = {
			['cat'] = 'Indexul nu a fost transclus',
			['txt'] = function (index_status)
				return 'Starea transcluderii este necunoscută: ' .. index_status .. ' (eroare de format)'
			end,
			['error'] = true,
		}
	},
	['language_cats'] = {
		['single'] = function(lang)
			return 'Pagini index ale lucrărilor în original în ' .. (lang or 'o limbă necunoscută')
		end,
		['multi'] = 'Pagini de index ale lucrărilor în mai multe limbi în original'
	},
	['cover_cats'] = {
		['file_types'] = {
			['jpg'] = 'image',
			['png'] = 'image',
			['gif'] = 'image',
			['tif'] = 'image',
			['ogg'] = 'audiovisual',
			['ogv'] = 'audiovisual',
			['webm'] = 'audiovisual',
			['_empty_'] = 'unknown',
			['pdf'] = 'multipage',
			['djvu'] = 'multipage'
		},
		['image'] = 'Indexuri bazate pe imagini',
		['audiovisual'] = 'Indexuri bazate pe conținut audiovizual',
		['unknown'] = 'Indexuri de tip necunoscut',
		['missing'] = 'Indexuri cu fișiere lipsă',
		['fullspec'] = 'Indexuri care nu sunt bazate pe imagini dar care au o imagine de copertă'
	},
	['validation_cats'] = {
		['dated'] = function(vdate)
			return 'Indexuri validate pe ' .. vdate
		end,
		['undated'] = 'Indexuri validate fără dată'
	},
	['indicators'] = {
		['pagegame'] = {
			['name'] = 'WS Page Game',
			['image'] = 'File:OOjs UI icon page number.svg',
			['link'] = function(args)
				return tostring(mw.uri.fullUrl('toolforge:ws-page-game', {['wikisource'] = 'ro', ['index'] = args.fileTitle.rootText, ['lang'] = 'ro'}))
			end,
			['caption'] = 'Wikisource Page Game (construiește o listă de numere de pagini pas cu pas)'
		},
		['purge'] = {
			['name'] = 'purge file',
			['image'] = 'File:OOjs UI icon reload.svg',
			['link'] = function(args)
				return tostring(mw.uri.fullUrl('commons:File:' .. args.fileTitle.rootText, {['action'] = 'purge'}))
			end,
			['caption'] = 'Curățați cache-ul fișierului'
		},
		['book2scroll'] = {
			['name'] = 'book2scroll',
			['image'] = 'File:Library-logo.svg',
			['link'] = function(args)
				return tostring(mw.uri.fullUrl('toolforge:book2scroll', {['lang'] = 'en', ['file'] = mw.uri.encode(args.fileTitle.rootText)}))
			end,
			['caption'] = 'Deschide în Book2Scroll'
		},
		['bookreader'] = {
			['name'] = 'bookreader',
			['image'] = 'File:BookReader-favicon.svg',
			['link'] = function(args)
				return tostring(mw.uri.fullUrl('toolforge:bookreader/en/' .. mw.uri.encode(args.fileTitle.rootText)))
			end,
			['caption'] = 'Deschide fișierul în BookReader'
		},
		['validated'] = {
			['name'] = 'validated-index-date',
			['image'] = 'File:Yes Check Circle.svg',
			['link'] = function (args)
				local vdate = args['DATA_VALIDĂRII']
				return vdate and tostring(mw.uri.fullUrl('Categorie:Indexuri validate pe ' .. vdate)) or ''
			end,
			['caption'] = function (args)
				local vdate = args['DATA_VALIDĂRII']
				return vdate and 'Validat pe ' .. vdate or nil
			end,
			['alt'] = 'Pagină de index validată.',
			['width'] = '15px',
			['include'] = function (args)
				return args['DATA_VALIDĂRII'] ~= nil
			end
		}
	},
	['indicator_defaults'] = {
		['width'] = '20px',
		['include'] = function (args)
			return true
		end
	},
	['url_gens'] = {
		['isbn'] = function(id, text)
			return require('Modul:ISBN')._ISBN({id})
		end,
		['oclc'] = function(id, text)
			return '[https://www.worldcat.org/oclc/' .. mw.uri.encode(id, 'PATH') .. ' ' .. text .. ']'
		end,
		['ark'] = function(id, text)
			return '[https://n2t.net/' .. mw.uri.encode(id, 'QUERY') .. ' ' .. text .. ']'
		end,
		['doi'] = function(id, text)
			return '[https://doi.org/' .. mw.uri.encode(id, 'PATH') .. ' ' .. text .. ']'
		end
	},
	['talkremarks'] = {
		['text'] = function(args)
			return 'Este posibil ca anumite reguli de formatare specifice acestei lucrări să fi fost deja stabilite. Verificați [[' .. args.talkPageTitle.prefixedText .. '|pagina de discuție a acestui Index]] și urmați convențiile stabilite acolo.'
		end,
		['cat'] = 'Pages using index talk remarks with notes parameter',
		['keywords'] = {
			{
				['pattern'] = any_case('notes?'),
				['alone'] = true
			},
			{
				['pattern'] = any_case('quick notes?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('proofr?e?a?d?ing notes?'), -- proofreading notes, proofing note, &c
				['alone'] = false
			},
			{
				['pattern'] = any_case('style notes?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('layout notes?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('formatting conventions?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('formatt?i?n?g?'), -- formatting, format
				['alone'] = true
			},
			{
				['pattern'] = any_case('conventions?'),
				['alone'] = true
			},
			{
				['pattern'] = any_case('layouts?'),
				['alone'] = true
			},
			{
				['pattern'] = any_case('quotes'),
				['alone'] = true
			},
			{
				['pattern'] = any_case('quotation marks'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('typography'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('spelling'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('style guide'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('guidelines?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('missing pages?'),
				['alone'] = false
			},
			{
				['pattern'] = any_case('long[ %-]s'), -- of course
				['alone'] = true
			},
		},
		['timestamp'] = {
			['pattern'] = '%(UTC%)',
			['text'] = '(UTC)'
		}
	}
}