Parameter: name, name_de, name_int, name_en
| Reihenfolge | Bedingung | Logik |
|---|---|---|
| 1 | Nur name |
Transliteriere |
| 2 | name + name_en (kein de, int) |
Latin: name > sauberes name_en > name |
| 3 | name + name_de (kein en, int) |
Latin-name enthält name_de → namename enthält "/" → name (Mehrsprachig)Nicht-Latin/Greek + sauberes name_de → name_deKyrillisch → Fallback: name_int > name_en > transliterate |
| 4 | name + name_int (kein de, en) |
Latin: name > sauberes name_int |
| 5 | name_int leer (de+en da) |
Latin-name: name > sauberes name_en > nameNicht-Latin: störendes name_en → name_de, sonst name_en |
| 6 | name_de leer (int+en da) |
name_int vs name_en Logik |
| 7 | name_de vorhanden |
Deutsche Namen bevorzugt |
| 8 | Nur name_de, kein name |
Return name_de |
| 9 | Finale Fallbacks | Nicht-Latin + Nicht-Kyrillisch → name_de > name_int > name_enKyrillisch → name_int > name_en > transliterateNicht-Latin/Greek → name_deSonst → name_de(name)Default → transliterate |
- Deutsche Namen (
name_de) haben höchste Priorität - Lateinische Schrift vor Transliteration
- Saubere Namen (ohne Störzeichen) bevorzugt
- Mehrsprachige Namen mit
/bleiben erhalten (Bleiburg/Pliberk-Regel) - Script-intelligente Fallbacks je nach Schriftsystem
- Fall 3: "Bleiburg/Pliberk-Regel" für zweisprachige Ortsnamen
- Fall 9: Edge cases und letzte Rettungsversuche nach Schriftsystem
- Kyrillische Namen: Spezielle Behandlung mit
name_intals Priorität - Störende Zeichen: Namen mit
,,;,-werden als problematisch eingestuft