Module:IPA-nl

Uit WikiWoordenboek
Naar navigatie springen Naar zoeken springen

Doel[bewerken]

Deze module gebruikt de gestandaardiseerde weergave van de uitspraak van Nederlandse woorden om het aantal lettergrepen te tellen.

Parameters[bewerken]

Er is één parameter: de IPA-weergave, gestandaardiseerd volgens de afspraken op de pagina Standaardweergave uitspraak Nederlands.

Gebruik[bewerken]

De module is alleen bedoeld om de functionaliteit van het sjabloon {{IPA-nl-standaard}} uit te breiden; het is niet bedoeld om los daarvan te worden gebruikt. Dit sjabloon roept het hulpsjabloon {{IPA-nl-standaard-ltrgrp}} aan en geeft deze één parameter mee: het resultaat van de funnctie main in deze module als die op zijn beurt de fonemische weergave van het woord als parameter heeft meegekregen. Dit hulpsjabloon krijgt op die manier één keer een getal mee en kan dit zowel voor de tekst op het lemma als de toe te voegen categorieën gebruiken.

Werking[bewerken]

In de fonemische weergave worden eerst de diftongen die met twee klinkertekens worden weergegeven teruggebracht tot één klinkerteken. Ook worden de <sup>-tags verwijderd. Hierna wordt eenvoudig geteld hoeveel klinkertekens er in de tekst staan. In een Nederlandse lettergreep zit altijd precies één uitgesproken klinker of diftong, daardoor komt het aantal klinkertekens nu overeen met het aantal lettergrepen.

De functie main geeft alleen het aantal tekens als een string. Om de werking van deze functie te kunnen nagaan is er ook een functie test die laat zien hoe de aangepaste tekst er voor het tellen uit ziet.


local p = {}

function p.main(frame)
  lgr = 0
  local ipa = frame.args[1]
  ipa = mw.ustring.gsub(ipa, "ɛi", "ɛ")
  ipa = mw.ustring.gsub(ipa, "ɑu", "ɑ")
  ipa = mw.ustring.gsub(ipa, "œy", "œ")
  ipa = mw.ustring.gsub(ipa, "</?sup>", "")
  _, lgr = mw.ustring.gsub(ipa, "[aɑeɛəiɪoɔyʏuøœ]", "")
  tostring(lgr)
  return lgr
end

function p.test(frame)
  local ipa = frame.args[1]
  ipa = mw.ustring.gsub(ipa, "ɛi", "ɛ")
  ipa = mw.ustring.gsub(ipa, "ɑu", "ɑ")
  ipa = mw.ustring.gsub(ipa, "œy", "œ")
  ipa = mw.ustring.gsub(ipa, "</?sup>", "")
  return ipa
end

return p