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.
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