2011-04-20 12:29:01 +00:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "fr" xml:lang = "fr" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" / >
< meta name = "keywords" content = "langues, blog" >
2011-04-20 13:56:52 +00:00
< link rel = "shortcut icon" type = "image/x-icon" href = "/Scratch/img/favicon.ico" / >
< link rel = "stylesheet" type = "text/css" href = "/Scratch/assets/css/main.css" / >
< link rel = "stylesheet" type = "text/css" href = "/Scratch/css/twilight.css" / >
< link rel = "stylesheet" type = "text/css" href = "/Scratch/css/idc.css" / >
2011-04-20 12:29:01 +00:00
< link rel = "alternate" type = "application/rss+xml" title = "RSS" href = "http://feeds.feedburner.com/yannespositocomfr" / >
2011-04-20 13:56:52 +00:00
< link rel = "alternate" lang = "fr" xml:lang = "fr" title = "choix liés à l'écriture dans plusieurs langues" type = "text/html" hreflang = "fr" href = "/Scratch/fr/blog/2010-06-14-multi-language-choices/" / >
< link rel = "alternate" lang = "en" xml:lang = "en" title = "multi language choices" type = "text/html" hreflang = "en" href = "/Scratch/en/blog/2010-06-14-multi-language-choices/" / >
< script type = "text/javascript" src = "/Scratch/js/jquery-1.3.1.min.js" > < / script >
< script type = "text/javascript" src = "/Scratch/js/jquery.cookie.js" > < / script >
< script type = "text/javascript" src = "/Scratch/js/index.js" > < / script >
2011-04-20 12:29:01 +00:00
<!-- [if lt IE 9]>
< script src = "http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > < / script >
<![endif]-->
< title > choix liés à l'écriture dans plusieurs langues< / title >
< / head >
2011-10-18 22:30:00 +00:00
< body lang = "fr" class = "article" >
2011-04-20 12:29:01 +00:00
< script type = "text/javascript" > / / < ! [ C D A T A [
2011-04-20 13:56:52 +00:00
document.write('< div id = "blackpage" > < img src = "/Scratch/img/loading.gif" alt = "Chargement en cours..." / > < / div > ');
2011-04-20 12:29:01 +00:00
// ]]>
< / script >
< div id = "content" >
< div id = "choix" >
< div class = "return" > < a href = "#entete" > ↓ Menu ↓ < / a > < / div >
< div id = "choixlang" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/en/blog/2010-06-14-multi-language-choices/" onclick = "setLanguage('en')" > in English< / a >
2011-04-20 12:29:01 +00:00
< / div >
2011-09-28 16:05:55 +00:00
< div class = "flush" > < / div >
2011-04-20 12:29:01 +00:00
< / div >
< div id = "titre" >
< h1 >
choix liés à l'écriture dans plusieurs langues
< / h1 >
< / div >
< div class = "flush" > < / div >
< div class = "flush" > < / div >
< div id = "afterheader" >
< div class = "corps" >
2012-01-20 11:20:07 +00:00
< p > Je traduis la plupart de mes articles pour qu’ ils soient disponibles en français et en anglais.
La façon que l’ on m’ a conseillé était d’ avoir un fichier par langue. En général ça donne ça.< / p >
2011-04-20 12:29:01 +00:00
< 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 >
< p > Cette façon de traduire vous impose une certaine façon de traduire.
2012-01-20 11:20:07 +00:00
D’ abord écrire entièrement le texte dans une langue,
2011-04-20 12:29:01 +00:00
puis copier le fichier et enfin retraduire dans une nouvelle langue.< / p >
2012-01-20 11:20:07 +00:00
< p > 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…
Lorsque je m’ aperçoit que j’ ai fait une erreur dans ces parties communes
ç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.< / p >
2011-04-20 12:29:01 +00:00
2012-01-20 11:20:07 +00:00
< p > C’ est pourquoi, j’ ai plutôt opté pour une autre solution.
J’ utilise des < em > tags< / em > sur un seul fichier.
2011-04-20 12:29:01 +00:00
En fin de compte, mes fichiers ressemblent à :< / p >
< pre class = "twilight" >
fr: Bonjour,
en: Hello,
en: here is an example of english text.
fr: voici un exemple de texte en français.
[image](url)
< / pre >
2012-01-20 11:20:07 +00:00
< p > Comme j’ édite mes fichier avec < a href = "http://vim.org" > vim< / a > , il m’ est très facile d’ ajouter ces < code > fr:< / code > ou < code > en:< / code > en début de ligne à l’ aide du très utile < code > C-v< / code > .
Par contre < a href = "http://nanoc.stoneship.org" > nanoc< / a > 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 < em > pré-traitement< / em > qui nettoie mes fichiers et en fait deux copie qui seront ensuite gérées par < a href = "http://nanoc.stoneship.org" > nanoc< / a > .< / p >
2011-04-20 12:29:01 +00:00
2012-01-20 11:20:07 +00:00
< p > Vous pouvez récupérer les sources de mon blog (sans tous les articles) à l’ adresse suivante < a href = "http://github.com/yogsototh/Scratch" > github.com/yogsototh/Scratch< / a > . J’ écrirais un article pour savoir comment l’ utiliser facilement. J’ ai en effet ajouté beaucoup de scripts et de librairies.< / p >
2011-04-20 12:29:01 +00:00
< / div >
< div id = "choixrss" >
< a id = "rss" href = "http://feeds.feedburner.com/yannespositocomfr" >
s'abonner
< / a >
< / div >
< script type = "text/javascript" >
$(document).ready(function(){
$('#comment').hide();
$('#clickcomment').click(showComments);
});
function showComments() {
$('#comment').show();
$('#clickcomment').fadeOut();
}
document.write('< div id = "clickcomment" > Commentaires< / div > ');
< / script >
< div class = "flush" > < / div >
< div class = "corps" id = "comment" >
< h2 class = "first" > commentaires< / h2 >
< noscript >
Vous devez activer javascript pour commenter.
< / noscript >
< script type = "text/javascript" >
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
2011-04-20 13:56:52 +00:00
var idcomments_post_id = '/Scratch/fr/blog/2010-06-14-multi-language-choices/';
var idcomments_post_url = 'http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/';
2011-04-20 12:29:01 +00:00
< / script >
< span id = "IDCommentsPostTitle" style = "display:none" > < / span >
2011-04-20 13:56:52 +00:00
< script type = 'text/javascript' src = '/Scratch/js/genericCommentWrapperV2.js' > < / script >
2011-04-20 12:29:01 +00:00
< / div >
< div id = "entete" class = "corps_spaced" >
< div id = "liens" >
2011-04-20 13:56:52 +00:00
< ul > < li > < a href = "/Scratch/fr/" > Bienvenue< / a > < / li >
< li > < a href = "/Scratch/fr/blog/" > Blog< / a > < / li >
< li > < a href = "/Scratch/fr/softwares/" > Softwares< / a > < / li >
< li > < a href = "/Scratch/fr/about/" > À propos< / a > < / li > < / ul >
2011-04-20 12:29:01 +00:00
< / div >
< div class = "flush" > < / div >
< hr / >
< div id = "next_before_articles" >
< div id = "previous_articles" >
articles précédents
< div class = "previous_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/" > < span class = "nicer" > «< / span > Arbres ; Pragmatisme et Formalisme< / a >
2011-04-20 12:29:01 +00:00
< / div >
< div class = "previous_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/" > < span class = "nicer" > «< / span > Comment réparer un XML coupé ?< / a >
2011-04-20 12:29:01 +00:00
< / div >
< div class = "previous_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/" > < span class = "nicer" > «< / span > Je reviens à la vie !< / a >
2011-04-20 12:29:01 +00:00
< / div >
< / div >
< div id = "next_articles" >
articles suivants
< div class = "next_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/" > Récupérez mon système de blog < span class = "nicer" > »< / span > < / a >
2011-04-20 12:29:01 +00:00
< / div >
< div class = "next_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/" > Analyser les clicks sur votre Site < span class = "nicer" > »< / span > < / a >
2011-04-20 12:29:01 +00:00
< / div >
< div class = "next_article" >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/" > Se cacher de ses statistiques web < span class = "nicer" > »< / span > < / a >
2011-04-20 12:29:01 +00:00
< / div >
< / div >
< div class = "flush" > < / div >
< / div >
< / div >
< div id = "bottom" >
< div >
< a rel = "license" href = "http://creativecommons.org/licenses/by-sa/3.0/deed.fr" > Droits de reproduction ©, Yann Esposito< / a >
< / div >
< div id = "lastmod" >
Écrit le : 14/06/2010
2012-01-18 14:51:20 +00:00
modifié le : 18/01/2012
2011-04-20 12:29:01 +00:00
< / div >
< div >
Site entièrement réalisé avec
< a href = "http://www.vim.org" > Vim< / a >
et
< a href = "http://nanoc.stoneship.org" > nanoc< / a >
< / div >
< div >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/fr/validation/" > Validation< / a >
2011-04-20 12:29:01 +00:00
< a href = "http://validator.w3.org/check?uri=referer" > [xhtml] < / a >
.
< a href = "http://jigsaw.w3.org/css-validator/check/referer?profile=css3" > [css] < / a >
.
2011-04-20 13:56:52 +00:00
< a href = "http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/fr/blog/feed/feed.xml" > [rss]< / a >
2011-04-20 12:29:01 +00:00
< / div >
< / div >
< div class = "clear" > < / div >
< / div >
< / body >
< / html >