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)
final_ret = merge_tables(final_ret, pron)
         end
         end
     end
     end
Line 322: Line 327:
end
end


     return ret and "* " .. table.concat(ret) or "oops" --m_IPA.format_IPA_full({ lang = lang, items = IPA_args })
     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