tr8n 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.rdoc +19 -13
  3. data/app/controllers/tr8n/base_controller.rb +5 -1
  4. data/app/controllers/tr8n/language_controller.rb +2 -2
  5. data/app/models/tr8n/base_filter.rb +21 -0
  6. data/app/models/tr8n/daily_language_metric.rb +46 -22
  7. data/app/models/tr8n/date_rule.rb +41 -22
  8. data/app/models/tr8n/gender_list_rule.rb +41 -22
  9. data/app/models/tr8n/gender_rule.rb +41 -22
  10. data/app/models/tr8n/glossary.rb +44 -27
  11. data/app/models/tr8n/glossary_filter.rb +56 -33
  12. data/app/models/tr8n/ip_location.rb +23 -0
  13. data/app/models/tr8n/ip_location_filter.rb +57 -34
  14. data/app/models/tr8n/language.rb +28 -0
  15. data/app/models/tr8n/language_case.rb +27 -0
  16. data/app/models/tr8n/language_case_filter.rb +53 -30
  17. data/app/models/tr8n/language_case_rule.rb +24 -0
  18. data/app/models/tr8n/language_case_rule_filter.rb +53 -30
  19. data/app/models/tr8n/language_case_value_map.rb +24 -0
  20. data/app/models/tr8n/language_case_value_map_filter.rb +68 -45
  21. data/app/models/tr8n/language_filter.rb +23 -0
  22. data/app/models/tr8n/language_forum_abuse_report.rb +56 -33
  23. data/app/models/tr8n/language_forum_abuse_report_filter.rb +57 -34
  24. data/app/models/tr8n/language_forum_message.rb +69 -46
  25. data/app/models/tr8n/language_forum_message_filter.rb +61 -38
  26. data/app/models/tr8n/language_forum_topic.rb +62 -41
  27. data/app/models/tr8n/language_forum_topic_filter.rb +61 -38
  28. data/app/models/tr8n/language_metric.rb +28 -1
  29. data/app/models/tr8n/language_metric_filter.rb +23 -0
  30. data/app/models/tr8n/language_rule.rb +23 -0
  31. data/app/models/tr8n/language_rule_filter.rb +72 -49
  32. data/app/models/tr8n/language_user.rb +86 -61
  33. data/app/models/tr8n/language_user_filter.rb +57 -34
  34. data/app/models/tr8n/list_rule.rb +41 -22
  35. data/app/models/tr8n/monthly_language_metric.rb +46 -22
  36. data/app/models/tr8n/numeric_rule.rb +41 -22
  37. data/app/models/tr8n/sync_log.rb +21 -0
  38. data/app/models/tr8n/sync_log_filter.rb +48 -27
  39. data/app/models/tr8n/total_language_metric.rb +46 -22
  40. data/app/models/tr8n/translation.rb +28 -0
  41. data/app/models/tr8n/translation_domain.rb +76 -56
  42. data/app/models/tr8n/translation_domain_filter.rb +49 -26
  43. data/app/models/tr8n/translation_filter.rb +57 -34
  44. data/app/models/tr8n/translation_key.rb +44 -8
  45. data/app/models/tr8n/translation_key_comment.rb +60 -37
  46. data/app/models/tr8n/translation_key_comment_filter.rb +53 -30
  47. data/app/models/tr8n/translation_key_filter.rb +68 -45
  48. data/app/models/tr8n/translation_key_lock.rb +81 -59
  49. data/app/models/tr8n/translation_key_lock_filter.rb +53 -30
  50. data/app/models/tr8n/translation_key_source.rb +22 -0
  51. data/app/models/tr8n/translation_key_source_filter.rb +53 -30
  52. data/app/models/tr8n/translation_source.rb +20 -0
  53. data/app/models/tr8n/translation_source_filter.rb +53 -30
  54. data/app/models/tr8n/translation_source_language.rb +58 -39
  55. data/app/models/tr8n/translation_vote.rb +56 -35
  56. data/app/models/tr8n/translation_vote_filter.rb +57 -34
  57. data/app/models/tr8n/translator.rb +38 -0
  58. data/app/models/tr8n/translator_filter.rb +73 -50
  59. data/app/models/tr8n/translator_following.rb +58 -38
  60. data/app/models/tr8n/translator_following_filter.rb +57 -34
  61. data/app/models/tr8n/translator_log.rb +25 -0
  62. data/app/models/tr8n/translator_log_filter.rb +72 -49
  63. data/app/models/tr8n/translator_metric.rb +27 -0
  64. data/app/models/tr8n/translator_metric_filter.rb +61 -38
  65. data/app/models/tr8n/translator_report.rb +23 -0
  66. data/app/models/tr8n/translator_report_filter.rb +53 -30
  67. data/app/models/tr8n/value_rule.rb +41 -22
  68. data/bin/{tr8n.rb → tr8n} +0 -0
  69. data/file +94 -0
  70. data/lib/tasks/dev.rake +162 -0
  71. data/lib/tr8n/config.rb +5 -1
  72. data/lib/tr8n/version.rb +1 -1
  73. data/local/tr8n_server/config/tr8n/config.yml +2 -1
  74. data/local/tr8n_server/db/schema.rb +0 -2
  75. metadata +45 -43
File without changes
data/file ADDED
@@ -0,0 +1,94 @@
1
+ #--# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net## Permission is hereby granted, free of charge, to any person obtaining# a copy of this software and associated documentation files (the# "Software"), to deal in the Software without restriction, including# without limitation the rights to use, copy, modify, merge, publish,# distribute, sublicense, and/or sell copies of the Software, and to# permit persons to whom the Software is furnished to do so, subject to# the following conditions:## The above copyright notice and this permission notice shall be# included in all copies or substantial portions of the Software.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.#++#-- Tr8n::ValueRule Schema Information## Table name: tr8n_language_rules## id INTEGER not null, primary key# language_id integer not null# translator_id integer # type varchar(255) # definition text # created_at datetime # updated_at datetime ## Indexes## index_tr8n_language_rules_on_language_id_and_translator_id (language_id, translator_id) # index_tr8n_language_rules_on_language_id (language_id) ##++class Tr8n::ValueRule < Tr8n::LanguageRule
2
+
3
+ def self.description
4
+ "token object may have a value, which"
5
+ end
6
+
7
+ def self.dependency
8
+ "value"
9
+ end
10
+
11
+ def self.dependant?(token)
12
+ token.name != Tr8n::Config.rules_engine[:viewing_user_token]
13
+ end
14
+
15
+ def self.suffixes
16
+ Tr8n::Config.rules_engine[:value_rule][:token_suffixes]
17
+ end
18
+
19
+ def self.default_rules_for(language = Tr8n::Config.current_language)
20
+ Tr8n::Config.default_value_rules(language.locale)
21
+ end
22
+
23
+ def self.operator_options
24
+ [["starts with", "starts_with"], ["does not start with", "does_not_start_with"],
25
+ ["ends in", "ends_in"], ["does not end in", "does_not_end_in"],
26
+ ["is", "is"], ["is not", "is_not"]]
27
+ end
28
+
29
+ def self.transformable?
30
+ false
31
+ end
32
+
33
+ def self.token_value(token)
34
+ return nil unless token and token.respond_to?(Tr8n::Config.rules_engine[:value_rule][:object_method])
35
+ token.send(Tr8n::Config.rules_engine[:value_rule][:object_method])
36
+ end
37
+
38
+ def evaluate(token)
39
+ token_value = self.class.token_value(token)
40
+ return false unless token_value
41
+
42
+ token_value = token_value.gsub(/<\/?[^>]*>/, "")
43
+ values = Tr8n::LanguageRule.sanitize_values(definition["value"])
44
+
45
+ case definition["operator"]
46
+ when "starts_with"
47
+ values.each do |value|
48
+ return true if token_value.to_s =~ /^#{value.to_s}/
49
+ end
50
+ return false
51
+ when "does_not_start_with"
52
+ values.each do |value|
53
+ return false if token_value.to_s =~ /^#{value.to_s}/
54
+ end
55
+ return true
56
+ when "ends_in"
57
+ values.each do |value|
58
+ return true if token_value.to_s =~ /#{value.to_s}$/
59
+ end
60
+ return false
61
+ when "does_not_end_in"
62
+ values.each do |value|
63
+ return false if token_value.to_s =~ /#{value.to_s}$/
64
+ end
65
+ return true
66
+ when "is"
67
+ return values.include?(token_value)
68
+ when "is_not"
69
+ return !values.include?(token_value)
70
+ end
71
+
72
+ false
73
+ end
74
+
75
+ def to_hash
76
+ {:type => self.class.dependency, :operator => definition[:operator], :value => definition[:value]}
77
+ end
78
+
79
+ # used to describe a context of a given translation
80
+ def description
81
+ desc = ""
82
+ case definition["operator"]
83
+ when "starts_with" then desc << " starts with"
84
+ when "does_not_start_with" then desc << " does not start with"
85
+ when "ends_in" then desc << " ends in"
86
+ when "does_not_end_in" then desc << " does not end in"
87
+ when "is" then desc << " is"
88
+ when "is_not" then desc << " is not"
89
+ end
90
+ desc << " <strong>'" << Tr8n::LanguageRule.humanize_values(definition["value"]) << "'</strong>"
91
+ desc.html_safe
92
+ end
93
+
94
+ end
@@ -0,0 +1,162 @@
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+
24
+ namespace :dev do
25
+
26
+ # <ActiveRecord::ConnectionAdapters::SQLiteColumn:0x007fdffc77bee0
27
+ # @coder=nil,
28
+ # @default=nil,
29
+ # @limit=nil,
30
+ # @name="id",
31
+ # @null=false,
32
+ # @precision=nil,
33
+ # @primary=true,
34
+ # @scale=nil,
35
+ # @sql_type="INTEGER",
36
+ # @type=:integer>
37
+
38
+ # <struct ActiveRecord::ConnectionAdapters::IndexDefinition
39
+ # table="will_filter_filters",
40
+ # name="index_will_filter_filters_on_user_id",
41
+ # unique=false,
42
+ # columns=["user_id"],
43
+ # lengths=nil>
44
+
45
+ desc "Annotates tr8n models"
46
+ task :annotate => :environment do
47
+ Dir[File.expand_path("#{File.dirname(__FILE__)}/../../app/models/tr8n/*.rb")].sort.each do |file|
48
+ class_name = file[file.rindex('tr8n')..-1].gsub('.rb', '').camelcase
49
+ klass = class_name.constantize
50
+ lines = []
51
+ lines << "#--"
52
+ lines << "# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net"
53
+ lines << "#"
54
+ lines << "# Permission is hereby granted, free of charge, to any person obtaining"
55
+ lines << "# a copy of this software and associated documentation files (the"
56
+ lines << "# \"Software\"), to deal in the Software without restriction, including"
57
+ lines << "# without limitation the rights to use, copy, modify, merge, publish,"
58
+ lines << "# distribute, sublicense, and/or sell copies of the Software, and to"
59
+ lines << "# permit persons to whom the Software is furnished to do so, subject to"
60
+ lines << "# the following conditions:"
61
+ lines << "#"
62
+ lines << "# The above copyright notice and this permission notice shall be"
63
+ lines << "# included in all copies or substantial portions of the Software."
64
+ lines << "#"
65
+ lines << "# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,"
66
+ lines << "# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF"
67
+ lines << "# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND"
68
+ lines << "# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE"
69
+ lines << "# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION"
70
+ lines << "# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION"
71
+ lines << "# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
72
+ lines << "#++"
73
+ lines << "#"
74
+ lines << "#-- #{class_name} Schema Information"
75
+ lines << "#"
76
+ lines << "# Table name: #{klass.table_name}"
77
+ lines << "#"
78
+
79
+ name_width = 0
80
+ type_width = 0
81
+ sql_type_width = 0
82
+
83
+ klass.columns.each do |column|
84
+ name_width = [column.name.to_s.length, name_width].max
85
+ type_width = [column.type.to_s.length, type_width].max
86
+ sql_type_width = [column.sql_type.to_s.length, sql_type_width].max
87
+ end
88
+
89
+ klass.columns.each do |column|
90
+ line = ["# "]
91
+ line << column.name
92
+ line << (" " * (name_width - column.name.length + 4))
93
+ # line << column.type.to_s
94
+ # line << (" " * (type_width - column.type.to_s.length + 4))
95
+ line << column.sql_type
96
+ line << (" " * (sql_type_width - column.sql_type.to_s.length + 4))
97
+
98
+ meta = []
99
+ meta << "not null" if !column.null
100
+ meta << "primary key" if column.primary
101
+ meta << "default = #{column.default.to_s}" if column.default
102
+ line << meta.join(', ')
103
+
104
+ lines << line.join('')
105
+ end
106
+
107
+ lines << "#"
108
+ lines << "# Indexes"
109
+ lines << "#"
110
+
111
+ indexes = ActiveRecord::Base.connection.indexes(klass.table_name)
112
+
113
+ name_width = 0
114
+
115
+ indexes.each do |index|
116
+ name_width = [index.name.to_s.length, name_width].max
117
+ end
118
+
119
+ indexes.each do |index|
120
+ line = ["# "]
121
+ line << index.name
122
+ line << (" " * (name_width - index.name.length + 4))
123
+ line << "(#{index.columns.join(', ')})"
124
+ line << " "
125
+ line << "UNIQUE" if index.unique
126
+ lines << line.join('')
127
+ end
128
+
129
+ lines << "#"
130
+ lines << "#++"
131
+
132
+ pp "Updating #{file}..."
133
+
134
+ model_file = File.open(file, "r+")
135
+ old_lines = model_file.readlines
136
+ model_file.close
137
+
138
+ model_file = File.new(file, "w")
139
+ lines.each do |line|
140
+ model_file.write(line + "\r\n")
141
+ end
142
+
143
+ in_class = false
144
+ old_lines.each do |line|
145
+ in_class = true unless line.index("#") == 0
146
+
147
+ next unless in_class
148
+ model_file.write(line)
149
+ end
150
+ model_file.close
151
+
152
+ # file_name = file[file.rindex('tr8n')+5..-1].gsub('.rb', '')
153
+ # path = File.expand_path("#{File.dirname(__FILE__)}/../../app") + "/data"
154
+ # FileUtils.mkdir_p(path) unless File.exist?(path)
155
+
156
+ # File.open("#{path}/#{file_name}.txt", 'w') do |f|
157
+ # f.write(lines.join("\r\n"))
158
+ # end
159
+ end
160
+ end
161
+
162
+ end
@@ -234,6 +234,10 @@ module Tr8n
234
234
  config[:enable_key_caller_tracking]
235
235
  end
236
236
 
237
+ def self.enable_key_verification?
238
+ config[:enable_key_verification]
239
+ end
240
+
237
241
  def self.enable_google_suggestions?
238
242
  config[:enable_google_suggestions]
239
243
  end
@@ -812,4 +816,4 @@ module Tr8n
812
816
  end
813
817
 
814
818
  end
815
- end
819
+ end
@@ -23,5 +23,5 @@
23
23
 
24
24
 
25
25
  module Tr8n
26
- VERSION = "3.2.1"
26
+ VERSION = "3.2.2"
27
27
  end
@@ -19,7 +19,8 @@ defaults:
19
19
  enable_tr8n: true # enables the engine
20
20
  enable_key_source_tracking: false # builds the site map sources - must be enabled for the API
21
21
  enable_key_caller_tracking: false # tracks all calls to labels with their traces - for debugging only
22
-
22
+ enable_key_verification: false # marks cached keys as verified, for cleanup
23
+
23
24
  enable_glossary_hints: true # shows glossary in the translator
24
25
  enable_software_keyboard: true # shows the soft keyboard icon
25
26
  enable_keyboard_shortcuts: true # adds some keyboard shortcuts like ctrl+shift+s
@@ -260,7 +260,6 @@ ActiveRecord::Schema.define(:version => 20111026230545) do
260
260
  end
261
261
 
262
262
  add_index "tr8n_translation_keys", ["key"], :name => "index_tr8n_translation_keys_on_key", :unique => true
263
- add_index "tr8n_translation_keys", ["synced_at"], :name => "index_tr8n_translation_keys_on_synced_at"
264
263
 
265
264
  create_table "tr8n_translation_source_languages", :force => true do |t|
266
265
  t.integer "language_id"
@@ -305,7 +304,6 @@ ActiveRecord::Schema.define(:version => 20111026230545) do
305
304
  end
306
305
 
307
306
  add_index "tr8n_translations", ["created_at"], :name => "tr8n_trans_created_at"
308
- add_index "tr8n_translations", ["synced_at"], :name => "index_tr8n_translations_on_synced_at"
309
307
  add_index "tr8n_translations", ["translation_key_id", "translator_id", "language_id"], :name => "tr8n_trans_key_id_translator_id_lang_id"
310
308
  add_index "tr8n_translations", ["translator_id"], :name => "r8n_trans_translator_id"
311
309
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tr8n
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.1
4
+ version: 3.2.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-05 00:00:00.000000000Z
12
+ date: 2012-04-10 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70337878416480 !ruby/object:Gem::Requirement
16
+ requirement: &70352669837360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70337878416480
24
+ version_requirements: *70352669837360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: will_filter
27
- requirement: &70337878412140 !ruby/object:Gem::Requirement
27
+ requirement: &70352669862940 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.2
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70337878412140
35
+ version_requirements: *70352669862940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: kaminari
38
- requirement: &70337878408320 !ruby/object:Gem::Requirement
38
+ requirement: &70352669862460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70337878408320
46
+ version_requirements: *70352669862460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sass
49
- requirement: &70337878401000 !ruby/object:Gem::Requirement
49
+ requirement: &70352669861980 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70337878401000
57
+ version_requirements: *70352669861980
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: coffee-script
60
- requirement: &70337878395980 !ruby/object:Gem::Requirement
60
+ requirement: &70352669861500 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70337878395980
68
+ version_requirements: *70352669861500
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: fssm
71
- requirement: &70337878393920 !ruby/object:Gem::Requirement
71
+ requirement: &70352669861020 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70337878393920
79
+ version_requirements: *70352669861020
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: pry
82
- requirement: &70337878391400 !ruby/object:Gem::Requirement
82
+ requirement: &70352669860540 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *70337878391400
90
+ version_requirements: *70352669860540
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: bundler
93
- requirement: &70337878389580 !ruby/object:Gem::Requirement
93
+ requirement: &70352669860060 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 1.0.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *70337878389580
101
+ version_requirements: *70352669860060
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: sqlite3
104
- requirement: &70337878387860 !ruby/object:Gem::Requirement
104
+ requirement: &70352669859580 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *70337878387860
112
+ version_requirements: *70352669859580
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: rspec
115
- requirement: &70337878385780 !ruby/object:Gem::Requirement
115
+ requirement: &70352669859100 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *70337878385780
123
+ version_requirements: *70352669859100
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: rspec-rails
126
- requirement: &70337878384260 !ruby/object:Gem::Requirement
126
+ requirement: &70352669858620 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 2.1.0
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *70337878384260
134
+ version_requirements: *70352669858620
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: factory_girl
137
- requirement: &70337878382360 !ruby/object:Gem::Requirement
137
+ requirement: &70352669858140 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *70337878382360
145
+ version_requirements: *70352669858140
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: spork
148
- requirement: &70337878380220 !ruby/object:Gem::Requirement
148
+ requirement: &70352669857660 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *70337878380220
156
+ version_requirements: *70352669857660
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: watchr
159
- requirement: &70337878376900 !ruby/object:Gem::Requirement
159
+ requirement: &70352669857180 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '0'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *70337878376900
167
+ version_requirements: *70352669857180
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: rr
170
- requirement: &70337878369000 !ruby/object:Gem::Requirement
170
+ requirement: &70352669856700 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *70337878369000
178
+ version_requirements: *70352669856700
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: steak
181
- requirement: &70337878360940 !ruby/object:Gem::Requirement
181
+ requirement: &70352669856220 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ! '>='
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: '0'
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *70337878360940
189
+ version_requirements: *70352669856220
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: capybara
192
- requirement: &70337878356320 !ruby/object:Gem::Requirement
192
+ requirement: &70352669855740 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ! '>='
@@ -197,10 +197,10 @@ dependencies:
197
197
  version: '0'
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *70337878356320
200
+ version_requirements: *70352669855740
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: database_cleaner
203
- requirement: &70337895099260 !ruby/object:Gem::Requirement
203
+ requirement: &70352669855260 !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
206
206
  - - ! '>='
@@ -208,10 +208,10 @@ dependencies:
208
208
  version: '0'
209
209
  type: :development
210
210
  prerelease: false
211
- version_requirements: *70337895099260
211
+ version_requirements: *70352669855260
212
212
  - !ruby/object:Gem::Dependency
213
213
  name: memcache-client
214
- requirement: &70337895098780 !ruby/object:Gem::Requirement
214
+ requirement: &70352669871140 !ruby/object:Gem::Requirement
215
215
  none: false
216
216
  requirements:
217
217
  - - ! '>='
@@ -219,7 +219,7 @@ dependencies:
219
219
  version: 1.8.5
220
220
  type: :development
221
221
  prerelease: false
222
- version_requirements: *70337895098780
222
+ version_requirements: *70352669871140
223
223
  description: Crowd-sourced translation and localization engine for Rails.
224
224
  email:
225
225
  - michael@tr8n.net
@@ -906,7 +906,7 @@ files:
906
906
  - app/views/tr8n/translator/index.html.erb
907
907
  - app/views/tr8n/translator/lb_report.html.erb
908
908
  - app/views/tr8n/translator/registration.html.erb
909
- - bin/tr8n.rb
909
+ - bin/tr8n
910
910
  - config/routes.rb
911
911
  - db/migrate/20100405201417_create_tr8n_tables.rb
912
912
  - db/migrate/20111003194443_create_tr8n_sync_tables.rb
@@ -921,6 +921,7 @@ files:
921
921
  - doc/integration.doc
922
922
  - doc/integration.docx
923
923
  - doc/pixel client sdk.graffle
924
+ - file
924
925
  - lib/generators/tr8n/templates/config/tr8n/config.yml
925
926
  - lib/generators/tr8n/templates/config/tr8n/data/ip_locations.csv
926
927
  - lib/generators/tr8n/templates/config/tr8n/rules/default_date_rules.yml
@@ -941,6 +942,7 @@ files:
941
942
  - lib/generators/tr8n/templates/layouts/tr8n.html.erb
942
943
  - lib/generators/tr8n/templates/layouts/tr8n_admin.html.erb
943
944
  - lib/generators/tr8n/tr8n_generator.rb
945
+ - lib/tasks/dev.rake
944
946
  - lib/tasks/tr8n.rake
945
947
  - lib/tr8n.rb
946
948
  - lib/tr8n/active_dumper.rb
@@ -1129,7 +1131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
1129
1131
  version: '0'
1130
1132
  segments:
1131
1133
  - 0
1132
- hash: -1941493027539955602
1134
+ hash: -4554087059962764980
1133
1135
  required_rubygems_version: !ruby/object:Gem::Requirement
1134
1136
  none: false
1135
1137
  requirements:
@@ -1138,7 +1140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1138
1140
  version: '0'
1139
1141
  segments:
1140
1142
  - 0
1141
- hash: -1941493027539955602
1143
+ hash: -4554087059962764980
1142
1144
  requirements: []
1143
1145
  rubyforge_project: tr8n
1144
1146
  rubygems_version: 1.8.10