Dusty’s

Ubuntu + QEMU == Windows in a Box

Erstellt am: April 28th, 2009

Triumph! :D

Windows in a Box

Naja…beinahe! :)

Später mehr! ^_^

Neuer Artikel von mir auf Thats-Life.net

Erstellt am: April 13th, 2009

Da ich ja nun seit kurzem Co-Autor bei That’s-Life bin. Spamme ich hier einfach mal ein bisschen dafür. ;)

Viel Spaß beim schmökern!

Was zum Lachen: Edward Current

Erstellt am: April 11th, 2009

Edward Current, einer meiner Lieblingscomedians auf Youtube! Übrigens nichts für streng gläubige Christen und/oder Leute die auf Holz-Hammer Humor á la Gabi Köster oder Atze Schröder stehen. :)
<a href="http://youtube.com/watch?v=uvrm9E4fUGQ">http://youtube.com/watch?v=uvrm9E4fUGQ</a>

HINWEIS: Um diesen Artikel zu verstehen und nutzen zu können sind Vorkenntnisse erforderlich die man hier erhalten kann!

Ein Problem in das ich neulich gerannt bin ist die Übergabe von Parametern an Zeichenketten die von gettext verarbeitet werden.
Man kennt das ja von printf() oder sprintf(). Zuerst der String den man verwursten will, dann die die Variablen die anstelle der Platzhalter eingefügt werden sollen.

  1. printf("Ich habe %d Klimmz&uuml;ge gemacht bevor ich diesen %s verfasst habe.", 20, "Artikel");

Das ergibt im Idealfall sowas wie:

Ich habe 20 Klimmzüge gemacht bevor ich diesen Artikel verfasst habe.

Das erspart einem das Zerstückeln von Zeichenketten. Sowas wie…

  1. echo _("Ich habe").' $ammount '._("Klimz&uuml;ge gemacht bevor ich diesen").' $string '._("verfasst habe.");

… ist sehr Kontraproduktiv wenn man einen sauberen Übersetzungskatalog haben möchte.

Nun unterstützt gettext leider diese Art von Parameterübergabe nicht. Glücklicherweise gibt es aber einen recht guten Work-Around, den ich direkt auf php.net gefunden habe.

Folgende Funktion erledigt die “Drecksarbeit” für einen.

  1. function _vars($string) {        
  2.         $arg = array();
  3.         for($i = 1 ; $i < func_num_args(); $i++)
  4.             $arg[] = func_get_arg($i);
  5.  
  6.         return vsprintf(gettext($string), $arg);
  7. }

Nutzen tut man das ganze dann so:

  1. _vars("Ich habe %1\$s Klimmz&uuml;ge gemacht bevor ich diesen %2\$s verfasst habe.", "20", "Artikel");

poEdit nach diesen Strings suchen lassen

poEdit findet natürlich diese “_vars”-Strings nicht auf Anhieb. Man kann poEdit aber ganz einfach dazu bringen indem man unter dem Abschnitt “Schlüsselwörter” in den Katalog-Optionen das Schlüsselwort “_vars” hinzufügt. Nach dem nächsten Scan findet poEdit dann auch diese Zeichenketten.

Man darf natürlich auch in der Übersetzung die Platzhalter nicht vergessen! Allerdings in der Übersetzung bitte den Backslash “\” weglassen!. Also so “%1$1″ statt so “%1\$1″. Anderenfalls weigert sich poEdit zu speichern und zerschießt unter Umständen den Katalog!

Fandest du diesen Artikel hilfreich oder hast einen Fehler gefunden, hinterlasse doch bitte einen Kommentar! :)

Neues aus dem Postfach

Erstellt am: April 1st, 2009

Heute neu im Spam-Ordner:

Nachdem die Regierung erst kürzlich die staatliche Abwrackprämie über das Jahr 2009 hinaus verlängert hat, wurde nun auch ein Konjunkturpaket für die gebeutelte Tourismusindustrie beschlossen. Demnach darf jeder Bürger kostenlos eine Woche in ein 5-Sterne-Hotel in die Türkei inkl. Flug. Gezahlt werden müsse nur die Mehrwertsteuer in Höhe von 139 EUR. Zusätzlich wird ein Urlaubsgeld für 2010 gewährt. Die Aktion ist auf 100.000 Plätze begrenzt. Das Online Reisebüro Ab-in-den-Urlaub.de wurde exklusiv mit der Durchführung des Konjunkturpaketes beauftragt.

Danke für diese erheiternde Mail lieber Herr Thomas Wagner von der Unister GmbH im Barfußgäßchen 11 in 04109 Leipzig!