Contribuire
Come viene curato questo wiki, cosa resta in sospeso e il confronto tra le impostazioni nel codice e quelle nel wiki.
Principi
- La fonte della verità è il codice, non la memoria: le definizioni delle impostazioni in
App/Shared/Views/Settings/SettingsGuide.swift(SettingsGuide.all) e i testi esplicativi inApp/Shared/Localizable.xcstrings(settings.info.*,settings.*). I valori predefiniti vengono dai file*Preferencee dalle chiaviUserDefaults. Ciò che non è nel codice non va nel wiki – finisce nell’elenco «In sospeso». - Stato: ramo
release-1.0.2(commitda66e128, 15.10.2026), inventarioDocs/release-1.0.2/neu-in-1.0.2.md. Se l’app cambia, prima si legge il nuovo stato, poi si aggiorna il wiki. - Lingua: tedesco standard con grafia svizzera (ss invece di ß), forma con il «du», frasi brevi, nessun termine tecnico senza spiegazione (vedi Glossario).
- Neutralità: nessun nome di fornitore, nessun nome di canale reale (esempi con canali inventati come «Nordkanal», «Sportwelt»), nessun prezzo, nessuna affermazione su periodo di prova o condizioni dell’abbonamento, nessuna frase pubblicitaria («senza lag», «meglio di»). Nessun numero preso dal regolamento che l’app non mostri lei stessa.
- Immagini solo dal nuovo design:
Docs/release-1.0.2/screens/design-4/edesign-settings/del codice sorgente, copiate contools/bilder_102.pyinimages/(lo script applica anche i punti numerati su telecomando e player; la legenda è sulla pagina). Nessuno screenshot nuovo fatto a mano.
Struttura di un’impostazione
Ogni impostazione compare una sola volta, nella sottopagina della sua area, con un ancoraggio invisibile subito sotto il titolo:
### Nome come nell’app (nome inglese)
<!-- setting: bereich.schlüssel -->
- **Dove:** area · piattaforme
- **Cosa fa:** 2–3 frasi, la frase esplicativa dell’app tra «virgolette basse»
- **Predefinito:** documentato dal codice
- **Opzioni:** per ogni opzione vantaggio e svantaggio
- **Quando cambiarla:** …
- **Cosa costa:** batteria, ritardo sul live, volume di dati, memoria
- **Interagisce con:** rimandi
L’ancoraggio <!-- setting: … --> porta la chiave di SettingsGuide.swift. Il controllo qui sotto conta questi ancoraggi.
Link e ancoraggi
Forgejo forma gli ancoraggi dei titoli così: lettere minuscole, ogni sequenza di caratteri che non sono né lettera, né cifra, né trattino basso diventa un trattino, nessun trattino all’inizio e alla fine. Le dieresi restano. Esempio: «Reserve gegen Aussetzer (Reserve against dropouts)» → #reserve-gegen-aussetzer-reserve-against-dropouts. Link alle pagine senza .md, nella forma [Testo](Seitenname#anker).
Controllo prima del push
Nel repository del wiki ci sono due script in tools/:
NEVERLAG_SRC=~/neverlag-wiki-src python3 tools/check_settings.py --table # 81 = 81, nessun doppione
python3 tools/check_links.py # pagine, ancoraggi, immagini
check_settings.py --table rigenera l’elenco di confronto qui sotto. Entrambi devono finire senza segnalazioni. Poi commit e git push origin main; il numero di pagine si può confermare tramite l’API: GET /api/v1/repos/haris/Neverlag/wiki/pages.
Modificare una pagina
- Portare la copia del sorgente allo stato desiderato (
git -C ~/neverlag-wiki-src checkout <tag>). - Leggere il testo esplicativo dell’app (
settings.info.<id>inLocalizable.xcstrings) e cercare il valore predefinito nel codice. - Modificare la pagina; nome dell’impostazione esattamente come nell’app, inglese tra parentesi.
- Script di controllo, commit con un messaggio chiaro, push.
- Ciò che non si può documentare: annotarlo qui sotto «In sospeso», non tirare a indovinare.
In sospeso
Punti che dalle fonti non si potevano documentare in modo univoco o su cui le fonti si contraddicono. Chi li chiarisce inserisce la risposta e cancella il punto.
- Ampiezza delle FAQ: l’incarico parla di 27 domande,
Web/src/i18n/faq/de.tsne contiene 34. Il wiki le riprende tutte e 34. - Il 4K torna da solo? Le FAQ del sito («Il 4K torna da solo?», «Perché all’improvviso sono a 1080p?», «… se il mio fornitore strozza la banda?») descrivono un ritorno automatico dopo qualche minuto. Il regolamento 1.0.2 dice «mai verso l’alto in automatico»; il livello più basso vale per ogni canale al massimo 30 minuti, verso l’alto in qualsiasi momento con il pulsante. Il wiki segue il regolamento; i testi del sito andrebbero adattati.
- FAQ del sito «player più stabile» nomina altri player; il wiki tralascia i nomi.
- Autoplay: presente dalla 1.0.2 («Prossimo episodio automaticamente», Impostazioni → Riproduzione). Risolto.
- Lingua audio preferita: un’impostazione fissa («sempre tedesco») non esiste. Dalla 1.0.2 Neverlag ricorda l’ultima lingua audio scelta; la vedi e la azzeri in «Lingua audio memorizzata» (Impostazioni → Immagine e audio).
- Continua a guardare per le registrazioni: una posizione salvata per le registrazioni non è documentata nei testi (solo per film e serie). Non viene affermata.
- Conteggio delle impostazioni: nello stato
release-1.0.2(15.10.2026)SettingsGuide.allcontiene 81 voci in undici aree; il wiki le riporta tutte esattamente una volta (tabella qui sotto). Fa fede il codice; le panoramiche precedenti con 61 o 64 voci sono superate. - Android / Fire TV: la colonna in Differenze tra piattaforme si basa su
Docs/android-parity.md(stato datato riga per riga), non su una prova dell’app. Controllo genitori, NAS, invio del pairing, avviso al primo avvio, valutazione/feedback e tour vi figurano come mancanti o da allineare; le novità della 1.0.2 (profili, telecomando, catena delle fonti, archivio come mediateca, parole chiave, nuove impostazioni) non vi compaiono ancora affatto. - Misurazioni sui dispositivi, immagine II: secondo il rapporto restano aperte tre decisioni finché non si misura su un iPhone reale: mantenere «120 Hz per i video», modalità standard definitiva, impostazione predefinita della fluidità dei movimenti. Il wiki indica i valori predefiniti attuali (attivo / disattivato).
- Apple TV 4K con HDR: le FAQ del sito citano la perdita di fotogrammi in 4K HDR come limite noto («ci stiamo lavorando»). Che il «Nuovo renderer» lo risolva nella 1.0.2 non risulta concluso nei rapporti.
- Tetto della riserva per dispositivo (85 s su iPhone e Apple TV 4K, 60 s su Apple TV HD, 40 s con poca memoria): i valori vengono dal rapporto Pacchetto 2a; l’app mostra da sola il valore raggiungibile. Da verificare con nuove classi di dispositivi.
- Immagini: dalla 1.0.2 le immagini vengono da
Docs/release-1.0.2/screens/design-4/edesign-settings/(scripttools/bilder_102.py). Per la prima configurazione «Il tuo profilo», la scelta della lingua al primo avvio, il timeshift su iPhone/iPad e il test di rete lì non ci sono schermate; le pagine ne fanno a meno o mostrano l’immagine più affine. - Barra di salto sul Mac: il comportamento sul Mac (barra con inizio/fine o semplice elenco) cambia con la dimensione della finestra; nel wiki è descritto solo a grandi linee.
- Prezzi: volutamente assenti dal wiki, anche dove il sito li indica. Il periodo di prova (7 giorni) il wiki lo cita, perché l’app stessa lo mostra così.
- Fonte del wiki: finora il wiki viene curato direttamente nel suo repository. La regola «
Docs/wiki/nel codice sorgente → wiki Forgejo → guida sul sito», con uno script di mirroring, è ancora da realizzare. - Traduzioni: dal 16 ottobre 2026 le pagine in
en/,fr/eit/sono allineate a quelle tedesche (1.0.2). Chi modifica una pagina tedesca aggiorna le tre lingue nello stesso commit; le ancore restano in tedesco. - Taglio senza fermo immagine: che Neverlag, in caso di breve caduta della connessione, riprenda esattamente dal pacchetto giusto è dimostrato sul banco di prova; secondo il rapporto la misurazione su un dispositivo reale è ancora da fare.
Confronto: impostazioni nel codice e nel wiki
Stato release-1.0.2 (15.10.2026): 81 impostazioni nel codice, 81 nel wiki, ognuna esattamente una volta. Generato con tools/check_settings.py --table.
| N. | Chiave nel codice | Area | Nome nell’app | Pagina del wiki | Stato |
|---|---|---|---|---|---|
| 1 | provider.addXtream | provider | Aggiungi accesso Xtream … | Einstellungen-Anbieter | ✓ |
| 2 | provider.addM3U | provider | Aggiungi playlist M3U … | Einstellungen-Anbieter | ✓ |
| 3 | provider.sendQR | provider | Invia all’Apple TV (scansiona il codice QR) … | Einstellungen-Anbieter | ✓ |
| 4 | provider.refreshInterval | provider | Aggiornamento automatico | Einstellungen-Anbieter | ✓ |
| 5 | provider.refreshCatalog | provider | Aggiorna catalogo ora | Einstellungen-Anbieter | ✓ |
| 6 | provider.refreshEPG | guide | Aggiorna EPG ora | Einstellungen-Programmfuehrer | ✓ |
| 7 | provider.loadDetails | provider | Carica i dettagli dei film | Einstellungen-Anbieter | ✓ |
| 8 | provider.manageGroups | provider | Gestisci gruppi e ricarica … | Einstellungen-Anbieter | ✓ |
| 9 | provider.sendToTV | provider | Invia all’Apple TV … | Einstellungen-Anbieter | ✓ |
| 10 | provider.remove | provider | Rimuovi fornitore | Einstellungen-Anbieter | ✓ |
| 11 | categories.show | provider | Mostra categorie | Einstellungen-Anbieter | ✓ |
| 12 | categories.manage | provider | Gestisci categorie | Einstellungen-Anbieter | ✓ |
| 13 | categories.sortAZ | provider | Ordina alfabeticamente (A–Z) | Einstellungen-Anbieter | ✓ |
| 14 | categories.reset | provider | Ripristina | Einstellungen-Anbieter | ✓ |
| 15 | backup.export | provider | Esporta backup… | Einstellungen-Anbieter | ✓ |
| 16 | backup.import | provider | Importa backup… | Einstellungen-Anbieter | ✓ |
| 17 | tags.manage | guide | Gestisci tag … | Einstellungen-Programmfuehrer | ✓ |
| 18 | epg.assignment | guide | Associazione EPG … | Einstellungen-Programmfuehrer | ✓ |
| 19 | appearance | general | Aspetto | Einstellungen-Allgemein | ✓ |
| 20 | renderer | advanced | Nuovo renderer | Einstellungen-Erweitert | ✓ |
| 21 | startQuality | pictureSound | Qualità di avvio preferita | Einstellungen-Bild-und-Ton | ✓ |
| 22 | frameTiming | pictureSound | Cadenza immagini | Einstellungen-Bild-und-Ton | ✓ |
| 23 | matchFrameRate | pictureSound | Adatta la frequenza di aggiornamento al programma | Einstellungen-Bild-und-Ton | ✓ |
| 24 | highRefreshRate | pictureSound | 120 Hz per i video | Einstellungen-Bild-und-Ton | ✓ |
| 25 | motionSmoothing | pictureSound | Fluidità dei movimenti | Einstellungen-Bild-und-Ton | ✓ |
| 26 | audioLanguage | pictureSound | Lingua audio memorizzata | Einstellungen-Bild-und-Ton | ✓ |
| 27 | timeshift.disk | playback | Timeshift su disco | Einstellungen-Wiedergabe | ✓ |
| 28 | timeshift.window | playback | Finestra di riavvolgimento | Einstellungen-Wiedergabe | ✓ |
| 29 | leadHold | playback | Riserva prima della prima immagine | Einstellungen-Wiedergabe | ✓ |
| 30 | reserve | playback | Riserva contro le interruzioni | Einstellungen-Wiedergabe | ✓ |
| 31 | autoplayNextEpisode | playback | Prossimo episodio automaticamente | Einstellungen-Wiedergabe | ✓ |
| 32 | lastChannelOnLaunch | playback | Riprodurre l’ultimo canale all’avvio | Einstellungen-Wiedergabe | ✓ |
| 33 | autoSourceSwitch | playback | Passare automaticamente a un’altra fonte in caso di guasto | Einstellungen-Wiedergabe | ✓ |
| 34 | relay | advanced | Riproduzione tramite ricevitore locale | Einstellungen-Erweitert | ✓ |
| 35 | relay.adaptiveRate | advanced | Adattare la riproduzione alla connessione | Einstellungen-Erweitert | ✓ |
| 36 | relay.controller | advanced | Il controller decide | Einstellungen-Erweitert | ✓ |
| 37 | recordings.destination | recordings | Destinazione delle registrazioni | Einstellungen-Aufnahmen | ✓ |
| 38 | recordings.chooseFolder | recordings | Scegli cartella … | Einstellungen-Aufnahmen | ✓ |
| 39 | recordings.defaultFolder | recordings | Usa cartella predefinita | Einstellungen-Aufnahmen | ✓ |
| 40 | recordings.nasSetup | recordings | Configura archivio di rete … | Einstellungen-Aufnahmen | ✓ |
| 41 | recordings.nasTransfer | recordings | Invia ad Apple TV … | Einstellungen-Aufnahmen | ✓ |
| 42 | recordings.paddingBefore | recordings | Margine iniziale | Einstellungen-Aufnahmen | ✓ |
| 43 | recordings.paddingAfter | recordings | Margine finale | Einstellungen-Aufnahmen | ✓ |
| 44 | profiles.add | profiles | Aggiungi profilo | Einstellungen-Profile | ✓ |
| 45 | profiles.switch | profiles | Cambia profilo | Einstellungen-Profile | ✓ |
| 46 | profiles.isChild | profiles | Profilo bambino | Einstellungen-Profile | ✓ |
| 47 | profiles.requiresPIN | profiles | Proteggi con PIN | Einstellungen-Profile | ✓ |
| 48 | profiles.allowLive | profiles | Categorie live | Einstellungen-Profile | ✓ |
| 49 | profiles.allowVOD | profiles | Categorie di film | Einstellungen-Profile | ✓ |
| 50 | profiles.allowSeries | profiles | Categorie di serie | Einstellungen-Profile | ✓ |
| 51 | profiles.blockChannels | profiles | Canali nascosti | Einstellungen-Profile | ✓ |
| 52 | profiles.unblockAll | profiles | Mostra di nuovo tutti i canali | Einstellungen-Profile | ✓ |
| 53 | profiles.unlockContent | profiles | Sblocca contenuti | Einstellungen-Profile | ✓ |
| 54 | profiles.delete | profiles | Elimina profilo… | Einstellungen-Profile | ✓ |
| 55 | profiles.setPIN | profiles | Imposta PIN… | Einstellungen-Profile | ✓ |
| 56 | profiles.changePIN | profiles | Cambia PIN… | Einstellungen-Profile | ✓ |
| 57 | profiles.removePIN | profiles | Rimuovi PIN | Einstellungen-Profile | ✓ |
| 58 | profiles.settingsPIN | profiles | Proteggi le impostazioni con PIN | Einstellungen-Profile | ✓ |
| 59 | profiles.relock | profiles | Blocca di nuovo | Einstellungen-Profile | ✓ |
| 60 | subscription.start | subscription | Avvia abbonamento | Einstellungen-Abo | ✓ |
| 61 | subscription.manage | subscription | Gestisci abbonamento | Einstellungen-Abo | ✓ |
| 62 | subscription.restore | subscription | Ripristina acquisto | Einstellungen-Abo | ✓ |
| 63 | subscription.terms | about | Termini d’uso | Einstellungen-Ueber | ✓ |
| 64 | diagnostics.overview | advanced | Diagnostica e stato | Einstellungen-Erweitert | ✓ |
| 65 | diagnostics.history | advanced | Cronologia | Einstellungen-Erweitert | ✓ |
| 66 | diagnostics.networkTest | advanced | Test di rete | Einstellungen-Erweitert | ✓ |
| 67 | diagnostics.journalShare | advanced | Condividi il diario | Einstellungen-Erweitert | ✓ |
| 68 | diagnostics.journalDelete | advanced | Elimina il diario | Einstellungen-Erweitert | ✓ |
| 69 | remote.open | remote | Apri il telecomando | Einstellungen-Fernbedienung | ✓ |
| 70 | remote.pair | remote | Abbina Apple TV | Einstellungen-Fernbedienung | ✓ |
| 71 | remote.pairTV | remote | Abbina iPhone | Einstellungen-Fernbedienung | ✓ |
| 72 | remote.devices | remote | Dispositivi abbinati | Einstellungen-Fernbedienung | ✓ |
| 73 | language | general | Lingua | Einstellungen-Allgemein | ✓ |
| 74 | about.tour | general | Tour dell’app | Einstellungen-Allgemein | ✓ |
| 75 | about.hints | general | Mostra suggerimenti | Einstellungen-Allgemein | ✓ |
| 76 | about.hintsReset | general | Reimposta tutti i suggerimenti | Einstellungen-Allgemein | ✓ |
| 77 | about.notice | about | Lettore, non fornitore — l’avviso | Einstellungen-Ueber | ✓ |
| 78 | about.rate | about | Valuta Neverlag | Einstellungen-Ueber | ✓ |
| 79 | about.feedback | about | Invia feedback | Einstellungen-Ueber | ✓ |
| 80 | about.privacyPolicy | about | Informativa privacy | Einstellungen-Ueber | ✓ |
| 81 | about.licenses | about | Licenze open source | Einstellungen-Ueber | ✓ |