Browse Source

Merge pull request #7299 from Gioggio/master

Docs: Start Italian translations
Kevin Sawicki 8 years ago
parent
commit
f5694daeb7
3 changed files with 513 additions and 0 deletions
  1. 100 0
      docs-translations/it-IT/README.md
  2. 167 0
      docs-translations/it-IT/faq.md
  3. 246 0
      docs-translations/it-IT/styleguide.md

+ 100 - 0
docs-translations/it-IT/README.md

@@ -0,0 +1,100 @@
+Sii certo di usare la documentazione che corrisponde alla tua versione di
+Electron. Il numero della versione dovrebbe fare parte dell'URL della pagina.
+Se così non fosse, stai probabilmente utilizzando una documentazione facente
+parte di una branch di sviluppo che potrebbe contenere modifiche all'API che non
+sono compatibili con la tua versione di Electron. In questo caso, puoi passare a
+una differente versione della documentazione dalla lista di
+[versioni disponibili](http://electron.atom.io/docs/) su atom.io, o nel caso tu
+stia usando l'interfaccia di GitHub, apri il menu a tendina "Switch
+branches/tags" e seleziona il tag che corrisponde alla tua versione.
+
+## FAQ
+
+Ci sono domande che vengono chieste abbastanza spesso, quindi controlla questa
+sezione prima di creare una issue:
+
+* [Electron FAQ](faq.md)
+
+## Guide
+
+* [Piattaforme Supportate](tutorial/piattaforme-supportate.md)
+* [Sicurezza](tutorial/sicurezza.md)
+* [Versionamento Electron](tutorial/versionamento-electron.md)
+* [Distribuzione dell'Applicazione](tutorial/distribuzione-applicazione.md)
+* [Guida Mac App Store](tutorial/guida-mac-app-store.md)
+* [Guida Windows Store](tutorial/guida-windows-store.md)
+* [Packaging Applicazione](tutorial/packaging-applicazione.md)
+* [Usare Moduli Node Nativi](tutorial/usare-moduli-node-nativi.md)
+* [Debugging Processo Principale](tutorial/debugging-processo-principale.md)
+* [Usare Selenium e WebDriver](tutorial/usare-selenium-e-webdriver.md)
+* [Estensioni DevTools](tutorial/estensioni-devtools.md)
+* [Usare Plugin Pepper Flash](tutorial/usare-plugin-pepper-flash.md)
+* [Usare Plugin Widevine CDM](tutorial/usare-plugin-widevine-cdm.md)
+* [Testare su Sistemi Headless CI (Travis, Jenkins)](tutorial/testare-su-sistemi-headless-ci.md)
+* [Rendering Offscreen](tutorial/rendering-offscreen.md)
+
+## Tutorial
+
+* [Guida Rapida](tutorial/guida-rapida.md)
+* [Integrazione Ambiente Desktop](tutorial/integrazione-ambiente-desktop.md)
+* [Rilevazione Eventi Online/Offline](tutorial/eventi-online-offline.md)
+
+## Documentazione API
+
+* [Sinossi](api/sinossi.md)
+* [Oggetto Process](api/process.md)
+* [Parametri Linea di Comando Chrome Supportati](api/parametri-linea-comando-chrome.md)
+* [Variabili di Ambiente](api/variabili-ambiente.md)
+
+### Elementi personalizzati DOM:
+
+* [Oggetto `File`](api/oggetto-file.md)
+* [Tag `<webview>`](api/web-view-tag.md)
+* [Funzione `window.open`](api/window-open.md)
+
+### Moduli per il Processo Main:
+
+* [app](api/app.md)
+* [autoUpdater](api/auto-updater.md)
+* [BrowserWindow](api/browser-window.md)
+* [contentTracing](api/content-tracing.md)
+* [dialog](api/dialog.md)
+* [globalShortcut](api/global-shortcut.md)
+* [ipcMain](api/ipc-main.md)
+* [Menu](api/menu.md)
+* [MenuItem](api/menu-item.md)
+* [powerMonitor](api/power-monitor.md)
+* [powerSaveBlocker](api/power-save-blocker.md)
+* [protocol](api/protocol.md)
+* [session](api/session.md)
+* [systemPreferences](api/system-preferences.md)
+* [Tray](api/tray.md)
+* [webContents](api/web-contents.md)
+
+### Moduli per il Processo di Rendering (Pagina Web):
+
+* [desktopCapturer](api/desktop-capturer.md)
+* [ipcRenderer](api/ipc-renderer.md)
+* [remote](api/remote.md)
+* [webFrame](api/web-frame.md)
+
+### Moduli per Entrambi i Processi:
+
+* [clipboard](api/clipboard.md)
+* [crashReporter](api/crash-reporter.md)
+* [nativeImage](api/native-image.md)
+* [screen](api/screen.md)
+* [shell](api/shell.md)
+
+## Sviluppo
+
+* [Stile Codice](development/stile-codice.md)
+* [Struttura Cartella Codice Sorgente](development/struttura-cartella-codice-sorgente.md)
+* [Differenze Tecniche da NW.js (precedentemente node-webkit)](development/atom-shell-vs-node-webkit.md)
+* [Panoramica Sistema di Build](development/panoramica-sistema-build.md)
+* [Istruzioni Build (macOS)](development/istruzioni-build-macos.md)
+* [Istruzioni Build (Windows)](development/istruzioni-build-windows.md)
+* [Istruzioni Build (Linux)](development/istruzioni-build-linux.md)
+* [Istruzioni Debug (macOS)](development/istruzioni-debug-macos.md)
+* [Istruzioni Debug (Windows)](development/istruzioni-debug-windows.md)
+* [Impostare Symbol Server nel debugger](development/impostare-symbol-server.md)

+ 167 - 0
docs-translations/it-IT/faq.md

@@ -0,0 +1,167 @@
+# Electron FAQ
+
+## Quando verrà utilizzata l'ultima versione di Chrome per Electron?
+
+La versione di Chrome usata da Electron viene aggiornata solitamente entro una o
+due settimane dal rilascio di una versione stabile di Chrome. Questa stima non è
+garantita e dipende dall'ammontare di lavoro necessario all'aggiornamento.
+
+E' utilizzato solo il canale stabile di Chrome. Se un fix importante si trovasse
+sui canali beta o dev, lo applicheremo a una versione precedente.
+
+Per maggiori informazioni, leggi l'[introduzione alla sicurezza](tutorial/sicurezza.md).
+
+## Quando verrà utilizzata l'ultima versione di Node.js per Electron?
+
+Quando una nuova versione di Node.js viene rilasciata, aspettiamo per circa un
+mese prima di aggiornare quella di Electron. Possiamo così evitare di essere
+influenzati dai bug introdotti nelle nuove versioni di Node.js, cosa che accade
+spesso.
+
+Le nuove funzionalità di Node.js sono solitamente introdotte dagli aggiornamenti
+di V8. Siccome Electron usa la versione di V8 integrata nel browser Chrome, le
+nuove funzionalità di JavaScript implementate nella nuova versione di Node.js
+sono già presenti in Electron.
+
+## Come condividere dati tra pagine web?
+
+Il modo più semplice per condividere dati tra pagine web (il processo di 
+rendering) è usare le API di HTML5 già disponibili nei browser. Alcune buone
+opzioni sono [Storage API][storage], [`localStorage`][local-storage],
+[`sessionStorage`][session-storage] e [IndexDB][indexed-db].
+
+Oppure puoi usare il sistema IPC, che è specifico di Electron, per memorizzare
+gli oggetti nel processo principale come variabile globale e accedervi poi
+dai renderer tramite la proprietà `remote` del modulo `electron`:
+
+```javascript
+// Nel processo principale.
+global.sharedObject = {
+  someProperty: 'valore di default'
+}
+```
+
+```javascript
+// Nella pagina 1.
+require('electron').remote.getGlobal('sharedObject').someProperty = 'nuovo valore'
+```
+
+```javascript
+// Nella pagina 2.
+console.log(require('electron').remote.getGlobal('sharedObject').someProperty)
+```
+
+## La finestra/icona della mia app è sparita dopo qualche minuto.
+
+Ciò accade quando una variabile usata per la memorizzazione della finestra/
+icona viene garbage-collected.
+
+Se dovessi incontrare questo problema, i seguenti articoli potrebbero esserti
+d'aiuto:
+
+* [Gestione Memoria][memory-management]
+* [Visibilità Variabili][variable-scope]
+
+Se hai bisogno di un fix veloce, puoi rendere le variabili globali cambiando il
+tuo codice da così:
+
+```javascript
+const {app, Tray} = require('electron')
+app.on('ready', () => {
+  const tray = new Tray('/percorso/icona.png')
+  tray.setTitle('ciao mondo')
+})
+```
+
+a così:
+
+```javascript
+const {app, Tray} = require('electron')
+let tray = null
+app.on('ready', () => {
+  tray = new Tray('/percorso/icona.png')
+  tray.setTitle('ciao mondo')
+})
+```
+
+## Non posso usare jQuery/RequireJS/Meteor/AngularJS in Electron.
+
+Data l'integrazione di Node.js di Electron, vi sono alcuni simboli extra
+inseriti nel DOM quali `module`, `exports`, `require`. Ciò causa problemi ad
+alcune librerie in quanto vogliono inserire simboli con gli stessi nomi.
+
+Per risolvere il problema, puoi disattivare l'integrazione di Node in Electron:
+
+```javascript
+// Nel processo principale.
+const {BrowserWindow} = require('electron')
+let win = new BrowserWindow({
+  webPreferences: {
+    nodeIntegration: false
+  }
+})
+win.show()
+```
+
+Se invece volessi mantenere la capacità di usare Node.js e le API di Electron,
+devi rinominare i simboli nella pagina prima di includere altre librerie:
+
+```html
+<head>
+<script>
+window.nodeRequire = require;
+delete window.require;
+delete window.exports;
+delete window.module;
+</script>
+<script type="text/javascript" src="jquery.js"></script>
+</head>
+```
+
+## `require('electron').xxx` is undefined.
+
+Mentre usi il modulo integrato di Electron potresti incorrere in un errore
+come questo:
+
+```
+> require('electron').webFrame.setZoomFactor(1.0)
+Uncaught TypeError: Cannot read property 'setZoomLevel' of undefined
+```
+
+Ciò è causato dal fatto che hai il [modulo npm `electron`][electron-module]
+installato localmente o globalmente, e ciò sovrascrive il modulo integrato di
+Electron.
+
+Per verificare che tu stia usando il modulo integrato corretto, puoi stampare a
+schermo il percorso del modulo `electron`:
+
+```javascript
+console.log(require.resolve('electron'))
+```
+
+e dopodiché controlla che sia in questa forma
+
+```
+"/percorso/Electron.app/Contents/Resources/atom.asar/renderer/api/lib/exports/electron.js"
+```
+
+Se dovesse essere simile a `node_modules/electron/index.js`, allora devi
+rimuovere il modulo npm `electron` oppure rinominarlo.
+
+```bash
+npm uninstall electron
+npm uninstall -g electron
+```
+
+Tuttavia, se usi il modulo integrato e continui a ricevere questo errore è molto
+probabile che tu stia usando il modulo in un processo sbagliato. Per esempio
+`electron.app` può essere usato solo nel processo principale, mentre
+`electron.webFrame` è disponibile solo nel processo di rendering.
+
+[memory-management]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
+[variable-scope]: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx
+[electron-module]: https://www.npmjs.com/package/electron
+[storage]: https://developer.mozilla.org/en-US/docs/Web/API/Storage
+[local-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
+[session-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
+[indexed-db]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API

+ 246 - 0
docs-translations/it-IT/styleguide.md

@@ -0,0 +1,246 @@
+# Guida allo Stile della Documentazione
+
+Queste sono le linee guida per la stesura della documentazione di Electron.
+
+## Titoli
+
+* Ogni pagina deve avere un singolo titolo di livello `#` all'inizio.
+* I capitoli di una stessa pagina devono avere titoli di livello `##`.
+* I sotto-capitoli devono avere un numero crescente di `#` a seconda del loro
+livello di annidamento.
+* Tutte le parole nel titolo della pagina devono iniziare con la lettera
+maiuscola, a eccezione delle congiunzioni come "di" ed "e".
+* Solo la prima lettera della prima parola di un capitolo deve essere maiuscola.
+
+Prendendo `Guida Rapida` come esempio:
+
+```markdown
+# Guida Rapida
+
+...
+
+## Processo principale
+
+...
+
+## Processo di rendering
+
+...
+
+## Esegui la tua app
+
+...
+
+### Crea una distribuzione
+
+...
+
+### Electron scaricato manualmente
+
+...
+```
+
+Esistono eccezioni a queste regole per quanto riguarda la documentazione delle
+API.
+
+## Regole markdown
+
+* Usa `bash` invece di `cmd` nei blocchi di codice (per via della diversa
+evidenziazione della sintassi).
+* Le linee devono essere lunghe al massimo 80 caratteri.
+* Non annidare le liste per più di due livelli (per via del rendering compiuto
+da markdown).
+* Tutti i blocchi di codice `js` o `javascript` sono analizzati con
+[standard-markdown](http://npm.im/standard-markdown). 
+
+## Documentazione API
+
+Le regole seguenti vengono applicate solo alla documentazione delle API.
+
+### Titolo della pagina
+
+Ogni pagina deve avere come titolo il nome dell'oggetto a cui si riferisce
+seguito da `require('electron')`, come ad esempio `BrowserWindow`, `autoUpdater`
+e `session`.
+
+Sotto il titolo della pagina deve esserci una descrizione della lunghezza di una
+linea che comincia con `>`.
+
+Prendendo `session` come esempio:
+
+```markdown
+# session
+
+> Gestisce le sessioni browser, cookies, cache, impostazioni proxy, etc.
+```
+
+### Metodi ed eventi dei moduli
+
+Per i moduli che non sono classi, i loro metodi ed eventi devono essere elencati
+sotto i capitoli `## Metodi` ed `## Eventi`.
+
+Prendendo `autoUpdate` come esempio:
+
+```markdown
+# autoUpdater
+
+## Eventi
+
+### Evento: 'error'
+
+## Metodi
+
+### `autoUpdater.setFeedURL(url[, requestHeaders])`
+```
+
+### Classi
+
+* Le classi API e le classi che sono parte di moduli devono essere elencate
+sotto un capitolo `## Classe: NomeDellaClasse`.
+* Una pagina può avere più classi.
+* I costruttoi devono essere elencati con un titolo di livello `###`.
+* I [Metodi Statici](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static) (Inglese) devono essere elencati sotto un capitolo
+`### Metodi Statici`.
+* I [Metodi di Istanza](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes#Prototype_methods) (Inglese) devono essere elencati sotto un
+capitolo `### Metodi di Istanza`.
+* Gli Eventi di Istanza devono essere elencati sotto un capitolo
+`## Eventi di Istanza`.
+* Le Proprietà di Istanza devono essere elencate sotto un capitolo `## Proprietà di Istanza`.
+
+Prendendo le classi `Session` e `Cookies` come esempi:
+
+```markdown
+# session
+
+## Metodi
+
+### session.fromPartition(partition)
+
+## Proprietà
+
+### session.defaultSession
+
+## Classe: Session
+
+### Eventi di Istanza
+
+#### Evento: 'will-download'
+
+### Metodi di Istanza
+
+#### `ses.getCacheSize(callback)`
+
+### Proprietà di Istanza
+
+#### `ses.cookies`
+
+## Classe: Cookies
+
+### Metodi di Istanza
+
+#### `cookies.get(filter, callback)`
+```
+
+### Metodi
+
+Il capitolo dei metodi deve seguire il seguente formato:
+
+```markdown
+### `objectName.methodName(required[, optional]))`
+
+* `required` String
+* `optional` Integer (optional)
+
+...
+```
+
+Il titolo può essere di livello `###` o `####` a seconda che sia un metodo di
+un modulo o di una classe.
+
+Per i moduli, il `nomeOggetto` è il nome del modulo. Per le classi, deve essere
+il nome dell'istanza della classe e non deve essere lo stesso del modulo.
+
+Per esempio, i metodi della classe `Session` sotto il modulo `session` devono
+usare `ses` come `nomeOggetto`.
+
+I parametri opzionali sono caratterizzati sia dalle parentesi quadre `[]` che
+circondano il parametro, sia dalla virgola obbligatoria in caso il parametro
+ne segua un altro.
+
+```
+required[, optional]
+```
+
+Sotto ogni metodo si trovano informazioni dettagliate su ogni parametro. Il tipo
+di parametro è caratterizzato da uno dei tipi di dati comuni:
+
+* [`String`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)
+* [`Number`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)
+* [`Object`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object)
+* [`Array`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)
+* [`Boolean`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean)
+* O da un tipo di dati personalizzato come [`WebContent`](api/web-content.md) di
+Electron
+
+Se un parametro o un metodo sono limitati a certe piattaforme, esse sono
+segnalate, dopo il tipo di dato, attraverso l'uso di una lista di elementi in
+corsivo e delimitati da uno spazio. I valori possono essere `macOS`,
+`Windows` e `Linux`.
+
+```markdown
+* `animate` Boolean (optional) _macOS_ _Windows_
+```
+
+I parametri di tipo `Array` devono specificare nella descrizione sottostante
+che elementi può contenere l'array.
+
+La descrizione per i parametri di tipo `Funzione` dovrebbero rendere chiaro come
+sia possibile chiamarli, ed elencare i tipi di parametri che vi saranno passati.
+
+### Eventi
+
+Il capitolo degli eventi deve seguire il seguente formato:
+
+```markdown
+### Evento: 'wake-up'
+
+Ritorna:
+
+* `time` String
+
+...
+```
+
+Il titolo può essere di livello `###` o `####` a seconda che sia di un evento di
+un modulo o di una classe.
+
+I parametri di un evento seguono le stesse regole di quelli dei metodi.
+
+### Proprietà
+
+Il capitolo delle proprietà deve seguire il seguente formato:
+
+```markdown
+### session.defaultSession
+
+...
+```
+
+Il titolo può essere di livello `###` o `####` a seconda che sia una proprietà
+di un metodo o di una classe.
+
+## Traduzioni della Documentazione
+
+Le traduzioni della documentazione di Electron si trovano nella cartella
+`docs-translations`.
+
+Per aggiungere un altro set (o set parziale):
+
+* Crea una sottocartella che abbia come nome il codice della lingua.
+* Traduci i file.
+* Aggiorna il file README.md dentro la cartella della lingua in modo che
+reindirizzi ai file che hai tradotto.
+* Aggiungi un collegamento alla cartella della traduzione nel [README](https://github.com/electron/electron#documentation-translations) principale di Electron.
+
+Nota che tutti i file nella cartella `docs-translations` devono includere solo
+i file tradotti. I file originali in inglese non devono essere copiati lì.