diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e38fc83..b518d62 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -12,7 +12,7 @@ class ApplicationController < ActionController::Base def set_locale in_use_locales = current_site.in_use_locales - if params[:locale].eql?("zh_cn") + if params[:locale].eql?("zh_cn") or (!params[:locale] and session[:zh_cn]) params[:locale] = "zh_tw" I18n.locale = session[:locale] session[:zh_cn] = true diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index 9c2c692..f84fa8d 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -33,7 +33,10 @@ class PagesController < ApplicationController OrbitHelper.set_params params OrbitHelper.set_site_locale locale final_page = render_final_page("home",page,true) - final_page = session[:zh_cn] ? ZhConv.convert("zh-cn", final_page) : final_page + if session[:zh_cn] + final_page = ZhConv.convert("zh-cn", final_page) + final_page.gsub!('/zh_tw/','/zh_cn/') + end render :html => final_page.html_safe end @@ -86,7 +89,10 @@ class PagesController < ApplicationController impressionist(page) final_page = render_final_page("#{module_app}/#{params[:target_action]}",page,layout) - final_page = session[:zh_cn] ? ZhConv.convert("zh-cn", final_page) : final_page + if session[:zh_cn] + final_page = ZhConv.convert("zh-cn", final_page) + final_page.gsub!('/zh_tw/','/zh_cn/') + end render :html => final_page.html_safe else render :file => "#{Rails.root}/public/404.html", :layout => false, :status => :not_found