Qual è il formato di file di traduzione più semplice che un utente può modificare e per analizzare un programma? [chiuso]

1

Ho appena iniziato a sviluppare una piccola app web per gli oratori arabi, e dovrò chiedere a un collega (non a un programmatore) di aiutarmi a tradurre tutte le etichette e la documentazione in arabo ad un certo punto. Idealmente, le etichette consentirebbero punteggiatura e interruzioni di riga arbitrarie, ma possiamo impostare alcune regole per mantenere le cose pratiche.

Il mio primo pensiero è di avere una directory translations , in cui ogni etichetta è un insieme di file di testo che prendono il nome dal nome del parametro della stringa dell'etichetta, con un suffisso per rappresentare la lingua. C'è un modo standard per farlo che sia approssimativamente flessibile e user-friendly come quello che ho in mente?

Esempio:

translations/
    submit.en-ca
    submit.ar
    cancel.en-ca
    cancel.ar
    instructions.en-ca
    instructions.ar
    
posta Dan Ross 10.10.2014 - 17:23
fonte

3 risposte

2

Risulta che la traduzione è un po 'più complessa di quanto pensassi. I plurali non funzionano nello stesso modo in arabo come in inglese, ogni nome ha un genere e alcune traduzioni dovrebbero essere diverse a seconda che l'oratore sia maschio o femmina. Che casino.

Dopo un po 'di ricerche, ho scoperto Gnu gettext e quello che sembra essere un file standard di fatto digitare: file .po. Il depistatore multipiattaforma sembra uno strumento che posso aspettarmi che i traduttori professionisti abbiano familiarità e il mio collaboratore, spero che possa essere utile per eseguirlo sul suo Mac.

Ci sono parser Javascript, jed per esempio, e un modulo gulp ( gulp-po-json ) per convertire i file .po in json al momento della compilazione.

    
risposta data 10.10.2014 - 21:10
fonte
2

Ho utilizzato CSV . Funziona bene perché:

  • I traduttori possono comodamente modificare le frasi brevi utilizzando un'app per fogli di calcolo come Excel o Google Drive

  • CSV è facile da tradurre avanti e indietro nel formato che devo usare o decidere di utilizzare internamente nell'applicazione

Non ho idea se CSV è il formato più semplice da usare. Inoltre, sospetto che il formato più semplice da utilizzare per la modifica e il formato più semplice da utilizzare nell'applicazione potrebbe non essere lo stesso.

Hai una certa flessibilità nel modo in cui strutturi il tuo file CSV, ma un approccio di base consiste nell'utilizzare tre colonne con

  • Colonna 1 == nome / chiave dell'etichetta

  • Colonna 2 == la frase inglese

  • Colonna 3 == una cella vuota in cui il traduttore inserirà la frase tradotta

risposta data 10.10.2014 - 19:01
fonte
2

Probabilmente dovresti imparare da un esempio di successo, come Microsoft ResX, il modo .NET. È XML, quindi è facile da gestire con il codice o manualmente. Lo schema XML è molto semplice, per niente pazzesco.

link

Eviterei anche di modificarli a mano (specialmente se richiedono la codifica) e di fornire al tuo collega un editor amichevole per qualsiasi formato tu decida, quindi rimango con un formato standard come questo e riutilizza uno di questi gli editori là fuori.

Per me, .resx è praticabile, ma puoi anche utilizzare il formato più tradizionale, .resource.

Un rapido Google mostra alcuni editor di resx gratuiti. Lutz (Roeder) ha qualcosa che mi aspetterei di qualità decente (dato che ha scritto Reflector)

link

O questo, sembra orientato verso l'utente finale della traduzione

link

Oppure usa Visual Studio Express (gratuito per il tuo collega di lavoro), o modificane uno con lo schema (Microsoft ResX Schema v2.0)

La cosa principale che manipolerai saranno elementi di dati. È possibile memorizzare testo o immagini o altri oggetti in una resx.

<data name="navbarImageList.ImageStream" 
             mimetype="application/x-microsoft.net.object.binary.base64">
  <value>
    AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
    ...
  </value>
</data>

In secondo luogo, ti consiglio di creare file di risorse meno granulari, come uno per modulo o schermo o pagina, o anche uno per app, se non così grande. Sarà più facile da gestire.

    
risposta data 10.10.2014 - 20:00
fonte

Leggi altre domande sui tag