tr8n 3.1.1 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. data/.gitignore +6 -3
  2. data/.rspec +2 -0
  3. data/Gemfile +3 -6
  4. data/Gemfile.lock +21 -6
  5. data/README.rdoc +61 -33
  6. data/Rakefile +1 -11
  7. data/app/assets/images/tr8n/photo_system.gif +0 -0
  8. data/app/assets/stylesheets/tr8n/application.css +42 -1
  9. data/{test/dummy/app/assets/stylesheets/components.css.scss → app/assets/stylesheets/tr8n/component.css.scss} +0 -0
  10. data/{test/dummy/app/assets/stylesheets → app/assets/stylesheets/tr8n}/layout.css.scss +0 -0
  11. data/app/assets/stylesheets/tr8n/tr8n.css.scss +16 -8
  12. data/app/controllers/tr8n/admin/base_controller.rb +1 -1
  13. data/app/controllers/tr8n/admin/clientsdk_controller.rb +1 -1
  14. data/app/controllers/tr8n/admin/domain_controller.rb +1 -1
  15. data/app/controllers/tr8n/admin/forum_controller.rb +1 -1
  16. data/app/controllers/tr8n/admin/glossary_controller.rb +1 -1
  17. data/app/controllers/tr8n/admin/language_controller.rb +1 -1
  18. data/app/controllers/tr8n/admin/translation_controller.rb +1 -1
  19. data/app/controllers/tr8n/admin/translation_key_controller.rb +5 -1
  20. data/app/controllers/tr8n/admin/translator_controller.rb +1 -1
  21. data/app/{helpers/tr8n/application_helper.rb → controllers/tr8n/api/v1/sync_controller.rb} +6 -3
  22. data/app/controllers/tr8n/awards_controller.rb +12 -12
  23. data/app/controllers/tr8n/base_controller.rb +140 -137
  24. data/app/controllers/tr8n/dashboard_controller.rb +2 -1
  25. data/app/controllers/tr8n/forum_controller.rb +1 -1
  26. data/app/controllers/tr8n/glossary_controller.rb +1 -1
  27. data/app/controllers/tr8n/help_controller.rb +1 -1
  28. data/app/controllers/tr8n/language_cases_controller.rb +43 -45
  29. data/app/controllers/tr8n/language_controller.rb +1 -1
  30. data/app/controllers/tr8n/phrases_controller.rb +1 -1
  31. data/app/controllers/tr8n/translations_controller.rb +1 -1
  32. data/app/controllers/tr8n/translator_controller.rb +1 -1
  33. data/app/helpers/tr8n/base_helper.rb +0 -4
  34. data/app/models/tr8n/base_filter.rb +1 -1
  35. data/app/models/tr8n/daily_language_metric.rb +1 -1
  36. data/app/models/tr8n/date_rule.rb +1 -1
  37. data/app/models/tr8n/gender_list_rule.rb +1 -1
  38. data/app/models/tr8n/gender_rule.rb +1 -1
  39. data/app/models/tr8n/glossary.rb +1 -1
  40. data/app/models/tr8n/glossary_filter.rb +1 -1
  41. data/app/models/tr8n/integration/ru/russian_gender_list_rule.rb +1 -1
  42. data/app/models/tr8n/integration/ru/russian_numeric_rule.rb +1 -1
  43. data/app/models/tr8n/ip_location.rb +1 -1
  44. data/app/models/tr8n/ip_location_filter.rb +1 -1
  45. data/app/models/tr8n/language.rb +17 -8
  46. data/app/models/tr8n/language_case.rb +1 -1
  47. data/app/models/tr8n/language_case_filter.rb +1 -1
  48. data/app/models/tr8n/language_case_rule.rb +1 -1
  49. data/app/models/tr8n/language_case_rule_filter.rb +1 -1
  50. data/app/models/tr8n/language_case_value_map.rb +1 -1
  51. data/app/models/tr8n/language_case_value_map_filter.rb +1 -1
  52. data/app/models/tr8n/language_filter.rb +1 -1
  53. data/app/models/tr8n/language_forum_abuse_report.rb +1 -1
  54. data/app/models/tr8n/language_forum_abuse_report_filter.rb +1 -1
  55. data/app/models/tr8n/language_forum_message.rb +2 -2
  56. data/app/models/tr8n/language_forum_message_filter.rb +1 -1
  57. data/app/models/tr8n/language_forum_topic.rb +3 -3
  58. data/app/models/tr8n/language_forum_topic_filter.rb +1 -1
  59. data/app/models/tr8n/language_metric.rb +2 -2
  60. data/app/models/tr8n/language_metric_filter.rb +1 -1
  61. data/app/models/tr8n/language_rule.rb +37 -2
  62. data/app/models/tr8n/language_rule_filter.rb +1 -1
  63. data/app/models/tr8n/language_user.rb +3 -3
  64. data/app/models/tr8n/language_user_filter.rb +1 -1
  65. data/app/models/tr8n/list_rule.rb +1 -1
  66. data/app/models/tr8n/monthly_language_metric.rb +2 -2
  67. data/app/models/tr8n/numeric_rule.rb +1 -1
  68. data/app/models/tr8n/sync_log.rb +76 -0
  69. data/app/{controllers/tr8n/application_controller.rb → models/tr8n/sync_log_filter.rb} +4 -3
  70. data/app/models/tr8n/total_language_metric.rb +5 -4
  71. data/app/models/tr8n/translation.rb +61 -13
  72. data/app/models/tr8n/translation_domain.rb +1 -1
  73. data/app/models/tr8n/translation_domain_filter.rb +1 -1
  74. data/app/models/tr8n/translation_filter.rb +1 -1
  75. data/app/models/tr8n/translation_key.rb +33 -5
  76. data/app/models/tr8n/translation_key_comment.rb +1 -1
  77. data/app/models/tr8n/translation_key_comment_filter.rb +1 -1
  78. data/app/models/tr8n/translation_key_filter.rb +1 -1
  79. data/app/models/tr8n/translation_key_lock.rb +2 -2
  80. data/app/models/tr8n/translation_key_lock_filter.rb +1 -1
  81. data/app/models/tr8n/translation_key_source.rb +2 -2
  82. data/app/models/tr8n/translation_key_source_filter.rb +1 -1
  83. data/app/models/tr8n/translation_source.rb +2 -2
  84. data/app/models/tr8n/translation_source_filter.rb +1 -1
  85. data/app/models/tr8n/translation_vote.rb +3 -4
  86. data/app/models/tr8n/translation_vote_filter.rb +1 -1
  87. data/app/models/tr8n/translator.rb +19 -5
  88. data/app/models/tr8n/translator_filter.rb +1 -1
  89. data/app/models/tr8n/translator_following.rb +2 -2
  90. data/app/models/tr8n/translator_following_filter.rb +1 -1
  91. data/app/models/tr8n/translator_log.rb +1 -1
  92. data/app/models/tr8n/translator_log_filter.rb +1 -1
  93. data/app/models/tr8n/translator_metric.rb +15 -21
  94. data/app/models/tr8n/translator_metric_filter.rb +1 -1
  95. data/app/models/tr8n/translator_report.rb +2 -2
  96. data/app/models/tr8n/translator_report_filter.rb +1 -1
  97. data/app/models/tr8n/value_rule.rb +1 -1
  98. data/app/views/tr8n/admin/common/_paginator.html.erb +29 -17
  99. data/app/views/tr8n/admin/translation_key/_tabs.html.erb +3 -1
  100. data/app/views/tr8n/admin/translation_key/sync_logs.html.erb +5 -0
  101. data/app/views/tr8n/awards/index.html.erb +0 -2
  102. data/app/views/tr8n/common/_paginator.html.erb +24 -6
  103. data/app/views/tr8n/common/_tabs.html.erb +9 -5
  104. data/app/views/tr8n/forum/_messages.html.erb +1 -1
  105. data/app/views/tr8n/forum/index.html.erb +1 -1
  106. data/app/views/tr8n/glossary/index.html.erb +2 -2
  107. data/app/views/tr8n/{home → help}/credits.html.erb +0 -0
  108. data/app/views/tr8n/{home → help}/license.html.erb +0 -0
  109. data/app/views/tr8n/language_cases/index.html.erb +2 -2
  110. data/app/views/tr8n/phrases/_comments_module.html.erb +1 -1
  111. data/app/views/tr8n/phrases/index.html.erb +2 -6
  112. data/app/views/tr8n/translations/_list.html.erb +2 -6
  113. data/config/routes.rb +2 -2
  114. data/config/tr8n/config.yml +48 -13
  115. data/config/tr8n/rules/default_language_cases.yml +272 -0
  116. data/config/tr8n/tokens/data.yml +3 -1
  117. data/db/migrate/20111003194443_create_tr8n_sync_tables.rb +22 -0
  118. data/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb +5 -0
  119. data/doc/classes.graffle +7049 -5152
  120. data/doc/classes.pdf +0 -0
  121. data/lib/generators/tr8n/templates/{create_tr8n_tables.rb → db/create_tr8n_tables.rb} +0 -0
  122. data/lib/generators/tr8n/templates/layouts/tr8n.html.erb +49 -0
  123. data/lib/generators/tr8n/templates/layouts/tr8n_admin.html.erb +61 -0
  124. data/lib/generators/tr8n/tr8n_generator.rb +11 -4
  125. data/lib/tasks/{tr8n_tasks.rake → tr8n.rake} +4 -0
  126. data/{app/controllers/tr8n/home_controller.rb → lib/tr8n/cache_adapters/memcached.rb} +12 -15
  127. data/lib/tr8n/config.rb +96 -53
  128. data/lib/tr8n/extensions/action_controller_extension.rb +1 -1
  129. data/lib/tr8n/extensions/action_view_extension.rb +4 -28
  130. data/lib/tr8n/tokens/data_token.rb +1 -1
  131. data/lib/tr8n/tokens/method_token.rb +1 -1
  132. data/lib/tr8n/tokens/transform_token.rb +1 -1
  133. data/lib/tr8n/version.rb +1 -1
  134. data/{test/dummy → local/tr8n_server}/Rakefile +1 -1
  135. data/{test/dummy → local/tr8n_server}/app/assets/javascripts/application.js +0 -0
  136. data/{test/dummy → local/tr8n_server}/app/assets/stylesheets/admin.css +0 -0
  137. data/{test/dummy → local/tr8n_server}/app/assets/stylesheets/application.css +0 -0
  138. data/local/tr8n_server/app/assets/stylesheets/components.css.scss +211 -0
  139. data/local/tr8n_server/app/assets/stylesheets/layout.css.scss +143 -0
  140. data/{test/dummy → local/tr8n_server}/app/controllers/admin/admins_controller.rb +0 -0
  141. data/{test/dummy → local/tr8n_server}/app/controllers/admin/base_controller.rb +0 -0
  142. data/{test/dummy → local/tr8n_server}/app/controllers/admin/users_controller.rb +0 -0
  143. data/{test/dummy → local/tr8n_server}/app/controllers/application_controller.rb +5 -0
  144. data/{test/dummy → local/tr8n_server}/app/controllers/demo_controller.rb +0 -0
  145. data/local/tr8n_server/app/controllers/home_controller.rb +4 -0
  146. data/{test/dummy → local/tr8n_server}/app/controllers/login_controller.rb +1 -1
  147. data/{test/dummy → local/tr8n_server}/app/helpers/application_helper.rb +0 -0
  148. data/{test/dummy → local/tr8n_server}/app/helpers/home_helper.rb +0 -0
  149. data/{test/dummy → local/tr8n_server}/app/mailers/.gitkeep +0 -0
  150. data/{test/dummy → local/tr8n_server}/app/models/.gitkeep +0 -0
  151. data/{test/dummy → local/tr8n_server}/app/models/admin.rb +0 -0
  152. data/{test/dummy → local/tr8n_server}/app/models/admin_filter.rb +0 -0
  153. data/{test/dummy → local/tr8n_server}/app/models/user.rb +0 -0
  154. data/{test/dummy → local/tr8n_server}/app/views/admin/admins/index.html.erb +0 -0
  155. data/{test/dummy → local/tr8n_server}/app/views/admin/users/index.html.erb +0 -0
  156. data/{test/dummy → local/tr8n_server}/app/views/demo/index.rhtml +0 -0
  157. data/{test/dummy → local/tr8n_server}/app/views/demo/tokens.rhtml +0 -0
  158. data/{app/views/tr8n → local/tr8n_server/app/views}/home/index.html.erb +1 -2
  159. data/local/tr8n_server/app/views/kaminari/_first_page.html.erb +11 -0
  160. data/local/tr8n_server/app/views/kaminari/_gap.html.erb +8 -0
  161. data/local/tr8n_server/app/views/kaminari/_last_page.html.erb +11 -0
  162. data/local/tr8n_server/app/views/kaminari/_next_page.html.erb +11 -0
  163. data/local/tr8n_server/app/views/kaminari/_page.html.erb +12 -0
  164. data/local/tr8n_server/app/views/kaminari/_paginator.html.erb +23 -0
  165. data/local/tr8n_server/app/views/kaminari/_prev_page.html.erb +11 -0
  166. data/{test/dummy → local/tr8n_server}/app/views/layouts/_flashes.html.erb +0 -0
  167. data/{test/dummy → local/tr8n_server}/app/views/layouts/_footer.html.erb +3 -3
  168. data/{test/dummy → local/tr8n_server}/app/views/layouts/_header.html.erb +1 -1
  169. data/{test/dummy → local/tr8n_server}/app/views/layouts/admin.html.erb +0 -0
  170. data/{test/dummy → local/tr8n_server}/app/views/layouts/application.html.erb +0 -0
  171. data/local/tr8n_server/app/views/layouts/tr8n.html.erb +51 -0
  172. data/local/tr8n_server/app/views/layouts/tr8n_admin.html.erb +61 -0
  173. data/{test/dummy → local/tr8n_server}/app/views/login/index.html.erb +0 -0
  174. data/{test/dummy → local/tr8n_server}/app/views/login/register.html.erb +8 -13
  175. data/{test/dummy → local/tr8n_server}/config.ru +1 -1
  176. data/{test/dummy → local/tr8n_server}/config/application.rb +2 -1
  177. data/{test/dummy → local/tr8n_server}/config/boot.rb +0 -0
  178. data/{test/dummy → local/tr8n_server}/config/database.yml +0 -0
  179. data/{test/dummy → local/tr8n_server}/config/environment.rb +1 -1
  180. data/{test/dummy → local/tr8n_server}/config/environments/development.rb +3 -1
  181. data/{test/dummy → local/tr8n_server}/config/environments/production.rb +1 -1
  182. data/{test/dummy → local/tr8n_server}/config/environments/test.rb +1 -1
  183. data/{test/dummy → local/tr8n_server}/config/initializers/backtrace_silencers.rb +0 -0
  184. data/{test/dummy → local/tr8n_server}/config/initializers/inflections.rb +0 -0
  185. data/{test/dummy → local/tr8n_server}/config/initializers/mime_types.rb +0 -0
  186. data/{test/dummy → local/tr8n_server}/config/initializers/secret_token.rb +1 -1
  187. data/{test/dummy → local/tr8n_server}/config/initializers/session_store.rb +2 -2
  188. data/{test/dummy → local/tr8n_server}/config/initializers/wrap_parameters.rb +0 -0
  189. data/{test/dummy → local/tr8n_server}/config/locales/en.yml +0 -0
  190. data/{test/dummy → local/tr8n_server}/config/routes.rb +2 -2
  191. data/{test/dummy → local/tr8n_server}/config/tr8n/config.yml +40 -11
  192. data/{test/dummy → local/tr8n_server}/config/tr8n/data/ip_locations.csv +0 -0
  193. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_date_rules.yml +0 -0
  194. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_gender_list_rules.yml +0 -0
  195. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_gender_rules.yml +0 -0
  196. data/local/tr8n_server/config/tr8n/rules/default_language_cases.yml +272 -0
  197. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_list_rules.yml +0 -0
  198. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_numeric_rules.yml +0 -0
  199. data/{test/dummy → local/tr8n_server}/config/tr8n/rules/default_value_rules.yml +0 -0
  200. data/{test/dummy → local/tr8n_server}/config/tr8n/site/default_glossary.yml +0 -0
  201. data/{test/dummy → local/tr8n_server}/config/tr8n/site/default_languages.yml +0 -0
  202. data/{test/dummy → local/tr8n_server}/config/tr8n/site/features.yml +0 -0
  203. data/{test/dummy → local/tr8n_server}/config/tr8n/site/shortcuts.yml +0 -0
  204. data/{test/dummy → local/tr8n_server}/config/tr8n/site/sitemap.json +0 -0
  205. data/{test/dummy → local/tr8n_server}/config/tr8n/tokens/data.yml +2 -0
  206. data/{test/dummy → local/tr8n_server}/config/tr8n/tokens/decorations.yml +0 -0
  207. data/{test/dummy → local/tr8n_server}/config/will_filter/config.yml +0 -0
  208. data/{test/dummy → local/tr8n_server}/db/migrate/20101207014543_create_users.rb +0 -0
  209. data/{test/dummy → local/tr8n_server}/db/migrate/20110113223509_create_admins.rb +0 -0
  210. data/{test/dummy → local/tr8n_server}/db/migrate/20110930041143_create_will_filter_filters.rb +0 -0
  211. data/{test/dummy → local/tr8n_server}/db/migrate/20110930041150_create_tr8n_tables.rb +0 -0
  212. data/local/tr8n_server/db/migrate/20111003194443_create_tr8n_sync_tables.rb +22 -0
  213. data/local/tr8n_server/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb +5 -0
  214. data/{test/dummy → local/tr8n_server}/db/schema.rb +15 -1
  215. data/{test/dummy → local/tr8n_server}/lib/assets/.gitkeep +0 -0
  216. data/{test/dummy → local/tr8n_server}/public/404.html +0 -0
  217. data/{test/dummy → local/tr8n_server}/public/422.html +0 -0
  218. data/{test/dummy → local/tr8n_server}/public/500.html +0 -0
  219. data/{test/dummy → local/tr8n_server}/public/favicon.ico +0 -0
  220. data/{test/dummy → local/tr8n_server}/script/rails +0 -0
  221. data/script/rails +1 -1
  222. data/spec/config/config_spec.rb +10 -0
  223. data/spec/fake_app.rb +50 -0
  224. data/spec/lib/data_token_spec.rb +26 -0
  225. data/spec/lib/transform_token_spec.rb +22 -0
  226. data/spec/models/translation_key_spec.rb +63 -0
  227. data/spec/spec_helper.rb +29 -0
  228. data/tr8n.gemspec +3 -1
  229. metadata +264 -245
  230. data/app/assets/images/tr8n/tr8n_logo.png +0 -0
  231. data/app/assets/images/tr8n/tr8n_logo2.gif +0 -0
  232. data/app/controllers/tr8n/login_controller.rb +0 -86
  233. data/app/views/layouts/_footer.html.erb +0 -15
  234. data/app/views/layouts/_header.html.erb +0 -12
  235. data/app/views/layouts/_html_head.html.erb +0 -5
  236. data/app/views/layouts/tr8n.html.erb +0 -21
  237. data/app/views/layouts/tr8n/application.html.erb +0 -14
  238. data/app/views/layouts/tr8n_admin.html.erb +0 -33
  239. data/app/views/tr8n/home/languages.html.erb +0 -7
  240. data/app/views/tr8n/login/index.html.erb +0 -33
  241. data/app/views/tr8n/login/register.html.erb +0 -57
  242. data/config/tr8n/rules/default_cases.yml +0 -141
  243. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/actions.css.scssc +0 -0
  244. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/buttons.css.scssc +0 -0
  245. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/calendar.css.scssc +0 -0
  246. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/exporter.css.scssc +0 -0
  247. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/filter.css.scssc +0 -0
  248. data/test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/results.css.scssc +0 -0
  249. data/test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/components.css.scssc +0 -0
  250. data/test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/layout.css.scssc +0 -0
  251. data/test/dummy/.sass-cache/50f723c1dd802042d0091035528d53e6d5bc5b50/tr8n.css.scssc +0 -0
  252. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/actions.css.scssc +0 -0
  253. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/buttons.css.scssc +0 -0
  254. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/calendar.css.scssc +0 -0
  255. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/exporter.css.scssc +0 -0
  256. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/filter.css.scssc +0 -0
  257. data/test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/results.css.scssc +0 -0
  258. data/test/dummy/app/assets/stylesheets/keyboard.css +0 -147
  259. data/test/dummy/config/tr8n/rules/default_cases.yml +0 -141
  260. data/test/dummy/log/.gitkeep +0 -0
  261. data/test/dummy/test/functional/home_controller_test.rb +0 -9
  262. data/test/dummy/test/unit/helpers/home_helper_test.rb +0 -4
  263. data/test/integration/navigation_test.rb +0 -10
  264. data/test/test_helper.rb +0 -10
  265. data/test/tr8n_test.rb +0 -7
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Tr8n::Tokens::DataToken do
4
+ describe '#register_data_tokens' do
5
+
6
+ context "registering correct data tokens" do
7
+ it "should register all tokens" do
8
+ tokens = Tr8n::Tokens::DataToken.parse("Hello {user}")
9
+ tokens.count.should == 1
10
+ tokens.first.class.name.should == "Tr8n::Tokens::DataToken"
11
+
12
+ tokens = Tr8n::Tokens::DataToken.parse("{user} has {count} messages")
13
+ tokens.count.should == 2
14
+ tokens.first.class.name.should == "Tr8n::Tokens::DataToken"
15
+ end
16
+ end
17
+
18
+ context "registering incorrect data tokens" do
19
+ it "should not register any tokens" do
20
+ Tr8n::Tokens::DataToken.parse("Hello {user:}").count.should == 0
21
+ Tr8n::Tokens::DataToken.parse("Hello {}").count.should == 0
22
+ Tr8n::Tokens::DataToken.parse("Hello {user::}").count.should == 0
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,22 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Tr8n::Tokens::TransformToken do
4
+ describe '#register_data_tokens' do
5
+
6
+ context "registering correct transform tokens" do
7
+ it "should register all tokens" do
8
+ Tr8n::Tokens::TransformToken.parse("{user:gender|his,her}").count.should == 1
9
+ Tr8n::Tokens::TransformToken.parse("{count:number|message}").count.should == 1
10
+ Tr8n::Tokens::TransformToken.parse("{count:number||message}").count.should == 1
11
+ end
12
+ end
13
+
14
+ context "registering incorrect transform tokens" do
15
+ it "should not register any tokens" do
16
+ Tr8n::Tokens::TransformToken.parse("Hello {user}").count.should == 0
17
+ Tr8n::Tokens::TransformToken.parse("Hello {user:}").count.should == 0
18
+ Tr8n::Tokens::TransformToken.parse("Hello {user::}").count.should == 0
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,63 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ describe Tr8n::TranslationKey do
4
+ describe '#creation' do
5
+
6
+ before :all do
7
+ @user = @translator = Tr8n::Translator.create!(:name => "Mike", :user_id => 0, :gender => "male")
8
+ @user2 = @translator2 = Tr8n::Translator.create!(:name => "Anna", :user_id => 0, :gender => "female")
9
+ @english = Tr8n::Language.create!(:locale => "en-US", :english_name => "English")
10
+ @russian = Tr8n::Language.create!(:locale => "ru", :english_name => "Russian")
11
+ @spanish = Tr8n::Language.create!(:locale => "es", :english_name => "Spanish")
12
+
13
+ Tr8n::Config.init(@english.locale, @translator)
14
+ end
15
+
16
+ context "creating new translation key" do
17
+ it "should create a unique hash" do
18
+ key = Tr8n::TranslationKey.find_or_create("Hello World", "We must start with this sentence!")
19
+ assert key.key
20
+ the_key = Tr8n::TranslationKey.find_or_create("Hello World", "We must start with this sentence!")
21
+ assert key.key, the_key.key
22
+ end
23
+ end
24
+
25
+ context "creating new translation key with tokens" do
26
+ it "should parse the tokens correctly" do
27
+ key = Tr8n::TranslationKey.find_or_create("Hello {user}, you have {count} messages in your inbox")
28
+
29
+ key.key.should_not be(nil)
30
+ key.translation_tokens.should_not be_empty
31
+ key.decoration_tokens.should be_empty
32
+ key.tokens.count.should == 2
33
+ key.tokens.collect{|t| t.sanitized_name}.should include("{user}", "{count}")
34
+ key.translation_tokens.collect{|t| t.sanitized_name}.should include("{user}", "{count}")
35
+ end
36
+ end
37
+
38
+ context "translating simple strings with default language" do
39
+ it "should return original value" do
40
+ key = Tr8n::TranslationKey.find_or_create("Hello World")
41
+ key.translate(@english).should == "Hello World"
42
+
43
+ key = Tr8n::TranslationKey.find_or_create("Hello {world}")
44
+ key.translate(@english, :world => "World").should == "Hello World"
45
+
46
+ key = Tr8n::TranslationKey.find_or_create("{hello_world}")
47
+ key.translate(@english, :hello_world => "Hello World").should == "Hello World"
48
+
49
+ key = Tr8n::TranslationKey.find_or_create("Dear {user:gender}")
50
+ key.translate(@english, :user => @user).should == "Dear Mike"
51
+ key.translate(@english, :user => [@user, @user.name]).should == "Dear Mike"
52
+ key.translate(@english, :user => [@user, :name]).should == "Dear Mike"
53
+ key.translate(@english, :user => [@user, lambda{|user| user.name}]).should == "Dear Mike"
54
+ key.translate(@english, :user => [@user, lambda{|user, tom| "#{user.name} and #{tom}"}, "Tom"]).should == "Dear Mike and Tom"
55
+
56
+ # key = Tr8n::TranslationKey.find_or_create("{user:gender} updated {user:gender|his,her} profile")
57
+ # key.translate(@english, {:user => @user}).should == "Mike updated his profile"
58
+ # key.translate(@english, {:user => @user2}).should == "Anna updated her profile"
59
+ end
60
+ end
61
+
62
+ end
63
+ end
@@ -0,0 +1,29 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rails'
4
+ require 'kaminari'
5
+ require 'database_cleaner'
6
+ require 'will_filter'
7
+ require 'tr8n'
8
+
9
+ # Ensure we use 'syck' instead of 'psych' in 1.9.2
10
+ # RubyGems >= 1.5.0 uses 'psych' on 1.9.2, but
11
+ # Psych does not yet support YAML 1.1 merge keys.
12
+ # Merge keys is often used in mongoid.yml
13
+ # See: http://redmine.ruby-lang.org/issues/show/4300
14
+ if RUBY_VERSION >= '1.9.2'
15
+ YAML::ENGINE.yamler = 'syck'
16
+ end
17
+ require File.join(File.dirname(__FILE__), 'fake_app')
18
+
19
+ require 'rspec/rails'
20
+ # Requires supporting files with custom matchers and macros, etc,
21
+ # in ./support/ and its subdirectories.
22
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
23
+
24
+ RSpec.configure do |config|
25
+ config.mock_with :rr
26
+ config.before :all do
27
+ CreateAllTables.up unless ActiveRecord::Base.connection.table_exists? 'users'
28
+ end
29
+ end
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.rubyforge_project = 'tr8n'
17
17
 
18
18
  s.files = `git ls-files`.split("\n")
19
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.test_files = `git ls-files -- {test,local,spec,features}/*`.split("\n")
20
20
  s.extra_rdoc_files = ['README.rdoc']
21
21
  s.require_paths = ['lib']
22
22
 
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  s.add_dependency 'kaminari', ['>= 0']
28
28
  s.add_dependency 'sass', ['>= 0']
29
29
  s.add_dependency 'coffee-script', ['>= 0']
30
+ s.add_development_dependency 'pry', ['>= 0']
30
31
  s.add_development_dependency 'bundler', ['>= 1.0.0']
31
32
  s.add_development_dependency 'sqlite3', ['>= 0']
32
33
  s.add_development_dependency 'rspec', ['>= 0']
@@ -36,4 +37,5 @@ Gem::Specification.new do |s|
36
37
  s.add_development_dependency 'steak', ['>= 0']
37
38
  s.add_development_dependency 'capybara', ['>= 0']
38
39
  s.add_development_dependency 'database_cleaner', ['>= 0']
40
+ s.add_development_dependency 'memcache-client', ['>= 1.8.5']
39
41
  end
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.1.1
4
+ version: 3.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-01 00:00:00.000000000 -07:00
12
+ date: 2011-10-25 00:00:00.000000000 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &2168678360 !ruby/object:Gem::Requirement
17
+ requirement: &2152761660 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.1.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2168678360
25
+ version_requirements: *2152761660
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: will_filter
28
- requirement: &2168669460 !ruby/object:Gem::Requirement
28
+ requirement: &2152761080 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.1.2
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2168669460
36
+ version_requirements: *2152761080
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: kaminari
39
- requirement: &2168668300 !ruby/object:Gem::Requirement
39
+ requirement: &2152760560 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2168668300
47
+ version_requirements: *2152760560
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: sass
50
- requirement: &2168667260 !ruby/object:Gem::Requirement
50
+ requirement: &2152760080 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2168667260
58
+ version_requirements: *2152760080
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: coffee-script
61
- requirement: &2168666080 !ruby/object:Gem::Requirement
61
+ requirement: &2152759580 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,21 @@ dependencies:
66
66
  version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *2168666080
69
+ version_requirements: *2152759580
70
+ - !ruby/object:Gem::Dependency
71
+ name: pry
72
+ requirement: &2152759080 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: *2152759080
70
81
  - !ruby/object:Gem::Dependency
71
82
  name: bundler
72
- requirement: &2168664920 !ruby/object:Gem::Requirement
83
+ requirement: &2152758600 !ruby/object:Gem::Requirement
73
84
  none: false
74
85
  requirements:
75
86
  - - ! '>='
@@ -77,10 +88,10 @@ dependencies:
77
88
  version: 1.0.0
78
89
  type: :development
79
90
  prerelease: false
80
- version_requirements: *2168664920
91
+ version_requirements: *2152758600
81
92
  - !ruby/object:Gem::Dependency
82
93
  name: sqlite3
83
- requirement: &2168663760 !ruby/object:Gem::Requirement
94
+ requirement: &2152758120 !ruby/object:Gem::Requirement
84
95
  none: false
85
96
  requirements:
86
97
  - - ! '>='
@@ -88,10 +99,10 @@ dependencies:
88
99
  version: '0'
89
100
  type: :development
90
101
  prerelease: false
91
- version_requirements: *2168663760
102
+ version_requirements: *2152758120
92
103
  - !ruby/object:Gem::Dependency
93
104
  name: rspec
94
- requirement: &2168662920 !ruby/object:Gem::Requirement
105
+ requirement: &2152757600 !ruby/object:Gem::Requirement
95
106
  none: false
96
107
  requirements:
97
108
  - - ! '>='
@@ -99,10 +110,10 @@ dependencies:
99
110
  version: '0'
100
111
  type: :development
101
112
  prerelease: false
102
- version_requirements: *2168662920
113
+ version_requirements: *2152757600
103
114
  - !ruby/object:Gem::Dependency
104
115
  name: rspec-rails
105
- requirement: &2168660200 !ruby/object:Gem::Requirement
116
+ requirement: &2152757120 !ruby/object:Gem::Requirement
106
117
  none: false
107
118
  requirements:
108
119
  - - ! '>='
@@ -110,10 +121,10 @@ dependencies:
110
121
  version: '0'
111
122
  type: :development
112
123
  prerelease: false
113
- version_requirements: *2168660200
124
+ version_requirements: *2152757120
114
125
  - !ruby/object:Gem::Dependency
115
126
  name: factory_girl
116
- requirement: &2168656600 !ruby/object:Gem::Requirement
127
+ requirement: &2152756560 !ruby/object:Gem::Requirement
117
128
  none: false
118
129
  requirements:
119
130
  - - ! '>='
@@ -121,10 +132,10 @@ dependencies:
121
132
  version: '0'
122
133
  type: :development
123
134
  prerelease: false
124
- version_requirements: *2168656600
135
+ version_requirements: *2152756560
125
136
  - !ruby/object:Gem::Dependency
126
137
  name: rr
127
- requirement: &2168655340 !ruby/object:Gem::Requirement
138
+ requirement: &2152756080 !ruby/object:Gem::Requirement
128
139
  none: false
129
140
  requirements:
130
141
  - - ! '>='
@@ -132,10 +143,10 @@ dependencies:
132
143
  version: '0'
133
144
  type: :development
134
145
  prerelease: false
135
- version_requirements: *2168655340
146
+ version_requirements: *2152756080
136
147
  - !ruby/object:Gem::Dependency
137
148
  name: steak
138
- requirement: &2168652020 !ruby/object:Gem::Requirement
149
+ requirement: &2152755520 !ruby/object:Gem::Requirement
139
150
  none: false
140
151
  requirements:
141
152
  - - ! '>='
@@ -143,10 +154,10 @@ dependencies:
143
154
  version: '0'
144
155
  type: :development
145
156
  prerelease: false
146
- version_requirements: *2168652020
157
+ version_requirements: *2152755520
147
158
  - !ruby/object:Gem::Dependency
148
159
  name: capybara
149
- requirement: &2168648840 !ruby/object:Gem::Requirement
160
+ requirement: &2152755020 !ruby/object:Gem::Requirement
150
161
  none: false
151
162
  requirements:
152
163
  - - ! '>='
@@ -154,10 +165,10 @@ dependencies:
154
165
  version: '0'
155
166
  type: :development
156
167
  prerelease: false
157
- version_requirements: *2168648840
168
+ version_requirements: *2152755020
158
169
  - !ruby/object:Gem::Dependency
159
170
  name: database_cleaner
160
- requirement: &2168647240 !ruby/object:Gem::Requirement
171
+ requirement: &2152754520 !ruby/object:Gem::Requirement
161
172
  none: false
162
173
  requirements:
163
174
  - - ! '>='
@@ -165,7 +176,18 @@ dependencies:
165
176
  version: '0'
166
177
  type: :development
167
178
  prerelease: false
168
- version_requirements: *2168647240
179
+ version_requirements: *2152754520
180
+ - !ruby/object:Gem::Dependency
181
+ name: memcache-client
182
+ requirement: &2152753940 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: 1.8.5
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: *2152753940
169
191
  description: Crowd-sourced translation and localization engine for Rails.
170
192
  email:
171
193
  - theiceberk@gmail.com
@@ -175,6 +197,7 @@ extra_rdoc_files:
175
197
  - README.rdoc
176
198
  files:
177
199
  - .gitignore
200
+ - .rspec
178
201
  - .rvmrc
179
202
  - Gemfile
180
203
  - Gemfile.lock
@@ -509,6 +532,7 @@ files:
509
532
  - app/assets/images/tr8n/medals/silver.png
510
533
  - app/assets/images/tr8n/pencil.png
511
534
  - app/assets/images/tr8n/photo_silhouette.gif
535
+ - app/assets/images/tr8n/photo_system.gif
512
536
  - app/assets/images/tr8n/plus.png
513
537
  - app/assets/images/tr8n/random.png
514
538
  - app/assets/images/tr8n/random2.png
@@ -536,8 +560,6 @@ files:
536
560
  - app/assets/images/tr8n/top_right_stem.png
537
561
  - app/assets/images/tr8n/tr8n_loading.gif
538
562
  - app/assets/images/tr8n/tr8n_logo.jpg
539
- - app/assets/images/tr8n/tr8n_logo.png
540
- - app/assets/images/tr8n/tr8n_logo2.gif
541
563
  - app/assets/images/tr8n/tr8n_logo2.png
542
564
  - app/assets/images/tr8n/tr8n_logo_wiki.png
543
565
  - app/assets/images/tr8n/tr8n_logo_wiki2.png
@@ -553,8 +575,10 @@ files:
553
575
  - app/assets/javascripts/tr8n/tr8n_client_sdk.js
554
576
  - app/assets/javascripts/tr8n/tr8n_prototype_effects.js
555
577
  - app/assets/stylesheets/tr8n/application.css
578
+ - app/assets/stylesheets/tr8n/component.css.scss
556
579
  - app/assets/stylesheets/tr8n/keyboard_1_36.css
557
580
  - app/assets/stylesheets/tr8n/keyboard_1_44.css
581
+ - app/assets/stylesheets/tr8n/layout.css.scss
558
582
  - app/assets/stylesheets/tr8n/tr8n.css.scss
559
583
  - app/controllers/tr8n/admin/base_controller.rb
560
584
  - app/controllers/tr8n/admin/clientsdk_controller.rb
@@ -567,24 +591,21 @@ files:
567
591
  - app/controllers/tr8n/admin/translator_controller.rb
568
592
  - app/controllers/tr8n/api/v1/base_controller.rb
569
593
  - app/controllers/tr8n/api/v1/language_controller.rb
594
+ - app/controllers/tr8n/api/v1/sync_controller.rb
570
595
  - app/controllers/tr8n/api/v1/translation_controller.rb
571
596
  - app/controllers/tr8n/api/v1/translator_controller.rb
572
- - app/controllers/tr8n/application_controller.rb
573
597
  - app/controllers/tr8n/awards_controller.rb
574
598
  - app/controllers/tr8n/base_controller.rb
575
599
  - app/controllers/tr8n/dashboard_controller.rb
576
600
  - app/controllers/tr8n/forum_controller.rb
577
601
  - app/controllers/tr8n/glossary_controller.rb
578
602
  - app/controllers/tr8n/help_controller.rb
579
- - app/controllers/tr8n/home_controller.rb
580
603
  - app/controllers/tr8n/language_cases_controller.rb
581
604
  - app/controllers/tr8n/language_controller.rb
582
- - app/controllers/tr8n/login_controller.rb
583
605
  - app/controllers/tr8n/phrases_controller.rb
584
606
  - app/controllers/tr8n/translations_controller.rb
585
607
  - app/controllers/tr8n/translator_controller.rb
586
608
  - app/helpers/tr8n/admin/base_helper.rb
587
- - app/helpers/tr8n/application_helper.rb
588
609
  - app/helpers/tr8n/base_helper.rb
589
610
  - app/helpers/tr8n/dashboard_helper.rb
590
611
  - app/models/tr8n/base_filter.rb
@@ -621,6 +642,8 @@ files:
621
642
  - app/models/tr8n/list_rule.rb
622
643
  - app/models/tr8n/monthly_language_metric.rb
623
644
  - app/models/tr8n/numeric_rule.rb
645
+ - app/models/tr8n/sync_log.rb
646
+ - app/models/tr8n/sync_log_filter.rb
624
647
  - app/models/tr8n/total_language_metric.rb
625
648
  - app/models/tr8n/translation.rb
626
649
  - app/models/tr8n/translation_domain.rb
@@ -649,12 +672,6 @@ files:
649
672
  - app/models/tr8n/translator_report.rb
650
673
  - app/models/tr8n/translator_report_filter.rb
651
674
  - app/models/tr8n/value_rule.rb
652
- - app/views/layouts/_footer.html.erb
653
- - app/views/layouts/_header.html.erb
654
- - app/views/layouts/_html_head.html.erb
655
- - app/views/layouts/tr8n.html.erb
656
- - app/views/layouts/tr8n/application.html.erb
657
- - app/views/layouts/tr8n_admin.html.erb
658
675
  - app/views/tr8n/admin/clientsdk/index.html.erb
659
676
  - app/views/tr8n/admin/clientsdk/lb_samples.html.erb
660
677
  - app/views/tr8n/admin/common/_footer.html.erb
@@ -696,6 +713,7 @@ files:
696
713
  - app/views/tr8n/admin/translation_key/lb_merge.html.erb
697
714
  - app/views/tr8n/admin/translation_key/lb_update.html.erb
698
715
  - app/views/tr8n/admin/translation_key/locks.html.erb
716
+ - app/views/tr8n/admin/translation_key/sync_logs.html.erb
699
717
  - app/views/tr8n/admin/translation_key/view.html.erb
700
718
  - app/views/tr8n/admin/translator/_list.html.erb
701
719
  - app/views/tr8n/admin/translator/_tabs.html.erb
@@ -743,6 +761,7 @@ files:
743
761
  - app/views/tr8n/help/advanced_tools.html.erb
744
762
  - app/views/tr8n/help/awards.html.erb
745
763
  - app/views/tr8n/help/creating_translations.html.erb
764
+ - app/views/tr8n/help/credits.html.erb
746
765
  - app/views/tr8n/help/dashboard.html.erb
747
766
  - app/views/tr8n/help/discussions.html.erb
748
767
  - app/views/tr8n/help/help.html.erb
@@ -751,6 +770,7 @@ files:
751
770
  - app/views/tr8n/help/language_selector.html.erb
752
771
  - app/views/tr8n/help/lb_credits.html.erb
753
772
  - app/views/tr8n/help/lb_shortcuts.html.erb
773
+ - app/views/tr8n/help/license.html.erb
754
774
  - app/views/tr8n/help/management.html.erb
755
775
  - app/views/tr8n/help/phrases.html.erb
756
776
  - app/views/tr8n/help/ranks.html.erb
@@ -758,10 +778,6 @@ files:
758
778
  - app/views/tr8n/help/site_map.html.erb
759
779
  - app/views/tr8n/help/translations.html.erb
760
780
  - app/views/tr8n/help/voting_on_translations.html.erb
761
- - app/views/tr8n/home/credits.html.erb
762
- - app/views/tr8n/home/index.html.erb
763
- - app/views/tr8n/home/languages.html.erb
764
- - app/views/tr8n/home/license.html.erb
765
781
  - app/views/tr8n/language/_basic_info.html.erb
766
782
  - app/views/tr8n/language/_edit_language_case_rules.html.erb
767
783
  - app/views/tr8n/language/_edit_language_cases.html.erb
@@ -792,8 +808,6 @@ files:
792
808
  - app/views/tr8n/language_cases/_manager_header.html.erb
793
809
  - app/views/tr8n/language_cases/index.html.erb
794
810
  - app/views/tr8n/language_cases/manager.html.erb
795
- - app/views/tr8n/login/index.html.erb
796
- - app/views/tr8n/login/register.html.erb
797
811
  - app/views/tr8n/phrases/_breadcrumb.html.erb
798
812
  - app/views/tr8n/phrases/_comment.html.erb
799
813
  - app/views/tr8n/phrases/_comments_module.html.erb
@@ -821,10 +835,10 @@ files:
821
835
  - config/routes.rb
822
836
  - config/tr8n/config.yml
823
837
  - config/tr8n/data/ip_locations.csv
824
- - config/tr8n/rules/default_cases.yml
825
838
  - config/tr8n/rules/default_date_rules.yml
826
839
  - config/tr8n/rules/default_gender_list_rules.yml
827
840
  - config/tr8n/rules/default_gender_rules.yml
841
+ - config/tr8n/rules/default_language_cases.yml
828
842
  - config/tr8n/rules/default_list_rules.yml
829
843
  - config/tr8n/rules/default_numeric_rules.yml
830
844
  - config/tr8n/rules/default_value_rules.yml
@@ -836,6 +850,8 @@ files:
836
850
  - config/tr8n/tokens/data.yml
837
851
  - config/tr8n/tokens/decorations.yml
838
852
  - db/migrate/20100405201417_create_tr8n_tables.rb
853
+ - db/migrate/20111003194443_create_tr8n_sync_tables.rb
854
+ - db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb
839
855
  - doc/README_FOR_APP
840
856
  - doc/cheat sheet.docx
841
857
  - doc/cheat sheet.pdf
@@ -845,12 +861,15 @@ files:
845
861
  - doc/integration.doc
846
862
  - doc/integration.docx
847
863
  - doc/pixel client sdk.graffle
848
- - lib/generators/tr8n/templates/create_tr8n_tables.rb
864
+ - lib/generators/tr8n/templates/db/create_tr8n_tables.rb
865
+ - lib/generators/tr8n/templates/layouts/tr8n.html.erb
866
+ - lib/generators/tr8n/templates/layouts/tr8n_admin.html.erb
849
867
  - lib/generators/tr8n/tr8n_generator.rb
850
- - lib/tasks/tr8n_tasks.rake
868
+ - lib/tasks/tr8n.rake
851
869
  - lib/tr8n.rb
852
870
  - lib/tr8n/active_dumper.rb
853
871
  - lib/tr8n/cache.rb
872
+ - lib/tr8n/cache_adapters/memcached.rb
854
873
  - lib/tr8n/config.rb
855
874
  - lib/tr8n/dictionary.rb
856
875
  - lib/tr8n/engine.rb
@@ -880,103 +899,103 @@ files:
880
899
  - lib/tr8n/tokens/method_token.rb
881
900
  - lib/tr8n/tokens/transform_token.rb
882
901
  - lib/tr8n/version.rb
902
+ - local/tr8n_server/Rakefile
903
+ - local/tr8n_server/app/assets/javascripts/application.js
904
+ - local/tr8n_server/app/assets/stylesheets/admin.css
905
+ - local/tr8n_server/app/assets/stylesheets/application.css
906
+ - local/tr8n_server/app/assets/stylesheets/components.css.scss
907
+ - local/tr8n_server/app/assets/stylesheets/layout.css.scss
908
+ - local/tr8n_server/app/controllers/admin/admins_controller.rb
909
+ - local/tr8n_server/app/controllers/admin/base_controller.rb
910
+ - local/tr8n_server/app/controllers/admin/users_controller.rb
911
+ - local/tr8n_server/app/controllers/application_controller.rb
912
+ - local/tr8n_server/app/controllers/demo_controller.rb
913
+ - local/tr8n_server/app/controllers/home_controller.rb
914
+ - local/tr8n_server/app/controllers/login_controller.rb
915
+ - local/tr8n_server/app/helpers/application_helper.rb
916
+ - local/tr8n_server/app/helpers/home_helper.rb
917
+ - local/tr8n_server/app/mailers/.gitkeep
918
+ - local/tr8n_server/app/models/.gitkeep
919
+ - local/tr8n_server/app/models/admin.rb
920
+ - local/tr8n_server/app/models/admin_filter.rb
921
+ - local/tr8n_server/app/models/user.rb
922
+ - local/tr8n_server/app/views/admin/admins/index.html.erb
923
+ - local/tr8n_server/app/views/admin/users/index.html.erb
924
+ - local/tr8n_server/app/views/demo/index.rhtml
925
+ - local/tr8n_server/app/views/demo/tokens.rhtml
926
+ - local/tr8n_server/app/views/home/index.html.erb
927
+ - local/tr8n_server/app/views/kaminari/_first_page.html.erb
928
+ - local/tr8n_server/app/views/kaminari/_gap.html.erb
929
+ - local/tr8n_server/app/views/kaminari/_last_page.html.erb
930
+ - local/tr8n_server/app/views/kaminari/_next_page.html.erb
931
+ - local/tr8n_server/app/views/kaminari/_page.html.erb
932
+ - local/tr8n_server/app/views/kaminari/_paginator.html.erb
933
+ - local/tr8n_server/app/views/kaminari/_prev_page.html.erb
934
+ - local/tr8n_server/app/views/layouts/_flashes.html.erb
935
+ - local/tr8n_server/app/views/layouts/_footer.html.erb
936
+ - local/tr8n_server/app/views/layouts/_header.html.erb
937
+ - local/tr8n_server/app/views/layouts/admin.html.erb
938
+ - local/tr8n_server/app/views/layouts/application.html.erb
939
+ - local/tr8n_server/app/views/layouts/tr8n.html.erb
940
+ - local/tr8n_server/app/views/layouts/tr8n_admin.html.erb
941
+ - local/tr8n_server/app/views/login/index.html.erb
942
+ - local/tr8n_server/app/views/login/register.html.erb
943
+ - local/tr8n_server/config.ru
944
+ - local/tr8n_server/config/application.rb
945
+ - local/tr8n_server/config/boot.rb
946
+ - local/tr8n_server/config/database.yml
947
+ - local/tr8n_server/config/environment.rb
948
+ - local/tr8n_server/config/environments/development.rb
949
+ - local/tr8n_server/config/environments/production.rb
950
+ - local/tr8n_server/config/environments/test.rb
951
+ - local/tr8n_server/config/initializers/backtrace_silencers.rb
952
+ - local/tr8n_server/config/initializers/inflections.rb
953
+ - local/tr8n_server/config/initializers/mime_types.rb
954
+ - local/tr8n_server/config/initializers/secret_token.rb
955
+ - local/tr8n_server/config/initializers/session_store.rb
956
+ - local/tr8n_server/config/initializers/wrap_parameters.rb
957
+ - local/tr8n_server/config/locales/en.yml
958
+ - local/tr8n_server/config/routes.rb
959
+ - local/tr8n_server/config/tr8n/config.yml
960
+ - local/tr8n_server/config/tr8n/data/ip_locations.csv
961
+ - local/tr8n_server/config/tr8n/rules/default_date_rules.yml
962
+ - local/tr8n_server/config/tr8n/rules/default_gender_list_rules.yml
963
+ - local/tr8n_server/config/tr8n/rules/default_gender_rules.yml
964
+ - local/tr8n_server/config/tr8n/rules/default_language_cases.yml
965
+ - local/tr8n_server/config/tr8n/rules/default_list_rules.yml
966
+ - local/tr8n_server/config/tr8n/rules/default_numeric_rules.yml
967
+ - local/tr8n_server/config/tr8n/rules/default_value_rules.yml
968
+ - local/tr8n_server/config/tr8n/site/default_glossary.yml
969
+ - local/tr8n_server/config/tr8n/site/default_languages.yml
970
+ - local/tr8n_server/config/tr8n/site/features.yml
971
+ - local/tr8n_server/config/tr8n/site/shortcuts.yml
972
+ - local/tr8n_server/config/tr8n/site/sitemap.json
973
+ - local/tr8n_server/config/tr8n/tokens/data.yml
974
+ - local/tr8n_server/config/tr8n/tokens/decorations.yml
975
+ - local/tr8n_server/config/will_filter/config.yml
976
+ - local/tr8n_server/db/migrate/20101207014543_create_users.rb
977
+ - local/tr8n_server/db/migrate/20110113223509_create_admins.rb
978
+ - local/tr8n_server/db/migrate/20110930041143_create_will_filter_filters.rb
979
+ - local/tr8n_server/db/migrate/20110930041150_create_tr8n_tables.rb
980
+ - local/tr8n_server/db/migrate/20111003194443_create_tr8n_sync_tables.rb
981
+ - local/tr8n_server/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb
982
+ - local/tr8n_server/db/schema.rb
983
+ - local/tr8n_server/db/test.sqlite3
984
+ - local/tr8n_server/lib/assets/.gitkeep
985
+ - local/tr8n_server/log/.gitkeep
986
+ - local/tr8n_server/log/tr8n.log
987
+ - local/tr8n_server/public/404.html
988
+ - local/tr8n_server/public/422.html
989
+ - local/tr8n_server/public/500.html
990
+ - local/tr8n_server/public/favicon.ico
991
+ - local/tr8n_server/script/rails
883
992
  - script/rails
884
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/actions.css.scssc
885
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/buttons.css.scssc
886
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/calendar.css.scssc
887
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/exporter.css.scssc
888
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/filter.css.scssc
889
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/results.css.scssc
890
- - test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/components.css.scssc
891
- - test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/layout.css.scssc
892
- - test/dummy/.sass-cache/50f723c1dd802042d0091035528d53e6d5bc5b50/tr8n.css.scssc
893
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/actions.css.scssc
894
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/buttons.css.scssc
895
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/calendar.css.scssc
896
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/exporter.css.scssc
897
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/filter.css.scssc
898
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/results.css.scssc
899
- - test/dummy/Rakefile
900
- - test/dummy/app/assets/javascripts/application.js
901
- - test/dummy/app/assets/stylesheets/admin.css
902
- - test/dummy/app/assets/stylesheets/application.css
903
- - test/dummy/app/assets/stylesheets/components.css.scss
904
- - test/dummy/app/assets/stylesheets/keyboard.css
905
- - test/dummy/app/assets/stylesheets/layout.css.scss
906
- - test/dummy/app/controllers/admin/admins_controller.rb
907
- - test/dummy/app/controllers/admin/base_controller.rb
908
- - test/dummy/app/controllers/admin/users_controller.rb
909
- - test/dummy/app/controllers/application_controller.rb
910
- - test/dummy/app/controllers/demo_controller.rb
911
- - test/dummy/app/controllers/login_controller.rb
912
- - test/dummy/app/helpers/application_helper.rb
913
- - test/dummy/app/helpers/home_helper.rb
914
- - test/dummy/app/mailers/.gitkeep
915
- - test/dummy/app/models/.gitkeep
916
- - test/dummy/app/models/admin.rb
917
- - test/dummy/app/models/admin_filter.rb
918
- - test/dummy/app/models/user.rb
919
- - test/dummy/app/views/admin/admins/index.html.erb
920
- - test/dummy/app/views/admin/users/index.html.erb
921
- - test/dummy/app/views/demo/index.rhtml
922
- - test/dummy/app/views/demo/tokens.rhtml
923
- - test/dummy/app/views/layouts/_flashes.html.erb
924
- - test/dummy/app/views/layouts/_footer.html.erb
925
- - test/dummy/app/views/layouts/_header.html.erb
926
- - test/dummy/app/views/layouts/admin.html.erb
927
- - test/dummy/app/views/layouts/application.html.erb
928
- - test/dummy/app/views/login/index.html.erb
929
- - test/dummy/app/views/login/register.html.erb
930
- - test/dummy/config.ru
931
- - test/dummy/config/application.rb
932
- - test/dummy/config/boot.rb
933
- - test/dummy/config/database.yml
934
- - test/dummy/config/environment.rb
935
- - test/dummy/config/environments/development.rb
936
- - test/dummy/config/environments/production.rb
937
- - test/dummy/config/environments/test.rb
938
- - test/dummy/config/initializers/backtrace_silencers.rb
939
- - test/dummy/config/initializers/inflections.rb
940
- - test/dummy/config/initializers/mime_types.rb
941
- - test/dummy/config/initializers/secret_token.rb
942
- - test/dummy/config/initializers/session_store.rb
943
- - test/dummy/config/initializers/wrap_parameters.rb
944
- - test/dummy/config/locales/en.yml
945
- - test/dummy/config/routes.rb
946
- - test/dummy/config/tr8n/config.yml
947
- - test/dummy/config/tr8n/data/ip_locations.csv
948
- - test/dummy/config/tr8n/rules/default_cases.yml
949
- - test/dummy/config/tr8n/rules/default_date_rules.yml
950
- - test/dummy/config/tr8n/rules/default_gender_list_rules.yml
951
- - test/dummy/config/tr8n/rules/default_gender_rules.yml
952
- - test/dummy/config/tr8n/rules/default_list_rules.yml
953
- - test/dummy/config/tr8n/rules/default_numeric_rules.yml
954
- - test/dummy/config/tr8n/rules/default_value_rules.yml
955
- - test/dummy/config/tr8n/site/default_glossary.yml
956
- - test/dummy/config/tr8n/site/default_languages.yml
957
- - test/dummy/config/tr8n/site/features.yml
958
- - test/dummy/config/tr8n/site/shortcuts.yml
959
- - test/dummy/config/tr8n/site/sitemap.json
960
- - test/dummy/config/tr8n/tokens/data.yml
961
- - test/dummy/config/tr8n/tokens/decorations.yml
962
- - test/dummy/config/will_filter/config.yml
963
- - test/dummy/db/migrate/20101207014543_create_users.rb
964
- - test/dummy/db/migrate/20110113223509_create_admins.rb
965
- - test/dummy/db/migrate/20110930041143_create_will_filter_filters.rb
966
- - test/dummy/db/migrate/20110930041150_create_tr8n_tables.rb
967
- - test/dummy/db/schema.rb
968
- - test/dummy/lib/assets/.gitkeep
969
- - test/dummy/log/.gitkeep
970
- - test/dummy/public/404.html
971
- - test/dummy/public/422.html
972
- - test/dummy/public/500.html
973
- - test/dummy/public/favicon.ico
974
- - test/dummy/script/rails
975
- - test/dummy/test/functional/home_controller_test.rb
976
- - test/dummy/test/unit/helpers/home_helper_test.rb
977
- - test/integration/navigation_test.rb
978
- - test/test_helper.rb
979
- - test/tr8n_test.rb
993
+ - spec/config/config_spec.rb
994
+ - spec/fake_app.rb
995
+ - spec/lib/data_token_spec.rb
996
+ - spec/lib/transform_token_spec.rb
997
+ - spec/models/translation_key_spec.rb
998
+ - spec/spec_helper.rb
980
999
  - tr8n.gemspec
981
1000
  has_rdoc: true
982
1001
  homepage: https://github.com/berk/will_filter
@@ -994,7 +1013,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
994
1013
  version: '0'
995
1014
  segments:
996
1015
  - 0
997
- hash: 889035191949528445
1016
+ hash: -1522090754670524227
998
1017
  required_rubygems_version: !ruby/object:Gem::Requirement
999
1018
  none: false
1000
1019
  requirements:
@@ -1003,7 +1022,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1003
1022
  version: '0'
1004
1023
  segments:
1005
1024
  - 0
1006
- hash: 889035191949528445
1025
+ hash: -1522090754670524227
1007
1026
  requirements: []
1008
1027
  rubyforge_project: tr8n
1009
1028
  rubygems_version: 1.6.2
@@ -1011,99 +1030,99 @@ signing_key:
1011
1030
  specification_version: 3
1012
1031
  summary: Crowd-sourced translation engine for Rails.
1013
1032
  test_files:
1014
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/actions.css.scssc
1015
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/buttons.css.scssc
1016
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/calendar.css.scssc
1017
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/exporter.css.scssc
1018
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/filter.css.scssc
1019
- - test/dummy/.sass-cache/32be4db30d38349a3a6e662df9bb5599dc8033b9/results.css.scssc
1020
- - test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/components.css.scssc
1021
- - test/dummy/.sass-cache/3d45bab40fcae805deb2750a9342f5b355a9f2bf/layout.css.scssc
1022
- - test/dummy/.sass-cache/50f723c1dd802042d0091035528d53e6d5bc5b50/tr8n.css.scssc
1023
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/actions.css.scssc
1024
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/buttons.css.scssc
1025
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/calendar.css.scssc
1026
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/exporter.css.scssc
1027
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/filter.css.scssc
1028
- - test/dummy/.sass-cache/bce64928c8e2edcba72a647a44f05af1ff119c5d/results.css.scssc
1029
- - test/dummy/Rakefile
1030
- - test/dummy/app/assets/javascripts/application.js
1031
- - test/dummy/app/assets/stylesheets/admin.css
1032
- - test/dummy/app/assets/stylesheets/application.css
1033
- - test/dummy/app/assets/stylesheets/components.css.scss
1034
- - test/dummy/app/assets/stylesheets/keyboard.css
1035
- - test/dummy/app/assets/stylesheets/layout.css.scss
1036
- - test/dummy/app/controllers/admin/admins_controller.rb
1037
- - test/dummy/app/controllers/admin/base_controller.rb
1038
- - test/dummy/app/controllers/admin/users_controller.rb
1039
- - test/dummy/app/controllers/application_controller.rb
1040
- - test/dummy/app/controllers/demo_controller.rb
1041
- - test/dummy/app/controllers/login_controller.rb
1042
- - test/dummy/app/helpers/application_helper.rb
1043
- - test/dummy/app/helpers/home_helper.rb
1044
- - test/dummy/app/mailers/.gitkeep
1045
- - test/dummy/app/models/.gitkeep
1046
- - test/dummy/app/models/admin.rb
1047
- - test/dummy/app/models/admin_filter.rb
1048
- - test/dummy/app/models/user.rb
1049
- - test/dummy/app/views/admin/admins/index.html.erb
1050
- - test/dummy/app/views/admin/users/index.html.erb
1051
- - test/dummy/app/views/demo/index.rhtml
1052
- - test/dummy/app/views/demo/tokens.rhtml
1053
- - test/dummy/app/views/layouts/_flashes.html.erb
1054
- - test/dummy/app/views/layouts/_footer.html.erb
1055
- - test/dummy/app/views/layouts/_header.html.erb
1056
- - test/dummy/app/views/layouts/admin.html.erb
1057
- - test/dummy/app/views/layouts/application.html.erb
1058
- - test/dummy/app/views/login/index.html.erb
1059
- - test/dummy/app/views/login/register.html.erb
1060
- - test/dummy/config.ru
1061
- - test/dummy/config/application.rb
1062
- - test/dummy/config/boot.rb
1063
- - test/dummy/config/database.yml
1064
- - test/dummy/config/environment.rb
1065
- - test/dummy/config/environments/development.rb
1066
- - test/dummy/config/environments/production.rb
1067
- - test/dummy/config/environments/test.rb
1068
- - test/dummy/config/initializers/backtrace_silencers.rb
1069
- - test/dummy/config/initializers/inflections.rb
1070
- - test/dummy/config/initializers/mime_types.rb
1071
- - test/dummy/config/initializers/secret_token.rb
1072
- - test/dummy/config/initializers/session_store.rb
1073
- - test/dummy/config/initializers/wrap_parameters.rb
1074
- - test/dummy/config/locales/en.yml
1075
- - test/dummy/config/routes.rb
1076
- - test/dummy/config/tr8n/config.yml
1077
- - test/dummy/config/tr8n/data/ip_locations.csv
1078
- - test/dummy/config/tr8n/rules/default_cases.yml
1079
- - test/dummy/config/tr8n/rules/default_date_rules.yml
1080
- - test/dummy/config/tr8n/rules/default_gender_list_rules.yml
1081
- - test/dummy/config/tr8n/rules/default_gender_rules.yml
1082
- - test/dummy/config/tr8n/rules/default_list_rules.yml
1083
- - test/dummy/config/tr8n/rules/default_numeric_rules.yml
1084
- - test/dummy/config/tr8n/rules/default_value_rules.yml
1085
- - test/dummy/config/tr8n/site/default_glossary.yml
1086
- - test/dummy/config/tr8n/site/default_languages.yml
1087
- - test/dummy/config/tr8n/site/features.yml
1088
- - test/dummy/config/tr8n/site/shortcuts.yml
1089
- - test/dummy/config/tr8n/site/sitemap.json
1090
- - test/dummy/config/tr8n/tokens/data.yml
1091
- - test/dummy/config/tr8n/tokens/decorations.yml
1092
- - test/dummy/config/will_filter/config.yml
1093
- - test/dummy/db/migrate/20101207014543_create_users.rb
1094
- - test/dummy/db/migrate/20110113223509_create_admins.rb
1095
- - test/dummy/db/migrate/20110930041143_create_will_filter_filters.rb
1096
- - test/dummy/db/migrate/20110930041150_create_tr8n_tables.rb
1097
- - test/dummy/db/schema.rb
1098
- - test/dummy/lib/assets/.gitkeep
1099
- - test/dummy/log/.gitkeep
1100
- - test/dummy/public/404.html
1101
- - test/dummy/public/422.html
1102
- - test/dummy/public/500.html
1103
- - test/dummy/public/favicon.ico
1104
- - test/dummy/script/rails
1105
- - test/dummy/test/functional/home_controller_test.rb
1106
- - test/dummy/test/unit/helpers/home_helper_test.rb
1107
- - test/integration/navigation_test.rb
1108
- - test/test_helper.rb
1109
- - test/tr8n_test.rb
1033
+ - local/tr8n_server/Rakefile
1034
+ - local/tr8n_server/app/assets/javascripts/application.js
1035
+ - local/tr8n_server/app/assets/stylesheets/admin.css
1036
+ - local/tr8n_server/app/assets/stylesheets/application.css
1037
+ - local/tr8n_server/app/assets/stylesheets/components.css.scss
1038
+ - local/tr8n_server/app/assets/stylesheets/layout.css.scss
1039
+ - local/tr8n_server/app/controllers/admin/admins_controller.rb
1040
+ - local/tr8n_server/app/controllers/admin/base_controller.rb
1041
+ - local/tr8n_server/app/controllers/admin/users_controller.rb
1042
+ - local/tr8n_server/app/controllers/application_controller.rb
1043
+ - local/tr8n_server/app/controllers/demo_controller.rb
1044
+ - local/tr8n_server/app/controllers/home_controller.rb
1045
+ - local/tr8n_server/app/controllers/login_controller.rb
1046
+ - local/tr8n_server/app/helpers/application_helper.rb
1047
+ - local/tr8n_server/app/helpers/home_helper.rb
1048
+ - local/tr8n_server/app/mailers/.gitkeep
1049
+ - local/tr8n_server/app/models/.gitkeep
1050
+ - local/tr8n_server/app/models/admin.rb
1051
+ - local/tr8n_server/app/models/admin_filter.rb
1052
+ - local/tr8n_server/app/models/user.rb
1053
+ - local/tr8n_server/app/views/admin/admins/index.html.erb
1054
+ - local/tr8n_server/app/views/admin/users/index.html.erb
1055
+ - local/tr8n_server/app/views/demo/index.rhtml
1056
+ - local/tr8n_server/app/views/demo/tokens.rhtml
1057
+ - local/tr8n_server/app/views/home/index.html.erb
1058
+ - local/tr8n_server/app/views/kaminari/_first_page.html.erb
1059
+ - local/tr8n_server/app/views/kaminari/_gap.html.erb
1060
+ - local/tr8n_server/app/views/kaminari/_last_page.html.erb
1061
+ - local/tr8n_server/app/views/kaminari/_next_page.html.erb
1062
+ - local/tr8n_server/app/views/kaminari/_page.html.erb
1063
+ - local/tr8n_server/app/views/kaminari/_paginator.html.erb
1064
+ - local/tr8n_server/app/views/kaminari/_prev_page.html.erb
1065
+ - local/tr8n_server/app/views/layouts/_flashes.html.erb
1066
+ - local/tr8n_server/app/views/layouts/_footer.html.erb
1067
+ - local/tr8n_server/app/views/layouts/_header.html.erb
1068
+ - local/tr8n_server/app/views/layouts/admin.html.erb
1069
+ - local/tr8n_server/app/views/layouts/application.html.erb
1070
+ - local/tr8n_server/app/views/layouts/tr8n.html.erb
1071
+ - local/tr8n_server/app/views/layouts/tr8n_admin.html.erb
1072
+ - local/tr8n_server/app/views/login/index.html.erb
1073
+ - local/tr8n_server/app/views/login/register.html.erb
1074
+ - local/tr8n_server/config.ru
1075
+ - local/tr8n_server/config/application.rb
1076
+ - local/tr8n_server/config/boot.rb
1077
+ - local/tr8n_server/config/database.yml
1078
+ - local/tr8n_server/config/environment.rb
1079
+ - local/tr8n_server/config/environments/development.rb
1080
+ - local/tr8n_server/config/environments/production.rb
1081
+ - local/tr8n_server/config/environments/test.rb
1082
+ - local/tr8n_server/config/initializers/backtrace_silencers.rb
1083
+ - local/tr8n_server/config/initializers/inflections.rb
1084
+ - local/tr8n_server/config/initializers/mime_types.rb
1085
+ - local/tr8n_server/config/initializers/secret_token.rb
1086
+ - local/tr8n_server/config/initializers/session_store.rb
1087
+ - local/tr8n_server/config/initializers/wrap_parameters.rb
1088
+ - local/tr8n_server/config/locales/en.yml
1089
+ - local/tr8n_server/config/routes.rb
1090
+ - local/tr8n_server/config/tr8n/config.yml
1091
+ - local/tr8n_server/config/tr8n/data/ip_locations.csv
1092
+ - local/tr8n_server/config/tr8n/rules/default_date_rules.yml
1093
+ - local/tr8n_server/config/tr8n/rules/default_gender_list_rules.yml
1094
+ - local/tr8n_server/config/tr8n/rules/default_gender_rules.yml
1095
+ - local/tr8n_server/config/tr8n/rules/default_language_cases.yml
1096
+ - local/tr8n_server/config/tr8n/rules/default_list_rules.yml
1097
+ - local/tr8n_server/config/tr8n/rules/default_numeric_rules.yml
1098
+ - local/tr8n_server/config/tr8n/rules/default_value_rules.yml
1099
+ - local/tr8n_server/config/tr8n/site/default_glossary.yml
1100
+ - local/tr8n_server/config/tr8n/site/default_languages.yml
1101
+ - local/tr8n_server/config/tr8n/site/features.yml
1102
+ - local/tr8n_server/config/tr8n/site/shortcuts.yml
1103
+ - local/tr8n_server/config/tr8n/site/sitemap.json
1104
+ - local/tr8n_server/config/tr8n/tokens/data.yml
1105
+ - local/tr8n_server/config/tr8n/tokens/decorations.yml
1106
+ - local/tr8n_server/config/will_filter/config.yml
1107
+ - local/tr8n_server/db/migrate/20101207014543_create_users.rb
1108
+ - local/tr8n_server/db/migrate/20110113223509_create_admins.rb
1109
+ - local/tr8n_server/db/migrate/20110930041143_create_will_filter_filters.rb
1110
+ - local/tr8n_server/db/migrate/20110930041150_create_tr8n_tables.rb
1111
+ - local/tr8n_server/db/migrate/20111003194443_create_tr8n_sync_tables.rb
1112
+ - local/tr8n_server/db/migrate/20111011013640_add_remote_id_to_tr8n_translators.rb
1113
+ - local/tr8n_server/db/schema.rb
1114
+ - local/tr8n_server/db/test.sqlite3
1115
+ - local/tr8n_server/lib/assets/.gitkeep
1116
+ - local/tr8n_server/log/.gitkeep
1117
+ - local/tr8n_server/log/tr8n.log
1118
+ - local/tr8n_server/public/404.html
1119
+ - local/tr8n_server/public/422.html
1120
+ - local/tr8n_server/public/500.html
1121
+ - local/tr8n_server/public/favicon.ico
1122
+ - local/tr8n_server/script/rails
1123
+ - spec/config/config_spec.rb
1124
+ - spec/fake_app.rb
1125
+ - spec/lib/data_token_spec.rb
1126
+ - spec/lib/transform_token_spec.rb
1127
+ - spec/models/translation_key_spec.rb
1128
+ - spec/spec_helper.rb