<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://naija.elizia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3APrononciation</id>
	<title>Module:Prononciation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://naija.elizia.net/index.php?action=history&amp;feed=atom&amp;title=Module%3APrononciation"/>
	<link rel="alternate" type="text/html" href="http://naija.elizia.net/index.php?title=Module:Prononciation&amp;action=history"/>
	<updated>2026-10-19T13:04:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0-rc.0</generator>
	<entry>
		<id>http://naija.elizia.net/index.php?title=Module:Prononciation&amp;diff=274&amp;oldid=prev</id>
		<title>Root: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://naija.elizia.net/index.php?title=Module:Prononciation&amp;diff=274&amp;oldid=prev"/>
		<updated>2020-08-07T13:09:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:09, 7 August 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Root</name></author>
	</entry>
	<entry>
		<id>http://naija.elizia.net/index.php?title=Module:Prononciation&amp;diff=273&amp;oldid=prev</id>
		<title>Mediawiki&gt;Lepticed7 at 20:40, 23 July 2020</title>
		<link rel="alternate" type="text/html" href="http://naija.elizia.net/index.php?title=Module:Prononciation&amp;diff=273&amp;oldid=prev"/>
		<updated>2020-07-23T20:40:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local m_params = require(&amp;quot;Module:paramètres&amp;quot;)&lt;br /&gt;
local m_langues = require(&amp;quot;Module:langues&amp;quot;)&lt;br /&gt;
local m_bases = require(&amp;quot;Module:bases&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
local export = {}&lt;br /&gt;
&lt;br /&gt;
--- Page principale des annexes de prononciations&lt;br /&gt;
export.racine_pron = &amp;#039;Annexe:Prononciation&amp;#039;&lt;br /&gt;
&lt;br /&gt;
--- Retourne la page de l’annexe de prononciation pour une langue donnée.&lt;br /&gt;
--- @param lang_code string le code de langue&lt;br /&gt;
--- @return string|nil la page de prononciation si elle existe, nil sinon&lt;br /&gt;
function export.page_pron(lang_code)&lt;br /&gt;
  local lang_name = m_langues.get_nom(lang_code)&lt;br /&gt;
&lt;br /&gt;
  if lang_name then&lt;br /&gt;
    local pron_page = export.racine_pron .. &amp;#039;/&amp;#039; .. lang_name&lt;br /&gt;
    if m_bases.page_existe(export.racine_pron .. &amp;#039;/&amp;#039; .. lang_name) then&lt;br /&gt;
      return pron_page&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Met en forme une prononciation avec un lien vers l’annexe dédiée si elle existe.&lt;br /&gt;
--- Cette fonction destinée à être appelée par d’autres modules lua.&lt;br /&gt;
--- @param pron string la prononciation API ; si la valeur &amp;quot;-&amp;quot; est passé, la prononciation n’est pas affichée&lt;br /&gt;
--- @param lang_code string le code de la langue ; s’il est absent, un message d’erreur est affichée à la place de la prononciation et la page est catégorisée dans Wiktionnaire:Prononciations avec langue manquante&lt;br /&gt;
--- @param delimiters string les délimiteurs (&amp;quot;[]&amp;quot;, &amp;quot;//&amp;quot; ou &amp;quot;\\&amp;quot;) ; la valeur par défaut est &amp;quot;\\&amp;quot;&lt;br /&gt;
--- @param is_audio_linked boolean indique si un fichier audio est associé à la prononciation pour ajouter la catégorie adéquate&lt;br /&gt;
--- @return string la prononciation formatée&lt;br /&gt;
function export.lua_pron(pron, lang_code, delimiters, is_audio_linked)&lt;br /&gt;
  delimiters = delimiters or &amp;#039;\\\\&amp;#039; -- valeur par défaut&lt;br /&gt;
  is_audio_linked = is_audio_linked or false -- valeur par défaut&lt;br /&gt;
  local delimiter1 = string.sub(delimiters, 1, 1)&lt;br /&gt;
  local delimiter2 = string.sub(delimiters, 2, 2)&lt;br /&gt;
  local lang_name = m_langues.get_nom(lang_code)&lt;br /&gt;
  local current_page_title = mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
  if not lang_code or lang_code == &amp;#039;&amp;#039; or not lang_name then&lt;br /&gt;
    return m_bases.fait_categorie_contenu(&amp;quot;Wiktionnaire:Prononciations avec langue manquante&amp;quot;) .. [[&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;#039;&amp;#039;&amp;#039;Erreur sur la langue !&amp;#039;&amp;#039;&amp;#039;&amp;lt;/span&amp;gt;]]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  local text = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  -- Pas de prononciation donnée : invite + catégorie&lt;br /&gt;
  if not pron or pron == &amp;#039;&amp;#039; then&lt;br /&gt;
    -- Invitation à ajouter la prononciation&lt;br /&gt;
    text = (&amp;#039;&amp;lt;span title=&amp;quot;Prononciation à préciser&amp;quot;&amp;gt;&amp;#039; .. delimiter1 .. &amp;#039;&amp;lt;small&amp;gt;&amp;lt;span class=&amp;quot;plainlinks stubedit&amp;quot;&amp;gt;[&amp;#039;&lt;br /&gt;
        .. tostring(mw.uri.fullUrl(current_page_title.fullText, &amp;#039;action=edit&amp;#039;))&lt;br /&gt;
        .. &amp;#039; Prononciation ?]&amp;lt;/span&amp;gt;&amp;lt;/small&amp;gt;&amp;#039; .. delimiter2 .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
    -- Catégorisation de cette absence de prononciation&lt;br /&gt;
    local category_lang = lang_name and (&amp;#039;en &amp;#039; .. lang_name) or &amp;#039;sans langue précisée&amp;#039;&lt;br /&gt;
    local category_name = &amp;#039;Prononciations &amp;#039;&lt;br /&gt;
    if is_audio_linked then&lt;br /&gt;
      category_name = category_name .. &amp;#039;phonétiques&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    category_name = category_name .. &amp;#039; manquantes &amp;#039; .. category_lang&lt;br /&gt;
    local category = m_bases.fait_categorie_contenu(&amp;#039;Wiktionnaire:&amp;#039; .. category_name)&lt;br /&gt;
    if category then&lt;br /&gt;
      text = text .. category&lt;br /&gt;
    end&lt;br /&gt;
  elseif pron ~= &amp;#039;-&amp;#039; then&lt;br /&gt;
    -- Page d’aide de la prononciation dans la langue donnée&lt;br /&gt;
    local pron_page = export.page_pron(lang_code) or export.racine_pron&lt;br /&gt;
    -- On affiche la prononciation avec le lien vers la page d’aide&lt;br /&gt;
    text = &amp;#039;[[&amp;#039; .. pron_page .. &amp;#039;|&amp;lt;span class=&amp;quot;API&amp;quot; title=&amp;quot;Prononciation API&amp;quot;&amp;gt;&amp;#039; .. delimiter1 .. pron .. delimiter2 .. &amp;#039;&amp;lt;/span&amp;gt;]]&amp;#039;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Extrait les paramètres de l’objet frame.&lt;br /&gt;
--- Lance une erreur si les paramètres ne sont pas corrects, sauf si uniquement la langue est erronée ou absente.&lt;br /&gt;
--- @param frame table le 1er paramètre est la prononciation en API, le 2e le code de la langue&lt;br /&gt;
--- @return table|nil,boolean les paramètres si la langue est correcte, nil sinon ; un booléen indiquant si la langue est correctement renseignée&lt;br /&gt;
local function get_params(frame)&lt;br /&gt;
  local params = {&lt;br /&gt;
    [1] = { required = true, allow_empty = true },&lt;br /&gt;
    [2] = { required = true },&lt;br /&gt;
    [&amp;quot;pron&amp;quot;] = { alias_of = 1 },&lt;br /&gt;
    [&amp;quot;lang&amp;quot;] = { alias_of = 2 },&lt;br /&gt;
  }&lt;br /&gt;
  local args, success = m_params.process(frame:getParent().args, params, true)&lt;br /&gt;
  if success then&lt;br /&gt;
    return { args[1], args[2] }, true&lt;br /&gt;
  elseif args[1] == 2 and (args[2] == m_params.EMPTY_PARAM or args[2] == m_params.MISSING_PARAM) then&lt;br /&gt;
    return nil, false&lt;br /&gt;
  end&lt;br /&gt;
  error(args[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction qui récupère les paramètres de l’objet frame et retourne la pronoctiation formatée.&lt;br /&gt;
--- @param frame table le 1er paramètre est la prononciation en API, le 2e le code de la langue&lt;br /&gt;
--- @param delimiters string les délimiteurs (&amp;quot;[]&amp;quot;, &amp;quot;//&amp;quot; ou &amp;quot;\\&amp;quot;)&lt;br /&gt;
--- @return string la prononciation formatée&lt;br /&gt;
local function pronunciation(frame, delimiters)&lt;br /&gt;
  local args, success = get_params(frame)&lt;br /&gt;
  local api_pron = &amp;quot;&amp;quot;&lt;br /&gt;
  local lang_code = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  if success then&lt;br /&gt;
    api_pron = args[1]&lt;br /&gt;
    lang_code = args[2]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return export.lua_pron(api_pron, lang_code, delimiters)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction destinée à être utilisée directement depuis le modèle pron.&lt;br /&gt;
--- @param frame table le 1er paramètre est la prononciation en API, le 2e le code de la langue&lt;br /&gt;
function export.pron(frame)&lt;br /&gt;
  return pronunciation(frame, &amp;#039;\\\\&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction destinée à être utilisée directement depuis le modèle phon.&lt;br /&gt;
--- @param frame table le 1er paramètre est la prononciation en API, le 2e le code de la langue&lt;br /&gt;
function export.phon(frame)&lt;br /&gt;
  -- Prononciation entre crochets&lt;br /&gt;
  return pronunciation(frame, &amp;#039;[]&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction destinée à être utilisée directement depuis le modèle phono.&lt;br /&gt;
--- @param frame table le 1er paramètre est la prononciation en API, le 2e le code de la langue&lt;br /&gt;
function export.phono(frame)&lt;br /&gt;
  -- Prononciation entre barres obliques&lt;br /&gt;
  return pronunciation(frame, &amp;#039;//&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction destinée à être utilisée directement depuis le modèle écouter.&lt;br /&gt;
--- @param frame table Paramètres :&lt;br /&gt;
--- 1 = pays/région&lt;br /&gt;
--- 2 ou pron = prononciation en API&lt;br /&gt;
--- 3 ou lang = code ISO de la langue (obligatoire)&lt;br /&gt;
--- audio = nom du fichier audio (sans le préfixe File:)&lt;br /&gt;
--- titre = texte prononcé si différent du mot vedette&lt;br /&gt;
function export.pron_reg(frame)&lt;br /&gt;
  local params = {&lt;br /&gt;
    [1] = { default = &amp;#039;&amp;lt;small&amp;gt;(Région à préciser)&amp;lt;/small&amp;gt;&amp;#039; },&lt;br /&gt;
    [2] = {},&lt;br /&gt;
    [3] = { required = true },&lt;br /&gt;
    [&amp;quot;pron&amp;quot;] = { alias_of = 2 },&lt;br /&gt;
    [&amp;quot;lang&amp;quot;] = { alias_of = 3 },&lt;br /&gt;
    [&amp;quot;audio&amp;quot;] = {},&lt;br /&gt;
    [&amp;quot;titre&amp;quot;] = { default = mw.title.getCurrentTitle().text },&lt;br /&gt;
  }&lt;br /&gt;
  local args = m_params.process(frame:getParent().args, params)&lt;br /&gt;
  local country = args[1]&lt;br /&gt;
  local pron = args[2]&lt;br /&gt;
  local lang_code = args[3]&lt;br /&gt;
  local audio_file = args[&amp;quot;audio&amp;quot;]&lt;br /&gt;
  local title = args[&amp;quot;titre&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
  -- Génération du wikicode&lt;br /&gt;
  local text = country .. &amp;#039; : &amp;#039;&lt;br /&gt;
&lt;br /&gt;
  if pron or audio_file then&lt;br /&gt;
    if audio_file and audio_file ~= &amp;#039;&amp;#039; then&lt;br /&gt;
      text = text .. &amp;#039;écouter « &amp;#039; .. title&lt;br /&gt;
      if lang_code and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
        local lang_name = m_langues.get_nom(lang_code)&lt;br /&gt;
        if lang_name then&lt;br /&gt;
          text = text .. &amp;#039;[[Catégorie:Prononciations audio en &amp;#039; .. lang_name .. &amp;#039;]]&amp;#039;&lt;br /&gt;
        else&lt;br /&gt;
          text = text .. &amp;#039;[[Catégorie:Prononciations audio sans langue précisée]]&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
      text = text .. &amp;#039; &amp;#039; .. export.lua_pron(pron, lang_code, &amp;#039;[]&amp;#039;, true)&lt;br /&gt;
      text = text .. &amp;#039; »[[File:&amp;#039; .. audio_file .. &amp;#039;]]&amp;#039;&lt;br /&gt;
    else&lt;br /&gt;
      text = text .. export.lua_pron(pron, lang_code, &amp;#039;[]&amp;#039;, true)&lt;br /&gt;
    end&lt;br /&gt;
  else&lt;br /&gt;
    text = text .. &amp;#039;&amp;lt;small&amp;gt;merci de préciser une prononciation phonétique ou un fichier audio (voir la [[Modèle:écouter|notice]])&amp;lt;/small&amp;gt;&amp;#039;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- Fonction destinée à être utilisée directement depuis le modèle h aspiré.&lt;br /&gt;
--- Pour les paramètres, voir la doc du modèle h_aspiré (c&amp;#039;est un peu compliqué).&lt;br /&gt;
function export.h_aspire(frame)&lt;br /&gt;
  local params = {&lt;br /&gt;
    [&amp;quot;nocat&amp;quot;] = { type = &amp;quot;boolean&amp;quot; },&lt;br /&gt;
  }&lt;br /&gt;
  local args = m_params.process(frame:getParent().args, params)&lt;br /&gt;
  local nocat = args[&amp;quot;nocat&amp;quot;]&lt;br /&gt;
  local txt = &amp;#039;&amp;lt;sup style=&amp;quot;font-size:83.33%;line-height:1&amp;quot;&amp;gt;&amp;lt;small&amp;gt;([[h aspiré]])&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
  -- catégorisation si dans &amp;quot;principal&amp;quot; (namespace = 0)&lt;br /&gt;
  if mw.title.getCurrentTitle().namespace == 0 and not nocat then&lt;br /&gt;
    txt = txt .. &amp;#039;[[Catégorie:Termes en français à h aspiré]]&amp;#039;&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return txt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Mediawiki&gt;Lepticed7</name></author>
	</entry>
</feed>