Add support for reloading the language table.
This commit is contained in:
parent
d40b83af67
commit
73340e1780
3 changed files with 22 additions and 7 deletions
|
@ -3,6 +3,22 @@ class Language < ActiveRecord::Base
|
||||||
|
|
||||||
has_many :diary_entries, :foreign_key => 'language'
|
has_many :diary_entries, :foreign_key => 'language'
|
||||||
|
|
||||||
|
def self.load(file)
|
||||||
|
Language.transaction do
|
||||||
|
YAML.load(File.read(file)).each do |k,v|
|
||||||
|
begin
|
||||||
|
Language.update(k, :english_name => v["english"], :native_name => v["native"])
|
||||||
|
rescue ActiveRecord::RecordNotFound
|
||||||
|
Language.create do |l|
|
||||||
|
l.code = k
|
||||||
|
l.english_name = v["english"]
|
||||||
|
l.native_name = v["native"]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def name
|
def name
|
||||||
name = english_name
|
name = english_name
|
||||||
name += " (#{native_name})" unless native_name.nil?
|
name += " (#{native_name})" unless native_name.nil?
|
||||||
|
|
|
@ -10,13 +10,7 @@ class CreateLanguages < ActiveRecord::Migration
|
||||||
|
|
||||||
add_primary_key :languages, [:code]
|
add_primary_key :languages, [:code]
|
||||||
|
|
||||||
YAML.load(File.read(RAILS_ROOT + "/config/languages.yml")).each do |k,v|
|
Language.load(RAILS_ROOT + "/config/languages.yml")
|
||||||
Language.create do |l|
|
|
||||||
l.code = k
|
|
||||||
l.english_name = v["english"]
|
|
||||||
l.native_name = v["native"]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
add_foreign_key :users, [:locale], :languages, [:code]
|
add_foreign_key :users, [:locale], :languages, [:code]
|
||||||
add_foreign_key :diary_entries, [:language_code], :languages, [:code]
|
add_foreign_key :diary_entries, [:language_code], :languages, [:code]
|
||||||
|
|
5
script/locale/reload_languages
Executable file
5
script/locale/reload_languages
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
require File.dirname(__FILE__) + '/../../config/environment'
|
||||||
|
|
||||||
|
Language.load(RAILS_ROOT + "/config/languages.yml")
|
Loading…
Add table
Add a link
Reference in a new issue