I guess this is never ending subject of discussion. I have noticed that there are problems in mapping in number of areas where multilingualism is necessary, and I see two main sources of problems:
1. OpenStreetMap is not multilingual
Yes, OSM allows entering names in multiple languages using name:nn tags. That works, but problem is that OSM does not display those tags. The only way to for someone to use specific name tag is to render map on his own.
2. Rule of tag name use is questionable
Rule says that name should contain name as used in local community. U guess that works in areas where there are no problems with multilingual population. But, there are lots of areas where language use is an issue. Somewhere it is political problem, somewhere it is questionable which local language prevails, etc. This causes confusion and even naming wars as everyone in mixed language local societies want their language to be used on maps.
There is also another issue with current rule of using name tag. It encourage usage of local language which may be (and usually is) against laws in number of countries who deal with problem of mixed lingual population and also against practicality.
Countries do regulate how languages are used, and usually, there is one or two languages that are dominant and declared as official at country level. Others are usually permitted but as second level languages in areas where they are used. This has nothing with human rights, but with practical issues - country cannot function properly if there is no some level of standardization of language use. For people to communicate in one country - they need to use common language. It is not possible to expect that all people in some country speak all languages that are used in that country, especially languages used by minorities.
Rule to encourage local languages to be used as primary languages for some small areas can just cause problems. Can you imagine how it would look if each street or block in large city which is populated by various ethnic groups are named using their local languages? Imagine some large city in western hemisphere with areas named in Chinese, Arab or some other language that does not even use latin script. That simply cannot work. For such societies to coexist there must be some common language use, and that is usually declared as official language. That is why local language should not have higher priority than official language. It doe snot mean local language is not permitted, but just that it is not used by whole population.
What could solve a problem:
Obviously, making OpenStreetMap multilingual should be the first goal. If one can select language on map, he would do so. That would clear issues of fighting over contents of name tag as that tag would became less important, maybe even obsolete. It clears problem of language priorities in multilingual areas as each language would be used freely.
There is a tool http://toolserver.org/~osm/locale/ which allows browsing map in selected language but it is not meant to be used in production environment like OpenStreetMap. It just shows how OpenStreetMap should actually work.
Such change does not have to lead to making name tag useless. It still could have good use as name that should be used if there is no name tag provided for user selected language (or if user browses map without selecting language). So, if there is an object on map, that does not have name:nn tag for specific language, name tag would be displayed instead.
Even then, name tag should not contain entry according to local language, but should contain official language for that area, or, even better, internationalized name.
If official language is used then it would provide unified naming for all area (or country). Better solution would be to use internationalized name. That would be helpful for foreigners who use map of local area and do not know local language. It would also provide standard for whole planet - instead of mixed languages and scripts used as now, there would be one standard of unified naming which anyone could understand and use, regardless of the language.