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 in App/Shared/Localizable.xcstrings (settings.info.*, settings.*). I valori predefiniti vengono dai file *Preference e dalle chiavi UserDefaults. Ciò che non è nel codice non va nel wiki – finisce nell’elenco «In sospeso».
  • Stato: ramo release-1.0.2 (commit da66e128, 15.10.2026), inventario Docs/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/ e design-settings/ del codice sorgente, copiate con tools/bilder_102.py in images/ (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.

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

  1. Portare la copia del sorgente allo stato desiderato (git -C ~/neverlag-wiki-src checkout <tag>).
  2. Leggere il testo esplicativo dell’app (settings.info.<id> in Localizable.xcstrings) e cercare il valore predefinito nel codice.
  3. Modificare la pagina; nome dell’impostazione esattamente come nell’app, inglese tra parentesi.
  4. Script di controllo, commit con un messaggio chiaro, push.
  5. 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.

  1. Ampiezza delle FAQ: l’incarico parla di 27 domande, Web/src/i18n/faq/de.ts ne contiene 34. Il wiki le riprende tutte e 34.
  2. 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.
  3. FAQ del sito «player più stabile» nomina altri player; il wiki tralascia i nomi.
  4. Autoplay: presente dalla 1.0.2 («Prossimo episodio automaticamente», Impostazioni → Riproduzione). Risolto.
  5. 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).
  6. Continua a guardare per le registrazioni: una posizione salvata per le registrazioni non è documentata nei testi (solo per film e serie). Non viene affermata.
  7. Conteggio delle impostazioni: nello stato release-1.0.2 (15.10.2026) SettingsGuide.all contiene 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.
  8. 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.
  9. 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).
  10. 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.
  11. 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.
  12. Immagini: dalla 1.0.2 le immagini vengono da Docs/release-1.0.2/screens/design-4/ e design-settings/ (script tools/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.
  13. 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.
  14. 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ì.
  15. 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.
  16. Traduzioni: dal 16 ottobre 2026 le pagine in en/, fr/ e it/ 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.
  17. 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 codiceAreaNome nell’appPagina del wikiStato
1provider.addXtreamproviderAggiungi accesso Xtream …Einstellungen-Anbieter✓
2provider.addM3UproviderAggiungi playlist M3U …Einstellungen-Anbieter✓
3provider.sendQRproviderInvia all’Apple TV (scansiona il codice QR) …Einstellungen-Anbieter✓
4provider.refreshIntervalproviderAggiornamento automaticoEinstellungen-Anbieter✓
5provider.refreshCatalogproviderAggiorna catalogo oraEinstellungen-Anbieter✓
6provider.refreshEPGguideAggiorna EPG oraEinstellungen-Programmfuehrer✓
7provider.loadDetailsproviderCarica i dettagli dei filmEinstellungen-Anbieter✓
8provider.manageGroupsproviderGestisci gruppi e ricarica …Einstellungen-Anbieter✓
9provider.sendToTVproviderInvia all’Apple TV …Einstellungen-Anbieter✓
10provider.removeproviderRimuovi fornitoreEinstellungen-Anbieter✓
11categories.showproviderMostra categorieEinstellungen-Anbieter✓
12categories.manageproviderGestisci categorieEinstellungen-Anbieter✓
13categories.sortAZproviderOrdina alfabeticamente (A–Z)Einstellungen-Anbieter✓
14categories.resetproviderRipristinaEinstellungen-Anbieter✓
15backup.exportproviderEsporta backup…Einstellungen-Anbieter✓
16backup.importproviderImporta backup…Einstellungen-Anbieter✓
17tags.manageguideGestisci tag …Einstellungen-Programmfuehrer✓
18epg.assignmentguideAssociazione EPG …Einstellungen-Programmfuehrer✓
19appearancegeneralAspettoEinstellungen-Allgemein✓
20rendereradvancedNuovo rendererEinstellungen-Erweitert✓
21startQualitypictureSoundQualità di avvio preferitaEinstellungen-Bild-und-Ton✓
22frameTimingpictureSoundCadenza immaginiEinstellungen-Bild-und-Ton✓
23matchFrameRatepictureSoundAdatta la frequenza di aggiornamento al programmaEinstellungen-Bild-und-Ton✓
24highRefreshRatepictureSound120 Hz per i videoEinstellungen-Bild-und-Ton✓
25motionSmoothingpictureSoundFluidità dei movimentiEinstellungen-Bild-und-Ton✓
26audioLanguagepictureSoundLingua audio memorizzataEinstellungen-Bild-und-Ton✓
27timeshift.diskplaybackTimeshift su discoEinstellungen-Wiedergabe✓
28timeshift.windowplaybackFinestra di riavvolgimentoEinstellungen-Wiedergabe✓
29leadHoldplaybackRiserva prima della prima immagineEinstellungen-Wiedergabe✓
30reserveplaybackRiserva contro le interruzioniEinstellungen-Wiedergabe✓
31autoplayNextEpisodeplaybackProssimo episodio automaticamenteEinstellungen-Wiedergabe✓
32lastChannelOnLaunchplaybackRiprodurre l’ultimo canale all’avvioEinstellungen-Wiedergabe✓
33autoSourceSwitchplaybackPassare automaticamente a un’altra fonte in caso di guastoEinstellungen-Wiedergabe✓
34relayadvancedRiproduzione tramite ricevitore localeEinstellungen-Erweitert✓
35relay.adaptiveRateadvancedAdattare la riproduzione alla connessioneEinstellungen-Erweitert✓
36relay.controlleradvancedIl controller decideEinstellungen-Erweitert✓
37recordings.destinationrecordingsDestinazione delle registrazioniEinstellungen-Aufnahmen✓
38recordings.chooseFolderrecordingsScegli cartella …Einstellungen-Aufnahmen✓
39recordings.defaultFolderrecordingsUsa cartella predefinitaEinstellungen-Aufnahmen✓
40recordings.nasSetuprecordingsConfigura archivio di rete …Einstellungen-Aufnahmen✓
41recordings.nasTransferrecordingsInvia ad Apple TV …Einstellungen-Aufnahmen✓
42recordings.paddingBeforerecordingsMargine inizialeEinstellungen-Aufnahmen✓
43recordings.paddingAfterrecordingsMargine finaleEinstellungen-Aufnahmen✓
44profiles.addprofilesAggiungi profiloEinstellungen-Profile✓
45profiles.switchprofilesCambia profiloEinstellungen-Profile✓
46profiles.isChildprofilesProfilo bambinoEinstellungen-Profile✓
47profiles.requiresPINprofilesProteggi con PINEinstellungen-Profile✓
48profiles.allowLiveprofilesCategorie liveEinstellungen-Profile✓
49profiles.allowVODprofilesCategorie di filmEinstellungen-Profile✓
50profiles.allowSeriesprofilesCategorie di serieEinstellungen-Profile✓
51profiles.blockChannelsprofilesCanali nascostiEinstellungen-Profile✓
52profiles.unblockAllprofilesMostra di nuovo tutti i canaliEinstellungen-Profile✓
53profiles.unlockContentprofilesSblocca contenutiEinstellungen-Profile✓
54profiles.deleteprofilesElimina profilo…Einstellungen-Profile✓
55profiles.setPINprofilesImposta PIN…Einstellungen-Profile✓
56profiles.changePINprofilesCambia PIN…Einstellungen-Profile✓
57profiles.removePINprofilesRimuovi PINEinstellungen-Profile✓
58profiles.settingsPINprofilesProteggi le impostazioni con PINEinstellungen-Profile✓
59profiles.relockprofilesBlocca di nuovoEinstellungen-Profile✓
60subscription.startsubscriptionAvvia abbonamentoEinstellungen-Abo✓
61subscription.managesubscriptionGestisci abbonamentoEinstellungen-Abo✓
62subscription.restoresubscriptionRipristina acquistoEinstellungen-Abo✓
63subscription.termsaboutTermini d’usoEinstellungen-Ueber✓
64diagnostics.overviewadvancedDiagnostica e statoEinstellungen-Erweitert✓
65diagnostics.historyadvancedCronologiaEinstellungen-Erweitert✓
66diagnostics.networkTestadvancedTest di reteEinstellungen-Erweitert✓
67diagnostics.journalShareadvancedCondividi il diarioEinstellungen-Erweitert✓
68diagnostics.journalDeleteadvancedElimina il diarioEinstellungen-Erweitert✓
69remote.openremoteApri il telecomandoEinstellungen-Fernbedienung✓
70remote.pairremoteAbbina Apple TVEinstellungen-Fernbedienung✓
71remote.pairTVremoteAbbina iPhoneEinstellungen-Fernbedienung✓
72remote.devicesremoteDispositivi abbinatiEinstellungen-Fernbedienung✓
73languagegeneralLinguaEinstellungen-Allgemein✓
74about.tourgeneralTour dell’appEinstellungen-Allgemein✓
75about.hintsgeneralMostra suggerimentiEinstellungen-Allgemein✓
76about.hintsResetgeneralReimposta tutti i suggerimentiEinstellungen-Allgemein✓
77about.noticeaboutLettore, non fornitore — l’avvisoEinstellungen-Ueber✓
78about.rateaboutValuta NeverlagEinstellungen-Ueber✓
79about.feedbackaboutInvia feedbackEinstellungen-Ueber✓
80about.privacyPolicyaboutInformativa privacyEinstellungen-Ueber✓
81about.licensesaboutLicenze open sourceEinstellungen-Ueber✓