🌐 german translation
This commit is contained in:
parent
7663e3a43a
commit
73108f693a
@ -1,6 +1,6 @@
|
|||||||
body {
|
body {
|
||||||
font-family: Futura, sans-serif;
|
font-family: Futura, sans-serif;
|
||||||
background-color: #9ED2FF;
|
background-color: #FFCF9E;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
|
@ -1,40 +1,5 @@
|
|||||||
she her her hers herself
|
sie ihr ihr ihres sie
|
||||||
he him his his himself
|
er ihm sein seines ihn
|
||||||
they them their theirs themselves
|
hen hem hens hens hen
|
||||||
ze hir hir hirs hirself
|
dey dem deir deirs dem
|
||||||
ze zir zir zirs zirself
|
dey dem deren deren dem
|
||||||
xey xem xyr xyrs xemself
|
|
||||||
ae aer aer aers aerself
|
|
||||||
e em eir eirs emself
|
|
||||||
ey em eir eirs eirself
|
|
||||||
fae faer faer faers faerself
|
|
||||||
fey fem feir feirs feirself
|
|
||||||
hu hum hus hus humself
|
|
||||||
it it its its itself
|
|
||||||
jee jem jeir jeirs jemself
|
|
||||||
kit kit kits kits kitself
|
|
||||||
ne nem nir nirs nemself
|
|
||||||
peh pehm peh's peh's pehself
|
|
||||||
per per per pers perself
|
|
||||||
sie hir hir hirs hirself
|
|
||||||
se sim ser sers serself
|
|
||||||
shi hir hir hirs hirself
|
|
||||||
si hyr hyr hyrs hyrself
|
|
||||||
they them their theirs themself
|
|
||||||
thon thon thons thons thonself
|
|
||||||
ve ver vis vis verself
|
|
||||||
ve vem vir virs vemself
|
|
||||||
vi ver ver vers verself
|
|
||||||
vi vim vir virs vimself
|
|
||||||
vi vim vim vims vimself
|
|
||||||
xie xer xer xers xerself
|
|
||||||
xe xem xyr xyrs xemself
|
|
||||||
xey xem xeir xeirs xemself
|
|
||||||
yo yo yos yos yosself
|
|
||||||
ze zem zes zes zirself
|
|
||||||
ze mer zer zers zemself
|
|
||||||
zee zed zeta zetas zedself
|
|
||||||
zie zir zir zirs zirself
|
|
||||||
zie zem zes zes zirself
|
|
||||||
zie hir hir hirs hirself
|
|
||||||
zme zmyr zmyr zmyrs zmyrself
|
|
||||||
|
@ -28,8 +28,8 @@
|
|||||||
(let [c (count items)]
|
(let [c (count items)]
|
||||||
(cond
|
(cond
|
||||||
(<= c 1) (or (first items) "")
|
(<= c 1) (or (first items) "")
|
||||||
(= c 2) (s/join " and " items)
|
(= c 2) (s/join " und " items)
|
||||||
:else (str (s/join ", " (butlast items)) ", and " (last items)))))
|
:else (str (s/join ", " (butlast items)) ", und " (last items)))))
|
||||||
|
|
||||||
(defn href
|
(defn href
|
||||||
[url text]
|
[url text]
|
||||||
@ -44,77 +44,76 @@
|
|||||||
(defn render-sentence [& content]
|
(defn render-sentence [& content]
|
||||||
[:p.sentence content])
|
[:p.sentence content])
|
||||||
|
|
||||||
(defn subject-example
|
(defn nominativ-example
|
||||||
[subject]
|
[nominativ]
|
||||||
(render-sentence (wrap-pronoun (s/capitalize subject)) " went to the park."))
|
(render-sentence (wrap-pronoun (s/capitalize nominativ)) " ging in den Park."))
|
||||||
|
|
||||||
(defn object-example
|
(defn dativ-example
|
||||||
[object]
|
[dativ]
|
||||||
(render-sentence "I went with " (wrap-pronoun object) "."))
|
(render-sentence "Ich ging mit " (wrap-pronoun dativ) "."))
|
||||||
|
|
||||||
(defn posessive-determiner-example
|
(defn possessiv-example
|
||||||
[subject possessive-determiner]
|
[nominativ possessiv]
|
||||||
(render-sentence (wrap-pronoun (s/capitalize subject))
|
(render-sentence (wrap-pronoun (s/capitalize nominativ))
|
||||||
" brought "
|
" hatte "
|
||||||
(wrap-pronoun possessive-determiner)
|
(wrap-pronoun possessiv)
|
||||||
" frisbee."))
|
" Frisbee dabei."))
|
||||||
|
|
||||||
(defn possessive-pronoun-example
|
(defn genitiv-example
|
||||||
[possessive-pronoun]
|
[genitiv]
|
||||||
(render-sentence "At least I think it was "
|
(render-sentence "Zumindest glaube ich, es war "
|
||||||
(wrap-pronoun possessive-pronoun)
|
(wrap-pronoun genitiv)
|
||||||
"."))
|
"."))
|
||||||
|
|
||||||
(defn reflexive-example
|
(defn akkusativ-example
|
||||||
[subject reflexive]
|
[akkusativ]
|
||||||
(render-sentence (wrap-pronoun (s/capitalize subject))
|
(render-sentence "Ich habe "
|
||||||
" threw the frisbee to "
|
(wrap-pronoun akkusativ)
|
||||||
(wrap-pronoun reflexive)
|
" gestern schon damit gesehen."))
|
||||||
"."))
|
|
||||||
|
|
||||||
(defn header-block [header]
|
(defn header-block [header]
|
||||||
[:div {:class "section title"}
|
[:div {:class "section title"}
|
||||||
(href "/" [:h1 header])])
|
(href "/" [:h1 header])])
|
||||||
|
|
||||||
(defn examples-block
|
(defn examples-block
|
||||||
[subject object possessive-determiner possessive-pronoun reflexive]
|
[nominativ dativ possessiv genitiv akkusativ]
|
||||||
(let [sub-obj (s/join "/" [subject object])
|
(let [sub-obj (s/join "/" [nominativ dativ])
|
||||||
header-str (str "Here are some example sentences using my "
|
header-str (str "Hier sind einige Beispielsätze mit meinen "
|
||||||
sub-obj
|
sub-obj
|
||||||
" pronouns:")]
|
" Pronomen:")]
|
||||||
[:div {:class "section examples"}
|
[:div {:class "section examples"}
|
||||||
[:h2 header-str]
|
[:h2 header-str]
|
||||||
[:div (subject-example subject)
|
[:div (nominativ-example nominativ)
|
||||||
(object-example object)
|
(dativ-example dativ)
|
||||||
(posessive-determiner-example subject possessive-determiner)
|
(possessiv-example nominativ possessiv)
|
||||||
(possessive-pronoun-example possessive-pronoun)
|
(genitiv-example genitiv)
|
||||||
(reflexive-example subject reflexive)]]))
|
(akkusativ-example akkusativ)]]))
|
||||||
|
|
||||||
(defn usage-block []
|
(defn usage-block []
|
||||||
[:div {:class "section usage"}
|
[:div {:class "section usage"}
|
||||||
[:p "Full usage: "
|
[:p "Volle Verwendung: "
|
||||||
;; FIXME morgan.astra <2018-11-14 Wed>
|
;; FIXME morgan.astra <2018-11-14 Wed>
|
||||||
;; This looks really ugly in the browser
|
;; This looks really ugly in the browser
|
||||||
[:tt "https://pronomen.lol/subject-pronoun/object-pronoun/possessive-determiner/possessive-pronoun/reflexive"]
|
[:tt "https://pronomen.lol/nominativ/dativ/possessiv/genitiv/akkusativ"]
|
||||||
" displays examples of your pronouns."]
|
" zeigt Beispiele zu deinen Pronomen."]
|
||||||
[:p "This is a bit unwieldy. If we have a good guess we'll let you use"
|
[:p "Das ist ein wenig unhandlich. Bei Pronomen, die der Webseite bekannt sind"
|
||||||
" just the first one or two."]])
|
" reichen die ersten ein bis zwei Parameter."]])
|
||||||
|
|
||||||
(defn contact-block []
|
(defn contact-block []
|
||||||
[:div {:class "section contact"}
|
[:div {:class "section contact"}
|
||||||
[:p "Written by morganastra ("
|
[:p "Geschrieben von morganastra ("
|
||||||
(href "https://pronomen.lol/she" "pronomen.lol/she")
|
(href "https://pronomen.lol/sie" "pronomen.lol/sie")
|
||||||
")"]
|
")"]
|
||||||
[:p "pronomen.lol is free software under the "
|
[:p "pronomen.lol ist freie Software unter der Lizenz "
|
||||||
(href "https://www.gnu.org/licenses/agpl.html" "AGPLv3")
|
(href "https://www.gnu.org/licenses/agpl.html" "AGPLv3")
|
||||||
"! visit the project on "
|
"! besuche des Projekt auf "
|
||||||
(href "https://git.tjdev.de/kimendisch/pronomen.lol" "Git")]
|
(href "https://git.tjdev.de/kimendisch/pronomen.lol" "Git")]
|
||||||
[:p "Hosted by Kim Endisch ("
|
[:p "Betrieben durch Kim Endisch ("
|
||||||
(href "https://pronomen.lol/they" "pronomen.lol/they")
|
(href "https://pronomen.lol/dey" "pronomen.lol/dey")
|
||||||
")"]
|
")"]
|
||||||
[:p (href "https://www.tjdev.de/imprint" "Imprint")
|
[:p (href "https://www.tjdev.de/impressum" "Impressum")
|
||||||
" | "
|
" | "
|
||||||
(href "https://www.tjdev.de/privacy" "Privacy Policy")]
|
(href "https://www.tjdev.de/datenschutz" "Datenschutzerklärung")]
|
||||||
[:p "<3"]])
|
[:p "<3"]])
|
||||||
|
|
||||||
(defn footer-block []
|
(defn footer-block []
|
||||||
@ -123,7 +122,7 @@
|
|||||||
(defn format-pronoun-examples
|
(defn format-pronoun-examples
|
||||||
[pronoun-declensions]
|
[pronoun-declensions]
|
||||||
(let [sub-objs (map #(s/join "/" (take 2 %)) pronoun-declensions)
|
(let [sub-objs (map #(s/join "/" (take 2 %)) pronoun-declensions)
|
||||||
title (str "Pronomen LOL: " (prose-comma-list sub-objs) " examples")
|
title (str "Pronomen LOL: " (prose-comma-list sub-objs) " Beispiele")
|
||||||
examples (map #(apply examples-block %) pronoun-declensions)]
|
examples (map #(apply examples-block %) pronoun-declensions)]
|
||||||
(html
|
(html
|
||||||
[:html
|
[:html
|
||||||
@ -166,7 +165,7 @@
|
|||||||
(let [abbreviations (take 6 (u/abbreviate @pronouns-table))
|
(let [abbreviations (take 6 (u/abbreviate @pronouns-table))
|
||||||
links (map make-link abbreviations)
|
links (map make-link abbreviations)
|
||||||
title "Pronomen LOL"
|
title "Pronomen LOL"
|
||||||
description "Pronomen.lol is a website for personal pronoun usage examples."]
|
description "Pronomen.lol ist eine Webseite mit Beispielen zur Nutzung persönlicher Pronomen."]
|
||||||
(html
|
(html
|
||||||
[:html
|
[:html
|
||||||
[:head
|
[:head
|
||||||
@ -183,10 +182,10 @@
|
|||||||
[:body
|
[:body
|
||||||
(header-block title)
|
(header-block title)
|
||||||
[:div {:class "section table"}
|
[:div {:class "section table"}
|
||||||
[:p "pronomen.lol is a website for personal pronoun usage examples"]
|
[:p "pronomen.lol ist eine Webseite mit Beispielen zur Nutzung persönlicher Pronomen"]
|
||||||
[:p "here are some pronouns the site knows about:"]
|
[:p "hier einige Pronomen, die diese Webseite kennt:"]
|
||||||
[:ul links]
|
[:ul links]
|
||||||
[:p [:small (href "all-pronouns" "see all pronouns in the database")]]]]
|
[:p [:small (href "all-pronouns" "alle Pronomen ansehen")]]]]
|
||||||
(footer-block)])))
|
(footer-block)])))
|
||||||
|
|
||||||
(defn all-pronouns []
|
(defn all-pronouns []
|
||||||
@ -205,12 +204,12 @@
|
|||||||
[:body
|
[:body
|
||||||
(header-block title)
|
(header-block title)
|
||||||
[:div {:class "section table"}
|
[:div {:class "section table"}
|
||||||
[:p "All pronouns the site knows about:"]
|
[:p "Alle Pronomen, die diese Webseite kennt:"]
|
||||||
[:ul links]]]
|
[:ul links]]]
|
||||||
(footer-block)])))
|
(footer-block)])))
|
||||||
|
|
||||||
(defn not-found [path]
|
(defn not-found [path]
|
||||||
(let [title "Pronomen LOL: English Language Examples"
|
(let [title "Pronomen LOL: Beispiele in Deutscher Sprache"
|
||||||
or-re #"/[oO][rR]/"]
|
or-re #"/[oO][rR]/"]
|
||||||
(html
|
(html
|
||||||
[:html
|
[:html
|
||||||
@ -224,13 +223,13 @@
|
|||||||
[:body
|
[:body
|
||||||
(header-block title)
|
(header-block title)
|
||||||
[:div {:class "section examples"}
|
[:div {:class "section examples"}
|
||||||
[:p [:h2 "We couldn't find those pronouns in our database :("]
|
[:p [:h2 "Wir konnten diese Pronomen nicht in unserer Datenbank finden :("]
|
||||||
"If you think we should have them, please reach out!"]
|
"Wenn Du denkst, die Seite sollte diese Pronomen kennen, gib Bescheid!"]
|
||||||
(when (re-find or-re path)
|
(when (re-find or-re path)
|
||||||
(let [alts (s/split path or-re)
|
(let [alts (s/split path or-re)
|
||||||
new-path (str "/" (s/join "/:OR/" alts))]
|
new-path (str "/" (s/join "/:OR/" alts))]
|
||||||
[:div
|
[:div
|
||||||
"Did you mean: "
|
"Meintest Du: "
|
||||||
(href new-path
|
(href new-path
|
||||||
(str "pronomen.lol"
|
(str "pronomen.lol"
|
||||||
new-path))]))]
|
new-path))]))]
|
||||||
@ -238,8 +237,8 @@
|
|||||||
|
|
||||||
(defn pronouns [params]
|
(defn pronouns [params]
|
||||||
(let [path (params :*)
|
(let [path (params :*)
|
||||||
param-alts (u/vec-coerce (or (params "or") []))
|
param-alts (u/vec-coerce (or (params "oder") []))
|
||||||
path-alts (s/split path #"/:[oO][rR]/")
|
path-alts (s/split path #"/:[oO][dD][eE][rR]/")
|
||||||
pronouns (lookup-pronouns (concat path-alts param-alts))]
|
pronouns (lookup-pronouns (concat path-alts param-alts))]
|
||||||
(if (seq pronouns)
|
(if (seq pronouns)
|
||||||
(format-pronoun-examples pronouns)
|
(format-pronoun-examples pronouns)
|
||||||
|
Loading…
Reference in New Issue
Block a user