kurtsson / jekyll-multiple-languages-plugin

I18n support for Jekyll and Octopress
MIT License
927 stars 203 forks source link

Permalinks of custom collection documents are not translated. #87

Closed klaasnotfound closed 5 years ago

klaasnotfound commented 7 years ago

I am using this plugin for a site with custom collections. In addition to the _posts folder I have an _faq folder that contains a collection of frequently asked questions. For SEO purposes each of these questions should end up with its own translated URL.

In my _config.yml I added

collections:
  faq:
    output: true

and the collection documents are rendered into each language folder. However, the permalinks are always in the default language. I.e. for a site with languages ["de", "en"] (German being the default), all rendered versions of the question

layout: faq
title: faq.how-much

namespace: faq.how-much
permalink: /faq/wieviel-kostet-es
permalink_en: /faq/how-much-does-it-cost

end up having the URL <lang>/faq/wieviel-kostet-es (including the English version).

I looked at the source code of the plugin and realized the permalink translation is missing for documents. Simply copying the permalink translation code to the document code actually fixed the problem, i.e. all links are translated correctly.

Maybe you could double-check whether this is the right way to do it and include this fix in the next release.

klaasnotfound commented 7 years ago

Oh, one more thing: The link translation tag {% tl ... %} currently doesn't work for collection documents either. I managed to fix this by inserting

collections = site.collections.values.collect{|x| x.docs}.flatten
pages = site.pages + collections

here.

maesitos commented 5 years ago

Pull request created with these changes https://github.com/Anthony-Gaudino/jekyll-multiple-languages-plugin/pull/137

shushugah commented 5 years ago

This issue should be closed. Thank you maesitos!