Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

[dreamboard]BoxerHD wetter auf deutsch+animated weather ändern
#1

hallo
ich habe das dreamboard theme boxerHD hier. ich wollte nun das wetter mal auf deutsch sehen. wie stelle ich das an? hier der function code:
Code:
/*

==========================
Endroid Weather Widget
==========================

Wynd.

*/
//localStorage.setItem("zip", 77429)
window.onload = onLoad;
var MiniIcons =["tstorm3","tstorm3","tstorm3","tstorm3","tstorm2","sleet","sleet","sleet","sleet","light_rain","sleet","shower2","shower2","snow1","snow2","snow4","snow4","hail","sleet","mist","fog","fog","fog","cloudy1","cloudy1","overcast","cloudy1","cloudy4_night","cloudy4","cloudy2_night","cloudy2","sunny_night","sunny","fair_night","fair","hail","sunny","tstorm1","tstorm2","tstorm2","tstorm2","snow5","snow3","snow5","cloudy1","storm1","snow2","tstorm1","dunno"];
var locale;
var updateInterval = 10;
var postal;
document.ontouchmove = function(event) {
    event.preventDefault();
}
function getDate(){
    //gets the date
    var ma = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(/\s/);
    var da = "Sun Mon Tue Wed Thu Fri Sat".split(/\s/);
    return da[new Date().getDay()] + ", " + ma[new Date().getMonth()] + " " + (new Date().getDate()<10?("0" + new Date().getDate()):new Date().getDate());
}
function getTime(){
    //gets the time
    var d = new Date();
    return (d.getHours()>=10?(d.getHours()>12?((d.getHours()-12)>=10?(d.getHours()-12):("0"+(d.getHours()-12))):d.getHours()):"0"+d.getHours())+":"+(d.getMinutes()>=10?d.getMinutes():"0"+d.getMinutes())+(d.getHours()>=12?"PM":"AM");
}
function updateClock(){
    //updates the flip clock
    var s = getTime();
    if(s.charAt(0)=='0'){
        document.getElementById("clock1").innerHTML = "<img width = '24'/><img width='57' heigth='74' src = 'Images/dg" + s.charAt(1) + ".gif' />";
    }else{
        document.getElementById("clock1").innerHTML = "<img width='57' heigth='74' src = 'Images/dg" + s.charAt(0) + ".gif' />" + "<img width='57' heigth='74' src = 'Images/dg" + s.charAt(1) + ".gif' />";
    }
    document.getElementById("clock2").innerHTML = "<img width='57' heigth='74' src = 'Images/dg" + s.charAt(3) + ".gif' />" + "<img width='57' heigth='74' src = 'Images/dg" + s.charAt(4) + ".gif' />";
    document.getElementById("apm").innerHTML = s.substring(5);
    var d = new Date();
    document.getElementById("date").innerText=getDate();
    setTimeout("updateClock()",1000*(60-(d.getSeconds())));
}
function checkZip(){
    //see if zipcode is still the same, otherwise reload the weather
    if(localStorage.getItem("zip")!=locale){
        onLoad();
    }else{
        setTimeout(checkZip, 500);
    }
}
function onLoad(){
    //loads all images of the clock
    for(var i=0; i<10; i++){
       img = new Image();
       img.src = "Images/dg" + i + ".gif";
    }
    if(localStorage.getItem("zip")==null)
        //if no zip code, then try again later
        setTimeout(onLoad, 500);
    else{
        //sets based on the localstorage cache
        document.getElementById("city").innerText=localStorage.getItem("cachecity");
        document.getElementById("desc").innerText=localStorage.getItem("cachedesc");
        document.getElementById("temp").innerText=localStorage.getItem("cachetemp");
        document.getElementById("high").innerText=localStorage.getItem("cachehigh");
        document.getElementById("low").innerText=localStorage.getItem("cachelow");
        document.getElementById("weatherIcon").src=localStorage.getItem("cacheicon");
        //sets zipcode to the localstorage value
        locale= localStorage.getItem("zip");
        //icon animation
        document.getElementById('icon').style.webkitTransform='scale(0)';
        document.getElementById('icon').style.opacity=0;
        //gets the weather
        validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal);
        updateClock();
        //animation
        setTimeout("document.getElementById('icon').style.webkitTransform='scale(1)';",500);
        setTimeout("document.getElementById('icon').style.opacity=1;",500);
        //checks to see if the zip was changed
        checkZip();
    }
}
function setPostal(obj){    
    if (obj.error == false){
        if(obj.cities.length > 0){
            postal = escape(obj.cities[0].zip).replace(/^%u/g, "%");
            weatherRefresherTemp();
        }else{
            document.getElementById("city").innerText="Not Found";
        }
    }else{
        document.getElementById("city").innerText=obj.errorString;
        setTimeout('validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal)', Math.round(1000*60*5));
    }
}
function dealWithWeather(obj){
    document.getElementById("city").innerText=obj.city;
    document.getElementById("desc").innerText=obj.description;
    document.getElementById("temp").innerText=obj.temp+"º";
    document.getElementById("high").innerText="H:"+obj.high+"º";
    document.getElementById("low").innerText="L:"+obj.low+"º";
    document.getElementById("weatherIcon").src="/private/var/mobile/Library/DreamBoard/BoxorHD/Widgets/LiveWeather/Images/Icons"+"/"+MiniIcons[obj.icon]+".png";
    //stores cache values
    localStorage.setItem("cachecity", obj.city);
    localStorage.setItem("cachedesc", obj.description);
    localStorage.setItem("cachetemp", (obj.temp+"º"));
    localStorage.setItem("cachehigh", ("H:"+obj.high+"º"));
    localStorage.setItem("cachelow", ("L:"+obj.low+"º"));
    localStorage.setItem("cacheicon",("/private/var/mobile/Library/DreamBoard/BoxorHD/Widgets/LiveWeather/Images/Icons"+"/"+MiniIcons[obj.icon]+".png"));    
}
function weatherRefresherTemp(){
    fetchWeatherData(dealWithWeather,postal);
    setTimeout(onLoad, 60*1000*updateInterval);
}
function constructError (string)
{
    return {error:true, errorString:string};
}
function findChild (element, nodeName)
{
    var child;
    for (child = element.firstChild; child != null; child = child.nextSibling)
    {
        if (child.nodeName == nodeName)
            return child;
    }
    return null;
}
function fetchWeatherData (callback, zip)
{
    url="http://weather.yahooapis.com/forecastrss?u=c&p=";
    var xml_request = new XMLHttpRequest();
    xml_request.onload = function(e) {xml_loaded(e, xml_request, callback);}
    xml_request.overrideMimeType("text/xml");
    xml_request.open("GET", url+zip);
    xml_request.setRequestHeader("Cache-Control", "no-cache");
    xml_request.send(null);
    return xml_request;
}
function xml_loaded (event, request, callback)
{
    if (request.responseXML)
    {
        var obj = {error:false, errorString:null};
        var effectiveRoot = findChild(findChild(request.responseXML, "rss"), "channel");
        obj.city = findChild(effectiveRoot, "yweather:location").getAttribute("city");
        obj.realFeel = findChild(effectiveRoot, "yweather:wind").getAttribute("chill");     
        conditionTag = findChild(findChild(effectiveRoot, "item"), "yweather:condition");
        obj.temp = conditionTag.getAttribute("temp");
        obj.icon = conditionTag.getAttribute("code");
        obj.description = conditionTag.getAttribute("text");
        var div = document.createElement("div");
        div.innerHTML = request.responseText;
        var list = div.getElementsByTagName("yweather:forecast");
        // high and low, from yahoo weather
        obj.high = list[0].getAttribute("high");
        obj.low = list[0].getAttribute("low");
        callback (obj);
    }else{
        callback ({error:true, errorString:"XML request failed. no responseXML"});
    }
}
function validateWeatherLocation (location, callback)
{
    var obj = {error:false, errorString:null, cities: new Array};
    obj.cities[0] = {zip: location};
    callback (obj);
}

dann wollte ich noch wissen, ob man i-wie es einstellen kann, das beim animated weather die wolken etc langsamer laufen

mfg
Zitieren
#2

Versuchs mal mit der funktions.js.
Bei mir is das aber nicht animiert.

Org. Sichern!

https://iszene.com/uploads/bfztpv35j2174bx2k12.rar

Zitieren
#3

die animation habe ich ausgeschaltet. jetzt fehlt mir nurnoch das wetter auf deutsch

jmd ne idee?
Zitieren
#4


Die funktions.js mit deutscher Übersetzung hab ich dir doch oben hochgeladen.
Einfach mit deiner tauschen. Deine aber vorher Sichern.
Zitieren
#5

ich idiot Biggrin

hatte gedacht, es währe die js für das nicht animierte wetter

danke danke danke. funktioniert
Zitieren
#6

NOCH EINE FRAGE:

wenn ich animiertes wetter an habe, funktioniert es zwar, aber ich mag dieses dauerschleifenaussehen nicht. das heißt.

wenn es regnet, fallen die tropfen für ca 5sek, dann hört es auf und dann beginnt das ganze von vorne. ich würde gerne ne dauerschleife von regen haben, ohne das aufhören.
genau das gleiche mit den anderen sachen wie wolken. da kommen 2 wolken, verschwinden und kommen nach 2 sekunden wieder. ich würde es aber gerne haben, das man nicht merkt, das sie verschwinden, das sozusagen dauerhaft wolken im hintergrund fliegen.

http://www.mediafire.com/?7ux5prgymgepzsy

hier der animated weather ordner, mit den bildern und den config dateien für das wetter

mfg
Zitieren
#7

Ich steh jetzt gerade auf dem Schlauch.
Wie aktivierst du denn das animierte Wetter?
Zitieren
#8

aktivieren bzw deaktiviren, kann man es indem man in der current.plist bei <key>AnimatedWeather</key>
einfach
<key>AnimatedWeatherOFF</key>

schreibt.


hat jmd ne lösung für mich, wie ich das animierte wetter in den vordergrund schieben kann, sodas die animatin vor den icons ist und nicht dahinter
Zitieren
#9

Bei mir geht das animierte wetter garnicht.
<key>AnimatedWeatherOFF</key> - hier muß ich ja "OFF" nur eintragen wenn ich es deaktivieren will.

Hast du da ne andere .plist?
Zitieren
#10

is dir origninal plist
ja ohne das OFF is es aktiviert
mit OFF deaktiviert

edit:

so, mein problem mit dem animierten wetter hinter den icons is auch behobenBiggrinLaughLaugh
Zitieren
#11

mir ist gerade aufgefallen, das animierte wetter kann man ausstellen indem man beim wetter widget links unten in die eke und der L. ° drückt (einfach ins leere)

coole sache
Zitieren
#12

Danke, darauf muß man erstmal kommen.
Wie hast du denn dein Problem jetzt gelöst?
Zitieren
#13

in der current.plist das hier suchen:

Code:
insertview AnimatedWeather below ScrollView
und durch
Code:
insertview AnimatedWeather above ScrollView

ersetzten und fertigLaugh

Zitieren


Möglicherweise verwandte Themen…
Thema / Verfasser Antworten Ansichten Letzter Beitrag
Letzter Beitrag von rita111
10.07.2011, 19:24



Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste