scratch/multi/blog/2010-06-14-multi-language-choices.md

70 lines
3.6 KiB
Markdown
Raw Normal View History

2010-06-14 15:00:05 +00:00
-----
isHidden: false
menupriority: 1
kind: article
created_at: 2010-06-14T16:14:57+02:00
fr: title: choix liés à l'écriture dans plusieurs langues
en: title: multi language choices
author_name: Yann Esposito
author_uri: yannesposito.com
tags:
en: - multi-language
fr: - langues
- blog
-----
fr: Je traduis la plupart de mes articles pour qu'ils soient disponibles en français et en anglais.
fr: La façon que l'on m'a conseillé était d'avoir un fichier par langue. En général ça donne ça.
en: I translate most of my blog entries in French and English.
en: Most people advice me to have one file per language. Generally it ends with:
<pre class="twilight">
Bonjour,
voici un exemple de texte en français.
[image](url)
</pre>
<pre class="twilight">
Hello,
here is an example of english text.
[image](url)
</pre>
fr: Cette façon de traduire vous impose une certaine façon de traduire.
fr: D'abord écrire entièrement le texte dans une langue,
fr: puis copier le fichier et enfin retraduire dans une nouvelle langue.
en: This way of handling translations force you to write completely an article in one language, copy it, and translate it.
fr: Le problème, c'est que très souvent, les articles ont des parties communes non négligeables. Par exemple, les images, les codes sources, etc...
fr: Lorsque je m'aperçoit que j'ai fait une erreur dans ces parties communes
fr: ça m'oblige à refaire deux fois la même manipulation. Sauf que comme il m'arrive d'être distrait, il peut y avoir pas mal d'aller-retours.
en: However, most of time, there are common parts like images, source code, etc...
en: When I want to correct some mistake on these parts, I have to make twice the work. With sometimes adding another mistake in only one language.
fr: C'est pourquoi, j'ai plutôt opté pour une autre solution.
fr: J'utilise des *tags* sur un seul fichier.
fr: En fin de compte, mes fichiers ressemblent à :
en: This is why I preferred to handle it differently.
en: I use *tags* on a single file.
en: Finally my files looks like:
2010-06-14 22:20:26 +00:00
<pre class="twilight">
2010-06-14 15:00:05 +00:00
fr: Bonjour,
en: Hello,
en: here is an example of english text.
fr: voici un exemple de texte en français.
[image](url)
</pre>
fr: Comme j'édite mes fichier avec [vim](http://vim.org), il m'est très facile d'ajouter ces `fr:` ou `en:` en début de ligne à l'aide du très utile `C-v`.
fr: Par contre [nanoc](http://nanoc.stoneship.org) a été conçu pour être utilisé par une seule langue. Précédemment, j'avais utilisé les capacité de nanoc pour séparer les langues. Mais finalement, il s'avère bien plus simple de faire un *pré-traitement* qui nettoie mes fichiers et en fait deux copie qui seront ensuite gérées par [nanoc](http://nanoc.stoneship.org).
en: As I edit my files with [vim](http://vim.org), it is really easy to add `fr:` or `en:` at some line's beginning using the useful `C-v`.
en: However [nanoc](http://nanoc.stoneship.org) was conceived to be used for one language only. Or to be used with the first method. I tried to adapt nanoc to my usage. But after a while, I found it easier to pre-filter the nanoc work by a simple script. My script transform my file into two new files. And all work like a charm.
2012-01-12 15:24:42 +00:00
fr: Vous pouvez récupérer les sources de mon blog (sans tous les articles) à l'adresse suivante [github.com/yogsototh/Scratch](http://github.com/yogsototh/Scratch). J'écrirais un article pour savoir comment l'utiliser facilement. J'ai en effet ajouté beaucoup de scripts et de librairies.
en: You can get my blog code source (without most of articles) at [github.com/yogsototh/Scratch](http://github.com/yogsototh/Scratch).