2014-12-02 473 views
1

我希望這是簡單的東西,我只是俯瞰。我們有3個Plone網站,其假設在其核心設置中完全相同,僅與安裝的某些產品和實際內容不同。我注意到我們的翻譯在一個網站上工作,而不是在另外兩個網站上。到目前爲止,我找不到任何區別。Plone Translations - i18ndude首選語言

我們使用i18ndude(版本3.3.3)和Plone 4.3.2。我們確實有自己的域名定製產品/類型,但它不僅僅是那些不起作用的東西,而是網站上的所有東西。

對於測試,我試圖抓住並打印瀏覽器的語言。我同時使用context.REQUEST['LANGUAGE']context.portal_languages.getPreferredLanguage()。我在每次嘗試'es','en'和'pt'時都設置了瀏覽器語言,因爲這些語言是我們目前支持的語言。每個網站的網站語言都設置爲英語。下面是我的測試結果:

Browser Language set to 'es': 
Site A: returned 'es' 
Site B: returned 'en' 
Site C: returned 'en' 

Browser Language set to 'en': 
Site A: returned 'en' 
Site B: returned 'en' 
Site C: returned 'en' 

Browser Language set to 'pt': 
Site A: returned 'en' 
Site B: returned 'en' 
Site C: returned 'en' 

站點A和B都在同一臺服務器上,所以我不認爲它缺少的服務器軟件包。兩者的構建幾乎完全相同,但差異僅在於與這個問題看似無關的情侶蛋。

我只是不明白爲什麼它甚至沒有檢測到更新的瀏覽器語言,它只是默認回到網站的首選語言。除了一個站點中的一個場景。奇怪的是,這些都是我所知道的最好的工作,我不知道他們何時停止。

我沒有檢查context.portal_languages.getAvailableLanguages()只是爲了確保我使用的是在那裏,他們是。我還檢查了國內目錄的場所&的所有權和權限,這些都是跨網站匹配並準確設置的。

編輯

這是一個腳本,我很快就寫了,看什麼都值的Plone越來越:

pl = context.portal_languages 
langs = [str(language) for language in pl.getAvailableLanguages().keys()] 
print langs 
print "Preferred: ", pl.getPreferredLanguage() 

ts = context.translation_service 
print "Request Language: ", context.REQUEST['LANGUAGE'] 
print "Accept Language: ", context.REQUEST['HTTP_ACCEPT_LANGUAGE'] 

return printed 

這種運行這個時候,由優先級最高的第一列是我的瀏覽器的語言設置:

  1. PT-BR
  2. PT
  3. ES
  4. 連接
  5. EN-US

這是我的結果(站點A,這似乎認識到西班牙,而不是葡萄牙):

['gv', 'gu', 'gd', 'ga', 'gn', 'gl', 'lg', 'lb', 'ty', 'ln', 'tw', 'tt', 'tr', 'ts', 'li', 'tn', 'to', 'tl', 'lu', 'tk', 'th', 'ti', 'tg', 'as', 'te', 'ta', 'yi', 'yo', 'de', 'ko', 'da', 'dz', 'dv', 'qu', 'kn', 'lv', 'el', 'eo', 'en', 'zh', 'ee', 'za', 'uk', 'eu', 'zu', 'es', 'ru', 'rw', 'kl', 'rm', 'rn', 'ro', 'bn', 'be', 'bg', 'ba', 'wa', 'wo', 'bm', 'jv', 'bo', 'bh', 'bi', 'br', 'bs', 'ja', 'om', 'oj', 'la', 'oc', 'kj', 'lo', 'os', 'or', 'xh', 'ch', 'co', 'ca', 'ce', 'cy', 'cs', 'cr', 'cv', 'cu', 'ps', 'pt', 'lt', 'pa', 'pi', 'ak', 'pl', 'hz', 'hy', 'an', 'hr', 'am', 'ht', 'hu', 'hi', 'ho', 'ha', 'he', 'mg', 'uz', 'ml', 'mo', 'mn', 'mi', 'mh', 'mk', 'ur', 'mt', 'ms', 'mr', 'ug', 'my', 'ki', 'aa', 'ab', 'ae', 've', 'af', 'vi', 'is', 'vk', 'iu', 'it', 'vo', 'ii', 'ay', 'ik', 'ar', 'km', 'io', 'et', 'ia', 'az', 'ie', 'id', 'ig', 'ks', 'nl', 'nn', 'no', 'na', 'nb', 'nd', 'ne', 'ng', 'ny', 'kw', 'nr', 'nv', 'kv', 'fr', 'ku', 'fy', 'fa', 'kk', 'ff', 'fi', 'fj', 'ky', 'fo', 'ka', 'kg', 'ss', 'sr', 'sq', 'sw', 'sv', 'su', 'st', 'sk', 'kr', 'si', 'sh', 'so', 'sn', 'sm', 'sl', 'sc', 'sa', 'sg', 'se', 'sd'] 
Preferred: es 
Request Language: es 
Accept Language: pt-br,pt;q=0.8,es;q=0.6,en;q=0.4,en-us;q=0.2 

和結果網站B和C:

['en-mp', 'gv', 'gu', 'fr-dj', 'fr-gb', 'en-na', 'en-ng', 'en-nf', 'zh-hk', 'gd', 'pt-br', 'ga', 'gn', 'gl', 'en-nu', 'en-fm', 'en-ag', 'ms-my', 'ty', 'tw', 'tt', 'tr', 'ts', 'ko-kp', 'tn', 'to', 'tl', 'tk', 'th', 'ti', 'tg', 'te', 'zh-sg', 'ta', 'fr-mq', 'de', 'da', 'ar-ae', 'es-ni', 'dz', 'en-kn', 'fr-ml', 'dv', 'en-ms', 'fr-mg', 'fr-sc', 'fr-vu', 'qu', 'ar-qa', 'es-bo', 'en-nz', 'fr-bj', 'en-ws', 'fr-bi', 'zh', 'en-lr', 'fr-ch', 'fr-bf', 'za', 'fr-be', 'en-lc', 'fr-rw', 'zu', 'ch-mp', 'ar-ly', 'en-gb', 'en-nr', 'es-pr', 'tr-bg', 'en-gh', 'en-gi', 'fr-km', 'es-py', 'en-gm', 'es-pe', 'es-pa', 'en-gu', 'en-gy', 'sw-tz', 'ms-sg', 'wa', 'pt-st', 'wo', 'pt-ao', 'jv', 'fr-cd', 'ja', 'en-vu', 'es-ar', 'fr-td', 'fr-tg', 'da-dk', 'ch', 'co', 'en-vg', 'en-bz', 'ca', 'en-us', 'ce', 'en-ai', 'en-bm', 'en-vi', 'cy', 'en-bn', 'cs', 'cr', 'fr-ci', 'cv', 'cu', 'en-bb', 'ps', 'ln-cg', 'pt', 'en-au', 'zh-tw', 'es-mx', 'de-de', 'pa', 'es-ve', 'en-as', 'en-er', 'pi', 'de-dk', 'pl', 'en-sb', 'ch-gu', 'es-hn', 'en-sc', 'fr-nc', 'it-hr', 'ar-eg', 'mg', 'pt-pt', 'ml', 'mo', 'mn', 'mi', 'mh', 'mk', 'mt', 'ms', 'mr', 'fr-fr', 'hu-si', 'my', 'sv-fi', 'fr-re', 'en-pk', 've', 'vi', 'is', 'vk', 'iu', 'it', 'vo', 'ii', 'ik', 'en-io', 'fr-cm', 'io', 'ia', 'ie', 'id', 'ig', 'es-cu', 'hu-hu', 'es-cr', 'es-cl', 'es-co', 'fr-wf', 'pt-mz', 'en-il', 'it-it', 'de-be', 'fr', 'en-ke', 'fr-ga', 'fr-pf', 'es-do', 'ar-ps', 'fy', 'fr-gn', 'fr-pm', 'en-ki', 'en-ug', 'fa', 'fr-gp', 'ff', 'fi', 'fj', 'fo', 'ar-kw', 'bn-sg', 'ss', 'sr', 'sq', 'sw', 'sv', 'su', 'st', 'sk', 'si', 'sh', 'so', 'sn', 'sm', 'sl', 'sc', 'sa', 'sg', 'se', 'sd', 'bn-in', 'fr-mc', 'sv-se', 'ar-bh', 'lg', 'lb', 'la', 'ln', 'lo', 'ss-za', 'li', 'lv', 'lt', 'lu', 'sw-ke', 'en-bw', 'yi', 'en-ph', 'en-pn', 'yo', 'en-ie', 'en-pg', 'pt-cv', 'hr-ba', 'bn-bd', 'en-pr', 'en-pw', 'ss-sz', 'ar-iq', 'de-ch', 'ar-il', 'es-sv', 'el', 'eo', 'en', 'ar-dz', 'ee', 'tn-bw', 'es-gq', 'fr-gf', 'es-gt', 'eu', 'et', 'de-lu', 'es', 'ru', 'rw', 'zh-cn', 'ar-td', 'nl-nl', 'it-sm', 'it-si', 'rm', 'rn', 'ro', 'ar-sa', 'be', 'bg', 'ur-pk', 'ba', 'fr-ca', 'bm', 'bn', 'bo', 'bh', 'bi', 'fr-cg', 'fr-cf', 'es-us', 'el-cy', 'en-vc', 'sd-pk', 'ta-sg', 'br', 'bs', 'nl-an', 'sd-in', 'cs-cz', 'om', 'oj', 'fr-lb', 'en-fk', 'en-fj', 'oc', 'ln-cd', 'fr-lu', 'ar-om', 'de-at', 'os', 'or', 'tr-cy', 'xh', 'el-gr', 'de-li', 'ar-sy', 'en-jm', 'es-ec', 'ar-so', 'it-ch', 'en-ls', 'ar-sd', 'es-es', 'en-rw', 'tn-za', 'ar-jo', 'en-ky', 'en-bs', 'hz', 'ar-ma', 'da-gl', 'hy', 'en-mt', 'en-mu', 'nl-aw', 'en-mw', 'hr', 'en-tt', 'en-zw', 'ht', 'hu', 'en-to', 'ar-mr', 'hi', 'en-tk', 'ho', 'hr-hr', 'ha', 'en-tc', 'pt-gw', 'he', 'en-dm', 'fr-it', 'uz', 'en-et', 'ur-in', 'ur', 'tr-tr', 'uk', 'ms-bn', 'ug', 'aa', 'en-so', 'en-sl', 'ab', 'ae', 'en-sh', 'af', 'en-sg', 'ak', 'am', 'ko-kr', 'an', 'as', 'ar', 'en-sz', 'nl-be', 'ay', 'az', 'ar-lb', 'nl', 'nn', 'no', 'na', 'nb', 'nd', 'ne', 'ng', 'ny', 'ta-in', 'fr-yt', 'en-za', 'nr', 'nv', 'ar-ye', 'ar-tn', 'en-cm', 'en-ck', 'sr-ba', 'en-ca', 'ka', 'kg', 'en-gd', 'es-uy', 'kk', 'kj', 'ki', 'ko', 'kn', 'km', 'kl', 'ks', 'kr', 'fr-ad', 'kw', 'kv', 'ku', 'en-zm', 'ky', 'fr-ht', 'nl-sr'] 
Preferred: en 
Request Language: en 
Accept Language: pt-br,pt;q=0.8,es;q=0.6,en;q=0.4,en-us;q=0.2 

我剛剛注意到可用語言的列表從portal_languages這些網站不同。添加到奇怪的,但也許是罪魁禍首的提示?

對不起,很長的文章,只是儘量給我儘可能多的信息!

回答

1

我的懷疑是正確的,它是簡單的,我俯瞰。在這裏發佈我的發現。

在ZMI,去portal_languages,並檢查這些設置:

  • Allowed語言
    • 所有支持的語言應選擇

      • 默認語言。
    • 談判方案
      • 確保「使用瀏覽器語言請求協商」被選中

    僅發現默認語言Allowed語言選擇我的問題選擇列表。我不確定爲什麼它會像這樣或那樣重置。當使用語言設置控制面板時,我沒有看到允許的語言選項,必須去ZMI。

    顯然,hvelarde提到的更改也沒有更新此設置。

  • 0

    搜索構建環境變量的實例部分zope_i18n_allowed_languages;它用於限制加載po文件的語言,以加速Zope啓動時間並使用更少的內存。

    在你的情況,你應該如下設置:

    [instance] 
    ... 
    environment-vars = 
        PTS_LANGUAGES en es pt 
        zope_i18n_allowed_languages en es pt 
        zope_i18n_compile_mo_files true 
    

    有關更多信息,請Maurits的麪包車里斯Internationalization in Plone 3.3 and 4.0

    +0

    我將這些變量添加到每個實例,運行建立並重新啓動。什麼也沒有變。該網站仍未翻譯,我的腳本顯示我的瀏覽器語言爲'en'。有關更多詳細信息,我將使用我正在運行的確切腳本和結果編輯我的帖子。 – rain2o 2014-12-02 20:52:41

    +0

    好的,我覺得我可能會誤解某些東西。如果在網站設置中,網站語言設置爲英語,但我向所有產品和上述環境變量提供西班牙語翻譯,如果用戶使用瀏覽器語言設置爲西班牙語訪問我的網站,他們應該用西班牙語來看它,對吧? – rain2o 2014-12-02 21:12:40

    +0

    對於我所記得的這取決於你如何定製'portal_languages'工具,但你必須進入ZMI。有一些配置沒有暴露給Plone級別。 – 2014-12-03 22:25:34

    相關問題