2016-07-12 9 views
4

Ich versuche eine mehrsprachige Website für ein Unternehmen zu erstellen, und weil sie viele Informationen haben, möchte ich alle ihre Informationen in Französisch und in Englisch in der gleichen Post wie so:Jekyll: Zuweisen einer Variablen zu einem Post in einer for-Schleife

en: 
    title: "English Stuff" 
fr: 
    title: "French Stuff" 

die Sache ist, um sie dynamisch im gleichen Layout wie dies mit etwas zu verwenden,

{{ post.[post.lang].title }} 

ich assign wollte eine Variable wenn ich for Ed die m, zugewiesen werden automatisch die Sprache, die ich an dem Pfosten wollte, so etwas wie:

{% for post in site.categories.yesterday %} 

    {% assign lang = en %} 

    <li><h2><a href="{{ post.url }}">{{ post.lang.title }}</a><h2></li> 

{% endfor %} 

I scheint nicht zu funktionieren (die Titel werden nicht gerendert), so wollte ich für Ihre Meinung fragen. Ist der beste Weg, es zu tun? Was mache ich falsch und was kann ich tun, um es zu verbessern?

+0

Haben Sie bereits in Ressourcen graben aus einer Google-Suche wie ** jekyll Internationalisierung Fusion **? –

+0

@DavidJacquel Gibt es eine Möglichkeit, eine Variable zu verschachteln? – JoostS

+1

@JoostS Wie nennst du eine Variable verschachteln? Vielleicht kannst du eine SO Frage stellen. –

Antwort

1

Die einfachste Lösung besteht darin, separate Sites auf separaten Domänen zu erstellen. Es ist nicht trocken, aber es ist die einfachste Lösung. Google will tell you the same.

Wenn Sie jedoch eine Website haben, die viel Änderungen/Entwicklungen im Laufe der Zeit erfordert, kann der Teil "nicht DRY" frustrierend werden. Das wäre ein Grund, ein internationization plugin zu verwenden.

1

Diese frontmatter in Ihre Beiträge:

---- 
en: 
    title: "English Stuff" 
fr: 
    title: "French Stuff" 
---- 

... arbeitet mit dieser Schleife:

{% for post in site.categories.yesterday %} 

    {% assign lang = en %} 

    <li><h2><a href="{{ post.url }}">{{ post[lang].title }}</a><h2></li> 

{% endfor %}