Hi,
danke für deine ausführliche Antwort!
Ich glaube wir haben uns ein bisschen missverstanden. Mit der Fehlermeldung meine ich nicht die Art Fehlermeldung die du meinst - also einen "sonstigen Programmfehler" oder Hackingversuch.
Ich meine vielmehr den Fehler, dass das Äquivalent zur gesuchten Phrase in der Zielsprache nicht gefunden wurde. Hierüber soll dann ich oder der Übersetzer informiert werden.
Also z.B.:
Ich baue ein neues Formularfeld ein. Das soll das Label "Geburtsdatum" haben. Mit lang("Geburtsdatum") gebe ich das dann ein. So habe ich für meine ganze Test/Programmierphase schon sofort, ohne in ein Sprachfile zu gehen und etwas einzutragen in dem Formular "Geburtsdatum" stehen, weil es bei DE ja ohnehin einfach $text ausgibt.
Gleichzeitig guckt die Funktion aber, ob "Geburtsdatum" in der Sprachdatei ist und in allen Sprachen vorhanden ist. Wenn das nicht der Fall ist kommt meine "Fehlermeldung". Ich werde dann also aufgefrodert den Begriff zu übersetzen.
Das kann ich dann irgendwann wenn ich Lust habe abarbeiten.
Also Thema 1. Du hast immer noch einen Key welchen du dir merken musst. Nur ist er viel länger und eben ein Satz.
Ich glaube vor dem Hintergrund, wie ich ihn oben erläutert habe, sollte das jetzt kein Problem mehr sein, oder?
Was zudem recht schlecht ist, dass ist die Verteilung von dem ganzen im kompletten Quellcode. Wenn dein Projekt sagen wir mal 50 Dateien beinhaltet (und das ist noch human), dann sag mir in 6 Monaten mal aus welcher Datei der Fehler "Fehler: Falsche Userangabe" kommt. Na klar man kann die Dateien durchsuchen. Besser wäre jedoch eine Zentrale stelle.
50 Dateien wäre schön ;) Es sind doch deutlich mehr.
Manchmal gibt es vielleicht Situationen in denen der Kontext wichtig ist. Vielleicht wäre da noch ein Parameter in lang() sinnvoll. Aber normalerweise interessiert das ja nicht. Wenn eine Fehlermeldung oder ein Hinweistext an den User ausgegeben werden soll, soll der eben ausgegeben werden. Das was da steht muss dann in die Sprachen übersetzt werden und ist ja zumeist unabhängig vom Kontext.
Aber vielleicht beruht das auch noch auf dem Missverständnis mit den Fehlermeldungen^^
Noch besser wäre eine Zentrale stelle welche durch einen nicht Sachkundigen Mitarbeiter bearbeitet werden kann. Sprich du hast ein Interface zu den Fehlermeldung setzt eine doofe Lektorin daran und die könnte dir alles übersetzen oder in einem guten Deutsch formulieren.
Stimmt, "meine Fehlermeldungen" könnten dann ja direkt in eine To-Do-List für einen Übersetzer wandern, die er einfach abarbeiten kann.
Gruß
Alex