Demo

討論

保持飢餓,保持愚笨 (Stay hungry, stay foolish)。 史蒂夫·賈伯斯

公告

本網站已取消討論區的討論方式,如果您有問題請至LINE群行動條碼圖片網址,或Facebook社團

Joom!Fish UTF-8 分離語言ISO與國家地區IS0

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2006-07-22 04:02 - 2007-04-02 22:23 #3321 來自 kochin
kochin created the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
在安裝Joom!Fish UTF-8版及使用一陣子後我發現Joom!Fish在設計上有個缺陷:它使用同一個ISO碼來決定browser所用語言,及切換Joomla執行時的locale。這常會造成語言決定失敗或無法變換locale,因為browser送來的語言碼是像en、zh-tw,而系統所認識的locale碼通常是像en_US、zh_TW,當然也有系統認識符合browser的碼,但也有用類似zh_tw、cht-twn、English等不同的碼。所以如果在Joom!Fish中用browser的語言碼塡入ISO,則可能無法變換locale,造成某些地方亂碼;但若用系統認識的locale碼塡入ISO,則browser語言決定會失敗。Joom!Fish的開發群知道這個問題,但要到1.8版才修正。

我只好自力救濟修改程式,在database table jos_languages加入一個locale欄。將原來的iso欄只用來決定browser所用語言,而locale欄用來切換Joomla執行時的locale。若要使用這個修改,下載修補檔Joom!Fish-1.7UTF8_locale_iso.patch.txt到server,在jos_languages中加入 locale varchar(30),用shell進入Joomla檔案夾,執行
patch -p1 < Joom!Fish-1.7UTF8_locale_iso.patch.txt
然後到後台在Joom!Fish中輸入正確的語言ISO及國家地區IS0。

注意:如果你不能或不想使用文字 patch 檔,請看我在下面的回覆。 http://www.joomla.org.tw/component/option,com_smf/Itemid,180/topic,1065.msg6362#msg6362
附件:
最後修改原因: 2007-04-02 22:23 來自 kochin.

Please 登入 to join the conversation.

  • autoit
  • autoit 的個人頭像
  • 訪客
  • 訪客
2006-07-22 14:45 #3324 來自 autoit
autoit replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
;D 好注意!

不错的说.

Please 登入 to join the conversation.

  • james yang
  • james yang 的個人頭像
  • 訪客
  • 訪客
2006-10-17 09:00 #4602 來自 james yang
james yang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
請問如何shell??

英文版的可以用嗎?

Please 登入 to join the conversation.

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2006-10-18 00:47 #4614 來自 kochin
kochin replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0

james yang 寫了道:: 請問如何shell??

若是自己的伺服器,只要 login 就進入 command shell。若是伺服器在 hosting 公司,試試看 ssh。

james yang 寫了道:: 英文版的可以用嗎?

英文版的 patch 在 http://forge.joomla.org/sf/discussion/d ... #post10684 可以找到。

Please 登入 to join the conversation.

  • james yang
  • james yang 的個人頭像
  • 訪客
  • 訪客
2006-10-19 02:58 #4623 來自 james yang
james yang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
謝謝...
我是一個一個慢慢改---

可是還是有亂碼出現

http://www.rzfiberglass.com/joomla

可是firefox下看都正常....

Please 登入 to join the conversation.

  • james yang
  • james yang 的個人頭像
  • 訪客
  • 訪客
2006-10-19 04:52 #4626 來自 james yang
james yang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
修好了

記得也要改template裡的code.....

Please 登入 to join the conversation.

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2006-10-20 01:59 #4639 來自 kochin
kochin replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
我看見繁體中文的日期成亂碼,這通常是 locale 設的不對。請試試別的 locale 碼,例如在我的 server 上必須用 zh_TW.UTF-8 才會正確顯示日期。

另外 browser window 上的標題顯示 UTF-8 碼,而不是中文字。這你可以參考 http://www.joomla.org.tw/index.php?opti ... 43#msg4143 中的討論來修改。

還有提醒一下,中文 PDF 會是亂碼。

james yang 寫了道:: 可是還是有亂碼出現

Please 登入 to join the conversation.

  • ee wang
  • ee wang 的個人頭像
  • 訪客
  • 訪客
2006-11-08 17:53 #4806 來自 ee wang
ee wang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
請問一下這個patch可以用在 1.0.11中文版嗎?
因為我用了,出現以下訊息,joomfish也沒有效果。

(Stripping trailing CRs from patch.)
patching file administrator/components/com_joomfish/admin.joomfish.html.php
(Stripping trailing CRs from patch.)
patching file administrator/components/com_joomfish/admin.joomfish.php
(Stripping trailing CRs from patch.)
patching file administrator/components/com_joomfish/joomfish.class.php
Hunk #1 FAILED at 152.
Hunk #2 FAILED at 1203.
2 out of 2 hunks FAILED -- saving rejects to file administrator/components/com_joomfish/joomfish.class.php.rej
(Stripping trailing CRs from patch.)
patching file components/com_joomfish/language/english.php
Hunk #1 FAILED at 118.
Hunk #2 FAILED at 186.
2 out of 2 hunks FAILED -- saving rejects to file components/com_joomfish/language/english.php.rej
(Stripping trailing CRs from patch.)
patching file components/com_joomfish/language/simplified_chinese.php
Hunk #1 FAILED at 118.
Hunk #2 FAILED at 189.
2 out of 2 hunks FAILED -- saving rejects to file components/com_joomfish/language/simplified_chinese.php.rej
(Stripping trailing CRs from patch.)
patching file components/com_joomfish/language/traditional_chinese.php
Hunk #1 FAILED at 118.
Hunk #2 FAILED at 189.
2 out of 2 hunks FAILED -- saving rejects to file components/com_joomfish/language/traditional_chinese.php.rej
(Stripping trailing CRs from patch.)
patching file mambots/system/jfdatabase.systembot.php

Please 登入 to join the conversation.

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2006-11-11 09:53 #4834 來自 kochin
kochin replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
我自己用 TaiwanJoomla 的中文 Joomla! 1.0.11 和 Joom!Fish 1.7 UTF-8 版,沒什麼問題。你可以試著從 reject files 找出哪裡沒被 patch 到,自己用 editor 加入。

Please 登入 to join the conversation.

  • ee wang
  • ee wang 的個人頭像
  • 訪客
  • 訪客
2006-11-11 15:34 #4841 來自 ee wang
ee wang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
蠻奇怪的一件事,我今天又試著安裝,還是不能執行patch -pl 指令。
我在人工修改的過程中,核對原始碼,發現修改的位置都對,為何無法自動patch,真是令人納悶。
修改完後,我另外發現,joomfish中的時間 格式為亂碼。不知道其他人是否有類似問題。

我的修正方式是,修改joomla/administrator/components/com_joomfish/admin.joomfish.html.php 這個檔案。
尋找 echo $row->lastchanged ? strftime("%A, %d %B %Y %H:%M",strtotime($row->lastchanged)):"";
修改時間格式為

Please 登入 to join the conversation.

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2006-11-12 09:08 #4847 來自 kochin
kochin replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0

ee wang 寫了道:: 修改完後,我另外發現,joomfish中的時間 格式為亂碼。不知道其他人是否有類似問題。

PHP 的 strftime() 是根據被叫用時的 locale 來決定傳回之時間字串的語言及編碼。後台的 locale 是由"全站設定"中的"預設的國家地區設定"來決定,你可以試著改變它來試試。我用的是 zh_TW.UTF-8。

ee wang 寫了道:: 我的修正方式是,修改joomla/administrator/components/com_joomfish/admin.joomfish.html.php 這個檔案。
尋找 echo $row->lastchanged ? strftime("%A, %d %B %Y %H:%M",strtotime($row->lastchanged)):"";
修改時間格式為

Please 登入 to join the conversation.

  • ee wang
  • ee wang 的個人頭像
  • 訪客
  • 訪客
2006-11-12 16:01 #4848 來自 ee wang
ee wang replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0

PHP 的 strftime() 是根據被叫用時的 locale 來決定傳回之時間字串的語言及編碼。後台的 locale 是由"全站設定"中的"預設的國家地區設定"來決定,你可以試著改變它來試試。我用的是 zh_TW.UTF-8。

用這設定的確可以解決亂碼問題,其實我主要是不喜歡原先的時間格式,才會直接去改它,我另外提供一個方法,以依然可以使用zh_TW的設定值,因為joomla中文版中已經提供了轉換方式。

Please 登入 to join the conversation.

  • afei
  • afei 的個人頭像
  • 訪客
  • 訪客
2007-03-21 14:01 #6350 來自 afei
afei replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
能否详细点说明操作过程啊!?

Please 登入 to join the conversation.

  • kochin
  • kochin 的個人頭像 Topic Author
  • Offline
  • 白金會員
  • 白金會員
More
2007-03-22 01:14 - 2007-04-03 06:58 #6362 來自 kochin
kochin replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
1. 安裝中文 Joom!Fish 1.7 UTF-8 版。

2. 用下面這段 SQL 碼來修改 jos_languages 資料表:

ALTER TABLE `jos_languages` ADD `locale` VARCHAR( 30 ) AFTER `iso` ;


3a. 下載這篇文章的附件 - JoomFish_1.7_UTF8_locale_patch.zip - 直接到你的伺服器上。

3b. 下載這篇文章的附件 - JoomFish_1.7_UTF8_locale_patch.zip - 到你的電腦上。

4a. 將附件解壓縮到伺服器的 Joomla! 安裝檔案夾中。

4b. 將附件在你的電腦上解壓縮,用 FTP 或其他方式上傳到伺服器的 Joomla! 安裝檔案夾中。

5. 進入 Joomla! 的後台管理,在選單中選「元件」->「Joom!Fish」-> 「>Languages」,進到「Joom!Fish 語言管理」。

6. 在「語言 ISO」欄中根據語言輸入 browser 使用的語言碼,例如:en-us 和 zh-tw。在「國家地區 ISO」欄中根據語言輸入伺服器使用的地區語言碼,例如:en_US.UTF8 和 zh_TW.UTF8。請記得要儲存你做的修改。

7. 測試…

* 如果你要加入其他語言,則必須先使用 Joomla! 本身的「語言管理」,然後再回到步驟 5 與 6。

This message has an attachment file.
Please log in or register to see it.

最後修改原因: 2007-04-03 06:58 來自 kochin.

Please 登入 to join the conversation.

  • kcmak
  • kcmak 的個人頭像
  • 訪客
  • 訪客
2007-03-31 06:55 #6506 來自 kcmak
kcmak replied the topic: Joom!Fish UTF-8 分離語言ISO與國家地區IS0
我知道joomla 要utf-8 編碼才能正確處理多語言內容

那麼joom!fish utf-8 是否必需要???

Please 登入 to join the conversation.