tr8n 3.2.1 → 3.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.rdoc +19 -13
- data/app/controllers/tr8n/base_controller.rb +5 -1
- data/app/controllers/tr8n/language_controller.rb +2 -2
- data/app/models/tr8n/base_filter.rb +21 -0
- data/app/models/tr8n/daily_language_metric.rb +46 -22
- data/app/models/tr8n/date_rule.rb +41 -22
- data/app/models/tr8n/gender_list_rule.rb +41 -22
- data/app/models/tr8n/gender_rule.rb +41 -22
- data/app/models/tr8n/glossary.rb +44 -27
- data/app/models/tr8n/glossary_filter.rb +56 -33
- data/app/models/tr8n/ip_location.rb +23 -0
- data/app/models/tr8n/ip_location_filter.rb +57 -34
- data/app/models/tr8n/language.rb +28 -0
- data/app/models/tr8n/language_case.rb +27 -0
- data/app/models/tr8n/language_case_filter.rb +53 -30
- data/app/models/tr8n/language_case_rule.rb +24 -0
- data/app/models/tr8n/language_case_rule_filter.rb +53 -30
- data/app/models/tr8n/language_case_value_map.rb +24 -0
- data/app/models/tr8n/language_case_value_map_filter.rb +68 -45
- data/app/models/tr8n/language_filter.rb +23 -0
- data/app/models/tr8n/language_forum_abuse_report.rb +56 -33
- data/app/models/tr8n/language_forum_abuse_report_filter.rb +57 -34
- data/app/models/tr8n/language_forum_message.rb +69 -46
- data/app/models/tr8n/language_forum_message_filter.rb +61 -38
- data/app/models/tr8n/language_forum_topic.rb +62 -41
- data/app/models/tr8n/language_forum_topic_filter.rb +61 -38
- data/app/models/tr8n/language_metric.rb +28 -1
- data/app/models/tr8n/language_metric_filter.rb +23 -0
- data/app/models/tr8n/language_rule.rb +23 -0
- data/app/models/tr8n/language_rule_filter.rb +72 -49
- data/app/models/tr8n/language_user.rb +86 -61
- data/app/models/tr8n/language_user_filter.rb +57 -34
- data/app/models/tr8n/list_rule.rb +41 -22
- data/app/models/tr8n/monthly_language_metric.rb +46 -22
- data/app/models/tr8n/numeric_rule.rb +41 -22
- data/app/models/tr8n/sync_log.rb +21 -0
- data/app/models/tr8n/sync_log_filter.rb +48 -27
- data/app/models/tr8n/total_language_metric.rb +46 -22
- data/app/models/tr8n/translation.rb +28 -0
- data/app/models/tr8n/translation_domain.rb +76 -56
- data/app/models/tr8n/translation_domain_filter.rb +49 -26
- data/app/models/tr8n/translation_filter.rb +57 -34
- data/app/models/tr8n/translation_key.rb +44 -8
- data/app/models/tr8n/translation_key_comment.rb +60 -37
- data/app/models/tr8n/translation_key_comment_filter.rb +53 -30
- data/app/models/tr8n/translation_key_filter.rb +68 -45
- data/app/models/tr8n/translation_key_lock.rb +81 -59
- data/app/models/tr8n/translation_key_lock_filter.rb +53 -30
- data/app/models/tr8n/translation_key_source.rb +22 -0
- data/app/models/tr8n/translation_key_source_filter.rb +53 -30
- data/app/models/tr8n/translation_source.rb +20 -0
- data/app/models/tr8n/translation_source_filter.rb +53 -30
- data/app/models/tr8n/translation_source_language.rb +58 -39
- data/app/models/tr8n/translation_vote.rb +56 -35
- data/app/models/tr8n/translation_vote_filter.rb +57 -34
- data/app/models/tr8n/translator.rb +38 -0
- data/app/models/tr8n/translator_filter.rb +73 -50
- data/app/models/tr8n/translator_following.rb +58 -38
- data/app/models/tr8n/translator_following_filter.rb +57 -34
- data/app/models/tr8n/translator_log.rb +25 -0
- data/app/models/tr8n/translator_log_filter.rb +72 -49
- data/app/models/tr8n/translator_metric.rb +27 -0
- data/app/models/tr8n/translator_metric_filter.rb +61 -38
- data/app/models/tr8n/translator_report.rb +23 -0
- data/app/models/tr8n/translator_report_filter.rb +53 -30
- data/app/models/tr8n/value_rule.rb +41 -22
- data/bin/{tr8n.rb → tr8n} +0 -0
- data/file +94 -0
- data/lib/tasks/dev.rake +162 -0
- data/lib/tr8n/config.rb +5 -1
- data/lib/tr8n/version.rb +1 -1
- data/local/tr8n_server/config/tr8n/config.yml +2 -1
- data/local/tr8n_server/db/schema.rb +0 -2
- metadata +45 -43
data/bin/{tr8n.rb → tr8n}
RENAMED
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
|
data/lib/tasks/dev.rake
ADDED
@@ -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
|
data/lib/tr8n/config.rb
CHANGED
@@ -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
|
data/lib/tr8n/version.rb
CHANGED
@@ -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.
|
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-
|
12
|
+
date: 2012-04-10 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
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: *
|
24
|
+
version_requirements: *70352669837360
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: will_filter
|
27
|
-
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: *
|
35
|
+
version_requirements: *70352669862940
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: kaminari
|
38
|
-
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: *
|
46
|
+
version_requirements: *70352669862460
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sass
|
49
|
-
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: *
|
57
|
+
version_requirements: *70352669861980
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: coffee-script
|
60
|
-
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: *
|
68
|
+
version_requirements: *70352669861500
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: fssm
|
71
|
-
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: *
|
79
|
+
version_requirements: *70352669861020
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: pry
|
82
|
-
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: *
|
90
|
+
version_requirements: *70352669860540
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: bundler
|
93
|
-
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: *
|
101
|
+
version_requirements: *70352669860060
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: sqlite3
|
104
|
-
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: *
|
112
|
+
version_requirements: *70352669859580
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rspec
|
115
|
-
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: *
|
123
|
+
version_requirements: *70352669859100
|
124
124
|
- !ruby/object:Gem::Dependency
|
125
125
|
name: rspec-rails
|
126
|
-
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: *
|
134
|
+
version_requirements: *70352669858620
|
135
135
|
- !ruby/object:Gem::Dependency
|
136
136
|
name: factory_girl
|
137
|
-
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: *
|
145
|
+
version_requirements: *70352669858140
|
146
146
|
- !ruby/object:Gem::Dependency
|
147
147
|
name: spork
|
148
|
-
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: *
|
156
|
+
version_requirements: *70352669857660
|
157
157
|
- !ruby/object:Gem::Dependency
|
158
158
|
name: watchr
|
159
|
-
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: *
|
167
|
+
version_requirements: *70352669857180
|
168
168
|
- !ruby/object:Gem::Dependency
|
169
169
|
name: rr
|
170
|
-
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: *
|
178
|
+
version_requirements: *70352669856700
|
179
179
|
- !ruby/object:Gem::Dependency
|
180
180
|
name: steak
|
181
|
-
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: *
|
189
|
+
version_requirements: *70352669856220
|
190
190
|
- !ruby/object:Gem::Dependency
|
191
191
|
name: capybara
|
192
|
-
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: *
|
200
|
+
version_requirements: *70352669855740
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: database_cleaner
|
203
|
-
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: *
|
211
|
+
version_requirements: *70352669855260
|
212
212
|
- !ruby/object:Gem::Dependency
|
213
213
|
name: memcache-client
|
214
|
-
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: *
|
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
|
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: -
|
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: -
|
1143
|
+
hash: -4554087059962764980
|
1142
1144
|
requirements: []
|
1143
1145
|
rubyforge_project: tr8n
|
1144
1146
|
rubygems_version: 1.8.10
|