summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Pelz <pelzflorian@pelzflorian.de>2018-02-11 14:33:59 +0100
committerFlorian Pelz <pelzflorian@pelzflorian.de>2018-02-11 14:33:59 +0100
commit77e1c30532f0bf834ddc6709c7883c17bb46740f (patch)
treefb3aa948951d8180783db2ae60cddcf4153c2f0e
parentdf1d72037b553cbe2bfd8056d2478512132131f2 (diff)
Attempt to incorporate some of Ricardo Wurmus’ XML msg alternative.
See this e-mail: https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00194.html
-rw-r--r--haunt.scm367
-rw-r--r--po/de.po245
-rw-r--r--po/en.po240
3 files changed, 446 insertions, 406 deletions
diff --git a/haunt.scm b/haunt.scm
index 6bbc884..27acb27 100644
--- a/haunt.scm
+++ b/haunt.scm
@@ -35,6 +35,8 @@
(srfi srfi-1)
(srfi srfi-19)
(srfi srfi-26)
+ (sxml simple)
+ (sxml transform)
(haunt asset)
(haunt html)
(haunt page)
@@ -82,74 +84,35 @@ current-lingua."
(with-syntax ((current-lingua (datum->syntax x 'current-lingua)))
#'(translated-msg msg current-lingua))))))
-(define (translated-multipart-msg msg lingua assoc)
- "Looks up MSG for LINGUA via Gettext and returns a list of its parts.
+(define (translated-xml-msg msgid lingua . sxml-or-handlers)
+ "Looks up MSGID for LINGUA via Gettext and returns the result of
+transforming its XML tags with the handlers in SXML-OR-HANDLERS.
-Parts are separated by two vertical bars ||. If a part is prefixed by
-a text followed by a vertical bar the text is looked up a lambda in
-the association list ASSOC. If found, the lambda is called on the
-remainder of the part and the result added to the list. If it is not
-found or there is no vertical bar, the entire part is added to the
-list."
- (define (split-along-unescaped-matches str pattern)
- "Splits along pattern unless pattern is escaped by a backslash."
- (let loop ((remainder str) ; what to match with
- (start 0)) ; where to start matching, used to ignore
- ; escaped matches
- (let ((match (string-match pattern remainder start)))
- (if match ; if there is a match:
- (if (and
- ;; if match not at the beginning
- (not (= (match:start match) 0))
- (eq? ; and escaped by a backslash
- (string-ref
- remainder
- (- (match:start match) 1))
- #\\))
- ;; then continue matching after the escaped match:
- (loop
- (string-append ; the same as remainder but
- (string-drop-right (match:prefix match) 1) ; drop backslash
- (match:substring match)
- (match:suffix match))
- (- (match:end match) 1))
- ;; otherwise:
- (cons
- ;; everything before the match
- (match:prefix match)
- (loop ; recursive call
- (match:suffix match) ; on everything after the match
- 0))) ; start matching at start
- ;; if pattern did not match:
- (list remainder)))))
- (let ((msgstr-parts
- (split-along-unescaped-matches
- (translated-msg msg lingua)
- "\\\|\\\|")))
- (map
- (lambda (msgstr-part)
- (let* ((subparts
- (split-along-unescaped-matches
- msgstr-part
- "\\\|"))
- (from-assoc (assoc-ref assoc (car subparts)))
- (part-lambda (assoc-ref assoc (car subparts)))
- (args (cdr subparts)))
- (if part-lambda
- (if (procedure? part-lambda)
- (apply part-lambda args)
- ;; if in assoc but not a procedure, just insert it:
- from-assoc)
- msgstr-part)))
- msgstr-parts)))
+STRINGS-OR-HANDLERS is a list of pairs. The left part is the name of
+an XML tag. The right part is either a procedure transforming the
+tag and a its children into SXML or it is an SXML constant."
+ (define (sxml-or-handler->handler sxml-or-handler)
+ (if (procedure? (cdr sxml-or-handler))
+ sxml-or-handler
+ (cons (car sxml-or-handler)
+ (lambda (tag . kids) (cdr sxml-or-handler))))) ; constant function
+ (let ((wrapped-xml-msgid (string-append "<translation>"
+ (translated-msg msgid lingua)
+ "</translation>"))
+ (handlers (map sxml-or-handler->handler sxml-or-handlers)))
+ (cdadr ; cdadr unwraps the wrapped MSGID by removing XML tags outside MSGID
+ (pre-post-order (xml->sxml wrapped-xml-msgid)
+ `(,@handlers
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt)))))))
(define-syntax __
(lambda (x)
"Gettext shorthand for multipart messages separated by || in the string."
(syntax-case x ()
- ((__ msg assoc)
+ ((__ msg handler ...)
(with-syntax ((current-lingua (datum->syntax x 'current-lingua)))
- #'(translated-multipart-msg msg current-lingua assoc))))))
+ #'(translated-xml-msg msg current-lingua handler ...))))))
(define (is-post-file-name-for-lingua? file-name lingua)
(let ((beginning (string-join (list posts-dir lingua) "/" 'suffix)))
@@ -494,8 +457,8 @@ its index according to LESS-PROC."
(string-append
tag
".xml"))))
- ,@(__ "See other posts about ||descrip_||."
- `(("descrip_" . ,description))))))
+ ,@(__ "See other posts about <description/>."
+ `(description . ,description)))))
(define (tags-for-post-for-lingua post lingua)
"SXML for a list of tags of a post."
@@ -663,28 +626,33 @@ back button."
?message"))
"pelzflorian@chat.pelzflorian.de"))
(div
- ,@(__ "GnuPG key: ||gnupglink_|| (valid until \
-||gnupgexp_||)"
- `(("gnupglink_" .
- ,(a-href
- "/files/key.asc"
- "0x4947055B"))
- ("gnupgexp_" .
- "01/27/2019")))))
+ ,@(__ "GnuPG key: <gnupg-key-link/> (valid \
+until <gnupg-expiry-time/>)"
+ `(gnupg-key-link
+ . ,(a-href
+ "/files/key.asc"
+ "0x4947055B"))
+ '(gnupg-expiry-time
+ . "01/27/2019"))))
(div (@ (id "source-code-link"))
,@(__ "Find the source code for this website \
-||link_|here||."
- `(("link_" .
- ,(lambda (text)
- `(a (@ (href ,(build-url
- "git"
- "pelzfloriande-website")))
- ,text))))))
+<link>here</link>."
+ `(link
+ . ,(lambda (tag text)
+ `(a (@ (href
+ ,(build-url
+ "git"
+ "pelzfloriande-website")))
+ ,text)))))
(div (@ (id "powered-by"))
- ,@(__ "Powered by \
-||link_|https://www.gnu.org/software/guile/|GNU Guile|| and \
-||link_|https://haunt.dthompson.us/|Haunt||."
- `(("link_" . ,a-href))))))))))))))
+ ,@(__ "Powered by <link \
+url=\"https://www.gnu.org/software/guile/\">GNU Guile</link> and \
+<link url=\"https://haunt.dthompson.us/\">Haunt</link>."
+ `(link
+ . ,(lambda (tag attr text)
+ (a-href
+ (cadadr attr)
+ text)))))))))))))))
(define pelzflorian-blue-theme
;; The blog’s theme.
@@ -821,19 +789,19 @@ support") "screenshots/02-thumb.png" 224 126))
,(a-href-list-element
"/git/dont-hang/"
(_ "Current development version."))
- (li ,@(__ "aurlink_|“Don’t Hang” for Arch Linux|| and \
+ (li ,@(__ "<aurlink>“Don’t Hang” for Arch Linux</aurlink> and \
derivative GNU distributions such as \
-||parabolalink_|Parabola GNU/Linux-libre||."
- `(("aurlink_" .
- ,(lambda (text)
- (a-href
- "https://aur.archlinux.org/packages/dont-hang"
- text)))
- ("parabolalink_" .
- ,(lambda (text)
- (a-href
- "https://www.parabola.nu"
- text))))))
+<parabolalink>Parabola GNU/Linux-libre</parabolalink>."
+ `(aurlink
+ . ,(lambda (tag text)
+ (a-href
+ "https://aur.archlinux.org/packages/dont-hang"
+ text)))
+ `(parabolalink
+ . ,(lambda (tag text)
+ (a-href
+ "https://www.parabola.nu"
+ text)))))
(li
;; (a (@ (href
;; "binaries/windows/dont-hang-1.1.msi"))
@@ -856,33 +824,34 @@ home page."))
)
(h1 ,(_ "Word lists"))
(p ,@(__ "“Don’t Hang” by default uses the words from \
-the ||ic_|/usr/share/dict|| directory, but it can deal with any list of \
-expressions in a text file with one expression per line. ||samplelink_|Here|| \
-is an example word list file compiled with words from \
-||wiktionarylink_|Wiktionary’s list of 1000 basic English words|| which you \
-can use if you want simpler words. This sample word list is available under \
-the terms of ||ccbysalink_|the CC-BY-SA 3.0 Unported license||, because \
+the <ic>/usr/share/dict</ic> directory, but it can deal with any list of \
+expressions in a text file with one expression per line."
+ `(ic
+ . ,(lambda (tag text)
+ `(span (@ (class "inline-code"))
+ ,text))))
+ ,@(__ "<samplelink>Here</samplelink> is an example word list \
+file compiled with words from <wiktionarylink>Wiktionary’s list of 1000 basic \
+English words</wiktionarylink> which you can use if you want simpler words."
+ `(samplelink
+ . ,(lambda (tag text)
+ (a-href
+ "sample-word-lists/english-words.txt"
+ text)))
+ `(wiktionarylink
+ . ,(lambda (tag text)
+ (a-href
+ "https://en.wiktionary.org/wiki/Appendix: \
+1000_basic_English_words"
+ text))))
+ ,@(__ "This sample word list is available under the terms of \
+<ccbysalink>the CC-BY-SA 3.0 Unported license</ccbysalink>, because \
Wiktionary uses this license and the words are taken from there."
- `(("ic_" .
- ,(lambda (text)
- `(span (@ (class "inline-code"))
- ,text)))
- ("samplelink_" .
- ,(lambda (text)
- (a-href
- "sample-word-lists/english-words.txt"
- text)))
- ("wiktionarylink_" .
- ,(lambda (text)
- (a-href
- "https://en.wiktionary.org/wiki/Appendix: 1000_b\
-asic_English_words"
- text)))
- ("ccbysalink_" .
- ,(lambda (text)
- (a-href
- "sample-word-lists/CCBYSA-3.0-UNPORTED.txt"
- text))))))
+ `(ccbysalink
+ . ,(lambda (tag text)
+ (a-href
+ "sample-word-lists/CCBYSA-3.0-UNPORTED.txt"
+ text)))))
(p ,(_ "Please note that all words in the sample word list have \
been deliberately converted to upper case. The reason is that “Don’t Hang” \
displays words in upper case and storing the words in lower case would lead to \
@@ -906,65 +875,62 @@ Turkish locale."))
grandmother Elfriede Pelz. She was an elementary school teacher in Kappel in \
the German city of Freiburg im Breisgau and not only taught her students how \
to read but also valued a clear pronunciation."))
- (p ,@(__ "You may want to take a look at the plays if you \
-speak German or want to learn German. They are available under a free \
-license (||ccbysalink_||)."
- `(("ccbysalink_" .
- ,(lambda ()
- (a-href
- "https://creativecommons.org/licenses/by-sa/\
+ (p ,(_ "You may want to take a look at the plays if you \
+speak German or want to learn German.")
+ ,@(__ "They are available under a free license (<ccbysalink/>)."
+ `(ccbysalink
+ . ,(a-href
+ "https://creativecommons.org/licenses/by-sa/\
4.0/legalcode.de"
- "CC-BY-SA 4.0")))))
- (div (@ (class "vertically-padded centered"))
- ,(a-href "theater-fuer-kappler-grundschulkinder.pdf"
- (_ "Download")))
- ,(sortable-table-for-lingua
- `((,(_ "Play no.") ,(_ "Title"))
- ("1" "Kasperlespiel zum Schulanfang 1989")
- ("2" "Kasperle und der Zauberer vom Kybfelsen")
- ("3" "Dornröschen")
- ("4" "Mondfahrt in geheimer Mission")
- ("5" "Das tapfere Schneiderlein")
- ("6" "Der Teufel mit den drei goldenen Haaren")
- ("7" "Wie Eulenspiegel die Kranken heilte")
- ("8" ,(string-append
- "Das erste Weihnachtslied"
- (format #f (_ " (by ~A)")
- "Franz Pelz"))))
- (let ((german-string<?
- (lambda (a b)
- (let ((strip
- (lambda (string)
- "Strips off “Der ”, “Die ”, “Das ”,
-“Eine ”, “Ein ” from the beginning of a string."
- (cond
- ((and (> (string-length string) 4)
- (member
- (string-take string 4)
- '("Der " "Die " "Das "
- "Ein ")))
- (string-drop string 4))
- ((and (> (string-length string) 5)
- (member
- (string-take string 5)
- '("Eine ")))
- (string-drop string 5))
- (else string)))))
- (string-locale<?
- (strip a)
- (strip b)
- (make-locale LC_ALL "de_DE.UTF-8"))))))
- `(,german-string<? ,german-string<?))
- (_ "Table of contents")
- current-lingua)
- (img (@ (src "by-sa.svg")
- (alt "CC-BY-SA logo")))
- (p ,@(__ "Get the source code ||gitlink_|here||."
- `(("gitlink_" .
- ,(lambda (text)
- (a-href
- "/git/theater-fuer-kappler-grundschulkinder/"
- text)))))))
+ "CC-BY-SA 4.0"))))
+ (div (@ (class "vertically-padded centered"))
+ ,(a-href "theater-fuer-kappler-grundschulkinder.pdf"
+ (_ "Download")))
+ ,(sortable-table-for-lingua
+ `((,(_ "Play no.") ,(_ "Title"))
+ ("1" "Kasperlespiel zum Schulanfang 1989")
+ ("2" "Kasperle und der Zauberer vom Kybfelsen")
+ ("3" "Dornröschen")
+ ("4" "Mondfahrt in geheimer Mission")
+ ("5" "Das tapfere Schneiderlein")
+ ("6" "Der Teufel mit den drei goldenen Haaren")
+ ("7" "Wie Eulenspiegel die Kranken heilte")
+ ("8" ,(string-append
+ "Das erste Weihnachtslied"
+ (format #f (_ " (by ~A)")
+ "Franz Pelz"))))
+ (let ()
+ (define (german-string<? a b)
+ (define (strip string)
+ "Strips off “Der ”, “Die ”, “Das ”, “Eine ”, “Ein ”
+from the beginning of a string."
+ (cond
+ ((and (> (string-length string) 4)
+ (member
+ (string-take string 4)
+ '("Der " "Die " "Das " "Ein ")))
+ (string-drop string 4))
+ ((and (> (string-length string) 5)
+ (member
+ (string-take string 5)
+ '("Eine ")))
+ (string-drop string 5))
+ (else string)))
+ (string-locale<?
+ (strip a)
+ (strip b)
+ (make-locale LC_ALL "de_DE.UTF-8")))
+ `(,german-string<? ,german-string<?))
+ (_ "Table of contents")
+ current-lingua)
+ (img (@ (src "by-sa.svg")
+ (alt "CC-BY-SA logo")))
+ (p ,@(__ "Get the source code <link>here</link>."
+ `(link
+ . ,(lambda (tag text)
+ (a-href
+ "/git/theater-fuer-kappler-grundschulkinder/"
+ text)))))
,(back-button-for-lingua current-lingua)))))
(lambda (site posts)
(make-page "theater/index.html"
@@ -1046,9 +1012,9 @@ license (||ccbysalink_||)."
(p ,english-links)
(p "Deutsch:" ,german-links)))
(p
- (a-href
- "/git/gui-prog-gtk/tree/?id=f2fb450d34b8fd3b47420315547a61f7f7a6cd71"
- ,(_ "All source code for the workshop."))))))
+ ,(a-href
+ "/git/gui-prog-gtk/tree/?id=f2fb450d34b8fd3b47420315547a61f7f7a6cd71"
+ (_ "All source code for the workshop."))))))
(define (gui-prog-gtk-2017-body-for-lingua lingua)
(let ((current-lingua lingua)
@@ -1125,24 +1091,25 @@ license (||ccbysalink_||)."
(let ((body
(lambda (current-lingua)
`(div
- (p ,@(__ "Thank you for your interest in my workshop \
-“GUI Programming with GTK+”. ||register_|To register please go |here|. ||For \
-more information see ||link_|here||."
- `(("register_" .
- ,(lambda (before-link link-text after-link)
- (if enable-registration
- `(span
- ,before-link
- ,(a-href
- "/gui-prog-anmelden/"
- link-text)
- ,after-link)
- "")))
- ("link_" .
- ,(lambda (text)
- (a-href
- (poster-url-for-lingua current-lingua)
- text))))))
+ (p ,(_ "Thank you for your interest in my workshop \
+“GUI Programming with GTK+”.")
+ " "
+ ,(if enable-registration
+ `(
+ ,(__ "To register please go <link>here</link>."
+ `(link
+ . (lambda (tag text)
+ (a-href
+ "/gui-prog-anmelden/"
+ link-text))))
+ " ")
+ '())
+ ,@(__ "For more information see <link>here</link>."
+ `(link
+ . ,(lambda (tag text)
+ (a-href
+ (poster-url-for-lingua current-lingua)
+ text)))))
,(gui-prog-gtk-body-for-lingua current-lingua)
,(back-button-for-lingua current-lingua)))))
(lambda (site posts)
@@ -1259,7 +1226,7 @@ interesting things to share, I’ll put them up here.")))
#:subtitle
(lambda (tag)
(lambda (current-lingua)
- (car (__ "Recent posts for ||tag" `(("tag" . ,tag))))))
+ (__ "Recent posts for <tag/>" `(tag . ,tag))))
#:filter
(lambda (lingua)
(lambda (posts)
diff --git a/po/de.po b/po/de.po
index 561039f..971f2ce 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: pelzfloriande-website\n"
"Report-Msgid-Bugs-To: pelzflorian@pelzflorian.de\n"
-"POT-Creation-Date: 2018-02-10 08:22+0100\n"
-"PO-Revision-Date: 2018-02-10 08:24+0100\n"
+"POT-Creation-Date: 2018-02-11 14:23+0100\n"
+"PO-Revision-Date: 2018-02-11 14:24+0100\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"Language-Team: English <pelzflorian@pelzflorian.de>\n"
"Language: de\n"
@@ -18,117 +18,117 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: haunt.scm:425
+#: haunt.scm:386
msgid "Sort by:"
msgstr "Sortieren nach:"
-#: haunt.scm:479
+#: haunt.scm:440
msgid "← Back to home page"
msgstr "← Zurück zur hauptseite"
-#: haunt.scm:487
+#: haunt.scm:448
msgid "See other posts."
msgstr "Andere einträge ansehen."
-#: haunt.scm:497
-msgid "See other posts about ||descrip_||."
-msgstr "Andere einträge ansehen über ||descrip_||."
+#: haunt.scm:458
+msgid "See other posts about <description/>."
+msgstr "Andere einträge ansehen über <description/>."
-#: haunt.scm:506
+#: haunt.scm:467
msgid "Tags:"
msgstr "Schlüsselwörter:"
-#: haunt.scm:553
+#: haunt.scm:514
msgid "My blog in English"
msgstr "Mein blog auf deutsch"
-#: haunt.scm:562
+#: haunt.scm:523
msgid "@ietf-lang-tag"
msgstr "de"
-#: haunt.scm:613
+#: haunt.scm:574
msgid "Git Projects"
msgstr "Git-projecte"
-#: haunt.scm:619 haunt.scm:772 haunt.scm:896
+#: haunt.scm:580 haunt.scm:738 haunt.scm:863
msgid "Don’t Hang"
msgstr "Don’t Hang"
-#: haunt.scm:625
+#: haunt.scm:586
msgid "Theater für Kappler Grundschulkinder"
msgstr "Theater für Kappler Grundschulkinder"
-#: haunt.scm:631 haunt.scm:763
+#: haunt.scm:592 haunt.scm:729
msgid "Old stuff"
msgstr "Alter kram"
-#: haunt.scm:637
+#: haunt.scm:598
msgid "GTK+ Workshop 2017"
msgstr "GTK+-Workshop 2017"
-#: haunt.scm:643
+#: haunt.scm:604
msgid "GTK+ Workshop 2016"
msgstr "GTK+-Workshop 2016"
-#: haunt.scm:646
+#: haunt.scm:607
msgid "Subscribe to Atom feed"
msgstr "Als Atom-feed abonnieren"
-#: haunt.scm:653
+#: haunt.scm:614
msgid "Contact me:"
msgstr "So erreichen Sie mich:"
-#: haunt.scm:655
+#: haunt.scm:616
msgid "Mail:"
msgstr "E-mail:"
-#: haunt.scm:666
-msgid "GnuPG key: ||gnupglink_|| (valid until ||gnupgexp_||)"
-msgstr "GnuPG-schlüssel: ||gnupglink_|| (gültig bis ||gnupgexp_||)"
+#: haunt.scm:627
+msgid "GnuPG key: <gnupg-key-link/> (valid until <gnupg-expiry-time/>)"
+msgstr "GnuPG-schlüssel: <gnupg-key-link/> (gültig bis <gnupg-expiry-time/>)"
-#: haunt.scm:675
-msgid "Find the source code for this website ||link_|here||."
-msgstr "Den quellcode dieser Web-seite gibt es ||link_|hier||."
+#: haunt.scm:636
+msgid "Find the source code for this website <link>here</link>."
+msgstr "Den quellcode dieser Web-seite gibt es <link>hier</link>."
-#: haunt.scm:684
+#: haunt.scm:646
msgid ""
-"Powered by ||link_|https://www.gnu.org/software/guile/|GNU Guile|| and ||"
-"link_|https://haunt.dthompson.us/|Haunt||."
+"Powered by <link url=\"https://www.gnu.org/software/guile/\">GNU Guile</"
+"link> and <link url=\"https://haunt.dthompson.us/\">Haunt</link>."
msgstr ""
-"Sie läuft dank ||link_|https://www.gnu.org/software/guile/|GNU Guile|| und ||"
-"link_|https://haunt.dthompson.us/|Haunt||."
+"Sie läuft dank <link url=\"https://www.gnu.org/software/guile/\">GNU Guile</"
+"link> und <link url=\"https://haunt.dthompson.us/\">Haunt</link>."
-#: haunt.scm:713 haunt.scm:1246 haunt.scm:1254
+#: haunt.scm:679 haunt.scm:1211 haunt.scm:1219
msgid "Recent posts"
msgstr "Neue einträge"
-#: haunt.scm:739
+#: haunt.scm:705
msgid "Lecture notes"
msgstr "Vorlesungsnoticen"
-#: haunt.scm:740
+#: haunt.scm:706
msgid "Some German lecture summaries I made for lectures I heard in 2013:"
msgstr ""
"Ein paar selbst erstellte zusammenfassungen zu vorlesungen, die ich im "
"sommersemester 2013 gehört habe:"
-#: haunt.scm:751
+#: haunt.scm:717
msgid "C exercises (German)"
msgstr "C-übungen (deutsch)"
-#: haunt.scm:752
+#: haunt.scm:718
msgid "Includes a cheat sheet for working with C."
msgstr "Enthält einen spickzettel für die arbeit mit C."
-#: haunt.scm:756
+#: haunt.scm:722
msgid "C Exercises"
msgstr "C-übungen"
-#: haunt.scm:778
+#: haunt.scm:744
msgid "A simple GTK+ hangman game inspired by bsd-games’ hangman."
msgstr "Ein einfaches GTK+-galgenmännchen-spiel, inspiriert von bsd-games."
-#: haunt.scm:780
+#: haunt.scm:746
msgid ""
"“Don’t Hang” is a simple hangman game for acquiring and consolidating a "
"basic vocabulary in a foreign language. It supports loading custom word "
@@ -140,90 +140,101 @@ msgstr ""
"Unicode und bidirectionalen text. Außerdem bietet es die möglichkeit, "
"zeichen aus der zwischenablage einzufügen."
-#: haunt.scm:784
+#: haunt.scm:750
msgid "It is free software and also publicly available at no cost."
msgstr "Es ist freie software und kostenlos verfügbar."
-#: haunt.scm:787
+#: haunt.scm:753
msgid "Screenshots"
msgstr "Screenshots"
-#: haunt.scm:789
+#: haunt.scm:755
msgid "Guessing an expression"
msgstr "Beim erraten eines ausdrucks"
-#: haunt.scm:791
+#: haunt.scm:757
msgid "Right-to-left support"
msgstr "Rechts-nach-links-unterstützung"
-#: haunt.scm:806
+#: haunt.scm:772
msgid "News"
msgstr "Neuigkeiten"
-#: haunt.scm:812
+#: haunt.scm:778
msgid "“Don’t Hang”"
msgstr "„Don’t Hang“"
-#: haunt.scm:816
+#: haunt.scm:782
msgid "Downloads"
msgstr "Herunterladen"
-#: haunt.scm:820
+#: haunt.scm:786
msgid "“Don’t Hang” version 1.1 Source code."
msgstr "„Don’t Hang“: Quellcode von version 1.1."
-#: haunt.scm:823
+#: haunt.scm:789
msgid "Current development version."
msgstr "Momentaner entwicklungsstand."
-#: haunt.scm:824
+#: haunt.scm:790
msgid ""
-"aurlink_|“Don’t Hang” for Arch Linux|| and derivative GNU distributions such "
-"as ||parabolalink_|Parabola GNU/Linux-libre||."
+"<aurlink>“Don’t Hang” for Arch Linux</aurlink> and derivative GNU "
+"distributions such as <parabolalink>Parabola GNU/Linux-libre</parabolalink>."
msgstr ""
-"aurlink_|„Don’t Hang“ für Arch Linux|| und abgeleitete GNU-distributionen "
-"wie ||parabolalink_|Parabola GNU/Linux-libre||."
+"<aurlink>„Don’t Hang“ für Arch Linux</aurlink> und abgeleitete GNU-"
+"distributionen wie <parabolalink>Parabola GNU/Linux-libre</parabolalink>."
-#: haunt.scm:844
+#: haunt.scm:810
msgid "“portable” binaries without installer"
msgstr "„portable“ binärdateien ohne installation"
-#: haunt.scm:845
+#: haunt.scm:811
msgid " if you are still using Windows, all built using "
msgstr ""
" stehen zur verfügung, falls Sie noch immer Windows benutzen, gebaut mit "
-#: haunt.scm:847
+#: haunt.scm:813
msgid ""
" for which the source files are available at their\n"
"home page."
msgstr ", dessen quelldateien auf deren homepage zu finden sind."
-#: haunt.scm:857
+#: haunt.scm:823
msgid "Word lists"
msgstr "Wortlisten"
-#: haunt.scm:858
+#: haunt.scm:824
msgid ""
-"“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+"“Don’t Hang” by default uses the words from the <ic>/usr/share/dict</ic> "
"directory, but it can deal with any list of expressions in a text file with "
-"one expression per line. ||samplelink_|Here|| is an example word list file "
-"compiled with words from ||wiktionarylink_|Wiktionary’s list of 1000 basic "
-"English words|| which you can use if you want simpler words. This sample "
-"word list is available under the terms of ||ccbysalink_|the CC-BY-SA 3.0 "
-"Unported license||, because Wiktionary uses this license and the words are "
-"taken from there."
+"one expression per line."
msgstr ""
-"„Don’t Hang“ benutzt standardmäßig die wörter aus dem verzeichnis ||ic_|/usr/"
-"share/dict||, kann aber auch beliebige andere zeilenweise listen von "
-"ausdrücken aus einer textdatei lesen. ||samplelink_|Hier|| ist eine beispiel-"
-"wortlistendatei, zusammengestellt mit wörtern aus ||wiktionarylink_|"
-"Wiktionarys liste von 1000 grundlegenden englischen wörtern||, welche "
-"einfachere wörter enthält. Diese beispiel-wortliste ist zu den bedingungen ||"
-"ccbysalink_|der CC-BY-SA-3.0-Unported-licenz|| verfügbar, da diese licenz "
-"von Wiktionary benutzt wird und die wörter von dort genommen wurden."
+"„Don’t Hang“ benutzt standardmäßig die wörter aus dem verzeichnis <ic>/usr/"
+"share/dict</ic>, kann aber auch beliebige andere zeilenweise listen von "
+"ausdrücken aus einer textdatei lesen."
-#: haunt.scm:886
+#: haunt.scm:831
+msgid ""
+"<samplelink>Here</samplelink> is an example word list file compiled with "
+"words from <wiktionarylink>Wiktionary’s list of 1000 basic English words</"
+"wiktionarylink> which you can use if you want simpler words."
+msgstr ""
+"<samplelink>Hier</samplelink> ist eine beispiel-wortlistendatei, "
+"zusammengestellt mit wörtern aus <wiktionarylink>Wiktionarys liste von 1000 "
+"grundlegenden englischen wörtern</wiktionarylink>, welche einfachere wörter "
+"enthält."
+
+#: haunt.scm:845
+msgid ""
+"This sample word list is available under the terms of <ccbysalink>the CC-BY-"
+"SA 3.0 Unported license</ccbysalink>, because Wiktionary uses this license "
+"and the words are taken from there."
+msgstr ""
+"Diese beispiel-wortliste ist zu den bedingungen <ccbysalink>der CC-BY-SA-3.0-"
+"Unported-licenz</ccbysalink> verfügbar, da diese licenz von Wiktionary "
+"benutzt wird und die wörter von dort genommen wurden."
+
+#: haunt.scm:853
msgid ""
"Please note that all words in the sample word list have been deliberately "
"converted to upper case. The reason is that “Don’t Hang” displays words in "
@@ -236,11 +247,11 @@ msgstr ""
"fehlern in manchen regionalen varianten führen würde, z.b. würde das "
"englische wort „is“ mit türkischer spracheinstellung zu „İS“ werden."
-#: haunt.scm:904
+#: haunt.scm:871
msgid "Theater for elementary school kids from Kappel"
msgstr "Theater für Kappler Grundschulkinder"
-#: haunt.scm:905
+#: haunt.scm:872
msgid ""
"This is a collection of theater plays by my grandmother Elfriede Pelz. She "
"was an elementary school teacher in Kappel in the German city of Freiburg im "
@@ -253,66 +264,72 @@ msgstr ""
"schülern nicht nur wert auf das lesenlernen, sondern auch auf eine deutliche "
"aussprache gelegt."
-#: haunt.scm:909
+#: haunt.scm:876
msgid ""
"You may want to take a look at the plays if you speak German or want to "
-"learn German. They are available under a free license (||ccbysalink_||)."
-msgstr ""
-"Ich hoffe, sie dienen als inspiration oder schlicht gute lectüre. Sie sind "
-"unter einer freien licenz verfügbar (||ccbysalink_||)."
+"learn German."
+msgstr "Ich hoffe, sie dienen als inspiration oder schlicht gute lectüre."
+
+#: haunt.scm:878
+msgid "They are available under a free license (<ccbysalink/>)."
+msgstr "Sie sind unter einer freien licenz verfügbar (<ccbysalink/>)."
-#: haunt.scm:920
+#: haunt.scm:886
msgid "Download"
msgstr "Herunterladen"
-#: haunt.scm:922
+#: haunt.scm:888
msgid "Play no."
msgstr "Stück-nr."
-#: haunt.scm:922
+#: haunt.scm:888
msgid "Title"
msgstr "Titel"
-#: haunt.scm:932
+#: haunt.scm:898
#, scheme-format
msgid " (by ~A)"
msgstr " (von ~A)"
-#: haunt.scm:958
+#: haunt.scm:922
msgid "Table of contents"
msgstr "Inhaltsverzeichnis"
-#: haunt.scm:962
-msgid "Get the source code ||gitlink_|here||."
-msgstr "Sie finden den quellcode ||gitlink_|hier||."
+#: haunt.scm:926
+msgid "Get the source code <link>here</link>."
+msgstr "Sie finden den quellcode <link>hier</link>."
-#: haunt.scm:1051 haunt.scm:1118
+#: haunt.scm:1015 haunt.scm:1082
msgid "All source code for the workshop."
msgstr "Aller Quellcode zum Workshop."
-#: haunt.scm:1128
-msgid ""
-"Thank you for your interest in my workshop “GUI Programming with GTK+”. ||"
-"register_|To register please go |here|. ||For more information see ||link_|"
-"here||."
+#: haunt.scm:1092
+msgid "Thank you for your interest in my workshop “GUI Programming with GTK+”."
msgstr ""
"Vielen Dank für Ihr Interesse an meinem Workshop „GUI-Programmierung mit GTK"
-"+”. ||register_|Zur Anmeldung geht es |hier|. ||Weitere Informationen siehe "
-"||link_|hier||."
+"+”."
+
+#: haunt.scm:1097
+msgid "To register please go <link>here</link>."
+msgstr "Zur Anmeldung geht es <link>hier</link>."
+
+#: haunt.scm:1105
+msgid "For more information see <link>here</link>."
+msgstr "Weitere Informationen siehe <link>hier</link>."
-#: haunt.scm:1155
+#: haunt.scm:1120
msgid "GUI Programming with GTK+ "
msgstr "GUI-Programmierung mit GTK+ "
-#: haunt.scm:1170
+#: haunt.scm:1135
msgid "Home page"
msgstr "Hauptseite"
-#: haunt.scm:1174
+#: haunt.scm:1139
msgid "Welcome"
msgstr "Willkommen"
-#: haunt.scm:1175
+#: haunt.scm:1140
msgid ""
"Welcome to my personal web site. My name is Florian Pelz and I live in "
"Kaiserslautern in Germany. When I have interesting things to share, I’ll put "
@@ -322,6 +339,26 @@ msgstr ""
"Kaiserslautern. Wenn ich interessante sachen teilen möchte, lade ich sie "
"hier hoch."
-#: haunt.scm:1262
-msgid "Recent posts for ||tag"
-msgstr "Neue einträge für ||tag"
+#: haunt.scm:1227
+msgid "Recent posts for <tag/>"
+msgstr "Neue einträge für <tag/>"
+
+#~ msgid ""
+#~ "“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+#~ "directory, but it can deal with any list of expressions in a text file "
+#~ "with one expression per line. ||samplelink_|Here|| is an example word "
+#~ "list file compiled with words from ||wiktionarylink_|Wiktionary’s list of "
+#~ "1000 basic English words|| which you can use if you want simpler words. "
+#~ "This sample word list is available under the terms of ||ccbysalink_|the "
+#~ "CC-BY-SA 3.0 Unported license||, because Wiktionary uses this license and "
+#~ "the words are taken from there."
+#~ msgstr ""
+#~ "„Don’t Hang“ benutzt standardmäßig die wörter aus dem verzeichnis ||ic_|/"
+#~ "usr/share/dict||, kann aber auch beliebige andere zeilenweise listen von "
+#~ "ausdrücken aus einer textdatei lesen. ||samplelink_|Hier|| ist eine "
+#~ "beispiel-wortlistendatei, zusammengestellt mit wörtern aus ||"
+#~ "wiktionarylink_|Wiktionarys liste von 1000 grundlegenden englischen "
+#~ "wörtern||, welche einfachere wörter enthält. Diese beispiel-wortliste ist "
+#~ "zu den bedingungen ||ccbysalink_|der CC-BY-SA-3.0-Unported-licenz|| "
+#~ "verfügbar, da diese licenz von Wiktionary benutzt wird und die wörter von "
+#~ "dort genommen wurden."
diff --git a/po/en.po b/po/en.po
index b17640b..db9ffb9 100644
--- a/po/en.po
+++ b/po/en.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: pelzfloriande-website\n"
"Report-Msgid-Bugs-To: pelzflorian@pelzflorian.de\n"
-"POT-Creation-Date: 2018-02-10 08:22+0100\n"
-"PO-Revision-Date: 2018-02-10 08:24+0100\n"
+"POT-Creation-Date: 2018-02-11 14:23+0100\n"
+"PO-Revision-Date: 2018-02-11 14:24+0100\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"Language-Team: English <pelzflorian@pelzflorian.de>\n"
"Language: en\n"
@@ -18,115 +18,115 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
-#: haunt.scm:425
+#: haunt.scm:386
msgid "Sort by:"
msgstr "Sort by:"
-#: haunt.scm:479
+#: haunt.scm:440
msgid "← Back to home page"
msgstr "← Back to home page"
-#: haunt.scm:487
+#: haunt.scm:448
msgid "See other posts."
msgstr "See other posts."
-#: haunt.scm:497
-msgid "See other posts about ||descrip_||."
-msgstr "See other posts about ||descrip_||."
+#: haunt.scm:458
+msgid "See other posts about <description/>."
+msgstr "See other posts about <description/>."
-#: haunt.scm:506
+#: haunt.scm:467
msgid "Tags:"
msgstr "Tags:"
-#: haunt.scm:553
+#: haunt.scm:514
msgid "My blog in English"
msgstr "My blog in English"
-#: haunt.scm:562
+#: haunt.scm:523
msgid "@ietf-lang-tag"
msgstr "en"
-#: haunt.scm:613
+#: haunt.scm:574
msgid "Git Projects"
msgstr "Git Projects"
-#: haunt.scm:619 haunt.scm:772 haunt.scm:896
+#: haunt.scm:580 haunt.scm:738 haunt.scm:863
msgid "Don’t Hang"
msgstr "Don’t Hang"
-#: haunt.scm:625
+#: haunt.scm:586
msgid "Theater für Kappler Grundschulkinder"
msgstr "Theater für Kappler Grundschulkinder"
-#: haunt.scm:631 haunt.scm:763
+#: haunt.scm:592 haunt.scm:729
msgid "Old stuff"
msgstr "Old stuff"
-#: haunt.scm:637
+#: haunt.scm:598
msgid "GTK+ Workshop 2017"
msgstr "GTK+ Workshop 2017"
-#: haunt.scm:643
+#: haunt.scm:604
msgid "GTK+ Workshop 2016"
msgstr "GTK+ Workshop 2016"
-#: haunt.scm:646
+#: haunt.scm:607
msgid "Subscribe to Atom feed"
msgstr "Subscribe to Atom feed"
-#: haunt.scm:653
+#: haunt.scm:614
msgid "Contact me:"
msgstr "Contact me:"
-#: haunt.scm:655
+#: haunt.scm:616
msgid "Mail:"
msgstr "Mail:"
-#: haunt.scm:666
-msgid "GnuPG key: ||gnupglink_|| (valid until ||gnupgexp_||)"
-msgstr "GnuPG key: ||gnupglink_|| (valid until ||gnupgexp_||)"
+#: haunt.scm:627
+msgid "GnuPG key: <gnupg-key-link/> (valid until <gnupg-expiry-time/>)"
+msgstr "GnuPG key: <gnupg-key-link/> (valid until <gnupg-expiry-time/>)"
-#: haunt.scm:675
-msgid "Find the source code for this website ||link_|here||."
-msgstr "Find the source code for this website ||link_|here||."
+#: haunt.scm:636
+msgid "Find the source code for this website <link>here</link>."
+msgstr "Find the source code for this website <link>here</link>."
-#: haunt.scm:684
+#: haunt.scm:646
msgid ""
-"Powered by ||link_|https://www.gnu.org/software/guile/|GNU Guile|| and ||"
-"link_|https://haunt.dthompson.us/|Haunt||."
+"Powered by <link url=\"https://www.gnu.org/software/guile/\">GNU Guile</"
+"link> and <link url=\"https://haunt.dthompson.us/\">Haunt</link>."
msgstr ""
-"Powered by ||link_|https://www.gnu.org/software/guile/|GNU Guile|| and ||"
-"link_|https://haunt.dthompson.us/|Haunt||."
+"Powered by <link url=\"https://www.gnu.org/software/guile/\">GNU Guile</"
+"link> and <link url=\"https://haunt.dthompson.us/\">Haunt</link>."
-#: haunt.scm:713 haunt.scm:1246 haunt.scm:1254
+#: haunt.scm:679 haunt.scm:1211 haunt.scm:1219
msgid "Recent posts"
msgstr "Recent posts"
-#: haunt.scm:739
+#: haunt.scm:705
msgid "Lecture notes"
msgstr "Lecture notes"
-#: haunt.scm:740
+#: haunt.scm:706
msgid "Some German lecture summaries I made for lectures I heard in 2013:"
msgstr "Some German lecture summaries I made for lectures I heard in 2013:"
-#: haunt.scm:751
+#: haunt.scm:717
msgid "C exercises (German)"
msgstr "C exercises (German)"
-#: haunt.scm:752
+#: haunt.scm:718
msgid "Includes a cheat sheet for working with C."
msgstr "Includes a cheat sheet for working with C."
-#: haunt.scm:756
+#: haunt.scm:722
msgid "C Exercises"
msgstr "C Exercises"
-#: haunt.scm:778
+#: haunt.scm:744
msgid "A simple GTK+ hangman game inspired by bsd-games’ hangman."
msgstr "A simple GTK+ hangman game inspired by bsd-games’ hangman."
-#: haunt.scm:780
+#: haunt.scm:746
msgid ""
"“Don’t Hang” is a simple hangman game for acquiring and consolidating a "
"basic vocabulary in a foreign language. It supports loading custom word "
@@ -138,59 +138,59 @@ msgstr ""
"lists and works with Unicode and bidirectional text. It also supports "
"pasting characters from the clipboard."
-#: haunt.scm:784
+#: haunt.scm:750
msgid "It is free software and also publicly available at no cost."
msgstr "It is free software and also publicly available at no cost."
-#: haunt.scm:787
+#: haunt.scm:753
msgid "Screenshots"
msgstr "Screenshots"
-#: haunt.scm:789
+#: haunt.scm:755
msgid "Guessing an expression"
msgstr "Guessing an expression"
-#: haunt.scm:791
+#: haunt.scm:757
msgid "Right-to-left support"
msgstr "Right-to-left support"
-#: haunt.scm:806
+#: haunt.scm:772
msgid "News"
msgstr "News"
-#: haunt.scm:812
+#: haunt.scm:778
msgid "“Don’t Hang”"
msgstr "“Don’t Hang”"
-#: haunt.scm:816
+#: haunt.scm:782
msgid "Downloads"
msgstr "Downloads"
-#: haunt.scm:820
+#: haunt.scm:786
msgid "“Don’t Hang” version 1.1 Source code."
msgstr "“Don’t Hang” version 1.1 Source code."
-#: haunt.scm:823
+#: haunt.scm:789
msgid "Current development version."
msgstr "Current development version."
-#: haunt.scm:824
+#: haunt.scm:790
msgid ""
-"aurlink_|“Don’t Hang” for Arch Linux|| and derivative GNU distributions such "
-"as ||parabolalink_|Parabola GNU/Linux-libre||."
+"<aurlink>“Don’t Hang” for Arch Linux</aurlink> and derivative GNU "
+"distributions such as <parabolalink>Parabola GNU/Linux-libre</parabolalink>."
msgstr ""
-"aurlink_|“Don’t Hang” for Arch Linux|| and derivative GNU distributions such "
-"as ||parabolalink_|Parabola GNU/Linux-libre||."
+"<aurlink>“Don’t Hang” for Arch Linux</aurlink> and derivative GNU "
+"distributions such as <parabolalink>Parabola GNU/Linux-libre</parabolalink>."
-#: haunt.scm:844
+#: haunt.scm:810
msgid "“portable” binaries without installer"
msgstr "“portable” binaries without installer"
-#: haunt.scm:845
+#: haunt.scm:811
msgid " if you are still using Windows, all built using "
msgstr " if you are still using Windows, all built using "
-#: haunt.scm:847
+#: haunt.scm:813
msgid ""
" for which the source files are available at their\n"
"home page."
@@ -198,31 +198,41 @@ msgstr ""
" for which the source files are available at their\n"
"home page."
-#: haunt.scm:857
+#: haunt.scm:823
msgid "Word lists"
msgstr "Word lists"
-#: haunt.scm:858
+#: haunt.scm:824
msgid ""
-"“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+"“Don’t Hang” by default uses the words from the <ic>/usr/share/dict</ic> "
"directory, but it can deal with any list of expressions in a text file with "
-"one expression per line. ||samplelink_|Here|| is an example word list file "
-"compiled with words from ||wiktionarylink_|Wiktionary’s list of 1000 basic "
-"English words|| which you can use if you want simpler words. This sample "
-"word list is available under the terms of ||ccbysalink_|the CC-BY-SA 3.0 "
-"Unported license||, because Wiktionary uses this license and the words are "
-"taken from there."
+"one expression per line."
msgstr ""
-"“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+"“Don’t Hang” by default uses the words from the <ic>/usr/share/dict</ic> "
"directory, but it can deal with any list of expressions in a text file with "
-"one expression per line. ||samplelink_|Here|| is an example word list file "
-"compiled with words from ||wiktionarylink_|Wiktionary’s list of 1000 basic "
-"English words|| which you can use if you want simpler words. This sample "
-"word list is available under the terms of ||ccbysalink_|the CC-BY-SA 3.0 "
-"Unported license||, because Wiktionary uses this license and the words are "
-"taken from there."
+"one expression per line."
-#: haunt.scm:886
+#: haunt.scm:831
+msgid ""
+"<samplelink>Here</samplelink> is an example word list file compiled with "
+"words from <wiktionarylink>Wiktionary’s list of 1000 basic English words</"
+"wiktionarylink> which you can use if you want simpler words."
+msgstr ""
+"<samplelink>Here</samplelink> is an example word list file compiled with "
+"words from <wiktionarylink>Wiktionary’s list of 1000 basic English words</"
+"wiktionarylink> which you can use if you want simpler words."
+
+#: haunt.scm:845
+msgid ""
+"This sample word list is available under the terms of <ccbysalink>the CC-BY-"
+"SA 3.0 Unported license</ccbysalink>, because Wiktionary uses this license "
+"and the words are taken from there."
+msgstr ""
+"This sample word list is available under the terms of <ccbysalink>the CC-BY-"
+"SA 3.0 Unported license</ccbysalink>, because Wiktionary uses this license "
+"and the words are taken from there."
+
+#: haunt.scm:853
msgid ""
"Please note that all words in the sample word list have been deliberately "
"converted to upper case. The reason is that “Don’t Hang” displays words in "
@@ -234,11 +244,11 @@ msgstr ""
"upper case and storing the words in lower case would lead to errors in some "
"locales, e.g. the English word “is” would become “İS” in a Turkish locale."
-#: haunt.scm:904
+#: haunt.scm:871
msgid "Theater for elementary school kids from Kappel"
msgstr "Theater for elementary school kids from Kappel"
-#: haunt.scm:905
+#: haunt.scm:872
msgid ""
"This is a collection of theater plays by my grandmother Elfriede Pelz. She "
"was an elementary school teacher in Kappel in the German city of Freiburg im "
@@ -250,66 +260,73 @@ msgstr ""
"Breisgau and not only taught her students how to read but also valued a "
"clear pronunciation."
-#: haunt.scm:909
+#: haunt.scm:876
msgid ""
"You may want to take a look at the plays if you speak German or want to "
-"learn German. They are available under a free license (||ccbysalink_||)."
+"learn German."
msgstr ""
"You may want to take a look at the plays if you speak German or want to "
-"learn German. They are available under a free license (||ccbysalink_||)."
+"learn German."
+
+#: haunt.scm:878
+msgid "They are available under a free license (<ccbysalink/>)."
+msgstr "They are available under a free license (<ccbysalink/>)."
-#: haunt.scm:920
+#: haunt.scm:886
msgid "Download"
msgstr "Download"
-#: haunt.scm:922
+#: haunt.scm:888
msgid "Play no."
msgstr "Play no."
-#: haunt.scm:922
+#: haunt.scm:888
msgid "Title"
msgstr "Title"
-#: haunt.scm:932
+#: haunt.scm:898
#, scheme-format
msgid " (by ~A)"
msgstr " (by ~A)"
-#: haunt.scm:958
+#: haunt.scm:922
msgid "Table of contents"
msgstr "Table of contents"
-#: haunt.scm:962
-msgid "Get the source code ||gitlink_|here||."
-msgstr "Get the source code ||gitlink_|here||."
+#: haunt.scm:926
+msgid "Get the source code <link>here</link>."
+msgstr "Get the source code <link>here</link>."
-#: haunt.scm:1051 haunt.scm:1118
+#: haunt.scm:1015 haunt.scm:1082
msgid "All source code for the workshop."
msgstr "All source code for the workshop."
-#: haunt.scm:1128
-msgid ""
-"Thank you for your interest in my workshop “GUI Programming with GTK+”. ||"
-"register_|To register please go |here|. ||For more information see ||link_|"
-"here||."
+#: haunt.scm:1092
+msgid "Thank you for your interest in my workshop “GUI Programming with GTK+”."
msgstr ""
-"Thank you for your interest in my workshop “GUI Programming with GTK+”. ||"
-"register_|To register please go |here|. ||For more information see ||link_|"
-"here||."
+"Thank you for your interest in my workshop “GUI Programming with GTK+”."
+
+#: haunt.scm:1097
+msgid "To register please go <link>here</link>."
+msgstr "To register please go <link>here</link>."
+
+#: haunt.scm:1105
+msgid "For more information see <link>here</link>."
+msgstr "For more information see <link>here</link>."
-#: haunt.scm:1155
+#: haunt.scm:1120
msgid "GUI Programming with GTK+ "
msgstr "GUI Programming with GTK+ "
-#: haunt.scm:1170
+#: haunt.scm:1135
msgid "Home page"
msgstr "Home page"
-#: haunt.scm:1174
+#: haunt.scm:1139
msgid "Welcome"
msgstr "Welcome"
-#: haunt.scm:1175
+#: haunt.scm:1140
msgid ""
"Welcome to my personal web site. My name is Florian Pelz and I live in "
"Kaiserslautern in Germany. When I have interesting things to share, I’ll put "
@@ -319,6 +336,25 @@ msgstr ""
"Kaiserslautern in Germany. When I have interesting things to share, I’ll put "
"them up here."
-#: haunt.scm:1262
-msgid "Recent posts for ||tag"
-msgstr "Recent posts for ||tag"
+#: haunt.scm:1227
+msgid "Recent posts for <tag/>"
+msgstr "Recent posts for <tag/>"
+
+#~ msgid ""
+#~ "“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+#~ "directory, but it can deal with any list of expressions in a text file "
+#~ "with one expression per line. ||samplelink_|Here|| is an example word "
+#~ "list file compiled with words from ||wiktionarylink_|Wiktionary’s list of "
+#~ "1000 basic English words|| which you can use if you want simpler words. "
+#~ "This sample word list is available under the terms of ||ccbysalink_|the "
+#~ "CC-BY-SA 3.0 Unported license||, because Wiktionary uses this license and "
+#~ "the words are taken from there."
+#~ msgstr ""
+#~ "“Don’t Hang” by default uses the words from the ||ic_|/usr/share/dict|| "
+#~ "directory, but it can deal with any list of expressions in a text file "
+#~ "with one expression per line. ||samplelink_|Here|| is an example word "
+#~ "list file compiled with words from ||wiktionarylink_|Wiktionary’s list of "
+#~ "1000 basic English words|| which you can use if you want simpler words. "
+#~ "This sample word list is available under the terms of ||ccbysalink_|the "
+#~ "CC-BY-SA 3.0 Unported license||, because Wiktionary uses this license and "
+#~ "the words are taken from there."