Misapprehensions like this are precisely why conventional transliteration of Hebrew is so flawed.
In SimHebrew (simulated Hebrew in Latin characters), the spelling distinctions between those three words are clear, and preserved:
- ‘melakh’: in Hebrew מלח, in SimHebrew mlk
- ‘melekh’: in Hebrew מלך, in SimHebrew mlç
- ‘malakh’: in Hebrew מלאך, in SimHebrew mlaç
See Modern-day Ecclesiastes for more examples.
Broadly speaking, it’s fairly easy, as Italian uses the same vowels as in Hebrew (in fact, it’s a common way of explaining Hebrew vowels to English speakers). By default, the /a/ sound is assumed, and the /i/ sound is indicated by using a yod as though it were the letter i in Italian. If the vowel is an /e/, /o/ or /u/ sound, use niqqud to state a ségol, ḥolam, or shuruq, respectively. However:
- If the word starts with a vowel, use an aleph to “carry” it—e.g. אוניברסיטה
- If the /a/ sound is at the end of a word—e.g. università—indicate it with a héh sophit (e.g. אוניברסיטה)