# encoding: utf-8 namespace :migrate do task :i18n => :environment do p 'Start Bulletin' bulletins = Bulletin.admin_manager_all i = 1 bulletins.each do |bulletin| p "#{i}/#{bulletins.size} - #{bulletin.id}" title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) bulletin.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title subtitle = I18nVariable.first(:conditions => {:key => 'subtitle', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) bulletin.subtitle_translations = {'en' => subtitle['en'], 'zh_tw' => subtitle['zh_tw']} if subtitle text = I18nVariable.first(:conditions => {:key => 'text', :language_value_id => bulletin.id, :language_value_type => bulletin.class}) bulletin.text_translations = {'en' => text['en'], 'zh_tw' => text['zh_tw']} if text bulletin.save(:validate => false) i += 1 end p 'End Bulletin' p '=====================================================' p 'Start BulletinCategory' categories = BulletinCategory.admin_manager_all i = 1 categories.each do |category| p "#{i}/#{categories.size} - #{category.id}" title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title category.save(:validate => false) i += 1 end p 'End BulletinCategory' p '=====================================================' p 'Start BulletinFile' files = BulletinFile.all i = 1 files.each do |file| p "#{i}/#{files.size} - #{file.id}" description = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) file.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description title = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) file.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title file.save(:validate => false) i += 1 end p 'End BulletinFile' p '=====================================================' p 'Start BulletinLink' links = BulletinLink.all i = 1 links.each do |link| p "#{i}/#{links.size} - #{link.id}" title = I18nVariable.first(:conditions => {:language_value_id => link.id, :language_value_type => link.class}) link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title link.save(:validate => false) i += 1 end p 'End BulletinLink' p '=====================================================' p 'Start UnitListForAnc' units = UnitListForAnc.all i = 1 units.each do |unit| p "#{i}/#{units.size} - #{unit.id}" title = I18nVariable.first(:conditions => {:language_value_id => unit.id, :language_value_type => unit.class}) unit.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title unit.save(:validate => false) i += 1 end p 'End UnitListForAnc' p '=====================================================' p '=====================================================' p 'Start NewsBulletin' news_bulletins = NewsBulletin.admin_manager_all i = 1 news_bulletins.each do |news_bulletin| p "#{i}/#{news_bulletins.size} - #{news_bulletin.id}" title = I18nVariable.first(:conditions => {:key => 'title', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) news_bulletin.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title subtitle = I18nVariable.first(:conditions => {:key => 'subtitle', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) news_bulletin.subtitle_translations = {'en' => subtitle['en'], 'zh_tw' => subtitle['zh_tw']} if subtitle text = I18nVariable.first(:conditions => {:key => 'text', :language_value_id => news_bulletin.id, :language_value_type => news_bulletin.class}) news_bulletin.text_translations = {'en' => text['en'], 'zh_tw' => text['zh_tw']} if text news_bulletin.save(:validate => false) i += 1 end p 'End NewsBulletin' p '=====================================================' p 'Start NewsBulletinCategory' categories = NewsBulletinCategory.admin_manager_all i = 1 categories.each do |category| p "#{i}/#{categories.size} - #{category.id}" title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title category.save(:validate => false) i += 1 end p 'End NewsBulletinCategory' p '=====================================================' p 'Start NewsBulletinFile' files = NewsBulletinFile.all i = 1 files.each do |file| p "#{i}/#{files.size} - #{file.id}" description = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) file.description_translations = {'en' => description['en'], 'zh_tw' => description['zh_tw']} if description title = I18nVariable.first(:conditions => {:language_value_id => file.id, :language_value_type => file.class}) file.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title file.save(:validate => false) i += 1 end p 'End NewsBulletinFile' p '=====================================================' p 'Start NewsBulletinLink' links = NewsBulletinLink.all i = 1 links.each do |link| p "#{i}/#{links.size} - #{link.id}" title = I18nVariable.first(:conditions => {:language_value_id => link.id, :language_value_type => link.class}) link.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title link.save(:validate => false) i += 1 end p 'End NewsBulletinLink' p '=====================================================' p '=====================================================' p 'Start PageContext' page_contexts = PageContext.admin_manager_all i = 1 page_contexts.each do |page_context| p "#{i}/#{page_contexts.size} - #{page_context.id}" context = I18nVariable.first(:conditions => {:language_value_id => page_context.id, :language_value_type => page_context.class}) page_context.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context page_context.save(:validate => false) i += 1 end p 'End PageContext' p '=====================================================' p '=====================================================' p 'Start WebLink' links = WebLink.admin_manager_all i = 1 links.each do |link| p "#{i}/#{links.size} - #{link.id}" name = I18nVariable.first(:conditions => {:key => 'name', :language_value_id => link.id, :language_value_type => link.class}) link.name_translations = {'en' => name['en'], 'zh_tw' => name['zh_tw']} if name context = I18nVariable.first(:conditions => {:key => 'context', :language_value_id => link.id, :language_value_type => link.class}) link.context_translations = {'en' => context['en'], 'zh_tw' => context['zh_tw']} if context link.save(:validate => false) i += 1 end p 'End WebLink' p '=====================================================' p 'Start WebLinkCategory' categories = WebLinkCategory.admin_manager_all i = 1 categories.each do |category| p "#{i}/#{categories.size} - #{category.id}" title = I18nVariable.first(:conditions => {:language_value_id => category.id, :language_value_type => category.class}) category.title_translations = {'en' => title['en'], 'zh_tw' => title['zh_tw']} if title category.save(:validate => false) i += 1 end p 'End WebLinkCategory' end end