This module will generate entry names for text in the Syriac script. It is used to generate entry names for Assyrian Neo-Aramaic, Western Neo-Aramaic, Chaldean Neo-Aramaic, and Turoyo. The module should preferably not be called directly from templates or other modules. To use it from a template, use {{entryname}}. Within a module, use Module:languages#Language:makeEntryName.

For testcases, see Module:Syrc-entryname/testcases.


makeEntryName(text, lang, sc)
Generates an entry name for a given piece of text written in the script specified by the code sc, and language specified by the code lang.
When entry name generation fails, returns nil.

local export = {}

local u = mw.ustring.char

function export.makeEntryName(text, lang, sc)
	-- tilde, macron, dot above, diaeresis, dot below, breve below, tilde below, macron below, superscript aleph, pthaha, zqapha, rbasa, zlama, hbasa, esasa, rwaha, feminine dot, qushshaya
	local replacements = {
		u(0x303), u(0x304), u(0x307), u(0x308), u(0x323), u(0x32E), u(0x330), u(0x331), u(0x711), "[" .. u(0x730) .. "-" .. u(0x74A) .. "]"

	for _, replacement in ipairs(replacements) do
		text = mw.ustring.gsub(text, replacement, "")

	return text

return export