Module:qlu-pron: Difference between revisions
No edit summary |
No edit summary |
||
| Line 268: | Line 268: | ||
function merge_tables(foo, bar) | function merge_tables(foo, bar) | ||
local merged = {} | local merged = {} | ||
-- Preserve the 'dialectal' field from the first table | |||
if foo.dialectal and not bar.dialectal then | |||
merged.dialectal = foo.dialectal | |||
end | |||
for key, value in pairs(foo) do | for key, value in pairs(foo) do | ||
| Line 278: | Line 283: | ||
end | end | ||
end | end | ||
-- Merge anything that bar has that foo does not | |||
for key, value in pairs(bar) do | for key, value in pairs(bar) do | ||
if merged[key] == nil then | if merged[key] == nil then | ||
| Line 287: | Line 293: | ||
return merged | return merged | ||
end | end | ||
function separate_word(term) | function separate_word(term) | ||
| Line 298: | Line 303: | ||
final_ret = pron | final_ret = pron | ||
else | else | ||
final_ret = merge_tables(final_ret, pron) | |||
end | end | ||
end | end | ||
| Line 322: | Line 327: | ||
end | end | ||
if ret and ret.phonemic then | |||
return "* " .. m_IPA.format_IPA_full({ lang = lang, items = IPA_args }) | |||
else | |||
return "Oops, something went wrong." | |||
end | |||
end | end | ||
return export | return export | ||