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 → name name enthält "/" → name (Mehrsprachig)Nicht-Latin/Greek + sauberes name_de → name_de Kyrillisch → 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 > name Nicht-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_en Kyrillisch → name_int > name_en > transliterateNicht-Latin/Greek → name_de Sonst → 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_int
als Priorität - Störende Zeichen: Namen mit
,
,;
,-
werden als problematisch eingestuft