2014-08-28 1 views
3

안녕하세요 저는 작은 정적 다국어 사이트를 구축하기 위해 Pelican/Python을 사용하고 있습니다.현재 페이지의 펠리칸 사이트에서 모든 언어에 대한 링크를 생성하는 방법 (기사)

i18n_subsites 플러그인을 사용하면 내 사이트 상단에 다른 사용 가능한 언어를 표시하는 언어 버튼을 추가 할 수 있습니다.

이러한 언어 버튼의 링크를 현재 페이지 (기사) 번역으로 지정하는 방법이 있습니까? 기본 페이지가 아닌가요? 같은 페이지 (기사)에 머무르는 것이 좋습니다.

도움을 주시면 감사하겠습니다. 감사.

답변

1

다른 사람에게 유용 할 수 있습니다.

이것은 일시적인 문제입니다. 많은 감사는 smartass101

에 당신은 이런 식으로 뭔가를 할 수 : 필터가

def extract_trans(article, lang, url): 
for trans in article.translations: 
    if trans.lang == lang: 
     return trans.url 
return url 

로 정의하고 JINJA_FILTERS 설정을 사용하여 포함되어

{% if lang_siteurls %} 
{% for lang, url in lang_siteurls.items() %} 
<li{% if lang == DEFAULT_LANG %} class="active"{% endif %}> 
<a href={% if article and lang != DEFAULT_LANG %}"{{ SITEURL }}/{{ article | extract_trans(lang, url) }}" 
    {% elif article %}"{{ SITEURL }}/{{ article.url }}" 
    {% elif page and lang != DEFAULT_LANG %}"{{ SITEURL }}/{{ page | extract_trans(lang, url) }}" 
    {% elif page %}"{{ SITEURL }}/{{ page.url }}" 
    {% else %}"{{ url }}"{% endif %}>{{ lang }}</a></li> 
{% endfor %} 
<!-- separator --> 
<li style="background-color: white; padding: 5px;">&nbsp</li> 
{% endif %} 

. 이 코드는 아카이브를 제외한 모든 페이지와 기사에서 저에게 효과적입니다.

관련 문제