i18n date: abbreviazioni giorni localizzate (context Tide) in calendario, eventi e tooltip

This commit is contained in:
2026-09-02 12:50:04 +02:00
parent e9154f6eef
commit 60c777e650
5 changed files with 42 additions and 6 deletions
+3 -3
View File
@@ -169,8 +169,8 @@ function fmtHM(t) {
} }
// Formato data breve // Formato data breve
function fmtDate(t) { function fmtDate(t, dn) {
var d = new Date(t); var d = new Date(t);
var giorni = ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"]; var days = dn || ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"];
return giorni[d.getDay()] + " " + (d.getDate() < 10 ? "0" : "") + d.getDate() + "/" + ((d.getMonth() + 1) < 10 ? "0" : "") + (d.getMonth() + 1); return days[d.getDay()] + " " + (d.getDate() < 10 ? "0" : "") + d.getDate() + "/" + ((d.getMonth() + 1) < 10 ? "0" : "") + (d.getMonth() + 1);
} }
+9 -1
View File
@@ -8,6 +8,14 @@ Page {
property var port property var port
// abbreviazioni giorni localizzate (context unico "Tide")
property var dayNames: [
qsTranslate("Tide", "Sun"), qsTranslate("Tide", "Mon"),
qsTranslate("Tide", "Tue"), qsTranslate("Tide", "Wed"),
qsTranslate("Tide", "Thu"), qsTranslate("Tide", "Fri"),
qsTranslate("Tide", "Sat")
]
SilicaListView { SilicaListView {
id: list id: list
anchors.fill: parent anchors.fill: parent
@@ -82,7 +90,7 @@ Page {
for (var g = 0; g < 30; g++) { for (var g = 0; g < 30; g++) {
var d = new Date(now.getFullYear(), now.getMonth(), now.getDate() + g) var d = new Date(now.getFullYear(), now.getMonth(), now.getDate() + g)
var ex = Tides.extrema(port, d, 1) var ex = Tides.extrema(port, d, 1)
dayModel.append({ isDay: true, day: Tides.fmtDate(d.getTime()), dayModel.append({ isDay: true, day: Tides.fmtDate(d.getTime(), page.dayNames),
time: "", kind: "", height: "" }) time: "", kind: "", height: "" })
for (var i = 0; i < ex.length; i++) { for (var i = 0; i < ex.length; i++) {
dayModel.append({ isDay: false, day: "", dayModel.append({ isDay: false, day: "",
+10 -2
View File
@@ -69,7 +69,7 @@ Page {
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
eventsModel.append({ eventsModel.append({
kind: ex[i].kind, kind: ex[i].kind,
date: Tides.fmtDate(ex[i].t), date: Tides.fmtDate(ex[i].t, page.dayNames),
time: Tides.fmtHM(ex[i].t), time: Tides.fmtHM(ex[i].t),
height: Tides.fmtH(ex[i].h, unit) height: Tides.fmtH(ex[i].h, unit)
}) })
@@ -101,6 +101,14 @@ Page {
qsTr("Full moon"), qsTr("Waning gibbous"), qsTr("Last quarter"), qsTr("Waning crescent") qsTr("Full moon"), qsTr("Waning gibbous"), qsTr("Last quarter"), qsTr("Waning crescent")
] ]
// abbreviazioni giorni localizzate (context unico "Tide")
property var dayNames: [
qsTranslate("Tide", "Sun"), qsTranslate("Tide", "Mon"),
qsTranslate("Tide", "Tue"), qsTranslate("Tide", "Wed"),
qsTranslate("Tide", "Thu"), qsTranslate("Tide", "Fri"),
qsTranslate("Tide", "Sat")
]
SilicaFlickable { SilicaFlickable {
id: flick id: flick
anchors.fill: parent anchors.fill: parent
@@ -203,7 +211,7 @@ Page {
onClicked: { onClicked: {
var t = page.port ? Tides.tide(page.port, new Date(nowBase + (mouse.x / width) * (page.days * 86400000))) : 0 var t = page.port ? Tides.tide(page.port, new Date(nowBase + (mouse.x / width) * (page.days * 86400000))) : 0
var d = new Date(nowBase + (mouse.x / width) * (page.days * 86400000)) var d = new Date(nowBase + (mouse.x / width) * (page.days * 86400000))
tip.text = Tides.fmtDate(d.getTime()) + " " + Tides.fmtHM(d.getTime()) + " → " + Tides.fmtH(t, page.unit) tip.text = Tides.fmtDate(d.getTime(), page.dayNames) + " " + Tides.fmtHM(d.getTime()) + " → " + Tides.fmtH(t, page.unit)
tip.visible = true tip.visible = true
tipTimer.restart() tipTimer.restart()
} }
+10
View File
@@ -74,4 +74,14 @@
<name>CalendarPage</name> <name>CalendarPage</name>
<message><source>Next 30 days — high and low tides</source><translation type="unfinished"></translation></message> <message><source>Next 30 days — high and low tides</source><translation type="unfinished"></translation></message>
</context> </context>
<context>
<name>Tide</name>
<message><source>Sun</source><translation type="unfinished"></translation></message>
<message><source>Mon</source><translation type="unfinished"></translation></message>
<message><source>Tue</source><translation type="unfinished"></translation></message>
<message><source>Wed</source><translation type="unfinished"></translation></message>
<message><source>Thu</source><translation type="unfinished"></translation></message>
<message><source>Fri</source><translation type="unfinished"></translation></message>
<message><source>Sat</source><translation type="unfinished"></translation></message>
</context>
</TS> </TS>
+10
View File
@@ -74,4 +74,14 @@
<name>CalendarPage</name> <name>CalendarPage</name>
<message><source>Next 30 days — high and low tides</source><translation>Prossimi 30 giorni — alte e basse maree</translation></message> <message><source>Next 30 days — high and low tides</source><translation>Prossimi 30 giorni — alte e basse maree</translation></message>
</context> </context>
<context>
<name>Tide</name>
<message><source>Sun</source><translation>Dom</translation></message>
<message><source>Mon</source><translation>Lun</translation></message>
<message><source>Tue</source><translation>Mar</translation></message>
<message><source>Wed</source><translation>Mer</translation></message>
<message><source>Thu</source><translation>Gio</translation></message>
<message><source>Fri</source><translation>Ven</translation></message>
<message><source>Sat</source><translation>Sab</translation></message>
</context>
</TS> </TS>