Module:API
Apparence
[voir] [modifier] [historique] [purger]
Ce module regroupe des fonctions liés à l'alphabet phonétique international.
Utilisation
Fonctions exportables :
mapi( frame )
– retourne un la liste des symbole API fourni en paramètres, avec lien vers la page correspondant à chaque symbole et si possible un exemple en infobulle.msapi()
– retourne entre crochet la fonction mapi.
Autres fonctions :
symbolWithExemple( symbol )
– retourne le symbole API avec si possible un exemple en infobulle (span avec title)symbolWithLink( symbol )
– retourne le symbole API avec lien vers la page correspondant au symbole et si possible un exemple en infobulle (span avec title)separateSymbols( args )
– si args n'a qu'un seul paramètre, sépare les symboles API en autant de paramètre.
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
Module:API/Infobulle
– liste des exemples en infobulle.Module:Outils
– fonctions extractArgs et trim.
Modèles appelant directement ce module :
Exemples
{{#invoke:API|mapi|m|ɛ|ʁ|s|i| |b|i|ɛ̃}}
→ mɛʁsi biɛ̃{{#invoke:API|mapi|mɛʁsi biɛ̃}}
→ mɛʁsi biɛ̃{{#invoke:API|msapi|m|ɛ|ʁ|s|i| |b|i|ɛ̃}}
→ [mɛʁsi biɛ̃]{{#invoke:API|msapi|mɛʁsi biɛ̃}}
→ [mɛʁsi biɛ̃]
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local API = { }
local Outils = require ( 'Module:Outils' )
local exempleTable = {
['b'] = "[b] 'b' dans 'beau'",
['d'] = "[d] 'd' dans 'doux'",
['f'] = "[f] 'f' dans 'fête'",
['g'] = "[g] 'g' dans 'gain'",
['k'] = "[k] 'c' dans 'cabas'",
['l'] = "[l] 'l' dans 'loup'",
['m'] = "[m] 'm' dans 'mou",
['n'] = "[n] 'n' dans 'nous'",
['ɲ'] = "[ɲ] 'gn' dans 'agneau'",
['ŋ'] = "[ŋ] 'ng' dans 'parking'",
['p'] = "[p] 'p' dans 'passé",
['ʁ'] = "[ʁ] 'r' dans 'roue'",
['s'] = "[s] 's' dans 'sa",
['ʃ'] = "[ʃ] 'ch' dans 'chou'",
['t̪'] = "[t̪] 't' dans 'tous",
['v'] = "[v] 'v' dans 'vous",
['z'] = "[z] 'z' dans 'zéro",
['ʒ'] = "[ʒ] 'j' dans 'joue'",
['j'] = "[j] 'y' dans 'payer', 'll' dans 'fille'",
['w'] = "[w] 'w' dans 'web', 'ou' dans 'oui'",
['ɥ'] = "[ɥ] 'u' dans 'huit",
['a'] = "[a] 'a' dans 'patte'",
['ɑ'] = "[ɑ] 'a' dans 'pâte'",
['e'] = "[e] 'é' dans 'clé'",
['ɛ'] = "[ɛ] 'è' dans 'mère",
['ɛː']= "[ɛː] 'è' dans 'fête'",
['ə'] = "[ə] 'ə' dans 'repeser",
['i'] = "[i] 'i' dans 'si'",
['œ'] = "[œ] 'œ' dans 'sœur'",
['ø'] = "[ø] 'eu' dans 'ceux'",
['o'] = "[o] 'o' dans 'sot'",
['ɔ'] = "[ɔ] 'o' dans 'sort'",
['u'] = "[u] 'ou' dans 'coup'",
['y'] = "[y] 'u' dans 'tu'",
['ɑ̃'] = "[ɑ̃] 'en' dans 'vent'",
['ɛ̃'] = "[ɛ̃] 'in' dans 'vin'",
['œ̃'] = "[œ̃] 'un' dans 'brun'",
['ɔ̃'] = "[ɔ̃] 'on' dans 'son'",
--[''] = ""
}
local ipaFonts = "'Segoe UI'," -- Widonws Vista, 7, 8
.. "'DejaVu Sans'," -- Most linux, OpenOffice, LibreOffice
.. "'Lucida Grande'," -- MacOsX
.. "'Lucida Sans Unicode'," -- Windows XP (but lack U+203F & U+035C)
.. "'Arial Unicode MS'," -- MS Office (provides U+203F & U+035C to Windows XP users)
.. "'Hiragino Kaku Gothic Pro'," -- ios 3+
.. "'Bitstream Vera Sans'," -- Most UNIX
.. "sans-serif" -- default, Android.
local function symbolWithExemple( symbol )
if type( symbol ) == 'string' then
local title = exempleTable[ Outils.trim( symbol ) ]
local result
if title then
result = '<span title="' .. title ..'">' .. symbol .. '</span>'
else
result = symbol
end
return result
end
end
local function symbolWithLink( symbol )
if Outils.trim( symbol ) then
return '[[API ' .. symbol .. '|'.. symbolWithExemple( symbol ) .. ']]'
else
return symbol
end
end
function API.mapi( frame )
local args = Outils.extractArgs( frame )
local wikiTable = {
'<span class="API" title="Alphabet phonétique international" style="font-familly:' .. ipaFonts .. ';">'
}
local i = 1
local symbol
while args[i] do
symbol = symbolWithLink( args[i] )
if symbol then
table.insert( wikiTable, symbol )
end
i = i + 1
end
return table.concat( wikiTable )
end
function API.msapi ( frame )
return '[' .. API.mapi( frame ) .. ']'
end
return API