Amazon Translate Guida per gli sviluppatori - Amazon.com

 
Amazon Translate Guida per gli sviluppatori - Amazon.com
Amazon Translate
Guida per gli sviluppatori
Amazon Translate Guida per gli sviluppatori - Amazon.com
Amazon Translate Guida per gli sviluppatori

Amazon Translate: Guida per gli sviluppatori
Copyright © 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
Amazon Translate Guida per gli sviluppatori

Table of Contents
  Che cos'è Amazon Translate? .............................................................................................................. 1
       È la prima volta che utilizzi Amazon Translate? ............................................................................... 2
       Coppie di lingue supportate .......................................................................................................... 2
  Come funziona ................................................................................................................................... 4
       Rilevamento automatico della lingua .............................................................................................. 5
       Gestione delle eccezioni .............................................................................................................. 5
       Fasi successive .......................................................................................................................... 5
  Nozioni di base .................................................................................................................................. 6
       Fase 1: impostazione di un account .............................................................................................. 6
              Registrarsi ad AWS ............................................................................................................ 6
              Creazione di un utente IAM ................................................................................................. 7
              Fase successiva ................................................................................................................. 7
       Fase 2: configurazione diAWS CLI ................................................................................................ 7
              Fase successiva ................................................................................................................. 8
       Fase 3: nozioni di base (console) ................................................................................................. 8
              Fase successiva ................................................................................................................. 9
       Fase 4. Nozioni di base (AWS CLI) ............................................................................................... 9
              Traduzione del testo utilizzando la riga di comando ................................................................ 10
              Traduzione del testo utilizzando un file JSON ........................................................................ 10
              Fase successiva ............................................................................................................... 11
       Fase 5. Nozioni di base (SDK) ................................................................................................... 11
              Utilizzo di SDK per Java .................................................................................................... 11
              Utilizzo del kit SDK AWS per Python ................................................................................... 12
              Utilizzo di Mobile SDK per Android ...................................................................................... 14
              Utilizzo di Mobile SDK for iOS ............................................................................................ 15
  Terminologia personalizzata ............................................................................................................... 18
       Come funziona? ....................................................................................................................... 18
       Creazione di una terminologia personalizzata ................................................................................ 18
              Lingue compatibili ............................................................................................................. 19
       Uso di terminologie personalizzate .............................................................................................. 20
       Crittografia della terminologia ...................................................................................................... 21
       Buone prassi ............................................................................................................................ 21
  Esempi ............................................................................................................................................ 22
       Utilizzo di Amazon Polly con Amazon Translate ............................................................................ 22
              Code ............................................................................................................................... 22
       Utilizzo di Amazon Translate per tradurre un canale di chat ............................................................. 26
       Utilizzo di Amazon Translate con DynamoDB ................................................................................ 34
              Codice di esempio ............................................................................................................ 35
       Utilizzo di Amazon Translate per tradurre una pagina Web .............................................................. 37
       Utilizzo di Amazon Translate per tradurre documenti di grandi dimensioni .......................................... 40
       Utilizzo di Signature Version 4 con Amazon Translate .................................................................... 42
              Configurazione ................................................................................................................. 42
              Code ............................................................................................................................... 43
  Autenticazione e controllo degli accessi ............................................................................................... 46
       Autenticazione .......................................................................................................................... 46
       Controllo degli accessi ............................................................................................................... 47
       Panoramica della gestione degli accessi ....................................................................................... 47
              Gestione degli accessi alle operazioni .................................................................................. 47
              Definizione degli elementi delle policy: risorse, operazioni, effetti ed entità principali ..................... 48
              Specifica delle condizioni in una policy ................................................................................. 49
       Utilizzo di policy basate sulle identità (policy IAM) per Amazon Translate ........................................... 49
              Policy KMS necessarie quando si utilizza KMS CMKS con terminologie personalizzate Amazon
              Translate. ........................................................................................................................ 50
       Riferimento per le autorizzazioni API Amazon Translate .................................................................. 51

                                                                         iii
Amazon Translate Guida per gli sviluppatori

Monitoraggio ....................................................................................................................................   53
     Monitoraggio con CloudWatch ....................................................................................................               55
           Informazioni sui parametri CloudWatch per Amazon Translate .................................................                             55
           Visualizzazione dei parametri Amazon Translate ....................................................................                      55
     Parametri e dimensioni CloudWatch per Amazon Translate .............................................................                           56
           CloudWatch Metrics for Amazon Translate ............................................................................                     56
           CloudWatch Dimensions for Amazon Translate .....................................................................                         57
Linee guida e limiti ............................................................................................................................   58
     Regioni supportate ....................................................................................................................        58
     Throttling .................................................................................................................................   58
     Linee guida ..............................................................................................................................     58
     Restrizioni dei servizi .................................................................................................................      58
Cronologia dei documenti ...................................................................................................................        60
Documentazione di riferimento all'API ..................................................................................................            62
     Intestazioni HTTP .....................................................................................................................        62
     Actions ....................................................................................................................................   62
           DeleteTerminology ............................................................................................................           64
           GetTerminology ................................................................................................................          66
           ImportTerminology .............................................................................................................          69
           ListTerminologies ..............................................................................................................         72
           TranslateText ...................................................................................................................        75
     Data Types ..............................................................................................................................      78
           AppliedTerminology ...........................................................................................................           80
           EncryptionKey ..................................................................................................................         81
           Term ...............................................................................................................................     82
           TerminologyData ...............................................................................................................          83
           TerminologyDataLocation ...................................................................................................              84
           TerminologyProperties .......................................................................................................            85
     Common Errors ........................................................................................................................         86
     Common Parameters .................................................................................................................            88
AWS Glossary ..................................................................................................................................     91

                                                                      iv
Amazon Translate Guida per gli sviluppatori

Che cos'è Amazon Translate?
   Amazon Translate utilizza tecnologie di machine learning avanzate per fornire traduzioni di alta qualità su
   richiesta. Utilizzalo per tradurre documenti di testo non strutturati o per creare applicazioni che funzionano
   in più lingue.

   Amazon Translate traduce documenti tra le seguenti lingue:

    Arabo                 Cinese                 Cinese                 Ceco                   Danese
                          (semplificato)         (tradizionale)

    Olandese              English                Finlandese             Francese               Tedesco

    Ebraico               Indonesiano            Italiano               Giapponese             Coreano

    Polacco               Portoghese             Russo                  Spagnolo               Svedese

    Turco

       Note

       Non tutte le traduzioni tra le combinazioni linguistiche (note come coppie di lingue) sono
       attualmente supportate da Amazon Translate. Per ulteriori informazioni, consulta Coppie di lingue
       supportate (p. 2).

   Ad esempio, è possibile:

   • Integrare Amazon Translate nelle applicazioni per abilitare esperienze utente multilingua.
     • Tradurre contenuti creati dall'azienda, ad esempio verbali di riunioni, rapporti tecnici, articoli della
       knowledge-base, post e molto altro.
     • Tradurre comunicazioni interpersonali, ad esempio e-mail, chat nel gioco, chat del servizio clienti e
       molto altro, consentendo ai clienti e ai dipendenti di connettersi nella lingua preferita.
   • Utilizzare Amazon Translate come parte del flusso di lavoro dell'azienda per i dati in entrata.
     • Analizzare testo, ad esempio social media e neswfeed, in molte lingue.
     • Cercare informazioni, ad esempio per casi eDiscovery, in molte lingue.
   • Integrare Amazon Translate con altri servizi AWS per abilitare elaborazione multilingue.
     • Utilizzarlo con Amazon Comprehend per estrarre entità denominate, sentiment e frasi chiave da testo
       non strutturato, ad esempio flussi di social media.
     • Utilizzarlo con Amazon Transcribe per creare sottotitoli e didascalie live disponibili in molte lingue.
     • Utilizzarlo con Amazon Polly per pronunciare i contenuti tradotti.
     • Utilizzarlo con Amazon S3 per tradurre archivi di documenti.
     • Utilizzarlo con Amazon DynamoDB, Amazon Aurora e Amazon Redshift per tradurre testo archiviato in
       database.
     • Utilizzarlo con AWS Lambda o AWS Glue per l'integrazione flusso di lavoro omogenea.

   Questo è un servizio idoneo ai fini HIPAA. Per ulteriori informazioni su AWS, sull'Health Insurance
   Portability and Accountability Act statunitense del 1996 (HIPAA) e sull'utilizzo dei servizi AWS per
   elaborare, archiviare e trasmettere informazioni sanitarie protette (Protected Health Information, PHI),
   consulta Panoramica di HIPAA.

                                                     1
Amazon Translate Guida per gli sviluppatori
                                  È la prima volta che utilizzi Amazon Translate?

È la prima volta che utilizzi Amazon Translate?
     Se lo usi per la prima volta, ti consigliamo di leggere le seguenti sezioni in ordine:

     1. Funzionamento di Amazon Translate (p. 4)—Presenta Amazon Translate.
     2. Nozioni di base su Amazon Translate (p. 6) – Spiega come impostare l'account AWS e testare
        Amazon Translate.
     3. Esempi (p. 22) – Fornisce esempi di codice in Java e Python. Utilizzali per scoprire come funziona
        Amazon Translate.
     4. Documentazione di riferimento all'API (p. 62) – Contiene documentazione di riferimento per le
        operazioni Amazon Translate.

Coppie di lingue supportate
     Amazon Translate utilizza tecnologie di machine learning avanzate per fornire la traduzione dalla lingua di
     origine (la lingua di input) alla lingua di destinazione (la lingua di output). La combinazione lingua di origine-
     lingua di destinazione è nota come coppia di lingue.

     Amazon Translate traduce documenti tra le seguenti lingue:

      Arabo                     Cinese                   Cinese                    Ceco                    Danese
                                (semplificato)           (tradizionale)

      Olandese                  English                  Finlandese                Francese                Tedesco

      Ebraico                   Indonesiano              Italiano                  Giapponese              Coreano

      Polacco                   Portoghese               Russo                     Spagnolo                Svedese

      Turco

     Non tutte le coppie di lingue possibili dell'elenco precedente sono attualmente supportate per la traduzione
     da Amazon Translate. La seguente tabella mostra quali lingue sono supportate.

     Coppie di lingue supportate
         Note

         Le righe indicano la lingua di origine e le colonne indicano la lingua di destinazione.

           Arabo
               Cinese
                   Cinese
                        CecoDanese
                                Olandese
                                    English
                                         Finlandese
                                              Francese
                                                  Tedesco
                                                       Ebraico
                                                           Indonesiano
                                                               Italiano
                                                                     Giapponese
                                                                         Coreano
                                                                             Polacco
                                                                                 Portoghese
                                                                                      Russo
                                                                                          Spagnolo
                                                                                              Svedese
                                                                                                   Turco
               (sempl.)
                   (trad.)

      Arabo
          --     sì   sì   sì      sì     sì   sì   sì    sì       sì   sì   sì   sì   sì   sì   sì   sì    sì   sì   sì   sì

      Cinese
          sì --       no sì        sì     sì   sì   sì    sì       sì   sì   sì   sì   sì   sì   sì   sì    sì   sì   sì   sì
      (sempl.)

      Cinese
           sì    no --     sì      sì     sì   sì   sì    sì       sì   sì   sì   sì   sì   sì   sì   sì    sì   sì   sì   sì
      (trad.)

      Cecosì     sì   sì   --      sì     sì   sì   sì    sì       sì   sì   sì   sì   sì   sì   sì   sì    sì   sì   sì   sì

      Danese
          sì sì       sì   sì      --     sì   sì   sì    sì       sì   sì   sì   sì   sì   sì   sì   sì    sì   sì   sì   sì

                                                               2
Amazon Translate Guida per gli sviluppatori
                                 Coppie di lingue supportate

     Arabo
         Cinese
             Cinese
                  CecoDanese
                          Olandese
                              English
                                   Finlandese
                                        Francese
                                            Tedesco
                                                 Ebraico
                                                     Indonesiano
                                                         Italiano
                                                               Giapponese
                                                                   Coreano
                                                                       Polacco
                                                                           Portoghese
                                                                                Russo
                                                                                    Spagnolo
                                                                                        Svedese
                                                                                             Turco
         (sempl.)
             (trad.)

Olandese
    sì sì       sì   sì   sì   --   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Inglese
     sì    sì   sì   sì   sì   sì   --   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Finlandese
     sì sì      sì   sì   sì   sì   sì   --   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Francese
    sì sì       sì   sì   sì   sì   sì   sì   --       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Tedesco
    sì sì       sì   sì   sì   sì   sì   sì   sì       --   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Ebraico
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   --   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì

Indonesiano
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   sì   --   sì   sì   sì   sì   sì   sì   sì   sì   sì

Italiano
      sì   sì   sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   --   sì   sì   sì   sì   sì   sì   sì   sì

Giapponese
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   --   sì   sì   sì   sì   sì   sì   sì

Coreano
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   no sì     sì   sì   --   sì   sì   sì   sì   sì   sì

Polacco
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   --   sì   sì   sì   sì   sì

Portoghese
     sì sì      sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   --   sì   sì   sì   sì

Russo
    sì     sì   sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   --   sì   sì   sì

Spagnolo
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   --   sì   sì

Svedese
    sì sì       sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   --   sì

Turcosì    sì   sì   sì   sì   sì   sì   sì   sì       sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   sì   --

                                                   3
Amazon Translate Guida per gli sviluppatori

Funzionamento di Amazon Translate
   Il servizio Amazon Translate servizio si basa su reti neurali addestrate per la traduzione. Questo consente
   di eseguire la traduzione tra una lingua di origine (la lingua originale del testo che viene tradotto) e una
   lingua di destinazione (la lingua in cui il testo viene tradotto). Non è necessario utilizzare l'inglese come
   lingua di origine o di destinazione, ma non tutte le combinazioni linguistiche sono supportate da Amazon
   Translate. Per ulteriori informazioni, consulta Coppie di lingue supportate (p. 2).

   Quando utilizzi Amazon Translate, occorre fornire testo di origine per ottenere testo di output:

   • Testo di origine – Testo da tradurre. Il formato del testo di origine deve essere UTF-8.
   • Testo di output – Il testo che è stato tradotto da Amazon Translate nella lingua di destinazione. Anche il
     formato del testo di output è UTF-8. A seconda delle lingua di origine e di destinazione, il testo di output
     potrebbe contenere più caratteri del testo di input.

   Il modello di traduzione dispone di due componenti: encoder e decoder. L'encoder legge la frase di origine
   una parola alla volta e costruisce una rappresentazione semantica che ne cattura il significato. Il decoder
   utilizza la rappresentazione semantica per generare una traduzione una parola alla volta nel linguaggio di
   destinazione.

   Amazon Translate utilizza meccanismi di attenzione per comprendere il contesto. Questo permette di
   decidere quale parola nel testo di origine è più rilevante per la generazione della successiva parola di
   destinazione. I meccanismi di attenzione consentono al decoder di concentrarsi sulle parti più pertinenti di
   una frase di origine. In questo modo il decoder traduce correttamente parole o frasi ambigue.

   La parola di destinazione generata dal modello diventa l'input del decoder. La rete continua a generare
   parole finché non raggiunge la fine della frase.

   Per tradurre il testo, chiamare il metodo TranslateText (p. 75) e fornire il testo di origine e la lingua di
   destinazione, utilizzando il codice lingua elencato nella tabella sottostante.

    Linguaggio                                                Code

    Arabo                                                     ar

    Cinese (semplificato)                                     zh

    Cinese (tradizionale)                                     zh-TW

    Ceco                                                      cs

    Danese                                                    da

    Olandese                                                  nl

    Inglese                                                   en

    Finlandese                                                fi

    Francese                                                  fr

    Tedesco                                                   de

    Ebraico                                                   he

                                                     4
Amazon Translate Guida per gli sviluppatori
                                  Rilevamento automatico della lingua

      Linguaggio                                             Code

      Indonesiano                                            id

      Italiano                                               it

      Giapponese                                             ja

      Coreano                                                ko

      Polacco                                                pl

      Portoghese                                             pt

      Russo                                                  ru

      Spagnolo                                               es

      Svedese                                                sv

      Turco                                                  tr

Rilevamento automatico della lingua
     Amazon Translate è in grado di rilevare automaticamente la lingua utilizzata nel testo di origine. Per
     utilizzare il rilevamento automatico della lingua, specifica auto come lingua di origine. Amazon Translate
     chiama Amazon Comprehend per conto dell'utente per determinare la lingua utilizzata nel testo di origine.
     Scegliendo il rilevamento automatico della lingua, accetti i termini dell'accordo per Amazon Comprehend.
     Per informazioni sui prezzi per Amazon Comprehend, consulta Prezzi di Amazon Comprehend.

Gestione delle eccezioni
     Se specifichi una lingua di origine o di destinazione che non è supportata, Amazon Translate restituisce le
     seguenti eccezioni:

     • UnsupportedLanguagePairException – Amazon Translate supporta la traduzione tra le lingue supportate.
       Questa eccezione viene restituita se la traduzione tra la coppia di lingue non è supportata. Per ulteriori
       informazioni, consulta Coppie di lingue supportate (p. 2)
     • DetectedLanguageLowConfidenceException – Se utilizzi il rilevamento automatico della lingua e Amazon
       Translate non è certo di aver rilevato la lingua di origine corretta, restituisce questa eccezione. Se un
       basso livello di affidabilità è accettabile, puoi utilizzare la lingua di origine restituita nell'eccezione.

Fasi successive
     Ora che hai ottenuto informazioni su Amazon Translate puoi esplorare le seguenti sezioni per informazioni
     sulla creazione di una soluzione.

     • Nozioni di base su Amazon Translate (p. 6)
     • Esempi (p. 22)

                                                     5
Amazon Translate Guida per gli sviluppatori
                                   Fase 1: impostazione di un account

Nozioni di base su Amazon Translate
    Per iniziare a utilizzare Amazon Translate, imposta un account AWS e crea un utente AWS Identity
    and Access Management (IAM). Per utilizzare AWS Command Line Interface (AWS CLI), scaricalo e
    configuralo.

    Argomenti
     • Fase 1: impostazione di un account AWS e creazione di un utente Amministratore (p. 6)
     • Fase 2: configurazione di AWS Command Line Interface (AWS CLI) (p. 7)
     • Fase 3: nozioni di base (console) (p. 8)
     • Fase 4. Nozioni di base (AWS CLI) (p. 9)
     • Fase 5. Nozioni di base (SDK) (p. 11)

Fase 1: impostazione di un account AWS e
creazione di un utente Amministratore
    Prima di usare Amazon Translate per la prima volta, è necessario completare le seguenti operazioni:

    1. Registrarsi ad AWS (p. 6)
    2. Creazione di un utente IAM (p. 7)

    Registrarsi ad AWS
    Quando ti registri ad Amazon Web Services (AWS), l'account AWS viene automaticamente registrato per
    tutti i servizi AWS, incluso Amazon Translate. Ti vengono addebitati solo i servizi che utilizzi.

    Con Amazon Translate, paghi solo le risorse che utilizzi. Se sei un nuovo cliente AWS, puoi iniziare a
    utilizzare Amazon Translate gratuitamente. Per ulteriori informazioni, consulta Piano di utilizzo gratuito
    AWS.

    Se disponi già di un account AWS, passa alla sezione successiva.

    Per creare un account AWS

    1.   Aprire la pagina https://aws.amazon.com/, quindi scegliere Create an AWS Account (Crea un account
         AWS).
             Note

             Se ci si è già iscritti alla Console di gestione AWS tramite credenziali Utente root dell'account
             AWS, scegliere Sign in to a different account (Accedi a un account diverso). Se ci si è già
             iscritti alla console tramite credenziali IAM, scegliere Sign-in using root account credentials
             (Accedi con le credenziali dell'account root). Selezionare quindi Create a new AWS account
             (Crea un nuovo account AWS).
    2.   Seguire le istruzioni online.

         Come parte della procedura di registrazione si riceverà una telefonata, durante la quale si dovrà
         inserire un codice di verifica usando la tastiera del telefono.

                                                     6
Amazon Translate Guida per gli sviluppatori
                                     Creazione di un utente IAM

    Registra l'ID del tuo account AWS perché ne avrai bisogno per eseguire l'operazione successiva.

    Creazione di un utente IAM
    I servizi AWS, come Amazon Translate, richiedono credenziali di accesso. In questo modo il servizio può
    stabilire se disponi delle autorizzazioni per accedere alle risorse del servizio stesso.

    Ti consigliamo di accedere ad AWS utilizzando AWS Identity and Access Management (IAM), anziché le
    credenziali dell'account AWS. Per utilizzare IAM e accedere ad AWS, crea un utente IAM, aggiungilo a un
    gruppo IAM con autorizzazioni amministrative, quindi concedi le autorizzazioni amministrative all'utente
    IAM. È quindi possibile accedere ad AWS utilizzando un URL speciale e le credenziali IAM dell'utente.

    Gli esercizi in questa guida presuppongono l'uso di un utente IAM con privilegi di amministratore
    denominato adminuser.

    Per creare utente amministratore

    •    Nell'account AWS, creare un utente amministratore denominato adminuser. Per istruzioni, consulta
         l'articolo relativo alla creazione del primo utente e del primo gruppo di amministratori IAM nella Guida
         per l'utente di IAM.

    Per ulteriori informazioni su IAM, consulta:

    • AWS Identity and Access Management (IAM)
    • Nozioni di base
    • Guida per l'utente di IAM

    Fase successiva
    Fase 2: configurazione di AWS Command Line Interface (AWS CLI) (p. 7)

Fase 2: configurazione di AWS Command Line
Interface (AWS CLI)
    Utilizza AWS CLI per eseguire chiamate interattive ad Amazon Translate.

    Per configurare AWS CLI

    1.   Scarica e configura AWS CLI. Per istruzioni, consulta i seguenti argomenti nella Guida per l'utente di
         AWS Command Line Interface:

         • Come configurare l'AWS Command Line Interface
         • Configurazione di AWS Command Line Interface
    2.   Nel file AWS CLI config, aggiungere un profilo denominato per l'utente amministratore:

         [profile adminuser]
         aws_access_key_id = adminuser access key ID
         aws_secret_access_key = adminuser secret access key
         region = aws-region

         Utilizzerai questo profilo quando esegui i comandi AWS CLI. Per ulteriori informazioni, consulta
         l'articolo relativo ai profili denominati nella Guida per l'utente di AWS Command Line Interface. Per

                                                     7
Amazon Translate Guida per gli sviluppatori
                                            Fase successiva

          un elenco delle regioni AWS, consulta Regioni ed endpoint nella Riferimenti generali di Amazon Web
          Services.
     3.   Verificare la configurazione digitando il seguente comando help al prompt dei comandi:

          aws translate help

          Viene visualizzata una breve descrizione di Amazon Translate e un elenco dei comandi disponibili.

     Fase successiva
     Fase 3: nozioni di base (console) (p. 8)

Fase 3: nozioni di base (console)
     Il metodo più semplice per iniziare a utilizzare Amazon Translate è tramite la console. Utilizzando la
     console puoi tradurre un massimo di 5.000 caratteri. Se non hai esaminato le nozioni e la terminologia in
     Funzionamento di Amazon Translate (p. 4), ti consigliamo di farlo prima di continuare.

     Per iniziare a tradurre testo, passa a Console di gestione AWS e apri la console Amazon Translate.

     Se è la prima volta che utilizzi Amazon Translate, scegli Try Amazon Translate (Prova Amazon Translate).

     In Translate text (Traduci testo), scegli le lingue di origine e di destinazione. Immetti il testo da tradurre
     nella casella di testo a sinistra. Il testo tradotto viene visualizzato nella casella di testo a destra.

                                                       8
Amazon Translate Guida per gli sviluppatori
                                           Fase successiva

    Nel sezione JSON samples (Esempi JSON) viene visualizzato l'input e l'output JSON per l'operazione
    TranslateText (p. 75).

    Fase successiva
    Fase 4. Nozioni di base (AWS CLI) (p. 9)

Fase 4. Nozioni di base (AWS CLI)
    Negli esercizi seguenti, utilizza l'interfaccia a riga di comando di AWS (AWS CLI) per tradurre il testo.
    Per completare questi esercizi, occorre familiarità con l'uso della CLI e un editor di testo. Per ulteriori
    informazioni, consulta Fase 2: configurazione di AWS Command Line Interface (AWS CLI) (p. 7).

    Sono disponibili due modi per utilizzare la CLI per tradurre il testo con Amazon Translate. Per testi brevi,
    puoi fornire il testo da tradurre come un parametro del comando translate-text. Per testi più lunghi,
    puoi fornire la lingua di origine, la lingua di destinazione e il testo in un file JSON.

    Per usare Amazon Translate dalla riga di comando, occorre conoscere l'endpoint e la regione per il
    servizio. Per un elenco delle regioni e degli endpoint disponibili, consulta Linee guida e limiti (p. 58).

                                                      9
Amazon Translate Guida per gli sviluppatori
                        Traduzione del testo utilizzando la riga di comando

Traduzione del testo utilizzando la riga di comando
L'esempio seguente mostra come usare l'operazione translate-text dalla riga di comando per
tradurre il testo. L'esempio è formattato per Unix, Linux e macOS. Per Windows, sostituisci il carattere di
continuazione UNIX barra rovesciata (\) al termine di ogni riga con un accento circonflesso (^). Nella riga di
comando, digitare quanto segue.

aws translate translate-text \
            --region region \
            --source-language-code "en" \
            --target-language-code "es" \
            --text "hello, world "

La risposta è il JSON seguente.

{
     "TargetLanguageCode": "es",
     "Text": "Hola, mundo",
     "SourceLanguageCode": "en"
}

Traduzione del testo utilizzando un file JSON
Questo esempio mostra come utilizzare l'operazione translate-text per tradurre un blocco di testo più
lungo da un file JSON. Puoi specificare la lingua di origine e di destinazione nella riga di comando, ma in
questo esempio, è necessario specificarli nel file JSON.
     Note

     Il file JSON è formattato per la leggibilità. Riformatta il campo "Text" per rimuovere le interruzioni
     di riga.
     L'esempio è formattato per Unix, Linux e macOS. Per Windows, sostituisci il carattere di
     continuazione UNIX barra rovesciata (\) al termine di ogni riga con un accento circonflesso (^).

Per tradurre il testo utilizzando un file JSON

1.   Copiare il testo seguente in un file JSON denominato translate.json:

     {
         "Text": "Amazon Translate translates documents between languages in
         real time. It uses advanced machine learning technologies
         to provide high-quality real-time translation. Use it to
         translate documents or to build applications that work in
         multiple languages.",
         "SourceLanguageCode": "en",
         "TargetLanguageCode": "fr"
     }

2.   In AWS CLI, eseguire il comando seguente:

     aws translate translate-text \
                 --region region \
                 --cli-input-json file://translate.json > translated.json

     Il comando genera un file JSON contenente il testo JSON seguente:

     {

                                                10
Amazon Translate Guida per gli sviluppatori
                                          Fase successiva

             "TargetLanguageCode": "fr",
             "Text": "Amazon Translate traduit les documents entre
             les langue en temps réel. Il utilise des technologies
             avancées d'apprentissage de la machine pour fournir
             une traduction en temps réel de haute qualité. Utilisez-le
             pour traduire des documents ou pour créer des applications
             qui fonctionnent en plusieurs langues.",
             "SourceLanguageCode": "en"
        }

    Fase successiva
    Per visualizzare altri metodi di utilizzo di Amazon Translate, consulta Esempi (p. 22).

Fase 5. Nozioni di base (SDK)
    I seguenti esempi illustrano come utilizzare l'operazione Amazon Translate TranslateText (p. 75)
    mediante Java e Python. Utilizzarli per ottenere informazioni sull'operazione TranslateText e come
    elementi di base per le proprie applicazioni.

    Per eseguire gli esempi Java, occorre installare AWS SDK for Java. Per istruzioni sull'installazione di SDK
    per Java, consulta la sezione relativa alla configurazione di SDK AWS per Java.

    Argomenti
     • Traduzione di testo mediante AWS SDK for Java (p. 11)
     • Traduzione di testo mediante AWS SDK for Python (Boto) (p. 12)
     • Traduzione di testo mediante AWS Mobile SDK per Android (p. 14)
     • Traduzione di testo mediante AWS Mobile SDK for iOS (p. 15)

    Traduzione di testo mediante AWS SDK for Java
    L'esempio seguente dimostra l'utilizzo dell'operazione TranslateText (p. 75) in Java. Per eseguire
    questo esempio, è necessario AWS SDK for Java. Per istruzioni sull'installazione di SDK per Java, consulta
    la sezione relativa alla configurazione di SDK AWS per Java.

    import   com.amazonaws.auth.AWSStaticCredentialsProvider;
    import   com.amazonaws.auth.BasicAWSCredentials;
    import   com.amazonaws.client.builder.AwsClientBuilder;
    import   com.amazonaws.services.translate.AmazonTranslate;
    import   com.amazonaws.services.translate.AmazonTranslateClient;
    import   com.amazonaws.services.translate.model.TranslateTextRequest;
    import   com.amazonaws.services.translate.model.TranslateTextResult;

    public class App {
        private static final String REGION = "region";

        public static void main( String[] args ) {

              // Create credentials using a provider chain. For more information, see
              // https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html
              AWSCredentialsProvider awsCreds = DefaultAWSCredentialsProviderChain.getInstance();

              AmazonTranslate translate = AmazonTranslateClient.builder()
                      .withCredentials(new AWSStaticCredentialsProvider(awsCreds))

                                                    11
Amazon Translate Guida per gli sviluppatori
                            Utilizzo del kit SDK AWS per Python

                   .withRegion(REGION)
                   .build();

         TranslateTextRequest request = new TranslateTextRequest()
                 .withText("Hello, world")
                 .withSourceLanguageCode("en")
                 .withTargetLanguageCode("es");
         TranslateTextResult result = translate.translateText(request);
         System.out.println(result.getTranslatedText());
    }
}

Puoi cambiare le lingue di origine e di destinazione purché la coppia di lingue selezionata sia supportata
da Amazon Translate nella combinazione corretta. Per ulteriori informazioni, consulta Coppie di lingue
supportate (p. 2)

Traduzione di testo mediante AWS SDK for Python
(Boto)
L'esempio seguente dimostra l'utilizzo dell'operazione TranslateText (p. 75) in Python. Per eseguirla, è
necessario innanzitutto installare Amazon Translate tramite AWS CLI. Per istruzioni, consulta the section
called “Fase 2: configurazione diAWS CLI” (p. 7).

import boto3

translate = boto3.client(service_name='translate', region_name='region', use_ssl=True)

result = translate.translate_text(Text="Hello, World",
            SourceLanguageCode="en", TargetLanguageCode="de")
print('TranslatedText: ' + result.get('TranslatedText'))
print('SourceLanguageCode: ' + result.get('SourceLanguageCode'))
print('TargetLanguageCode: ' + result.get('TargetLanguageCode'))

Puoi cambiare le lingue di origine e di destinazione purché la coppia di lingue selezionata sia supportata
da Amazon Translate nella combinazione corretta. Per ulteriori informazioni, consulta Coppie di lingue
supportate (p. 2)

Terminologia personalizzata

Un altro esempio che dimostra l'uso di operazioni Terminologia personalizzata in Python:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-

    import boto3

    translate = boto3.client(service_name='translate')

    # The terminology file 'my-first-terminology.csv' has the following contents:
    '''
    en,fr
    Amazon Family,Amazon Famille
    '''

    # Read the terminology from a local file
    with open('/tmp/my-first-terminology.csv', 'rb') as f:
        data = f.read()

    file_data = bytearray(data)

                                               12
Amazon Translate Guida per gli sviluppatori
                        Utilizzo del kit SDK AWS per Python

    print("Importing the terminology into Amazon Translate...")
    response = translate.import_terminology(Name='my-first-terminology',
 MergeStrategy='OVERWRITE', TerminologyData={"File": file_data, "Format": 'CSV'})
    print("Terminology imported: "),
    print(response.get('TerminologyProperties'))
    print("\n")

    print("Getting the imported terminology...")
    response = translate.get_terminology(Name='my-first-terminology',
 TerminologyDataFormat='CSV')
    print("Received terminology: "),
    print(response.get('TerminologyProperties'))
    print("The terminology data file can be downloaded here: " +
 response.get('TerminologyDataLocation').get('Location'))
    print("\n")

    print("Listing the first 10 terminologies for the account...")
    response = translate.list_terminologies(MaxResults=10)
    print("Received terminologies: "),
    print(response.get('TerminologyPropertiesList'))
    print("\n")

    print("Translating 'Amazon Family' from English to French with no terminology...")
    response = translate.translate_text(Text="Amazon Family", SourceLanguageCode="en",
 TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")

    print("Translating 'Amazon Family' from English to French with the 'my-first-
terminology' terminology...")
    response = translate.translate_text(Text="Amazon Family", TerminologyNames=["my-first-
terminology"], SourceLanguageCode="en", TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")

    # The terminology file 'my-updated-terminology.csv' has the following contents:
    '''
    en,fr
    Amazon Family,Amazon Famille
    Prime Video, Prime Video
    '''

    # Read the terminology from a local file
    with open('/tmp/my-updated-terminology.csv', 'rb') as f:
        data = f.read()

    file_data = bytearray(data)

    print("Updating the imported terminology in Amazon Translate...")
    response = translate.import_terminology(Name='my-first-terminology',
 MergeStrategy='OVERWRITE', TerminologyData={"File": file_data, "Format": 'CSV'})
    print("Terminology updated: "),
    print(response.get('TerminologyProperties'))
    print("\n")

    print("Translating 'Prime Video' from English to French with no terminology...")
    response = translate.translate_text(Text="Prime Video", SourceLanguageCode="en",
 TargetLanguageCode="fr")
    print("Translated text: " + response.get('TranslatedText'))
    print("\n")

    print("Translating 'Prime Video' from English to French with the 'my-first-terminology'
 terminology...")
    response = translate.translate_text(Text="Prime Video", TerminologyNames=["my-first-
terminology"], SourceLanguageCode="en", TargetLanguageCode="fr")

                                          13
Amazon Translate Guida per gli sviluppatori
                              Utilizzo di Mobile SDK per Android

     print("Translated text: " + response.get('TranslatedText'))
     print("\n")

     print("Cleaning up by deleting 'my-first-terminology'...")
     translate.delete_terminology(Name="my-first-terminology")
     print("Terminology deleted.")

Traduzione di testo mediante AWS Mobile SDK per
Android
Puoi utilizzare Amazon Translate in un'applicazione Android per tradurre testo.

Per configurare l'esempio

1.   Impostare l'AWS Mobile SDK per Android. Per istruzioni, consulta la documentazione Android: Opzioni
     di configurazione per il kit SDK nella Guida per gli sviluppatori di AWS Mobile
2.   Creare un utente IAM con le autorizzazioni minime richieste per eseguire questo esempio. Per
     informazioni sulla creazione di un utente IAM, consulta Creare un utente IAM nell'account AWS nella
     Guida per l'utente di AWS Identity and Access Management. Per le policy delle autorizzazioni richieste,
     consulta Utilizzo di policy basate sulle identità (policy IAM) per Amazon Translate (p. 49). Dopo aver
     creato l'utente, scaricare le credenziali o registrare la chiave di accesso e la chiave di accesso segreta.
3.   Creare un nuovo progetto con Android Studio.
4.   Aggiungere quanto segue alla sezione delle dipendenze del file build.gradle.

     dependencies {
         implementation 'com.amazonaws:aws-android-sdk-translate:2.6.20'
     }

5.   Aggiungere le seguenti autorizzazioni al file AndroidManifest.xml.

6.   Copiare il codice sorgente nel progetto
7.   Modificare la chiave di accesso e la chiave di accesso segreta nelle chiavi che sono state registrate
     nella fase uno.

Code
Usa il codice seguente per creare l'esempio.

package com.amazonaws.amazontranslatetester;

import android.app.Activity;
import android.util.Log;

import   com.amazonaws.auth.AWSCredentials;
import   com.amazonaws.handlers.AsyncHandler;
import   com.amazonaws.services.translate.AmazonTranslateAsyncClient;
import   com.amazonaws.services.translate.model.TranslateTextRequest;
import   com.amazonaws.services.translate.model.TranslateTextResult;

public class MainActivity extends Activity {

                                                14
Amazon Translate Guida per gli sviluppatori
                                Utilizzo di Mobile SDK for iOS

     private static final String LOG_TAG = MainActivity.class.getSimpleName();

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         AWSCredentials awsCredentials = new AWSCredentials() {
             @Override
             public String getAWSAccessKeyId() {
                 return "access key";
             }

               @Override
               public String getAWSSecretKey() {
                   return "secret key";
               }
          };

        AmazonTranslateAsyncClient translateAsyncClient = new
 AmazonTranslateAsyncClient(awsCredentials);
        TranslateTextRequest translateTextRequest = new TranslateTextRequest()
                .withText("Hello, world")
                .withSourceLanguageCode("en")
                .withTargetLanguageCode("es");
        translateAsyncClient.translateTextAsync(translateTextRequest, new
 AsyncHandler() {
            @Override
            public void onError(Exception e) {
                Log.e(LOG_TAG, "Error occurred in translating the text: " +
 e.getLocalizedMessage());
            }

            @Override
            public void onSuccess(TranslateTextRequest request, TranslateTextResult
 translateTextResult) {
                Log.d(LOG_TAG, "Original Text: " + request.getText());
                Log.d(LOG_TAG, "Translated Text: " +
 translateTextResult.getTranslatedText());
            }
        });
    }
}

Traduzione di testo mediante AWS Mobile SDK for
iOS
Puoi utilizzare Amazon Translate in un'applicazione iOS per tradurre testo.

Per configurare l'esempio

1.   Creare un utente IAM con le autorizzazioni minime richieste per eseguire questo esempio. Per
     informazioni sulla creazione di un utente IAM, consulta Creare un utente IAM nell'account AWS nella
     Guida per l'utente di AWS Identity and Access Management. Per le policy delle autorizzazioni richieste,
     consulta Utilizzo di policy basate sulle identità (policy IAM) per Amazon Translate (p. 49). Dopo aver
     creato l'utente, scaricare le credenziali o registrare la chiave di accesso e la chiave di accesso segreta.
2.   Installare Xcode 8.0 o versione successiva. È possibile scaricare la versione più recente di Xcode dal
     sito Web di Apple, https://developer.apple.com/xcode/.
3.   Installare CocoaPods. In una finestra del terminale, eseguire il comando riportato qui sotto:

     sudo gem install cocoapods

                                                15
Amazon Translate Guida per gli sviluppatori
                                Utilizzo di Mobile SDK for iOS

4.   Creare un progetto utilizzando Xcode. Quindi, in una finestra del terminale, accedere alla directory
     contenente il file .xcodeproj del progetto ed eseguire il seguente comando:

     pod init

5.   Aggiungere i componenti Mobile SDK for iOS principali per il file pod:

     platform :ios, '9.0'
     target :'app name' do
         use_frameworks!
         pod 'AWSTranslate', '~> 2.6.19'
         # other pods
     end

6.   Installare le dipendenze eseguendo il comando seguente in una finestra del terminale:

     pod install --repo-update

7.   L'esecuzione di pod install crea un nuovo file dell'area di lavoro. Chiudere il progetto Xcode e
     quindi aprirlo utilizzando il file ./nome_progetto.xcworkspace. Da questo momento, utilizzare solo
     questo file per aprire il progetto Xcode

     Ricostruire l'app dopo averla aperta per risolvere le API dalle nuove librerie chiamate nel codice.
8.   Aggiungere al controller vista l'istruzione d'importazione seguente:

     import AWSTranslate

9.   Copiare il codice seguente nel progetto XCode. Aggiornare la chiave di accesso e la chiave segreta ai
     valori che sono stati registrati nella fase 1.

Code
Usa il codice seguente per creare l'esempio.

var credentialsProvider = AWSStaticCredentialsProvider(accessKey: "access key", secretKey:
 "secret key")

var configuration = AWSServiceConfiguration(region: AWSRegionUSEast1, credentialsProvider:
 credentialsProvider)

AWSServiceManager.default().defaultServiceConfiguration = configuration

let translateClient = AWSTranslate.default()
let translateRequest = AWSTranslateTranslateTextRequest()
translateRequest?.sourceLanguageCode = "en"
translateRequest?.targetLanguageCode = "es"
translateRequest?.text = "Hello World"

let callback: (AWSTranslateTranslateTextResponse?, Error?) -> Void = { (response, error) in
   guard let response = response else {
      print("Got error \(error)")
      return
   }

                                                16
Amazon Translate Guida per gli sviluppatori
                            Utilizzo di Mobile SDK for iOS

    if let translatedText = response.translatedText {
       print(translatedText)
    }
}

translateClient.translateText(translateRequest!, completionHandler: callback)

                                           17
Amazon Translate Guida per gli sviluppatori
                                            Come funziona?

Terminologia personalizzata
     L'uso di una terminologia personalizzata con le richieste di traduzione serve ad assicurare che i nomi dei
     marchi, i nomi di caratteri, i nomi di modello e altri contenuti univoci vengano tradotti esattamente come
     desiderato, a prescindere dal contesto e dalla decisione dell'algoritmo Amazon Translate.

     Impostare un file di terminologia e collegarlo all'account Amazon Translate è un'operazione semplice.
     Durante la traduzione del testo, scegli semplicemente di usare anche la terminologia personalizzata. Gli
     eventuali esempi della parola di origine vengono tradotti nel modo desiderato.

     Ad esempio, considera quanto segue: Amazon Family è una raccolta di vantaggi che offre ai membri
     Amazon Prime offerte esclusive, ad esempio fino a 20% di sconto su sottoscrizioni a pannolini, cibo per
     neonati e molto altro. In Francia, è chiamato Amazon Famille. Se traduci Amazon Family in francese
     utilizzando Amazon Translate senza alcun contesto aggiuntivo, il risultato è Famille Amazon. Anche se si
     tratta di una traduzione accurata, non è ciò che serve al team Amazon in Francia. Tuttavia, se aggiungi del
     contesto, come in: "Hai mai acquistato con Amazon Family?", Amazon Translate stabilisce che il nome del
     programma non deve essere tradotto e il risultato è "Avez-vous déjà fait des achats avec Amazon Family?".
     Questa è una buona traduzione, ma non ancora ciò che si aspetta il team Amazon. Le terminologie
     personalizzate possono risolvere problemi di questo tipo. Aggiungendo alla terminologia personalizzata una
     voce che mostra che il termine Amazon Family deve essere tradotto come Amazon Famille, il team è ora
     certo che la traduzione sarà sempre la stessa, a prescindere dal contesto. Amazon Family è ora tradotto
     come Amazon Famille e "Have you ever shopped with Amazon Family?" è ora tradotto come "Avez-vous
     déjà fait des achats avec Amazon Famille?"

     Argomenti
      • Come funziona? (p. 18)
      • Creazione di una terminologia personalizzata (p. 18)
      • Uso di terminologie personalizzate (p. 20)
      • Crittografia della terminologia (p. 21)
      • Buone prassi (p. 21)

Come funziona?
     In linea generale, quando arriva una richiesta di traduzione, Amazon Translate legge la frase di origine,
     crea una rappresentazione semantica del contenuto (in altre parole, lo comprende) e genera una
     traduzione nella lingua di destinazione.

     Quando un terminologia personalizzata viene utilizzata come parte della richiesta di traduzione, il motore
     esegue la scansione del file di terminologia prima di restituire il risultato finale. Quando il motore identifica
     una corrispondenza esatta tra una voce terminologica e una stringa nel testo di origine, individua la stringa
     appropriata nella traduzione proposta e la sostituisce con la voce terminologica. Nell'esempio Amazon
     Family, genera innanzitutto la traduzione "Avez-vous déjà fait des achats avec Amazon Family?" ma si
     interrompe e sostituisce Amazon Family con Amazon Famille prima di fornire la risposta.

Creazione di una terminologia personalizzata
     Per il file di terminologia puoi utilizzare un file CSV o un file TMX con il testo di origine e il termine di
     destinazione (tradotto). Per ogni termine viene utilizzato un singolo testo di origine, ma possono esserci
     più termini di destinazione, uno per ogni lingua, purché sia possibile utilizzare la lingua di destinazione e di
     origine.

                                                      18
Amazon Translate Guida per gli sviluppatori
                                      Lingue compatibili

CSV (valori separati da virgola)

La prima colonna contiene il testo di origine e le altre colonne contengono le traduzioni di destinazione.
La prima riga è costituita da codici lingua, con la lingua di origine nella prima colonna e la lingua di
destinazione nelle altre.

 en                    fr                    de                     es

 Amazon                Amazon                Amazon                 Amazon

TMX (Translation Memory eXchange)

Un file TMX è un file di tipo XML comunemente utilizzato da software di traduzione. Anche se il formato è
diverso da CSV, i contenuti sono simili:

        Amazon
     
        Amazon
     
        Amazon
     
        Amazon
     
Questi file vengono quindi collegati all'account Amazon Translate. Quando viene eseguito un processo
di traduzione e si sceglie di utilizzare la terminologia personalizzata, Amazon Translate utilizza la parola
designata ogni volta che rileva la parola di origine.

Lingue compatibili
Alcune lingue non cambiano la forma di una parola in base al contesto della frase. Per queste lingue,
l'applicazione di una terminologia personalizzata è probabile che migliori la qualità della traduzione
complessiva. Tuttavia, alcune lingue presentano variazioni della forma della parola estese. Non è
consigliabile applicare la funzione a queste lingue, ma non viene posta alcuna restrizione.

La tabella seguente mostra le lingue e i suggerimenti per l'utilizzo di questa funzione:

 Linguaggio                                                         Consigliata/Non consigliata

 Lingue asiatiche (ad esempio cinese, giapponese, coreano,          Si consiglia
 indonesiano)

                                                  19
Puoi anche leggere
Prossima slide ... Annulla