0.4.11: slider margini rimossi dalle Impostazioni (resta il dialog nel lettore); margini alto/basso strutturali — finestra di lettura dentro i margini, identici su ogni pagina
This commit is contained in:
+31
-71
@@ -41,24 +41,10 @@ Page {
|
||||
|
||||
allowedOrientations: Orientation.All
|
||||
|
||||
// Sfondo di lettura UNIFORME (invece del gradiente di sistema): le fasce
|
||||
// dei margini usano questo stesso colore, quindi margine e sfondo sono
|
||||
// indistinguibili su ogni pagina (niente bande visibili, niente testo
|
||||
// "coperto" percepibile: le righe spariscono nel margine).
|
||||
property color readerBgColor: Theme.colorScheme === Theme.LightOnDark
|
||||
? "#FF0E0E0E" : "#FFFFFFFF"
|
||||
|
||||
EpubBook {
|
||||
id: book
|
||||
}
|
||||
|
||||
// sfondo pieno del lettore, dietro tutto il resto
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
z: -1
|
||||
color: page.readerBgColor
|
||||
}
|
||||
|
||||
SilicaFlickable {
|
||||
id: outerFlick
|
||||
anchors.fill: parent
|
||||
@@ -156,10 +142,18 @@ Page {
|
||||
}
|
||||
}
|
||||
|
||||
// contenuto: Flickable NON interattivo (lo scroll è solo programmatico)
|
||||
// contenuto: Flickable NON interattivo (lo scroll è solo programmatico).
|
||||
// La finestra di lettura VIVE DENTRO i margini verticali (top/bottom
|
||||
// margin): il testo non puo' fisicamente uscire dai bordi, quindi i
|
||||
// margini alto/basso sono identici su OGNI pagina (non solo a inizio
|
||||
// capitolo) e si aggiornano live con l'anteprima del dialog.
|
||||
Flickable {
|
||||
id: innerFlick
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: page.previewMarginT >= 0
|
||||
? page.previewMarginT : appSettings.readerMarginV
|
||||
anchors.bottomMargin: page.previewMarginT >= 0
|
||||
? page.previewMarginT : appSettings.readerMarginV
|
||||
contentHeight: readerContent.height
|
||||
interactive: false
|
||||
clip: true
|
||||
@@ -167,16 +161,25 @@ Page {
|
||||
Item {
|
||||
id: readerContent
|
||||
width: parent.width
|
||||
// Il contenitore ha il padding verticale (margine) + il "deficit"
|
||||
// dell'ultima pagina: cosi' max-scroll = k*step e l'ultima pagina
|
||||
// e' allineata (niente testo ripetuto tra penultima e ultima).
|
||||
height: Math.max(parent.height,
|
||||
textItem.height + 2 * page.marginV() + page.lastPagePad())
|
||||
// Altezza = testo + "deficit" dell'ultima pagina: max-scroll
|
||||
// diventa k*step esatto e l'ultima pagina e' allineata (niente
|
||||
// testo ripetuto tra penultima e ultima). Calcolo INLINE nel
|
||||
// binding: si rivaluta quando cambia la finestra (rotazione,
|
||||
// anteprima margini) o l'altezza del testo (reflow).
|
||||
height: {
|
||||
var step = Math.max(1, parent.height)
|
||||
var t = textItem.height
|
||||
var pad = 0
|
||||
if (t > 0) {
|
||||
var r = t % step
|
||||
pad = r === 0 ? 0 : step - r
|
||||
}
|
||||
return Math.max(parent.height, t + pad)
|
||||
}
|
||||
|
||||
Text {
|
||||
id: textItem
|
||||
x: page.previewMarginL >= 0 ? page.previewMarginL : appSettings.readerMargin
|
||||
y: page.previewMarginT >= 0 ? page.previewMarginT : appSettings.readerMarginV
|
||||
width: parent.width - 2 * (page.previewMarginL >= 0
|
||||
? page.previewMarginL
|
||||
: appSettings.readerMargin)
|
||||
@@ -190,31 +193,6 @@ Page {
|
||||
}
|
||||
}
|
||||
|
||||
// Margini verticali VISTI su ogni schermata: due fasce opache (colore di
|
||||
// sfondo) coprono il testo a cavallo dei bordi della viewport. Il testo
|
||||
// scorre tra le fasce con passo = viewport - 2*margine: ogni pagina
|
||||
// mostra esattamente un blocco di testo con margine sopra e sotto.
|
||||
Rectangle {
|
||||
id: topBand
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
height: page.marginV()
|
||||
visible: height > 0
|
||||
z: 5
|
||||
color: page.readerBgColor
|
||||
}
|
||||
Rectangle {
|
||||
id: bottomBand
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
height: page.marginV()
|
||||
visible: height > 0
|
||||
z: 5
|
||||
color: page.readerBgColor
|
||||
}
|
||||
|
||||
// Paginazione a tap: la meta' destra va avanti di una pagina, la
|
||||
// sinistra indietro. Le fasce superiore e inferiore sono lasciate ai
|
||||
// menu (PullDown in alto, PushUp in basso). NIENTE preventStealing:
|
||||
@@ -309,9 +287,9 @@ Page {
|
||||
function readScrollPosition() {
|
||||
if (!page.ready)
|
||||
return
|
||||
// passo di pagina = viewport - 2*margine verticale: ogni pagina mostra
|
||||
// il testo DENTRO i margini (niente righe a filo del bordo)
|
||||
var step = Math.max(1, innerFlick.height - 2 * page.marginV())
|
||||
// passo di pagina = altezza della finestra di lettura (i margini
|
||||
// alto/basso sono FUORI dal Flickable: nessun testo li attraversa)
|
||||
var step = Math.max(1, innerFlick.height)
|
||||
var max = Math.max(0, innerFlick.contentHeight - innerFlick.height)
|
||||
var y = Math.max(0, Math.min(max, innerFlick.contentY))
|
||||
var len = book.chapterTextLength(page.currentChapter)
|
||||
@@ -323,23 +301,6 @@ Page {
|
||||
maybeSave(false)
|
||||
}
|
||||
|
||||
// margine verticale effettivo (anteprima dialog oppure impostazioni)
|
||||
function marginV() {
|
||||
return page.previewMarginT >= 0 ? page.previewMarginT : appSettings.readerMarginV
|
||||
}
|
||||
|
||||
// deficit dell'ultima pagina: porta max-scroll a un multiplo esatto del
|
||||
// passo, cosi' l'ultima pagina mostra il testo residuo SENZA sovrapporsi
|
||||
// alla penultima (niente righe ripetute) e con il margine sotto
|
||||
function lastPagePad() {
|
||||
var step = Math.max(1, innerFlick.height - 2 * page.marginV())
|
||||
var t = textItem.height
|
||||
if (t <= 0)
|
||||
return 0
|
||||
var r = t % step
|
||||
return r === 0 ? 0 : step - r
|
||||
}
|
||||
|
||||
function maybeSave(force) {
|
||||
if (bookId <= 0)
|
||||
return
|
||||
@@ -385,13 +346,12 @@ Page {
|
||||
restoreTimer.start()
|
||||
}
|
||||
|
||||
// pagina successiva: una pagina di testo = viewport meno i margini verticali
|
||||
// (così ogni pagina ha il testo dentro i margini, non a filo del bordo);
|
||||
// a fine capitolo passa al successivo
|
||||
// pagina successiva: una pagina di testo = altezza della finestra di
|
||||
// lettura; a fine capitolo passa al successivo
|
||||
function nextPage() {
|
||||
if (!page.ready)
|
||||
return
|
||||
var step = Math.max(1, innerFlick.height - 2 * page.marginV())
|
||||
var step = Math.max(1, innerFlick.height)
|
||||
var max = Math.max(0, innerFlick.contentHeight - innerFlick.height)
|
||||
var y = innerFlick.contentY
|
||||
if (y >= max - 2) {
|
||||
@@ -410,7 +370,7 @@ Page {
|
||||
function prevPage() {
|
||||
if (!page.ready)
|
||||
return
|
||||
var step = Math.max(1, innerFlick.height - 2 * page.marginV())
|
||||
var step = Math.max(1, innerFlick.height)
|
||||
var y = innerFlick.contentY
|
||||
if (y > 1) {
|
||||
innerFlick.contentY = Math.max(0, y - step)
|
||||
|
||||
@@ -60,32 +60,6 @@ Page {
|
||||
onCheckedChanged: appSettings.ignoreSslErrors = checked
|
||||
}
|
||||
|
||||
SectionHeader { text: qsTr("Reader") }
|
||||
|
||||
Slider {
|
||||
id: marginSlider
|
||||
width: parent.width
|
||||
label: qsTr("Side margins")
|
||||
minimumValue: 0
|
||||
maximumValue: 80
|
||||
stepSize: 4
|
||||
value: appSettings.readerMargin
|
||||
valueText: value + " px"
|
||||
onValueChanged: appSettings.readerMargin = value
|
||||
}
|
||||
|
||||
Slider {
|
||||
id: marginVSlider
|
||||
width: parent.width
|
||||
label: qsTr("Top and bottom margin")
|
||||
minimumValue: 0
|
||||
maximumValue: 80
|
||||
stepSize: 4
|
||||
value: appSettings.readerMarginV
|
||||
valueText: value + " px"
|
||||
onValueChanged: appSettings.readerMarginV = value
|
||||
}
|
||||
|
||||
SectionHeader { text: qsTr("Connection") }
|
||||
|
||||
Button {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: harbour-calibreweb
|
||||
Summary: Client OPDS per Calibre Web
|
||||
Version: 0.4.10
|
||||
Version: 0.4.11
|
||||
Release: 1
|
||||
Group: Qt/Qt
|
||||
License: MIT
|
||||
@@ -24,6 +24,13 @@ reflow del testo, margini configurabili e posizione salvata
|
||||
in locale.
|
||||
|
||||
%changelog
|
||||
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.4.11-1
|
||||
- Rimossi gli slider margini dalle Impostazioni: i margini si regolano solo dal
|
||||
lettore (Margini del testo nel PullDownMenu)
|
||||
- Margini alto/basso STRUTTURALI: la finestra di lettura vive dentro i margini
|
||||
(top/bottom margin del Flickable): il testo non puo' uscire dai bordi e i
|
||||
margini sono identici su ogni pagina (via le fasce colorate della 0.4.9/0.4.10)
|
||||
|
||||
* Fri Aug 21 2026 Carlo Baratto <carlo@carlobaratto.it> - 0.4.10-1
|
||||
- Fix margini lettore (0.4.9): sfondo di lettura UNIFORME nel lettore (colore
|
||||
pieno per tema, niente gradiente di sistema). Le fasce dei margini usano lo
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
app->setOrganizationName(QStringLiteral("harbour"));
|
||||
app->setApplicationName(QStringLiteral("calibreweb"));
|
||||
// versione mostrata nelle impostazioni (tenere allineata allo spec)
|
||||
app->setApplicationVersion(QStringLiteral("0.4.10"));
|
||||
app->setApplicationVersion(QStringLiteral("0.4.11"));
|
||||
|
||||
Settings settings;
|
||||
|
||||
@@ -57,7 +57,7 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
||||
|
||||
QQuickView *view = SailfishApp::createView();
|
||||
|
||||
qDebug() << "harbour-calibreweb v0.4.10 build" << __DATE__ << __TIME__;
|
||||
qDebug() << "harbour-calibreweb v0.4.11 build" << __DATE__ << __TIME__;
|
||||
|
||||
qmlRegisterType<EpubBook>("harbour.calibreweb", 1, 0, "EpubBook");
|
||||
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="it_IT">
|
||||
<context>
|
||||
<name>BookDetailPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="36" />
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="38"/>
|
||||
<source>Read (EPUB)</source>
|
||||
<translation>Leggi (EPUB)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="60" />
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="62"/>
|
||||
<source>Formats</source>
|
||||
<translation>Formati</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="112" />
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="114"/>
|
||||
<source>Downloading…</source>
|
||||
<translation>Download in corso…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="261" />
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="263"/>
|
||||
<source>Saved to </source>
|
||||
<translation>Salvato in </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="266" />
|
||||
<location filename="../qml/pages/BookDetailPage.qml" line="268"/>
|
||||
<source>Error: </source>
|
||||
<translation>Errore: </translation>
|
||||
</message>
|
||||
@@ -44,7 +45,7 @@
|
||||
<context>
|
||||
<name>CoverPage</name>
|
||||
<message>
|
||||
<location filename="../qml/cover/CoverPage.qml" line="18" />
|
||||
<location filename="../qml/cover/CoverPage.qml" line="22"/>
|
||||
<source>Calibre Web</source>
|
||||
<translation>Calibre Web</translation>
|
||||
</message>
|
||||
@@ -52,18 +53,18 @@
|
||||
<context>
|
||||
<name>FeedPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/FeedPage.qml" line="91" />
|
||||
<location filename="../qml/pages/FeedPage.qml" line="93"/>
|
||||
<source>Refresh</source>
|
||||
<translation>Aggiorna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/FeedPage.qml" line="95" />
|
||||
<location filename="../qml/pages/FeedPage.qml" line="97"/>
|
||||
<source>Settings</source>
|
||||
<translation>Impostazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/FeedPage.qml" line="102" />
|
||||
<location filename="../qml/pages/FeedPage.qml" line="171" />
|
||||
<location filename="../qml/pages/FeedPage.qml" line="104"/>
|
||||
<location filename="../qml/pages/FeedPage.qml" line="173"/>
|
||||
<source>No results</source>
|
||||
<translation>Nessun risultato</translation>
|
||||
</message>
|
||||
@@ -71,37 +72,37 @@
|
||||
<context>
|
||||
<name>MainPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="13" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="15"/>
|
||||
<source>Calibre Web</source>
|
||||
<translation>Calibre Web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="43" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="45"/>
|
||||
<source>Search</source>
|
||||
<translation>Cerca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="47" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="49"/>
|
||||
<source>Settings</source>
|
||||
<translation>Impostazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="51" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="53"/>
|
||||
<source>Refresh</source>
|
||||
<translation>Aggiorna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="60" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="62"/>
|
||||
<source>Open the settings and enter your Calibre Web address</source>
|
||||
<translation>Apri le impostazioni e inserisci l'indirizzo del tuo Calibre Web</translation>
|
||||
<translation>Apri le impostazioni e inserisci l'indirizzo del tuo Calibre Web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="77" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="79"/>
|
||||
<source>Server not configured</source>
|
||||
<translation>Server non configurato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/MainPage.qml" line="100" />
|
||||
<location filename="../qml/pages/MainPage.qml" line="102"/>
|
||||
<source>No sections found in the OPDS feed</source>
|
||||
<translation>Nessuna sezione trovata nel feed OPDS</translation>
|
||||
</message>
|
||||
@@ -137,37 +138,27 @@
|
||||
<context>
|
||||
<name>ReaderPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="35" />
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="58"/>
|
||||
<source>Table of contents</source>
|
||||
<translation>Indice capitoli</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="39" />
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="62"/>
|
||||
<source>Text margins</source>
|
||||
<translation>Margini del testo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="53" />
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="77"/>
|
||||
<source>Settings</source>
|
||||
<translation>Impostazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="57" />
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="81"/>
|
||||
<source>Close book</source>
|
||||
<translation>Chiudi libro</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="170" />
|
||||
<source>The reader is not responding (WebView). The EPUB file may be damaged.</source>
|
||||
<translation>Il lettore non risponde (WebView). Il file EPUB potrebbe essere danneggiato.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="293" />
|
||||
<source>Chapter unreadable</source>
|
||||
<translation>Capitolo non leggibile</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="342" />
|
||||
<location filename="../qml/pages/ReaderPage.qml" line="427"/>
|
||||
<source>Unable to open the EPUB file</source>
|
||||
<translation>Impossibile aprire il libro EPUB</translation>
|
||||
</message>
|
||||
@@ -175,23 +166,23 @@
|
||||
<context>
|
||||
<name>SearchPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/SearchPage.qml" line="15" />
|
||||
<location filename="../qml/pages/SearchPage.qml" line="27" />
|
||||
<location filename="../qml/pages/SearchPage.qml" line="17"/>
|
||||
<location filename="../qml/pages/SearchPage.qml" line="29"/>
|
||||
<source>Search</source>
|
||||
<translation>Cerca</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SearchPage.qml" line="20" />
|
||||
<location filename="../qml/pages/SearchPage.qml" line="22"/>
|
||||
<source>Title or author…</source>
|
||||
<translation>Titolo o autore…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SearchPage.qml" line="35" />
|
||||
<location filename="../qml/pages/SearchPage.qml" line="37"/>
|
||||
<source>Search uses the server engine (OPDS search).</source>
|
||||
<translation>La ricerca usa il motore del server (OPDS search).</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SearchPage.qml" line="50" />
|
||||
<location filename="../qml/pages/SearchPage.qml" line="52"/>
|
||||
<source>Results: </source>
|
||||
<translation>Risultati: </translation>
|
||||
</message>
|
||||
@@ -199,98 +190,83 @@
|
||||
<context>
|
||||
<name>SettingsPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="20" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="22"/>
|
||||
<source>Settings</source>
|
||||
<translation>Impostazioni</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="22" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="24"/>
|
||||
<source>Server</source>
|
||||
<translation>Server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="28" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="30"/>
|
||||
<source>Calibre Web address</source>
|
||||
<translation>Indirizzo Calibre Web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="39" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="41"/>
|
||||
<source>User (empty = anonymous access)</source>
|
||||
<translation>Utente (vuoto = accesso anonimo)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="48" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="50"/>
|
||||
<source>Password</source>
|
||||
<translation>Password</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="55" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="57"/>
|
||||
<source>Ignore SSL certificate errors</source>
|
||||
<translation>Ignora errori certificato SSL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="56" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="58"/>
|
||||
<source>Enable if the server uses a self-signed certificate</source>
|
||||
<translation>Da attivare se il server usa un certificato autofirmato</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="61" />
|
||||
<source>Reader</source>
|
||||
<translation>Lettore</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="66" />
|
||||
<source>Side margins</source>
|
||||
<translation>Margini laterali</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="78" />
|
||||
<source>Top and bottom margin</source>
|
||||
<translation>Margine alto e basso</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="87" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="63"/>
|
||||
<source>Connection</source>
|
||||
<translation>Connessione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="91" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="67"/>
|
||||
<source>Test connection</source>
|
||||
<translation>Prova connessione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="115" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="120" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="91"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="96"/>
|
||||
<source>Language</source>
|
||||
<translation type="finished">Lingua</translation>
|
||||
<translation>Lingua</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="123" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="99"/>
|
||||
<source>System (default)</source>
|
||||
<translation type="finished">Sistema (predefinita)</translation>
|
||||
<translation>Sistema (predefinita)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="131" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="107"/>
|
||||
<source>Language will be applied after restarting the app</source>
|
||||
<translation type="finished">La lingua verrà applicata al riavvio dell'app</translation>
|
||||
<translation>La lingua verrà applicata al riavvio dell'app</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="159" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="142"/>
|
||||
<source>Enter the server address</source>
|
||||
<translation>Inserisci l'indirizzo del server</translation>
|
||||
<translation>Inserisci l'indirizzo del server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="156" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="132"/>
|
||||
<source>Version</source>
|
||||
<translation type="finished">Versione</translation>
|
||||
<translation>Versione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="168" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="152"/>
|
||||
<source>Testing…</source>
|
||||
<translation>Verifica in corso…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="179" />
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="169"/>
|
||||
<source>Connection OK: %1 sections found</source>
|
||||
<translation>Connessione OK: %1 sezioni trovate</translation>
|
||||
</message>
|
||||
|
||||
Reference in New Issue
Block a user