tr8n 3.1.8 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. data/.gitignore +2 -1
  2. data/.rspec +1 -0
  3. data/.rvmrc +1 -1
  4. data/.watchr +18 -0
  5. data/Gemfile.lock +16 -10
  6. data/app/assets/images/tr8n/minus_node.png +0 -0
  7. data/app/assets/images/tr8n/pixel.gif +0 -0
  8. data/app/assets/images/tr8n/plus_node.png +0 -0
  9. data/app/assets/javascripts/tr8n/tr8n.js +1 -0
  10. data/app/assets/javascripts/tr8n/tr8n_client_sdk.js +581 -425
  11. data/app/assets/stylesheets/tr8n/layout.css.scss +1 -1
  12. data/app/assets/stylesheets/tr8n/tr8n.css.scss +20 -0
  13. data/app/controllers/tr8n/admin/base_controller.rb +4 -1
  14. data/app/controllers/tr8n/admin/clientsdk_controller.rb +1 -1
  15. data/app/controllers/tr8n/admin/metrics_controller.rb +30 -0
  16. data/app/controllers/tr8n/api/v1/base_controller.rb +12 -0
  17. data/app/controllers/tr8n/api/v1/language_controller.rb +7 -5
  18. data/app/controllers/tr8n/awards_controller.rb +1 -1
  19. data/app/controllers/tr8n/base_controller.rb +12 -6
  20. data/app/controllers/tr8n/dashboard_controller.rb +1 -1
  21. data/app/controllers/tr8n/forum_controller.rb +1 -1
  22. data/app/controllers/tr8n/glossary_controller.rb +1 -1
  23. data/app/controllers/tr8n/help_controller.rb +1 -1
  24. data/app/controllers/tr8n/phrases_controller.rb +1 -1
  25. data/app/controllers/tr8n/translator_controller.rb +8 -0
  26. data/app/helpers/tr8n/admin/base_helper.rb +1 -1
  27. data/app/helpers/tr8n/base_helper.rb +1 -1
  28. data/app/helpers/tr8n/dashboard_helper.rb +1 -1
  29. data/app/models/tr8n/base_filter.rb +1 -1
  30. data/app/models/tr8n/daily_language_metric.rb +1 -1
  31. data/app/models/tr8n/date_rule.rb +1 -1
  32. data/app/models/tr8n/gender_list_rule.rb +1 -1
  33. data/app/models/tr8n/gender_rule.rb +1 -1
  34. data/app/models/tr8n/glossary.rb +1 -1
  35. data/app/models/tr8n/glossary_filter.rb +1 -1
  36. data/app/models/tr8n/integration/ru/russian_gender_list_rule.rb +1 -1
  37. data/app/models/tr8n/integration/ru/russian_numeric_rule.rb +1 -1
  38. data/app/models/tr8n/ip_location.rb +1 -1
  39. data/app/models/tr8n/ip_location_filter.rb +1 -1
  40. data/app/models/tr8n/language.rb +19 -7
  41. data/app/models/tr8n/language_case.rb +1 -1
  42. data/app/models/tr8n/language_case_filter.rb +1 -1
  43. data/app/models/tr8n/language_case_rule.rb +1 -1
  44. data/app/models/tr8n/language_case_rule_filter.rb +1 -1
  45. data/app/models/tr8n/language_case_value_map.rb +1 -1
  46. data/app/models/tr8n/language_case_value_map_filter.rb +1 -1
  47. data/app/models/tr8n/language_filter.rb +1 -1
  48. data/app/models/tr8n/language_forum_abuse_report.rb +1 -1
  49. data/app/models/tr8n/language_forum_abuse_report_filter.rb +1 -1
  50. data/app/models/tr8n/language_forum_message.rb +1 -1
  51. data/app/models/tr8n/language_forum_message_filter.rb +1 -1
  52. data/app/models/tr8n/language_forum_topic.rb +1 -1
  53. data/app/models/tr8n/language_forum_topic_filter.rb +1 -1
  54. data/app/models/tr8n/language_metric.rb +1 -1
  55. data/app/models/tr8n/language_metric_filter.rb +1 -1
  56. data/app/models/tr8n/language_rule.rb +1 -1
  57. data/app/models/tr8n/language_rule_filter.rb +1 -1
  58. data/app/models/tr8n/language_user.rb +1 -1
  59. data/app/models/tr8n/language_user_filter.rb +1 -1
  60. data/app/models/tr8n/list_rule.rb +1 -1
  61. data/app/models/tr8n/monthly_language_metric.rb +1 -1
  62. data/app/models/tr8n/numeric_rule.rb +35 -28
  63. data/app/models/tr8n/sync_log.rb +1 -1
  64. data/app/models/tr8n/sync_log_filter.rb +1 -1
  65. data/app/models/tr8n/total_language_metric.rb +1 -1
  66. data/app/models/tr8n/translation.rb +4 -3
  67. data/app/models/tr8n/translation_domain.rb +11 -3
  68. data/app/models/tr8n/translation_domain_filter.rb +1 -1
  69. data/app/models/tr8n/translation_filter.rb +1 -1
  70. data/app/models/tr8n/translation_key.rb +73 -36
  71. data/app/models/tr8n/translation_key_comment.rb +1 -1
  72. data/app/models/tr8n/translation_key_comment_filter.rb +1 -1
  73. data/app/models/tr8n/translation_key_filter.rb +1 -1
  74. data/app/models/tr8n/translation_key_lock.rb +1 -1
  75. data/app/models/tr8n/translation_key_lock_filter.rb +1 -1
  76. data/app/models/tr8n/translation_key_source.rb +16 -5
  77. data/app/models/tr8n/translation_key_source_filter.rb +1 -1
  78. data/app/models/tr8n/translation_source.rb +12 -4
  79. data/app/models/tr8n/translation_source_filter.rb +1 -1
  80. data/app/models/tr8n/translation_source_language.rb +1 -1
  81. data/app/models/tr8n/translation_vote.rb +1 -1
  82. data/app/models/tr8n/translation_vote_filter.rb +1 -1
  83. data/app/models/tr8n/translator.rb +21 -5
  84. data/app/models/tr8n/translator_filter.rb +1 -1
  85. data/app/models/tr8n/translator_following.rb +1 -1
  86. data/app/models/tr8n/translator_following_filter.rb +1 -1
  87. data/app/models/tr8n/translator_log.rb +3 -3
  88. data/app/models/tr8n/translator_log_filter.rb +1 -1
  89. data/app/models/tr8n/translator_metric.rb +1 -1
  90. data/app/models/tr8n/translator_metric_filter.rb +1 -1
  91. data/app/models/tr8n/translator_report.rb +1 -1
  92. data/app/models/tr8n/translator_report_filter.rb +1 -1
  93. data/app/models/tr8n/value_rule.rb +1 -1
  94. data/app/views/tr8n/admin/clientsdk/index.html.erb +29 -29
  95. data/app/views/tr8n/admin/clientsdk/lb_samples.html.erb +1 -1
  96. data/app/views/tr8n/admin/metrics/_tabs.html.erb +22 -0
  97. data/app/views/tr8n/admin/metrics/index.html.erb +60 -0
  98. data/app/views/tr8n/common/_header.html.erb +3 -1
  99. data/app/views/tr8n/common/_language_selector.html.erb +4 -2
  100. data/app/views/tr8n/common/_scripts.html.erb +5 -0
  101. data/app/views/tr8n/common/_terms_of_service.html.erb +53 -0
  102. data/app/views/tr8n/help/credits.html.erb +4 -0
  103. data/app/views/tr8n/language/_select.html.erb +5 -1
  104. data/app/views/tr8n/translator/registration.html.erb +21 -0
  105. data/config/routes.rb +3 -1
  106. data/doc/classes.graffle +356 -7194
  107. data/lib/generators/tr8n/templates/config/tr8n/config.yml +9 -1
  108. data/lib/generators/tr8n/templates/config/tr8n/site/shortcuts.yml +1 -1
  109. data/lib/generators/tr8n/templates/config/tr8n/tokens/decorations.yml +4 -1
  110. data/lib/generators/tr8n/tr8n_generator.rb +1 -1
  111. data/lib/tasks/tr8n.rake +1 -1
  112. data/lib/tr8n.rb +23 -0
  113. data/lib/tr8n/active_dumper.rb +1 -1
  114. data/lib/tr8n/cache.rb +1 -8
  115. data/lib/tr8n/cache_adapters/memcached.rb +1 -1
  116. data/lib/tr8n/config.rb +37 -1
  117. data/lib/tr8n/dictionary.rb +1 -1
  118. data/lib/tr8n/engine.rb +4 -1
  119. data/lib/tr8n/exception.rb +1 -1
  120. data/lib/tr8n/extender.rb +1 -1
  121. data/lib/tr8n/extensions/action_controller_extension.rb +5 -4
  122. data/lib/tr8n/extensions/action_view_extension.rb +71 -20
  123. data/lib/tr8n/extensions/array_extension.rb +14 -1
  124. data/lib/tr8n/extensions/date_extension.rb +1 -1
  125. data/lib/tr8n/extensions/fixnum_extension.rb +1 -1
  126. data/lib/tr8n/extensions/hash_extension.rb +1 -1
  127. data/lib/tr8n/extensions/string_extension.rb +1 -1
  128. data/lib/tr8n/extensions/time_extension.rb +1 -1
  129. data/lib/tr8n/ip_address.rb +1 -1
  130. data/lib/tr8n/key_registration_exception.rb +1 -1
  131. data/lib/tr8n/keyboard_mapping.rb +1 -1
  132. data/lib/tr8n/logger.rb +1 -1
  133. data/lib/tr8n/railtie.rb +1 -1
  134. data/lib/tr8n/site_map.rb +1 -1
  135. data/lib/tr8n/site_map_section.rb +1 -1
  136. data/lib/tr8n/token.rb +1 -1
  137. data/lib/tr8n/token_exception.rb +1 -1
  138. data/lib/tr8n/tokenized_label.rb +2 -12
  139. data/lib/tr8n/tokens/data_token.rb +1 -1
  140. data/lib/tr8n/tokens/decoration_token.rb +1 -1
  141. data/lib/tr8n/tokens/hidden_token.rb +1 -1
  142. data/lib/tr8n/tokens/method_token.rb +1 -1
  143. data/lib/tr8n/tokens/transform_token.rb +1 -1
  144. data/lib/tr8n/version.rb +25 -1
  145. data/local/tr8n_server/app/models/user.rb +1 -0
  146. data/local/tr8n_server/config/environments/test.rb +1 -1
  147. data/local/tr8n_server/config/tr8n/config.yml +45 -39
  148. data/local/tr8n_server/config/tr8n/site/shortcuts.yml +1 -1
  149. data/local/tr8n_server/db/schema.rb +2 -0
  150. data/spec/controllers/awards_controller_spec.rb +22 -0
  151. data/spec/controllers/base_controller_spec.rb +6 -0
  152. data/spec/controllers/dashboard_controller_spec.rb +23 -0
  153. data/spec/controllers/forum_controller_spec.rb +23 -0
  154. data/spec/controllers/glossary_controller_spec.rb +22 -0
  155. data/spec/controllers/help_controller_spec.rb +22 -0
  156. data/spec/controllers/language_cases_controller_spec.rb +13 -0
  157. data/spec/controllers/language_controller_spec.rb +10 -0
  158. data/spec/controllers/phrases_controller_spec.rb +22 -0
  159. data/spec/controllers/translations_controller_spec.rb +23 -0
  160. data/spec/controllers/translator_controller_spec.rb +22 -0
  161. data/spec/lib/tokenized_label_spec.rb +42 -0
  162. data/spec/lib/tokens/data_token_spec.rb +49 -0
  163. data/spec/lib/tokens/decoration_token_spec.rb +49 -0
  164. data/spec/lib/tokens/hidden_token_spec.rb +53 -0
  165. data/spec/lib/tokens/method_token_spec.rb +61 -0
  166. data/spec/lib/tokens/transform_token_spec.rb +51 -0
  167. data/spec/models/tr8n/daily_language_metric_spec.rb +5 -0
  168. data/spec/models/tr8n/date_rule_spec.rb +5 -0
  169. data/spec/models/tr8n/gender_list_rule_spec.rb +5 -0
  170. data/spec/models/tr8n/gender_rule_spec.rb +141 -0
  171. data/spec/models/tr8n/glossary_spec.rb +5 -0
  172. data/spec/models/tr8n/ip_location_spec.rb +5 -0
  173. data/spec/models/tr8n/language_case_rule_spec.rb +5 -0
  174. data/spec/models/tr8n/language_case_spec.rb +5 -0
  175. data/spec/models/tr8n/language_case_value_map_spec.rb +5 -0
  176. data/spec/models/tr8n/language_forum_abuse_report_spec.rb +5 -0
  177. data/spec/models/tr8n/language_forum_message_spec.rb +5 -0
  178. data/spec/models/tr8n/language_forum_topic_spec.rb +5 -0
  179. data/spec/models/tr8n/language_metric_spec.rb +5 -0
  180. data/spec/models/tr8n/language_rule_spec.rb +5 -0
  181. data/spec/models/tr8n/language_spec.rb +79 -0
  182. data/spec/models/tr8n/language_user_spec.rb +5 -0
  183. data/spec/models/tr8n/list_rule_spec.rb +5 -0
  184. data/spec/models/tr8n/monthly_language_metric_spec.rb +5 -0
  185. data/spec/models/tr8n/numeric_rule_spec.rb +162 -0
  186. data/spec/models/tr8n/sync_log_spec.rb +5 -0
  187. data/spec/models/tr8n/total_language_metric_spec.rb +5 -0
  188. data/spec/models/tr8n/translation_domain_spec.rb +5 -0
  189. data/spec/models/tr8n/translation_key_comment_spec.rb +5 -0
  190. data/spec/models/tr8n/translation_key_lock_spec.rb +5 -0
  191. data/spec/models/tr8n/translation_key_source_spec.rb +5 -0
  192. data/spec/models/tr8n/translation_key_spec.rb +118 -0
  193. data/spec/models/tr8n/translation_source_language_spec.rb +5 -0
  194. data/spec/models/tr8n/translation_source_spec.rb +5 -0
  195. data/spec/models/tr8n/translation_spec.rb +5 -0
  196. data/spec/models/tr8n/translation_vote_spec.rb +5 -0
  197. data/spec/models/tr8n/translator_following_spec.rb +5 -0
  198. data/spec/models/tr8n/translator_log_spec.rb +5 -0
  199. data/spec/models/tr8n/translator_metric_spec.rb +5 -0
  200. data/spec/models/tr8n/translator_report_spec.rb +5 -0
  201. data/spec/models/tr8n/translator_spec.rb +140 -0
  202. data/spec/spec_helper.rb +26 -27
  203. data/tr8n.gemspec +3 -1
  204. metadata +173 -50
  205. data/local/tr8n_server/db/migrate/20110930041150_create_tr8n_tables.rb +0 -372
  206. data/spec/fake_app.rb +0 -50
  207. data/spec/lib/data_token_spec.rb +0 -26
  208. data/spec/lib/transform_token_spec.rb +0 -22
  209. data/spec/models/translation_key_spec.rb +0 -63
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  #--
3
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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?
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -1,5 +1,5 @@
1
1
  #--
2
- # Copyright (c) 2010-2011 Michael Berkovich
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
@@ -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.1.8"
26
+ VERSION = "3.2.0"
3
27
  end
@@ -11,6 +11,7 @@ class User < ActiveRecord::Base
11
11
  end
12
12
 
13
13
  def name
14
+ return first_name if last_name.blank?
14
15
  [first_name, last_name].join(" ")
15
16
  end
16
17
 
@@ -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 = true
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: false # allows tr8n engine sections to be inline translated
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: false # allows javascript to use tr8nProxy object
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: true
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: "/home" # default site url where to redirect the user if Tr8n is disabled
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 other
247
- # sites that use Tr8n. This way you can get your site translated by
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 line below:
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: "tr8nLanguageSelector.toggle();"
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,6 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Tr8n::BaseController do
4
+
5
+
6
+ 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