Skip to content

Commit

Permalink
Merge pull request #1 from xremix/localization
Browse files Browse the repository at this point in the history
Localization
  • Loading branch information
xremix authored Dec 13, 2017
2 parents 6df0d04 + 35b1d4b commit f847797
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 12 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
Zeigt die aktuelle Uhrzeit menschlich lesbar in Wörtern da auf dem Desktop dar.

*Interested in an english version? Check out the original version from [raphaelhanneken](https://github.com/raphaelhanneken/time-in-words)*
**I just started to work on an version including localization (de, en)!**

![Uhrzeit in Worten Screenshot](https://raw.githubusercontent.com/xremix/Uhrzeit-In-Worten/master/screenshot_detail.png)

Expand Down
46 changes: 34 additions & 12 deletions uhrzeitinworten.widget/index.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -47,43 +47,65 @@ command: "echo hello"
# Lower the frequency for more accuracy.
refreshFrequency: (1000 * 3) # (1000 * n) seconds

language = ''
i18n = ->
_i18n = {}
if language.indexOf("de") > -1
_i18n.words = {
clock: "uhr";
}
_i18n.hours = [null, "ein", "zwei", "drei", "vier", "fünf", "sechs", "sieben",
"acht", "neun", "zehn", "elf", "zwölf"]
_i18n.ones = [null, "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben",
"acht", "neun"]
_i18n.teens = ["zehn", "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn",
"sechszehn", "siebenzehn", "achtzehn", "neunzehn"]
_i18n.tens = [null, null, "zwanzig", "dreißig", "vierzig", "fünfzig"]

else
_i18n.words = {
clock: "<br/>";
}
_i18n.hours = [null, "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine", "ten", "eleven", "twelve"]
_i18n.ones = [null, "one", "two", "three", "four", "five", "six", "seven",
"eight", "nine"]
_i18n.teens = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
"sixteen", "seventeen", "eighteen", "nineteen"]
_i18n.tens = [null, null, "twenty", "thirty", "forty", "fifty"]
return _i18n


render: (o) -> """
<div id="content">
<span id="hours"></span> uhr <span id="minutes"></span>
<span id="hours"></span> <span id="clock"></span> <span id="minutes"></span>
</div>
"""


update: (output, dom) ->
hours = [null, "ein", "zwei", "drei", "vier", "fünf", "sechs", "sieben",
"acht", "neun", "zehn", "elf", "zwölf"]
ones = [null, "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben",
"acht", "neun"]
teens = ["zehn", "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn",
"sechszehn", "siebenzehn", "achtzehn", "neunzehn"]
tens = [null, null, "zwanzig", "dreißig", "vierzig", "fünfzig"]

language = navigator.language
date = new Date()
minute = date.getMinutes()
hour = date.getHours()
hour = hour % 12
hour = 12 if hour == 0

hour_str = hours[hour]
hour_str = i18n().hours[hour]
if minute == 0
minute_str = ""
# else if minute >= 1 && minute <= 9
# minute_str = "o'#{ones[minute]}"
else if minute >= 10 && minute <= 19
minute_str = teens[minute - 10]
minute_str = i18n().teens[minute - 10]
else
minute_str = tens[minute.toString()[0..0]]
minute_str = i18n().tens[minute.toString()[0..0]]
# if minute.toString()[1..1] != "0"
# minute_str += ones[minute.toString()[1..1]]

$(dom).find("#hours").html(hour_str)
$(dom).find("#minutes").html(minute_str)
$(dom).find("#clock").html(i18n().words.clock)


style: """
Expand Down

0 comments on commit f847797

Please sign in to comment.