diff --git a/README.md b/README.md index 84c87e3..002f8f8 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,16 @@ -*wttr.in — the right way to check the weather!* +*wttr.in — the right way to ~check~ `curl` the weather!* wttr.in is a console-oriented weather forecast service that supports various information representation methods like terminal-oriented ANSI-sequences for console HTTP clients (curl, httpie, or wget), HTML for web browsers, or PNG for graphical viewers. -wttr.in uses [wego](http://github.com/schachmat/wego) for visualization -and various data sources for weather forecast information. +Originally started as a small project, a wrapper for [wego](https://github.com/schachmat/wego), +intended to demonstrate the power of the console-oriented services, +*wttr.in* became a popular weather reporting service, handling tens millions of queries daily. -You can see it running here: [wttr.in](http://wttr.in). +You can see it running here: [wttr.in](https://wttr.in). + +[Documentation](https://wttr.in/:help) | [Usage](https://github.com/chubin/wttr.in#usage) | [One-line output](https://github.com/chubin/wttr.in#one-line-output) | [Data-rich output format](https://github.com/chubin/wttr.in#data-rich-output-format-v2) | [Map view](https://github.com/chubin/wttr.in#map-view-v3) | [Output formats](https://github.com/chubin/wttr.in#different-output-formats) | [Moon phases](https://github.com/chubin/wttr.in#moon-phases) | [Internationalization](https://github.com/chubin/wttr.in#internationalization-and-localization) | [Windows issues](https://github.com/chubin/wttr.in#internationalization-and-localization) | [Installation](https://github.com/chubin/wttr.in#installation) ## Usage @@ -25,7 +28,7 @@ You can access the service from a shell or from a Web browser like this: Here is an actual weather report for your location (it's live!): -![Weather Report](http://wttr.in/MyLocation.png?) +![Weather Report](https://wttr.in/MyLocation.png?) (It's not your actual location - GitHub's CDN hides your real IP address with its own IP address, but it's still a live weather report in your language.) @@ -33,7 +36,7 @@ but it's still a live weather report in your language.) Or in PowerShell: ```PowerShell -Invoke-RestMethod http://wttr.in +Invoke-RestMethod https://wttr.in ``` Want to get the weather information for a specific location? You can add the desired location to the URL in your @@ -70,7 +73,7 @@ You can also use IP-addresses (direct) or domain names (prefixed with `@`) to sp $ curl wttr.in/@github.com $ curl wttr.in/@msu.ru -To get detailed information online, you can access the [/:help](http://wttr.in/:help) page: +To get detailed information online, you can access the [/:help](https://wttr.in/:help) page: $ curl wttr.in/:help @@ -78,10 +81,18 @@ To get detailed information online, you can access the [/:help](http://wttr.in/: ### Weather Units By default the USCS units are used for the queries from the USA and the metric system for the rest of the world. -You can override this behavior by adding `?u` or `?m` to a URL like this: +You can override this behavior by adding `?u`, `?m` or `?M` to a URL like this: - $ curl wttr.in/Amsterdam?u - $ curl wttr.in/Amsterdam?m + $ curl wttr.in/Amsterdam?u # USCS (used by default in US) + $ curl wttr.in/Amsterdam?m # metric (SI) (used by default everywhere except US) + $ curl wttr.in/Amsterdam?M # metric (SI), but show wind speed in m/s + +If you have several options to pass, write them without delimiters in between for the one-letter options, +and use `&` as a delimiter for the long options with values: + + $ curl 'wttr.in/Amsterdam?m2&lang=nl' + +It would be a rough equivalent of `-m2 --lang nl` for the GNU CLI syntax. ## Supported output formats and views @@ -133,6 +144,9 @@ You can embed a special wttr.in widget, that displays the weather condition for ## One-line output +One-line output format is convenient to be used to show weather info +in status bar of different programs, such as *tmux*, *weechat*, etc. + For one-line output format, specify additional URL parameter `format`: ``` @@ -192,7 +206,10 @@ So, these two calls are the same: $ curl wttr.in/London?format="%l:+%c+%t\n" London: ⛅️ +7⁰C ``` -Keep in mind, that when using in `tmux.conf`, you have to escape `%` with `%`, i.e. write there `%%` instead of `%`. + +### tmux + +When using in `tmux.conf`, you have to escape `%` with `%`, i.e. write there `%%` instead of `%`. The output does not contain new line by default, when the %-notation is used, but it does contain it when preconfigured format (`1`,`2`,`3` etc.) are used. To have the new line in the output when the %-notation is used, use '\n' and single quotes when doing a query from the shell. @@ -208,6 +225,20 @@ set -g status-right "$WEATHER ..." ``` ![wttr.in in tmux status bar](https://wttr.in/files/example-tmux-status-line.png) +### Weechat + +To embedded into an IRC ([Weechat](https://github.com/weechat/weechat)) client's status bar: + +``` +/alias add wttr /exec -pipe "/set plugins.var.python.text_item.wttr all" url:wttr.in/Montreal?format=%l:+%c+%f+%h+%p+%P+%m+%w+%S+%s +/trigger add wttr timer 60000;0;0 "" "" "/wttr" +/eval /set weechat.bar.status.items ${weechat.bar.status.items},wttr +/eval /set weechat.startup.command_after_plugins ${weechat.startup.command_after_plugins};/wttr +``` +![wttr.in in weechat status bar](https://i.imgur.com/IyvbxjL.png) + +### Emojis support + To see emojis in terminal, you need: 1. Terminal support for emojis (was added to Cairo 1.15.8); @@ -332,7 +363,7 @@ Terminal with inline images protocols support: | mlterm | X11 | yes | Sixel | | kitty | X11 | yes | Kitty | | wezterm | X11 | yes | IIP | -| aminal | X11 | yes | Sixel | +| Darktile | X11 | yes | Sixel | | Jexer | X11 | yes | Sixel | | GNOME Terminal | X11 | [in-progress](https://gitlab.gnome.org/GNOME/vte/-/issues/253) | Sixel | | alacritty | X11 | [in-progress](https://github.com/alacritty/alacritty/issues/910) | Sixel | @@ -497,7 +528,7 @@ The third option is to choose the language using the DNS name used in the query: wttr.in is currently translated into 54 languages, and the number of supported languages is constantly growing. -See [/:translation](http://wttr.in/:translation) to learn more about the translation process, +See [/:translation](https://wttr.in/:translation) to learn more about the translation process, to see the list of supported languages and contributors, or to know how you can help to translate wttr.in in your language. @@ -509,7 +540,7 @@ There are currently two Windows related issues that prevent the examples found o ### Garbage characters in the output There is a limitation of the current Win32 version of `curl`. Until the [Win32 curl issue](https://github.com/chubin/wttr.in/issues/18#issuecomment-474145551) is resolved and rolled out in a future Windows release, it is recommended that you use Powershell’s `Invoke-Web-Request` command instead: -- `(Invoke-WebRequest http://wttr.in).Content` +- `(Invoke-WebRequest https://wttr.in).Content` ### Missing or double wide diagonal wind direction characters The second issue is regarding the width of the diagonal arrow glyphs that some Windows Terminal Applications such as the default `conhost.exe` use. At the time of writing this, `ConEmu.exe`, `ConEmu64.exe` and Terminal Applications built on top of ConEmu such as Cmder (`cmder.exe`) use these double-wide glyphs by default. The result is the same with all of these programs, either a missing character for certain wind directions or a broken table in the output or both. Some third-party Terminal Applications have addressed the wind direction glyph issue but that fix depends on the font and the Terminal Application you are using. diff --git a/bin/proxy.py b/bin/proxy.py index e27fafb..d4ac9e5 100755 --- a/bin/proxy.py +++ b/bin/proxy.py @@ -133,7 +133,7 @@ def translate(text, lang): def _log_unknown_translation(lang, text): with open(MISSING_TRANSLATION_LOG % lang, "a") as f_missing_translation: - f_missing_translation.write(text) + f_missing_translation.write(text+"\n") if "," in text: terms = text.split(",") diff --git a/cmd/processRequest.go b/cmd/processRequest.go index 7c44a9f..84011c3 100644 --- a/cmd/processRequest.go +++ b/cmd/processRequest.go @@ -14,6 +14,10 @@ import ( func processRequest(r *http.Request) responseWithHeader { var response responseWithHeader + if response, ok := redirectInsecure(r); ok { + return *response + } + if dontCache(r) { return get(r) } @@ -50,7 +54,7 @@ func processRequest(r *http.Request) responseWithHeader { if !foundInCache { lruCache.Add(cacheDigest, responseWithHeader{InProgress: true}) response = get(r) - if response.StatusCode == 200 || response.StatusCode == 304 { + if response.StatusCode == 200 || response.StatusCode == 304 || response.StatusCode == 404 { lruCache.Add(cacheDigest, response) } else { log.Printf("REMOVE: %d response for %s from cache\n", response.StatusCode, cacheDigest) @@ -120,8 +124,56 @@ func dontCache(req *http.Request) bool { // dont cache cyclic requests loc := strings.Split(req.RequestURI, "?")[0] - if strings.Contains(loc, ":") { - return true + return strings.Contains(loc, ":") +} + +// redirectInsecure returns redirection response, and bool value, if redirection was needed, +// if the query comes from a browser, and it is insecure. +// +// Insecure queries are marked by the frontend web server +// with X-Forwarded-Proto header: +// +// proxy_set_header X-Forwarded-Proto $scheme; +// +// +func redirectInsecure(req *http.Request) (*responseWithHeader, bool) { + if isPlainTextAgent(req.Header.Get("User-Agent")) { + return nil, false + } + + if strings.ToLower(req.Header.Get("X-Forwarded-Proto")) == "https" { + return nil, false + } + + target := "https://" + req.Host + req.URL.Path + if len(req.URL.RawQuery) > 0 { + target += "?" + req.URL.RawQuery + } + + body := []byte(fmt.Sprintf(` +301 Moved +

301 Moved

+The document has moved +here. + +`, target)) + + return &responseWithHeader{ + InProgress: false, + Expires: time.Now().Add(time.Duration(randInt(1000, 1500)) * time.Second), + Body: body, + Header: http.Header{"Location": []string{target}}, + StatusCode: 301, + }, true +} + +// isPlainTextAgent returns true if userAgent is a plain-text agent +func isPlainTextAgent(userAgent string) bool { + userAgentLower := strings.ToLower(userAgent) + for _, signature := range plainTextAgents { + if strings.Contains(userAgentLower, signature) { + return true + } } return false } diff --git a/cmd/srv.go b/cmd/srv.go index aae32d5..e289d77 100644 --- a/cmd/srv.go +++ b/cmd/srv.go @@ -2,6 +2,7 @@ package main import ( "context" + "fmt" "log" "net" "net/http" @@ -10,11 +11,28 @@ import ( lru "github.com/hashicorp/golang-lru" ) +const serverPort = 8083 const uplinkSrvAddr = "127.0.0.1:9002" const uplinkTimeout = 30 const prefetchInterval = 300 const lruCacheSize = 12800 +// plainTextAgents contains signatures of the plain-text agents +var plainTextAgents = []string{ + "curl", + "httpie", + "lwp-request", + "wget", + "python-httpx", + "python-requests", + "openbsd ftp", + "powershell", + "fetch", + "aiohttp", + "http_get", + "xh", +} + var lruCache *lru.Cache type responseWithHeader struct { @@ -65,5 +83,5 @@ func main() { w.Write(response.Body) }) - log.Fatal(http.ListenAndServe(":8082", nil)) + log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", serverPort), nil)) } diff --git a/cmd/stat.go b/cmd/stat.go index 1fc135e..eda4f27 100644 --- a/cmd/stat.go +++ b/cmd/stat.go @@ -1,40 +1,40 @@ package main -import ( - "log" - "sync" - "time" -) - -type safeCounter struct { - v map[int]int - mux sync.Mutex -} - -func (c *safeCounter) inc(key int) { - c.mux.Lock() - c.v[key]++ - c.mux.Unlock() -} - -// func (c *safeCounter) val(key int) int { -// c.mux.Lock() -// defer c.mux.Unlock() -// return c.v[key] +// import ( +// "log" +// "sync" +// "time" +// ) +// +// type safeCounter struct { +// v map[int]int +// mux sync.Mutex // } // -// func (c *safeCounter) reset(key int) int { +// func (c *safeCounter) inc(key int) { // c.mux.Lock() -// defer c.mux.Unlock() -// result := c.v[key] -// c.v[key] = 0 -// return result +// c.v[key]++ +// c.mux.Unlock() +// } +// +// // func (c *safeCounter) val(key int) int { +// // c.mux.Lock() +// // defer c.mux.Unlock() +// // return c.v[key] +// // } +// // +// // func (c *safeCounter) reset(key int) int { +// // c.mux.Lock() +// // defer c.mux.Unlock() +// // result := c.v[key] +// // c.v[key] = 0 +// // return result +// // } +// +// var queriesPerMinute safeCounter +// +// func printStat() { +// _, min, _ := time.Now().Clock() +// queriesPerMinute.inc(min) +// log.Printf("Processed %d requests\n", min) // } - -var queriesPerMinute safeCounter - -func printStat() { - _, min, _ := time.Now().Clock() - queriesPerMinute.inc(min) - log.Printf("Processed %d requests\n", min) -} diff --git a/doc/terminal-images.md b/doc/terminal-images.md index b9c2ad7..9f901d0 100644 --- a/doc/terminal-images.md +++ b/doc/terminal-images.md @@ -29,7 +29,7 @@ The map view currently supports three formats: | mlterm | X11 | yes | Sixel | | kitty | X11 | yes | Kitty | | wezterm | X11 | yes | IIP | -| aminal | X11 | yes | Sixel | +| Darktile | X11 | yes | Sixel | | Jexer | X11 | yes | Sixel | | GNOME Terminal | X11 | [in-progress](https://gitlab.gnome.org/GNOME/vte/-/issues/253) | Sixel | | alacritty | X11 | [in-progress](https://github.com/alacritty/alacritty/issues/910) | Sixel | diff --git a/lib/constants.py b/lib/constants.py index 11e28af..eb36218 100644 --- a/lib/constants.py +++ b/lib/constants.py @@ -316,5 +316,5 @@ LOCALE = { "nn": "nn_NO", "pt": "pt_PT", "pt-br":"pt_BR", "pl": "pl_PL", "ro": "ro_RO", "ru": "ru_RU", "sv": "sv_SE", "sk": "sk_SK", "sl": "sl_SI", "sr": "sr_RS", "sr-lat": "sr_RS@latin", "sw": "sw_KE", "th": "th_TH", "tr": "tr_TR", "uk": "uk_UA", - "uz": "uz_UZ", "vi": "vi_VN", "zh": "zh_TW", "zu": "zu_ZA", + "uz": "uz_UZ", "vi": "vi_VN", "zh": "zh_TW", "zu": "zu_ZA", "mg": "mg_MG", } diff --git a/lib/datasource/README.md b/lib/datasource/README.md index 045d066..3b5ab6a 100644 --- a/lib/datasource/README.md +++ b/lib/datasource/README.md @@ -5,10 +5,22 @@ to select data source basing on location, or on the user's preferences. ## Possible data sources -* OpenWeatherMap -* AccuWeather -* Windy.com -* yr.no +* [Open weather map](https://openweathermap.org/) +* [Accu weather](https://www.accuweather.com/) +* [Windy](https://www.windy.com/?26.953,75.711,5) +* [Yr](https://www.yr.no/nb) * [BBC WeatherFeeds](https://support.bbc.co.uk/platform/feeds/WeatherFeeds.htm) -* http://www.bom.gov.au +* https://weather.gc.ca +* [Bom](http://www.bom.gov.au) +* [IMD](https://mausam.imd.gov.in/) +* [darksky](https://darksky.net/forecast/40.7127,-74.0059/us12/en) +* [weather bug](https://www.weatherbug.com/) +* [weather underground](https://www.wunderground.com/) +* [brightsky](https://brightsky.dev/) + +## Air Quality sources + +* http://aqicn.org/ +* https://docs.airnowapi.org/ +* https://www2.purpleair.com/community/faq#hc-access-the-json diff --git a/lib/globals.py b/lib/globals.py index 3baa0c5..88d70be 100644 --- a/lib/globals.py +++ b/lib/globals.py @@ -85,10 +85,13 @@ PLAIN_TEXT_AGENTS = [ "lwp-request", "wget", "python-requests", + "python-httpx", "openbsd ftp", "powershell", "fetch", "aiohttp", + "http_get", + "xh", ] PLAIN_TEXT_PAGES = [':help', ':bash.function', ':translation', ':iterm2'] diff --git a/lib/location.py b/lib/location.py index 4192862..7b36e79 100644 --- a/lib/location.py +++ b/lib/location.py @@ -334,6 +334,8 @@ def _get_hemisphere(location): """ if all(location): location_string = ", ".join(location) + else: + return True geolocation = _geolocator(location_string) if geolocation is None: diff --git a/lib/translations.py b/lib/translations.py index 8a078eb..b71cea4 100644 --- a/lib/translations.py +++ b/lib/translations.py @@ -5,30 +5,30 @@ Translation of almost everything. """ FULL_TRANSLATION = [ - "am", "ar", "af", "be", "ca", "da", "de", "el", "et", - "fr", "fa", "hi", "hu", "ia", "id", "it", + "am", "ar", "af", "be", "bn", "ca", "da", "de", "el", "et", + "fr", "fa", "hi", "hu", "ia", "id", "it", "lt", "mg", "nb", "nl", "oc", "pl", "pt-br", "ro", - "ru", "tr", "th", "uk", "vi", "zh-cn", "zh-tw" + "ru", "ta", "tr", "th", "uk", "vi", "zh-cn", "zh-tw", ] PARTIAL_TRANSLATION = [ "az", "bg", "bs", "cy", "cs", "eo", "es", "eu", "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", "te", "uz", - "zh", "zu", "he", + "ko", "ky", "lv", "mk", "ml", "mr", "nl", "fy", + "nn", "pt", "pt-br", "sk", "sl", "sr", + "sr-lat", "sv", "sw", "te", "uz", "zh", + "zu", "he", ] PROXY_LANGS = [ - "af", "am", "ar", "az", "be", "bs", "ca", + "af", "am", "ar", "az", "be", "bn", "bs", "ca", "cy", "de", "el", "eo", "et", "eu", "fa", "fr", "fy", "ga", "he", "hr", "hu", "hy", "ia", "id", "is", "it", "ja", "kk", - "lv", "mk", "nb", "nn", "oc", "ro", - "ru", "sl", "th", "pt-br", "uk", "uz", - "vi", "zh-cn", "zh-tw", + "lt", "lv", "mg", "mk", "mr", "nb", "nn", "oc", + "ro", "ru", "sl", "th", "pt-br", "uk", + "uz", "vi", "zh-cn", "zh-tw", ] SUPPORTED_LANGS = FULL_TRANSLATION + PARTIAL_TRANSLATION @@ -65,6 +65,11 @@ een van die koudste permanent bewoonde plekke op aarde. Не успяхме да открием вашето местоположение така че ви доведохме в Оймякон, едно от най-студените постоянно обитавани места на планетата. +""", + 'bn' : u""" +দুঃখিত, আপনার অবস্থান আমরা খুঁজে পাইনি। +তাই, আমরা আপনাকে নিয়ে এসেছি ওয়মিয়াকনে, +যা পৃথিবীর শীতলতম স্থায়ী জন-বসতিগুলোর একটি। """, 'bs': u""" Nismo mogli pronaći vašu lokaciju, @@ -176,6 +181,11 @@ Ci auguriamo che le condizioni dove lei si trova siano migliori! 지정된 장소를 찾을 수 없습니다, 대신 오이먀콘의 일기 예보를 표시합니다, 오이먀콘은 지구상에서 가장 추운 곳에 위치한 마을입니다! +""", + 'lt': u""" +Mums nepavyko rasti jūsų vietovės, +todėl mes nukreipėme jus į Omjakoną, +vieną iš šalčiausių nuolatinių gyvenviečių planetoje. """, 'lv': u""" Mēs nevarējām atrast jūsu atrašanās vietu tādēļ nogādājām jūs Oimjakonā, @@ -185,6 +195,11 @@ vienā no aukstākajām apdzīvotajām vietām uz planētas. Неможевме да ја пронајдеме вашата локација, затоа ве однесовме во Ојмајкон, еден од најладните трајно населени места на планетата. +""", + 'mr': u""" +आमहाला तुमचे स्थळ सापडले नाही. +म्हणून आम्ही तुम्हाला ओयम्याकोन येथे आणले आहे, +जे कि आपल्या ग्रहावरील सर्वात थंड वस्तिस्थानांपैकी एक आहे. """, 'nb': u""" Vi kunne ikke finne din lokasjon, @@ -298,6 +313,15 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 我們找不到您的位置 所以我們帶您到奧伊米亞康, 這個星球上有人類定居最冷之處。 +""", + 'mg': u""" +Tsy hita ny toerana misy anao koa nentinay tany Oymyakon ianao, +iray amin'ireo toerana mangatsiaka indrindra tsisy mponina eto an-tany. +""", + 'ta': u""" +உங்கள் இருப்பிடத்தை எங்களால் கண்டுபிடிக்க முடியவில்லை +எனவே நாங்கள் உங்களை ஓமியாகோனுக்கு அழைத்து வந்தோம். +கிரகத்தின் குளிர்ந்த நிரந்தரமாக வசிக்கும் இடங்களில் ஒன்று. """, }, @@ -308,6 +332,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'ar': u'موقع غير معروف', 'be': u'Невядомае месцазнаходжанне', 'bg': u'Неизвестно местоположение', + 'bn': u'অজানা অবস্থান', 'bs': u'Nepoznatoja lokacija', 'ca': u'Ubicació desconeguda', 'cs': u'Neznámá poloha', @@ -332,8 +357,10 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'ja': u'未知の場所です', 'ko': u'알 수 없는 장소', 'kk': u'', + 'lt': u'Nežinoma vietovė', 'lv': u'Nezināma atrašanās vieta', 'mk': u'Непозната локација', + 'mr': u'अज्ञात स्थळ', 'nb': u'Ukjent sted', 'nl': u'Onbekende locatie', 'oc': u'Emplaçament desconegut', @@ -355,6 +382,8 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'zh': u'未知地点', 'vi': u'Địa điểm không xác định', 'zh-tw': u'未知位置', + 'mg': u'Toerana tsy fantatra', + 'ta': u'தெரியாத இடம்', }, 'LOCATION': { @@ -363,6 +392,7 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'ar': u'الموقع', 'be': u'Месцазнаходжанне', 'bg': u'Местоположение', + 'bn': u'অবস্থান', 'bs': u'Lokacija', 'ca': u'Ubicació', 'cs': u'Poloha', @@ -387,8 +417,10 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'ja': u'位置情報', 'ko': u'위치', 'kk': u'', + 'lt': u'Vietovė', 'lv': u'Atrašanās vieta', 'mk': u'Локација', + 'mr': u'स्थळ', 'nb': u'Sted', 'nl': u'Locatie', 'oc': u'Emplaçament', @@ -409,6 +441,8 @@ một trong những nơi lạnh nhất có người sinh sống trên trái đ 'uk': u'Місцезнаходження', 'vi': u'Địa điểm', 'zh-tw': u'位置', + 'mg': u'Toerana', + 'ta': u'இடம்', }, 'CAPACITY_LIMIT_REACHED': { @@ -452,6 +486,12 @@ U kan vir https://twitter.com/igor_chubin volg vir opdaterings. Ето доклад за града по подразбиране (просто да видите как изглежда). Ще осогурим допълнителни заявки максимално бързо. Може да последвате https://twitter.com/igor_chubin за обновления. +""", + 'bn': u""" +দুঃখিত, এই মুহুর্তে আবহাওয়া পরিসেবাতে আমাদের কুইরী শেষ হয়ে আসছে। +এখানে ডিফল্ট শহরের আবহাওয়ার প্রতিবেদন রয়েছে (এটি দেখতে কেমন তা আপনাকে দেখানোর জন্য)। +আমরা খুব দ্রুত নতুন কুইরী পাওয়ার ব্যবস্থা করছি। +আপডেটের জন্য আপনি https://twitter.com/igor_chubin অনুসরণ করতে পারেন। """, 'bs': u""" Žao mi je, mi ponestaje upita i vremenska prognoza u ovom trenutku. @@ -557,6 +597,13 @@ Potete seguire https://twitter.com/igor_chubin per gli aggiornamenti. 쿼리 요청이 가능한 한 빨리 이루어질 수 있도록 하겠습니다. 업데이트 소식을 원하신다면 https://twitter.com/igor_chubin 을 팔로우 해주세요. ====================================================================================== +""", + 'lt': u""" +Atsiprašome, šiuo metu pasiekėme orų prognozės paslaugos užklausų ribą. +Štai orų prognozė numatomam miestui (tam, kad parodytume, kaip ji atrodo). +Naujas užklausas priimsime, kai tik galėsime. +Atnaujinimus galite sekti https://twitter.com/igor_chubin +====================================================================================== """, 'lv': u""" Atvainojiet, uz doto brīdi mēs esam mazliet noslogoti. @@ -571,6 +618,13 @@ Jūs varat sekot https://twitter.com/igor_chubin lai redzētu visus jaunumus. Ќе добиеме нови барања најбрзо што можеме. Следете го https://twitter.com/igor_chubin за известувања ====================================================================================== +""", + 'mr': u""" +क्षमस्व, याक्षणी आम्ही हवामान सेवेशी संपर्क करू शकत नाही. +हा एका पूर्वनिर्धारित शहराचा हवामान अहवाल आहे (केवळ तो कसा दिसतो हे दाखवण्याकरिता). +आम्ही लवकरात लवकर सेवा पुनः चालू करण्याचा प्रयत्न करू. +अद्यावत माहितीसाठी तुम्ही https://twitter.com/igor_chubin चे अनुसरण करू शकता. +====================================================================================== """, 'nb': u""" Beklager, vi kan ikke nå værtjenesten for øyeblikket. @@ -690,6 +744,18 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th 我們將盡快取得新的資料。 您可以追蹤 https://twitter.com/igor_chubin 以取得更新。 ====================================================================================== +""", + 'mg': u""" +Miala tsiny fa misedra olana ny sampan-draharaha momba ny toetrandro amin'izao fotoana izao. +Ity ny tatitra momba ny toetr'andro ho an'ny tanàna mahazatra (mba hampisehoana anao ny endriny). +Haivaly aminao haingana ny fangatahanao. +Azonao atao ny manaraka ny pejy https://twitter.com/igor_chubin. +""", + 'ta': u""" +மன்னிக்கவும், தற்போது வானிலை சேவைக்கான வினவல்கள் எங்களிடம் இல்லை. +இயல்புநிலை நகரத்திற்கான வானிலை அறிக்கை இதோ (அது எப்படி இருக்கும் என்பதை உங்களுக்குக் காண்பிப்பதற்காக). +கூடிய விரைவில் புதிய வினவல்களைப் பெறுவோம். +புதுப்பிப்புகளுக்கு நீங்கள் https://twitter.com/igor_chubin ஐப் பின்தொடரலாம். """, }, @@ -704,6 +770,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th '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 (добавете ~ преди)', + 'bn': 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 varios idiomas \033[92mwttr.in/станция+Восток\033[0m (em UTF-8) y la búsqueda por ubicaciones \033[92mwttr.in/~Kilimanjaro\033[0m (tan solo inserte ~ al principio)', @@ -723,8 +790,10 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th '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 ~)', 'ko': u'새로운 기능: 다국어로 대응된 위치 \033[92mwttr.in/서울\033[0m (UTF-8에서) 장소 검색 \033[92mwttr.in/~Kilimanjaro\033[0m (앞에 ~를 붙이세요)', 'kk': u'', + 'lt': u'Naujiena: daugiakalbiai vietovių pavadinimai \033[92mwttr.in/станция+Восток\033[0m (UTF-8) ir vietovių paieška \033[92mwttr.in/~Kilimanjaro\033[0m (tiesiog priekyje pridėkite ~)', 'lv': u'Jaunums: Daudzvalodu atrašanās vietu nosaukumi \033[92mwttr.in/станция+Восток\033[0m (in UTF-8) un dabas objektu meklēšana \033[92mwttr.in/~Kilimanjaro\033[0m (tikai priekšā pievieno ~)', 'mk': u'Нова функција: повеќе јазично локациски имиња \033[92mwttr.in/станция+Восток\033[0m (во UTF-8) и локациско пребарување \033[92mwttr.in/~Kilimanjaro\033[0m (just add ~ before)', + 'mr': u'नवीन वैशिष्ट्य: स्थळांची बहुभाषिक नावे \033[92mwttr.in/станция+Восток\033[0m (UTF-8 मध्ये) आणि स्थळ शोध \033[92mwttr.in/~Kilimanjaro\033[0m (फक्त आधी ~ जोडा)', 'oc': u'Novèla foncionalitat : nom de lòc multilenga \033[92mwttr.in/станция+Восток\033[0m (en UTF-8) e recèrca de lòc \033[92mwttr.in/~Kilimanjaro\033[0m (solament ajustatz ~ abans)', 'pl': u'Nowa funkcjonalność: wielojęzyczne nazwy lokalizacji \033[92mwttr.in/станция+Восток\033[0m (w UTF-8) i szukanie lokalizacji \033[92mwttr.in/~Kilimanjaro\033[0m (poprzedź zapytanie ~ - znakiem tyldy)', 'pt': u'Nova funcionalidade: nomes de localidades em várias línguas \033[92mwttr.in/станция+Восток\033[0m (em UTF-8) e procura por localidades \033[92mwttr.in/~Kilimanjaro\033[0m (é só colocar ~ antes)', @@ -740,6 +809,8 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th 'uk': u'Спробуйте: назви місць будь-якою мовою \033[92mwttr.in/станція+Восток\033[0m (в UTF-8) та пошук місць \033[92mwttr.in/~Kilimanjaro\033[0m (потрібно додати ~ спочатку)', 'vi': u'Chức năng mới: tên địa điểm đa ngôn ngữ \033[92mwttr.in/станция+Восток\033[0m (dùng UTF-8) và tìm kiếm địa điểm \033[92mwttr.in/~Kilimanjaro\033[0m (chỉ cần thêm ~ phía trước)', 'zh-tw': u'新功能:多語言地點名稱 \033[92mwttr.in/станция+Восток\033[0m (使用 UTF-8 編碼)與位置搜尋 \033[92mwttr.in/~Kilimanjaro\033[0m (只要在地點前加 ~ 就可以了)', + 'mg': u'Fanatsrana vaovao: anarana toerana amin\'ny fiteny maro\033[92mwttr.in/станция+Восток\033[0m (en UTF-8) sy fitadiavana toerana \033[92mwttr.in/~Kilimanjaro\033[0m (ampio ~ fotsiny eo aloha)', + 'ta': u'புதிய அம்சம்: பன்மொழி இருப்பிடப் பெயர்கள் \033[92mwttr.in/станция+Восток\033[0m (UTF-8 இல்) மற்றும் இருப்பிடத் தேடல் \033[92mwttr.in/~Kilimanjaro\033[0m (முன் ~ஐச் சேர்க்கவும்)', }, 'FOLLOW_ME': { @@ -749,6 +820,7 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th 'am': u'ለተጨማሪ wttr.in ዜና እና መረጃ \033[46m\033[30m@igor_chubin\033[0m ን ይከተሉ', 'be': u'Сачыце за \033[46m\033[30m@igor_chubin\033[0m за навінамі wttr.in', 'bg': u'Последвай \033[46m\033[30m@igor_chubin\033[0m за обновления свързани с wttr.in', + 'bn': u'wttr.in আপডেটের জন্য \033[46m\033[30m@igor_chubin\033[0m কে অনুসরণ করুন', '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'Sigue a \033[46m\033[30m@igor_chubin\033[0m para enterarte de las novedades de wttr.in', @@ -766,8 +838,10 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th 'it': u'Seguite \033[46m\033[30m@igor_chubin\033[0m per aggiornamenti a wttr.in', 'ko': u'wttr.in의 업데이트 소식을 원하신다면 \033[46m\033[30m@igor_chubin\033[0m 을 팔로우 해주세요', 'kk': u'', + 'lt': u'wttr.in atnaujinimus sekite \033[46m\033[30m@igor_chubin\033[0m', 'lv': u'Seko \033[46m\033[30m@igor_chubin\033[0m , lai uzzinātu wttr.in jaunumus', 'mk': u'Следете \033[46m\033[30m@igor_chubin\033[0m за wttr.in новости', + 'mr': u'wttr.in च्या अद्यावत माहितीसाठी \033[46m\033[30m@igor_chubin\033[0m चे अनुसरण करा', 'nb': u'Følg \033[46m\033[30m@igor_chubin\033[0m for wttr.in oppdateringer', 'nl': u'Volg \033[46m\033[30m@igor_chubin\033[0m voor wttr.in updates', 'oc': u'Seguissètz \033[46m\033[30m@igor_Chubin\033[0m per demorar informat sus wttr.in', @@ -786,6 +860,8 @@ Bạn có thể theo dõi https://twitter.com/igor_chubin để cập nhật th 'uk': u'Нові можливості wttr.in публікуються тут: \033[46m\033[30m@igor_chubin\033[0m', 'vi': u'Theo dõi \033[46m\033[30m@igor_chubin\033[0m để cập nhật thông tin về wttr.in', 'zh-tw': u'追蹤 \033[46m\033[30m@igor_chubin\033[0m 以取得更多 wttr.in 的動態', + 'mg': u'Araho ao ny pejy \033[46m\033[30m@igor_Chubin\033[0m raha toa ka te hahazo vaovao momban\'ny wttr.in', + 'ta': u'wttr.in புதுப்பிப்புகளுக்கு \033[46m\033[30m@igor_chubin\033[0m ஐப் பின்தொடரவும்', }, } CAPTION = { @@ -795,6 +871,7 @@ CAPTION = { "az": u"Hava proqnozu:", "be": u"Прагноз надвор'я для:", "bg": u"Прогноза за времето в:", + "bn": u"আবহাওয়ার প্রতিবেদন:", "bs": u"Vremenske prognoze za:", "ca": u"Informe del temps per a:", "cs": u"Předpověď počasí pro:", @@ -831,6 +908,7 @@ CAPTION = { "lv": u"Laika ziņas:", "mk": u"Прогноза за времето во:", "ml": u"കാലാവസ്ഥ റിപ്പോർട്ട്:", + "mr": u"हवामान अहवाल:", "nb": u"Værmelding for:", "nl": u"Weerbericht voor:", "nn": u"Vêrmelding for:", @@ -855,6 +933,8 @@ CAPTION = { "zh": u"天气预报:", "zu": u"Isimo sezulu:", "zh-tw": u"天氣報告:", + "mg": u"Toetr\'andro any :", + "ta": u"வானிலை அறிக்கை:", } def get_message(message_name, lang): diff --git a/lib/translations_v2.py b/lib/translations_v2.py index 35c8294..eef0dd7 100644 --- a/lib/translations_v2.py +++ b/lib/translations_v2.py @@ -13,6 +13,7 @@ V2_TRANSLATION = { "az": ("Hava proqnozu:", "Hava", "Saat zonası", "İndi", "Şəfəq", "Günəş çıxdı", "Zenit", "Gün batımı", "Toran"), "be": ("Прагноз надвор'я для:", "Надвор'е", "Часавая зона", "Цяпер", "Світанак", "Усход сонца", "Зеніт", "Захад сонца", "Змярканне"), "bg": ("Прогноза за времето в:", "", "", "", "", "", "", "", ""), + "bn" : ("আবহাওয়া প্রতিবেদন:", "আবহাওয়া", "টাইমজোন", "এখন", "ভোর", "সূর্যোদয়", "সুবিন্দু", "সূর্যাস্ত", "সন্ধ্যা"), "bs": ("Vremenske prognoze za:", "", "", "", "", "", "", "", ""), "ca": ("Informe del temps per a:", "", "", "", "", "", "", "", ""), "cs": ("Předpověď počasí pro:", "", "", "", "", "", "", "", ""), @@ -28,7 +29,7 @@ V2_TRANSLATION = { "fi": ("Säätiedotus:", "", "", "", "", "", "", "", ""), "fr": ("Prévisions météo pour :", "Météo", "Fuseau Horaire", "Heure", "Aube", "Lever du Soleil", "Zénith", "Coucher du Soleil", "Crépuscule"), "fy": ("Waarberjocht foar:", "", "", "", "", "", "", "", ""), - "ga": ("Réamhaisnéis na haimsire do:", "", "", "", "", "", "", "", ""), + "ga": ("Réamhaisnéis na haimsire do:", "Aimsir", "Crios ama", "Anois", "Breacadh an lae", "Éirí na gréine", "Forar", "Dul faoi na gréine", "Coineascar"), "he": (":ריוואה גזמ תיזחת", "", "", "", "", "", "", "", ""), "hi": ("मौसम की जानकारी", "मौसम", "समय मण्डल", "अभी", "उदय", "सूर्योदय", "चरम बिन्दु", "सूर्यास्त", "संध्याकाल"), "hr": ("Vremenska prognoza za:", "", "", "", "", "", "", "", ""), @@ -44,10 +45,11 @@ V2_TRANSLATION = { "kk": ("Ауа райы:", "", "", "", "", "", "", "", ""), "ko": ("일기 예보:", "날씨", "시간대", "현재", "새벽", "일출", "정오", "일몰", "황혼"), "ky": ("Аба ырайы:", "", "", "", "", "", "", "", ""), - "lt": ("Orų prognozė:", "", "", "", "", "", "", "", ""), + "lt": ("Orų prognozė:", "Orai", "Laiko zona", "Dabar", "Aušra", "Saulėtekis", "Zenitas", "Saulėlydis", "Sutemos"), "lv": ("Laika ziņas:", "", "", "", "", "", "", "", ""), "mk": ("Прогноза за времето во:", "", "", "", "", "", "", "", ""), - "ml": ("കാലാവസ്ഥ റിപ്പോർട്ട്:", "", "", "", "", "", "", "", ""), + "ml": ("കാലാവസ്ഥ റിപ്പോർട്ട്:", "കാലാവസ്", "സമയ മേഖല", "ഇപ്പോൾ", "പ്രഭാതത്തെ", "സൂര്യോദയം", "പരമോന്നത", "സൂര്യാസ്തമയം", "സന്ധ്യ"), + "mr": ("हवामान अहवालाचे ठिकाण:", "हवामान", "कालक्षेत्र", "आता", "पहाट", "सूर्योदय", "शिखरबिंदु", "सूर्यास्त", "संध्याकाळ"), "nb": ("Værmelding for:", "", "", "", "", "", "", "", ""), "nl": ("Weerbericht voor:", "Weer", "Tijdzone", "Nu", "Dageraad", "Zonsopkomst", "Zenit", "Zonsondergang", "Schemering"), "nn": ("Vêrmelding for:", "", "", "", "", "", "", "", ""), @@ -63,7 +65,7 @@ V2_TRANSLATION = { "sr-lat": ("Vremenska prognoza za:", "", "", "", "", "", "", "", ""), "sv": ("Väderleksprognos för:", "", "", "", "", "", "", "", ""), "sw": ("Ripoti ya hali ya hewa, jiji la:", "", "", "", "", "", "", "", ""), - "te": ("వాతావరణ సమాచారము:", "", "", "", "", "", "", "", ""), + "te": ("వాతావరణ సమాచారము:", "వాతావరణం", "కాల మండలం", "ప్రస్తుతం", "తెల్లవారుజాము", "సూర్యోదయం", "ఉన్నత స్థానం", "సూర్యాస్తమయం", "సందెచీకటి"), "th": ("รายงานสภาพอากาศ:", "", "", "", "", "", "", "", ""), "tr": ("Hava beklentisi:", "Hava Durumu", "Zaman Dilimi", "Şimdi", "Şafak", "Gün Doğumu", "Doruk", "Gün Batımı", "Akşam"), "uk": ("Прогноз погоди для:", "Погода", "Часовий пояс", "Зараз", "Світанок", "Схід сонця", "Зеніт", "Захід сонця", "Сутінки"), @@ -72,4 +74,6 @@ V2_TRANSLATION = { "zh": ("天气预报:", "天气", "时区", "当前", "黎明", "日出", "正午", "日落", "黄昏"), "zh-tw": ("天氣預報:", "天氣", "時區", "目前", "黎明", "日出", "日正當中", "日落", "黃昏"), "zu": ("Isimo sezulu:", "", "", "", "", "", "", "", ""), + "mg": ("Vinavina toetr'andro hoany :", "Toetr'andro", "Faritra ora", "Ora", "Mangirandratsy", "Maneno akoho", "Mitatao vovonana", "Masoandro milentika", "Crépuscule"), + "ta": ("வானிலை அறிக்கை:", "வானிலை", "நேரம் மண்டலம்", "இப்போது", "விடியல்", "சூரிய உதயம்", "ஜெனித்", "சூரிய அஸ்தமனம்", "அந்தி"), } diff --git a/lib/view/line.py b/lib/view/line.py index a9429b1..c616355 100644 --- a/lib/view/line.py +++ b/lib/view/line.py @@ -25,7 +25,7 @@ from astral.sun import sun import pytz -from constants import WWO_CODE, WEATHER_SYMBOL, WIND_DIRECTION, WEATHER_SYMBOL_WIDTH_VTE, WEATHER_SYMBOL_PLAIN +from constants import WWO_CODE, WEATHER_SYMBOL, WEATHER_SYMBOL_WI_NIGHT, WEATHER_SYMBOL_WI_DAY, WIND_DIRECTION, WIND_DIRECTION_WI, WEATHER_SYMBOL_WIDTH_VTE, WEATHER_SYMBOL_PLAIN from weather_data import get_weather_data from . import v2 from . import prometheus @@ -80,8 +80,21 @@ def render_condition(data, query): """Emoji encoded weather condition (c) """ - weather_condition = WEATHER_SYMBOL[WWO_CODE[data['weatherCode']]] - spaces = " "*(WEATHER_SYMBOL_WIDTH_VTE.get(weather_condition) - 1) + if query.get("view") == "v2n": + weather_condition = WEATHER_SYMBOL_WI_NIGHT.get( + WWO_CODE.get( + data['weatherCode'], "Unknown")) + spaces = " " + elif query.get("view") == "v2d": + weather_condition = WEATHER_SYMBOL_WI_DAY.get( + WWO_CODE.get( + data['weatherCode'], "Unknown")) + spaces = " " + else: + weather_condition = WEATHER_SYMBOL.get( + WWO_CODE.get( + data['weatherCode'], "Unknown")) + spaces = " "*(3 - WEATHER_SYMBOL_WIDTH_VTE.get(weather_condition, 1)) return weather_condition + spaces @@ -169,7 +182,10 @@ def render_wind(data, query): degree = "" if degree: - wind_direction = WIND_DIRECTION[int(((degree+22.5)%360)/45.0)] + if query.get("view") in ["v2n", "v2d"]: + wind_direction = WIND_DIRECTION_WI[int(((degree+22.5)%360)/45.0)] + else: + wind_direction = WIND_DIRECTION[int(((degree+22.5)%360)/45.0)] else: wind_direction = "" @@ -358,7 +374,11 @@ def format_weather_data(query, parsed_query, data): if format_line in PRECONFIGURED_FORMAT: format_line = PRECONFIGURED_FORMAT[format_line] - if format_line == "j1": + if format_line in ["j1", "j2"]: + # j2 is a lightweight j1, without 'hourly' in 'weather' (weather forecast) + if "weather" in data["data"] and format_line == "j2": + for i in range(len(data["data"]["weather"])): + del data["data"]["weather"][i]["hourly"] return render_json(data['data']) if format_line == "p1": return prometheus.render_prometheus(data['data']) diff --git a/lib/view/v2.py b/lib/view/v2.py index f9e9d63..047dbf6 100644 --- a/lib/view/v2.py +++ b/lib/view/v2.py @@ -321,7 +321,7 @@ def draw_emoji(data, config): weather_symbol = constants.WEATHER_SYMBOL_WI_NIGHT weather_symbol_width_vte = constants.WEATHER_SYMBOL_WIDTH_VTE_WI elif config.get("view") == "v2d": - weather_symbol = constants.WEATHER_SYMBOL_WI_NIGHT + weather_symbol = constants.WEATHER_SYMBOL_WI_DAY weather_symbol_width_vte = constants.WEATHER_SYMBOL_WIDTH_VTE_WI else: weather_symbol = constants.WEATHER_SYMBOL @@ -419,13 +419,19 @@ def generate_panel(data_parsed, geo_data, config): max_width = 72 + if config.get("use_imperial"): + feels_like_query = "[.data.weather[] | .hourly[]] | .[].FeelsLikeF" + temp_query = "[.data.weather[] | .hourly[]] | .[].tempF" + wind_speed_query = "[.data.weather[] | .hourly[]] | .[].windspeedMiles" + else: + feels_like_query = "[.data.weather[] | .hourly[]] | .[].FeelsLikeC" + temp_query = "[.data.weather[] | .hourly[]] | .[].tempC" + wind_speed_query = "[.data.weather[] | .hourly[]] | .[].windspeedKmph" + precip_mm_query = "[.data.weather[] | .hourly[]] | .[].precipMM" precip_chance_query = "[.data.weather[] | .hourly[]] | .[].chanceofrain" - feels_like_query = "[.data.weather[] | .hourly[]] | .[].FeelsLikeC" - temp_query = "[.data.weather[] | .hourly[]] | .[].tempC" weather_code_query = "[.data.weather[] | .hourly[]] | .[].weatherCode" wind_direction_query = "[.data.weather[] | .hourly[]] | .[].winddirDegree" - wind_speed_query = "[.data.weather[] | .hourly[]] | .[].windspeedKmph" output = "" @@ -509,7 +515,7 @@ def textual_information(data_parsed, geo_data, config, html_output=False): format_line = "%c %C, %t, %h, %w, %P" current_condition = data_parsed['data']['current_condition'][0] - query = {} + query = config weather_line = wttr_line.render_line(format_line, current_condition, query) output.append('Weather: %s' % weather_line) diff --git a/lib/wttr_srv.py b/lib/wttr_srv.py index 00806ad..8d8bd0b 100644 --- a/lib/wttr_srv.py +++ b/lib/wttr_srv.py @@ -215,6 +215,8 @@ def _response(parsed_query, query, fast_mode=False): logging.debug(f'No luck with cache for "{loc}", getting data for real.') if parsed_query.get("view"): logging.debug(f'Querying wttr_line: {query}') + if not parsed_query.get("location"): + parsed_query["location"] = loc output = wttr_line(query, parsed_query) elif loc == 'moon' or loc.startswith('moon@'): logging.debug(f'Querying moon') diff --git a/share/aliases b/share/aliases index b2adbf1..11e7e65 100644 --- a/share/aliases +++ b/share/aliases @@ -50,3 +50,4 @@ Kashan : ~Kashan,Iran Baku : Baku,Az Rome : Rome, Italia YYZ : Toronto Pearson Airport +brasilia : Palacio da Alvorada,Brasilia diff --git a/share/translation.txt b/share/translation.txt index ff9c447..b4e8767 100644 --- a/share/translation.txt +++ b/share/translation.txt @@ -14,6 +14,7 @@ Translated/improved/corrected by: * Basque: Iker Sagasti (@isagasti on github) * Belarusian: Igor Chubin, Anton Zhavoronkov @edogby (on github) * Bosnian: Ismar Kunc @ismarkunc + * Bengali: Nazia Tasnim (@appledora on github) * Bulgarian: Vladimir Vitkov @zeridon (on github) * Brazilian-PT: Tupã Negreiros @TupaNegreiros (on github) * Catalan: Angel Jarabo @legna29A @@ -43,7 +44,9 @@ Translated/improved/corrected by: * Kazakh: Akku Tutkusheva, Oleg Tropinin * Korean: Jeremy Bae @opt9, Jung Winter @res_tin * Latvian: Gunārs Danovskis + * Lithuanian Juras Rutavičius * Macedonian: Matej Plavevski @MatejMecka + * Marathi: Sanket Pandit Garade (@sanketgarade on github) * Norwegian: Fredrik Fjeld @fredrikfjeld * Nynorsk: Kevin Brubeck Unhammer (https://unhammer.org/k/) * Occitan: Quentin PAGÈS @Quenty-tolosan (gh) @@ -58,7 +61,10 @@ Translated/improved/corrected by: * Spanish: Fernando Bitti Loureiro @fbitti (on github) * Swedish: John Eriksson * Swahili: Joel Mukuthu - * Turkish: Atabey Kaygun, Yilmaz @edigu, Volkan Tokmak(@volkanto) + * Tamil: Parthiban @parthi1984 (on github) + * Telugu: Pavan Srinivas Mamidala @pavansrinivasmamidala (on github), + Vishal Boddu @bodduv (on github) + * Turkish: Atabey Kaygun, Yilmaz @edigu, Volkan Tokmak(@volkanto), Oğuz Ersen * Thai: Vatunyoo Suwannapisit @kerlos * Ukrainian: Igor Chubin, Serhiy @pavse * Uzbek: Shukhrat Mukimov diff --git a/share/translations/bn-help.txt b/share/translations/bn-help.txt new file mode 100644 index 0000000..7ae1f6a --- /dev/null +++ b/share/translations/bn-help.txt @@ -0,0 +1,67 @@ +ব্যবহার: + + $ curl wttr.in # এখন যেখানে আছ + $ curl wttr.in/cdg # প্যারিস - চার্লস ডি গল বিমানবন্দরে আবহাওয়ার পূর্বাভাস + +গৃহীত কমান্ডের ধরন: + + /paris # শহরের নাম + /~Eiffel+tower # যেকোনো স্থানের নাম + /Москва # ইউনিকোড নাম বা যেকোনো ভাষায় যেকোনো স্থানের নাম + /muc # বিমানবন্দর কোড (3 অক্ষর) + /@stackoverflow.com # ডোমেন নাম + /94107 # জিপ কোড (শুধুমাত্র মার্কিন যুক্তরাষ্ট্রে) + /-78.46,106.79 # জিপিএস স্থানাঙ্ক + +বিশেষ কমান্ড: + + /moon # চাঁদের পর্যায়গুলি (একই নামের শহরগুলি অ্যাক্সেস করতে যোগ করুন, + US বা, + France) + /moon@2016-10-25 # এই তারিখের জন্য চাঁদের পর্যায়গুলি (@ 2016-10-25) + +ইউনিট: + + ?m # মেট্রিক সিস্টেম (মার্কিন যুক্তরাষ্ট্র ছাড়া সব জায়গায় ডিফল্ট) + ?u # USCS (মার্কিন যুক্তরাষ্ট্রের জন্য ডিফল্ট) + ?M # বাতাসের গতি m / s তে প্রদর্শন করে + +বিকল্প প্রদর্শন : + + ?0 # শুধুমাত্র আজ + ?1 # আজ + আগামীকাল + ?2 # আজ + 2 দিন + ?n # সংক্ষিপ্ত সংস্করণ (শুধুমাত্র দিন এবং রাত) + ?q # নীরব সংস্করণ (কোন "আবহাওয়ার পূর্বাভাস" হেডার নেই) + ?Q # অতি-নীরব সংস্করণ (কোন "আবহাওয়ার পূর্বাভাস" হেডার নেই, শহরের নাম নেই) + ?T # ডিজেবল্ড টার্মিনালের জন্য এস্কেপ সিকুএন্সে (কোনও রঙ নেই) + +বিকল্প PNG: + + /paris.png # একটি PNG ফাইল তৈরি করুন + ?p # আউটপুটের চারপাশে একটি ফ্রেম যুক্ত করুন + ?t # স্বচ্ছতা 150 (স্বচ্ছতা 150) + transparency=... # 0 থেকে 255 পর্যন্ত স্বচ্ছতা (255 = অস্বছ) + +বিকল্প একত্রিত করুন: + + /Paris?0pq + /Paris?0pq&lang=fr + /Paris_0pq.png # পিএনজি মোডে বিকল্পগুলি _ এর পরে নির্দিষ্ট করা হয় + /Rome_0pq_lang=it.png # দীর্ঘ বিকল্পগুলি আন্ডারস্কোর দ্বারা পৃথক করা হয় _ + +ভাষান্তর : + + $ curl fr.wttr.in/Paris + $ curl wttr.in/paris?lang=fr + $ curl -H "Accept-Language: fr" wttr.in/paris + +সাপোরটেড ভাষাসমূহ : + + FULL_TRANSLATION (সম্পূর্ণ সাপোর্ট ) + PARTIAL_TRANSLATION (অসম্পূর্ণ সাপোর্ট ) + +বিশেষ ইউআরএলসমূহ: + + /:help # এই পেইজটি প্রদর্শন করুন + /:bash.function # রেকমেন্ডেড ব্যাশ ফাংশন wttr () + /:translation # wttr.in এর অনুবাদ সম্পর্কে তথ্য প্রদর্শন করুন + diff --git a/share/translations/bn.txt b/share/translations/bn.txt new file mode 100644 index 0000000..f43b9da --- /dev/null +++ b/share/translations/bn.txt @@ -0,0 +1,78 @@ +: বজ্রঝড়ের সঙ্গে ভারী বৃষ্টি ও শিলাবৃষ্টি : Heavy rain and hail with thunderstorm +: বজ্রঝড়ের সঙ্গে ভারী বৃষ্টি : Heavy rain with thunderstorm +: বজ্রঝড়ের সঙ্গে হালকা বৃষ্টি ও শিলাবৃষ্টি : Light rain and hail with thunderstorm +: হালকা বৃষ্টি আর তুষারপাত : Light rain and snow shower +: বজ্রবিদ্যুৎ সহ হালকা বৃষ্টি : Light rain with thunderstorm +: হালকা তুষারপাত : Light snow shower +: আংশিক কুয়াশা : Partial fog +: বজ্রবিদ্যুৎ সহ বৃষ্টি ও শিলাবৃষ্টি : Rain and hail with thunderstorm +: বজ্রবিদ্যুৎ সহ বৃষ্টি : Rain with thunderstorm +: অগভীর কুয়াশা : Shallow fog +: ধোঁয়া : Smoke +: আকস্মিক ঝড়ো বাতাস : Squalls +: আশেপাশে বজ্রঝড় : Thunderstorm in vicinity +: তুষার : Snow +: বৃষ্টি : Rain +: হালকা বৃষ্টি, ঝরনা বৃষ্টি : Light Rain, Rain Shower +: মাঝারী বৃষ্টিপাত : Rain Shower +: টুকরো টুকরো কুয়াশা : Patches of fog +: গুঁড়ি গুঁড়ি বৃষ্টি : Drizzle +: হালকা গুঁড়ি গুঁড়ি বৃষ্টি : Light drizzle +: হালকা ভাসমান তুষার : Low drifting snow +: হালকা বৃষ্টি ও তুষারপাত : Light rain and snow +: আশেপাশে বৃষ্টিপাত : Shower in vicinity +: বজ্রবিদ্যুৎ সহ বৃষ্টি : Rain with thunderstorm +: বৃষ্টি ও তুষারপাত : Rain and snow shower +: বজ্রঝড় : Thunderstorm +: গুঁড়ি গুঁড়ি মাঝারী বৃষ্টি : Drizzle and rain +: বজ্রঝড়ের সঙ্গে শিলাবৃষ্টি : Hail with thunderstorm +: কুয়াশা : Haze +: হালকা গুঁড়ি গুঁড়ি বৃষ্টি : Light drizzle and rain +: হালকা বৃষ্টি এবং বজ্রঝড় সহ ছোট শিলাবৃষ্টি/তুষারপাত : Light rain and small hail/snow pallets with thunderstorm +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/de.txt b/share/translations/de.txt index 565ddc3..dd17a0d 100644 --- a/share/translations/de.txt +++ b/share/translations/de.txt @@ -7,6 +7,7 @@ : Regen : Rain : Leichter Regen : Light Rain : Regenschauer : Rain Shower +: Shower in vicinity : Regen in der näheren Umgebung 113: Wolkenlos : Clear 113: Sonnig : Sunny 116: Leicht Bewölkt : Partly cloudy diff --git a/share/translations/fr.txt b/share/translations/fr.txt index 6bc9149..8a8b4df 100644 --- a/share/translations/fr.txt +++ b/share/translations/fr.txt @@ -4,7 +4,7 @@ : Pluie légère et averses : Light rain and snow shower : Pluies légères orageuses : Light rain with thunderstorm : Chutes de neige légères : Light snow shower -: Nappes de brouillard : Parftial fog +: Nappes de brouillard : Partial fog : Orage de pluie et de grêle : Rain and hail with thunderstorm : Pluies orageuses : Rain with thunderstorm : Brouillard léger : Shallow fog diff --git a/share/translations/hi-help.txt b/share/translations/hi-help.txt new file mode 100644 index 0000000..39ab5ca --- /dev/null +++ b/share/translations/hi-help.txt @@ -0,0 +1,69 @@ +उपयोग: + +    $ curl wttr.in          # वर्तमान स्थान के मौसम की जानकारी  +    $ curl wttr.in/muc      # म्यूनिख हवाई अड्डे का मौसम + +समर्थित स्थान प्रकार: + +    /paris                  # शहर का नाम +    /~Eiffel+tower          # कोई भी स्थान (एक से अधिक शब्दो को जोड़ने के लिए + का उपयोग करे) +    /Москва                 # किसी भी भाषा में किसी भी स्थान का यूनिकोड नाम +    /muc                    # एयरपोर्ट कोड (3 अक्षर) +    /@stackoverflow.com     # डोमेन नाम +    /94107                  # क्षेत्र कोड +    /-78.46,106.79          # जीपीएस निर्देशांक + +चंद्र चरण की जानकारी: + +    /moon                   # चंद्रमा चरण (शहरों के लिए +US या, +France जोड़ें) +    /moon@2016-10-25        # तिथि के लिए चंद्र चरण (@2016-10-25) + +इकाइयां: + +    m                       # मेट्रिक (एसआई) (यूएस को छोड़कर हर जगह डिफ़ॉल्ट रूप से उपयोग किया जाता है) +    u                       # यूएससीएस (यूएस में डिफ़ॉल्ट रूप से प्रयुक्त) +    M                       # हवा की गति मीटर/सेकंड में दिखाएं + +विकल्प देखें: + +    0                       # केवल वर्तमान मौसम +    1                       # वर्तमान मौसम और आज का पूर्वानुमान +    2                       # वर्तमान मौसम और आज का और कल का पूर्वानुमान +    A                       # युसेर-एजेंट को अनदेखा करें और एएनएसआई आउटपुट (टर्मिनल) को बाध्य करें +    F                       # "फॉलो" लाइन न दिखाएं +    n                       # संकीर्ण संस्करण (केवल दिन और रात के लिये) +    q                       # शांत संस्करण (कोई "मौसम रिपोर्ट" पाठ नहीं) +    Q                       # अति शांत संस्करण ("मौसम की जानकारी" और शहर का नाम नहीं) +    T                       # टर्मिनल अनुक्रम बंद करें (रंगो के बिना) + +पीएनजी विकल्प: + +    /paris.png              # पीएनजी फ़ाइल जनरेट करें +    p                       # आउटपुट के चारों ओर फ्रेम जोड़ें +    t                       # पारदर्शिता 150 +    transparency=...        # पारदर्शिता 0 से 255 तक (255 = पारदर्शी नहीं) +    background=...          # RRGGBB के रूप में पृष्ठभूमि का रंग, जैसे की 00aaaa + +विकल्पों को जोड़ा जा सकता है: + +    /Paris?0pq +    /Paris?0pq&lang=fr +    /Paris_0pq.png          # पीएनजी में फ़ाइल मोड को "_" के बाद निर्दिष्ट किया जाता है +    /Rome_0pq_lang=it.png   # लंबे विकल्पों को अंडरस्कोर से अलग किया जाता है + +स्थानीयकरण: + +    $ curl fr.wttr.in/Paris +    $ curl wttr.in/paris?lang=fr +    $ curl -H "Accept-Language: fr" wttr.in/paris + +समर्थित भाषाएँ: + +    FULL_TRANSLATION (समर्थित) +    PARTIAL_TRANSLATION (प्रगति में) + +विशेष यूआरएल: + +    /:help                  # इस पेज को दिखाएं +    /:bash.function         # अनुशंसित बैश फ़ंक्शन wttr () दिखाएं +    /:translation           # अनुवादकों के बारे में जानकारी दिखाएं diff --git a/share/translations/hi.txt b/share/translations/hi.txt new file mode 100644 index 0000000..01565d6 --- /dev/null +++ b/share/translations/hi.txt @@ -0,0 +1,79 @@ +: तेज बारिश और गरज के साथ ओलावृष्टि : Heavy rain and hail with thunderstorm +: गरज के साथ तेज बारिश : Heavy rain with thunderstorm +: गरज के साथ हल्की बारिश और ओलावृष्टि : Light rain and hail with thunderstorm +: हल्की बारिश और बर्फ की बौछार : Light rain and snow shower +: गरज के साथ हल्की बारिश : Light rain with thunderstorm +: हल्की बर्फ़ की बौछार : Light snow shower +: आंशिक कोहरा : Partial fog +: घना कोहरा : Patchy fog +: गरज के साथ बारिश और ओलावृष्टि : Rain and hail with thunderstorm +: गरज के साथ बारिश : Rain with thunderstorm +: उथला कोहरा : Shallow fog +: धुआं : Smoke +: तूफ़ान : Squalls +: आसपास में आंधी : Thunderstorm in vicinity +: हिमपात : Snow +: वर्षा : Rain +: हल्की बारिश, बारिश की बौछार : Light Rain, Rain Shower +: बारिश की बौछार : Rain Shower +: कोहरे के धब्बे : Patches of fog +: बूंदा बांदी : Drizzle +: हल्की बूंदाबांदी : Light drizzle +: कम बहती बर्फ : Low drifting snow +: हल्की बारिश और हिमपात : Light rain and snow +: आस-पास शावर : Shower in vicinity +: गरज के साथ बारिश : Rain with thunderstorm +: बारिश और बर्फ की बौछार : Rain and snow shower +: आंधी तूफान : Thunderstorm +: बूंदा बांदी और बारिश : Drizzle and rain +: गरज के साथ ओलावृष्टि : Hail with thunderstorm +: धुंध : Haze +: हल्की बूंदा बांदी और बारिश : Light drizzle and rain +: गरज के साथ हल्की बारिश और छोटे-छोटे ओले/बर्फ की पट्टियां : Light rain and small hail/snow pallets with thunderstorm +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.txt b/share/translations/hu.txt index 1ec4aeb..b0be075 100644 --- a/share/translations/hu.txt +++ b/share/translations/hu.txt @@ -52,3 +52,4 @@ : Havazás : Snow : Eső : Rain : Gyenge eső : Light Rain + : Talajmenti köd : Shallow fog diff --git a/share/translations/lt-help.txt b/share/translations/lt-help.txt new file mode 100644 index 0000000..417d042 --- /dev/null +++ b/share/translations/lt-help.txt @@ -0,0 +1,69 @@ +Naudojimas: + + $ curl wttr.in # dabartinė vietovė + $ curl wttr.in/plq # oras Palangos oro uoste + +Palaikomos vietovių rūšys: + + /panemunė # miesto pavadinimas + /~Eiffel+tower # bet kuri vietovė (+ vietoj tarpų) + /Магілёў # bet kurios vietovės pavadinimas Unikodu + /plq # oro uosto kodas (3 raidės) + /@stackoverflow.com # domeno vardas + /94107 # pašto kodas (tik JAV) + /-78.46,106.79 # GPS koordinatės + +Mėnulio fazių informacija: + + /moon # Mėnulio fazė (pridėkite ,+US arba +,France šio pavadinimo miestams) + /moon@2016-10-25 # Mėnulio fazė datai (@2016-10-25) + +Matai: + + ?m # metrai (SI) (pagal nutylėjimą, naudojama visu išskyrus JAV) + ?u # USCS (pagal nutylėjimą, naudojama JAV) + ?M # vėjo greitis m/s + +Rodymo parinktys: + + ?0 # tik faktiniai orai + ?1 # faktiniai orai + šiandienos prognozė + ?2 # faktiniai orai + šiandienos + rytojaus prognozės + A # ignoruoti naudotojo agentą (User-Agent) ir priverstinai formatuoti išvestį į ANSI (terminale) + F # nerodyti eilutės apie atnaujinimų sekimą + n # siaura versija (tik diena ir naktis) + q # tylesnė versija (be teksto „Orų prognozė“) + Q # labai tyli versija (be teksto „Orų prognozė“ ir be vietovės pavadinimo + T # išjungti terminalo sekas (be spalvų) + +PNG parinktys: + + /panemunė.png # sukurti PNG failą + p # apvesti išvestį rėmeliu + t # skaidrumas 150 + transparency=... # skaidrumas nuo 0 iki 255 (255 = neskaidrus) + background=... # fono spalva RRGGBB forma, pvz., 00aaaa + +Parinktis galima jungti: + + /Panemunė?0pq + /Panemunė?0pq&lang=lt + /Panemunė_0pq.png # PNG failo pobūdis nurodomas po _ + /Rēzekne_0pq_lang=lv.png # ilgavardės parinktys atskiriamos apatiniu brūkšniu + +Kalbos: + + $ curl lt.wttr.in/Panemunė + $ curl wttr.in/panemunė?lang=lt + $ curl -H "Accept-Language: lt" wttr.in/panemunė + +Palaikomos kalbos + + FULL_TRANSLATION (išverstos) + PARTIAL_TRANSLATION (tebeverčiamos) + +Ypatingi URL: + + /:help # rodyti šį puslapį + /:bash.function # rodyti rekomenduojamą bash funkciją wttr() + /:translation # rodyti informaciją apie vertėjus diff --git a/share/translations/lt.txt b/share/translations/lt.txt new file mode 100644 index 0000000..e9b0e78 --- /dev/null +++ b/share/translations/lt.txt @@ -0,0 +1,47 @@ +113: Giedra : Clear : +113: Saulėta : Sunny : +116: Nepastoviai debesuota : Partly cloudy : +119: Debesuota su pragiedruliais : Cloudy : +122: Debesuota : Overcast : +143: Migla : Mist : +176: Galimas silpnas lietus : Patchy rain possible : +179: Galimas nedidelis snygis : Patchy snow possible : +182: Galima nedidelė šlapdriba : Patchy sleet possible : +185: Galima nedidelė lijundra : Patchy freezing drizzle possible : +200: Spėjama perkūnija : Thundery outbreaks possible : +227: Pustymas : Blowing snow : +230: Pūga : Blizzard : +248: Rūkas : Fog : +260: Šarma : Freezing fog : +263: Protarpiais dulksna : Patchy light drizzle : +266: Dulksna : Light drizzle : +281: Lijundra : Freezing drizzle : +284: Stipri lijundra : Heavy freezing drizzle : +293: Protarpiais silpnas lietus : Patchy light rain : +296: Silpnas lietus : Light rain : +299: Protarpiais lietus : Moderate rain at times : +302: Lietus : Moderate rain : +305: Protarpiais stiprus lietus : Heavy rain at times : +308: Stiprus lietus : Heavy rain : +311: Silpna lijundra : Light freezing rain : +314: Vidutinė arba stipri lijundra : Moderate or heavy freezing rain : +317: Lengva šlapdriba : Light sleet : +320: Vidutinė arba stipri šlapdriba : Moderate or heavy sleet : +323: Protarpiais lengvas snygis : Patchy light snow : +326: Lengvas snygis : Light snow : +329: Protarpiais vidutinis snygis : Patchy moderate snow : +332: Snygis : Moderate snow : +335: Protarpiais stiprus snygis : Patchy heavy snow : +338: Stiprus snygis : Heavy snow : +350: Kruša : Ice pellets : +353: Nesmarki liūtis : Light rain shower : +356: Vidutinė arba smarki liūtis : Moderate or heavy rain shower : +359: Smarki liūtis : Torrential rain shower : +362: Protarpiais lengva šlapdriba : Light sleet showers : +365: Protarpiais vidutinė/smarki šlapdriba : Moderate or heavy sleet showers : +368: Protarpiais lengvas snygis : Light snow showers : +371: Protarpiais vidutinis/sunkus snygis : Moderate or heavy snow showers : +386: Protarpiais lengvas lietūs su perkūnija : Patchy light rain with thunder : +389: Vidutinis/sunkus lietus su perkūnija : Moderate or heavy rain with thunder : +392: Protarpiais lengvas snygis su perkūija : Patchy light snow with thunder : +395: Vidutinis/sunkus snygis su perkūnija : Moderate or heavy snow with thunder : diff --git a/share/translations/mg-help.txt b/share/translations/mg-help.txt new file mode 100644 index 0000000..f55b402 --- /dev/null +++ b/share/translations/mg-help.txt @@ -0,0 +1,66 @@ +Fampiasana azy: + + $ curl wttr.in # toetr'andro eo amin'ny toerana misy anao + $ curl wttr.in/antananarivo # totr'andro any Antananarivo + +Karazana toerana azo ampesaina: + + /fianarantsoa # nom de la ville + /~Eiffel+tower # anaran-toerana rehetra + /Москва # anarana Unikody na anaran-toerana rehetra amin'ny fiteny rehetra + /tnr # kaody ny seranam-piaramanidina (litera 3) + /@stackoverflow.com # anarana domaina (rohy) + /94107 # Kaody postaly (hoan'ny Etazonia iany) + /-78.46,106.79 # coordonnées GPS + +Toerana somary miavaka: + + /moon # Dignana ny volana(ampio ,+US ou ,+France raha toa ka misy toerana mitondra anio anarana io) + /moon@2016-10-25 # Dignana ny volana hoan'ny daty iray(@2016-10-25) + +Refy: + + ?m # rafitra metrika (fampiasain'ny rehetra afatsy ny Amerika Avaratra) + ?u # USCS (Fampiasan'ny Etazonia) + ?M # mampiseho ny hafainganam-pandehan'ny rivotra amin'ny metatra isan-segondra + +Fomba fampisehoana: + + ?0 # androany fotsiny + ?1 # androany sy rampitso + ?2 # androany miampy roa andro + ?n # kinova fohy (atoandro sy ariva fotsiny) + ?q # kinova tsotra (tsisy "Vinavina ny totrandro androany") + ?Q # version super-silencieuse (pas d'en-tête "Prévisions météo pour", pas de nom de la ville) + ?T # séquences d'échappement pour terminaux désactivées (pas de couleurs) + +Fomba fampisehoana sary PNG: + + /antananarivo.png # mamoka sary PNG + ?p # manisy kadra manodidina ilay seho mivoaka + ?t # transparency 150 (fangaraharana 150) + transparency=... # fangaraharana ao anatin'ny 0 atramin'ny 255 (255 = tsisy fangaraharana) + +Manambatra anireo safidy: + + /antananarivo?0pq + /antananarivo?0pq&lang=mg + /antananarivo_0pq.png # raha toa ka mampiasa fampisehoana aminn'ny sary PNG dia asina tsipik'ambany `_` manelanelana azy + /Rome_0pq_lang=it.png # ireo safidy lava dia sarahina amin'ny tsipik'ambany `_` ian'ny koa + +Toerana: + + $ curl fr.wttr.in/antananarivo + $ curl wttr.in/antananarivo?lang=mg + $ curl -H "Accept-Language: mg" wttr.in/paris + +Langues supportées: + + FULL_TRANSLATION (Voadika teny tanteraka) + PARTIAL_TRANSLATION (Voadika teny ampahany) + +URLs particulières: + + /:help # mampiseho ito pejy ito + /:bash.function # sosokevitra fonction bash wttr() + /:translation # mampahafantra ny momba ny fandikanteny ao amin'ny wttr.in diff --git a/share/translations/mg.txt b/share/translations/mg.txt new file mode 100644 index 0000000..53a385b --- /dev/null +++ b/share/translations/mg.txt @@ -0,0 +1,77 @@ +: Oram-be manavandra sy oram-baratra : Heavy rain and hail with thunderstorm +: Oram-be sy oram-baratra : Heavy rain with thunderstorm +: Oram-baratra malefaka sy manavandra : Light rain and hail with thunderstorm +: Orana malefaka sy ranomandry : Light rain and snow shower +: Oranam-baratra malefaka : Light rain with thunderstorm +: Orana malefaka ranomandry : Light snow shower +: Zavona ampahany : Partial fog +: Oram-baratra manavandra : Rain and hail with thunderstorm +: Zavona malefaka : Shallow fog +: Zavona : Smoke +: Oram-baratra : Squalls +: Orages proches : Thunderstorm in vicinity +: Oram-panala : Snow +: Orana : Rain +: Orana malefaka : Light Rain, Rain Shower +: Ranonorana : Rain Shower +: Vongan-zavona : Patches of fog +: Pitipitik'orana : Drizzle +: Pitipitik'orana : Light drizzle +: Oram-panala mitsoka ambany : Low drifting snow +: Oram-panala malefaka : Light rain and snow +: Oram-be manakaiky : Shower in vicinity +: Oram-baratra : Rain with thunderstorm +: Oram-be sy oram-panala : Rain and snow shower +: Ora-mikija : Thunderstorm +: Pitipitik'orana : Drizzle and rain +: Oram-be manavandra : Hail with thunderstorm +: Zavona : Haze +: Zavona arahin'orana : Light drizzle and rain +: Ora-mikija, orana malefaka et avandra / Oram-panala : Light rain and small hail/snow pallets with thunderstorm +113 : Tsara ny andro : Clear +113 : Masoandro mibalika : Sunny +116 : Rakodrahona ampahany : Partly cloudy +119 : Rakodrahona : Cloudy +122 : Manjombona : Overcast +143 : Zavona : Mist +176 : Mety hanorana matevina : Patchy rain possible +179 : Mety hisy oram-panala matevina : Patchy snow possible +182 : Mety hanerika kely : Patchy sleet possible +185 : Mety hisy zavona mandry sy matevina : Patchy freezing drizzle possible +200 : Mety hisy Ora-mikija : Thundery outbreaks possible +227 : Oram-panala : Blowing snow +230 : Tafiotran’orampanala : Blizzard +248 : Zavona : Fog +260 : Zavona mangatsiaka : Freezing fog +263 : Zavona matevina : Patchy light drizzle +266 : Zavona malefakaa : Light drizzle +281 : Zavona mandry : Freezing drizzle +284 : Zavona mangatsika mafy : Heavy freezing drizzle +293 : Orana matevina : Patchy light rain +296 : Orana malefaka : Light rain +299 : Orana malefaka miverimberina : Moderate rain at times +302 : Orana malefaka : Moderate rain +305 : Oram-be miverimberina : Heavy rain at times +308 : Oram-be : Heavy rain +311 : Orana mangatsiaka : Light freezing rain +314 : Orana malefaka na mafy mangatsiaka : Moderate or heavy freezing rain +317 : Tafiotran’orampanala maivana : Light sleet +320 : Tafiotran’orampanala malefaka na mafy : Moderate or heavy sleet +323 : Oram-panala matevina : Patchy light snow +326 : Oram-panala maivana : Light snow +329 : Oram-panala malefaka : Patchy moderate snow +332 : Latsakoram-panala malefaka : Moderate snow +335 : Oram-panala mavesatra sy matevina : Patchy heavy snow +338 : Oram-panala mafy : Heavy snow +350 : Pitipitika ranomandro : Ice pellets +353 : Oram-be malefaka : Light rain shower +356 : Orana antoniny sy mavesatra : Moderate or heavy rain shower +359 : Oram-be mikija : Torrential rain shower +362 : Pitipitik'oram-panala mikija : Light sleet showers +365 : Pitipitik'oram-panala malefaka na mavesatra : Moderate or heavy sleet showers +368 : Pitipitik'oram-panala maivana : Light snow showers +371 : Rotsak'oram-panala maivana sy mavesatra : Moderate or heavy snow showers +386 : Oram-baratra matevina : Patchy light rain with thunder +389 : Oram-baratra malefaka na mavesatra : Moderate or heavy rain with thunder +392 : Rotsak'oram-panala maivana arahim-baratra : Patchy light snow with thunder +395 : Rotsak'oram-panala malefaka na mavesatra arahim-baratra : Moderate or heavy snow with thunder diff --git a/share/translations/mr-help.txt b/share/translations/mr-help.txt new file mode 100644 index 0000000..ef85a70 --- /dev/null +++ b/share/translations/mr-help.txt @@ -0,0 +1,70 @@ +वापर: + + $ curl wttr.in # वर्तमान स्थळाचे हवामान + $ curl wttr.in/muc # म्युनिक विमानतळावरील हवामान + +उपलब्धीत/प्रयोज्य स्थळांचे प्रकार: + + /paris # शहराचे नाव + /~Eiffel+tower # कोणत्याही स्थळाचे नाव (रिकाम्या ठिकाणी (स्पेस ऐवजी) +) + /Москва # युनिकोड स्वरूपात कोणत्याही भाषेतील कोणत्याही स्थळाचे नाव + /muc # विमातळाचे संकेत (कोड) (३ अक्षरे) + /@stackoverflow.com # संकेतस्थळाचे डोमेन नाव + /94107 # क्षेत्र कोड + /-78.46,106.79 # जीपीएस सहनिर्देशक (रेखांश, अक्षांश) + +चंद्राच्या कलेची माहिती: + + /moon # चंद्राची कला (विशिष्ट स्थळासाठी +US, +France इत्यादी जोडा) + /moon@2016-10-25 # विशिष्ट दिनी चंद्राची कला (@2016-10-25) + +एकक: + + m # दशमान (मेट्रिक/SI) (अमेरिका वगळता सर्वत्र वापरली जाते) + u # USCS (अमेरिकेत वापरली जाते) + M # वाऱ्याचा वेग मीटर प्रति सेकंद (m/s) मध्ये दाखवा + +दृश्य पर्याय: + + 0 # केवळ वर्तमान हवामान + 1 # वर्तमान + आजचा हवामान अंदाज + 2 # वर्तमान + आजचा + उद्याचा हवामान अंदाज + A # (टर्मिनल मध्ये) युसर-एजन्ट दुर्लक्षित करून एएनएसआय (ANSI) स्वरूप वापरा + F # "अनुसरण करा" (फॉलो) ची ओळ अदृश्य करा + n # अरुंद स्वरूप (फक्त दुपार व रात्र) + q # शांत स्वरूप ("हवामान अंदाज" मजकूर अदृश्य) + Q # अतिशांत स्वरूप ("हवामान अंदाज" मजकूर व शहराचे नाव अदृश्य) + T # टर्मिनल सिक्वेन्स(क्रम) बंद (बेरंगीत) + +PNG पर्याय: + + /paris.png # PNG फाईल निर्माण करा + p # प्रतिमेभोवती चौकट जोडा + t # 150 पारदर्शकता + transparency=... # 0 ते 255 पारदर्शकता (255 = अपारदर्शक) + background=... # RRGGBB (लाल हिरवा निळा) स्वरूपात पार्श्वभूमीचा रंग, उदा. 00aaaa + +पर्याय एकत्र करू शकता: + + /Paris?0pq + /Paris?0pq&lang=fr + /Paris_0pq.png # PNG फाईलच्या बाबतीत पर्याय अधोरेखे "_" नंतर लिहिले जातात + /Rome_0pq_lang=it.png # लांब पर्याय हे अधोरेखेने विभाजित केले जातात + +भाषांतर: + + $ curl fr.wttr.in/Paris + $ curl wttr.in/paris?lang=fr + $ curl -H "Accept-Language: fr" wttr.in/paris + +उपलब्ध भाषा: + + FULL_TRANSLATION (उपलब्ध) + PARTIAL_TRANSLATION (काम चालू) + +विशेष दुवे: + + /:help # हे पृष्ठ दाखवा + /:bash.function # शिफारस केलेले बॅश "wttr()" कार्य दाखवा + /:translation # भाषांतर करणाऱ्यांची माहिती दाखवा + diff --git a/share/translations/mr.txt b/share/translations/mr.txt new file mode 100644 index 0000000..a9fcf8a --- /dev/null +++ b/share/translations/mr.txt @@ -0,0 +1,78 @@ + : मुसळधार पाऊस, गारा व झंझावात : Heavy rain and hail with thunderstorm + : मुसळधार पाऊस व झंझावात : Heavy rain with thunderstorm + : हलका पाऊस, गारा व झंझावात : Light rain and hail with thunderstorm + : हलका पाऊस व हिमवर्षाव : Light rain and snow shower + : हलका पाऊस व झंझावात : Light rain with thunderstorm + : हलका हिमवर्षाव : Light snow shower + : आंशिक दाट धुके : Partial fog + : पाऊस, गारा व झंझावात : Rain and hail with thunderstorm + : पाऊस व झंझावात : Rain with thunderstorm + : उथळ दाट धुके : Shallow fog + : धूर : Smoke + : चंडवात : Squalls + : झंझावात जवळपास : Thunderstorm in vicinity + : हिमवर्षाव : Snow + : पाऊस : Rain + : हलका पाऊस, पावसाच्या सरी : Light Rain, Rain Shower + : पावसाच्या सरी : Rain Shower + : तुरळक दाट धुके : Patches of fog + : रिमझिम : Drizzle + : हलका रिमझिम पाऊस : Light drizzle + : कमी वाहणारे बर्फ : Low drifting snow + : हलका पाऊस आणि बर्फ : Light rain and snow + : पावसाची सर जवळपास : Shower in vicinity + : पाऊस व झंझावात : Rain with thunderstorm + : पाऊस व हिमवर्षाव : Rain and snow shower + : झंझावात : Thunderstorm + : रिमझिम व पाऊस : Drizzle and rain + : गारा व झंझावात : Hail with thunderstorm + : विरळ धुके : Haze + : हलके रिमझिम व पाऊस : Light drizzle and rain + : झंझावात सह हलका पाऊस व लहान गारा : Light rain and small hail/snow pallets with thunderstorm +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/nl.txt b/share/translations/nl.txt index eda1e23..b24c068 100644 --- a/share/translations/nl.txt +++ b/share/translations/nl.txt @@ -4,7 +4,7 @@ : Lichte regen en sneeuwbui : Light rain and snow shower : Lichte regen met onweer : Light rain with thunderstorm : Lichte sneeuwbui : Light snow shower -: Plaatselijke mist : Parftial fog +: Plaatselijke mist : Partial fog : Regen en hagel met onweer : Rain and hail with thunderstorm : Regen met onweer : Rain with thunderstorm : Lichte mist : Shallow fog diff --git a/share/translations/pl-help.txt b/share/translations/pl-help.txt index acd9ef8..eec27e1 100644 --- a/share/translations/pl-help.txt +++ b/share/translations/pl-help.txt @@ -29,6 +29,8 @@ Ustawienia wyświetlania: ?0 # Pokaż jedynie aktualną pogodę ?1 # Pokaż pogodę na jutro ?2 # Pokaż pogodę na pojutrze + ?A # Zignoruj User-Agent i wymuś format wyjścia ANSI (terminal) + ?F # nie pokazuj linii "Subskrybuj" ?n # Wersja kompaktowa (tylko noc i dzień) ?q # Wersja okrojona (bez tekstu 'Pogoda w') ?Q # Wersja bardziej okrojona (bez tekstu 'Pogoda w' i nazwy miasta) @@ -36,10 +38,11 @@ Ustawienia wyświetlania: Opcje PNG: - /paris.png # generuje plik PNG - ?p # dodaje obramowanie do obrazka + /paris.png # Generuje plik PNG + ?p # Dodaje obramowanie do obrazka ?t # Przezroczystość 150 transparency=... # Przezroczystość między 0 a 255 (255 = brak przezroczystości) + background=... # Kolor tła w formie RRGGBB Opcje mogą być ze sobą łączone: diff --git a/share/translations/ta-help.txt b/share/translations/ta-help.txt new file mode 100644 index 0000000..bb01368 --- /dev/null +++ b/share/translations/ta-help.txt @@ -0,0 +1,66 @@ +பயன்பாடு: + + $ curl wttr.in # தற்போதைய இடம் + $ curl wttr.in/cdg # பாரிஸ் - சார்லஸ் டி கோல் விமான நிலையத்தில் வானிலை முன்னறிவிப்பு + +ஏற்றுக்கொள்ளப்பட்ட வகைகள்: + + /paris # நகரத்தின் பெயர் + /~Eiffel+tower # எந்த இடம் + /Москва # யூனிகோட் பெயர் அல்லது எந்த மொழியிலும் எந்த இடம் + /muc # விமான நிலைய குறியீடு (3 எழுத்துகள்) + /@stackoverflow.com # டொமைன் பெயர் + /94107 # அஞ்சல் குறியீடு (அமெரிக்காவில் மட்டும்) + /-78.46,106.79 # ஜிபிஎஸ் ஒருங்கிணைப்புகள் + +சிறப்பு வகைகள்: + + /moon # சந்திரனின் கட்டங்கள் (அதே பெயரில் உள்ள நகரங்களை அணுக, + அமெரிக்கா அல்லது + பிரான்ஸ் சேர்க்கவும்) + /moon@2016-10-25 # இந்த தேதிக்கான சந்திரனின் கட்டங்கள் (@2016-10-25) + +அலகுகள்: + + ?m # மெட்ரிக் அமைப்பு (அமெரிக்காவைத் தவிர எல்லா இடங்களிலும் இயல்புநிலை) + ?u # USCS (அமெரிக்க ஐக்கிய நாடுகளுக்கு இயல்புநிலை) + ?M # காற்றின் வேகத்தை m/s இல் காட்டுகிறது + +காட்சி விருப்பம்: + + ?0 # இன்று மட்டும் + ?1 # இன்று + நாளை + ?2 # இன்று + 2 நாட்கள் + ?n # குறுகிய பதிப்பு (பகல் மற்றும் இரவு மட்டும்) + ?q # சைலண்ட் பதிப்பு ("தலைப்புக்கான வானிலை முன்னறிவிப்பு" இல்லை) + ?Q # சூப்பர்-சைலண்ட் பதிப்பு ("வானிலை முன்னறிவிப்பு" தலைப்பு இல்லை, நகரத்தின் பெயர் இல்லை) + ?T # முடக்கப்பட்ட டெர்மினல்களுக்கான தப்பிக்கும் காட்சிகள் (வண்ணங்கள் இல்லை) + +PNG விருப்பங்கள்: + + /paris.png # ஒரு PNG கோப்பை உருவாக்கவும் + ?p # வெளியீட்டைச் சுற்றி ஒரு சட்டத்தைச் சேர்க்கவும் + ?t # வெளிப்படைத்தன்மை 150 + transparency=... # 0 முதல் 255 வரை வெளிப்படைத்தன்மை (255 = வெளிப்படைத்தன்மை இல்லை) + +விருப்பங்களை இணைக்கவும்: + + /Paris?0pq + /Paris?0pq&lang=fr + /Paris_0pq.png # PNG பயன்முறையில் விருப்பங்கள் _ க்குப் பிறகு குறிப்பிடப்படுகின்றன + /Rome_0pq_lang=it.png # நீண்ட விருப்பங்கள் அடிக்கோடிட்டால் பிரிக்கப்படுகின்றன _ + +இடம்: + + $ 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 # மொழிபெயர்ப்பு பற்றிய தகவலைக் காட்டுகிறது wttr.in diff --git a/share/translations/ta.txt b/share/translations/ta.txt new file mode 100644 index 0000000..a9a5247 --- /dev/null +++ b/share/translations/ta.txt @@ -0,0 +1,78 @@ +: இடியுடன் கூடிய கனமழை மற்றும் ஆலங்கட்டி மழை : Heavy rain and hail with thunderstorm +: இடியுடன் கூடிய கனமழை : Heavy rain with thunderstorm +: லேசான மழை மற்றும் இடியுடன் கூடிய ஆலங்கட்டி மழை : Light rain and hail with thunderstorm +: லேசான மழை மற்றும் பனி மழை : Light rain and snow shower +: லேசான மழை மற்றும் இடியுடன் கூடிய மழை : Light rain with thunderstorm +: லேசான பனி மழை : Light snow shower +: பகுதி மூடுபனி : Partial fog +: இடியுடன் கூடிய ஆலங்கட்டி மழை : Rain and hail with thunderstorm +: இடியுடன் கூடிய மழை : Rain with thunderstorm +: லேசான மூடுபனி : Shallow fog +: புகை : Smoke +: பலமான காற்று : Squalls +: இடியுடன் கூடிய மழை அருகில் : Thunderstorm in vicinity +: பனி : Snow +: மழை : Rain +: லேசான மழை, மழை பொழிவு : Light Rain, Rain Shower +: மழை பொழிவு : Rain Shower +: மூடுபனி திட்டுகள் : Patches of fog +: தூறல் : Drizzle +: லேசான தூறல் : Light drizzle +: குறைந்த பனிப்பொழிவு : Low drifting snow +: லேசான மழை மற்றும் பனி : Light rain and snow +: அருகாமையில் மழை : Shower in vicinity +: இடியுடன் கூடிய மழை : Rain with thunderstorm +: மழை மற்றும் பனி மழை : Rain and snow shower +: இடியுடன் கூடிய மழை : Thunderstorm +: தூறல் மற்றும் மழை : Drizzle and rain +: இடியுடன் கூடிய ஆலங்கட்டி மழை : Hail with thunderstorm +: மூட்டம் : Haze +: லேசான தூறல் மற்றும் மழை : Light drizzle and rain +: லேசான தூறல் மற்றும் இடியுடன் கூடிய சிறிய ஆலங்கட்டி மழை/பனிப் பலகைகள் : Light rain and small hail/snow pallets with thunderstorm +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/te-help.txt b/share/translations/te-help.txt new file mode 100644 index 0000000..c9b995c --- /dev/null +++ b/share/translations/te-help.txt @@ -0,0 +1,70 @@ +వాడుకొనుట: + + $ curl wttr.in # ప్రస్తుత స్థానం + $ curl wttr.in/muc # మునిక్ విమానాశ్రయంలో వాతావరణం + +నిర్వహించబడిన స్థాన రకాలు: + + /paris # పట్టనం పేరు + /~Eiffel+tower # ఏదైనా ప్రదేశం (+ స్పేస్ కోసం) + /Москва # ఏ భాషలోనైనా ఏదైనా స్థానం యొక్క యూనికోడ్ పేరు + /muc # విమానాశ్రయం కోడ్ (3 అక్షరాలు) + /@stackoverflow.com # డొమైన్ పేరు + /94107 # ప్రాంతం సంకేతాలు (ఏరియా కోడ్‌లు) + /-78.46,106.79 # జిపియస్ కోఆర్డినేట్‌లు + +చంద్రుని దశ సమాచారం: + + /moon # చంద్రుని దశ (,+US లేదా ,+France జోడించు ఈ నగరాల కోసం) + /moon@2016-10-25 # తేదీకి చంద్ర దశ (@2016-10-25) + +యూనిట్లు: + + m # మెట్రిక్ పద్ధతి + u # USCS (అమెరికా సంయుక్త రాష్ట్రాల్లో అప్రమేయంగా ఉపయోగించబడుతుంది) + M # గాలి వేగం m/sలో + +ఎంపికలను వీక్షించండి: + + 0 # ప్రస్తుత వాతావరణం మాత్రమే + 1 # ప్రస్తుత వాతావరణం + నేటి సూచన + 2 # ప్రస్తుత వాతావరణం + నేటి మరియు రేపటి సూచన + A # ANSI ఫార్మాట్‌లో అవుట్‌పుట్ + F # "ఫాలో" లైన్ చూపించవద్దు + n # చిన్న సంస్కరణ (పగలు మరియు రాత్రి మాత్రమే) + q # చాలా చిన్న సంస్కరణ ("వాతావరణ నివేదిక" వచనం లేదు) + Q # అతి చిన్న సంస్కరణ ("వాతావరణ నివేదిక" లేదు, నగరం పేరు లేదు) + T # క్లోజ్ టెర్మినల్ సీక్వెన్స్ (రంగులు లేకుండా) + +PNG ఎంపికలు: + + /paris.png # PNG ఫైల్‌ను రూపొందించండి + p # అవుట్‌పుట్ చుట్టూ ఫ్రేమ్‌ని జోడించండి + t # పారదర్శకత 150 + transparency=... # పారదర్శకత 0 నుండి 255 వరకు (255 = పారదర్శకం కాదు) + background=... # నేపథ్య రంగు RRGGBB రూపంలో ఉదాహరణకు 00aaaa + +ఎంపికలు కలపవచ్చు: + + /Paris?0pq + /Paris?0pq&lang=fr + /Paris_0pq.png # PNGలో (ఫైల్ మోడ్‌ను _ తర్వాత పేర్కొనవచ్చు) + /Rome_0pq_lang=it.png # పొడవైన ఎంపికలను అండర్‌స్కోర్‌తో వేరు చేయవచ్చు + +స్థానికీకరణ: + + $ curl fr.wttr.in/Paris + $ curl wttr.in/paris?lang=fr + $ curl -H "Accept-Language: fr" wttr.in/paris + +నిర్వహించబడిన భాషలు: + + am ar af be bn ca da de el et fr fa hi hu ia id it lt mg nb nl oc pl pt-br ro ru ta tr th uk vi zh-cn zh-tw (supported) + az bg bs cy cs eo es eu fi ga hi hr hy is ja jv ka kk ko ky lv mk ml mr nl fy nn pt pt-br sk sl sr sr-lat sv sw te uz zh zu he (in progress) + +ప్రత్యేక URLs: + + /:help # ఈ పేజీని చూపుతుంది + /:bash.function # సిఫార్సు చేయబడిన bash ఫంక్షన్‌ను wttr() చూపుతుంది + /:translation # అనువాదకుల గురించిన సమాచారాన్ని చూపుతుంది + diff --git a/share/translations/tr-help.txt b/share/translations/tr-help.txt index a4bd23a..60a1ca3 100644 --- a/share/translations/tr-help.txt +++ b/share/translations/tr-help.txt @@ -3,45 +3,46 @@ Komut Satırı Kullanımı: $ curl wttr.in # bulunduğunuz konum $ curl wttr.in/esb # Esenboğa havalimanında hava durumu -Desteklenen konum tipleri: +Desteklenen konum türleri: /istanbul # şehir adı - /~Anıtkabir # herhangi bir konum - /Москва # Herhangi bir dilde herhangi bir unicode konum + /~Anıtkabir # herhangi bir konum (boşluk için + kullanın) + /Москва # herhangi bir dildeki herhangi bir konumun Unicode adı /esb # havalimanı kodu (3 harfli) - /@stackoverflow.com # alan adı + /@stackoverflow.com # etki alanı adı /06800 # posta kodları /39.925325,32.836987 # Yer belirleme sistemi (GPS) koordinatları -Özel konumlar: +Ay evresi bilgisi: - /moon # Ay evresi (Şehir veya ülke için +TR veya +İstanbul ekleyin) + /moon # Ay evresi (bu isimdeki şehirler için ,+US veya ,+France ekleyin) /moon@2016-10-25 # Belirli bir tarih için ay evresi (@2016-10-25) Ölçü birimleri: - ?m # metrik sistem (SI) (ABD dışında her yer için varsayılan) - ?u # USCS (ABD için varsayılan) - ?M # Rüzgar hızını metre/saniye (m/s) olarak göster + m # metrik sistem (SI) (ABD dışında her yer için varsayılan) + u # USCS (ABD için varsayılan) + M # Rüzgar hızını metre/saniye (m/s) olarak göster Seçenekleri görüntüle: - ?0 # sadece bugün için hava durumu - ?1 # Bugün ve 1 gün sonrası için hava durumu - ?2 # Bugün ve 2 gün sonrası için hava durumu - ?A # Kullanıcı aracısı (User-Agent) bilgilerini göz ardı eder ve terminalde ANSI formatında çıktı için zorlar - ?F # "Follow (Takip et)" satırını göstermez - ?n # dar görünüm (sadece gece ve gündüz) - ?q # sessiz görünüm ("Hava durumu" yazısı yok) - ?Q # aşırı sessiz görünüm ("Hava durumu" yazısı ve şehir adı yok) - ?T # terminal geçişlerini kapatır (renkler yok) + 0 # yalnızca bugün için hava durumu + 1 # Bugün ve 1 gün sonrası için hava durumu + 2 # Bugün ve 2 gün sonrası için hava durumu + A # Kullanıcı aracısı (User-Agent) bilgilerini göz ardı eder ve terminalde ANSI çıktı biçimini zorlar + F # "Follow (Takip et)" satırını göstermez + n # dar görünüm (yalnızca gece ve gündüz) + q # sessiz görünüm ("Hava durumu" yazısı yok) + Q # aşırı sessiz görünüm ("Hava durumu" yazısı ve şehir adı yok) + T # terminal geçişlerini kapatır (renkler yok) PNG seçenekleri: /istanbul.png # bir PNG dosyası üretir - ?p # çıktı etrafına bir çerçeve ekler - ?t # 150 birim saydamlık + p # çıktı etrafına bir çerçeve ekler + t # 150 birim saydamlık transparency=... # 0 ila 255 arasında saydamlık (255 = saydam değil) + background=... # KKYYMM biçiminde arka plan rengi, örn. 00aaaa Seçenekler birleştirilebilir: @@ -64,5 +65,6 @@ Desteklenen diller: Özel adresler: /:help # bu sayfayı göster - /:bash.function # önerilen bash fonksiyonu wttr() içeriğini göster + /:bash.function # tavsiye edilen wttr() bash fonksiyonunu göster /:translation # çevirmenler hakkındaki bilgileri göster + diff --git a/share/translations/zh-tw.txt b/share/translations/zh-tw.txt index 6bb7c16..e58f66a 100644 --- a/share/translations/zh-tw.txt +++ b/share/translations/zh-tw.txt @@ -1,81 +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 : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 +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/we-lang/go.mod b/share/we-lang/go.mod index 8804943..c0e0988 100644 --- a/share/we-lang/go.mod +++ b/share/we-lang/go.mod @@ -1,3 +1,9 @@ module github.com/chubin/wttr.in/v2 go 1.15 + +require ( + github.com/klauspost/lctime v0.1.0 + github.com/mattn/go-colorable v0.1.11 + github.com/mattn/go-runewidth v0.0.13 +) diff --git a/share/we-lang/we-lang.go b/share/we-lang/we-lang.go index 2669056..2f8d2df 100644 --- a/share/we-lang/we-lang.go +++ b/share/we-lang/we-lang.go @@ -292,11 +292,12 @@ var ( locale = map[string]string{ "af": "af_ZA", - "am": "am_ET", + "am": "am_ET", "ar": "ar_TN", "az": "az_AZ", "be": "be_BY", "bg": "bg_BG", + "bn": "bn_IN", "bs": "bs_BA", "ca": "ca_ES", "cs": "cs_CZ", @@ -314,6 +315,7 @@ var ( "fy": "fy_NL", "ga": "ga_IE", "he": "he_IL", + "hi": "hi_IN", "hr": "hr_HR", "hu": "hu_HU", "hy": "hy_AM", @@ -324,46 +326,50 @@ var ( "ja": "ja_JP", "jv": "en_US", "ka": "ka_GE", - "ko": "ko_KR", "kk": "kk_KZ", + "ko": "ko_KR", "ky": "ky_KG", "lt": "lt_LT", "lv": "lv_LV", + "mg": "mg_MG", "mk": "mk_MK", "ml": "ml_IN", + "mr": "mr_IN", "nb": "nb_NO", "nl": "nl_NL", "nn": "nn_NO", "oc": "oc_FR", - "pt": "pt_PT", - "pt-br": "pt_BR", "pl": "pl_PL", + "pt-br": "pt_BR", + "pt": "pt_PT", "ro": "ro_RO", "ru": "ru_RU", - "sv": "sv_SE", "sk": "sk_SK", "sl": "sl_SI", - "sr": "sr_RS", "sr-lat": "sr_RS@latin", + "sr": "sr_RS", + "sv": "sv_SE", "sw": "sw_KE", + "ta": "ta_IN", "th": "th_TH", "tr": "tr_TR", "uk": "uk_UA", "uz": "uz_UZ", "vi": "vi_VN", - "zu": "zu_ZA", - "zh": "zh_CN", "zh-cn": "zh_CN", "zh-tw": "zh_TW", + "zh": "zh_CN", + "zu": "zu_ZA", } localizedCaption = map[string]string{ "af": "Weer verslag vir:", - "am": "የአየር ሁኔታ ዘገባ ለ ፥", + "am": "የአየር ሁኔታ ዘገባ ለ ፥", "ar": "تقرير حالة ألطقس", "az": "Hava proqnozu:", "be": "Прагноз надвор'я для:", "bg": "Прогноза за времето в:", + "bn": "আবহাওয়া সঙ্ক্রান্ত তথ্য", "bs": "Vremenske prognoze za:", "ca": "Informe del temps per a:", "cs": "Předpověď počasí pro:", @@ -381,6 +387,7 @@ var ( "fy": "Waarberjocht foar:", "ga": "Réamhaisnéis na haimsire do:", "he": ":ריוואה גזמ תיזחת", + "hi": "मौसम की जानकारी", "hr": "Vremenska prognoza za:", "hu": "Időjárás előrejelzés:", "hy": "Եղանակի տեսություն:", @@ -398,6 +405,7 @@ var ( "lv": "Laika ziņas:", "mk": "Прогноза за времето во:", "ml": "കാലാവസ്ഥ റിപ്പോർട്ട്:", + "mr": "हवामानाचा अंदाज:", "nb": "Værmelding for:", "nl": "Weerbericht voor:", "nn": "Vêrmelding for:", @@ -413,6 +421,7 @@ var ( "sr-lat": "Vremenska prognoza za:", "sv": "Väderleksprognos för:", "sw": "Ripoti ya hali ya hewa, jiji la:", + "ta": "வானிலை அறிக்கை", "te": "వాతావరణ సమాచారము:", "th": "รายงานสภาพอากาศ:", "tr": "Hava beklentisi:", @@ -423,15 +432,17 @@ var ( "zh": "天气预报:", "zh-cn": "天气预报:", "zh-tw": "天氣預報:", + "mg": "Vinavina toetr'andro hoan'ny:", } daytimeTranslation = map[string][]string{ "af": {"Oggend", "Middag", "Vroegaand", "Laatnag"}, - "am": {"ጠዋት", "ከሰዓት በኋላ", "ምሽት", "ሌሊት"}, + "am": {"ጠዋት", "ከሰዓት በኋላ", "ምሽት", "ሌሊት"}, "ar": {"ﺎﻠﻠﻴﻟ", "ﺎﻠﻤﺳﺍﺀ", "ﺎﻠﻈﻫﺭ", "ﺎﻠﺼﺑﺎﺣ"}, "az": {"Səhər", "Gün", "Axşam", "Gecə"}, "be": {"Раніца", "Дзень", "Вечар", "Ноч"}, "bg": {"Сутрин", "Обяд", "Вечер", "Нощ"}, + "bn": {"সকাল", "দুপুর", "সন্ধ্যা", "রাত্রি"}, "bs": {"Ujutro", "Dan", "Večer", "Noć"}, "cs": {"Ráno", "Ve dne", "Večer", "V noci"}, "ca": {"Matí", "Dia", "Tarda", "Nit"}, @@ -450,6 +461,7 @@ var ( "fy": {"Moarns", "Middeis", "Jûns", "Nachts"}, "ga": {"Maidin", "Nóin", "Tráthnóna", "Oíche"}, "he": {"רקוב", "םוֹיְ", "ברֶעֶ", "הלָיְלַ"}, + "hi": {"प्रातःकाल", "दोपहर", "सायंकाल", "रात"}, "hr": {"Jutro", "Dan", "Večer", "Noć"}, "hu": {"Reggel", "Dél", "Este", "Éjszaka"}, "hy": {"Առավոտ", "Կեսօր", "Երեկո", "Գիշեր"}, @@ -466,7 +478,8 @@ var ( "lt": {"Rytas", "Diena", "Vakaras", "Naktis"}, "lv": {"Rīts", "Diena", "Vakars", "Nakts"}, "mk": {"Утро", "Пладне", "Вечер", "Ноќ"}, - "ml": {"മോണിംഗ്", "മധ്യാഹ്നം", "വൈകുന്നേരം", "രാത്രി"}, + "ml": {"രാവിലെ", "മധ്യാഹ്നം", "വൈകുന്നേരം", "രാത്രി"}, + "mr": {"सकाळ", "दुपार", "संध्याकाळ", "रात्र"}, "nl": {"'s Ochtends", "'s Middags", "'s Avonds", "'s Nachts"}, "nb": {"Morgen", "Middag", "Kveld", "Natt"}, "nn": {"Morgon", "Middag", "Kveld", "Natt"}, @@ -482,6 +495,7 @@ var ( "sr-lat": {"Jutro", "Podne", "Veče", "Noć"}, "sv": {"Morgon", "Eftermiddag", "Kväll", "Natt"}, "sw": {"Asubuhi", "Adhuhuri", "Jioni", "Usiku"}, + "ta": {"காலை", "நண்பகல்", "சாயங்காலம்", "இரவு"}, "te": {"ఉదయం", "రోజు", "సాయంత్రం", "రాత్రి"}, "th": {"เช้า", "วัน", "เย็น", "คืน"}, "tr": {"Sabah", "Öğle", "Akşam", "Gece"}, @@ -492,6 +506,7 @@ var ( "zh-cn": {"早上", "中午", "傍晚", "夜间"}, "zh-tw": {"早上", "中午", "傍晚", "夜間"}, "zu": {"Morning", "Noon", "Evening", "Night"}, + "mg": {"Maraina", "Tolakandro", "Ariva", "Alina"}, } ) @@ -672,22 +687,22 @@ func formatTemp(c cond) string { explicitPlus1 := false explicitPlus2 := false if c.FeelsLikeC != t { - if t > 0 { - explicitPlus1 = true - } - if c.FeelsLikeC > 0 { - explicitPlus2 = true - } - if explicitPlus1 { - explicitPlus2 = false - } + if t > 0 { + explicitPlus1 = true + } + if c.FeelsLikeC > 0 { + explicitPlus2 = true + } + if explicitPlus1 { + explicitPlus2 = false + } return pad( - fmt.Sprintf("%s(%s) °%s", - color(t, explicitPlus1), - color(c.FeelsLikeC, explicitPlus2), - unitTemp[config.Imperial]), - 15) - } + fmt.Sprintf("%s(%s) °%s", + color(t, explicitPlus1), + color(c.FeelsLikeC, explicitPlus2), + unitTemp[config.Imperial]), + 15) + } // if c.FeelsLikeC < t { // if c.FeelsLikeC < 0 && t > 0 { // explicitPlus = true