tr8n 3.1.8 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -1
- data/.rspec +1 -0
- data/.rvmrc +1 -1
- data/.watchr +18 -0
- data/Gemfile.lock +16 -10
- data/app/assets/images/tr8n/minus_node.png +0 -0
- data/app/assets/images/tr8n/pixel.gif +0 -0
- data/app/assets/images/tr8n/plus_node.png +0 -0
- data/app/assets/javascripts/tr8n/tr8n.js +1 -0
- data/app/assets/javascripts/tr8n/tr8n_client_sdk.js +581 -425
- data/app/assets/stylesheets/tr8n/layout.css.scss +1 -1
- data/app/assets/stylesheets/tr8n/tr8n.css.scss +20 -0
- data/app/controllers/tr8n/admin/base_controller.rb +4 -1
- data/app/controllers/tr8n/admin/clientsdk_controller.rb +1 -1
- data/app/controllers/tr8n/admin/metrics_controller.rb +30 -0
- data/app/controllers/tr8n/api/v1/base_controller.rb +12 -0
- data/app/controllers/tr8n/api/v1/language_controller.rb +7 -5
- data/app/controllers/tr8n/awards_controller.rb +1 -1
- data/app/controllers/tr8n/base_controller.rb +12 -6
- data/app/controllers/tr8n/dashboard_controller.rb +1 -1
- data/app/controllers/tr8n/forum_controller.rb +1 -1
- data/app/controllers/tr8n/glossary_controller.rb +1 -1
- data/app/controllers/tr8n/help_controller.rb +1 -1
- data/app/controllers/tr8n/phrases_controller.rb +1 -1
- data/app/controllers/tr8n/translator_controller.rb +8 -0
- data/app/helpers/tr8n/admin/base_helper.rb +1 -1
- data/app/helpers/tr8n/base_helper.rb +1 -1
- data/app/helpers/tr8n/dashboard_helper.rb +1 -1
- data/app/models/tr8n/base_filter.rb +1 -1
- data/app/models/tr8n/daily_language_metric.rb +1 -1
- data/app/models/tr8n/date_rule.rb +1 -1
- data/app/models/tr8n/gender_list_rule.rb +1 -1
- data/app/models/tr8n/gender_rule.rb +1 -1
- data/app/models/tr8n/glossary.rb +1 -1
- data/app/models/tr8n/glossary_filter.rb +1 -1
- data/app/models/tr8n/integration/ru/russian_gender_list_rule.rb +1 -1
- data/app/models/tr8n/integration/ru/russian_numeric_rule.rb +1 -1
- data/app/models/tr8n/ip_location.rb +1 -1
- data/app/models/tr8n/ip_location_filter.rb +1 -1
- data/app/models/tr8n/language.rb +19 -7
- data/app/models/tr8n/language_case.rb +1 -1
- data/app/models/tr8n/language_case_filter.rb +1 -1
- data/app/models/tr8n/language_case_rule.rb +1 -1
- data/app/models/tr8n/language_case_rule_filter.rb +1 -1
- data/app/models/tr8n/language_case_value_map.rb +1 -1
- data/app/models/tr8n/language_case_value_map_filter.rb +1 -1
- data/app/models/tr8n/language_filter.rb +1 -1
- data/app/models/tr8n/language_forum_abuse_report.rb +1 -1
- data/app/models/tr8n/language_forum_abuse_report_filter.rb +1 -1
- data/app/models/tr8n/language_forum_message.rb +1 -1
- data/app/models/tr8n/language_forum_message_filter.rb +1 -1
- data/app/models/tr8n/language_forum_topic.rb +1 -1
- data/app/models/tr8n/language_forum_topic_filter.rb +1 -1
- data/app/models/tr8n/language_metric.rb +1 -1
- data/app/models/tr8n/language_metric_filter.rb +1 -1
- data/app/models/tr8n/language_rule.rb +1 -1
- data/app/models/tr8n/language_rule_filter.rb +1 -1
- data/app/models/tr8n/language_user.rb +1 -1
- data/app/models/tr8n/language_user_filter.rb +1 -1
- data/app/models/tr8n/list_rule.rb +1 -1
- data/app/models/tr8n/monthly_language_metric.rb +1 -1
- data/app/models/tr8n/numeric_rule.rb +35 -28
- data/app/models/tr8n/sync_log.rb +1 -1
- data/app/models/tr8n/sync_log_filter.rb +1 -1
- data/app/models/tr8n/total_language_metric.rb +1 -1
- data/app/models/tr8n/translation.rb +4 -3
- data/app/models/tr8n/translation_domain.rb +11 -3
- data/app/models/tr8n/translation_domain_filter.rb +1 -1
- data/app/models/tr8n/translation_filter.rb +1 -1
- data/app/models/tr8n/translation_key.rb +73 -36
- data/app/models/tr8n/translation_key_comment.rb +1 -1
- data/app/models/tr8n/translation_key_comment_filter.rb +1 -1
- data/app/models/tr8n/translation_key_filter.rb +1 -1
- data/app/models/tr8n/translation_key_lock.rb +1 -1
- data/app/models/tr8n/translation_key_lock_filter.rb +1 -1
- data/app/models/tr8n/translation_key_source.rb +16 -5
- data/app/models/tr8n/translation_key_source_filter.rb +1 -1
- data/app/models/tr8n/translation_source.rb +12 -4
- data/app/models/tr8n/translation_source_filter.rb +1 -1
- data/app/models/tr8n/translation_source_language.rb +1 -1
- data/app/models/tr8n/translation_vote.rb +1 -1
- data/app/models/tr8n/translation_vote_filter.rb +1 -1
- data/app/models/tr8n/translator.rb +21 -5
- data/app/models/tr8n/translator_filter.rb +1 -1
- data/app/models/tr8n/translator_following.rb +1 -1
- data/app/models/tr8n/translator_following_filter.rb +1 -1
- data/app/models/tr8n/translator_log.rb +3 -3
- data/app/models/tr8n/translator_log_filter.rb +1 -1
- data/app/models/tr8n/translator_metric.rb +1 -1
- data/app/models/tr8n/translator_metric_filter.rb +1 -1
- data/app/models/tr8n/translator_report.rb +1 -1
- data/app/models/tr8n/translator_report_filter.rb +1 -1
- data/app/models/tr8n/value_rule.rb +1 -1
- data/app/views/tr8n/admin/clientsdk/index.html.erb +29 -29
- data/app/views/tr8n/admin/clientsdk/lb_samples.html.erb +1 -1
- data/app/views/tr8n/admin/metrics/_tabs.html.erb +22 -0
- data/app/views/tr8n/admin/metrics/index.html.erb +60 -0
- data/app/views/tr8n/common/_header.html.erb +3 -1
- data/app/views/tr8n/common/_language_selector.html.erb +4 -2
- data/app/views/tr8n/common/_scripts.html.erb +5 -0
- data/app/views/tr8n/common/_terms_of_service.html.erb +53 -0
- data/app/views/tr8n/help/credits.html.erb +4 -0
- data/app/views/tr8n/language/_select.html.erb +5 -1
- data/app/views/tr8n/translator/registration.html.erb +21 -0
- data/config/routes.rb +3 -1
- data/doc/classes.graffle +356 -7194
- data/lib/generators/tr8n/templates/config/tr8n/config.yml +9 -1
- data/lib/generators/tr8n/templates/config/tr8n/site/shortcuts.yml +1 -1
- data/lib/generators/tr8n/templates/config/tr8n/tokens/decorations.yml +4 -1
- data/lib/generators/tr8n/tr8n_generator.rb +1 -1
- data/lib/tasks/tr8n.rake +1 -1
- data/lib/tr8n.rb +23 -0
- data/lib/tr8n/active_dumper.rb +1 -1
- data/lib/tr8n/cache.rb +1 -8
- data/lib/tr8n/cache_adapters/memcached.rb +1 -1
- data/lib/tr8n/config.rb +37 -1
- data/lib/tr8n/dictionary.rb +1 -1
- data/lib/tr8n/engine.rb +4 -1
- data/lib/tr8n/exception.rb +1 -1
- data/lib/tr8n/extender.rb +1 -1
- data/lib/tr8n/extensions/action_controller_extension.rb +5 -4
- data/lib/tr8n/extensions/action_view_extension.rb +71 -20
- data/lib/tr8n/extensions/array_extension.rb +14 -1
- data/lib/tr8n/extensions/date_extension.rb +1 -1
- data/lib/tr8n/extensions/fixnum_extension.rb +1 -1
- data/lib/tr8n/extensions/hash_extension.rb +1 -1
- data/lib/tr8n/extensions/string_extension.rb +1 -1
- data/lib/tr8n/extensions/time_extension.rb +1 -1
- data/lib/tr8n/ip_address.rb +1 -1
- data/lib/tr8n/key_registration_exception.rb +1 -1
- data/lib/tr8n/keyboard_mapping.rb +1 -1
- data/lib/tr8n/logger.rb +1 -1
- data/lib/tr8n/railtie.rb +1 -1
- data/lib/tr8n/site_map.rb +1 -1
- data/lib/tr8n/site_map_section.rb +1 -1
- data/lib/tr8n/token.rb +1 -1
- data/lib/tr8n/token_exception.rb +1 -1
- data/lib/tr8n/tokenized_label.rb +2 -12
- data/lib/tr8n/tokens/data_token.rb +1 -1
- data/lib/tr8n/tokens/decoration_token.rb +1 -1
- data/lib/tr8n/tokens/hidden_token.rb +1 -1
- data/lib/tr8n/tokens/method_token.rb +1 -1
- data/lib/tr8n/tokens/transform_token.rb +1 -1
- data/lib/tr8n/version.rb +25 -1
- data/local/tr8n_server/app/models/user.rb +1 -0
- data/local/tr8n_server/config/environments/test.rb +1 -1
- data/local/tr8n_server/config/tr8n/config.yml +45 -39
- data/local/tr8n_server/config/tr8n/site/shortcuts.yml +1 -1
- data/local/tr8n_server/db/schema.rb +2 -0
- data/spec/controllers/awards_controller_spec.rb +22 -0
- data/spec/controllers/base_controller_spec.rb +6 -0
- data/spec/controllers/dashboard_controller_spec.rb +23 -0
- data/spec/controllers/forum_controller_spec.rb +23 -0
- data/spec/controllers/glossary_controller_spec.rb +22 -0
- data/spec/controllers/help_controller_spec.rb +22 -0
- data/spec/controllers/language_cases_controller_spec.rb +13 -0
- data/spec/controllers/language_controller_spec.rb +10 -0
- data/spec/controllers/phrases_controller_spec.rb +22 -0
- data/spec/controllers/translations_controller_spec.rb +23 -0
- data/spec/controllers/translator_controller_spec.rb +22 -0
- data/spec/lib/tokenized_label_spec.rb +42 -0
- data/spec/lib/tokens/data_token_spec.rb +49 -0
- data/spec/lib/tokens/decoration_token_spec.rb +49 -0
- data/spec/lib/tokens/hidden_token_spec.rb +53 -0
- data/spec/lib/tokens/method_token_spec.rb +61 -0
- data/spec/lib/tokens/transform_token_spec.rb +51 -0
- data/spec/models/tr8n/daily_language_metric_spec.rb +5 -0
- data/spec/models/tr8n/date_rule_spec.rb +5 -0
- data/spec/models/tr8n/gender_list_rule_spec.rb +5 -0
- data/spec/models/tr8n/gender_rule_spec.rb +141 -0
- data/spec/models/tr8n/glossary_spec.rb +5 -0
- data/spec/models/tr8n/ip_location_spec.rb +5 -0
- data/spec/models/tr8n/language_case_rule_spec.rb +5 -0
- data/spec/models/tr8n/language_case_spec.rb +5 -0
- data/spec/models/tr8n/language_case_value_map_spec.rb +5 -0
- data/spec/models/tr8n/language_forum_abuse_report_spec.rb +5 -0
- data/spec/models/tr8n/language_forum_message_spec.rb +5 -0
- data/spec/models/tr8n/language_forum_topic_spec.rb +5 -0
- data/spec/models/tr8n/language_metric_spec.rb +5 -0
- data/spec/models/tr8n/language_rule_spec.rb +5 -0
- data/spec/models/tr8n/language_spec.rb +79 -0
- data/spec/models/tr8n/language_user_spec.rb +5 -0
- data/spec/models/tr8n/list_rule_spec.rb +5 -0
- data/spec/models/tr8n/monthly_language_metric_spec.rb +5 -0
- data/spec/models/tr8n/numeric_rule_spec.rb +162 -0
- data/spec/models/tr8n/sync_log_spec.rb +5 -0
- data/spec/models/tr8n/total_language_metric_spec.rb +5 -0
- data/spec/models/tr8n/translation_domain_spec.rb +5 -0
- data/spec/models/tr8n/translation_key_comment_spec.rb +5 -0
- data/spec/models/tr8n/translation_key_lock_spec.rb +5 -0
- data/spec/models/tr8n/translation_key_source_spec.rb +5 -0
- data/spec/models/tr8n/translation_key_spec.rb +118 -0
- data/spec/models/tr8n/translation_source_language_spec.rb +5 -0
- data/spec/models/tr8n/translation_source_spec.rb +5 -0
- data/spec/models/tr8n/translation_spec.rb +5 -0
- data/spec/models/tr8n/translation_vote_spec.rb +5 -0
- data/spec/models/tr8n/translator_following_spec.rb +5 -0
- data/spec/models/tr8n/translator_log_spec.rb +5 -0
- data/spec/models/tr8n/translator_metric_spec.rb +5 -0
- data/spec/models/tr8n/translator_report_spec.rb +5 -0
- data/spec/models/tr8n/translator_spec.rb +140 -0
- data/spec/spec_helper.rb +26 -27
- data/tr8n.gemspec +3 -1
- metadata +173 -50
- data/local/tr8n_server/db/migrate/20110930041150_create_tr8n_tables.rb +0 -372
- data/spec/fake_app.rb +0 -50
- data/spec/lib/data_token_spec.rb +0 -26
- data/spec/lib/transform_token_spec.rb +0 -22
- data/spec/models/translation_key_spec.rb +0 -63
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#--
|
|
3
|
-
# Copyright (c) 2010-
|
|
3
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
|
4
4
|
#
|
|
5
5
|
# Permission is hereby granted, free of charge, to any person obtaining
|
|
6
6
|
# a copy of this software and associated documentation files (the
|
data/lib/tr8n/logger.rb
CHANGED
data/lib/tr8n/railtie.rb
CHANGED
data/lib/tr8n/site_map.rb
CHANGED
data/lib/tr8n/token.rb
CHANGED
data/lib/tr8n/token_exception.rb
CHANGED
data/lib/tr8n/tokenized_label.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#--
|
|
2
|
-
# Copyright (c) 2010-
|
|
2
|
+
# Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
|
|
3
3
|
#
|
|
4
4
|
# Permission is hereby granted, free of charge, to any person obtaining
|
|
5
5
|
# a copy of this software and associated documentation files (the
|
|
@@ -63,7 +63,7 @@ module Tr8n
|
|
|
63
63
|
hash
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
|
-
|
|
66
|
+
|
|
67
67
|
def tokens?
|
|
68
68
|
tokens.any?
|
|
69
69
|
end
|
|
@@ -125,16 +125,6 @@ module Tr8n
|
|
|
125
125
|
parts
|
|
126
126
|
end
|
|
127
127
|
end
|
|
128
|
-
|
|
129
|
-
def sanitized_tokens_hash
|
|
130
|
-
@sanitized_tokens_hash ||= begin
|
|
131
|
-
hash = {}
|
|
132
|
-
tokens.each do |token|
|
|
133
|
-
hash[token.sanitized_name] = token
|
|
134
|
-
end
|
|
135
|
-
hash
|
|
136
|
-
end
|
|
137
|
-
end
|
|
138
128
|
|
|
139
129
|
def allowed_token?(token)
|
|
140
130
|
not sanitized_tokens_hash[token.sanitized_name].nil?
|
data/lib/tr8n/version.rb
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
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
|
+
|
|
1
25
|
module Tr8n
|
|
2
|
-
VERSION = "3.
|
|
26
|
+
VERSION = "3.2.0"
|
|
3
27
|
end
|
|
@@ -5,7 +5,7 @@ Tr8nServer::Application.configure do
|
|
|
5
5
|
# test suite. You never need to work with it otherwise. Remember that
|
|
6
6
|
# your test database is "scratch space" for the test suite and is wiped
|
|
7
7
|
# and recreated between test runs. Don't rely on the data there!
|
|
8
|
-
config.cache_classes =
|
|
8
|
+
config.cache_classes = false
|
|
9
9
|
|
|
10
10
|
# Configure static asset server for tests with Cache-Control for performance
|
|
11
11
|
config.serve_static_assets = true
|
|
@@ -7,11 +7,17 @@
|
|
|
7
7
|
# environment settings at the bottom of the file.
|
|
8
8
|
#
|
|
9
9
|
# Alternatively, you can overload any of the methods of Tr8n::Config
|
|
10
|
+
#
|
|
11
|
+
# If you would like to manage the configurations on the live site,
|
|
12
|
+
# try out the Registry gem, located here:
|
|
13
|
+
#
|
|
14
|
+
# http://www.github.com/berk/registry
|
|
15
|
+
#
|
|
10
16
|
#############################################################################
|
|
11
17
|
|
|
12
|
-
defaults:
|
|
18
|
+
defaults:
|
|
13
19
|
enable_tr8n: true # enables the engine
|
|
14
|
-
enable_key_source_tracking: false # builds the site map sources
|
|
20
|
+
enable_key_source_tracking: false # builds the site map sources - must be enabled for the API
|
|
15
21
|
enable_key_caller_tracking: false # tracks all calls to labels with their traces - for debugging only
|
|
16
22
|
|
|
17
23
|
enable_glossary_hints: true # shows glossary in the translator
|
|
@@ -26,13 +32,16 @@ defaults:
|
|
|
26
32
|
enable_language_stats: true # shows percent completion of a language
|
|
27
33
|
|
|
28
34
|
enable_admin_translations: true # registers tr8n admin keys in the system
|
|
29
|
-
enable_admin_inline_mode:
|
|
35
|
+
enable_admin_inline_mode: true # allows tr8n engine sections to be inline translated
|
|
30
36
|
|
|
31
37
|
enable_language_cases: true # enables support for language cases
|
|
32
|
-
enable_client_sdk:
|
|
38
|
+
enable_client_sdk: true # allows javascript to use tr8nProxy object
|
|
39
|
+
enable_browser_cache: true # caches translations in the browser
|
|
33
40
|
|
|
34
41
|
enable_country_tracking: true # tracks and reports translator countries
|
|
35
42
|
|
|
43
|
+
enable_translator_tabs: true # enables translation tools tabs
|
|
44
|
+
|
|
36
45
|
#############################################################################
|
|
37
46
|
# Google translation suggestions is now a paid feature by Google.
|
|
38
47
|
#
|
|
@@ -45,7 +54,7 @@ defaults:
|
|
|
45
54
|
#############################################################################
|
|
46
55
|
enable_google_suggestions: false # uses google for suggestions
|
|
47
56
|
google_api_key: "YOUR GOOGLE API KEY" # get this API key from Google.
|
|
48
|
-
|
|
57
|
+
|
|
49
58
|
#############################################################################
|
|
50
59
|
# Featured languages can be added as a bottom strip bar on all pages using
|
|
51
60
|
#
|
|
@@ -66,7 +75,9 @@ defaults:
|
|
|
66
75
|
# translation. If the flag is set to false, then a user must be promoted to
|
|
67
76
|
# be a translator in order to submit or vote on translations.
|
|
68
77
|
#############################################################################
|
|
69
|
-
open_registration_mode:
|
|
78
|
+
open_registration_mode: true
|
|
79
|
+
enable_registration_disclaimer: false
|
|
80
|
+
registration_disclaimer_path: "/tr8n/common/terms_of_service"
|
|
70
81
|
|
|
71
82
|
#############################################################################
|
|
72
83
|
# Tr8n best run with caching enabled
|
|
@@ -88,7 +99,7 @@ defaults:
|
|
|
88
99
|
# You can also provide your own implementation of the adapter:
|
|
89
100
|
#
|
|
90
101
|
# cache_adapter: YOUR_CACHE_ADAPTER_CLASS
|
|
91
|
-
#
|
|
102
|
+
#
|
|
92
103
|
# Note: Make sure you enable config.class_caching in your environment file
|
|
93
104
|
#
|
|
94
105
|
#############################################################################
|
|
@@ -104,7 +115,7 @@ defaults:
|
|
|
104
115
|
#############################################################################
|
|
105
116
|
logger:
|
|
106
117
|
enabled: true
|
|
107
|
-
log_path: log/tr8n.log # location of the log file
|
|
118
|
+
log_path: "log/tr8n.log" # location of the log file
|
|
108
119
|
enable_paranoia_mode: true # logs every translator action
|
|
109
120
|
|
|
110
121
|
#############################################################################
|
|
@@ -114,7 +125,7 @@ defaults:
|
|
|
114
125
|
title: "Tr8n" # site title - provide your site title here
|
|
115
126
|
contact_email: "support@tr8n.net" # contact email for questions about translations
|
|
116
127
|
current_locale_method: "current_locale" # application controller method that sets and returns current locale
|
|
117
|
-
default_url: "/
|
|
128
|
+
default_url: "/" # default site url where to redirect the user if Tr8n is disabled
|
|
118
129
|
default_locale: "en-US" # locale of the site default language
|
|
119
130
|
sitemap_path: "/config/tr8n/site/sitemap.json" # location of the sitemap definition file
|
|
120
131
|
splash_screen: "/tr8n/common/splash_screen" # location of the Tr8n splash screen
|
|
@@ -138,7 +149,7 @@ defaults:
|
|
|
138
149
|
mugshot: mugshot
|
|
139
150
|
link: link
|
|
140
151
|
locale: locale
|
|
141
|
-
|
|
152
|
+
|
|
142
153
|
#############################################################################
|
|
143
154
|
# Rules Engine Settings
|
|
144
155
|
#############################################################################
|
|
@@ -148,33 +159,33 @@ defaults:
|
|
|
148
159
|
decoration_token_classes: ["Tr8n::Tokens::DecorationToken"]
|
|
149
160
|
allow_nil_token_values: true
|
|
150
161
|
numeric_rule:
|
|
151
|
-
token_suffixes: [count, num, age, hours, minutes, years, seconds]
|
|
152
|
-
object_method: to_i
|
|
162
|
+
token_suffixes: ["count", "num", "age", "hours", "minutes", "years", "seconds"]
|
|
163
|
+
object_method: "to_i"
|
|
153
164
|
gender_rule:
|
|
154
|
-
token_suffixes: [user, profile, actor, target]
|
|
155
|
-
object_method: gender
|
|
165
|
+
token_suffixes: ["user", "profile", "actor", "target", "partner"]
|
|
166
|
+
object_method: "gender"
|
|
156
167
|
method_values:
|
|
157
|
-
female: female
|
|
158
|
-
male: male
|
|
159
|
-
neutral: neutral
|
|
160
|
-
unknown: unknown
|
|
168
|
+
female: "female"
|
|
169
|
+
male: "male"
|
|
170
|
+
neutral: "neutral"
|
|
171
|
+
unknown: "unknown"
|
|
161
172
|
list_rule: # use list_rule if your site does not support user genders
|
|
162
|
-
object_method: size
|
|
163
|
-
token_suffixes: [list]
|
|
173
|
+
object_method: "size"
|
|
174
|
+
token_suffixes: ["list"]
|
|
164
175
|
gender_list_rule: # similiar to list rule, but works together with gender rule
|
|
165
|
-
object_method: size
|
|
166
|
-
token_suffixes: [list]
|
|
176
|
+
object_method: "size"
|
|
177
|
+
token_suffixes: ["list"]
|
|
167
178
|
date_rule:
|
|
168
|
-
token_suffixes: [date]
|
|
169
|
-
object_method: to_date
|
|
179
|
+
token_suffixes: ["date"]
|
|
180
|
+
object_method: "to_date"
|
|
170
181
|
value_rule:
|
|
171
182
|
token_suffixes: "*"
|
|
172
|
-
object_method: to_s
|
|
183
|
+
object_method: "to_s"
|
|
173
184
|
|
|
174
185
|
# minimal rank makes the translation acceptable for subsitution and counts towards the translator rank
|
|
175
186
|
translation_threshold: 1
|
|
176
187
|
|
|
177
|
-
viewing_user_token: viewing_user
|
|
188
|
+
viewing_user_token: "viewing_user"
|
|
178
189
|
translation_rank_styles:
|
|
179
190
|
-1000..-5: "color:red;font-weight:bold;"
|
|
180
191
|
-4..-1: "color:red;"
|
|
@@ -186,8 +197,11 @@ defaults:
|
|
|
186
197
|
#############################################################################
|
|
187
198
|
api:
|
|
188
199
|
enabled: true
|
|
189
|
-
response_encoding: json # options: xml, json
|
|
200
|
+
response_encoding: "json" # options: xml, json
|
|
190
201
|
allow_key_registration: true
|
|
202
|
+
skip_before_filters: [] # filters from application controller
|
|
203
|
+
before_filters: [] # filters from application controller
|
|
204
|
+
after_filters: [] # filters from application controller
|
|
191
205
|
|
|
192
206
|
#############################################################################
|
|
193
207
|
# Translator Roles - manager level is set at 1000 and anything above
|
|
@@ -243,11 +257,11 @@ defaults:
|
|
|
243
257
|
date_time: '%m/%d/%Y at %H:%M' # 01/03/1010 at 5:30
|
|
244
258
|
|
|
245
259
|
#############################################################################
|
|
246
|
-
# You can synchronize your translation keys and translations with
|
|
247
|
-
#
|
|
260
|
+
# You can synchronize your translation keys and translations with the
|
|
261
|
+
# tr8n.net service. This way you can get your site translated by
|
|
248
262
|
# millions of users from around the internet. Visit the following url and
|
|
249
263
|
# register as a developer, register your application and copy your app key
|
|
250
|
-
# in the
|
|
264
|
+
# and secret in the lines below:
|
|
251
265
|
#
|
|
252
266
|
# http://tr8n.net
|
|
253
267
|
#
|
|
@@ -265,20 +279,12 @@ defaults:
|
|
|
265
279
|
all_languages: false # use only enabled languages, or all languages
|
|
266
280
|
enable_push: false # allows translations to be pushed from the main server using the sync API
|
|
267
281
|
push_servers: ["tr8n.net"] # only allows those servers to push translations
|
|
268
|
-
|
|
282
|
+
|
|
269
283
|
#############################################################################
|
|
270
284
|
# Environment Settings
|
|
271
285
|
# You can overload any feature defined in the defaults for any environment
|
|
272
286
|
#############################################################################
|
|
273
287
|
development:
|
|
274
|
-
# synchronization:
|
|
275
|
-
# server: "http://localhost:3000" # alternative, regional locations will be available in the future
|
|
276
|
-
# key: "14ngS3YadRF54PArKR8mre3MJfPzJA0jxW2j2RJu" # replace this with your key
|
|
277
|
-
# secret: "ycFdAAQOEmxtpb8gE9M4gqQrgfU4SR1LetkXnLDZ" # replace this with your secret
|
|
278
|
-
# batch_size: 50 # how many kesy to send to the server at a time
|
|
279
|
-
# all_languages: false # use only enabled languages, or all languages
|
|
280
|
-
# enable_push: true # allows translations to be pushed from the main server using the sync API
|
|
281
|
-
# push_servers: ["localhost", "tr8n.net"] # only allows those servers to push translations
|
|
282
288
|
|
|
283
289
|
test:
|
|
284
290
|
|
|
@@ -8,7 +8,7 @@ Ctrl+Shift+I:
|
|
|
8
8
|
|
|
9
9
|
Ctrl+Shift+L:
|
|
10
10
|
description: Shows/hides language selector
|
|
11
|
-
script: "
|
|
11
|
+
script: "tr8nLightbox.show('/tr8n/language/select?lightbox=true', {height:500, width:400});"
|
|
12
12
|
|
|
13
13
|
Ctrl+Shift+A:
|
|
14
14
|
description: Displays all available languages
|
|
@@ -260,6 +260,7 @@ 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"
|
|
263
264
|
|
|
264
265
|
create_table "tr8n_translation_source_languages", :force => true do |t|
|
|
265
266
|
t.integer "language_id"
|
|
@@ -304,6 +305,7 @@ ActiveRecord::Schema.define(:version => 20111026230545) do
|
|
|
304
305
|
end
|
|
305
306
|
|
|
306
307
|
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"
|
|
307
309
|
add_index "tr8n_translations", ["translation_key_id", "translator_id", "language_id"], :name => "tr8n_trans_key_id_translator_id_lang_id"
|
|
308
310
|
add_index "tr8n_translations", ["translator_id"], :name => "r8n_trans_translator_id"
|
|
309
311
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Tr8n::AwardsController do
|
|
4
|
+
|
|
5
|
+
describe "guest user" do
|
|
6
|
+
it "should be redirect to homepage" do
|
|
7
|
+
get :index
|
|
8
|
+
response.should redirect_to('/')
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe "logged in user" do
|
|
13
|
+
it "should redirect the guest user to homepage" do
|
|
14
|
+
@user = User.create(:first_name => "Mike", :gender => "male")
|
|
15
|
+
request.session[:user_id] = @user.id
|
|
16
|
+
|
|
17
|
+
get :index
|
|
18
|
+
response.should be_success
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Tr8n::DashboardController do
|
|
4
|
+
|
|
5
|
+
describe "guest user" do
|
|
6
|
+
it "should be redirect to homepage" do
|
|
7
|
+
get :index
|
|
8
|
+
response.should redirect_to('/')
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
describe "logged in user" do
|
|
13
|
+
it "should redirect the guest user to homepage" do
|
|
14
|
+
@user = User.create(:first_name => "Mike", :gender => "male")
|
|
15
|
+
request.session[:user_id] = @user.id
|
|
16
|
+
|
|
17
|
+
get :index
|
|
18
|
+
response.should be_success
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
end
|