String format validation

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • So, ich hab jetzt mal was zusammengebastelt.

    Ich gebe das hier frei natürlich ohne Gewähr etc...
    Verbesserungsvorschläge, Fixes, Erweiterungen etc sind immer willkommen!

    Und so gehts: projekt öffnen, in main.m LANGUAGES und PATHS_TO_STRINGS_FILES anpassen und auf run klicken.

    fehler und übersetzungs-warnungen werden in die console geloggt.
    zusätzlich wird code generiert und in das file "let-the-cpmpiler-do-the-work.m" geschrieben welches auch im projekt hängt.
    nach dem run, lässt man also den compiler nochmal das projekt durchkompilieren (eventuell einen clean + build wenns nicht richtig aktualisiert) sodass dieser die formate auch nochmal durchtestet...

    das wars dann eigentlich auch schon!

    schönes Wochenende noch!
    Dateien
  • Also meinem Verständnis nach ist gritsch' Anliegen einwandfrei vorgetragen, insofern verstehe ich die Existenz einiger Vorschläge nicht...

    macmoonshine schrieb:

    torquato schrieb:

    Ein etwas an den Haaren herbeigezogenes Beispiel (mir fällt spontan nichts besseres ein):

    Im Gegensatz zu Europa nennt man in sehr vielen anderen Ländern den Familiennamen vor dem Rufnamen. ;)

    Mal ehrlich, der Unterschied zwischen '%1$@ %2$@' und '%2$@ %1$@' ist formal gar nicht feststellbar.
    (Marco Feltmann | Feltmann Marco)
    Es geht doch 'nur' darum zu prüfen, dass die Variablenanzahl (2) und Variablentypen (1=String und 2=String) stimmen.
    Ob die Reihenfolge im de-DE und de-AT stimmt, kann nur optisch am Programm geprüft werden.

    Ähnlich wäre es bei '%1$d/%2$d' und '%2$d/%1$d'
    (1/3 | 3/1)

    Im Prinzip soll sichergestellt werden, dass wenn Source die Variablen (1=Ganzzahl, 2=Objekt, 3=Fließpunktzahl) beinhaltet, bei der Übersetzung nicht plötzlich (1=Fließpunktzahl, 2=Ganzzahl) oder ähnlicher Quatsch steht.
    (Wobei es vielleicht auch wieder gewollt sein kann, Zahlen anders zu formatieren oder überflüssige Informationen wegzulassen...)

    Wär natürlich wirkich cool, wenn man den AST von Clang dafür zweckentfremden könnte, dann müsste man den Krams nicht noch mal parsen obwohl das schon geparst wurde...
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Genau das macht der code vom programm oben den ich angehängt hab. mit clang libtooling hab ich mich nicht beschäftigt.

    Hab dann auch gleich noch ein paar checks eingebaut wie zb überprüfung von satzzeichen. Es gibt also eine warnung wenn der key mit zb doppelpunkt oder punkt endet, der übersetzte text dann aber nicht.
    oder eben wenn der key zeilenumbrüche enthält und die übersetzung nicht...
  • Marco Feltmann schrieb:

    Wär natürlich wirkich cool, wenn man den AST von Clang dafür zweckentfremden könnte, dann müsste man den Krams nicht noch mal parsen obwohl das schon geparst wurde...
    Es dürfte sinnvoller sein, mit clang libtooling selbst zu parsen, zumal es hier um ein paar Strings geht.
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • gritsch schrieb:

    Genau das macht der code vom programm oben den ich angehängt hab. mit clang libtooling hab ich mich nicht beschäftigt.
    Muss man auch nicht.

    gritsch schrieb:

    Hab dann auch gleich noch ein paar checks eingebaut wie zb überprüfung von satzzeichen. Es gibt also eine warnung wenn der key mit zb doppelpunkt oder punkt endet, der übersetzte text dann aber nicht.
    oder eben wenn der key zeilenumbrüche enthält und die übersetzung nicht...
    Ob Interpunktion wirklich in jeder Sprache gleich ist …
    Es hat noch nie etwas gefunzt. To tear down the Wall would be a Werror!
    25.06.2016: [Swift] gehört zu meinen *Favorite Tags* auf SO. In welcher Bedeutung von "favorite"?
  • Amin Negm-Awad schrieb:

    gritsch schrieb:

    Genau das macht der code vom programm oben den ich angehängt hab. mit clang libtooling hab ich mich nicht beschäftigt.
    Muss man auch nicht.

    gritsch schrieb:

    Hab dann auch gleich noch ein paar checks eingebaut wie zb überprüfung von satzzeichen. Es gibt also eine warnung wenn der key mit zb doppelpunkt oder punkt endet, der übersetzte text dann aber nicht.
    oder eben wenn der key zeilenumbrüche enthält und die übersetzung nicht...
    Ob Interpunktion wirklich in jeder Sprache gleich ist …
    deswegen ist das feature auch für bestimmte sprachen deaktivierbar. zb bei japanisch hab ichs deaktiviert, bei englisch, deutsch, italienisch, spanisch, französisch etc sollte aber der text immer mit einem doppelpunkt enden wenn der schlüssel mit einem endet. ob dann vor dem doppelpunkt noch ein leerzeichen kommt oder nicht wird nicht überprüft (weil das ja wieder sprachabhängig ist).