All tests passed. (refresh)
Text | Expected | Actual | Comments | |
---|---|---|---|---|
ununquadio | u.nũŋˈkwa.ð̞jo | u.nũŋˈkwa.ð̞jo | ||
explícale | eɣ̞sˈpli.ka.le | eɣ̞sˈpli.ka.le | ||
deshielo | d̪ezˈʝe.lo | d̪ezˈʝe.lo | ||
porque | ˈpoɾ.ke | ˈpoɾ.ke | ||
fármaco | ˈfaɾ.ma.ko | ˈfaɾ.ma.ko | ||
prorrogado | pɾo.roˈɣ̞a.ð̞o | pɾo.roˈɣ̞a.ð̞o | ||
cabrerizo | ka.β̞ɾeˈɾi.θo | ka.β̞ɾeˈɾi.θo | Castilian | |
cabrerizo | ka.β̞ɾeˈɾi.so | ka.β̞ɾeˈɾi.so | Latin American | |
desmentir | d̪ez.mẽn̪ˈt̪iɾ | d̪ez.mẽn̪ˈt̪iɾ | ||
desahucio | d̪eˈsau̯.θjo | d̪eˈsau̯.θjo | Castilian | |
desahucio | d̪eˈsau̯.sjo | d̪eˈsau̯.sjo | Latin American | |
estoy | esˈt̪oi̯ | esˈt̪oi̯ | ||
complots | kõmˈplot̪s | kõmˈplot̪s | ||
relax | reˈlaɣ̞s | reˈlaɣ̞s | ||
stop–sonorant clusters | ||||
cigüeña | θiˈɣ̞we.ɲa | θiˈɣ̞we.ɲa | Castilian | |
cigüeña | siˈɣ̞we.ɲa | siˈɣ̞we.ɲa | Latin American | |
voiceless fricatives before voiced consonants | ||||
desde | ˈd̪ez.ð̞e | ˈd̪ez.ð̞e | ||
rasgo | ˈraz.ɣ̞o | ˈraz.ɣ̞o | ||
mismo | ˈmiz.mo | ˈmiz.mo | ||
isla | ˈis.la | ˈis.la | ||
hazlo | ˈaθ.lo | ˈaθ.lo | Castilian | |
hazlo | ˈas.lo | ˈas.lo | Latin American | |
hazme | ˈaθ̬.me | ˈaθ̬.me | Castilian | |
hazme | ˈaz.me | ˈaz.me | Latin American | |
afluir | aˈflwiɾ | aˈflwiɾ | ||
flauta | ˈflau̯.t̪a | ˈflau̯.t̪a | ||
África | ˈa.fɾi.ka | ˈa.fɾi.ka | ||
frígido | ˈfɾi.xi.ð̞o | ˈfɾi.xi.ð̞o | ||
voiced stop–fricative allophony | ||||
baca | ˈba.ka | ˈba.ka | ||
la baca | la ˈβ̞a.ka | la ˈβ̞a.ka | ||
enviar | ẽmˈbjaɾ | ẽmˈbjaɾ | ||
dama | ˈd̪a.ma | ˈd̪a.ma | ||
la dama | la ˈð̞a.ma | la ˈð̞a.ma | ||
nada | ˈna.ð̞a | ˈna.ð̞a | ||
sabiendo | saˈβ̞jẽn̪.d̪o | saˈβ̞jẽn̪.d̪o | ||
hiena | ˈɟ͡ʝe.na | ˈɟ͡ʝe.na | ||
la hiena | la ˈʝe.na | la ˈʝe.na | ||
yaca | ˈɟ͡ʝa.ka | ˈɟ͡ʝa.ka | ||
la yaca | la ˈʝa.ka | la ˈʝa.ka | ||
cónyuge | ˈkõɲ.ɟ͡ʝu.xe | ˈkõɲ.ɟ͡ʝu.xe | ||
guerra | ˈɡe.ra | ˈɡe.ra | ||
la guerra | la ˈɣ̞e.ra | la ˈɣ̞e.ra | ||
Domingo | d̪oˈmĩŋ.ɡo | d̪oˈmĩŋ.ɡo | ||
alba | ˈal.β̞a | ˈal.β̞a | ||
soldado | sol̪ˈd̪a.ð̞o | sol̪ˈd̪a.ð̞o | ||
algo | ˈal.ɣ̞o | ˈal.ɣ̞o | ||
l-assimilation | ||||
chile | ˈt͡ʃi.le | ˈt͡ʃi.le | ||
el chile | elʲ ˈt͡ʃi.le | elʲ ˈt͡ʃi.le | ||
dulce | ˈd̪ul̟.θe | ˈd̪ul̟.θe | Castilian | |
dulce | ˈd̪ul.se | ˈd̪ul.se | Latin American | |
vuelta | ˈbwel̪.t̪a | ˈbwel̪.t̪a | ||
n-assimilation | ||||
infierno | ĩɱˈfjeɾ.no | ĩɱˈfjeɾ.no | ||
entonces | ẽn̪ˈt̪õn̟.θes | ẽn̪ˈt̪õn̟.θes | Castilian | |
entonces | ẽn̪ˈt̪õn.ses | ẽn̪ˈt̪õn.ses | Latin American | |
ancho | ˈãnʲ.t͡ʃo | ˈãnʲ.t͡ʃo | ||
tengo | ˈt̪ẽŋ.ɡo | ˈt̪ẽŋ.ɡo | ||
ángel | ˈãŋ.xel | ˈãŋ.xel | ||
nunca | ˈnũŋ.ka | ˈnũŋ.ka | ||
obstruent (stop and fricative) clusters | ||||
capturar | kaβ̞.t̪uˈɾaɾ | kaβ̞.t̪uˈɾaɾ | ||
abyecto | aβ̞ˈʝeɣ̞.t̪o | aβ̞ˈʝeɣ̞.t̪o | ||
accidental | aɣ̞.θi.ð̞ẽn̪ˈt̪al | aɣ̞.θi.ð̞ẽn̪ˈt̪al | Castilian | |
accidental | aɣ̞.si.ð̞ẽn̪ˈt̪al | aɣ̞.si.ð̞ẽn̪ˈt̪al | Latin American | |
susceptible | sus.θeβ̞ˈt̪i.β̞le | sus.θeβ̞ˈt̪i.β̞le | Castilian | |
susceptible | su.seβ̞ˈt̪i.β̞le | su.seβ̞ˈt̪i.β̞le | Latin American |
local tests = require('Module:UnitTests')
local m_es_pron = require('Module:es-pronunc')
local m_links = require('Module:links')
local es = require('Module:languages').getByCode('es')
local function tag_IPA(IPA)
return '<span class="IPA">' .. IPA .. '</span>'
end
local function link(text)
return m_links.full_link{ term = text, lang = es }
end
local options = { display = tag_IPA }
local function check_ipa(self, word, phonetic, expected_Cast, expected_Lat, comment)
local Castilian = m_es_pron.IPA(word, "distincion-yeismo", phonetic).text
local Latin_American = m_es_pron.IPA(word, "seseo-yeismo", phonetic).text
local show_both = Latin_American ~= Castilian
options.comment = show_both and 'Castilian' .. (comment or '') or comment
self:equals(
link(word),
Castilian,
expected_Cast,
options
)
if show_both then
options.comment = show_both and 'Latin American' .. (comment or '') or comment
self:equals(
link(word),
Latin_American,
expected_Lat,
options
)
end
end
function tests:check_phonetic_ipa(word, expected_Cast, expected_Lat, comment)
check_ipa(self, word, true, expected_Cast, expected_Lat, comment)
end
function tests:check_phonemic_ipa(word, expected_Cast, expected_Lat, comment)
check_ipa(self, word, false, expected_Cast, expected_Lat, comment)
end
function tests:test_phonetic_pron()
local examples = {
{ 'ununquadio', 'u.nũŋˈkwa.ð̞jo' },
{ 'explícale', 'eɣ̞sˈpli.ka.le' },
{ 'deshielo', 'd̪ezˈʝe.lo' },
{ 'porque', 'ˈpoɾ.ke' },
{ 'fármaco', 'ˈfaɾ.ma.ko' },
{ 'prorrogado', 'pɾo.roˈɣ̞a.ð̞o'},
{ 'cabrerizo', 'ka.β̞ɾeˈɾi.θo', 'ka.β̞ɾeˈɾi.so'},
{ 'desmentir', 'd̪ez.mẽn̪ˈt̪iɾ'},
{ 'desahucio', 'd̪eˈsau̯.θjo', 'd̪eˈsau̯.sjo'},
{ 'estoy', 'esˈt̪oi̯'},
{ 'complots', 'kõmˈplot̪s'},
{ 'relax', 'reˈlaɣ̞s'},
'stop–sonorant clusters',
{ 'cigüeña', 'θiˈɣ̞we.ɲa', 'siˈɣ̞we.ɲa' },
'voiceless fricatives before voiced consonants', -- sometimes assimilated
{ 'desde', 'ˈd̪ez.ð̞e' },
{ 'rasgo', 'ˈraz.ɣ̞o' },
{ 'mismo', 'ˈmiz.mo' },
{ 'isla', 'ˈis.la' },
{ 'hazlo', 'ˈaθ.lo', 'ˈas.lo' },
{ 'hazme', 'ˈaθ̬.me', 'ˈaz.me' },
{ 'afluir', 'aˈflwiɾ' }, -- or afluˈiɾ
{ 'flauta', 'ˈflau̯.t̪a', },
{ 'África', 'ˈa.fɾi.ka'},
{ 'frígido', 'ˈfɾi.xi.ð̞o'},
'voiced stop–fricative allophony',
{ 'baca', 'ˈba.ka' },
{ 'la baca', 'la ˈβ̞a.ka' },
{ 'enviar', 'ẽmˈbjaɾ' },
{ 'dama', 'ˈd̪a.ma' },
{ 'la dama', 'la ˈð̞a.ma' },
{ 'nada', 'ˈna.ð̞a' },
{ 'sabiendo', 'saˈβ̞jẽn̪.d̪o' },
{ 'hiena', 'ˈɟ͡ʝe.na' },
{ 'la hiena', 'la ˈʝe.na' },
{ 'yaca', 'ˈɟ͡ʝa.ka' },
{ 'la yaca', 'la ˈʝa.ka' },
{ 'cónyuge', 'ˈkõɲ.ɟ͡ʝu.xe' },
{ 'guerra', 'ˈɡe.ra' },
{ 'la guerra', 'la ˈɣ̞e.ra' },
{ 'Domingo', 'd̪oˈmĩŋ.ɡo' },
{ 'alba', 'ˈal.β̞a' },
{ 'soldado', 'sol̪ˈd̪a.ð̞o' },
{ 'algo', 'ˈal.ɣ̞o' },
"''l''-assimilation",
{ 'chile', 'ˈt͡ʃi.le' },
{ 'el chile', 'elʲ ˈt͡ʃi.le' },
{ 'dulce', 'ˈd̪ul̟.θe', 'ˈd̪ul.se' },
{ 'vuelta', 'ˈbwel̪.t̪a' },
"''n''-assimilation", -- example of 'n y', 'n hi', 'n ll'?
{ 'infierno', 'ĩɱˈfjeɾ.no' },
{ 'entonces', 'ẽn̪ˈt̪õn̟.θes', 'ẽn̪ˈt̪õn.ses' },
{ 'ancho', 'ˈãnʲ.t͡ʃo' },
{ 'tengo', 'ˈt̪ẽŋ.ɡo' },
{ 'ángel', 'ˈãŋ.xel' },
{ 'nunca', 'ˈnũŋ.ka' },
'obstruent (stop and fricative) clusters',
{ 'capturar', 'kaβ̞.t̪uˈɾaɾ' },
{ 'abyecto', 'aβ̞ˈʝeɣ̞.t̪o' },
{ 'accidental', 'aɣ̞.θi.ð̞ẽn̪ˈt̪al', 'aɣ̞.si.ð̞ẽn̪ˈt̪al' },
{ 'susceptible', 'sus.θeβ̞ˈt̪i.β̞le', 'su.seβ̞ˈt̪i.β̞le' },
}
self:iterate(examples, "check_phonetic_ipa")
end
return tests