# generaltranslation: General Translation Core SDK: Guida rapida URL: https://generaltranslation.com/it/docs/core/quickstart.mdx --- title: Guida rapida description: Guida rapida alla libreria generaltranslation --- ## Panoramica Questa guida ti accompagnerà nelle basi dell'utilizzo della libreria generaltranslation. Vedremo la traduzione delle stringhe e dei file. *** ## Traduci la tua prima stringa ### 1. Recupera le tue variabili d'ambiente Il primo passo è creare un `GT_PROJECT_ID` e una `GT_API_KEY`. È completamente gratuito e ti darà accesso ai servizi di traduzione. Vai alla pagina [`API Keys`](https://dash.generaltranslation.com/api-keys) e fai clic su `Create API Key`. Scegli un nome per la tua chiave API e fai clic su `Create`. ![Pagina della chiave API](https://assets.gtx.dev/core/quickstart/core-quickstart-1.png) General Translation offre limiti gratuiti molto elevati per supportare progetti personali, sviluppatori indipendenti e la community. ### 2. Inizializza la classe GT Inizializza la classe [`GT`](/docs/core/class/constructor) e fornisci in modo sicuro il tuo `GT_PROJECT_ID` e `GT_API_KEY`. ```typescript title="src/index.ts" import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); ``` ### 3. Traduci la tua prima stringa Chiama il metodo [`translate`](/docs/core/class/methods/translation/translate) per tradurre la tua stringa. Passa la stringa che vuoi tradurre e l'impostazione regionale di destinazione. ```typescript title="src/index.ts" const result = await gt.translate('Hello, world!', 'es'); // Spagnolo if (result.success) { console.log(result.translation); // "¡Hola, mundo!" } else { console.error(`Traduzione non riuscita: ${result.error}`); } ``` Se vuoi cercare un codice locale, consulta la pagina delle [impostazioni regionali supportate](/docs/platform/supported-locales). *** ## Traduci il tuo primo file Questa guida presuppone che tu abbia già seguito i passaggi 1 e 2 della guida [Traduci la tua prima stringa](/docs/core/quickstart#translate-your-first-string) e che tu disponga di `GT_PROJECT_ID`, `GT_API_KEY` e di un'istanza della classe `GT`. Supponiamo che tu voglia tradurre in spagnolo un file chiamato `en.json`. ```json title="en.json" { "hello": "Hello", "world": "World" } ``` Per tradurre un file, segui questi quattro passaggi: 1. Carica il file 2. Metti il file in coda per la traduzione 3. Controlla lo stato del file (facoltativo) 4. Scarica il file tradotto. #### Perché non una sola chiamata? In genere, si vuole tradurre molti file contemporaneamente. Suddividere il processo in quattro passaggi chiari offre agli utenti molta più flessibilità nel modo in cui possono usare l'API. ### 1. Carica il file Il caricamento dei file restituisce un elenco di riferimenti ai file con il metodo [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files). Questo ti consente in seguito di mettere in coda il file per la traduzione, controllarne lo stato e scaricare il file tradotto. ```typescript title="src/index.ts" import fs from 'fs'; import path from 'path'; import { FileUpload } from 'generaltranslation'; // (i) Leggi il contenuto di un file const filePath = path.join(process.cwd(), 'en.json'); const fileContents = fs.readFileSync(filePath, 'utf8'); // (ii) Formatta il contenuto del file const fileUpload: FileUpload = { content: fileContents, fileName: filePath, fileFormat: 'JSON', locale: 'en', }; const files = [ { source: fileUpload } ]; // (iii) Carica il file const { uploadedFiles } = await gt.uploadSourceFiles( files, { sourceLocale: 'en' } ); ``` Questo restituirà un elenco di riferimenti ai file: ```ts title="Output" [ { fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e', versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121', branchId: '123456789', fileName: '/Users/demo/en.json', fileFormat: 'JSON' } ] ``` ### 2. Metti il file in coda per la traduzione Il passaggio successivo è selezionare le impostazioni regionali di destinazione per la traduzione con il metodo [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files). In questo caso, tradurremo in spagnolo. ```typescript title="src/index.ts" const fileUploadRef = { fileId: uploadedFiles[0].fileId, versionId: uploadedFiles[0].versionId, branchId: uploadedFiles[0].branchId, fileName: uploadedFiles[0].fileName, fileFormat: uploadedFiles[0].fileFormat, }; const enqueueResult = await gt.enqueueFiles( [fileUploadRef], { sourceLocale: 'en', targetLocales: ['es'], }); ``` Questo restituirà un risultato contenente le informazioni sul job: ```ts title="Output" { jobId: 'job-123456', locales: [ 'es' ], message: 'Creating 1 translation(s).' } ``` ### 3. Verifica lo stato del file Ok, ora che il file è stato caricato, come facciamo a sapere quando è pronto per il download? Possiamo usare il metodo [`queryFileData`](/docs/core/class/methods/translation/query-file-data) per verificare lo stato del file. ```typescript title="src/index.ts" const { fileId, versionId, branchId } = uploadedFiles[0]; const status = await gt.queryFileData({ translatedFiles: [{ fileId, versionId, branchId, locale: 'es' }] }); ``` Se il file è ancora in fase di traduzione, `completedAt` sarà `null`. Una volta completata la traduzione, conterrà un timestamp. ```ts title="Output" { translatedFiles: [ { fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e', versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121', branchId: '123456789', locale: 'es', completedAt: '2024-01-15T12:00:00Z', ... } ] } ``` ### 4. Scarica il file tradotto Infine, puoi scaricare il file tradotto con il metodo [`downloadFile`](/docs/core/class/methods/translation/download-file). ```typescript title="src/index.ts" const { fileId, branchId } = uploadedFiles[0]; const content = await gt.downloadFile({ fileId, branchId, locale: 'es', }); ``` Questo restituirà il contenuto tradotto del file: ```ts title="Output" { "hello": "Hola", "world": "Mundo" } ```