There are some approaches that would work better for some languages than others. For example, soundex (and another description I like) was designed for English pronunciations of names. With soundex, Michael
becomes M240. This has several steps:
- First letter is isolated. (
M
and ichael
)
- All vowels are removed from remainder (
M
and chl
)
- Consonants are replaced
- Left pad zeros.
The grouping of the consonant conversions are based on their phonetic similarity - B
, F
, P
and V
all map to 1
.
And there are variations on this over time. It is particularly useful in genealogy where the spelling of a name may change over time, but the pronunciation remains similar.
There is also approaches such as match rating which was developed by the airlines for names (rather than American genealogy).
The encoding of match rating approach (MRA) is:
- Delete all non-leading vowels (
Michael
becomes Mchl
and Anthony
becomes Anthny
)
- Remove the second constant of any doubles
- If the string is longer than 6 characters, reduce the remaining string to 6 characters by taking the first three and last three.
The full specification for this can be found on archive.org - note that it is "not small" (the printed form is 214 pages).
The comparisons have a matching threshold based on how long the text is.
There are other phonetic algorithms too.
So, what I would encourage you to do is either take the soundex as is, take the match rating approach as is, or modify the soundex based on the Romanian consonants and Polish consonants.
Remember that with soundex, the consonants are grouped (In Polish, m
, n
, ɲ
are all nasal consonants to be grouped, and you would likely group the labial, dental, and alveolar plosives - be they voiceless or voiced together - granted, I don't know Polish so don't know if I'm just saying things that aren't true there).
Then just covert all the names in the database to the two different soundex systems and find out what names have the lowest set of collisions in the different languages. This gives you distinct names. So that Smith
doesn't show up as Smyth
.
This, however, only solves the "name likely to collide with other names and be misheard." It doesn't address the other way of the "name heard correctly, written down incorrectly" and for that, one should focus their attention on common names.
For example, Michael
was a very common name in the US from early 1950 to late 1970. It was really popular. However, for some reason, the name Micheal
was kind of popular in the 1950s (got up to the 83rd most common name at its peak). And I am certain that people named Micheal
constantly got their name misspelled.
Thus, you should focus on names where there is one name that dominates the popularity of the name for a given pronunciation. Glancing at another data consumer for the names by year, you can see that names beginning with Jam... for a boy are a mess with Jamaal
, Jamal
, Jamar
and others. Incidentally, these names have slightly different soundexes for American (J540
, J540
and J560
- the l
and r
are in different groups even though they are closely related in phonetics). However, for someone from, say Japan, the there is only one sound in the phonetic region where l
and r
are pronounced in American English. This may also pose a challenge with the leading consonants using soundex that one should be aware of (I once worked with a Japanese woman who called herself Risa (with an 'R') rather than Lisa as a Romanization of her Japanese name).
You will note that my examples are for the United States. That data is easily accessible. Apparently there are some things for Poland and Hungarian, and only hints at Hungarian name commonality... I suspect that searching in a language other than English might be helpful there.
So, given the soundex for a name, few collisions and the actual spelling is in the set of collisions. Preferably, this is a common name. Looking at that hungarian list, going with Krisztián
would likely get misspellings while, Zoltán
less likely so (#22 most common baby name in 2011 in Hungary!). That said, you can't go wrong with Michael
.