def get_page(letter: str, transliteration: str, pron: str, type_: str): code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) chars = list(letter) etymology = '{{date|lang=hnn}}' if len(chars) == 2: syllable, diacritic = chars syllable_name = NAMES[syllable] diacritic_name = NAMES[diacritic] etymology += f" {{{{composé de|{syllable}|sens1=syllabe ''{syllable_name}''" \ f'|◌{diacritic}|sens2={diacritic_name}|lang=hnn|m=1}}}}.\n: ' template = f"""\ == {{{{caractère}}}} == {{{{Lang|hnn|'''{letter}'''}}}} # Lettre hanunóo ''{transliteration}''. {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|références}}}} === {blocks_list} == {{{{langue|hnn}}}} == === {{{{S|étymologie}}}} === : {etymology} {{{{ébauche-étym|hnn}}}} === {{{{S|lettre|hnn}}}} === {{{{Lang|hnn|'''{letter}'''|tr={transliteration}}}}} {{{{pron|{pron}|hnn}}}} # {type_.capitalize()} ''{transliteration}''. === {{{{S|voir}}}} === * {{{{WP|Hanunoo script|lang=en}}}} {{{{alphasyllabaire hanunóo}}}} """ return template
def get_page(letter, name): code_point = uu.get_codepoints(letter)[0] blocks_list = '\n'.join(models.get_models(letter, as_list=True)) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet phénicien}}}} |}} == {{{{caractère}}}} == '''{letter}''' # Lettre phénicienne {{{{lien|{name}|fr}}}}. {{{{lien|Unicode|fr}}}} : {code_point}. === {{{{S|voir aussi}}}} === * {{{{WP|Alphabet phénicien}}}} === {{{{S|références}}}} === {blocks_list} """ return template
def get_page(letter, gotic_name, name, transliteration, pron, index, index2, vowel, value): code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet gotique}}}} |}} == {{{{caractère}}}} == '''{letter}''' # Lettre gotique ''{{{{lien|{name}|conv}}}}''. {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|références}}}} === {blocks_list} == {{{{langue|got}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|got}}}} === {{{{S|lettre|got}}}} === {{{{lettre gotique|{letter}|{gotic_name}|{name}|{value}}}}} '''{letter}''' ''{transliteration}'' {{{{pron|{pron}|got}}}} # {{{{lien|{index}|dif={index.capitalize()}|fr}}}} lettre et {{{{lien|{index2}|fr}}}} {'voyelle' if vowel else 'consonne'} \ de l’alphabet {{{{lien|gotique|fr}}}}. """ return template
def get_character_section(asomtavruli, nuskhuri, mtavruli, mkhedruli, letter, name, additional): code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) l_type = letter_type(letter) if l_type == LETTER: alphabet = get_alphabet(asomtavruli, nuskhuri, mtavruli, mkhedruli, letter) definition = f"''{name.capitalize()}'', lettre{' additionnelle' if additional else ''} " \ f"de l’alphabet géorgien {{{{lien|{alphabet}|fr}}}}" elif l_type == ACCENTUATED: definition = name else: raise ValueError(f'Illegal entry type <{l_type}>.') return f"""\
def get_page(letter, thaana_name, name, trans, prons, index, typ, note, supp, etym): code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) trans_list = ', '.join([f"''{t}''" for t in trans]) pron_list = ' <small>ou</small> '.join([f'{{{{pron|{p}|dv}}}}' for p in prons]) if index is not None: index_t = nb.get_number_name(index, lang=nb.LANG_FR, ordinal=True, case=nb.FEMININE) index_t += ' voyelle ({{lien|diacritique|fr}})' if typ == 0 else ' consonne' if supp: index_t += ' supplémentaire' else: index_t = ('voyelle ({{lien|diacritique|fr}})' if typ == 0 else 'consonne') if supp: index_t += ' supplémentaire' if note != '': note = f""" ==== {{{{S|notes}}}} ==== : {note} """ etym = '{{ébauche-étym|dv}}' if etym == '' else f'De l’arabe [[{etym}]].' char_template, dv_template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet thâna}}}} |}} == {{{{caractère}}}} == '''{letter}''' # Lettre {{{{lien|thâna|fr}}}} ''{name}''. {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|références}}}} === {blocks_list} * {{{{R:Omniglot Thâna}}}} """, f""" == {{{{langue|dv}}}} == === {{{{S|étymologie}}}} === : {etym} === {{{{S|lettre|dv}}}} === '''{letter}''' {trans_list} {pron_list} # ''{name.capitalize()}'' ({{{{lien|{thaana_name}|dv}}}}), {index_t} de l’alphabet thâna. {note} === {{{{S|références}}}} === * {{{{R:Omniglot Thâna}}}} """ return char_template, dv_template
def get_page(letter, maj, name, trans, french_name, cyr_equiv, lat_equiv, prons, index, index2, vowel, value): letter = letter.upper() if maj else letter.lower() code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) prons_list = ' <small>ou</small> '.join([f'{{{{pron|{pron}|cu}}}}' for pron in prons]) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet glagolitique}}}} |}} == {{{{caractère}}}} == {{{{casse|{letter.lower()}|{letter.upper()}}}}} '''{letter}''' # Lettre {{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}} glagolitique {{{{lien|{french_name}|fr}}}} \ ({{{{lien|{name}|cu}}}}, ''{trans}''). {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|voir aussi}}}} === * {{{{WP}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Glagolitique}}}} {blocks_list} * {{{{R:Unicode Table|{letter}}}}} == {{{{langue|cu}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|cu}}}} === {{{{S|lettre|cu}}}} === {{{{casse|{letter.lower()}|{letter.upper()}}}}} {{{{lettre glagolitique|{letter}|{name}|{trans}|{cyr_equiv[0]}|{lat_equiv}|{value}\ {'|equiv-c2=' + cyr_equiv[1] if len(cyr_equiv) != 1 else ''}}}}} '''{letter}''' ''{lat_equiv.capitalize() if maj else lat_equiv.lower()}'' {prons_list} # [[{french_name}#fr|{french_name.capitalize()}]], {index} lettre et {index2} {'voyelle' if vowel else 'consonne'} \ de l’alphabet {{{{lien|glagolitique|fr}}}} ({{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}}). === {{{{S|voir aussi}}}} === * {{{{WP}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Glagolitique}}}} * {{{{R:Unicode Table|{letter}}}}} """ return template
def get_page(alphabet_base_letter, base_letter, string, french_letter_name, index, index2, vowel, base_diacritic_names, maj, ligature, links, sorting_key): base_letter = base_letter.title() if maj else base_letter.lower() string = string.title() if maj else string.lower() ligature = ligature.upper() if maj else ligature.lower() code_points = ' '.join(uu.get_codepoints(string)) base_diacritic_names = '|'.join(base_diacritic_names) links = ' '.join([f'{{{{lien|{link}|fr}}}}' for link in links]) blocks_list = '\n'.join(models.get_models(string, as_list=True)) if ligature and not links: definition = f'[[{ligature[0]}]]-[[{ligature[1]}]] ligaturée ' \ f'({ligature[1]} dans l’{ligature[0]})' elif ligature: definition = f'[[{string[0]}]]' elif links: definition = f'[[{base_letter}]]' else: definition = f'{{{{lien|{french_letter_name}|fr}}}}. {index.capitalize()} lettre et {index2} ' \ f'{"voyelle" if vowel else "consonne"} de l’{{{{lien|alphabet grec|fr}}}}' case = f'{string.lower()}|{string.title()}' if ligature or sorting_key else '' if len(links) != 0: definition += ' ' + links template = f"""{{{{voir/{(base_letter if not ligature else ligature).lower()}}}}} {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet grec|{alphabet_base_letter.lower()}|{base_diacritic_names}}}}} |}} == {{{{caractère}}}} == {{{{casse{'|' + case if case else ''}}}}} '''{string}''' # Lettre {{{{lien|{'majuscule' if maj else 'minuscule'}|fr}}}} grecque {definition}. \ {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|voir aussi}}}} === * {{{{WP}}}} * {{{{WV|Grammaire/Grec}}}} === {{{{S|références}}}} === {blocks_list} """ if sorting_key: template += f'\n{{{{clé de tri|{(alphabet_base_letter if not ligature else ligature).lower()}}}}}\n' return template
def get_page(letter, name): code_point = uu.get_codepoints(letter)[0] blocks_list = '\n'.join(models.get_models(letter, as_list=True)) template = f"""\ == {{{{caractère}}}} == '''{letter}''' # {name}. {{{{lien|Unicode|fr}}}} : {code_point}. === {{{{S|références}}}} === {blocks_list} * {{{{R:Unicode Table|{letter}}}}} [[Catégorie:Syllabaires autochtones canadiens]] """ return template
def get_page(letter, maj, armenian_name, names, transliterations, prons, index, index2, vowel, value): letter = letter.upper() if maj else letter.lower() code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) names_list = '/'.join([f"''{name}''" for name in names]) transliterations = ', '.join( [f"''{t.upper() if maj else t.lower()}''" for t in transliterations]) prons_list = ' <small>ou</small> '.join( [f'{{{{pron|{pron}|hy}}}}' for pron in prons]) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet arménien}}}} |}} == {{{{caractère}}}} == {{{{casse}}}} '''{letter}''' # Lettre {{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}} arménienne {names_list}. {{{{lien|Unicode|fr}}}} : \ {code_points}. === {{{{S|voir aussi}}}} === * {{{{WP}}}} === {{{{S|références}}}} === {blocks_list} == {{{{langue|hy}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|hy}}}} === {{{{S|lettre|hy}}}} === {{{{lettre arménienne|{letter}|{armenian_name}|{'/'.join(names)}|{value}}}}} '''{letter}''' {transliterations} {prons_list} # {index.capitalize()} lettre et {index2} {'voyelle' if vowel else 'consonne'} de l’alphabet {{{{lien|arménien|fr}}}} \ ({{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}}). === {{{{S|voir aussi}}}} === * {{{{WP}}}} """ return template
def get_page(letter, name): code_point = uu.get_codepoints(letter)[0] template = f"""\ == {{{{caractère}}}} == '''{letter}''' # ''{{{{lien|{name}|en}}}}'', lettre de l’[[alphabet shavien]]. [[Unicode#fr|Unicode]] : {code_point}. === {{{{S|voir aussi}}}} === * {{{{WP|Alphabet shavien}}}} {{{{alphabet shavien}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Shavien}}}} * {{{{R:Bloc Unicode}}}} """ return template
def get_page(letter, trans, maj): letter = letter.upper() if maj else letter.lower() code_point = uu.get_codepoints(letter)[0] block = models.get_models(letter, as_list=True)[0] template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet cherokee}}}} |}} == {{{{caractère}}}} == {{{{casse|{letter.lower()}|{letter.upper()}}}}} '''{letter}''' # Lettre {{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}} {{{{lien|cherokee|fr}}}} ''{name}''. \ {{{{lien|Unicode|fr}}}} : {code_point}. === {{{{S|voir aussi}}}} === * {{{{WP|Syllabaire cherokee}}}} === {{{{S|références}}}} === * {{{{R:Everson 2013 Cherokee}}}} * {{{{R:Omniglot Cherokee}}}} {block} == {{{{langue|chr}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|chr}}}} === {{{{S|lettre|chr}}}} === {{{{casse|{letter.lower()}|{letter.upper()}}}}} '''{letter}''' ''{trans.capitalize() if maj else trans}'' {{{{pron|{get_prons(trans)}|chr}}}} # Lettre ''{trans}'' de l’alphabet cherokee ({{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}}). === {{{{S|voir aussi}}}} === * {{{{WP|Syllabaire cherokee}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Cherokee}}}} * {{{{R:Everson 2013 Cherokee}}}} """ return template
def get_page(alphabet_base_letter, base_letter, string, letter_name, base_diacritic_names, maj, ligature, links, sorting_key): base_letter = base_letter.upper() if maj else base_letter.lower() string = string.upper() if maj else string.lower() ligature = ligature.upper() if maj else ligature.lower() code_points = ' '.join(uu.get_codepoints(string)) base_diacritic_names = '|'.join(base_diacritic_names) raw_links = ' '.join(links) links = ' '.join([f'{{{{lien|{link}|fr}}}}' for link in links]) blocks_list = '\n'.join(models.get_models(string, as_list=True)) if ligature and not links: definition = f'[[{ligature[0]}]]-[[{ligature[1]}]] ligaturée ' \ f'({ligature[1]} dans l’{ligature[0]})' else: definition = f'[[{base_letter}]]' if not ligature else f'[[{string[0]}]]' case = f'{string.lower()}|{string.upper()}' if ligature or sorting_key else '' if len(links) != 0: definition += ' ' + links template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet cyrillique|{alphabet_base_letter.lower()}|{base_diacritic_names}}}}} |}} == {{{{caractère}}}} == {{{{casse{'|' + case if case else ''}}}}} {{{{lettre cyrillique police|{string}|{letter_name.lower()} {raw_links}}}}} '''{string}''' # Lettre {{{{lien|{'majuscule' if maj else 'minuscule'}|fr}}}} cyrillique {definition}. \ {{{{lien|Unicode|fr}}}} : {code_points}. === {{{{S|voir aussi}}}} === * {{{{WP}}}} === {{{{S|références}}}} === {blocks_list} """ if sorting_key: template += f'\n{{{{clé de tri|{(alphabet_base_letter if not ligature else ligature).lower()}}}}}\n' return template
def get_page(letter, maj, name, transliteration, prons, index, index2, vowel, value): letter = letter.upper() if maj else letter.lower() code_point = uu.get_codepoints(letter)[0] blocks_list = '\n'.join(models.get_models(letter, as_list=True)) prons_list = ' <small>ou</small> '.join([f'{{{{pron|{pron}|cop}}}}' for pron in prons]) index = numbers_.get_number_name(index, numbers_.LANG_FR, ordinal=True, case=numbers_.FEMININE).capitalize() index2 = numbers_.get_number_name(index2, numbers_.LANG_FR, ordinal=True, case=numbers_.FEMININE) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet copte}}}} |}} == {{{{caractère}}}} == {{{{casse|{letter.lower()}|{letter.upper()}}}}} '''{letter}''' # Lettre {{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}} copte ''{name}''. {{{{lien|Unicode|fr}}}} : {code_point}. === {{{{S|voir aussi}}}} === * {{{{WP|Alphabet copte}}}} === {{{{S|références}}}} === {blocks_list} == {{{{langue|cop}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|cop}}}} === {{{{S|lettre|cop}}}} === {{{{lettre copte|{letter}|{name}|{value}}}}} '''{letter}''' ''{transliteration}'' {prons_list} # {index} lettre et {index2} {'voyelle' if vowel else 'consonne'} de l’alphabet {{{{lien|copte|fr}}}} \ ({{{{lien|m{'aj' if maj else 'in'}uscule|fr}}}}). === {{{{S|voir aussi}}}} === * {{{{WP|Alphabet copte}}}} """ return template
def get_page2(consonant, vowel, trans_c, trans_v, prons_c, prons_v, note, def2): def prod(l1, l2): return [''.join(v) for v in it.product(l1, l2)] letter = consonant + vowel code_points = ' '.join(uu.get_codepoints(letter)) blocks_list = '\n'.join(models.get_models(letter, as_list=True)) trans_list = ', '.join([f"''{t}''" for t in prod(trans_c, trans_v)]) pron_list = ' <small>ou</small> '.join([f'{{{{pron|{p}|dv}}}}' for p in prod(prons_c, prons_v)]) if def2 != '': def2 = f""" === {{{{S|nom|dv}}}} === '''{letter}''' {trans_list} {pron_list} # {def2} """ if note != '': note = f""" ==== {{{{S|notes}}}} ==== : {note} """ return f"""\
def get_page(letter, name, transliterations, prons, aicme): code_point = uu.get_codepoints(letter)[0] block = models.get_models(letter, as_list=True)[0] trans_list = ', '.join([f"''{trans}''" for trans in transliterations]) prons_list = ' <small>ou</small> '.join( [f'{{{{pron|{pron}|pgl}}}}' for pron in prons]) template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet oghamique}}}} |}} == {{{{caractère}}}} == '''{letter}''' # Lettre ogham ''[[{name}]]''{{{{réf|1}}}}. {{{{lien|Unicode|fr}}}} : {code_point}. === {{{{S|références}}}} === * {{{{RÉF|1}}}} {{{{R:Ogham_Liberty}}}} {block} == {{{{langue|pgl}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|pgl}}}} === {{{{S|lettre|pgl}}}} === '''{letter}''' {trans_list}{{{{réf|2}}}} {prons_list}{{{{réf|3}}}} # Lettre ''{name}''{{{{réf|4}}}} de l’alphabet {{{{lien|ogham|fr}}}}. \ Elle fait partie de l’{{{{lien|aicme|fr}}}} {aicme}. === {{{{S|références}}}} === * {{{{RÉF|2}}}} {{{{R:Summerlands Ogham}}}} * {{{{RÉF|3}}}} {{{{R:Omniglot Ogham}}}} * {{{{RÉF|4}}}} {{{{R:Ogham_Liberty}}}} """ return template
def get_page(letter, letter_name, trans, pron): code_points = ' '.join(uu.get_codepoints(letter)) transcriptions = ', '.join([f'{{{{graphie|{t}}}}}' for t in trans.split(';')]) return f"""\
def get_page(letter, trans, typ, kernel, diacritic, vowel, image='', insert=''): code_point_list = ' '.join(uu.get_codepoints(letter)) block_list = '\n'.join(models.get_models(letter, as_list=True)) is_symbol = typ == 'sm' is_diacritic = typ == 'd' is_vowel = typ == 'v' is_composed = kernel is not None typ, fem = { 'v': ('Voyelle', True), 'd': ('Diacritique voyelle', True), 'c': ('Consonne', True), 'cg': ('Consonne {{lien|grantha|fr}}', True), 's': ('Syllabe', True), 'sg': ('Syllabe {{lien|grantha|fr}}', True), 'sm': ('Symbole', False), }[typ] pron_list = ' <small>ou</small> '.join([f'{{{{pron|{p}|ta}}}}' for p in get_prons(trans)]) if not is_symbol else '' if is_symbol and ';' in trans: trans = "'' ou ''".join(trans.split(';')) compos = '' if is_composed: compos = f' composée de la consonne [[{kernel}]] et de la voyelle [[{vowel}]]' + \ (f' ([[{diacritic}]])' if diacritic is not None else '') compl = '' if is_diacritic: compl = f' (forme indépendante : [[{vowel}]])' elif is_vowel and diacritic is not None: compl = f' (forme diacritique : [[{diacritic}]])' if image != '': image = f'\n[[{image}]]' if insert != '': insert = f'\n{insert}\n' template = f"""\ {{|width="100%" border="0" cellspacing="0" cellpadding="0" style="margin:0;margin-bottom:0.5em;background:transparent" |-valign="top" |style="padding-right:0.5em"| __TOC__ | {{{{alphabet tamoul}}}} |}} == {{{{caractère}}}} == '''{letter}''' # {typ} {{{{lien|tamoul{'|dif=tamoule' if fem else ''}|fr}}}} ''{trans}''{compl}{compos}. \ {{{{lien|Unicode|fr}}}} : {code_point_list}. === {{{{S|voir aussi}}}} === * {{{{WP|Alphasyllabaire tamoul}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Tamoul}}}} {block_list} == {{{{langue|ta}}}} == === {{{{S|étymologie}}}} === : {{{{ébauche-étym|ta}}}} === {{{{S|lettre|ta}}}} ==={image} '''{letter}'''{f" ''{trans}'' {pron_list}" if not is_symbol else ''} # {typ} ''{trans}''{compl}{compos}. {insert} === {{{{S|voir aussi}}}} === * {{{{WP|Alphasyllabaire tamoul}}}} === {{{{S|références}}}} === * {{{{R:Omniglot Tamoul}}}} """ return template
def get_page(letter, name, prons, index): code_points = ' '.join(uu.get_codepoints(letter)) prons_list = ' <small>ou</small> '.join([f'{{{{pron|{pron}|xag}}}}' for pron in prons]) return f"""\