Stiamo localizzando tutte le parti del nostro sito Web in molte lingue. Usiamo file di localizzazione XML. Penso che questo scenario sia così comune, e anche in questo caso dovrebbe esserci una soluzione standard, ma ancora non sono riuscito a trovare alcun buon consiglio, e ogni sviluppatore qui ha opinioni diverse a riguardo, quindi te lo chiedo.
Suggerisci il seguente esempio:
Se hai domande, chiedi al nostro <a href="blabla" target="_blank" title="Our nice Customer Support + boilerplate SEO bullshit"> Assistenza clienti </a> o scrivi un'email a <a href="mailto:XXX"> Jane Doe </a> il nostro specialista.
O un testo lungo e formattato:
<p>A very long, marketing blah-blah. A very long, marketing blah-blah. A very long, marketing blah-blah concluding in a list:</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
1) Metteresti i tag html nel file XML di localizzazione?
La mia preoccupazione è che la vista sia separata in 2 file : la tua pagina e il tuo file di localizzazione. Le persone dimenticheranno di controllare il file di localizzazione. Inoltre, c'è anche logica e stile incorporati in html (vedi target="_blank" , o il fatto che l'elenco sopra menzionato non è ordinato ...)
2) O dividendolo in parti più piccole?
<msg id="IfYouHaveQuestion"> Se hai domande, chiedi al nostro </msg>
<msg id="CustomerSupport"> Assistenza clienti </msg>
<msg id="OrWrite"> o scrivi un'email a </msg>
...
Ora, View può contenere tutto il markup e lo stile. È facile cambiarlo, flessibile.
Ma.
È assolutamente nessuna garanzia che l'ordine delle parole sarà lo stesso in tutte le lingue. Inoltre, questo renderebbe il lavoro del traduttore un incubo , rendendolo un puzzle.
3) O introdurre il markdown BB-style?
<msg id="HaveQuestion"> Se hai domande, chiedi al nostro [link url="{customersupportlink}" title="{{CustomerSupportTitle}}"> Assistenza clienti [/link] o scrivi un'email ... </msg>
Ma probabilmente questo sta complicando eccessivamente il problema, e anche per questo dobbiamo scrivere il nostro parser (anche se penso che non sarebbe così difficile). E probabilmente non risolve il lungo problema di testo formattato.
4) ??? (La tua soluzione d'oro qui):)