2012-07-23 47 views
1

我目前正在製作雙語表達引擎2.5.2網站。我使用this technique來創建兩個語言,完美的作品。條目在表達式引擎中是否可以有兩個URL,並翻譯模板名稱?

我在兩個index.php文件中創建了一個{country_code}全局變量,它允許我檢測當前語言。

使用這種技術,我在訪問條目時不會遇到與語言相關的數據。我唯一擔心的是我顯然需要授予特定於語言的「乾淨」URL。

實施例條目:

  • {entry_id} = 123
  • {TITLE} =我的測試物品
  • {title_permalink} =我的試驗品
  • {name_fr} =週一文章
  • {name_en} =我的文章

如果我要求http://www.example.com/index.php/en/blog/articles/my-test-article,我希望能夠使用博客模板組中的模板文章以英文查找「我的文章」。

一切都很好,但法國翻譯是請求http://www.example.com/index.php/fr/blog/articles/my-test-article訪問。 URL的正確翻譯應該是http://www.example.com/index.php/fr/blogue/articles/mon-article-test

任何人都遇到過這樣的問題?任何解決方案通過擴展或模塊?

回答

1

我相信Transcribe module通過提供翻譯模板組和模板名稱的能力以及爲您的站點中的每種語言和一段內容創建單獨的條目來解決此問題(因此,您有兩個單獨的URL標題) 。但這意味着購買他們的多語言網站的整個方法。

我自己,我通常只是堅持使用entry_id而不是url_title,並且使用主要語言的模板名稱。

+0

是的,我發現了Transcribe,這似乎是我現在需要的一切。就像你說的那樣,這意味着你購買了他們的方法論,並且以150美元的價格標籤混合,我想探索其他選擇。條目ID可以工作,但是這裏的目標是保留「乾淨,漂亮」的URL。 – 2012-07-23 19:45:38

0

我發現實現這一目標的最佳方式是通過嵌入帶段翻譯的模板,複製模板組和複製通道。

blog/articles模板:

{embed="shared/.head" segment_2_translation="blogue" segment_3_translation="articles"}

blogue/articles模板:

{embed="shared/.head" segment_2_translation="blog" segment_3_translation="articles"}

shared/.head模板:

[...] <a href="/{lang}/{if embed:segment_2_translated}{segment_2_translated}/{/if}{if embed:segment_3_translated}{segment_3_translated}/{/if}">{if lang == "fr"}English{if:else}Français{/if}</a> [...]

然後您可以創建Articles (FR)Articles (EN)渠道,並且每個渠道都有其唯一的網址標題。您還可以爲每個頻道添加關係自定義字段,以將條目與其翻譯關聯起來。

它感覺混亂,但它是我可以讓它在沒有模塊,插件或者其他東西的情況下工作的唯一方式。

相關問題