73 of 88 tests failed. (refresh)
Text | Expected | Actual | Differs at | |
---|---|---|---|---|
Vater | ˈfaːtɐ | fatɛɐ̯ | 1 | |
Anna | ˈana | ana | 1 | |
Saal | zaːl | zaal | 3 | |
Qual | kʋaːl | kfal | 2 | |
lokal, orig=rom | loˈkaːl | lɔkal | 2 | |
Sarg | zaɐ̯k | zaɐ̯ɡ | 5 | |
hart | haɐ̯t | haɐ̯t | ||
Waise | ˈʋaɪ̯zə | ʋaɪ̯zɛ | 1 | |
Schlächter | ˈʃlɛçtɐ | ʃlɛçtɛɐ̯ | 1 | |
gäbe | ˈgɛːbə | ɡɛbɛ | 1 | |
Käse | ˈkɛːzə | kɛzɛ | 1 | |
Auswahl | ˈaʊ̯sʋaːl | aʊ̯sʋaːl | 1 | |
Zahlen | ˈtsaːlən | tsaːlɛn | 1 | |
wählen | ˈʋɛːlən | ʋɛːlɛn | 1 | |
brauchen | ˈbraʊ̯xən | braʊ̯χɛn | 1 | |
gleichen | ˈglaɪ̯çən | ɡlaɪ̯çɛn | 1 | |
Archen | ˈaɐ̯çən | aɐ̯çɛn | 1 | |
Aachen | ˈaːχən | aaχɛn | 1 | |
solch | zɔlç | zɔlç | ||
Wacht | ʋaχt | ʋaχt | ||
doch | dɔχ | dɔχ | ||
Stadt | ʃtat | ʃtat | ||
Dschungel | ˈdʒʊŋəl | tʃʊŋɛl | 1 | |
lesen | ˈleːzən | lɛzɛn | 1 | |
lecker | ˈlɛkɐ | lɛkɛɐ̯ | 1 | |
Erde (respelled Ehrde) | ˈeːɐ̯də | ɛhɐ̯dɛ | 1 | |
werden | ˈʋɛɐ̯dən | ʋɛɐ̯dɛn | 1 | |
abendlich | ˈabəntlɪç | abɛndlɪç | 1 | |
Reichstag (respelled Reichs/tag) | ˈraɪ̯çstaːk | raɪ̯çs/tak | 1 | |
Eiche | ˈaɪ̯çə | aɪ̯çɛ | 1 | |
oder | ˈoːdɐ | ɔdɛɐ̯ | 1 | |
Hund | hʊnt | hʊnt | ||
sehen | zeːn | zɛhɛn | 2 | |
nah | naː | naː | ||
Nische (respelled Niesche), orig=rom | ˈniːʃə | niːʃɛ | 1 | |
mische | ˈmɪʃə | mɪʃɛ | 1 | |
spielen | ˈʃpiːlən | ʃpiːlɛn | 1 | |
Tier | tiːɐ̯ | tiːɐ̯ | ||
Österreich (respelled Öhster/reich) | ˈøːstɐraɪ̯ç | œhʃtɛɐ̯/raɪ̯ç | 1 | |
köstlich | ˈkœstlɪç | kœstlɪç | 1 | |
öffnen | ˈœfnən | œffnɛn | 1 | |
höre | ˈhøːrə | hœrɛ | 1 | |
hört | hœɐ̯t | hœɐ̯t | ||
Plörre | ˈplœrə | plœrɛ | 1 | |
Quatsch | kʋatʃ | kfatʃ | 2 | |
aßen | ˈaːsən | asɛn | 1 | |
Haus | haʊ̯s | haʊ̯s | ||
Hause | ˈhaʊ̯zə | haʊ̯zɛ | 1 | |
lasen | ˈlaːzən | lazɛn | 1 | |
massig | ˈmasɪç | maszɪk | 1 | |
Tisch | tɪʃ | tɪʃ | ||
scheußlich | ˈʃɔʏ̯slɪç | ʃɔʏ̯slɪç | 1 | |
Asche | ˈaʃə | aʃɛ | 1 | |
Quatsch | kʋatʃ | kfatʃ | 2 | |
Buch | buːx | bʊχ | 2 | |
Kusses | ˈkʊsəs | kʊszɛs | 1 | |
Furcht | fʊɐ̯çt | fʊɐ̯çt | ||
Uhr | uːɐ̯ | ʊhɐ̯ | 1 | |
Bücher | ˈbyːçɐ | byːçɛɐ̯ | 1 | |
Brücke | ˈbrʏkə | bryːkɛ | 1 | |
Tür | tyːɐ̯ | tyːɐ̯ | ||
Vogel | ˈfoːgəl | fɔɡɛl | 1 | |
Vase, orig=rom | ˈʋaːzə | fazɛ | 1 | |
administrativ, orig=rom | ˌatmɪnɪstraˈtif | atmɪnɪʃtratɪf | 1 | |
selektiv, orig=rom | zeˌlɛkˈtif | zɛlɛktɪf | 2 | |
Möwe | ˈmøːʋə | mœʋɛ | 1 | |
was | ʋas | ʋas | ||
geglichen | gəˈglɪçən | ɡɛɡlɪçɛn | 1 | |
angeglichen | ˈangəˌglɪçən | aŋɛɡlɪçɛn | 1 | |
aufgeben | ˈaʊ̯fˌɡeːbən | aʊ̯fɡɛbɛn | 1 | |
aufgegeben | ˈaʊ̯fɡəˌɡeːbən | aʊ̯fɡɛɡɛbɛn | 1 | |
Mächtigkeit | ˈmɛçtɪçˌkaɪ̯t | mɛçtɪkaɪ̯t | 1 | |
eventuell (respelled evéntuèll), orig=rom | eˈʋɛntuˌɛll | ɛfɛˈntyː̀ll | 1 | |
Enklave, orig=rom | ɛnˈklaːʋə | ɛnklafɛ | 3 | |
Phonem, orig=rom | foˈneːm | fɔnɛm | 2 | |
Chemie, orig=rom | çeˈmiː | çɛmiː | 2 | |
Information, orig=rom | ˌɪnfoɐ̯maˈtsi̯oːn | ɪnfɔɐ̯mat͡si̯on | 1 | |
Platin (respelled Plátin), orig=rom | ˈplaːtin | plaˈtɪn | 1 | |
Qualität, orig=rom | ˌkʋaliˈtɛːt | kfalɪtɛt | 1 | |
Rasur, orig=rom | raˈzuːɐ̯ | razʊɐ̯ | 3 | |
rasieren, orig=rom | raˈziːrən | raziːrɛn | 3 | |
programmieren, orig=rom | ˌprograˈmiːrən | prɔɡrammiːrɛn | 1 | |
Buchstabe (respelled Buch/stabe) | ˈbuːxʃtaːbə | bʊχ/ʃtabɛ | 1 | |
Urheberrecht (respelled Ur/heber/rècht) | ˈuːɐ̯heːbɐˌrɛçt | ʊɐ̯/hɛbɛɐ̯/rɛ̀çt | 1 | |
Standartenführer (respelled Standárten/führer) | ʃtanˈdartənˌfyːrɐ | ʃtandaˈɐ̯tɛn/fyːrɛɐ̯ | 5 | |
Aufenthaltsgenehmigung (respelled Aufenthalts/genehmigung) | ˈaʊ̯fɛnthaltsɡəˌneːmiɡʊŋ | aʊ̯fɛnthalts/ɡɛnɛhmɪɡʊnk | 1 | |
doof | doːf | doːf | ||
doofes (respelled dooves) | ˈdoːʋəs | doːfɛs | 1 |
local tests = require('Module:UnitTests')
local m_de_IPA = require('Module:User:Kiril kovachev/de-IPA')
local m_links = require('Module:links')
local lang = require('Module:languages').getByCode('de')
local function tag_IPA(IPA)
return '<span class="IPA">' .. IPA .. '</span>'
end
function tests:check_pron(De, IPA, respelling, orig)
self:equals(
m_links.full_link({term = De, lang = lang}, nil, true) ..
(respelling and (" (respelled " .. respelling .. ")") or "") ..
(orig and ", orig=" .. orig or ""),
m_de_IPA.IPA(respelling or De, orig) or "NULL", IPA,
{ nowiki=true, display = tag_IPA }
)
end
-- Entries here usually look like
-- self:check_pron("GERMAN", "PRONUNCIATION")
--
-- but can also be
-- self:check_pron("GERMAN", "PRONUNCIATION", "RESPELLED-GERMAN")
--
-- e.g.
-- self:check_pron("Erde", "ˈeːɐ̯də", "Ehrde")
-- self:check_pron("Reichstag", "ˈraɪ̯çstaːk", "Reichs/tag")
-- A fourth argument can be specified to indicate Romance origin, which
-- causes certain changes like ultimate or penultimate stress and
-- interpreting ''v'' as /v/ instead of /f/:
-- self:check_pron("GERMAN", "PRONUNCIATION", nil, "rom")
-- self:check_pron("GERMAN", "PRONUNCIATION", "RESPELLED-GERMAN", "rom")
--
-- e.g.
-- self:check_pron("Phonem", "foˈneːm", nil, "rom")
-- self:check_pron("Enklave", "ɛnˈklaːʋə", nil, "rom")
--
--Annotation: I'm assuming the output to be broad, so this uses ⟨r⟩, while /ʁ/ is the commonest actual pronunciation.
function tests:test_pron()
local examples = {
-- A:
{ "Vater", "ˈfaːtɐ" },
{ "Anna", "ˈana" },
{ "Saal", "zaːl" },
{ "Qual", "kʋaːl" },
{ "lokal", "loˈkaːl", nil, "rom" },
{ "Sarg", "zaɐ̯k" },
{ "hart", "haɐ̯t" },
{ "Waise", "ˈʋaɪ̯zə" },
-- Ä
{ "Schlächter", "ˈʃlɛçtɐ" },
{ "gäbe", "ˈgɛːbə" },
{ "Käse", "ˈkɛːzə" }, -- Possibly must be /eː/. Native status of ɛː is debated. I think most professional readers speak as written, but my understanding is that the spelling does not reflect any actual spoken language consistently. /ɛː/ is so absent here that my brain parses as
-- AH
{ "Auswahl", "ˈaʊ̯sʋaːl" },
{ "Zahlen", "ˈtsaːlən" },
-- ÄH
{ "wählen", "ˈʋɛːlən" }, -- Could be /veːlən/, see Käse
-- AU:
{ "brauchen", "ˈbraʊ̯xən" },
--CH
{ "gleichen", "ˈglaɪ̯çən" },
{ "Archen", "ˈaɐ̯çən" },
{ "Aachen", "ˈaːχən" },
{ "solch", "zɔlç" },
{ "Wacht", "ʋaχt" },
{ "doch", "dɔχ" },
-- D
{ "Stadt", "ʃtat" },
-- DSCH
{ "Dschungel", "ˈdʒʊŋəl" },
-- E:
{ "lesen", "ˈleːzən" },
{ "lecker", "ˈlɛkɐ" },
{ "Erde", "ˈeːɐ̯də", "Ehrde" },
{ "werden", "ˈʋɛɐ̯dən" },
{ "abendlich", "ˈabəntlɪç" },
-- EI:
{ "Reichstag", "ˈraɪ̯çstaːk", "Reichs/tag" },
{ "Eiche", "ˈaɪ̯çə" },
-- ER:
{ "oder", "ˈoːdɐ" },
-- H
{ "Hund", "hʊnt" },
{ "sehen", "zeːn" }, -- You often see /zeːən/, which is hypercorrect spelling-pron., might be standard anyway.
{ "nah", "naː" },
-- I
{ "Nische", "ˈniːʃə", "Niesche", "rom" }, -- Borrowing
{ "mische", "ˈmɪʃə" }, -- native
-- IE:
{ "spielen", "ˈʃpiːlən" },
{ "Tier", "tiːɐ̯" }, -- This pronunciation is pretty wrong and would be understood as 'Tia', but I think it's the expected transcription. The actual level of the r-vowel raises with the preceding vowel.
-- Ö:
{ "Österreich", "ˈøːstɐraɪ̯ç", "Öhster/reich" },
{ "köstlich", "ˈkœstlɪç" },
{ "öffnen", "ˈœfnən" },
{ "höre", "ˈhøːrə" },
{ "hört", "hœɐ̯t" },
{ "Plörre", "ˈplœrə" },
-- QU:
{ "Quatsch", "kʋatʃ" }, -- Must be if /v/ is used instead of /ʋ/
-- S/ß:
{ "aßen", "ˈaːsən" },
{ "Haus", "haʊ̯s" },
{ "Hause", "ˈhaʊ̯zə" },
{ "lasen", "ˈlaːzən" },
{ "massig", "ˈmasɪç" },
-- SCH:
{ "Tisch", "tɪʃ" },
{ "scheußlich", "ˈʃɔʏ̯slɪç" },
{ "Asche", "ˈaʃə" },
-- TSCH:
{ "Quatsch", "kʋatʃ" },
-- U
{ "Buch", "buːx" },
{ "Kusses", "ˈkʊsəs" },
{ "Furcht", "fʊɐ̯çt" },
-- UH:
{ "Uhr", "uːɐ̯" },
-- Ü
{ "Bücher", "ˈbyːçɐ" },
{ "Brücke", "ˈbrʏkə" },
{ "Tür", "tyːɐ̯" },
-- ÜH
-- V
{ "Vogel", "ˈfoːgəl" },
{ "Vase", "ˈʋaːzə", nil, "rom" }, -- Borrowing, should this have ?
{ "administrativ", "ˌatmɪnɪstraˈtif", nil, "rom" }, -- Might have a long /i/; I can't tell since northern speech has no length distinction
{ "selektiv", "zeˌlɛkˈtif", nil, "rom" },
-- W
{ "Möwe", "ˈmøːʋə" },
{ "was", "ʋas" },
-- Affixes (Stress)
{ "geglichen", "gəˈglɪçən" },
{ "angeglichen", "ˈangəˌglɪçən" },
{ "aufgeben", "ˈaʊ̯fˌɡeːbən" }, -- should be smart enough not to interpret -ge- here as a prefix (because followed by -en
{ "aufgegeben", "ˈaʊ̯fɡəˌɡeːbən" },
{ "Mächtigkeit", "ˈmɛçtɪçˌkaɪ̯t" },
-- Borrowed words with unexpected stress:
{ "eventuell", "eˈʋɛntuˌɛll", "evéntuèll", "rom" }, -- Borrowing, should this have ?
{ "Enklave", "ɛnˈklaːʋə", nil, "rom" }, -- Borrowing, should this have ?
{ "Phonem", "foˈneːm", nil, "rom" },
{ "Chemie", "çeˈmiː", nil, "rom" },
{ "Information", "ˌɪnfoɐ̯maˈtsi̯oːn", nil, "rom" }, -- Notice how this Roman word uses /ɪ/
{ "Platin", "ˈplaːtin", "Plátin", "rom" }, -- And this one doesn't.
{ "Qualität", "ˌkʋaliˈtɛːt", nil, "rom" }, -- See Käse
{ "Rasur", "raˈzuːɐ̯", nil, "rom" },
{ "rasieren", "raˈziːrən", nil, "rom" },
{ "programmieren", "ˌprograˈmiːrən", nil, "rom" },
-- Slash separating compounds:
{ "Buchstabe", "ˈbuːxʃtaːbə", "Buch/stabe" },
{ "Urheberrecht", "ˈuːɐ̯heːbɐˌrɛçt", "Ur/heber/rècht" },
{ "Standartenführer", "ʃtanˈdartənˌfyːrɐ", "Standárten/führer" },
{ "Aufenthaltsgenehmigung", "ˈaʊ̯fɛnthaltsɡəˌneːmiɡʊŋ", "Aufenthalts/genehmigung" },
-- Irregular borrowings:
{ "doof", "doːf" },
{ "doofes", "ˈdoːʋəs", "dooves" }, -- Borrowing, should this have ?
}
self:iterate(examples, "check_pron")
end
return tests
-- For Vim, so we get 4-space tabs
-- vim: set ts=4 sw=4 noet: