Come preparare il tuo software per la traduzione

Prima di PTC, verifica testo, placeholder e lingua utente.

Preparare il tuo software per la traduzione per la prima volta

Per preparare il tuo software per la traduzione, dovrai:

  • Spostare tutto il testo rivolto all’utente in file di risorse
  • Usa i placeholder per il contenuto dinamico
  • Caricare il file di traduzione corretto in base alla lingua dell’utente

Questi passaggi si applicano a tutti i linguaggi e framework di programmazione. PTC supporta diversi formati di file di risorse, tra cui .po, .json, .yaml, .strings e .xml.

1. Spostare tutto il testo rivolto all’utente in file di risorse

Inserisci tutto il testo rivolto all’utente, come etichette, messaggi di errore e prompt utente, in file di risorse. PTC legge dai file di risorse e non rileva stringhe hard-coded nel tuo codice sorgente. Questo è un passaggio di preparazione importante quando vuoi tradurre i file strings.xml della tua app Android o localizzare le tue app iOS.

La maggior parte dei framework include una funzione o libreria di internazionalizzazione (i18n) che ti aiuta a contrassegnare il testo traducibile e a memorizzarlo nel formato di file di risorse corretto.

  • In React e Vue, librerie come react-intl e vue-i18n ti offrono un modo per caricare e utilizzare i file di traduzione. Le traduzioni vengono quindi archiviate nei file JSON che generi.
  • Ruby on Rails include il modulo I18n.
  • WordPress utilizza la funzione __() per contrassegnare le stringhe da tradurre, che vengono poi compilate in file PO.

Esempio corretto (file React e JSON)

Nel tuo codice:

<button>{t('submit_button')}</button>

Nel tuo file di risorse (en.json):

{
  "submit_button": "Submit"
}

Esempio corretto (WordPress e file PO)

Nel tuo codice:

<?php echo __( 'Submit', 'your-textdomain' ); ?>

Nel tuo file di risorse (en.json):

msgid "Submit"
msgstr ""

Esempio non corretto (stringa hard-coded)

<button>Submit</button>

2. Utilizza i placeholder per il contenuto dinamico

Quando il tuo testo include valori dinamici, come nomi utente, date o numeri, non inserirli direttamente nella stringa. Utilizza invece i placeholder. Ciò mantiene le traduzioni accurate ed evita di compromettere la grammatica o il layout in altre lingue.

PTC rileva e conserva i placeholder durante la traduzione.

Esempi corretti

File PO:

msgid "Hello, %s!"
msgstr ""

File JSON:

{
  "greeting": "Hello, {name}!"
}

File YAML:

greeting: "Hello, %{name}!"

Esempio non corretto (concatenazione di stringhe)

const name = 'John';
const message = 'Hello, ' + name + '!';

Se dividi o costruisci stringhe nel tuo codice, PTC non vedrà la frase completa. Ciò può portare a una grammatica errata, una formulazione goffa o traduzioni mancanti.

Assicurati di utilizzare una sintassi di placeholder che funzioni con il tuo framework. Ecco alcuni modelli comuni:

Formato fileSintassi comune dei placeholderUsato in
.json{name}JavaScript (React, Vue)
.yaml%{name}Ruby on rails
.po%s, %d, %1$s, %2$dWordPress, PHP
.xml%1$s, %2$dAndroid
.strings%@, %d, %fiOS/macOS

3. Assicurati che il tuo software sappia come caricare i file di risorse

Una volta che il tuo testo è memorizzato in file di risorse, la tua app deve caricare il file giusto in base alla lingua dell’utente. Senza questo passaggio, l’utente non vedrà le traduzioni.

La maggior parte dei framework e delle piattaforme supporta questo tramite i propri strumenti i18n:

  • React/Vue: utilizza librerie come react-intl o vue-i18n, che gestiscono il caricamento dei file corretti in fase di esecuzione
import { createI18n } from 'vue-i18n'

const i18n = createI18n({
  locale: detectBrowserLanguage(),
  messages: {
    en: require('./locales/en.json'),
    fr: require('./locales/fr.json')
  }
})
  • Ruby on Rails: il modulo I18n carica automaticamente i file di traduzione YAML
I18n.locale = request.env['HTTP_ACCEPT_LANGUAGE']
  • WordPress: carica automaticamente i file .mo in base alla lingua del sito

Nelle app web, puoi anche rilevare la lingua preferita dell’utente dal browser e utilizzarla per impostare quella predefinita. Ad esempio:

  • React/Vue

Utilizza la libreria i18next-browser-languagedetector per rilevare automaticamente la lingua del browser. Questa libreria controlla le impostazioni della lingua del browser e applica la lingua appropriata come predefinita.

  • Ruby on rails

Rileva la lingua del browser utilizzando l’intestazione HTTP_ACCEPT_LANGUAGE e imposta la lingua con I18n.locale.

Per le app mobili, piattaforme come Android e iOS caricano i file di risorse in modo diverso:

  • Android: memorizza i file di traduzione nella directory res/values, con sottocartelle per ogni lingua (ad es. res/values-fr per il francese). Android carica il file di lingua corretto in base alle impostazioni di sistema del dispositivo.
  • iOS: inserisci i file .strings in cartelle .lproj specifiche per la lingua (ad es. en.lproj/Localizable.strings). iOS seleziona automaticamente la cartella appropriata.

4. Aggiungi un selettore di lingua (se necessario)

Come trattato nel passaggio precedente, la maggior parte delle piattaforme utilizza le impostazioni di sistema o del browser per caricare la lingua predefinita. Ma alcuni utenti potrebbero voler passare a una lingua diversa, soprattutto sul web. Un selettore di lingua offre loro questa opzione.

È facoltativo, ma spesso migliora l’accessibilità e il controllo dell’utente. L’implementazione differisce a seconda del framework:

React/Vue

Utilizza librerie come react-intl o vue-i18n per impostare la lingua. Dovrai creare tu stesso il selettore di lingua (ad es. un menu a tendina o un pulsante) per ricaricare i file di risorse appropriati in base alla selezione dell’utente.

Ruby on rails

La libreria I18n ti consente di modificare la lingua a livello di programmazione, ma devi progettare l’interfaccia del selettore di lingua. L’app ricarica la pagina con il file YAML corretto una volta che l’utente seleziona una lingua.

WordPress

Temi e plugin utilizzano la lingua impostata nel backend. Per tradurre contenuti generati dagli utenti o fornire un selettore di lingua front-end, utilizza un plugin multilingue come WPML.

Tradurre i tuoi file di risorse con PTC

Una volta che i tuoi file sono pronti, puoi tradurli con PTC. Non è necessario copiare e incollare stringhe, mantenere script fragili o assumere traduttori umani. PTC offre traduzioni di qualità umana, ottimizzate per il tono, il pubblico e la piattaforma del tuo prodotto.

Passaggio 1: iscriviti e scegli come utilizzare PTC

Inizia la tua prova gratuita di 30 giorni di PTC. Puoi scegliere tra tre modi per utilizzare PTC: connettere il tuo repository Git, caricare manualmente i file o utilizzare l’API per inviare e ricevere file in modo programmatico.

Passaggio 2: configura il tuo progetto

Successivamente, configurerai il tuo progetto.

Ti verrà chiesto il nome del tuo prodotto, cosa fa, a chi è destinato (pubblico di riferimento) e in quali lingue vuoi tradurlo.
Questo aiuta PTC a comprendere il contesto del tuo progetto e a generare traduzioni accurate e pertinenti al marchio, che sembrano scritte da un esperto del settore.

Passaggio 3: ricevi traduzioni basate sull’intelligenza artificiale tramite richiesta di merge

PTC offre traduzioni di qualità umana alla velocità e al costo di una macchina. Avrai traduzioni pronte per l’uso nel tuo progetto in pochi minuti.

Pronto a tradurre il tuo software?

Hai preparato i tuoi file di risorse: PTC si occuperà del resto. Inizia la tua prova gratuita per ottenere traduzioni AI di alta qualità e sensibili al contesto per il tuo software.

Scorri verso l'alto