Rails多國語言

2021-06-18 09:45:46 字數 1404 閱讀 2387

下載 zh-tw.yml 到 config/locale/ 下,就有預設的正體中文翻譯

/config/environment.rb 的 config.i18n.default_locale = "zh-tw" 可以修改預設的語系

參考投影片: rails i18n

使用方法

i18n.t

在 view 中可以直接使用 t method

可以用字串或 symbol,也可以加上 scope,例如:

如何切換多語系

before_filter :set_locale

def set_locale

# 可以將 ["en", "zh-tw"] 設定為 valid_lang 放到 /config/environment.rb 中

if params[:locale] && ["en", "zh-tw"].include?( params[:locale] )

session[:locale] = params[:locale]

endi18n.locale = session[:locale] || i18n.default_locale

end

在 view 中可以這樣做:

link_to "英文版", :controller => controller.controller_name, 

:action => controller.action_name, :locale => "en" }

首先,資料庫裡面的時間,預設一定都是儲存 utc 時間。

設定 config/environment.rb 中預設時區為 config.time_zone = "****ei",如此 activerecord 便會幫你自動轉換時區,也就是拿出來時 +8,存回去時 -8

如何根據使用者切換時區?

首先,使用者會有個字段是 time_zone:string。然後在編輯設定的地方,可以讓使用者自己選擇時區:

<%= time_zone_select 'user','time_zone' %>
before_filter :set_timezone

def set_timezone

if logged_in? && current_user.time_zone

time.zone = current_user.time_zone

endend

api 檔案

ruby 1.8 的字串其實只是 byte 的集合,如果你需要對 utf-8 字串做一些函式操作,rails 提供了 mb_chars 來包裝以獲得正確的結果,例如:

api 檔案

如果你必須處理其他語系,例如 big5,那個 ruby 的內建函式庫 iconv 可以幫你處理轉換。

移植多國語言

二 移植zi輸入法 1 開啟zi開關 1 檔案 make ztenc26 07b gprs.mak 修改輸入法為mmi zi input method mmi zi input methods none,mmi t9,or mmi zi 2 在mmi features.h裡面開啟相應的zi語言輸入法...

Qt 多國語言

1 建立語言檔案 開啟.pro檔案,加入以下 translations cn.ts 工具 外部 qt語言家 更新翻譯,將生成翻譯檔案cn.ts 2 編輯翻譯檔案 啟動linguist qt語言家 開啟cn.ts,然後進行編輯,主要是將源文對應的譯文填寫上,最後儲存 3 部署翻譯檔案 工具 外部 qt...

Delphi做多國語言

傳說中的delphi做多國語言有很多種,個人我只會這一種,小弟的初學淺薄怕忘記。所以也就記下來了。假設有語言檔案 multilingual.ini 內容如下 language current 4 中文 name 名字 time 時間 language 語言 china 中國 繁體 name 名字 t...