An die Variablen-Spezialisten, Holli? Werner? Werner?
Grüß Gott!
In meinen englisch- und spanisch-sprachigen custom-xx.htmls:
http://www.calahonda-info.net/Wetter/ht ... om-uk.html
http://www.calahonda-info.net/Wetter/ht ... om-us.html
http://www.calahonda-info.net/Wetter/ht ... om-es.html
und im Wetter-Ticker verwende ich auch die Variablen %ws_desert_durations% und %ws_iceday_durations% mit der die Trockenheitsdauer bzw. die Frostdauer in Kurzform ausgegeben wird. OK, sie schreibt heute bei mir z.B. 5 T, 10 h, 1 min., das paßt für Englisch und Spanisch nur zu zwei Dritteln, denn das "T" müßte durch ein "d" ersetzt werden (day bzw. dia). Aber mit den Sprach-Kennziffern [1] und [6] für Englisch bzw. Spanisch geht da nichts. Die Variablen %ws_desert_duration% und %ws_iceday_duration% kann ich erst recht nicht verwenden, denn die schreiben alles im langen Klartext z.B.: 5 Tage, 10 Stunden, 1 Minute.
Mit der gleichen „Einsprachigkeit“ sind auch die Variablen %ws_moonage% und allen Artverwandten eingeschränkt.
Wie würdet Ihr Euch da helfen, ohne dass daraus ein aufwendiges Kunstwerk werden muß?
Es hat keine Dringlichkeit, denn mit diesem kleinen Schönheitsfehler kann ich leben und bisher hat sich noch kein Engländer oder Spanier bei mir beschwert, dass er mit einem „T“ nichts anzufangen weiß.
Mehrsprachigkeit bei Variablen für Zeitdauer-Angaben
Moderatoren: Werner, Tex, weneu
-
WS-Mijas
Danke! Aus "T" soll "d" werden ist gelö
Guten Tag Werner (Kr.),
danke für die schnelle Antwort zu später/früher Stunde.
Gleich habe ich Deinen Vorschlag angewendet. Bei der Trockenheitsvariablen habe ich es so:
%ws_replacestr=T~d~%ws_desert_durations%% gemacht
und bei der Frostdauer so:
%ws_replacestr=T~d~%ws_iceday_durations%% und es klappt. Prima, WSWin hat wieder einmal eine elegante, unkomplizierte Lösung parat.
Bei der Mondalter-Variablen %ws_moonage% habe ich aber die Schwierigkeit, dass gleich drei Strings am Stück verändert werden müssen, und die dann auch noch kombiniert für Einzahl und Mehrzahl, ich meine:
aus Tag -> day bzw. Tage -> days
aus Stunde -> hour bzw. Stunden -> hours
aus Minute -> minute bzw. Minuten -> minutes
Das kriege ich syntaktisch mit der replace-Methode nicht hin, weil ich nur den ersten String ändern kann, wie z.B.:
%ws_replacestr=Tag~day~%ws_moonage%% --- oder gibt es da einen Verschachtelungstrick, den ich noch nicht sehe?
danke für die schnelle Antwort zu später/früher Stunde.
Gleich habe ich Deinen Vorschlag angewendet. Bei der Trockenheitsvariablen habe ich es so:
%ws_replacestr=T~d~%ws_desert_durations%% gemacht
und bei der Frostdauer so:
%ws_replacestr=T~d~%ws_iceday_durations%% und es klappt. Prima, WSWin hat wieder einmal eine elegante, unkomplizierte Lösung parat.
Bei der Mondalter-Variablen %ws_moonage% habe ich aber die Schwierigkeit, dass gleich drei Strings am Stück verändert werden müssen, und die dann auch noch kombiniert für Einzahl und Mehrzahl, ich meine:
aus Tag -> day bzw. Tage -> days
aus Stunde -> hour bzw. Stunden -> hours
aus Minute -> minute bzw. Minuten -> minutes
Das kriege ich syntaktisch mit der replace-Methode nicht hin, weil ich nur den ersten String ändern kann, wie z.B.:
%ws_replacestr=Tag~day~%ws_moonage%% --- oder gibt es da einen Verschachtelungstrick, den ich noch nicht sehe?
- weneu
- Site Admin
- Beiträge: 11572
- Registriert: 22 Feb 2002 01:00
- Wohnort: Donauwörth
- Danksagung erhalten: 18 mal
- Kontaktdaten:
Hallo Bernd,
ich fürchte, man bricht sich hier alle Finger. Ein Ansatz wäre:
Mondalter: %ws_moonage%<br>
%ws_setmem[60]=%ws_replacestr=Tage~days~%ws_moonage%%<br>
%ws_getmem[60]%<br>
%ws_setmem[61]=%ws_replacestr=Stunden~hours~%ws_moonage%%
%ws_getmem[61]%<br>
%ws_setmem[62]=%ws_replacestr=Minuten~minutes~%ws_moonage%%<br>
Das brächte dann z.B. folgendes Ergebnis:
%ws_cutstr=Start~Anzahl~Text%
die getmem-Variablen zu "zerlegen". Vermutlich wird es aber daran scheitern, dass der String nicht immer gleich lang ist.
Und dann bleibt immer noch das Problem mit Einzahl/Mehrzahl, nämlich "Stunde - Stunden" usw.
Ob der Aufwand dafür steht, weiß ich nicht.
Ein kürzerer Ansatz wäre:
%ws_setmem[60]=%ws_replacestr=Tage~days~%ws_moonage%%<br>
%ws_setmem[61]=%ws_replacestr=Stunden~hours~%ws_getmem[60]%%
%ws_setmem[62]=%ws_replacestr=Minuten~minutes~%ws_getmem[61]%%<br>
Mondalter neu: %ws_getmem[60]%%ws_getmem[61]%%ws_getmem[62]%<br>
aber das scheint nicht zu funktionieren, wenn eine ws_getmem erneut ausgewertet werden soll.
ich fürchte, man bricht sich hier alle Finger. Ein Ansatz wäre:
Mondalter: %ws_moonage%<br>
%ws_setmem[60]=%ws_replacestr=Tage~days~%ws_moonage%%<br>
%ws_getmem[60]%<br>
%ws_setmem[61]=%ws_replacestr=Stunden~hours~%ws_moonage%%
%ws_getmem[61]%<br>
%ws_setmem[62]=%ws_replacestr=Minuten~minutes~%ws_moonage%%<br>
Das brächte dann z.B. folgendes Ergebnis:
Und nun könnte man versuchen (habe im Moment die Zeit nicht, es zu testen), mit der VariablenMondalter: 11 Tage, 8 Stunden, 22 Minuten
11 days, 8 Stunden, 22 Minuten
11 Tage, 8 hours, 22 Minuten
11 Tage, 8 Stunden, 22 minutes
%ws_cutstr=Start~Anzahl~Text%
die getmem-Variablen zu "zerlegen". Vermutlich wird es aber daran scheitern, dass der String nicht immer gleich lang ist.
Und dann bleibt immer noch das Problem mit Einzahl/Mehrzahl, nämlich "Stunde - Stunden" usw.
Ob der Aufwand dafür steht, weiß ich nicht.
Ein kürzerer Ansatz wäre:
%ws_setmem[60]=%ws_replacestr=Tage~days~%ws_moonage%%<br>
%ws_setmem[61]=%ws_replacestr=Stunden~hours~%ws_getmem[60]%%
%ws_setmem[62]=%ws_replacestr=Minuten~minutes~%ws_getmem[61]%%<br>
Mondalter neu: %ws_getmem[60]%%ws_getmem[61]%%ws_getmem[62]%<br>
aber das scheint nicht zu funktionieren, wenn eine ws_getmem erneut ausgewertet werden soll.
-
WS-Mijas
Viel Aufwand für drei Wort-Auswechslungen
Guten Tag Werner (weneu),
danke, daß Du Dir soviel Mühe gemacht hast.
Da gebe ich Dir recht. Der Aufwand ist schon gewaltig und ich müßte das ja auch noch für die zweite Sprache dazu setzen.
Da glaube ich, daß es besser ist wenn wir warten, bis es vielleicht doch auch für diese Variable Sprachkennziffern [1] bzw. [2] geben wird und dazu auch noch eine Kurzform wie z.B. %ws_moonages%.
danke, daß Du Dir soviel Mühe gemacht hast.
Da gebe ich Dir recht. Der Aufwand ist schon gewaltig und ich müßte das ja auch noch für die zweite Sprache dazu setzen.
Da glaube ich, daß es besser ist wenn wir warten, bis es vielleicht doch auch für diese Variable Sprachkennziffern [1] bzw. [2] geben wird und dazu auch noch eine Kurzform wie z.B. %ws_moonages%.
-
WS-Mijas
Zeitdauer-Variable mit Fremdsprachen-Kennziffern, jetzt da!
Hallo WSWin32-Freunde,
zum oben abgehandelten Thema, hier eine erfreuliche Neuerung:
In der z.Zt. verfügbaren neuesten Test-Version von WSWin32 V2.92.6 und wohl auch in allen zukünftigen offiziellen Versionen gibt es jetzt die anschließend aufgeführten Zeitdauer-Variablen auch für sechs Fremdsprachen mit Hilfe der Fremdsprachen-Kennziffern.
Wie schon bisher sind die Variablen mit Fremdsprachen-Kennziffer in eckigen [] Klammern immer mit einem führenden „#“-Zeichen gekennzeichnet, das natürlich bei der Einbindung der Variablen weggelassen werden muß.
Hier eine Liste (Auszug aus der neuen custom_.txt):
Frostzeiten:
Dauer Frostzeit #%ws_iceday_duration[1]% ---Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Dauer Frostzeit(kurz) #%ws_iceday_durations[1]% --- Ausgabe-Beispiel: 2 D, 5 h, 31 m
Dauer längster Frost #%LT_IceDayDuration[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Trockenzeiten:
ohne Regen seit #%ws_desert_duration[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
ohne Regen seit (kurz) #%ws_desert_durations[1]% --- Ausgabe-Beispiel: 2 D, 5 h, 31 m
Dauer ohne Regen (Addition aller regenfreien Zeiten eines Jahres) #%LT_NoRainDuration[1]%
Ausgabe-Beispiel: 112 days, 5 hours, 31 minutes
Mond/Sonnen-Daten:
Mondalter #%ws_moonage[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Info Mond/Sonne #%ws_infomoonsun[1]%
Ausgabe-Beispiel: The moon-/sun dates refer onto the position coordinates of 48° 30' 27" North - 10° 43' 59" East
Danke Werner (Krenn) für diese zusätzliche Erleichterung bei der Einbindung von Variablen mit der Ausgabe von Zeitangaben in fremden Sprachen.
zum oben abgehandelten Thema, hier eine erfreuliche Neuerung:
In der z.Zt. verfügbaren neuesten Test-Version von WSWin32 V2.92.6 und wohl auch in allen zukünftigen offiziellen Versionen gibt es jetzt die anschließend aufgeführten Zeitdauer-Variablen auch für sechs Fremdsprachen mit Hilfe der Fremdsprachen-Kennziffern.
Wie schon bisher sind die Variablen mit Fremdsprachen-Kennziffer in eckigen [] Klammern immer mit einem führenden „#“-Zeichen gekennzeichnet, das natürlich bei der Einbindung der Variablen weggelassen werden muß.
Hier eine Liste (Auszug aus der neuen custom_.txt):
Frostzeiten:
Dauer Frostzeit #%ws_iceday_duration[1]% ---Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Dauer Frostzeit(kurz) #%ws_iceday_durations[1]% --- Ausgabe-Beispiel: 2 D, 5 h, 31 m
Dauer längster Frost #%LT_IceDayDuration[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Trockenzeiten:
ohne Regen seit #%ws_desert_duration[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
ohne Regen seit (kurz) #%ws_desert_durations[1]% --- Ausgabe-Beispiel: 2 D, 5 h, 31 m
Dauer ohne Regen (Addition aller regenfreien Zeiten eines Jahres) #%LT_NoRainDuration[1]%
Ausgabe-Beispiel: 112 days, 5 hours, 31 minutes
Mond/Sonnen-Daten:
Mondalter #%ws_moonage[1]% --- Ausgabe-Beispiel: 2 days, 5 hours, 31 minutes
Info Mond/Sonne #%ws_infomoonsun[1]%
Ausgabe-Beispiel: The moon-/sun dates refer onto the position coordinates of 48° 30' 27" North - 10° 43' 59" East
Danke Werner (Krenn) für diese zusätzliche Erleichterung bei der Einbindung von Variablen mit der Ausgabe von Zeitangaben in fremden Sprachen.
-
JueSt
Ausgabe von 'ws_infomoonsun'
Hallo Werner,
kannst Du das Ausgabeformat von den Koordinaten in 'ws_infomoonsun' an die von 'ws_remark1' anpassen (sprich für ["] sollte 2*['] ausgegeben werden)? Dann kann man diese Variable auch mit PHP in eine dynamisch HTML-Seite einbinden.
kannst Du das Ausgabeformat von den Koordinaten in 'ws_infomoonsun' an die von 'ws_remark1' anpassen (sprich für ["] sollte 2*['] ausgegeben werden)? Dann kann man diese Variable auch mit PHP in eine dynamisch HTML-Seite einbinden.