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