@Fernandus91
Dimenticavo, metto anche la tua prima traduzione + la correzione qui, così puoi vederle una vicina all'altra:
The Firefox Marketplace is the official source of apps for the Web Platform.
Il Marketplace di Firefox è la fonte ufficiale di app per la Piattaforma Web.
Firefox Marketplace è la fonte ufficiale di app per la Piattaforma Web.
Either 8 or 11 characters. Example: WFBIUS6WPDX.
O 8 o 11 caratteri. Esempio WFBIUS6WPDX.
8 o 11 caratteri. Esempio: WFBIUS6WPDX.
---
The ability to use apps when not connected to the Internet is especially important for mobile devices, which may wander out of coverage areas. Of course, reducing the amount of time your app waits for data from a server improves the responsiveness of your app. This makes your app <em>feel</em> fast and is one of the most important considerations when developing web apps with HTML5.
La possibilità di utilizzare app quando non si è collegati ad Internet è molto importante per i dispositivi mobili, che possono ritrovarsi fuori dalle aree di copertura. Naturalmente, la riduzione del tempo di attesa dei dati da un server migliora la capacità di risposta della app. Questo fa <em>sentire</em> l'app veloce ed è una delle più importanti considerazioni quando si sviluppano web app con HTML5.
La possibilità di utilizzare app quando non si è collegati ad Internet è molto importante per i dispositivi mobili, che possono ritrovarsi fuori dalle aree di copertura. Naturalmente, la riduzione del tempo di attesa dei dati da un server migliora la velocità di risposta dell'app. Di conseguenza l'app viene <em>percepita</em> come più veloce dall'utente, una considerazione importante da tenere presente durante lo sviluppo di app web in HTML5.
---
There are a few technologies built into HTML (and available to Firefox OS) that you can use to ensure your app works offline. These technologies can be used to improve the responsiveness of your current web app. The key to a responsive app experience (similar to iOS and Android) is speed. Using Appcache and JavaScript storage will allow your app to be downloaded and cached until you update its assets. This means your users can now use your app offline.
Sono presenti alcune tecnologie integrate nell'HTML (e disponibili per Firefox OS) che è possibile utilizzare per garantire il funzionamento offline dell'app. Queste tecnologie posso essere usate per migliorare la capacità di risposta della web app corrente. La chiave per un'esperienza reattiva (similmente ad iOS e Android) è la velocità. Utilizzare lo storage Appcache e JavaScript permetterà alla app di essere scaricata e memorizzata nella cache fin quando non si aggiorneranno i suoi dati. Questo significa che gli utenti possono ora utilizzare l'app offline.
È possibile utilizzare diverse tecnologie integrate nell'HTML (e disponibili per Firefox OS) per garantire il funzionamento dell'app non in linea. Queste tecnologie possono incrementare la velocità di risposta dell'app web in uso. La chiave per un'esperienza reattiva (proprio come per iOS e Android) è la velocità. Utilizzando la funzione di archiviazione di Appcache e JavaScript l'app potrà essere scaricata e memorizzata nella cache fino al prossimo aggiornamento dei suoi asset. Questo significa che gli utenti potranno utilizzare l'app anche non in linea.
---
Create an <strong><a href="%(appcache_url)s">Appcache manifest</a></strong> that lists all the asset URLs your app needs access to offline. Typically, this will be a list of all the CSS, fonts, JavaScript, and image files you use. You can <a href="%(generator_url)s" rel="external">use tools</a> to generate your manifest or create one by hand. This is an example of the format, from <a href="%(example_manifest)s" rel="external">Face Value’s manifest</a>:
Creare un <strong><a href="%(appcache_url)s">manifesto di Appcache</a></strong> che elenchi tutti gli URL di dati di cui l'app ha bisogno di accedere in offline. Tipicamente, sarà un lista di tutti file CSS, fonts, JavaScript e di immagine che si usano. È possibile <a href="%(generator_url)s" rel="external">utilizzare strumenti</a> per generare un manifesto o crearne uno a mano. Questo è un esempio del formato, dal <a href="%(example_manifest)s" rel="external">manifesto di Face Value</a>:
È possibile creare un <strong><a href="%(appcache_url)s">manifesto Appcache</a></strong> che elenchi tutti gli URL degli asset a cui l'app ha bisogno di accedere quando non è in linea. Normalmente la lista include tutti i file CSS, font, JavaScript e di immagine utilizzati dall'app. È possibile generare un manifesto sia <a href="%(generator_url)s" rel="external">utilizzando appositi strumenti</a> che manualmente. Questo è un esempio del formato, dal <a href="%(example_manifest)s" rel="external">manifesto di Face Value</a>:
---
If you're using JavaScript templates like <a href="%(mustache_url)s" rel="external">mustache</a>, be sure to include your templates in your Appcache manifest or precompile them into your built JavaScript files.
Se si utilizzano i modelli di JavaScript come <a href="%(mustache_url)s" rel="external">baffi</a>, bisogna includerli nel manifesto di Appcache o precompilarli nei file di JavaScript.
Se si utilizzano modelli di JavaScript come <a href="%(mustache_url)s" rel="external">mustache</a>, bisogna includerli nel manifesto di Appcache o pre-compilarli nei file di JavaScript.
---
<dt><a href="%(localstorage_url)s">localStorage</a></dt> <dd> Synchronous and easy-to-use, localStorage is available in modern browsers, but it's also the slowest. Try to avoid using it directly and use a library that includes it as a fallback instead. </dd> <dt><a href="%(indexeddb_url)s">IndexedDB</a></dt> <dd> IndexedDB is an asynchronous and fast library that can store any JavaScript type without having to serialize it first. It isn't available in IE or iOS as of writing but is available in Chrome and Firefox. </dd> <dt><a href="%(websql_url)s" rel="external">WebSQL</a></dt> <dd> WebSQL is asynchronous like IndexedDB, but is only needed for Safari/iOS compatibility. WebSQL is officially deprecated by the W3C but is still supported by many WebKit browsers. </dd>
<dt><a href="%(localstorage_url)s">localStorage</a></dt><dd> Sincrono e facile da usare, localStorage è disponibile nei moderni browser, ma è anche il più lento. Si cerchi di evitare il suo uso, utilizzando una libreria che lo includa invece come ripiego. </dd><dt><a href="%(indexeddb_url)s">IndexedDB</a></dt><dd> IndexedDB è una libreria asincrona e veloce in grado di memorizzare qualsiasi tipo di JavaScript senza doverlo serializzare prima. Non è disponibile in IE o iOS come per la scrittura ma è disponibile in Chrome e Firefox. </dd><dt><a href="%(websql_url)s" rel="external">WebSQL</a></dt><dd> WebSQL è asincrono, come IndexedDB, ma è necessario solo per la compatibilità con Safari/iOS. WebSQL è ufficialmente disapprovato dal W3C, ma è ancora supportato da molti browser WebKit. </dd>
<dt><a href="%(localstorage_url)s">localStorage</a></dt><dd> Sincrono e facile da utilizzare, localStorage è disponibile per i maggiori browser moderni, ma è anche il più lento tra i sistemi di archiviazione citati. È consigliabile utilizzarlo non direttamente, ma come fallback di una libreria. </dd><dt><a href="%(indexeddb_url)s">IndexedDB</a></dt><dd> IndexedDB è una libreria asincrona e veloce in grado di memorizzare qualsiasi tipo di JavaScript senza doverlo serializzare prima. È disponibile in Chrome e Firefox, ma non in Internet Explorer o iOS al momento della stesura di questa guida. </dd><dt><a href="%(websql_url)s" rel="external">WebSQL</a></dt><dd> WebSQL è asincrono come IndexedDB, ma è necessario solo per la compatibilità con Safari/iOS. WebSQL è ufficialmente disapprovato dal W3C, ma viene ancora supportato da molti browser WebKit. </dd>
---
We recommend using <a href="%(localforage_url)s" rel="external">localForage</a>, which combines a library from Firefox OS with fallbacks for other browsers. It allows you to store key/value pairs for use between page loads, but does so asynchronously whenever possible. This improves the responsiveness of your app.
Si consiglia di utilizzare <a href="%(localforage_url)s" rel="external">localForage</a>, che combina una libreria di Firefox OS con riserve di altri browser. Permette di memorizzare coppie di chiave/valore per l'uso durante il caricamento delle pagine, ma lo fa in modo asincrono quando possibile. Questo migliora la capacità di risposta della app.
È consigliabile utilizzare <a href="%(localforage_url)s" rel="external">localForage</a>, che integra una libreria di Firefox OS con fallback di altri browser. Permette di memorizzare coppie di chiave/valore utilizzabili durante il caricamento delle pagine, ma lo fa in modo asincrono quando possibile. Questo incrementa la velocità di risposta dell'app.
---
localStorage is the most compatible API for saving data between page views in JavaScript, but it has a few major limitations. localStorage is synchronous, so using it blocks the main thread from running, causing your app to feel slow when getting or setting data. It also can't handle large amounts of data or JavaScript types like TypedArrays. You can use localStorage for small amounts of data you interact with rarely, but we recommend <a href="%(localForage)s" rel="external">localForage's asyncStorage library</a>, which uses faster storage by default but falls back to localStorage if it's all that is available.
localStorage è la API più compatibile per salvare i dati tra la visualizzazione di pagine in JavaScript, ma ha alcune grandi limitazioni. localStorage è sincrono, così utilizzarlo blocca il thread princinpale dal caricamento, causando il rallentamento dell'app mentre riceve o imposta i dati. Inoltre, non può gestire grandi quantità di dati o JavaScript come TypedArrays. Si può usare localStorage per piccole quantità di dati con le quali si interagisce raramente, ma è raccomandata <a href="%(localForage)s" rel="external">la libreria asyncStorage di localForge</a>, che utilizza memoria più veloce di default ma ricade su localStorage se è tutto quello che è disponibile.
localStorage è l'API più compatibile per salvare i dati tra la visualizzazione di una pagina e l'altra in JavaScript, ma ha alcune grandi limitazioni. localStorage è sincrono, pertanto utilizzarlo blocca il caricamento del thread principale, causando il rallentamento dell'app durante la ricezione o l'impostazione di dati. Inoltre, non può gestire grandi quantità di dati o JavaScript come TypedArrays. localStorage si può utilizzare per piccole quantità di dati con le quali si interagisce raramente, ma è consigliabile integrarlo con <a href="%(localForage)s" rel="external">la libreria asyncStorage di localForge</a>, che per impostazione predefinita ricorre per primo all'archivio più rapidamente accessibile, utilizzando localStorage solo come fallback.
---
Caching large files and storing media
Memorizzare nella chace file di grandi dimensioni e memorizzare media
Memorizzare nella cache file di grandi dimensioni e archiviare file multimediali
---
Use <a href="%(storage_url)s">DeviceStorage</a> or <a href="%(indexeddb_url)s">IndexedDB</a> to store large pieces of data. localStorage is unsuitable for large blob storage, but you can save chunks of data to IndexedDB. The Podcasts reference app does this in <a href="%(podcasts_url)s" rel="external">its episode model code</a>
Usare <a href="%(storage_url)s">DeviceStorage</a> o <a href="%(indexeddb_url)s">IndexedDB</a> per memorizzare grandi quantità di dati. localStorarge non è adatto per grandi memorizzazioni, ma è possibile salvare porzioni di dati con IndexedDB. L'app di riferimento Podcast lo fa nel<a href="%(podcasts_url)s" rel="external">suo codice di rifermento dell'episodio</a>.
Per memorizzare grandi quantità di dati è consigliato utilizzare <a href="%(storage_url)s">DeviceStorage</a> o <a href="%(indexeddb_url)s">IndexedDB</a>. localStorarge non è adatto per l'archiviazione di grandi file, ma è possibile salvare porzioni di dati con IndexedDB, come l'app di riferimento Podcast nel<a href="%(podcasts_url)s" rel="external">codice modello dell'episodio</a>.
---
Keep in mind that storing large files (over 100MB) is still largely uncharted territory and you may encouter some issues.
Si tenga presente che memorizzare grandi file (superiori ai 100MB) è ancora un territorio inesplorato e si potrebbero correre dei rischi.
Si tenga presente che gli effetti dell'archiviazione di file superiori ai 100 MB non sono ancora stati testati a fondo e potrebbero pertanto causare problemi.
---
A Note on Packaged Apps
Una nota sui Pacchetti delle app
Una nota sulle app pacchettizzate
---
If you’re <a href="%(packaged_apps_url)s">developing a packaged app</a>, you don't need to use an Appcache manifest; all app assets are downloaded to the user’s device during install.
Se si <a href="%(packaged_apps_url)s">sviluppano pacchetti di app</a>, non c'è bisogno di usare un manifesto di Appcache; tutti i dati dell'app saranno scaricati sul dispositivo dell'utente durante l'installazione.
Le <a href="%(packaged_apps_url)s">app pacchettizzate</a> non richiedono un manifesto di Appcache, in quanto tutti gli asset vengono scaricati sul dispositivo dell'utente durante l'installazione.
---
Managing Offline State and HTTP Requests
Gestire lo stato Offline e le richieste HTTP
Gestire lo stato Non in linea e le richieste HTTP
---
There are a few APIs available to determine the user's connection status. These are useful because you can skip HTTP requests if you know the user is offline. You can also display less generic failure messages. For example: if you were writing a Twitter client, a message like “New tweets cannot be loaded while offline” is more informative than “Could not make HTTP connection.”
Ci sono alcune API disponibile per determinare lo stato di connessione dell'utente. Sono utili perché è possibile saltare le richieste HTTP se si sa che l'utente è offline. È inoltre possibile visualizzare messaggi d'errore meno generici. Per esempio: se si sta scrivendo un client Twitter, un messaggio come “Nuovi tweet non possono essere caricati mentre si è offline” informa di più rispetto a “Impossibile effettuare una connessione HTTP.”
Alcune API consentono di determinare lo stato di connessione dell'utente. Esse sono utili perché rendono possibile evitare richieste HTTP inutili quando l'utente non è in linea. Rendono inoltre possibile visualizzare messaggi di errore più specifici. Per esempio, se si sta scrivendo su un client Twitter, un messaggio come “Impossibile caricare nuovi tweet quando il dispositivo non è in linea” fornisce all'utente un'informazione più utile rispetto a “Impossibile effettuare una connessione HTTP.”
---
Try to focus on loading data from your/others' API only when needed, and keep data cached so you don't have to request the same data twice. It can also be helpful to prefetch some data so the user can use parts of your app offline that they have yet to open.
Si provi a concentrarsi sul caricamento di dati da tue/altre API solo quando necessario, e a mantenere i dati memorizzati nella cache in modo da non dover richiedere gli stessi dati due volte. Ciò può essere utile anche per precaricare alcun dati in modo che l'utente possa utilizzare parti dell'app offilne che devono ancora aprire.
Cercare il più possibile di caricare dati dalle API proprie o altrui solo quando necessario e mantenere i dati memorizzati nella cache evita di richiedere gli stessi dati due volte. Un altro accorgimento utile è pre-caricare alcuni dati in modo che l'utente possa utilizzare anche non in linea parti dell'app che non ha ancora caricato.
---
A key factor in working well offline is to check whether the device has connectivity and to respond appropriately when it doesn't. A message to the user that the app won't work offline is better than getting stuck or getting a generic timeout error.
Un fattore chiave per lavorare bene offline è controllare se il dispositivo abbia connettività e se risponda in maniera appropriata quando non ne ha. Un messaggio che informi l'utente che l'app non funzionerà offline è preferibile rispetto al bloccarsi o a ricevere un errore di timeout generico.
Un fattore chiave per garantire un funzionamento non in linea ottimale è controllare sempre lo stato di connessione del dispositivo per fare in modo che l'app risponda in maniera appropriata quando non è in linea. Un messaggio di avviso che l'app non funziona perché non in linea è preferibile rispetto al blocco nel mezzo di un'operazione o a un errore di timeout generico.
---
The simplest way to do this is to check and listen for changes to the <a href="%(url)s"><code>window.navigator.onLine</code></a> property. Note that this value can sometimes return false positives.
Il modo più semplice per farlo è di controllare e ascoltare i cambianti alla proprietà <a href="%(url)s">window.navigator.onLine</code></a>. Da notare che questo valore potrebbe dare a volte falsi positivi.
Il modo più semplice per farlo è di controllare e attendere i cambiamenti alla proprietà <a href="%(url)s">window.navigator.onLine</code></a>. Da notare che questo valore può dare falsi positivi.
---
See also: <a href="%(url)s">Online and offline events</a>.
Vedere anche: <a href="%(url)s">Eventi online e offline</a>.
Vedere anche: <a href="%(url)s">Online and offline events</a>.
---
If you are using <a href="%(xhr_url)s">XMLHttpRequest</a> to update data dynamically, you can check its response to determine if the network connection has dropped during the use of your app. If your app has <a href="%(systemxhr_url)s">systemXHR privileges</a>, you can check for a connection to a site unlikely to be down to determine if you have an active connection (iOS does this with Apple.com).
Se si utilizza <a href="%(xhr_url)s">XMLHttpRequest</a> per aggiornare i dati dinamicamente, è possibile verificare la sua risposta per determinare se la connessione è diminuita durante l'uso dell'app. Se l'app possiede i privilegi <a href="%(systemxhr_url)s">systemXHR</a>, è possibile verificare la presenza di una connessione ad un sito che difficilmente non sia raggiungibile, per determinare se si dispone di una connessione attiva (iOS lo fa con Apple.com).
Se si utilizza <a href="%(xhr_url)s">XMLHttpRequest</a> per aggiornare i dati dinamicamente, è possibile determinare se la connessione è caduta durante l'utilizzo dell'app controllando le sue risposte. Se l'app possiede i privilegi <a href="%(systemxhr_url)s">systemXHR</a>, si può determinare se la connessione è attiva anche provando a connettersi a un sito che sia, con ragionevole certezza, raggiungibile in qualsiasi momento (i dispositivi iOS utilizzano Apple.com).
---
{num} Pending Theme Review
{num} Pending Theme Reviews
{num} Revisione Tema in attesa

{num} Revisioni Tema in attesa
{num} Revisione Tema in sospeso
{num} Revisioni Tema in sospeso
---