diff --git a/README.md b/README.md
index 379115e..464540b 100644
--- a/README.md
+++ b/README.md
@@ -123,7 +123,7 @@ Nuremberg: 🌦 +11⁰C
Available preconfigured formats: 1, 2, 3, 4 and the custom format using the percent notation (see below).
-You can sepcify multiple locations separated with `:` (for repeating queries):
+You can specify multiple locations separated with `:` (for repeating queries):
```
$ curl wttr.in/Nuremberg:Hamburg:Berlin?format=3
@@ -174,6 +174,44 @@ set -g status-right "$WEATHER ..."
```
![wttr.in in tmux status bar](https://wttr.in/files/example-tmux-status-line.png)
+To see emojis in terminal, you need:
+
+1. Terminal support for emojis (was added to Cairo 1.15.8);
+2. Font with emojis support.
+
+For the Emoji font, we recommend *Noto Color Emoji*, and a good alternative option would be the *Emoji One* font;
+both of them support all necessary emoji glyphs.
+
+Font configuration:
+
+```
+$ cat ~/.config/fontconfig/fonts.conf
+
+
+
+
+ serif
+
+ Noto Color Emoji
+
+
+
+ sans-serif
+
+ Noto Color Emoji
+
+
+
+ monospace
+
+ Noto Color Emoji
+
+
+
+```
+
+(to apply the configuration, run `fc-cache -f -v`)
+
## Moon phases
wttr.in can also be used to check the phase of the Moon. This example shows how to see the current Moon phase:
diff --git a/bin/srv.py b/bin/srv.py
index 0e8d7f7..3214a58 100644
--- a/bin/srv.py
+++ b/bin/srv.py
@@ -26,6 +26,7 @@ MY_LOADER = jinja2.ChoiceLoader([
APP.jinja_loader,
jinja2.FileSystemLoader(TEMPLATES),
])
+
APP.jinja_loader = MY_LOADER
@APP.route('/files/')
diff --git a/lib/location.py b/lib/location.py
index 641f9ec..7d191b7 100644
--- a/lib/location.py
+++ b/lib/location.py
@@ -11,7 +11,6 @@ from __future__ import print_function
import os
import json
-import re
import socket
import requests
import geoip2.database
@@ -36,13 +35,15 @@ def is_ip(ip_addr):
Check if `ip_addr` looks like an IP Address
"""
- if re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip_addr) is None:
- return False
try:
- socket.inet_aton(ip_addr)
+ socket.inet_pton(socket.AF_INET, ip_addr.encode("utf-8"))
return True
except socket.error:
- return False
+ try:
+ socket.inet_pton(socket.AF_INET6, ip_addr.encode("utf-8"))
+ return True
+ except socket.error:
+ return False
def location_normalize(location):
"""
@@ -225,17 +226,10 @@ def location_processing(location, ip_addr):
query_source_location = get_location(ip_addr)
country = None
- if location is None or location == 'MyLocation':
- location, country = query_source_location
+ if not location or location == 'MyLocation':
+ location = ip_addr
- # Let us try to use geolocation services for locations
- # that were derived from IPs.
- if location:
- location = '~' + location
- if country:
- location += ", %s" % country
- hide_full_address = not force_show_full_address
- elif is_ip(location):
+ if is_ip(location):
location, country = get_location(location)
# here too
diff --git a/lib/translations.py b/lib/translations.py
index 439a1a5..e1fd4e7 100644
--- a/lib/translations.py
+++ b/lib/translations.py
@@ -5,14 +5,16 @@ Translation of almost everything.
"""
FULL_TRANSLATION = [
- "af", "da", "de", "fr", "fa", "et", "id", "it", "nb", "nl",
- "pl", "pt-br", "ro", "ru", "uk", "vi",
+ "af", "da", "de", "el", "et",
+ "fr", "fa", "hu", "id", "it",
+ "nb", "nl", "pl", "pt-br", "ro",
+ "ru", "uk", "vi"
]
PARTIAL_TRANSLATION = [
"az", "be", "bg", "bs", "ca", "cy", "cs",
- "el", "eo", "es", "fi", "ga", "hi", "hr",
- "hu", "hy", "is", "ja", "jv", "ka", "kk",
+ "eo", "es", "fi", "ga", "hi", "hr",
+ "hy", "is", "ja", "jv", "ka", "kk",
"ko", "ky", "lt", "lv", "mk", "ml", "nl", "fy",
"nn", "pt", "pt-br", "sk", "sl", "sr", "sr-lat",
"sv", "sw", "th", "tr", "te", "uz",
@@ -20,8 +22,8 @@ PARTIAL_TRANSLATION = [
]
PROXY_LANGS = [
- "af", "az", "be", "bs", "ca", "cy", "eo",
- "et", "fa", "fy", "he", "hr", "hy", "id", "is",
+ "af", "az", "be", "bs", "ca", "cy", "el", "eo",
+ "et", "fa", "fy", "he", "hr", "hu", "hy", "id", "is",
"it", "ja", "kk", "lv", "mk", "nb", "nn",
"ro", "ru", "sl", "pt-br", "uk", "uz",
]
@@ -45,6 +47,11 @@ een van die koudste permanent bewoonde plekke op aarde.
таму мы пакажам вам надвор'е ў Аймяконе,
самым халодным населеным пункце на планеце.
Будзем спадзявацца, што ў вас сёння надвор'е лепей!
+""",
+ 'bg':u"""
+Не успяхме да открием вашето местоположение
+така че ви доведохме в Оймякон,
+едно от най-студените постоянно обитавани места на планетата.
""",
'bs': u"""
Nismo mogli pronaći vašu lokaciju,
@@ -99,6 +106,11 @@ Nous n'avons pas pu déterminer votre position,
Nous vous avons donc amenés à Oïmiakon,
l'un des endroits les plus froids habités en permanence sur la planète.
Nous espérons qu'il fait meilleur chez vous !
+""",
+ 'hu': u"""
+Nem sikerült megtalálni a pozíciódat,
+így elhoztunk Ojmjakonba;
+az egyik leghidegebb állandóan lakott településre a bolygón.
""",
'hy': u"""
Ձեր գտնվելու վայրը չհաջողվեց որոշել,
@@ -242,6 +254,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ
'en': u'Unknown location',
'af': u'Onbekende ligging',
'be': u'Невядомае месцазнаходжанне',
+ 'bg': u'Неизвестно местоположение',
'bs': u'Nepoznatoja lokacija',
'ca': u'Ubicació desconeguda',
'cs': u'Neznámá poloha',
@@ -254,6 +267,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ
'fa': u'مکان نامعلوم',
'fi': u'Tuntematon sijainti',
'fr': u'Emplacement inconnu',
+ 'hu': u'Ismeretlen lokáció',
'hy': u'Անհայտ գտնվելու վայր',
'id': u'Lokasi tidak diketahui',
'is': u'Óþekkt staðsetning',
@@ -286,6 +300,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ
'en': u'Location',
'af': u'Ligging',
'be': u'Месцазнаходжанне',
+ 'bg': u'Местоположение',
'bs': u'Lokacija',
'ca': u'Ubicació',
'cs': u'Poloha',
@@ -298,6 +313,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ
'fa': u'مکان',
'fi': u'Tuntematon sijainti',
'fr': u'Emplacement',
+ 'hu': u'Lokáció',
'hy': u'Դիրք',
'id': u'Lokasi',
'is': u'Staðsetning',
@@ -346,6 +362,12 @@ U kan vir https://twitter.com/igor_chubin volg vir opdaterings.
Мы вернемся як мага хутчэй.
Вы можаце сачыць на https://twitter.com/igor_chubin за абнаўленнямі.
======================================================================================
+""",
+ 'bg': u"""
+Съжаляваме, количеството заявки към услугата за предсказване на време е почти изчерпано.
+Ето доклад за града по подразбиране (просто да видите как изглежда).
+Ще осогурим допълнителни заявки максимално бързо.
+Може да последвате https://twitter.com/igor_chubin за обновления.
""",
'bs': u"""
Žao mi je, mi ponestaje upita i vremenska prognoza u ovom trenutku.
@@ -395,6 +417,13 @@ Voici un bulletin météo de l'emplacement par défaut (pour vous donner un aper
Nous serons très bientôt en mesure de faire de nouvelles requêtes.
Vous pouvez suivre https://twitter.com/igor_chubin pour rester informé.
======================================================================================
+""",
+ 'hu': u"""
+Sajnáljuk, kifogytunk az időjárási szolgáltatásra fordított erőforrásokból.
+Itt van az alapértelmezett város időjárási jelentése (hogy lásd, hogyan néz ki).
+A lehető leghamarabb új erőforrásokat fogunk kapni.
+A frissítésekért tekintsd meg a https://twitter.com/igor_chubin oldalt.
+======================================================================================
""",
'hy': u"""
Կներեք, այս պահին մենք գերազանցել ենք եղանակային տեսության կայանին հարցումների քանակը.
@@ -539,6 +568,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th
'en': u'New feature: multilingual location names \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) and location search \033[92mwttr.in/~Kilimanjaro\033[0m (just add ~ before)',
'af': u'Nuwe eienskap: veeltalige name vir liggings \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) en ligging soek \033[92mwttr.in/~Kilimanjaro\033[0m (plaas net ~ vooraan)',
'be': u'Новыя магчымасці: назвы месц на любой мове \033[92mwttr.in/станция+Восток\033[0m (в UTF-8) i пошук месц \033[92mwttr.in/~Kilimanjaro\033[0m (трэба дадаць ~ ў пачатак)',
+ 'bg': u'Нова функционалност: многоезични имена на места\033[92mwttr.in/станция+Восток\033[0m (в UTF-8) и в търсенето \033[92mwttr.in/~Kilimanjaro\033[0m (добавете ~ преди)',
'bs': u'XXXXXXXXXXXXXXXXXXXX: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX\033[92mwttr.in/станция+Восток\033[0m (XX UTF-8) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'ca': u'Noves funcionalitats: noms d\'ubicació multilingües \033[92mwttr.in/станция+Восток\033[0m (en UTF-8) i la ubicació de recerca \033[92mwttr.in/~Kilimanjaro\033[0m (només cal afegir ~ abans)',
'es': u'Nuevas funcionalidades: los nombres de las ubicaciones en vários idiomas \033[92mwttr.in/станция+Восток\033[0m (em UTF-8) y la búsqueda por ubicaciones \033[92mwttr.in/~Kilimanjaro\033[0m (tan solo inserte ~ en frente)',
@@ -550,6 +580,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th
'fy': u'Nije funksje: twatalige lokaasje nammen \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) en lokaasje sykjen \033[92mwttr.in/~Kilimanjaro\033[0m (set er gewoan in ~ foar)',
'cy': u'Nodwedd newydd: enwau lleoliadau amlieithog \033[92mwttr.in/станция+Восток\033[0m (yn UTF-8) a chwilio am leoliad \033[92mwttr.in/~Kilimanjaro\033[0m (ychwanegwch ~ yn gyntaf)',
'de': u'Neue Funktion: mehrsprachige Ortsnamen \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) und Ortssuche \033[92mwttr.in/~Kilimanjaro\033[0m (fügen Sie ein ~ vor dem Ort ein)',
+ 'hu': u'Új funkcinalitás: többnyelvű helynevek \033[92mwttr.in/станция+Восток\033[0m (UTF-8-ban) és pozíció keresés \033[92mwttr.in/~Kilimanjaro\033[0m (csak adj egy ~ jelet elé)',
'hy': u'Փորձարկեք: տեղամասերի անունները կամայական լեզվով \033[92mwttr.in/Դիլիջան\033[0m (в UTF-8) և տեղանքի որոնում \033[92mwttr.in/~Kilimanjaro\033[0m (հարկավոր է ~ ավելացնել դիմացից)',
'id': u'Fitur baru: nama lokasi dalam multibahasa \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) dan pencarian lokasi \033[92mwttr.in/~Kilimanjaro\033[0m (hanya tambah tanda ~ sebelumnya)',
'it': u'Nuove funzionalità: nomi delle località multilingue \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) e ricerca della località \033[92mwttr.in/~Kilimanjaro\033[0m (basta premettere ~)',
@@ -574,6 +605,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th
'en': u'Follow \033[46m\033[30m@igor_chubin\033[0m for wttr.in updates',
'af': u'Volg \033[46m\033[30m@igor_chubin\033[0m vir wttr.in opdaterings',
'be': u'Сачыце за \033[46m\033[30m@igor_chubin\033[0m за навінамі wttr.in',
+ 'bg': u'Последвай \033[46m\033[30m@igor_chubin\033[0m за обновления свързани с wttr.in',
'bs': u'XXXXXX \033[46m\033[30m@igor_chubin\033[0m XXXXXXXXXXXXXXXXXXX',
'ca': u'Segueix \033[46m\033[30m@igor_chubin\033[0m per actualitzacions de wttr.in',
'es': u'Seguir \033[46m\033[30m@igor_chubin\033[0m para recibir las novedades de wttr.in',
@@ -581,6 +613,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th
'fa': u'برای دنبال کردن خبرهای wttr.in شناسه \033[46m\033[30m@igor_chubin\033[0m رو فالو کنید.',
'fr': u'Suivez \033[46m\033[30m@igor_Chubin\033[0m pour rester informé sur wttr.in',
'de': u'Folgen Sie \033[46m\033[30mhttps://twitter.com/igor_chubin\033[0m für wttr.in Updates',
+ 'hu': u'Kövesd \033[46m\033[30m@igor_chubin\033[0m-t további wttr.in információkért',
'hy': u'Նոր ֆիչռների համար հետևեք՝ \033[46m\033[30m@igor_chubin\033[0m',
'id': u'Ikuti \033[46m\033[30m@igor_chubin\033[0m untuk informasi wttr.in terbaru',
'it': u'Seguite \033[46m\033[30m@igor_chubin\033[0m per aggiornamenti a wttr.in',
diff --git a/lib/wttr_line.py b/lib/wttr_line.py
index 50786cd..e189087 100644
--- a/lib/wttr_line.py
+++ b/lib/wttr_line.py
@@ -219,7 +219,7 @@ def format_weather_data(format_line, location, override_location, data, query):
"""
if 'data' not in data:
- return 'Unknow location; please try ~%s' % location
+ return 'Unknown location; please try ~%s' % location
current_condition = data['data']['current_condition'][0]
current_condition['location'] = location
current_condition['override_location'] = override_location
diff --git a/lib/wttr_srv.py b/lib/wttr_srv.py
index 14104ea..70ef249 100644
--- a/lib/wttr_srv.py
+++ b/lib/wttr_srv.py
@@ -196,21 +196,22 @@ def wttr(location, request):
orig_location = location
- location, override_location_name, full_address, country, query_source_location = \
- location_processing(location, ip_addr)
+ if not png_filename:
+ location, override_location_name, full_address, country, query_source_location = \
+ location_processing(location, ip_addr)
- us_ip = query_source_location[1] == 'United States' and 'slack' not in user_agent
- query = parse_query.metric_or_imperial(query, lang, us_ip=us_ip)
+ us_ip = query_source_location[1] == 'United States' and 'slack' not in user_agent
+ query = parse_query.metric_or_imperial(query, lang, us_ip=us_ip)
- # logging query
- orig_location_utf8 = (orig_location or "").encode('utf-8')
- location_utf8 = location.encode('utf-8')
- use_imperial = query.get('use_imperial', False)
- log(" ".join(map(str,
- [ip_addr, user_agent, orig_location_utf8, location_utf8, use_imperial, lang])))
+ # logging query
+ orig_location_utf8 = (orig_location or "").encode('utf-8')
+ location_utf8 = location.encode('utf-8')
+ use_imperial = query.get('use_imperial', False)
+ log(" ".join(map(str,
+ [ip_addr, user_agent, orig_location_utf8, location_utf8, use_imperial, lang])))
- if country and location != NOT_FOUND_LOCATION:
- location = "%s,%s" % (location, country)
+ if country and location != NOT_FOUND_LOCATION:
+ location = "%s,%s" % (location, country)
# We are ready to return the answer
try:
@@ -219,7 +220,7 @@ def wttr(location, request):
if png_filename:
options = {
- 'lang': None,
+ 'lang': lang,
'location': location}
options.update(query)
diff --git a/lib/wttrin_png.py b/lib/wttrin_png.py
index a84ec0f..74055d8 100644
--- a/lib/wttrin_png.py
+++ b/lib/wttrin_png.py
@@ -288,13 +288,10 @@ def make_wttr_in_png(png_name, options=None):
"""
parsed = parse_wttrin_png_name(png_name)
- print("------")
- print(parsed)
- print("------")
# if location is MyLocation it should be overriden
# with autodetected location (from options)
- if parsed.get('location', 'MyLocation') == 'MyLocation':
+ if parsed.get('location', 'MyLocation') == 'MyLocation' or not parsed.get('location', ''):
del parsed['location']
if options is not None:
diff --git a/share/bash-function.txt b/share/bash-function.txt
index 56783e4..04bd227 100644
--- a/share/bash-function.txt
+++ b/share/bash-function.txt
@@ -2,6 +2,6 @@ wttr()
{
# change Paris to your default location
local request="wttr.in/${1-Paris}"
- [ "$COLUMNS" -lt 125 ] && request+='?n'
+ [ "$(tput cols)" -lt 125 ] && request+='?n'
curl -H "Accept-Language: ${LANG%_*}" --compressed "$request"
}
diff --git a/share/translation.txt b/share/translation.txt
index 3fab316..2d42499 100644
--- a/share/translation.txt
+++ b/share/translation.txt
@@ -9,6 +9,7 @@ Translated/improved/corrected by:
* Azerbaijani: Dmytro Nikitiuk, Elsevar Abbasov
* Belarusian: Igor Chubin, Anton Zhavoronkov @edogby (on github)
* Bosnian: Ismar Kunc @ismarkunc
+ * Bulgarian: Vladimir Vitkov @zeridon (on github)
* Brazilian-PT: Tupã Negreiros @TupaNegreiros (on github)
* Catalan: Angel Jarabo @legna29A
* Croatian: Siniša Kusić @ku5ic
@@ -21,8 +22,9 @@ Translated/improved/corrected by:
* Finnish: @Maxifi
* French: Igor Chubin, @daftaupe
* German: Igor Chubin, @MAGICC (https://kthx.at)
- * Greek: Panayotis Vryonis
+ * Greek: Panayotis Vryonis and @Petewg (on github)
* Hebrew: E.R.
+ * Hungarian: Mark Petruska
* Italian: Diego Maniacco
* Icelandic: Óli G. @dvergur, Skúli Arnlaugsson @Arnlaugsson
* Indonesian: Andria Arisal @andria009
diff --git a/share/translations/bg-help.txt b/share/translations/bg-help.txt
new file mode 100644
index 0000000..c82756a
--- /dev/null
+++ b/share/translations/bg-help.txt
@@ -0,0 +1,69 @@
+Употреба:
+
+ $ curl wttr.in # текущо местоположение
+ $ curl wttr.in/sof # времето на Софийското летище
+
+Поддържани типове местоположения:
+
+ /paris # име на град
+ /~Eiffel+tower # място/забележителност
+ /Москва # Юникод име на местоположение
+ /sof # Код на летище (3 букви)
+ /@stackoverflow.com # име на домейн
+ /94107 # пощенски код
+ /-78.46,106.79 # GPS координати
+
+Специални местоположение:
+
+ /moon # Фаза на луната (добавете ,+US or ,+France за тези места)
+ /moon@2016-10-25 # Фаза на луната за дата (@2016-10-25)
+
+Мерни единици:
+
+ m # метрични (SI) (по подразбиране навсякъде извън US)
+ u # USCS (използвани по подразбиране в US)
+ M # покажи скоростта на вятъра в m/s
+
+Възможности на изгледа:
+
+ 0 # само текущото време
+ 1 # текущо време + 1 ден
+ 2 # текущо време + 2 дни
+ A # игнорирай User-Agent и форсирай ANSI формат (за терминал)
+ F # не показвай реда "Следвай"
+ n # тясна версия (само ден и нощ)
+ q # тиха версия (без текст "Прогноза за времето")
+ Q # свръх тиха версия(без "Прогноза за времето", без име на местоположение)
+ T # изключи терминалните настройки (без цветове)
+
+PNG възможности:
+
+ /paris.png # генериране на PNG
+ p # Сложи рамка около резултата
+ t # полупрозрачен фон 150
+ transparency=... # полупрозрачен фон от 0 до 255 (255 = непрозрачно)
+
+Опциите могат да се комбинират:
+
+ /Paris?0pq
+ /Paris?0pq&lang=bg
+ /Paris_0pq.png # при генериране на PNG възможностите са отделени с _
+ /Rome_0pq_lang=bg.png # дългите опции са разделени с подчертавка
+
+Локализация:
+
+ $ curl fr.wttr.in/Paris
+ $ curl wttr.in/paris?lang=bg
+ $ curl -H "Accept-Language: bg" wttr.in/paris
+
+Поддържани преводи:
+
+ FULL_TRANSLATION (Напълно преведени)
+ PARTIAL_TRANSLATION (В процес на превод)
+
+Специални Адреси (URL):
+
+ /:help # тази страница
+ /:bash.function # препоръчителна bash функция wttr()
+ /:translation # покажи информация за преводачите
+
diff --git a/share/translations/el-help.txt b/share/translations/el-help.txt
new file mode 100644
index 0000000..10ac3f9
--- /dev/null
+++ b/share/translations/el-help.txt
@@ -0,0 +1,72 @@
+Χρήση:
+
+ $ curl wttr.in # καιρός τρέχουσας τοποθεσίας (κατά προσέγγιση, βάσει IP)
+ $ curl wttr.in/ath # ο καιρός στο Διεθνή Αερολιμένα Αθηνών «Ελ. Βενιζέλος»
+
+Υποστηριζόμενες μορφές τοποθεσιών:
+
+ /paris # όνομα πόλης
+ /~Eiffel+tower # κάποια τοποθεσία
+ /Москва # Unicode όνομα οποιασδήποτε τοποθεσίας σε οποιαδήποτε γλώσσα
+ /ath # κωδικός αεροδρομίου (3 γράμματα)
+ /@stackoverflow.com # (διαδικτυακό) όνομα τομέα (domain)
+ /94107 # κωδικός περιοχής
+ /-78.46,106.79 # γεωγραφικές συντεταγμένες (GPS)
+
+Εξειδικευμένες τοποθεσίες:
+
+ /moon # Φάση Σελήνης (προσθέστε ,+US ή ,+France για τις πόλεις)
+ /moon@2016-10-25 # Φάση Σελήνης για την ημερομηνία (@2016-10-25)
+ /moon@2019-06-18.png?T -omoon.png # Φάση Σελήνης για την ημερομηνία (@2019-06-18), όχι ANSI, εξοδος στο αρχείο `moon.png`
+
+Σύστημα μέτρησης:
+
+ m # μετρικό (SI) (προεπιλογή για οπουδήποτε εκτός ΗΠΑ)
+ u # USCS (προεπιλογή για τις ΗΠΑ)
+ M # εμφάνιση ταχύτητας ανέμου σε m/s
+
+Επιλογές Προβολής:
+
+ 0 # καιρός τρέχουσας ημέρας μόνο
+ 1 # καιρός τρέχουσας ημέρας + 1 ημέρα
+ 2 # καιρός τρέχουσας ημέρας + 2 ημέρες
+ A # παραβλέπει τον User-Agent και επιβάλει μορφή εξόδου ANSI (τερματικό)
+ F # μη εμφάνιση της γραμμής "Follow"
+ n # συνοπτική εκδοχή (ημέρα και νύχτα μόνο)
+ q # σιωπηλή εκδοχή (όχι κείμενο "Weather report")
+ Q # υπερσιωπηλή εκδοχή (όχι κείμενο "Weather report", όχι όνομα πόλης)
+ T # απενεργοποίηση ακολουθιών τερματικού (όχι χρώματα)
+
+Επιλογές PNG:
+
+ /paris.png # δημιουργία PNG αρχείου
+ p # προσθήκη πλαισίου γύρω από τα περιέχομενα εξόδου
+ t # διαφάνεια 150
+ transparency=nnn # διαφάνεια nnn (από 0 έως 255 - 255 = αδιαφανές)
+
+Οι επιλογές μπορούν να συνδυαστούν:
+
+ /Paris?0pq
+ /Paris?0pq&lang=fr
+ /Paris?_0pq.png # η έξοδος σε PNG αρχείο ορίζεται μετά από το _
+ /Rome?_0pq_lang=it.png # μακροσκελείς επιλογές διαχωριζόμενες με κάτω παύλα (underscore)
+ /Athens?"1pTng&lang=el" # συνδυασμένες επιλογές μπορούν να περικλείονται σε εισαγωγικά!
+
+
+Τοπικοποίηση:
+
+ $ curl fr.wttr.in/Paris
+ $ curl wttr.in/paris?lang=fr
+ $ curl -H "Accept-Language: fr" wttr.in/paris
+
+Υποστηριζόμενες γλώσσες:
+
+ FULL_TRANSLATION (πλήρως υποστηριζόμενες)
+ PARTIAL_TRANSLATION (εργασία σε εξέλιξη)
+
+Ειδικά URLs:
+
+ /:help # εμφάνιση της παρούσας βοήθειας
+ /:bash.function # εμφάνιση συνιστώμενων bash λειτουργιών wttr()
+ /:translation # εμφάνιση πληροφοριών για τους μεταφραστές
+
diff --git a/share/translations/el.txt b/share/translations/el.txt
new file mode 100644
index 0000000..3a4be71
--- /dev/null
+++ b/share/translations/el.txt
@@ -0,0 +1,47 @@
+113: Καθαρός : Clear
+113: Λιακάδα : Sunny
+116: Αραιή συννεφιά : Partly cloudy
+119: Συννεφιά : Cloudy
+122: Πυκνή νέφωση : Overcast
+143: Αραιή ομίχλη : Mist
+176: Πιθανή βροχή τοπικά : Patchy rain possible
+179: Πιθανή χιονόπτωση τοπικά : Patchy snow possible
+182: Πιθανή χαλαζόπτωση τοπικά : Patchy sleet possible
+185: Πιθανό παγωμ. ψιλόβροχο τοπικά : Patchy freezing drizzle possible
+200: Πιθανή πτώση κεραυνών : Thundery outbreaks possible
+227: Ριπές χιονιού : Blowing snow
+230: Χιονοθύελλα : Blizzard
+248: Ομίχλη : Fog
+260: Παγωμένη ομίχλη : Freezing fog
+263: Ασθενής ψιχάλα τοπικά : Patchy light drizzle
+266: Ασθενής ψιχάλα : Light drizzle
+281: Παγωμένο ψιλόβροχο : Freezing drizzle
+284: Πυκνό παγωμένο ψιλόβροχο : Heavy freezing drizzle
+293: Ασθενής όμβρος τοπικά : Patchy light rain
+296: Ασθενής βροχόπτωση : Light rain
+299: Μέτρια βροχή παροδικά : Moderate rain at times
+302: Μέτρια βροχόπτωση : Moderate rain
+305: Έντονη βροχή παροδικά : Heavy rain at times
+308: Έντονη βροχόπτωση : Heavy rain
+311: Αραιό χιονόνερο : Light freezing rain
+314: Μέτριο ή έντονο χιονόνερο : Moderate or heavy freezing rain
+317: Ασθενής χαλαζόπτωση : Light sleet
+320: Μέτρια ή έντονη χαλαζόπτωση : Moderate or heavy sleet
+323: Αραιή χιονόπτωση κατά τόπους : Patchy light snow
+326: Αραιή χιονόπτωση : Light snow
+329: Μέτρια χιονόπτωση τοπικά : Patchy moderate snow
+332: Μέτρια χιονόπτωση : Moderate snow
+335: Πυκνή χιονόπτωση τοπικά : Patchy heavy snow
+338: Πυκνή χιονόπτωση : Heavy snow
+350: Χιονόνερο : Ice pellets
+353: Ασθενής βροχή παροδικά : Light rain shower
+356: Μέτρια ή έντονη βροχή παροδικά : Moderate or heavy rain shower
+359: Καταρρακτώδης βροχή παροδικά : Torrential rain shower
+362: Ασθενής χαλαζόπτωση παροδικά : Light sleet showers
+365: Μέτρια/έντονη χαλαζόπτωση παροδικά : Moderate or heavy sleet showers
+368: Αραιή χιονόπτωση παροδικά : Light snow showers
+371: Μέτρια ή πυκνή χιονόπτωση παροδικά : Moderate or heavy snow showers
+386: Ασθενής βροχή με κεραυνούς τοπικά : Patchy light rain with thunder
+389: Μέτρια ή δυνατή βροχή με κεραυνούς : Moderate or heavy rain with thunder
+392: Ασθενής χιονόπτωση-κεραυνοί τοπικά : Patchy light snow with thunder
+395: Μέτρια ή πυκνή χιονόπτωση-κεραυνοί : Moderate or heavy snow with thunder
diff --git a/share/translations/hu-help.txt b/share/translations/hu-help.txt
new file mode 100644
index 0000000..913b43a
--- /dev/null
+++ b/share/translations/hu-help.txt
@@ -0,0 +1,69 @@
+Használat:
+
+ $ curl wttr.in # jelenlegi tartózkodási hely
+ $ curl wttr.in/muc # időjárás a müncheni repülőtéren
+
+Támogatott pozíciómeghatározások:
+
+ /paris # város
+ /~Eiffel+tower # bármilyen hely
+ /Москва # Unicode név bármilyen nyelven
+ /muc # repülőtér kód (3 betű)
+ /@stackoverflow.com # domain név
+ /94107 # körzetszám
+ /-78.46,106.79 # GPS koordináták
+
+Speciális helyek:
+
+ /moon # holdfázis (a végére tehető ,+US vagy ,+France például)
+ /moon@2016-10-25 # holdfázis az adott dátumhoz (@2016-10-25)
+
+Mértékegységek:
+
+ m # metrikus (SI) (használatban mindenhol az USA kivételével)
+ u # USA hagyományos (alapértelmezett az USA-ban)
+ M # szélsebesség m/s-ban
+
+Megjelenítési beállítások:
+
+ 0 # csak az aktuális időjárás
+ 1 # aktuális időjárás + 1 nap
+ 2 # aktuális időjárás + 2 nap
+ A # User-Agent figyelmen kívül hagyása, ANSI output kikényszerítése (terminálokban)
+ F # ne jeneítse meg a "Kövesd" sort
+ n # keskeny változat (csak nappal és éjszaka)
+ q # csendes verzió ("Időjárás előrejelzés" szöveg nélkül)
+ Q # szupercsendes verzió ("Időjárás előrejelzés" szöveg és hely nélkül)
+ T # terminál szekvenciák kikapcsolása (színek nélküli megjelenés)
+
+PNG beállítások:
+
+ /paris.png # PNG kép készítése
+ p # keret a kép köré
+ t # 150-es "átlátszóság"
+ transparency=... # "átlátszóság" 0 és 255 között (255 = egyáltalán nem átlátszó)
+
+A beállítások kombinálhatók:
+
+ /Paris?0pq
+ /Paris?0pq&lang=fr
+ /Paris_0pq.png # PNG módban az opciók egy aláhúzásjel után megadhatók
+ /Rome_0pq_lang=it.png # a hosszú opcióneveket aláhúzásjelekkel kell elválasztani
+
+Megjelenítés különböző nyelveken:
+
+ $ curl fr.wttr.in/Paris
+ $ curl wttr.in/paris?lang=fr
+ $ curl -H "Accept-Language: fr" wttr.in/paris
+
+Támogatott nyelvek:
+
+ FULL_TRANSLATION (teljesen támogatott)
+ PARTIAL_TRANSLATION (folyamatban...)
+
+Speciális URL-ek:
+
+ /:help # segítség (ez az oldal)
+ /:bash.function # ajánlott bash függvény
+ /:translation # információ a fordítókról
+
diff --git a/share/translations/hu.txt b/share/translations/hu.txt
new file mode 100644
index 0000000..4a7ab1f
--- /dev/null
+++ b/share/translations/hu.txt
@@ -0,0 +1,47 @@
+113: Tiszta : Clear
+113: Napos : Sunny
+116: Részben felhős : Partly cloudy
+119: Felhős : Cloudy
+122: Borult : Overcast
+143: Köd : Mist
+176: Szórványos zápor előfordulhat : Patchy rain possible
+179: Szórványos havazás előfordulhat : Patchy snow possible
+182: Szórványos havas eső előfordulhat : Patchy sleet possible
+185: Szórványos ónos eső előfordulhat : Patchy freezing drizzle possible
+200: Viharos széllökések előfordulhatnak : Thundery outbreaks possible
+227: Hófúvás : Blowing snow
+230: Hóvihar : Blizzard
+248: Köd : Fog
+260: Jeges köd : Freezing fog
+263: Szórványosan enyhe önos eső : Patchy light drizzle
+266: Gyenge önös eső : Light drizzle
+281: Ónos eső : Freezing drizzle
+284: Erős ónos eső : Heavy freezing drizzle
+293: Szórványosan gyenge eső : Patchy light rain
+296: Gyenge eső : Light rain
+299: Időnként eső : Moderate rain at times
+302: Eső : Moderate rain
+305: Időnként intenzív eső : Heavy rain at times
+308: Intenzív eső : Heavy rain
+311: Enyhe jéges eső : Light freezing rain
+314: Jéges eső : Moderate or heavy freezing rain
+317: Enyhe havas eső : Light sleet
+320: Havas eső : Moderate or heavy sleet
+323: Szórványos hószállingózás : Patchy light snow
+326: Hószállingózás : Light snow
+329: Szórványos havazás : Patchy moderate snow
+332: Havazás : Moderate snow
+335: Szórványosan intenzív havazás : Patchy heavy snow
+338: Intenzív havazás : Heavy snow
+350: Jégeső : Ice pellets
+353: Enyhe zápor : Light rain shower
+356: Zápor : Moderate or heavy rain shower
+359: Zuhogó eső : Torrential rain shower
+362: Enyhe havas eső : Light sleet showers
+365: Havas eső : Moderate or heavy sleet showers
+368: Hószállingózás : Light snow showers
+371: Havazás : Moderate or heavy snow showers
+386: Szórványos zivatar : Patchy light rain with thunder
+389: Zivatar : Moderate or heavy rain with thunder
+392: Szórványos hózivatar : Patchy light snow with thunder
+395: Hózivatar : Moderate or heavy snow with thunder