Modulo:Cinese

Da Wikizionario, il dizionario a contenuto aperto.
Jump to navigation Jump to search

Questo modulo contiene varie funzioni utili alla gestione dei lemmi in lingua cinese; tali funzioni possono essere impiegate direttamente in un template o richiamate da altri moduli.

La funzione nodiacritic elimina i diacritici dei toni da una parola in pinyin; ad es. scrivere {{#invoke:Cinese|nodiacritic|hànyǔ}} restituisce hanyu. La funzione è richiamata dal Modulo:Trascrizione (cui si appoggia il Template:-trascrizione-) per ordinare alfabeticamente i lemmi in pinyin.


local p = {}
-- rimuove i diacritici dal pinyin
local dp={
	['ā']='a',['á']='a',['ǎ']='a',['à']='a',
	['ō']='o',['ó']='o',['ǒ']='o',['ò']='o',
	['ē']='e',['é']='e',['ě']='e',['è']='e',
	['ī']='i',['í']='i',['ǐ']='i',['ì']='i',
	['ū']='u',['ú']='u',['ǔ']='u',['ù']='u',
	['ǖ']='ü',['ǘ']='ü',['ǚ']='ü',['ǜ']='ü'
};

function p.nodiacritic(pinyin)
	if type(pinyin) == "table" then
	pinyin = pinyin.args[1]
	end
	return (mw.ustring.gsub(pinyin, '.', dp))
end
return p