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