Like-System

  • Hallo Udo,

    ich habe bei


    <item name="wcf.jcoins.statement.reason.de.wcflabs.jcoins.statement.dislike"><![CDATA[{if $statement->usernameExecuter}{$statement->usernameExecuter}{else}Jemandem{/if} gefällt{if $statement->getObject()} {if LANGUAGE_USE_INFORMAL_VARIANT}dein{else}Ihr{/if} {lang}wcf.like.objectType.{$statement->objectTypeName}{/lang} „{$statement->getObject()->getTitle()}“{else} etwas von {if LANGUAGE_USE_INFORMAL_VARIANT}dir{else}Ihnen{/if}{/if} nicht.]]></item>


    folgendes Problem.


    Muss kurz ausholen. Das mit gefällt und gefällt nicht ist trickreich, besonders in anderen Sprachen. Mir hatte vor zwei Jahren Marcel und Alexander geholfen, das zu lösen, weil sich zB im Spanischen nicht nur ein Wort ändert, sondern das ganze Konstrukt.

    Das wichtige dabei ist, das bei der Verneinung (gefällt nicht) WoltLab immer mit {if $like->isDislike()} nicht{/if} definiert wird. Ihr oder/und Peter hat es bei dem kleinen JCoins-Plugin etwas anders gelöst, obwohl er sonst auch die {if $like->isDislike()} nicht{/if} Definition in seinen Apps verwendet. Er hat für ja und nein ausnahmsweise einfach zwei eigene, autarke Sprachvariablen erstellt. Das geht natürlich auch, ist für Übersetzer sogar die einfachste Methode, da es zwei eigene Sätze sind.

    Hier im Beispiel oben jedoch, steht das "nicht" einfach am Ende. Ich will die App auch wenn noch nicht fertig übersetzt gleich mal installieren und schauen, wie das nicht-Beispiel aussieht.

    Fakt ist einfach, daß man es so gar nicht übersetzen kann, weil das nein bzw nicht irgendwie in einer Definition eingebunden sein muss. Im gegenwärtigen Zustand kann ich nur eins machen: zu entscheiden ob NUR ja (gefällt) oder NUR nein (gefällt nicht) angezeigt werden soll.

    In anderen Sprachen steht es auch nie am Ende vom Satz, sondern in der Mitte.


    Da die Sprachvariable irgendwas mit "dislike" benannt wurde, ist die Frage aller Fragen, ob hier überhaupt das gefällt mir (positiv) angezeigt wird oder werden soll, oder es tatsächlich NUR um den Dislike geht. Denn dann hätte ich mir das ganze Getippse sparen können.


    Da ich mittlerweile mit dem Like-System umgehen kann, habe ich einfach mal ins Blaue hinein das so gebaut wie es mit dem "nicht-Konstrukt" aussehen würde:


    In deutsch (ist das Beispiel eigentlich sinnlos, aber mal als Anschauung)


    <item name="wcf.jcoins.statement.reason.de.wcflabs.jcoins.statement.dislike"><![CDATA[{if $statement->usernameExecuter}{$statement->usernameExecuter}{else}Jemandem{/if} gefällt{if $statement->getObject()} {if LANGUAGE_USE_INFORMAL_VARIANT}dein{else}Ihr{/if} {lang}wcf.like.objectType.{$statement->objectTypeName}{/lang} „{$statement->getObject()->getTitle()}“{else} etwas von {if LANGUAGE_USE_INFORMAL_VARIANT}dir{else}Ihnen{/if}{/if} {if $like->isDislike()}nicht{/if}.]]></item>


    In Spanisch


    <item name="wcf.jcoins.statement.reason.de.wcflabs.jcoins.statement.dislike"><![CDATA[{if $statement->usernameExecuter}{$statement->usernameExecuter}{else}Alguien{/if} {if $like->isDislike()}no{/if} le gusta{if $statement->getObject()} tu {lang}wcf.like.objectType.{$statement->objectTypeName}{/lang} „{$statement->getObject()->getTitle()}“{else} algo de ti{/if}.]]></item>

  • Überraschung UdoZ

    JCoins 5.2.0 Übersetzungen sind eben schon fertig geworden.

    Installation hat funktioniert - alles funktioniert bisher.

    Super Tool. Hatte es bisher nie live getestet, bei mir nicht und auch bei anderen nicht. Hab einfach nie die Zeit und Muse gehabt bei anderen mal reinzuschauen.

    Macht Spaß, hat was von einem belohnungssystem, das aber auch ein volles Zahlungsmittel darstellt. Stelle es jetzt ins Fenster.


    Jetzt auch in Spanisch, Polnisch, und Portugiesisch. <3

  • In JCoins bis WSC 3.1 wird tatsächlich das Vergeben von Likes und Dislikes getrennt überwacht. Deswegen gibt es tatsächlich eigene Sprachvariablen für Dislike. Und man kann auch unterschiedliche Einkünfte für Likes / Dislikes definieren.


    Dieses Like-abhängige 'nicht'-Konstrukt ist daher nicht erforderlich.

  • UdoZ

    Added the Label Not a bug