update wunderground addon
authorronie <ronie@xbmc.org>
Tue, 18 Jun 2013 19:09:50 +0000 (21:09 +0200)
committerronie <ronie@xbmc.org>
Sat, 29 Jun 2013 01:01:52 +0000 (03:01 +0200)
35 files changed:
addons/weather.wunderground/README.txt
addons/weather.wunderground/addon.xml
addons/weather.wunderground/changelog.txt
addons/weather.wunderground/default.py
addons/weather.wunderground/resources/language/Albanian/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Amharic/strings.po
addons/weather.wunderground/resources/language/Bulgarian/strings.po
addons/weather.wunderground/resources/language/Burmese/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Catalan/strings.po
addons/weather.wunderground/resources/language/Chinese (Simple)/strings.po
addons/weather.wunderground/resources/language/Croatian/strings.po
addons/weather.wunderground/resources/language/Czech/strings.po
addons/weather.wunderground/resources/language/Dutch/strings.po
addons/weather.wunderground/resources/language/English (US)/strings.po [deleted file]
addons/weather.wunderground/resources/language/English/strings.po
addons/weather.wunderground/resources/language/Faroese/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/French/strings.po
addons/weather.wunderground/resources/language/German/strings.po
addons/weather.wunderground/resources/language/Greek/strings.po
addons/weather.wunderground/resources/language/Icelandic/strings.po
addons/weather.wunderground/resources/language/Indonesian/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Italian/strings.po
addons/weather.wunderground/resources/language/Polish/strings.po
addons/weather.wunderground/resources/language/Portuguese/strings.po
addons/weather.wunderground/resources/language/Spanish (Argentina)/strings.po
addons/weather.wunderground/resources/language/Swedish/strings.po
addons/weather.wunderground/resources/language/Tamil (India)/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Turkish/strings.po
addons/weather.wunderground/resources/language/Ukrainian/strings.po
addons/weather.wunderground/resources/language/Uzbek/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Vietnamese/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/language/Welsh/strings.po [new file with mode: 0644]
addons/weather.wunderground/resources/lib/utilities.py
addons/weather.wunderground/resources/lib/wunderground/wunderground.py
addons/weather.wunderground/resources/settings.xml

index 2b7b742..9f03753 100644 (file)
@@ -14,7 +14,7 @@ Current.Humidity
 Current.FeelsLike
 Current.UVIndex
 Current.DewPoint
-Current.OutlookIcon
+Current.ConditionIcon
 Current.FanartCode
 
 
@@ -52,6 +52,8 @@ Forecast.Updated
 CURRENT
 -------
 Current.IsFetched
+Current.LocalTime
+Current.LocalDate
 Current.WindDegree
 Current.SolarRadiation
 Current.Pressure
index 4bdb7e2..1de8eea 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="weather.wunderground" name="Weather Underground" version="1.0.9" provider-name="Team XBMC">
+<addon id="weather.wunderground" name="Weather Underground" version="1.0.15" provider-name="Team XBMC">
        <requires>
                <import addon="xbmc.python" version="2.1.0"/>
                <import addon="script.module.simplejson" version="2.0.10"/>
@@ -8,11 +8,13 @@
        <extension point="xbmc.python.module" library="resources/lib/wunderground"/>
        <extension point="xbmc.addon.metadata">
                <summary lang="af">Weer voorspelling vanaf wunderground.com</summary>
+               <summary lang="am">የአየር ንብረት ከ wunderground.com</summary>
                <summary lang="ar">توقعات الطقس من wunderground.com</summary>
                <summary lang="be">Прагноз надвор'я з wunderground.com</summary>
                <summary lang="bg">Синоптична прогноза от wunderground.com</summary>
-               <summary lang="ca">Previsió del temps des de wunderground.com</summary>
+               <summary lang="ca">Previsió del temps de wunderground.com</summary>
                <summary lang="cs">Předpověď počasí z wunderground.com</summary>
+               <summary lang="cy">Rhagolygon tywydd gan wunderground.com</summary>
                <summary lang="da">Vejrudsigt fra wunderground.com</summary>
                <summary lang="de">Wettervorhersage von wunderground.com</summary>
                <summary lang="el">Πρόγνωση καιρού από το wunderground.com</summary>
                <summary lang="et">Ilmaennustus portaalist wunderground.com</summary>
                <summary lang="eu">Eguraldi iragarpena wunderground.com-etik</summary>
                <summary lang="fi">Sääennusteet wunderground.com-sivustolta</summary>
+               <summary lang="fo">Veðurlíkindi frá wunderground.com</summary>
                <summary lang="fr">Prévisions météo fournies par wunderground.com</summary>
                <summary lang="gl">Predición meteorolóxica de wunderground.com</summary>
                <summary lang="he">תחזית מזג האויר מאת wunderground.com</summary>
-               <summary lang="hr">Prognoza vremena od wunderground.com</summary>
+               <summary lang="hr">Prognoza vremena s wunderground.com</summary>
                <summary lang="hu">Időjárás előrejelzés a wunderground.com-tól</summary>
                <summary lang="is">Veðurspár frá wunderground.com</summary>
                <summary lang="it">Meteo fornito da wunderground.com</summary>
@@ -34,6 +37,7 @@
                <summary lang="ko">wunderground.com 날씨예보</summary>
                <summary lang="lt">Orų prognozė nuo/iš wunderground.com</summary>
                <summary lang="mk">Временска прогноза од wunderground.com</summary>
+               <summary lang="my">wunderground.com မှ ရာသီဥတုခန့်မှန်းချက်</summary>
                <summary lang="nl">Weersvoorspelling van wunderground.com</summary>
                <summary lang="no">Værvarsel fra wunderground.com</summary>
                <summary lang="pl">Prognoza pogody ze strony wunderground.com</summary>
                <summary lang="ru">Прогноз погоды с сайта wunderground.com</summary>
                <summary lang="sk">Predpoveď počasia z wunderground.com</summary>
                <summary lang="sl">Vremenska napoved, ki jo zagotavlja wunderground.com</summary>
+               <summary lang="sq">Parashikimi i motit nga wunderground.com</summary>
                <summary lang="sv">Väderprognos från wunderground.com</summary>
+               <summary lang="ta_IN">Wunderground.com இருந்து வானிலை முன்னறிவிப்பு</summary>
                <summary lang="th">พยากรณ์อากาศจาก wunderground.com</summary>
                <summary lang="tr">Hava durumu wunderground.com sitesinden alınır</summary>
                <summary lang="uk">Прогноз погоди з wunderground.com</summary>
+               <summary lang="uz">wunderground.com dan ob-havo ma'lumoti</summary>
+               <summary lang="vi">Dự báo thời tiết từ wunderground.com</summary>
                <summary lang="zh">来自wunderground.com的天气预报</summary>
                <summary lang="zh_TW">weatherground.com 上的天氣預報</summary>
                <description lang="af">Weer voorspelling verskaf deur Weather Underground (http://www.wunderground.com/)</description>
+               <description lang="am">የአየር ንብረት የሚቀርበው በ Weather Underground (http://www.wunderground.com/)</description>
                <description lang="ar">توقعات الطقس من تقديم Weather Underground&#10;(http://www.wunderground.com/)</description>
                <description lang="be">Прагноз надвор'я створаны Weather Underground (http://www.wunderground.com/)</description>
                <description lang="bg">Синоптична прогноза с данните от Weather Underground (http://www.wunderground.com/)</description>
                <description lang="ca">Previsió del temps proporcionada per Weather Underground (http://www.wunderground.com/)</description>
                <description lang="cs">Předpověď počasí poskytnuta stránkou Weather Underground (http://www.wunderground.com/)</description>
+               <description lang="cy">Rhagolygon tywydd gan Weather Underground (http://www.wunderground.com/)</description>
                <description lang="da">Vejrudsigten leveres af Weather Underground (http://www.wunderground.com/)</description>
                <description lang="de">Wettervorhersage bereitgestellt durch Weather Underground (http://www.wunderground.com/)</description>
                <description lang="el">Η πρόγνωση καιρού παρέχεται από το Weather Underground (http://www.wunderground.com/)</description>
@@ -64,6 +74,7 @@
                <description lang="es_MX">Pronóstico del tiempo por Weather Underground&#10;(http://www.wunderground.com/)</description>
                <description lang="et">Ilma ennustab Weather Underground (http://www.wunderground.com/)</description>
                <description lang="fi">Sääennusteet Weather Underground -sivuston tarjoamina (http://www.wunderground.com/)</description>
+               <description lang="fo">Veðurlíkindi eru veitt av Weather Underground (http://www.wunderground.com)</description>
                <description lang="fr">Prévisions météo fournies par Weather Underground (http://www.wunderground.com/)</description>
                <description lang="gl">Predición meteorolóxica provista por Weather Underground&#10;(http://www.wunderground.com/)</description>
                <description lang="he">תחזית מזג האויר ניתנת ע"י Weather Underground (http://www.wunderground.com</description>
@@ -75,6 +86,7 @@
                <description lang="ko">Weather Underground (http://www.wunderground.com/)가 제공하는 날씨예보</description>
                <description lang="lt">Orų prognozė teikiama (pateikiama) iš Weather Underground (http://www.wunderground.com/)</description>
                <description lang="mk">Временска прогноза обезбедена од Weather Underground (http://www.wunderground.com/)</description>
+               <description lang="my">ရာသီဥတုခန့်မှန်းချက်ကို Weather Underground (http://www.wunderground.com/) မှထောက်ပံ့ပေးထားပါသည်။</description>
                <description lang="nl">Weersvoorspelling voorzien door Weather Underground&#10;(http://www.wunderground.com/)</description>
                <description lang="no">Værvarsel fra Weather Underground (http://www.wunderground.com)</description>
                <description lang="pl">Prognoza pogody jest dostarczona dzięki uprzejmości serwisu: (http://www.wunderground.com/)</description>
                <description lang="ru">Прогноз погоды предоставлен компанией Weather Underground (http://www.wunderground.com/)</description>
                <description lang="sk">Predpoveď počasia poskytovaná od Weather Underground (http://www.wunderground.com/)</description>
                <description lang="sl">Vremenska napoved, ki jo zagotavlja Weather Underground (http://www.wunderground.com/)</description>
+               <description lang="sq">Parashikimi i motit i pajisur nga Weahter Underground&#10;(http://www.wunderground.com/)</description>
                <description lang="sv">Väderprognos tillhandahållen av Weather Underground&#10;(http://www.wunderground.com/)</description>
+               <description lang="ta_IN">வானிலை முன்னறிவிப்பு வழங்குபவர் வானிலை அண்டர்கிரவுண்டு (http://www.wunderground.com/)</description>
                <description lang="th">พยากรณ์อากาศโดย Weather Underground &#10;(http://www.wunderground.com/)</description>
                <description lang="tr">Hava Durumu Weather Underground tarafından sağlanır (http://www.wunderground.com/)</description>
                <description lang="uk">Прогноз погоди надано Weather Underground (http://www.wunderground.com/)</description>
+               <description lang="uz">Ob-havo ma'lumoti Weather Underground (http://www.wunderground.com/) tomonidan taqdim etilgan</description>
+               <description lang="vi">Dự báo thời tiết từ Weather Underground (http://www.wunderground.com/)</description>
                <description lang="zh">由Weather Underground(http://www.wunderground.com/)提供的天气预报</description>
                <description lang="zh_TW">天氣預報由 Weather Underground (http://www.wunderground.com/) 所提供</description>
                <disclaimer lang="af">Die gebruik van hierdie byvoegsel impliseer dat U saamstem met die Terme van Diens uiteengesit op http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="bg">Употребявайки добавката Вие се съгласявате с условията за ползване на услугата, които се намират на http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="ca">L'ús d'aquest complement implica que vostè ha acceptat els termes de servei ubicats a http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="cs">Používáním tohoto rozšíření schvalujete podmínky užívání umístěné na http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
-               <disclaimer lang="da">Brug af denne add-on indebærer, at du har erklæret dig enig i vilkårene for tjenesten, der findes på http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="cy">Mae defnyddio'r ategyn yma'n awgrymu eich bod yn cytuno i'r Amodau Gwasanaeth sydd yn http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="da">Brug af denne addon indebærer, at du har erklæret dig enig i vilkårene for tjenesten, der findes på http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="de">Mit Benutzung dieses Addons bestätigen Sie, dass Sie den Nutzungsbedingungen auf http://www.wunderground.com/weather/api/d/terms.html zustimmen.</disclaimer>
                <disclaimer lang="el">Χρήση αυτού του πρόσθετου συνεπάγεται την αποδοχή των Όρων Χρήσης της Υπηρεσίας (Terms of Service) οι οποίοι βρίσκονται στο http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="en">Use of this add-on implies that you have agreed to the Terms of Service located at http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="et">Selle lisamooduli kasutamine viitab sellele, et te olete nõustunud kasutajatingimustega aadressil http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="eu">Gehigarri hau erabiltzeak http://www.wunderground.com/weather/api/d/terms.html -en aurkitzen diren zerbitzu baldintzak onartzen inplikatzen du.</disclaimer>
                <disclaimer lang="fi">Tämän lisäosan käyttäminen tarkoittaa, että olet hyväksynyt osoitteessa http://www.wunderground.com/weather/api/d/terms.html sijaitsevat käyttöehdot</disclaimer>
+               <disclaimer lang="fo">Nýtsla av hesi víðkan merkir at tú góðtekur treytirnar sum finnast á http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="fr">L'utilisation de cette extension implique votre acceptation des Conditions Générales d'Utilisation disponibles sur http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="gl">Empregar este Engadido implica que vostede aceptou os termos de servizo localizados en http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="he">שימוש בתוסף זה משתמע שאישרת את תנאי השימוש אשר ממוקמים בכתובת הבאה http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
-               <disclaimer lang="hr">Upotreba ovog add-ona podrazumjeva da se slažete sa Pravilima korištenja koja se nalaze na http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="hr">Upotreba ovog dodatka podrazumijeva da se slažete s Pravilima korištenja koja se nalaze na http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="hu">A kiegészítő használatával elfogadod a következő feltételeket: http://www.wunderground.com/weather/api/d/terms.html&#10;&#10;    </disclaimer>
                <disclaimer lang="is">Notkun á þessari viðbót gefur til kynna að þú hafir samþykkt skilmálana sem finna má á http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="it">Usando questo add-on accetti i Termini di Servizio consultabili su http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="ko">이 애드온을 사용하는 것은 http://www.wunderground.com/weather/api/d/terms.html 에 있는 서비스 약관에 동의함을 의미합니다</disclaimer>
                <disclaimer lang="lt">Naudodami šį priedą jūs sutinate(-kote) su paslaugų teikimo sąlygomis esančiomis http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="mk">Користење на овој додаток имплицира дека се согласувате со условите за користење кои се наоѓаат на http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="my">ဒီ add-on ကိုသုံးခြင်းသည် http://www.wunderground.com/weather/api/d/terms.html တွင်ရှိသော Terms of Service ကိုသဘောတူညီဟု သတ်မှတ်သည်</disclaimer>
                <disclaimer lang="nl">Het gebruik van deze add-on impliceert dat je akkoord gaat met de service-voorwaarden op http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="no">Bruken av dette tillegget betinger at du har godkjent brukervilkårene på http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="pl">Korzystanie z tego dodatku jest równoważne z akceptacją regulaminu dostępnego pod adresem: http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="ru">Используя это дополнение, вы соглашаетесь с условиями предоставления услуг, доступными по адресу http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="sk">Používaním tohto doplnku súhlasíte s podmienkami používania služby umiestnenými na http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="sl">Z uporabo vtičnika se strinjate s Pogoji uporabe, ki se nahajajo na http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="sq">Përdorimi i kësaj shtesës nënkupton që ke lexuar Termat e Shërbimit të lokalizuar tek http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="sv">Användning av detta tillägg innebär att ni har accepterat användarvillkoren som går att hitta på&#10;http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="ta_IN">விதிமுறைகள் ஒப்பு கொண்டீர் என்று தெரிகிறது http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="th">ในการใช้บริการโปรแกรมเสริมนี้หมายความว่าคุณได้ยอมรับเงื่อนไขในการให้บริการโดย http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="tr">Bu eklentinin kullanımı aynı zamanda http://www.wunderground.com/weather/api/d/terms.html adresindeki Kullanım koşullarını da kabul ettiğiniz anlamına gelir.</disclaimer>
                <disclaimer lang="uk">Скориставшись цією надбудовою, ви тим самим погоджуєтеся з умовами використання: http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
+               <disclaimer lang="vi">Khi sử dụng add-on này đồng nghĩa với việc bạn đồng ý với các điều khoản sử dụng dịch vụ của nhà cung cấp tại địa chỉ http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="zh">使用此扩展功能意味着你同意此连接下的服务条款:http://www.wunderground.com/weather/api/d/terms.html</disclaimer>
                <disclaimer lang="zh_TW">使用這個附加元件代表你同意 http://www.wunderground.com/weather/api/d/terms.html 所載之使用者條款</disclaimer>
+               <language></language>
                <platform>all</platform>
+               <forum>http://forum.xbmc.org/showthread.php?tid=116668</forum>
+               <source>https://code.google.com/p/ronie/source/</source>
        </extension>
 </addon>
index a7193a7..ce97292 100644 (file)
@@ -1,3 +1,27 @@
+v1.0.15
+- fix animated radar images
+- added gzip compression for image retrieval
+
+v1.0.14
+- add support for 5 locations
+- fix possible incorrect display of location name
+- remove old backward compatibility code
+
+v1.0.13
+- added localtime and localdate infolabels
+
+v1.0.12
+- added yyyy-mm-dd format for regions that use this format
+- fixed strip returns in rss label
+
+v1.0.11
+- fix corrupted alert message
+
+v1.0.10
+- fix potential crash on invalid json response
+- fix api error response check
+- added gzip compression support
+
 v1.0.9
 - updated language files from Transifex
 
index c86590b..00110b5 100644 (file)
@@ -16,8 +16,9 @@
 # *  http://www.gnu.org/copyleft/gpl.html
 
 
-import os, sys, socket, unicodedata, urllib2, time, base64
+import os, sys, socket, unicodedata, urllib2, time, base64, gzip
 from datetime import date
+from StringIO import StringIO
 import xbmc, xbmcgui, xbmcaddon, xbmcvfs
 if sys.version_info < (2, 7):
     import simplejson
@@ -52,6 +53,13 @@ MAXDAYS          = 6
 
 socket.setdefaulttimeout(10)
 
+def recode(alert): # workaround: wunderground provides a corrupt alerts message
+    try:
+        alert = alert.encode("latin-1").rstrip('&nbsp)').decode("utf-8")
+    except:
+        pass
+    return alert
+
 def log(txt):
     if DEBUG == 'true':
         if isinstance (txt,str):
@@ -64,7 +72,7 @@ def set_property(name, value):
 
 def refresh_locations():
     locations = 0
-    for count in range(1, 4):
+    for count in range(1, 6):
         loc_name = __addon__.getSetting('Location%s' % count)
         if loc_name != '':
             locations += 1
@@ -120,19 +128,20 @@ def geoip():
         __addon__.setSetting('Location1id', locationid)
         log('geoip location: %s' % location)
     else:
+        location = ''
         locationid = ''
-    return locationid
+    return location, locationid
 
-def forecast(loc):
+def forecast(loc,locid):
     try:
         lang = LANG[LANGUAGE]
     except:
         lang = 'EN'
     opt = 'lang:' + lang
-    log('weather location: %s' % loc)
+    log('weather location: %s' % locid)
     retry = 0
     while (retry < 6) and (not xbmc.abortRequested):
-        query = wundergroundapi(WEATHER_FEATURES, opt, loc, FORMAT)
+        query = wundergroundapi(WEATHER_FEATURES, opt, locid, FORMAT)
         if query != '':
             retry = 6
         else:
@@ -141,8 +150,8 @@ def forecast(loc):
             log('weather download failed')
     log('forecast data: %s' % query)
     data = parse_data(query)
-    if data != '' and not data.has_key('error'):
-        properties(data,loc)
+    if data != '' and data.has_key('response') and not data['response'].has_key('error'):
+        properties(data,loc,locid)
     else:
         clear()
 
@@ -175,13 +184,10 @@ def parse_data(json):
         data = ''
     return data
 
-def properties(data,loc):
+def properties(data,loc,locid):
 # standard properties
     weathercode = WEATHER_CODES[data['current_observation']['icon_url'][31:-4]]
-    location = __addon__.getSetting('Location%s' % sys.argv[1])
-    if (location == '') and (sys.argv[1] != '1'):
-        location = __addon__.getSetting('Location1')
-    set_property('Current.Location'      , location)
+    set_property('Current.Location'      , loc)
     set_property('Current.Condition'     , data['current_observation']['weather'])
     set_property('Current.Temperature'   , str(data['current_observation']['temp_c']))
     set_property('Current.Wind'          , str(data['current_observation']['wind_kph']))
@@ -190,7 +196,7 @@ def properties(data,loc):
     set_property('Current.FeelsLike'     , data['current_observation']['feelslike_c'])
     set_property('Current.UVIndex'       , data['current_observation']['UV'])
     set_property('Current.DewPoint'      , str(data['current_observation']['dewpoint_c']))
-    set_property('Current.OutlookIcon'   , '%s.png' % weathercode)
+    set_property('Current.OutlookIcon'   , '%s.png' % weathercode) # xbmc translates it to Current.ConditionIcon
     set_property('Current.FanartCode'    , weathercode)
     for count, item in enumerate(data['forecast']['simpleforecast']['forecastday']):
         weathercode = WEATHER_CODES[item['icon_url'][31:-4]]
@@ -208,17 +214,27 @@ def properties(data,loc):
     set_property('Forecast.State'            , data['current_observation']['display_location']['state_name'])
     set_property('Forecast.Country'          , data['current_observation']['display_location']['country'])
     update = time.localtime(float(data['current_observation']['observation_epoch']))
-    if DATEFORMAT[1] == 'm':
-        localdate = WEEKDAY[update[6]] + ' ' + MONTH[update[1]] + ' ' + str(update[2]) + ', ' + str(update[0])
+    local = time.localtime(float(data['current_observation']['local_epoch']))
+    if DATEFORMAT[1] == 'd':
+        updatedate = WEEKDAY[update[6]] + ' ' + str(update[2]) + ' ' + MONTH[update[1]] + ' ' + str(update[0])
+        localdate = WEEKDAY[local[6]] + ' ' + str(local[2]) + ' ' + MONTH[local[1]] + ' ' + str(local[0])
+    elif DATEFORMAT[1] == 'm':
+        updatedate = WEEKDAY[update[6]] + ' ' + MONTH[update[1]] + ' ' + str(update[2]) + ', ' + str(update[0])
+        localdate = WEEKDAY[local[6]] + ' ' + str(local[2]) + ' ' + MONTH[local[1]] + ' ' + str(local[0])
     else:
-        localdate = WEEKDAY[update[6]] + ' ' + str(update[2]) + ' ' + MONTH[update[1]] + ' ' + str(update[0])
+        updatedate = WEEKDAY[update[6]] + ' ' + str(update[0]) + ' ' + MONTH[update[1]] + ' ' + str(update[2])
+        localdate = WEEKDAY[local[6]] + ' ' + str(local[0]) + ' ' + MONTH[local[1]] + ' ' + str(local[2])
     if TIMEFORMAT != '/':
-        localtime = time.strftime('%I:%M%p', update)
+        updatetime = time.strftime('%I:%M%p', update)
+        localtime = time.strftime('%I:%M%p', local)
     else:
-        localtime = time.strftime('%H:%M', update)
-    set_property('Forecast.Updated'          , localdate + ' - ' + localtime)
+        updatetime = time.strftime('%H:%M', update)
+        localtime = time.strftime('%H:%M', local)
+    set_property('Forecast.Updated'          , updatedate + ' - ' + updatetime)
 # current properties
     set_property('Current.IsFetched'         , 'true')
+    set_property('Current.LocalTime'         , localtime)
+    set_property('Current.LocalDate'         , localdate)
     set_property('Current.WindDegree'        , str(data['current_observation']['wind_degrees']) + u'°')
     set_property('Current.SolarRadiation'    , str(data['current_observation']['solarradiation']))
     if 'F' in TEMPUNIT:
@@ -295,12 +311,12 @@ def properties(data,loc):
         weathercode = WEATHER_CODES[item['icon_url'][31:-4]]
         set_property('Daily.%i.LongDay'              % (count+1), item['date']['weekday'])
         set_property('Daily.%i.ShortDay'             % (count+1), item['date']['weekday_short'])
-        if DATEFORMAT[1] == 'm':
-            set_property('Daily.%i.LongDate'         % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day']))
-            set_property('Daily.%i.ShortDate'        % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day']))
-        else:
+        if DATEFORMAT[1] == 'd':
             set_property('Daily.%i.LongDate'         % (count+1), str(item['date']['day']) + ' ' + item['date']['monthname'])
             set_property('Daily.%i.ShortDate'        % (count+1), str(item['date']['day']) + ' ' + MONTH[item['date']['month']])
+        else:
+            set_property('Daily.%i.LongDate'         % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day']))
+            set_property('Daily.%i.ShortDate'        % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day']))
         set_property('Daily.%i.Outlook'              % (count+1), item['conditions'])
         set_property('Daily.%i.OutlookIcon'          % (count+1), WEATHER_ICON % weathercode)
         set_property('Daily.%i.FanartCode'           % (count+1), weathercode)
@@ -348,12 +364,12 @@ def properties(data,loc):
             weathercode = WEATHER_CODES[item['icon_url'][31:-4]]
             set_property('Weekend.%i.LongDay'                  % (count+1), item['date']['weekday'])
             set_property('Weekend.%i.ShortDay'                 % (count+1), item['date']['weekday_short'])
-            if DATEFORMAT[1] == 'm':
-                set_property('Weekend.%i.LongDate'             % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day']))
-                set_property('Weekend.%i.ShortDate'            % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day']))
-            else:
+            if DATEFORMAT[1] == 'd':
                 set_property('Weekend.%i.LongDate'             % (count+1), str(item['date']['day']) + ' ' + item['date']['monthname'])
                 set_property('Weekend.%i.ShortDate'            % (count+1), str(item['date']['day']) + ' ' + MONTH[item['date']['month']])
+            else:
+                set_property('Weekend.%i.LongDate'             % (count+1), item['date']['monthname'] + ' ' + str(item['date']['day']))
+                set_property('Weekend.%i.ShortDate'            % (count+1), MONTH[item['date']['month']] + ' ' + str(item['date']['day']))
             set_property('Weekend.%i.Outlook'                  % (count+1), item['conditions'])
             set_property('Weekend.%i.OutlookIcon'              % (count+1), WEATHER_ICON % weathercode)
             set_property('Weekend.%i.FanartCode'               % (count+1), weathercode)
@@ -468,12 +484,12 @@ def properties(data,loc):
             set_property('Hourly.%i.Time'            % (count+1), item['FCTTIME']['civil'])
         else:
             set_property('Hourly.%i.Time'            % (count+1), item['FCTTIME']['hour_padded'] + ':' + item['FCTTIME']['min'])
-        if DATEFORMAT[1] == 'm':
-            set_property('Hourly.%i.ShortDate'       % (count+1), item['FCTTIME']['month_name_abbrev'] + ' ' + item['FCTTIME']['mday_padded'])
-            set_property('Hourly.%i.LongDate'        % (count+1), item['FCTTIME']['month_name'] + ' ' + item['FCTTIME']['mday_padded'])
-        else:
+        if DATEFORMAT[1] == 'd':
             set_property('Hourly.%i.ShortDate'       % (count+1), item['FCTTIME']['mday_padded'] + ' ' + item['FCTTIME']['month_name_abbrev'])
             set_property('Hourly.%i.LongDate'        % (count+1), item['FCTTIME']['mday_padded'] + ' ' + item['FCTTIME']['month_name'])
+        else:
+            set_property('Hourly.%i.ShortDate'       % (count+1), item['FCTTIME']['month_name_abbrev'] + ' ' + item['FCTTIME']['mday_padded'])
+            set_property('Hourly.%i.LongDate'        % (count+1), item['FCTTIME']['month_name'] + ' ' + item['FCTTIME']['mday_padded'])
         if 'F' in TEMPUNIT:
             set_property('Hourly.%i.Temperature'     % (count+1), item['temp']['english'] + TEMPUNIT)
             set_property('Hourly.%i.DewPoint'        % (count+1), item['dewpoint']['english'] + TEMPUNIT)
@@ -507,23 +523,23 @@ def properties(data,loc):
         set_property('Hourly.%i.Outlook'             % (count+1), item['condition'])
         set_property('Hourly.%i.OutlookIcon'         % (count+1), WEATHER_ICON % weathercode)
         set_property('Hourly.%i.FanartCode'          % (count+1), weathercode)
-        if count == 35: # workaround: wunderground provides a 10day hourly forecast
-            break
 # alert properties
     set_property('Alerts.IsFetched', 'true')
     if str(data['alerts']) != '[]':
         rss = ''
         alerts = ''
         for count, item in enumerate(data['alerts']):
-            set_property('Alerts.%i.Description'     % (count+1), item['description'])
-            set_property('Alerts.%i.Message'         % (count+1), item['message'])
+            description = recode(item['description']) # workaround: wunderground provides a corrupt alerts message
+            message = recode(item['message']) # workaround: wunderground provides a corrupt alerts message
+            set_property('Alerts.%i.Description'     % (count+1), description)
+            set_property('Alerts.%i.Message'         % (count+1), message)
             set_property('Alerts.%i.StartDate'       % (count+1), item['date'])
             set_property('Alerts.%i.EndDate'         % (count+1), item['expires'])
             set_property('Alerts.%i.Significance'    % (count+1), SEVERITY[item['significance']])
-            rss    = rss + item['description'] + ' - '
-            alerts = alerts + item['message']
+            rss    = rss + description.replace('\n','') + ' - '
+            alerts = alerts + message + '[CR][CR]'
         set_property('Alerts.RSS'   , rss.rstrip(' - '))
-        set_property('Alerts'       , alerts)
+        set_property('Alerts'       , alerts.rstrip('[CR][CR]'))
         set_property('Alerts.Count' , str(count+1))
     else:
         set_property('Alerts.RSS'   , '')
@@ -532,21 +548,16 @@ def properties(data,loc):
 # map properties
     set_property('Map.IsFetched', 'true')
     filelist = []
-    locid = base64.b16encode(loc)
+    locid = base64.b16encode(locid)
     addondir = os.path.join(__cwd__, 'resources', 'logo')
     mapdir = xbmc.translatePath('special://profile/addon_data/%s/map' % __addonid__)
     set_property('MapPath', addondir)
     if not xbmcvfs.exists(mapdir):
         xbmcvfs.mkdir(mapdir)
-    json_query = xbmc.executeJSONRPC('{ "jsonrpc" : "2.0" , "method" : "Files.GetDirectory" , "params" : { "directory" : "%s" , "sort" : { "method" : "file" } } , "id" : 1 }' % mapdir.replace('\\', '\\\\'))
-    json_query = unicode(json_query, 'utf-8', errors='ignore')
-    json_response = simplejson.loads(json_query)
-    if (json_response['result'] != None) and (json_response['result'].has_key('files')) and (json_response['result']['files'] != None):
-        for item in json_response['result']['files']:
-            if item['filetype'] == 'file':
-                filelist.append(item['file'])
+    dirs, filelist = xbmcvfs.listdir(mapdir)
     animate = __addon__.getSetting('Animate')
-    for item in filelist:
+    for img in filelist:
+        item = xbmc.translatePath('special://profile/addon_data/%s/map/%s' % (__addonid__,img)).decode("utf-8")
         if animate == 'true':
             if (time.time() - os.path.getmtime(item) > 14400) or (not locid in item):
                 xbmcvfs.delete(item)
@@ -558,19 +569,26 @@ def properties(data,loc):
     url = data['satellite']['image_url_ir4'].replace('width=300&height=300','width=640&height=360').replace('radius=75','radius=%i' % int(1000/int(zoom.rstrip('0').rstrip('.,'))))
     log('map url: %s' % url)
     try:
-        req = urllib2.urlopen(url)
-        response = req.read()
-        req.close()
+        req = urllib2.Request(url)
+        req.add_header('Accept-encoding', 'gzip')
+        response = urllib2.urlopen(req)
+        if response.info().get('Content-Encoding') == 'gzip':
+            buf = StringIO(response.read())
+            compr = gzip.GzipFile(fileobj=buf)
+            data = compr.read()
+        else:
+            data = response.read()
+        response.close()
         log('satellite image downloaded')
     except:
-        response = ''
+        data = ''
         log('satellite image downloaded failed')
-    if response != '':
+    if data != '':
         timestamp = time.strftime('%Y%m%d%H%M%S')
         mapfile = xbmc.translatePath('special://profile/addon_data/%s/map/%s-%s.png' % (__addonid__,locid,timestamp)).decode("utf-8")
         try:
             tmpmap = open(mapfile, 'wb')
-            tmpmap.write(response)
+            tmpmap.write(data)
             tmpmap.close()
             set_property('MapPath', mapdir)
         except:
@@ -599,19 +617,18 @@ if sys.argv[1].startswith('Location'):
                 log('selected location id: %s' % locationids[selected])
         else:
             dialog.ok(__addonname__, xbmc.getLocalizedString(284))
-
 else:
-    location = __addon__.getSetting('Location%sid' % sys.argv[1])
-    if (location == '') and (sys.argv[1] != '1'):
-        location = __addon__.getSetting('Location1id')
+    location = __addon__.getSetting('Location%s' % sys.argv[1])
+    locationid = __addon__.getSetting('Location%sid' % sys.argv[1])
+    if (locationid == '') and (sys.argv[1] != '1'):
+        location = __addon__.getSetting('Location1')
+        locationid = __addon__.getSetting('Location1id')
         log('trying location 1 instead')
-    if location == '':
+    if locationid == '':
         log('fallback to geoip')
-        location = geoip()
-    if not location == '':
-        if location.startswith('/q/'): # backwards compatibility
-            location = location[3:]
-        forecast(location)
+        location, locationid = geoip()
+    if not locationid == '':
+        forecast(location, locationid)
     else:
         log('no location found')
         clear()
diff --git a/addons/weather.wunderground/resources/language/Albanian/strings.po b/addons/weather.wunderground/resources/language/Albanian/strings.po
new file mode 100644 (file)
index 0000000..ce38dfd
--- /dev/null
@@ -0,0 +1,149 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Albanian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/sq/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: sq\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Cilësime të vendi"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Cilësime të shtuara"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Vendi 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Vendi 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Vendi 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Vendi 1 trego emrin"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Vendi 2 trego emrin"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Vendi 3 trego emrin"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Vendi 1 id"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Vendi 2 id"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Vendi 3 id"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "Aktivo logging"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Fundjavë"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "E Shtunë/E Diel "
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "E Premte/E Shtunë"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "E Ejnte/E Premte"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Niveli i zoom'it i hartës"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Hart e gjallëruar"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Hëna e re"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "Hëna e gjysme duke plotësuar"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Hëna e plotësuar 1/4"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "Hëna duke plotësuar"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Hëna e plotë"
+
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "Hëna e plotësuar 3/4"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Hëna e plotësuar 3/4"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "Hëna e plotësuar 3/4"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Kujdësi"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "Shikimi"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Këshillë"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Caktimi"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Pikëpamje"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "Parashikimi"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Synopsis"
index f3d7ee0..e395b83 100644 (file)
@@ -60,34 +60,106 @@ msgctxt "#32119"
 msgid "Location 3 id"
 msgstr "አካባቢ 3 መለያ"
 
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "መግቢያ ማስቻያ"
+
 msgctxt "#32121"
 msgid "Weekend"
 msgstr "የሳምንቱ መጨረሻ"
 
 msgctxt "#32122"
 msgid "Saturday/Sunday"
-msgstr "ቅዳሜ / እሑድ "
+msgstr "ቅዳሜ/እሑድ "
 
 msgctxt "#32123"
 msgid "Friday/Saturday"
-msgstr "አርብ / ቅዳሜ "
+msgstr "አርብ/ቅዳሜ "
 
 msgctxt "#32124"
 msgid "Thursday/Friday"
-msgstr "ሐሙስ / አርብ "
+msgstr "ሐሙስ/አርብ "
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "የካርታ ማሳያ መጠን"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "ተንቀሳቃሽ ካርታ"
+
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "አካባቢ 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "አካባቢ 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "አካባቢ 4 ስም ማሳያ"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "አካባቢ 5 ስም ማሳያ"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "አካባቢ 4 መለያ"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "አካባቢ 5 መለያ"
 
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "አዲስ ጨረቃ "
 
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "እየጨመረ የሚሄድ ከ ግማሽ በታች"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "የመጀመሪያው ሩብ"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "እየጨመረ የሚሄድ ከ ግማሽ በላይ "
+
 msgctxt "#32505"
 msgid "Full Moon"
 msgstr "ሙሉ ጨረቃ "
 
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "እየቀነሰ የሚሄድ ከ ግማሽ በላይ በላይ "
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "የመጨረሻው ሩብ"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "እየቀነሰ የሚሄድ ከ ግማሽ በታች"
+
 msgctxt "#32510"
 msgid "Warning"
 msgstr "ማስጠንቀቂያ "
 
+msgctxt "#32511"
+msgid "Watch"
+msgstr "ይጠንቀቁ"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "ይመከራሉ "
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "ባጠቃላይ "
+
 msgctxt "#32515"
 msgid "Forecast"
-msgstr "á\8c\8dá\88\9dá\89µ "
+msgstr "á\8b°á\88\98á\8a\93á\88\9b "
index 95cf00f..2cc24bf 100644 (file)
@@ -50,7 +50,7 @@ msgstr "Име за място 3"
 
 msgctxt "#32117"
 msgid "Location 1 id"
-msgstr "Идентификато на място 1"
+msgstr "Идентификатор на място 1"
 
 msgctxt "#32118"
 msgid "Location 2 id"
@@ -58,7 +58,7 @@ msgstr "Идентификато на място 2"
 
 msgctxt "#32119"
 msgid "Location 3 id"
-msgstr "Идентификато на място 3"
+msgstr "Идентификатор на място 3"
 
 msgctxt "#32120"
 msgid "Enable logging"
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Анимиране на картата"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Място 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Място 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Име за място 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Име за място 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Идентификатор на място 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Идентификатор на място 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Новолуние"
diff --git a/addons/weather.wunderground/resources/language/Burmese/strings.po b/addons/weather.wunderground/resources/language/Burmese/strings.po
new file mode 100644 (file)
index 0000000..5495890
--- /dev/null
@@ -0,0 +1,105 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Burmese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/my/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: my\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "တည်နေရာ setup"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "တည်နေရာ ၁"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "တည်နေရာ ၂"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "တည်နေရာ ၃"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "တည်နေရာ ၁ ဖော်ပြထားသောအမည်"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "တည်နေရာ ၂ ဖော်ပြထားသောအမည်"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "တည်နေရာ ၃ ဖော်ပြထားသောအမည်"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "တည်နေရာ ၁ id"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "တည်နေရာ ၂ id"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "တည်နေရာ ၃ id"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "စနေနှင့်တနင်္ဂနွေ"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "စနေ၊တနင်္ဂနွေ"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "သောကြာ၊စနေ"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "ကြာသပတေး၊သောကြာ"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Map zoom level"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "လ အသစ်"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "လပြည့်"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "သတိပေးချက်"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "စောင့်ကြည့်မည်"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "ဖော်ပြချက်"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Outlook"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "ခန့်မှန်းချက်"
index a42819c..e1cc1e9 100644 (file)
@@ -16,14 +16,126 @@ msgstr ""
 "Language: ca\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Configuració de la ubicació"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Opcions avançades"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Ubicació 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Ubicació 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Ubicació 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Nom a mostrar de la ubicació 1"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Nom a mostrar de la ubicació 2"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Nom a mostrar de la ubicació 3"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Id de la ubicació 1"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Id de la ubicació 2"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Id de la ubicació 3"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "Habilita el registre"
+
 msgctxt "#32121"
 msgid "Weekend"
 msgstr "Cap de setmana"
 
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Dissabte/Diumenge"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "Divendres/Dissabte"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "Dijous/Divendres"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Nivell de zoom del mapa"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Mapa animat"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Lluna nova"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "Lluna nova visible"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Quart creixent"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "Lluna gibosa creixent"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Lluna plena"
+
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "Lluna gibosa minvant"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Quart minvant"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "Lluna minvant"
+
 msgctxt "#32510"
 msgid "Warning"
 msgstr "Advertència"
 
+msgctxt "#32511"
+msgid "Watch"
+msgstr "Veure"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Advertència"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Declaració"
+
 msgctxt "#32514"
 msgid "Outlook"
 msgstr "Outlook"
@@ -31,3 +143,7 @@ msgstr "Outlook"
 msgctxt "#32515"
 msgid "Forecast"
 msgstr "Predicció"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Sinopsi"
index dc37d9d..13d8017 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "动态地图"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "地点4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "地点5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "地点4显示名称"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "地点5显示名称"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "地点4 ID"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "地点5 ID"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "新月"
index 48c9f85..1351db3 100644 (file)
@@ -18,11 +18,11 @@ msgstr ""
 
 msgctxt "#32101"
 msgid "Location setup"
-msgstr "Namjesti lokaciju"
+msgstr "Podešavanje lokacije"
 
 msgctxt "#32102"
 msgid "Advanced options"
-msgstr "Dodatne opcije"
+msgstr "Napredne mogućnosti"
 
 msgctxt "#32111"
 msgid "Location 1"
@@ -38,31 +38,31 @@ msgstr "Lokacija 3"
 
 msgctxt "#32114"
 msgid "Location 1 display name"
-msgstr "Lokacija 1 ime ekrana"
+msgstr "Naziv 1. lokacije"
 
 msgctxt "#32115"
 msgid "Location 2 display name"
-msgstr "Lokacija 2 ime ekrana"
+msgstr "Naziv 2. lokacije"
 
 msgctxt "#32116"
 msgid "Location 3 display name"
-msgstr "Lokacija 3 ime ekrana"
+msgstr "Naziv 3. lokacije"
 
 msgctxt "#32117"
 msgid "Location 1 id"
-msgstr "Lokacija 1 id"
+msgstr "ID lokacije 1"
 
 msgctxt "#32118"
 msgid "Location 2 id"
-msgstr "Lokacija 2 id"
+msgstr "ID lokacije 2"
 
 msgctxt "#32119"
 msgid "Location 3 id"
-msgstr "Lokacija 3 id"
+msgstr "ID lokacije 3"
 
 msgctxt "#32120"
 msgid "Enable logging"
-msgstr "Omogućiti prijave"
+msgstr "Omogući prijave"
 
 msgctxt "#32121"
 msgid "Weekend"
@@ -86,7 +86,31 @@ msgstr "Razina zumiranja karte"
 
 msgctxt "#32126"
 msgid "Animated map"
-msgstr "Animirane mape"
+msgstr "Animirana karta"
+
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Lokacija 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Lokacija 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Lokacija 4 prikaži naziv"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Lokacija 5 prikaži naziv"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Lokacija 4 ID"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Lokacija 5 ID"
 
 msgctxt "#32501"
 msgid "New Moon"
@@ -122,7 +146,7 @@ msgstr "Mlađak"
 
 msgctxt "#32510"
 msgid "Warning"
-msgstr "Obavjesti"
+msgstr "Upozorenje"
 
 msgctxt "#32511"
 msgid "Watch"
@@ -138,7 +162,7 @@ msgstr "Izvještaj"
 
 msgctxt "#32514"
 msgid "Outlook"
-msgstr "Izgledi"
+msgstr "Prognoza"
 
 msgctxt "#32515"
 msgid "Forecast"
index 2cf2d7b..b92637b 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Animovaná mapa"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Umístění 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Umístění 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Zobrazovaný název umístění 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Zobrazovaný název umístění 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "ID umístění 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "ID umístění 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Novoluní"
index 84046fb..e2030e1 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Geanimeerde kaart"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Locatie 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Locatie 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Locatie 4 weergave naam"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Locatie 5 weergave naam"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Locatie 4 id"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Locatie 5 id"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Nieuwe maan"
diff --git a/addons/weather.wunderground/resources/language/English (US)/strings.po b/addons/weather.wunderground/resources/language/English (US)/strings.po
deleted file mode 100644 (file)
index 5e16840..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# XBMC Media Center language file
-# Addon Name: Weather Underground
-# Addon id: weather.wunderground
-# Addon version: 0.0.9
-# Addon Provider: Team XBMC
-msgid ""
-msgstr ""
-"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
-"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
-"POT-Creation-Date: 2012-05-28 15:38+0000\n"
-"PO-Revision-Date: 2012-05-28 23:42+0000\n"
-"Last-Translator: XBMC Translation Team\n"
-"Language-Team: English (United States) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/en_US/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: en_US\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-msgctxt "#30101"
-msgid "Location Setup"
-msgstr ""
-
-msgctxt "#30111"
-msgid "Change location 1"
-msgstr ""
-
-msgctxt "#30112"
-msgid "Change location 2"
-msgstr ""
-
-msgctxt "#30113"
-msgid "Change location 3"
-msgstr ""
index 3f243c8..2f2d14a 100644 (file)
@@ -90,7 +90,31 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr ""
 
-#empty strings from id 32127 to 32500
+msgctxt "#32127"
+msgid "Location 4"
+msgstr ""
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr ""
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr ""
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr ""
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr ""
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr ""
+
+#empty strings from id 32133 to 32500
 
 msgctxt "#32501"
 msgid "New Moon"
diff --git a/addons/weather.wunderground/resources/language/Faroese/strings.po b/addons/weather.wunderground/resources/language/Faroese/strings.po
new file mode 100644 (file)
index 0000000..770f7e3
--- /dev/null
@@ -0,0 +1,137 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Faroese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/fo/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Uppseting av stað"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Víðkaðar stillingar"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Stað 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Stað 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Stað 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Heiti á stað 1"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Heiti á stað 2"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Heiti á stað 3"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Stað 1 id"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Stað 2 id"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Stað 3 id"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "Tendra log"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Vikuskifti"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Leygardagur/Sunnudagur"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "Fríggjadagur/Leygardagur"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "Hósdagur/Fríggjadagur"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Stødd á korti"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Livandi kort"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Nýmáni (tendring)"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "Hálvmáni"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Fyrsti fjórðingur"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Fullmáni (full sól)"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Seinni fjórðingur"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Ávarðing"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "Hygg"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Vegleiðing"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Frágreiðing"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Útlit"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "Forsøgn"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Samandráttur"
index 3faa1ca..01ea748 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Carte animée"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Emplacement 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Emplacement 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Nom de l'emplacement 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Nom de l'emplacement 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Identifiant emplacement 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Identifiant emplacement 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Nouvelle Lune"
index 4ce0263..347248d 100644 (file)
@@ -98,11 +98,11 @@ msgstr "Erstes Viertel"
 
 msgctxt "#32503"
 msgid "First Quarter"
-msgstr "Erstes Quartal"
+msgstr "Zunehmender Halbmond"
 
 msgctxt "#32504"
 msgid "Waxing Gibbous"
-msgstr "Zweites Viertel"
+msgstr "Zunehmender Mond"
 
 msgctxt "#32505"
 msgid "Full Moon"
@@ -110,11 +110,11 @@ msgstr "Vollmond"
 
 msgctxt "#32506"
 msgid "Waning Gibbous"
-msgstr "Drittes Viertel"
+msgstr "Abnehmender Mond"
 
 msgctxt "#32507"
 msgid "Last Quarter"
-msgstr "Letztes Quartal"
+msgstr "Abnehmender Halbmond"
 
 msgctxt "#32508"
 msgid "Waning Crescent"
@@ -122,7 +122,7 @@ msgstr "Letztes Viertel"
 
 msgctxt "#32510"
 msgid "Warning"
-msgstr "Achtung"
+msgstr "Warnung"
 
 msgctxt "#32511"
 msgid "Watch"
@@ -138,7 +138,7 @@ msgstr "Bericht"
 
 msgctxt "#32514"
 msgid "Outlook"
-msgstr "Outlook"
+msgstr "Ausblick"
 
 msgctxt "#32515"
 msgid "Forecast"
index 04638a5..261ab76 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Εφέ χάρτη"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Τοποθεσία 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Τοποθεσία 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Ονομασία Τοποθεσίας 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Ονομασία Τοποθεσίας 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "ID Τοποθεσίας 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "ID Τοποθεσίας 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Νέα Σελήνη"
index 4ae45b2..ebbfcb0 100644 (file)
@@ -20,6 +20,10 @@ msgctxt "#32121"
 msgid "Weekend"
 msgstr "Helgi"
 
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Athugið"
+
 msgctxt "#32514"
 msgid "Outlook"
 msgstr "Veðurspá"
diff --git a/addons/weather.wunderground/resources/language/Indonesian/strings.po b/addons/weather.wunderground/resources/language/Indonesian/strings.po
new file mode 100644 (file)
index 0000000..ff3e6e0
--- /dev/null
@@ -0,0 +1,29 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Indonesian (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/id/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: id\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Akhir Pekan"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Peringatan"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Pandangan"
index 4995483..f25b807 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Mappa animata"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Località 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Località 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Località 4 mostra nome"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Località 5 mostra nome"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Località 4 id"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Località 5 id"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Novilunio"
index e9a94c5..669f18a 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Animowana mapa"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Lokalizacja 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Lokalizacja 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Wyświetlana nazwa lokalizacji 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Wyświetlana nazwa lokalizacji 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Lokalizacja 4 id"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Lokalizacja 5 id"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Księżyc w nowiu"
index 8ab99a9..96ab91b 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Mapa animado"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Localização 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Localização 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Nome a exibir de localização 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Nome a exibir de localização 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Id de localização 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Id de localização 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Lua Nova"
index 1243189..8f9cdf6 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Mapa animado"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Ubicación 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Ubicación 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Nombre a mostrar para ubicación 4"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Nombre a mostrar para ubicación 5"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Id de ubicación 4"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Id de ubicación 5"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Luna nueva"
index 866359c..ace068d 100644 (file)
@@ -88,6 +88,30 @@ msgctxt "#32126"
 msgid "Animated map"
 msgstr "Animerad karta"
 
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "Plats 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "Plats 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "Plats 4 visningsnamn"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "Plats 5 visningsnamn"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "Plats 4 id"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "Plats 5 id"
+
 msgctxt "#32501"
 msgid "New Moon"
 msgstr "Nymåne"
diff --git a/addons/weather.wunderground/resources/language/Tamil (India)/strings.po b/addons/weather.wunderground/resources/language/Tamil (India)/strings.po
new file mode 100644 (file)
index 0000000..fa9b06a
--- /dev/null
@@ -0,0 +1,173 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Tamil (India) (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/ta_IN/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: ta_IN\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "இருப்பிடம் அமைப்பு"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "கூடுதல் விருப்பங்கள்"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "இருப்பிடம் 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "இருப்பிடம் 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "இருப்பிடம் 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "இருப்பிடம் 1 காட்சி பெயர்"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "இருப்பிடம் 2 காட்சி பெயர்"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "இருப்பிடம் 3 காட்சி பெயர்"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "இருப்பிடம் 1 எண்"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "இருப்பிடம் 2 எண்"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "இருப்பிடம் 3 எண்"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "பதிவெடுத்தலை செயல்படுத்து"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "வார இறுதி"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "சனி/ஞாயிறு"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "வெள்ளி/சனி"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "வியாழன்/வெள்ளி"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "நிலப்படம் பெரிதாக்கு நிலை"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "அசைவூட்டபட்ட நிலப்படம்"
+
+msgctxt "#32127"
+msgid "Location 4"
+msgstr "இருப்பிடம் 4"
+
+msgctxt "#32128"
+msgid "Location 5"
+msgstr "இருப்பிடம் 5"
+
+msgctxt "#32129"
+msgid "Location 4 display name"
+msgstr "இருப்பிடம் 4 காட்சி பெயர்"
+
+msgctxt "#32130"
+msgid "Location 5 display name"
+msgstr "இருப்பிடம் 5 காட்சி பெயர்"
+
+msgctxt "#32131"
+msgid "Location 4 id"
+msgstr "இருப்பிடம் 4 எண்"
+
+msgctxt "#32132"
+msgid "Location 5 id"
+msgstr "இருப்பிடம் 5 எண்"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "அமாவாசை"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "வளர்பிறை"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "முதல் கால்பகுதி"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "வளர்பிறை"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "பௌர்ணமி"
+
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "தேய்பிறை"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "கடைசி கால்பகுதி"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "தேய்பிறை"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "எச்சரிக்கை"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "கண்காணிப்பு"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "ஆலோசனை"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "கூற்று"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "கண்ணோட்டம்"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "முன் அறிவிப்பு"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "தொகுப்பு"
index 4a26db5..97d7ee9 100644 (file)
@@ -116,6 +116,10 @@ msgctxt "#32507"
 msgid "Last Quarter"
 msgstr "Son Dördün"
 
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "Hilal"
+
 msgctxt "#32510"
 msgid "Warning"
 msgstr "Uyarı"
@@ -124,6 +128,14 @@ msgctxt "#32511"
 msgid "Watch"
 msgstr "İzle"
 
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Öneri"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Açıklama"
+
 msgctxt "#32514"
 msgid "Outlook"
 msgstr "Outlook"
@@ -131,3 +143,7 @@ msgstr "Outlook"
 msgctxt "#32515"
 msgid "Forecast"
 msgstr "Hava Tahmini"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Özet"
index 382b111..77b6121 100644 (file)
@@ -16,10 +16,86 @@ msgstr ""
 "Language: uk\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Налаштування місцевості"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Додаткові налаштування"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Місцевість 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Місцевість 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Місцевість 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Назва для показу Місцевості 1 "
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Назва для показу Місцевості 2 "
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Назва для показу Місцевості 3 "
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Ідентифікація Місцевості 1 "
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Ідентифікація Місцевості 2 "
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Ідентифікація Місцевості 3 "
+
 msgctxt "#32121"
 msgid "Weekend"
 msgstr "Вихідні"
 
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Субота/Неділя"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "П’ятниця/Субота"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Ступінь збільшення мапи"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Анімована мапа"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Новий місяць"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Перша чверть"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Повний місяць"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Остання чверть"
+
 msgctxt "#32510"
 msgid "Warning"
 msgstr "Увага"
diff --git a/addons/weather.wunderground/resources/language/Uzbek/strings.po b/addons/weather.wunderground/resources/language/Uzbek/strings.po
new file mode 100644 (file)
index 0000000..b8def18
--- /dev/null
@@ -0,0 +1,73 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Uzbek (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/uz/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: uz\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "O'rnashgan joy moslamalari"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Qo'shimcha parametrlar"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "O'rnashgan joy 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "O'rnashgan joy 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "O'rnashgan joy 3"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Dam olish kunlari"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Shanba/Yakshanba"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "Juma/Shanba"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "Payshanba/Juma"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Yangi oy"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Birinchi chorak"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "To'lgan oy"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Oxirgi chorak"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Ogohlantirish"
diff --git a/addons/weather.wunderground/resources/language/Vietnamese/strings.po b/addons/weather.wunderground/resources/language/Vietnamese/strings.po
new file mode 100644 (file)
index 0000000..3413d81
--- /dev/null
@@ -0,0 +1,149 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Vietnamese (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/vi/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: vi\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Thiết lập Chổ"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Các chức năng nâng cao"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Chổ 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Chổ 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Chổ 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Hiển thị tên của Chổ 1"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Hiển thị tên của Chổ 2"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Hiển thị tên của Chổ 3"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Mã địa điểm 1"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Mã địa điểm 2"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Mã địa điểm 3"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "Lưu lại báo cáo"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Cuối tuần"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Thứ bảy/Chủ Nhật"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "Thứ sáu/Thứ bảy"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "Thứ năm/Thứ sáu"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Bản đồ mức độ phóng"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Bản đồ di chuyển"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Tuần trăng mới"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "Trăng lưỡi liềm"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Quý đầu tiên"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "Trăng khuyết"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Trăng tròn"
+
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "Trăng khuyết"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Quý cuối cùng"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "Trăng lưỡi liềm"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Cảnh báo"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "Xem"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Lời khuyên"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Báo cáo"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Toàn cảnh"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "Dự báo"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Tóm tắt"
diff --git a/addons/weather.wunderground/resources/language/Welsh/strings.po b/addons/weather.wunderground/resources/language/Welsh/strings.po
new file mode 100644 (file)
index 0000000..85c81a6
--- /dev/null
@@ -0,0 +1,149 @@
+# XBMC Media Center language file
+# Addon Name: Weather Underground
+# Addon id: weather.wunderground
+# Addon Provider: Team XBMC
+msgid ""
+msgstr ""
+"Project-Id-Version: XBMC Main Translation Project (Frodo)\n"
+"Report-Msgid-Bugs-To: http://trac.xbmc.org/\n"
+"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: XBMC Translation Team\n"
+"Language-Team: Welsh (http://www.transifex.com/projects/p/XBMC-Main-Frodo/language/cy/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: cy\n"
+"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n"
+
+msgctxt "#32101"
+msgid "Location setup"
+msgstr "Gosod y lleoliad"
+
+msgctxt "#32102"
+msgid "Advanced options"
+msgstr "Dewisiadau uwch"
+
+msgctxt "#32111"
+msgid "Location 1"
+msgstr "Lleoliad 1"
+
+msgctxt "#32112"
+msgid "Location 2"
+msgstr "Lleoliad 2"
+
+msgctxt "#32113"
+msgid "Location 3"
+msgstr "Lleoliad 3"
+
+msgctxt "#32114"
+msgid "Location 1 display name"
+msgstr "Enw Dangos Lleoliad 1"
+
+msgctxt "#32115"
+msgid "Location 2 display name"
+msgstr "Enw Dangos Lleoliad 2"
+
+msgctxt "#32116"
+msgid "Location 3 display name"
+msgstr "Enw Dangos Lleoliad 3"
+
+msgctxt "#32117"
+msgid "Location 1 id"
+msgstr "Dynodiad Lleoliad 1"
+
+msgctxt "#32118"
+msgid "Location 2 id"
+msgstr "Dynodiad Lleoliad 2"
+
+msgctxt "#32119"
+msgid "Location 3 id"
+msgstr "Dynodiad Lleoliad 3"
+
+msgctxt "#32120"
+msgid "Enable logging"
+msgstr "Galluogi cofnodi"
+
+msgctxt "#32121"
+msgid "Weekend"
+msgstr "Penwythnos"
+
+msgctxt "#32122"
+msgid "Saturday/Sunday"
+msgstr "Sadwrn/Sul"
+
+msgctxt "#32123"
+msgid "Friday/Saturday"
+msgstr "Gwener/Sadwrn"
+
+msgctxt "#32124"
+msgid "Thursday/Friday"
+msgstr "Iau/Gwener"
+
+msgctxt "#32125"
+msgid "Map zoom level"
+msgstr "Lefel chwyddo map"
+
+msgctxt "#32126"
+msgid "Animated map"
+msgstr "Map wedi ei animeiddio"
+
+msgctxt "#32501"
+msgid "New Moon"
+msgstr "Lleuad Newydd"
+
+msgctxt "#32502"
+msgid "Waxing Crescent"
+msgstr "Lleuad ar ei Chynnydd"
+
+msgctxt "#32503"
+msgid "First Quarter"
+msgstr "Chwarter Cyntaf"
+
+msgctxt "#32504"
+msgid "Waxing Gibbous"
+msgstr "Cynnydd Lleuad Amgrwn"
+
+msgctxt "#32505"
+msgid "Full Moon"
+msgstr "Lleuad Llawn"
+
+msgctxt "#32506"
+msgid "Waning Gibbous"
+msgstr "Ciliad Lleuad Amgrwn"
+
+msgctxt "#32507"
+msgid "Last Quarter"
+msgstr "Chwarter Olaf"
+
+msgctxt "#32508"
+msgid "Waning Crescent"
+msgstr "Ciliad Cilgant Lleuad"
+
+msgctxt "#32510"
+msgid "Warning"
+msgstr "Rhybudd"
+
+msgctxt "#32511"
+msgid "Watch"
+msgstr "Gwylio"
+
+msgctxt "#32512"
+msgid "Advisory"
+msgstr "Awgrymiad"
+
+msgctxt "#32513"
+msgid "Statement"
+msgstr "Datganiad"
+
+msgctxt "#32514"
+msgid "Outlook"
+msgstr "Rhagolygon"
+
+msgctxt "#32515"
+msgid "Forecast"
+msgstr "Rhagolygon"
+
+msgctxt "#32516"
+msgid "Synopsis"
+msgstr "Crynodeb"
index 82a66bc..0f5bbbe 100644 (file)
@@ -8,11 +8,15 @@ __language__ = sys.modules[ "__main__" ].__language__
 #http://www.wunderground.com/weather/api/d/docs?d=language-support
         # xbmc lang name         # wu code
 LANG = { 'afrikaans'             : 'AF',
+         'albanian'              : 'AL',
+         'amharic'               : 'EN', # AM is n/a, use AR or EN? 
          'arabic'                : 'AR',
+         'azerbaijani'           : 'AZ',
          'basque'                : 'EU',
          'belarusian'            : 'BY',
          'bosnian'               : 'CR', # BS is n/a, use CR or SR? 
          'bulgarian'             : 'BU',
+         'burmese'               : 'MY',
          'catalan'               : 'CA',
          'chinese (simple)'      : 'CN',
          'chinese (traditional)' : 'TW',
@@ -24,6 +28,7 @@ LANG = { 'afrikaans'             : 'AF',
          'english (us)'          : 'EN',
          'esperanto'             : 'EO',
          'estonian'              : 'ET',
+         'faroese'               : 'DK', # FO is n/a, use DK
          'finnish'               : 'FI',
          'french'                : 'FR',
          'galician'              : 'GZ',
@@ -37,10 +42,16 @@ LANG = { 'afrikaans'             : 'AF',
          'italian'               : 'IT',
          'japanese'              : 'JP',
          'korean'                : 'KR',
+         'latvian'               : 'LV',
          'lithuanian'            : 'LT',
          'macedonian'            : 'MK',
+         'malay'                 : 'EN', # MS is n/a, use EN
+         'malayalam'             : 'EN', # ML is n/a, use EN
          'maltese'               : 'MT',
          'norwegian'             : 'NO',
+         'ossetic'               : 'EN', # OS is n/a, use EN
+         'persian'               : 'FA',
+         'persian (iran)'        : 'FA',
          'polish'                : 'PL',
          'portuguese'            : 'BR',
          'portuguese (brazil)'   : 'BR',
@@ -54,9 +65,14 @@ LANG = { 'afrikaans'             : 'AF',
          'spanish (argentina)'   : 'SP',
          'spanish (mexico)'      : 'SP',
          'swedish'               : 'SW',
+         'tamil (india)'         : 'EN', # TA is n/a, use EN
          'thai'                  : 'TH',
          'turkish'               : 'TU',
-         'ukrainian'             : 'UA'}
+         'ukrainian'             : 'UA',
+         'uzbek'                 : 'UZ',
+         'vietnamese'            : 'VU',
+         'vietnamese (viet nam)' : 'VU',
+         'welsh'                 : 'CY'}
 
 WEATHER_CODES = { 'chanceflurries'    : '41',
                   'chancerain'        : '39',
index 809b583..f69f1e2 100644 (file)
@@ -1,9 +1,10 @@
 # -*- coding: utf-8 -*-
 
-import urllib2, base64
+import urllib2, gzip, base64
+from StringIO import StringIO
 
 WAIK             = 'NDEzNjBkMjFkZjFhMzczNg=='
-WUNDERGROUND_URL = 'http://api.wunderground.com/api/KEY/%s/%s/q/%s.%s'
+WUNDERGROUND_URL = 'http://api.wunderground.com/api/%s/%s/%s/q/%s.%s'
 API_EXCLUDE      = ['hourly10day', 'yesterday', 'planner', 'webcams', 'animatedradar', 'animatedsatellite', 'currenthurricane']
 
 def wundergroundapi(features, settings, query, format):
@@ -33,12 +34,18 @@ def wundergroundapi(features, settings, query, format):
             return 'api access to %s restricted' % item
     if not settings:
         settings = 'lang:EN'
-    query = WUNDERGROUND_URL % (features, settings, query, format)
-    url = query.replace('KEY',(base64.b64decode(WAIK)[::-1]),1)
+    url = WUNDERGROUND_URL % (base64.b64decode(WAIK)[::-1], features, settings, query, format)
     try:
-        req = urllib2.urlopen(url)
-        response = req.read()
-        req.close()
+        req = urllib2.Request(url)
+        req.add_header('Accept-encoding', 'gzip')
+        response = urllib2.urlopen(req)
+        if response.info().get('Content-Encoding') == 'gzip':
+            buf = StringIO(response.read())
+            compr = gzip.GzipFile(fileobj=buf)
+            data = compr.read()
+        else:
+            data = response.read()
+        response.close()
     except:
-        response = ''
-    return response
+        data = ''
+    return data
index 33dfdd5..6318c21 100644 (file)
@@ -4,9 +4,13 @@
                <setting id="Location1" label="32111" type="action" action="RunScript($ID,Location1)" default=""/>
                <setting id="Location2" label="32112" type="action" action="RunScript($ID,Location2)" enable="!eq(-1,)" default=""/>
                <setting id="Location3" label="32113" type="action" action="RunScript($ID,Location3)" enable="!eq(-1,)" default=""/>
+               <setting id="Location4" label="32127" type="action" action="RunScript($ID,Location4)" enable="!eq(-1,)" default=""/>
+               <setting id="Location5" label="32128" type="action" action="RunScript($ID,Location5)" enable="!eq(-1,)" default=""/>
                <setting id="Location1id" type="text" visible="false" default=""/>
                <setting id="Location2id" type="text" visible="false" default=""/>
                <setting id="Location3id" type="text" visible="false" default=""/>
+               <setting id="Location4id" type="text" visible="false" default=""/>
+               <setting id="Location5id" type="text" visible="false" default=""/>
        </category>
        <category label="32102">
                <setting id="Location1" label="32114" type="text" default=""/>
                <setting id="Location3" label="32116" type="text" enable="!eq(-3,)" default=""/>
                <setting id="Location3id" label="32119" type="text" subsetting="true" enable="!eq(-3,)" default=""/>
                <setting type="sep"/>
+               <setting id="Location4" label="32129" type="text" enable="!eq(-3,)" default=""/>
+               <setting id="Location4id" label="32131" type="text" subsetting="true" enable="!eq(-3,)" default=""/>
+               <setting type="sep"/>
+               <setting id="Location5" label="32130" type="text" enable="!eq(-3,)" default=""/>
+               <setting id="Location5id" label="32132" type="text" subsetting="true" enable="!eq(-3,)" default=""/>
+               <setting type="sep"/>
                <setting id="Zoom" label="32125" type="slider" option="int" range="1,100"  default="10"/>
                <setting id="Animate" label="32126" type="bool" default="false"/>
                <setting id="Weekend" label="32121" type="enum" lvalues="32122|32123|32124" default="0"/>