Seite 1 von 1

Mehrsprachigkeit bei Variablen für Zeitdauer-Angaben

Verfasst: 07 Jun 2006 19:52
von WS-Mijas
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ß.

Verfasst: 07 Jun 2006 23:08
von Werner
@Bernd,

ich würde dafür die Variable Zeichen ersetzen verwenden:
%ws_replacestr=alttext1~neutext2~text%
Beispiele:
%ws_replacestr=:~ ~00:24% ersetzt ":" in der Uhrzeit durch ein Leerzeichen
%ws_replacestr=/~:~00/39% ersetzt "/" durch ":"

Werner

Danke! Aus "T" soll "d" werden ist gelö

Verfasst: 08 Jun 2006 08:06
von WS-Mijas
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?

Verfasst: 08 Jun 2006 09:25
von weneu
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:
Mondalter: 11 Tage, 8 Stunden, 22 Minuten
11 days, 8 Stunden, 22 Minuten

11 Tage, 8 hours, 22 Minuten
11 Tage, 8 Stunden, 22 minutes
Und nun könnte man versuchen (habe im Moment die Zeit nicht, es zu testen), mit der Variablen
%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.

Viel Aufwand für drei Wort-Auswechslungen

Verfasst: 08 Jun 2006 11:24
von WS-Mijas
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%.

Zeitdauer-Variable mit Fremdsprachen-Kennziffern, jetzt da!

Verfasst: 29 Jun 2006 14:01
von WS-Mijas
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.

Ausgabe von 'ws_infomoonsun'

Verfasst: 28 Jul 2007 18:28
von JueSt
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.