tr8n_client_sdk 1.0.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 (350) hide show
  1. data/MIT-LICENSE +22 -0
  2. data/README.rdoc +3 -0
  3. data/Rakefile +38 -0
  4. data/app/assets/images/tr8n/tr8n_logo.png +0 -0
  5. data/app/views/tr8n_client_sdk/tags/_language_strip.html.erb +20 -0
  6. data/app/views/tr8n_client_sdk/tags/_powered_by_tr8n.html.erb +6 -0
  7. data/app/views/tr8n_client_sdk/tags/_scripts.html.erb +20 -0
  8. data/config/routes.rb +2 -0
  9. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/config.yml +53 -0
  10. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/data.yml +45 -0
  11. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/decorations.yml +37 -0
  12. data/lib/generators/tr8n_client_sdk/tr8n_client_sdk_generator.rb +37 -0
  13. data/lib/tasks/tr8n_client_sdk_tasks.rake +30 -0
  14. data/lib/tr8n_client_sdk.rb +28 -0
  15. data/lib/tr8n_client_sdk/config.rb +197 -0
  16. data/lib/tr8n_client_sdk/engine.rb +31 -0
  17. data/lib/tr8n_client_sdk/extensions/action_common_methods.rb +122 -0
  18. data/lib/tr8n_client_sdk/extensions/action_controller_extension.rb +123 -0
  19. data/lib/tr8n_client_sdk/extensions/action_view_extension.rb +218 -0
  20. data/lib/tr8n_client_sdk/railtie.rb +54 -0
  21. data/lib/tr8n_client_sdk/version.rb +27 -0
  22. data/test/dummy/README.rdoc +261 -0
  23. data/test/dummy/Rakefile +7 -0
  24. data/test/dummy/app/assets/images/bg-pattern.png +0 -0
  25. data/test/dummy/app/assets/images/facebook.png +0 -0
  26. data/test/dummy/app/assets/images/github.png +0 -0
  27. data/test/dummy/app/assets/images/glyphicons-halflings-white.png +0 -0
  28. data/test/dummy/app/assets/images/glyphicons-halflings.png +0 -0
  29. data/test/dummy/app/assets/images/how_it_works_1.gif +0 -0
  30. data/test/dummy/app/assets/images/how_it_works_2.gif +0 -0
  31. data/test/dummy/app/assets/images/how_it_works_3.gif +0 -0
  32. data/test/dummy/app/assets/images/hr.png +0 -0
  33. data/test/dummy/app/assets/images/linkedin.png +0 -0
  34. data/test/dummy/app/assets/images/silhouette.gif +0 -0
  35. data/test/dummy/app/assets/images/twitter.png +0 -0
  36. data/test/dummy/app/assets/images/wordpress.png +0 -0
  37. data/test/dummy/app/assets/images/youtube.png +0 -0
  38. data/test/dummy/app/assets/javascripts/ace/ace.js +11 -0
  39. data/test/dummy/app/assets/javascripts/ace/ext-static_highlight.js +1 -0
  40. data/test/dummy/app/assets/javascripts/ace/ext-textarea.js +1 -0
  41. data/test/dummy/app/assets/javascripts/ace/keybinding-emacs.js +1 -0
  42. data/test/dummy/app/assets/javascripts/ace/keybinding-vim.js +1 -0
  43. data/test/dummy/app/assets/javascripts/ace/mode-abap.js +1 -0
  44. data/test/dummy/app/assets/javascripts/ace/mode-asciidoc.js +1 -0
  45. data/test/dummy/app/assets/javascripts/ace/mode-c9search.js +1 -0
  46. data/test/dummy/app/assets/javascripts/ace/mode-c_cpp.js +1 -0
  47. data/test/dummy/app/assets/javascripts/ace/mode-clojure.js +1 -0
  48. data/test/dummy/app/assets/javascripts/ace/mode-coffee.js +1 -0
  49. data/test/dummy/app/assets/javascripts/ace/mode-coldfusion.js +1 -0
  50. data/test/dummy/app/assets/javascripts/ace/mode-csharp.js +1 -0
  51. data/test/dummy/app/assets/javascripts/ace/mode-css.js +1 -0
  52. data/test/dummy/app/assets/javascripts/ace/mode-dart.js +1 -0
  53. data/test/dummy/app/assets/javascripts/ace/mode-diff.js +1 -0
  54. data/test/dummy/app/assets/javascripts/ace/mode-dot.js +1 -0
  55. data/test/dummy/app/assets/javascripts/ace/mode-glsl.js +1 -0
  56. data/test/dummy/app/assets/javascripts/ace/mode-golang.js +1 -0
  57. data/test/dummy/app/assets/javascripts/ace/mode-groovy.js +1 -0
  58. data/test/dummy/app/assets/javascripts/ace/mode-haml.js +1 -0
  59. data/test/dummy/app/assets/javascripts/ace/mode-haxe.js +1 -0
  60. data/test/dummy/app/assets/javascripts/ace/mode-html.js +1 -0
  61. data/test/dummy/app/assets/javascripts/ace/mode-jade.js +1 -0
  62. data/test/dummy/app/assets/javascripts/ace/mode-java.js +1 -0
  63. data/test/dummy/app/assets/javascripts/ace/mode-javascript.js +1 -0
  64. data/test/dummy/app/assets/javascripts/ace/mode-json.js +1 -0
  65. data/test/dummy/app/assets/javascripts/ace/mode-jsp.js +1 -0
  66. data/test/dummy/app/assets/javascripts/ace/mode-jsx.js +1 -0
  67. data/test/dummy/app/assets/javascripts/ace/mode-latex.js +1 -0
  68. data/test/dummy/app/assets/javascripts/ace/mode-less.js +1 -0
  69. data/test/dummy/app/assets/javascripts/ace/mode-liquid.js +1 -0
  70. data/test/dummy/app/assets/javascripts/ace/mode-lisp.js +1 -0
  71. data/test/dummy/app/assets/javascripts/ace/mode-lua.js +1 -0
  72. data/test/dummy/app/assets/javascripts/ace/mode-luapage.js +1 -0
  73. data/test/dummy/app/assets/javascripts/ace/mode-lucene.js +1 -0
  74. data/test/dummy/app/assets/javascripts/ace/mode-makefile.js +1 -0
  75. data/test/dummy/app/assets/javascripts/ace/mode-markdown.js +1 -0
  76. data/test/dummy/app/assets/javascripts/ace/mode-objectivec.js +1 -0
  77. data/test/dummy/app/assets/javascripts/ace/mode-ocaml.js +1 -0
  78. data/test/dummy/app/assets/javascripts/ace/mode-perl.js +1 -0
  79. data/test/dummy/app/assets/javascripts/ace/mode-pgsql.js +1 -0
  80. data/test/dummy/app/assets/javascripts/ace/mode-php.js +1 -0
  81. data/test/dummy/app/assets/javascripts/ace/mode-powershell.js +1 -0
  82. data/test/dummy/app/assets/javascripts/ace/mode-python.js +1 -0
  83. data/test/dummy/app/assets/javascripts/ace/mode-r.js +1 -0
  84. data/test/dummy/app/assets/javascripts/ace/mode-rdoc.js +1 -0
  85. data/test/dummy/app/assets/javascripts/ace/mode-rhtml.js +1 -0
  86. data/test/dummy/app/assets/javascripts/ace/mode-ruby.js +1 -0
  87. data/test/dummy/app/assets/javascripts/ace/mode-scad.js +1 -0
  88. data/test/dummy/app/assets/javascripts/ace/mode-scala.js +1 -0
  89. data/test/dummy/app/assets/javascripts/ace/mode-scss.js +1 -0
  90. data/test/dummy/app/assets/javascripts/ace/mode-sh.js +1 -0
  91. data/test/dummy/app/assets/javascripts/ace/mode-sql.js +1 -0
  92. data/test/dummy/app/assets/javascripts/ace/mode-stylus.js +1 -0
  93. data/test/dummy/app/assets/javascripts/ace/mode-svg.js +1 -0
  94. data/test/dummy/app/assets/javascripts/ace/mode-tcl.js +1 -0
  95. data/test/dummy/app/assets/javascripts/ace/mode-tex.js +1 -0
  96. data/test/dummy/app/assets/javascripts/ace/mode-text.js +0 -0
  97. data/test/dummy/app/assets/javascripts/ace/mode-textile.js +1 -0
  98. data/test/dummy/app/assets/javascripts/ace/mode-typescript.js +1 -0
  99. data/test/dummy/app/assets/javascripts/ace/mode-xml.js +1 -0
  100. data/test/dummy/app/assets/javascripts/ace/mode-xquery.js +1 -0
  101. data/test/dummy/app/assets/javascripts/ace/mode-yaml.js +1 -0
  102. data/test/dummy/app/assets/javascripts/ace/theme-ambiance.js +1 -0
  103. data/test/dummy/app/assets/javascripts/ace/theme-chaos.js +1 -0
  104. data/test/dummy/app/assets/javascripts/ace/theme-chrome.js +1 -0
  105. data/test/dummy/app/assets/javascripts/ace/theme-clouds.js +1 -0
  106. data/test/dummy/app/assets/javascripts/ace/theme-clouds_midnight.js +1 -0
  107. data/test/dummy/app/assets/javascripts/ace/theme-cobalt.js +1 -0
  108. data/test/dummy/app/assets/javascripts/ace/theme-crimson_editor.js +1 -0
  109. data/test/dummy/app/assets/javascripts/ace/theme-dawn.js +1 -0
  110. data/test/dummy/app/assets/javascripts/ace/theme-dreamweaver.js +1 -0
  111. data/test/dummy/app/assets/javascripts/ace/theme-eclipse.js +1 -0
  112. data/test/dummy/app/assets/javascripts/ace/theme-github.js +1 -0
  113. data/test/dummy/app/assets/javascripts/ace/theme-idle_fingers.js +1 -0
  114. data/test/dummy/app/assets/javascripts/ace/theme-kr.js +1 -0
  115. data/test/dummy/app/assets/javascripts/ace/theme-merbivore.js +1 -0
  116. data/test/dummy/app/assets/javascripts/ace/theme-merbivore_soft.js +1 -0
  117. data/test/dummy/app/assets/javascripts/ace/theme-mono_industrial.js +1 -0
  118. data/test/dummy/app/assets/javascripts/ace/theme-monokai.js +1 -0
  119. data/test/dummy/app/assets/javascripts/ace/theme-pastel_on_dark.js +1 -0
  120. data/test/dummy/app/assets/javascripts/ace/theme-solarized_dark.js +1 -0
  121. data/test/dummy/app/assets/javascripts/ace/theme-solarized_light.js +1 -0
  122. data/test/dummy/app/assets/javascripts/ace/theme-textmate.js +1 -0
  123. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow.js +1 -0
  124. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night.js +1 -0
  125. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -0
  126. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -0
  127. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -0
  128. data/test/dummy/app/assets/javascripts/ace/theme-twilight.js +1 -0
  129. data/test/dummy/app/assets/javascripts/ace/theme-vibrant_ink.js +1 -0
  130. data/test/dummy/app/assets/javascripts/ace/theme-xcode.js +1 -0
  131. data/test/dummy/app/assets/javascripts/ace/worker-coffee.js +1 -0
  132. data/test/dummy/app/assets/javascripts/ace/worker-css.js +1 -0
  133. data/test/dummy/app/assets/javascripts/ace/worker-javascript.js +1 -0
  134. data/test/dummy/app/assets/javascripts/ace/worker-json.js +1 -0
  135. data/test/dummy/app/assets/javascripts/ace/worker-xquery.js +1 -0
  136. data/test/dummy/app/assets/javascripts/application.js +15 -0
  137. data/test/dummy/app/assets/javascripts/bootstrap.js +2291 -0
  138. data/test/dummy/app/assets/javascripts/bootstrap.min.js +7 -0
  139. data/test/dummy/app/assets/javascripts/jquery-ace.js +195 -0
  140. data/test/dummy/app/assets/javascripts/jquery-ui-1.10.3.custom.min.js +7 -0
  141. data/test/dummy/app/assets/javascripts/jquery.tocify.min.js +4 -0
  142. data/test/dummy/app/assets/javascripts/jquery191.js +16 -0
  143. data/test/dummy/app/assets/javascripts/prism.js +20 -0
  144. data/test/dummy/app/assets/javascripts/prism_rails.js +49 -0
  145. data/test/dummy/app/assets/javascripts/sh.js +573 -0
  146. data/test/dummy/app/assets/stylesheets/application.css +8 -0
  147. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.css +6315 -0
  148. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.min.css +874 -0
  149. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap_and_overrides.css.scss +16 -0
  150. data/test/dummy/app/assets/stylesheets/jquery.tocify.css +62 -0
  151. data/test/dummy/app/assets/stylesheets/prism.css +108 -0
  152. data/test/dummy/app/assets/stylesheets/prism_rails.css.scss +42 -0
  153. data/test/dummy/app/assets/stylesheets/sh.css +193 -0
  154. data/test/dummy/app/controllers/application_controller.rb +82 -0
  155. data/test/dummy/app/controllers/docs_controller.rb +42 -0
  156. data/test/dummy/app/controllers/home_controller.rb +29 -0
  157. data/test/dummy/app/controllers/login_controller.rb +55 -0
  158. data/test/dummy/app/controllers/signup_controller.rb +58 -0
  159. data/test/dummy/app/controllers/welcome_controller.rb +30 -0
  160. data/test/dummy/app/helpers/application_helper.rb +26 -0
  161. data/test/dummy/app/mailers/request_mailer.rb +38 -0
  162. data/test/dummy/app/models/user.rb +48 -0
  163. data/test/dummy/app/views/docs/index.html.erb +591 -0
  164. data/test/dummy/app/views/docs/installation.html.erb +59 -0
  165. data/test/dummy/app/views/docs/test.html.erb +17 -0
  166. data/test/dummy/app/views/docs/tml.html.erb +176 -0
  167. data/test/dummy/app/views/docs/tml_content.html.erb +33 -0
  168. data/test/dummy/app/views/home/index.html.erb +107 -0
  169. data/test/dummy/app/views/layouts/_flashes.html.erb +35 -0
  170. data/test/dummy/app/views/layouts/_footer.html.erb +31 -0
  171. data/test/dummy/app/views/layouts/_head.html.erb +8 -0
  172. data/test/dummy/app/views/layouts/_header.html.erb +70 -0
  173. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  174. data/test/dummy/app/views/login/_common.html.erb +29 -0
  175. data/test/dummy/app/views/login/cookies.html.erb +20 -0
  176. data/test/dummy/app/views/login/index.html.erb +1 -0
  177. data/test/dummy/app/views/login/out.html.erb +1 -0
  178. data/test/dummy/app/views/signup/index.html.erb +22 -0
  179. data/test/dummy/config.ru +4 -0
  180. data/test/dummy/config/application.rb +59 -0
  181. data/test/dummy/config/boot.rb +10 -0
  182. data/test/dummy/config/database.yml +25 -0
  183. data/test/dummy/config/environment.rb +5 -0
  184. data/test/dummy/config/environments/development.rb +37 -0
  185. data/test/dummy/config/environments/production.rb +67 -0
  186. data/test/dummy/config/environments/test.rb +37 -0
  187. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  188. data/test/dummy/config/initializers/inflections.rb +15 -0
  189. data/test/dummy/config/initializers/mail.rb +14 -0
  190. data/test/dummy/config/initializers/mime_types.rb +5 -0
  191. data/test/dummy/config/initializers/secret_token.rb +7 -0
  192. data/test/dummy/config/initializers/session_store.rb +8 -0
  193. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  194. data/test/dummy/config/locales/en.yml +5 -0
  195. data/test/dummy/config/routes.rb +8 -0
  196. data/test/dummy/config/tr8n/config.yml +53 -0
  197. data/test/dummy/config/tr8n/tokens/data.yml +45 -0
  198. data/test/dummy/config/tr8n/tokens/decorations.yml +37 -0
  199. data/test/dummy/db/development.sqlite3 +0 -0
  200. data/test/dummy/db/migrate/20130506202619_create_users.rb +16 -0
  201. data/test/dummy/db/schema.rb +29 -0
  202. data/test/dummy/log/development.log +40036 -0
  203. data/test/dummy/log/tr8n.log +14602 -0
  204. data/test/dummy/public/404.html +26 -0
  205. data/test/dummy/public/422.html +26 -0
  206. data/test/dummy/public/500.html +25 -0
  207. data/test/dummy/public/favicon.ico +0 -0
  208. data/test/dummy/script/rails +6 -0
  209. data/test/dummy/spec/models/request_spec.rb +5 -0
  210. data/test/dummy/spec/models/user_spec.rb +5 -0
  211. data/test/dummy/tmp/cache/assets/BCA/680/sprockets%2F0e766e5046b2556242937265334a7776 +0 -0
  212. data/test/dummy/tmp/cache/assets/C41/5A0/sprockets%2Ff3979161c897640872293fb74f7e4185 +0 -0
  213. data/test/dummy/tmp/cache/assets/C69/980/sprockets%2F1289412d200b47c7f5ba1714da031188 +0 -0
  214. data/test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a +0 -0
  215. data/test/dummy/tmp/cache/assets/C85/8C0/sprockets%2F262c6124c54467ed84e71473a5748a2f +0 -0
  216. data/test/dummy/tmp/cache/assets/C9B/B70/sprockets%2F3c5f068b5a07f9215020042ed660bb45 +0 -0
  217. data/test/dummy/tmp/cache/assets/CAC/8A0/sprockets%2Fb3da0b5a24a9277687d1b973d1638126 +0 -0
  218. data/test/dummy/tmp/cache/assets/CB0/D20/sprockets%2F0850d836310c2fc600217ce3f894f9c8 +0 -0
  219. data/test/dummy/tmp/cache/assets/CB1/E50/sprockets%2Fea7a0c10450c627f752b87495d915b66 +0 -0
  220. data/test/dummy/tmp/cache/assets/CBF/A00/sprockets%2F82c0bd0c273938e78e80698057bf165e +0 -0
  221. data/test/dummy/tmp/cache/assets/CC3/730/sprockets%2F730877507dec32fd7d2e038899bb8067 +0 -0
  222. data/test/dummy/tmp/cache/assets/CC6/350/sprockets%2F7486d25d54ef6d9548205d5a17ff3468 +0 -0
  223. data/test/dummy/tmp/cache/assets/CC7/620/sprockets%2F395359137b16e965efa7fa58db855904 +0 -0
  224. data/test/dummy/tmp/cache/assets/CC7/A90/sprockets%2F77713cc98a179981d615f84f952add24 +0 -0
  225. data/test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423 +0 -0
  226. data/test/dummy/tmp/cache/assets/CD6/450/sprockets%2Ff0c4fb28a62f912b5542965358a10a1f +0 -0
  227. data/test/dummy/tmp/cache/assets/CD6/C30/sprockets%2Fe15182011d74255aa67fde5a783dd612 +0 -0
  228. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  229. data/test/dummy/tmp/cache/assets/CD8/F00/sprockets%2F2344b925523c2c28a3fd1e73ad5f9181 +0 -0
  230. data/test/dummy/tmp/cache/assets/CD9/BA0/sprockets%2Fb9fa8aa2057e7d8702f10317694a8c10 +0 -0
  231. data/test/dummy/tmp/cache/assets/CE2/720/sprockets%2F922b15b49871931e5df1d0a2be4826f8 +0 -0
  232. data/test/dummy/tmp/cache/assets/CE3/EB0/sprockets%2F28ee30e42c7c583083e76a377df3035d +0 -0
  233. data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
  234. data/test/dummy/tmp/cache/assets/CE8/2F0/sprockets%2Fb74ee6e80ba2911167d148d791d6728c +0 -0
  235. data/test/dummy/tmp/cache/assets/CEE/D60/sprockets%2F7b699b03f091fe228759da88a323a56f +0 -0
  236. data/test/dummy/tmp/cache/assets/CF0/450/sprockets%2F65704938b67ef6b06e386cea3c1848b6 +0 -0
  237. data/test/dummy/tmp/cache/assets/CF1/5A0/sprockets%2Fec49552e4a6b67bee359e0485610d887 +0 -0
  238. data/test/dummy/tmp/cache/assets/CFC/880/sprockets%2Fd89c211d7a3dc2a94a7625d7155000ab +0 -0
  239. data/test/dummy/tmp/cache/assets/D05/210/sprockets%2F5d0d1d45d694d6d4f803a9a1340b741c +0 -0
  240. data/test/dummy/tmp/cache/assets/D05/820/sprockets%2Fee427231dd340c1b50573f187a8a6d5d +0 -0
  241. data/test/dummy/tmp/cache/assets/D09/6F0/sprockets%2F0f69fe87b4b574153bdc60711a6ca208 +0 -0
  242. data/test/dummy/tmp/cache/assets/D0A/C20/sprockets%2Fd177dbfcd8235d07a0072c4d9c307385 +0 -0
  243. data/test/dummy/tmp/cache/assets/D0C/820/sprockets%2F1002e68d7cf06571cb63a864f93bb4e3 +0 -0
  244. data/test/dummy/tmp/cache/assets/D0E/A30/sprockets%2F71398e105f60c431f86d78e3abbbf125 +0 -0
  245. data/test/dummy/tmp/cache/assets/D0E/FF0/sprockets%2F2c4cc11f6c24fbb41d97713864854d1f +0 -0
  246. data/test/dummy/tmp/cache/assets/D18/E00/sprockets%2Ff017e80af40be5c829882bd1885a38f4 +0 -0
  247. data/test/dummy/tmp/cache/assets/D19/120/sprockets%2F69f0907662f738cd217edca24ef2328d +0 -0
  248. data/test/dummy/tmp/cache/assets/D25/FD0/sprockets%2F03006f6bba722ebc14ceac8221b81917 +0 -0
  249. data/test/dummy/tmp/cache/assets/D26/7C0/sprockets%2F771cba4a2e4f22141377c4eccc1065c0 +0 -0
  250. data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2Fbd19c0bc42912a8ba7c5c3b100f71592 +0 -0
  251. data/test/dummy/tmp/cache/assets/D29/280/sprockets%2F04fd073ef39e04ced71111a204cb70e6 +0 -0
  252. data/test/dummy/tmp/cache/assets/D29/320/sprockets%2Feb3792401fd26ebf610c8531b0a4bd32 +0 -0
  253. data/test/dummy/tmp/cache/assets/D29/AF0/sprockets%2F841d8c0c4ba32a5e25aa41b7069ba581 +0 -0
  254. data/test/dummy/tmp/cache/assets/D32/4F0/sprockets%2Fb8023435d8d01feca8fd3a1ce9144181 +0 -0
  255. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  256. data/test/dummy/tmp/cache/assets/D38/DB0/sprockets%2Fe848eed2f10d359a60040b50d486b3fd +0 -0
  257. data/test/dummy/tmp/cache/assets/D39/6E0/sprockets%2F4d3170e44fdaa2f62cc266b62e5925e4 +0 -0
  258. data/test/dummy/tmp/cache/assets/D3C/2C0/sprockets%2F9c4d26aabdb46cc90d0228c79344950e +0 -0
  259. data/test/dummy/tmp/cache/assets/D3D/2D0/sprockets%2Fc83c38e1374d350196211ce9ffed3aa6 +0 -0
  260. data/test/dummy/tmp/cache/assets/D3D/970/sprockets%2F23fb0067086af38f593481abd034deff +0 -0
  261. data/test/dummy/tmp/cache/assets/D41/C20/sprockets%2F5b768ca318275843ae6b901bb9cca29e +0 -0
  262. data/test/dummy/tmp/cache/assets/D42/030/sprockets%2Ff991fbde306579de4c94d611ced13023 +0 -0
  263. data/test/dummy/tmp/cache/assets/D47/A20/sprockets%2F9f6654abeaa85f117a98806392ac2a8d +0 -0
  264. data/test/dummy/tmp/cache/assets/D47/D00/sprockets%2Fd76fe4489f3b7f2cd62450204cef631f +0 -0
  265. data/test/dummy/tmp/cache/assets/D4A/640/sprockets%2F94ec7bb9872d4b005d267d56cb80f7e4 +0 -0
  266. data/test/dummy/tmp/cache/assets/D4C/020/sprockets%2F2c26fac647b394d5f49b2743950aefe9 +0 -0
  267. data/test/dummy/tmp/cache/assets/D4D/A20/sprockets%2F0de50df58d85f5cce135f460979bd472 +0 -0
  268. data/test/dummy/tmp/cache/assets/D4D/E30/sprockets%2F828b744b9a72d6b05ace77264f878bdb +0 -0
  269. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  270. data/test/dummy/tmp/cache/assets/D53/1E0/sprockets%2F6d4776ffd4fc7486550b6508cb2dd57e +0 -0
  271. data/test/dummy/tmp/cache/assets/D5A/B70/sprockets%2F7b76786736bb5e9eeb4887dd32c83ec2 +0 -0
  272. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  273. data/test/dummy/tmp/cache/assets/D62/720/sprockets%2F34a95b2bb07a4fbd408c81f1c37bd860 +0 -0
  274. data/test/dummy/tmp/cache/assets/D69/B50/sprockets%2F1c7aa58ab12825ccfb465ca5e7c77551 +0 -0
  275. data/test/dummy/tmp/cache/assets/D6F/220/sprockets%2F99d4cd656c271484bee1a14ac84e5ad2 +0 -0
  276. data/test/dummy/tmp/cache/assets/D74/280/sprockets%2F049b078c38d43fbe7e6b1eb49da1b775 +0 -0
  277. data/test/dummy/tmp/cache/assets/D74/9A0/sprockets%2F049cf32cc869e7138b76f1bb04ae78ad +0 -0
  278. data/test/dummy/tmp/cache/assets/D77/770/sprockets%2F67b869074d0a5b5bb8698e55ccca47aa +0 -0
  279. data/test/dummy/tmp/cache/assets/D7A/290/sprockets%2F5acdbbb05bd53866c8225e95f8e805e8 +0 -0
  280. data/test/dummy/tmp/cache/assets/D7A/2A0/sprockets%2F91a461699d36fdd71c4cec0a8d737cf4 +0 -0
  281. data/test/dummy/tmp/cache/assets/D7C/5B0/sprockets%2F2b864c6eb9b8d679b2716db1a1e93c8f +0 -0
  282. data/test/dummy/tmp/cache/assets/D82/930/sprockets%2Fecdc4c7caa1aa683b13d14a91234b452 +0 -0
  283. data/test/dummy/tmp/cache/assets/D8D/610/sprockets%2Ffb7e1b81f737cb510ac8166a241bbc4c +0 -0
  284. data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
  285. data/test/dummy/tmp/cache/assets/D91/2B0/sprockets%2F354460cd2db93ca02614a4bb76ffde3e +0 -0
  286. data/test/dummy/tmp/cache/assets/D96/DA0/sprockets%2F55af2375310fff6b9706cbacfb2ec540 +0 -0
  287. data/test/dummy/tmp/cache/assets/D9E/F30/sprockets%2Fc32ceef2bde9f93b4c5b866c8200371c +0 -0
  288. data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
  289. data/test/dummy/tmp/cache/assets/D9F/390/sprockets%2Fe2fc3cc13d4d3677be6574e0fd2732cf +0 -0
  290. data/test/dummy/tmp/cache/assets/DAA/A50/sprockets%2F231c56d70690f8b4f8f6fea2cea9d39b +0 -0
  291. data/test/dummy/tmp/cache/assets/DB5/350/sprockets%2F3b5ebcf21def6fff9868a18e239495f1 +0 -0
  292. data/test/dummy/tmp/cache/assets/DB9/150/sprockets%2Fdaff6d12c8afc96d0c91d77e91d79966 +0 -0
  293. data/test/dummy/tmp/cache/assets/DC9/DB0/sprockets%2F43a2aed943cbb05dcc84468c73ddea55 +0 -0
  294. data/test/dummy/tmp/cache/assets/DCE/310/sprockets%2F2f221a6c5ffcaf07ef30f4ee9a793b44 +0 -0
  295. data/test/dummy/tmp/cache/assets/DD2/750/sprockets%2Ff70dee8c3d675153ad76abe3f730dc4f +0 -0
  296. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  297. data/test/dummy/tmp/cache/assets/DFF/270/sprockets%2Fb84f2daecc65ed711132bff2d8f5fe08 +0 -0
  298. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  299. data/test/dummy/tmp/cache/assets/E13/010/sprockets%2Feecfc58398a4d26289a5e0fe9ecd09ec +0 -0
  300. data/test/dummy/tmp/cache/assets/E23/880/sprockets%2F436adfe0b6333bf5af1eaaf3ea4e919b +0 -0
  301. data/test/dummy/tmp/cache/assets/E25/4F0/sprockets%2Fa24db6eec8d3a80f7fe3a50b4cdd243f +0 -0
  302. data/test/dummy/tmp/cache/assets/E2C/210/sprockets%2Fdd7b14fc1e5b2b7dcdac381cc7f9c267 +0 -0
  303. data/test/dummy/tmp/cache/assets/E3A/950/sprockets%2F8a6c7c212feec8ae888ad7e7fa50a3ff +0 -0
  304. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_accordion.scssc +0 -0
  305. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_alerts.scssc +0 -0
  306. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_breadcrumbs.scssc +0 -0
  307. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_button-groups.scssc +0 -0
  308. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_buttons.scssc +0 -0
  309. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_carousel.scssc +0 -0
  310. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_close.scssc +0 -0
  311. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_code.scssc +0 -0
  312. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_component-animations.scssc +0 -0
  313. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_dropdowns.scssc +0 -0
  314. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_forms.scssc +0 -0
  315. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_grid.scssc +0 -0
  316. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_hero-unit.scssc +0 -0
  317. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_labels-badges.scssc +0 -0
  318. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_layouts.scssc +0 -0
  319. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_media.scssc +0 -0
  320. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_mixins.scssc +0 -0
  321. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_modals.scssc +0 -0
  322. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navbar.scssc +0 -0
  323. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navs.scssc +0 -0
  324. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pager.scssc +0 -0
  325. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pagination.scssc +0 -0
  326. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_popovers.scssc +0 -0
  327. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_progress-bars.scssc +0 -0
  328. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_reset.scssc +0 -0
  329. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-1200px-min.scssc +0 -0
  330. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-767px-max.scssc +0 -0
  331. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-768px-979px.scssc +0 -0
  332. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-navbar.scssc +0 -0
  333. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-utilities.scssc +0 -0
  334. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_scaffolding.scssc +0 -0
  335. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_sprites.scssc +0 -0
  336. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tables.scssc +0 -0
  337. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_thumbnails.scssc +0 -0
  338. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tooltip.scssc +0 -0
  339. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_type.scssc +0 -0
  340. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_utilities.scssc +0 -0
  341. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_variables.scssc +0 -0
  342. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_wells.scssc +0 -0
  343. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/bootstrap.scssc +0 -0
  344. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/responsive.scssc +0 -0
  345. data/test/dummy/tmp/cache/sass/2a9f8d893763e4aeafa77aedd38023c2d92257b4/bootstrap-responsive.scssc +0 -0
  346. data/test/dummy/tmp/cache/sass/2bca5584fcb1177ad07e4f21325c39e4eda592bf/bootstrap_and_overrides.css.scssc +0 -0
  347. data/test/integration/navigation_test.rb +10 -0
  348. data/test/test_helper.rb +15 -0
  349. data/test/tr8n_client_sdk_test.rb +7 -0
  350. metadata +771 -0
@@ -0,0 +1,59 @@
1
+ <h2><%= tr("Installation Instructions") %></h2>
2
+
3
+ <p>
4
+ <%= tr("Clone the git repository to your projects folder:") %>
5
+ </p>
6
+
7
+
8
+ <h3><%= tr("Connecting to Tr8n service") %></h3>
9
+ <p>
10
+ <%=tr("To connect to a hosted tr8n service, visit [link: tr8nhub.com], register as a new user and create a new application.", :link => {:href => "http://tr8nhub.com"}) %>
11
+ <%=tr("Then add the following line to your PHP application:") %>
12
+ </p>
13
+
14
+ <pre><code class="language-php"> </code></pre>
15
+
16
+ <h3><%= tr("Running your own Tr8n service") %></h3>
17
+
18
+ <p>
19
+ <%=tr("Alternatively, you can host a tr8n service instance yourself. Tr8n service is written using Ruby on Rails. To run the service yourself, clone the git repository:") %>
20
+ </p>
21
+
22
+ <pre><code class="language-php">$ git clone git@github.com:tr8n/tr8n.git</code></pre>
23
+
24
+ <p>
25
+ <%= tr("Run the following commands: (temporary, until the service node is ready)") %>
26
+ </p>
27
+
28
+ <pre><code class="language-php">
29
+ $ cd tr8n/test/dummy
30
+ $ bundle
31
+ $ bundle exec rake db:migrate
32
+ $ bundle exec rake tr8n:init
33
+ $ bundle exec rails s
34
+
35
+ </code></pre>
36
+
37
+ <p>
38
+ <%= tr("You should see the following output:") %>
39
+ </p>
40
+
41
+ <pre><code class="language-php">
42
+ => Booting WEBrick
43
+ => Rails 3.2.3 application starting in development on http://0.0.0.0:3000
44
+ => Call with -d to detach
45
+ => Ctrl-C to shutdown server
46
+ [2013-08-14 20:21:39] INFO WEBrick 1.3.1
47
+ [2013-08-14 20:21:39] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.2.1]
48
+ [2013-08-14 20:21:39] INFO WEBrick::HTTPServer#start: pid=29722 port=3000
49
+
50
+ </code></pre>
51
+
52
+ <p>
53
+ <%= tr("This means that the service is running. Visit http://localhost:3000 and register as a new user. Go to the admin tools and retrieve your application secret.") %>
54
+ </p>
55
+
56
+ <p>
57
+ <%= tr("In your config.yml file update the application credentials:") %>
58
+ </p>
59
+ <pre><code class="language-php"> </code></pre>
@@ -0,0 +1,17 @@
1
+ <p>
2
+
3
+ <%= tr("This is your {count::ordinal} warning", :count => 1) %>
4
+ <br><br><br>
5
+
6
+ <%= tr("you have [bold: {count} [i: {count|message}]]", :count => 1) %>
7
+
8
+ <br><br><br>
9
+
10
+ <%= tr("{actor} loved {target}", :actor => {:object => {:name => "Михаил", :gender => "male"}, :attribute => :name},
11
+ :target => {:object => {:name => "Анна", :gender => "female"}, :attribute => :name}) %>
12
+
13
+ <br><br>
14
+ <%= tr("{actor} loved {target}", :target => {:object => {:name => "Михаил", :gender => "male"}, :attribute => :name},
15
+ :actor => {:object => {:name => "Анна", :gender => "female"}, :attribute => :name}) %>
16
+
17
+ </p>
@@ -0,0 +1,176 @@
1
+ <h1 style="text-align:center"><%= tr("TML Interactive Console") %></h1>
2
+
3
+ <form action="/docs/tml_content" method="get" id="tml_form" target="tml_translations">
4
+ <input type="hidden" id="tml_label" name="tml_label" value="">
5
+ <input type="hidden" id="tml_context" name="tml_context" value="">
6
+ <input type="hidden" id="tml_tokens" name="tml_tokens" value="">
7
+ <input type="hidden" id="tml_options" name="tml_options" value="">
8
+
9
+ <%
10
+ examples = [
11
+ {:label => "Hello World"},
12
+ {:label => "Invite", :description => "An invitation"},
13
+ {:label => "Invite", :description => "Action to invite someone"},
14
+ {:label => "Number of messages: {count}", :tokens => {"count" => 5}},
15
+ {:label => "You have {count|| one: message, other: messages}", :tokens => {"count" => 5}},
16
+ {:label => "You have {count|| message, messages}", :tokens => {"count" => 5}},
17
+ {:label => "You have {count|| message}", :tokens => {"count" => 5}},
18
+ {:label => "You have {count| message}", :tokens => {"count" => 5}},
19
+ {:label => "Hello [bold: World]"},
20
+ {:label => "Hello [bold: {user}]", :tokens => {"user" => "Michael"}},
21
+ {:label => "Hello [bold: {user}], you have {count||message}.", :tokens => {"user" => "Michael", "count" => 5}},
22
+ {:label => "Hello [bold: {user}], [italic: you have [bold: {count||message}]].", :tokens => {"user" => "Michael", "count" => 1}},
23
+ {:label => "Hello [bold: {user}], [italic]you have [bold: {count||message}][/italic].", :tokens => {"user" => "Michael", "count" => 3}},
24
+ {:label => "{user|He, She} likes this post.", :tokens => {"user" => {"object" => {"gender" => "male", "name" => "Michael"}}}},
25
+ {:label => "{user|Dear} {user}", :tokens => {"user" => {"object" => {"gender" => "male", "name" => "Michael"}, "attribute" => "name"}}},
26
+ {:label => "{users||likes, like} this post.", :tokens => {"users" => [[{"gender" => "male", "name" => "Michael"}, {"gender" => "female", "name" => "Anna"}], {"attribute" => "name"}]}},
27
+ {:label => "{users||likes, like} this post.", :tokens => {"users" => [[{"gender" => "female", "name" => "Anna"}], {"attribute" => "name"}]}},
28
+ {:label => "{users|He likes, She likes, They like} this post.", :tokens => {"users"=> [[{"gender"=> "male", "name"=>"Michael"}, {"gender"=> "female", "name"=>"Anna"}], {"attribute"=> "name"}]}},
29
+ {:label => "{users|He likes, She likes, They like} this post.", :tokens => {"users"=> [[{"gender"=> "female", "name"=>"Anna"}], {"attribute"=> "name"}]}},
30
+ {:label => "{users|He likes, She likes, They like} this post.", :tokens => {"users"=> [[{"gender"=> "male", "name"=>"Michael"}], {"attribute"=> "name"}]}}
31
+ ]
32
+ %>
33
+
34
+ <div style="padding-top:15px;">
35
+ <div style="font-size:12px;float:right;padding-top:15px;color:#888"><%= tr("The text that you would like to translate.")%></div>
36
+
37
+ <h4 style="display:inline-block;"><%= tr("Label (required, TML)") %></h4>
38
+ <div class="dropdown" style="display:inline-block; padding-left:10px;">
39
+ <a id="user_menu_trigger" href="#" class="dropdown-toggle" data-toggle="dropdown">
40
+ <%= tr("try some examples") %><b class="caret"></b>
41
+ </a>
42
+ <ul class="dropdown-menu pas" style="max-height:500px;overflow:auto;">
43
+ <% examples.each_with_index do |sample, index| %>
44
+ <li style="font-size:13px;">
45
+ <%=link_to("javascript: loadExample(#{index})") do %>
46
+ <%= index+1 %>)
47
+ <strong><%= sample[:label] %></strong>
48
+ <% if sample[:description] %>
49
+ <div style="font-size:10px;padding-left:15px;">Context: <%=sample[:description]%></div>
50
+ <% end %>
51
+ <% if sample[:tokens] %>
52
+ <div style="font-size:10px;padding-left:15px;">Tokens: <%=sample[:tokens]%></div>
53
+ <% end %>
54
+ <% if sample[:options] %>
55
+ <div style="font-size:10px;padding-left:15px;">Options: <%=sample[:options]%></div>
56
+ <% end %>
57
+ <% end %>
58
+ </li>
59
+ <li class="divider"></li>
60
+ <% end %>
61
+ </ul>
62
+ </div>
63
+ <div class="ace_editor" id="tml_label_editor" style="height:80px;"></div>
64
+ </div>
65
+
66
+ <div style="padding-top:15px;">
67
+ <div style="font-size:12px;float:right;padding-top:15px;color:#888"><%= tr("If label is ambiguous, context provides a hint to translators as well as a unique key for the label.")%></div>
68
+ <h4><%= tr("Context (optional, plain text)") %></h4>
69
+ <div class="ace_editor" id="tml_context_editor" style="height:50px;"></div>
70
+ </div>
71
+
72
+ <table style="width:100%">
73
+ <tr>
74
+ <td style="width:50%">
75
+ <div style="font-size:12px;float:right;padding-top:15px;color:#888"><%= tr("Dynamic data to be substituted")%></div>
76
+ <h4><%= tr("Tokens (optional, JSON)") %></h4>
77
+ <div class="ace_editor" id="tml_tokens_editor" style="height:100px;">{}</div>
78
+ </td>
79
+ <td>&nbsp;</td>
80
+ <td style="width:50%">
81
+ <div style="font-size:12px;float:right;padding-top:15px;color:#888"><%= tr("Translation options")%></div>
82
+ <h4><%= tr("Options (optional, JSON)") %></h4>
83
+ <div class="ace_editor" id="tml_options_editor" style="height:100px;">{}</div>
84
+ </td>
85
+ </tr>
86
+ </table>
87
+
88
+ <div style="padding-top:10px;">
89
+ <div style="float:right">
90
+ </div>
91
+ <div>
92
+ <button type="button" class="btn btn-primary" onClick="submitTml()">
93
+ <%= tr("Translate") %>
94
+ </button>
95
+ <button type="button" class="btn" onClick="newSample()">
96
+ <%= tr("Clear") %>
97
+ </button>
98
+ </div>
99
+ </div>
100
+ </form>
101
+
102
+ <hr>
103
+ <div style="text-align:center;font-size:50px;color:#ccc;padding-bottom:30px;">
104
+ &#9660;
105
+ </div>
106
+
107
+ <iframe id="tml_translations" name="tml_translations" src="/docs/tml_content" style="width:100%;height:600px;background:white;border:1px solid #eee;"></iframe>
108
+
109
+ <%= javascript_include_tag("ace/ace.js") %>
110
+ <%= javascript_include_tag("ace/theme-chrome.js") %>
111
+ <%= javascript_include_tag("ace/mode-html.js") %>
112
+ <%= javascript_include_tag("ace/mode-json.js") %>
113
+
114
+ <style type="text/css" media="screen">
115
+ .ace_editor {
116
+ position: relative;
117
+ top: 0;
118
+ left: 0;
119
+ width:100%;
120
+ height:50px;
121
+ border:1px solid #eee;
122
+ }
123
+ </style>
124
+
125
+ <script>
126
+ var label_editor = ace.edit("tml_label_editor");
127
+ label_editor.setTheme("ace/theme/chrome");
128
+ label_editor.getSession().setMode("ace/mode/text");
129
+
130
+ var context_editor = ace.edit("tml_context_editor");
131
+ context_editor.setTheme("ace/theme/chrome");
132
+ context_editor.getSession().setMode("ace/mode/text");
133
+
134
+ var tokens_editor = ace.edit("tml_tokens_editor");
135
+ tokens_editor.setTheme("ace/theme/chrome");
136
+ tokens_editor.getSession().setMode("ace/mode/json");
137
+
138
+ var options_editor = ace.edit("tml_options_editor");
139
+ options_editor.setTheme("ace/theme/chrome");
140
+ options_editor.getSession().setMode("ace/mode/json");
141
+
142
+ function submitTml() {
143
+ $("#tml_label").val(label_editor.getValue());
144
+ $("#tml_context").val(context_editor.getValue());
145
+ $("#tml_tokens").val(tokens_editor.getValue());
146
+ $("#tml_options").val(options_editor.getValue());
147
+ $("#tml_form").submit();
148
+ }
149
+
150
+ function newSample() {
151
+ location.reload();
152
+ }
153
+
154
+ var examples = <%=examples.to_json.html_safe%>;
155
+ function loadExample(index) {
156
+ // alert("Loading: " + index);
157
+ label_editor.setValue(examples[index].label);
158
+
159
+ if (examples[index].description)
160
+ context_editor.setValue(examples[index].description);
161
+ else
162
+ context_editor.setValue("");
163
+
164
+ if (examples[index].tokens)
165
+ tokens_editor.setValue(JSON.stringify(examples[index].tokens));
166
+ else
167
+ tokens_editor.setValue("{}");
168
+
169
+ if (examples[index].options)
170
+ options_editor.setValue(JSON.stringify(examples[index].options));
171
+ else
172
+ options_editor.setValue("{}");
173
+
174
+ submitTml();
175
+ }
176
+ </script>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<%= tr8n_current_language.locale %>" lang="<%= tr8n_current_language.locale %>">
3
+ <html>
4
+ <head>
5
+ <%=render :partial => "/layouts/head" %>
6
+ <style>
7
+ body {
8
+ padding:0px;
9
+ margin:0px;
10
+ }
11
+ </style>
12
+ </head>
13
+ <body>
14
+
15
+ <%
16
+ label = params[:tml_label]
17
+ description = params[:tml_context]
18
+
19
+ tokens = params[:tml_tokens].blank? ? "{}" : params[:tml_tokens]
20
+ tokens = JSON.parse(tokens)
21
+
22
+ options = params[:tml_options].blank? ? "{}" : params[:tml_options]
23
+ options = JSON.parse(options)
24
+ %>
25
+
26
+ <div style="padding:15px;">
27
+ <% unless params[:tml_label].blank? %>
28
+ <%=tr(label, description, tokens, options) %>
29
+ <% end %>
30
+ </div>
31
+
32
+ </body>
33
+ </html>
@@ -0,0 +1,107 @@
1
+ <style>
2
+ h3 span {
3
+ background:#FFF;
4
+ padding:5px 15px 5px 15px;
5
+ }
6
+ </style>
7
+
8
+ <div class="hero-unit">
9
+ <div class="text-center">
10
+ <%= image_tag('tr8n/tr8n_logo.png') %>
11
+ </div>
12
+ <h2 class="text-center"><%= tr("Welcome to Tr8n For Ruby on Rails") %></h2>
13
+ <p class="text-center">
14
+ <%= tr("Tr8n for Ruby on Rails is a Client SDK library that allows RoR based applications to integrate with the Tr8n crowd-sourced translation platform.") %>
15
+ <%= tr("This sample application demonstrates some of Tr8n's capabilities.") %>
16
+ </p>
17
+ <br>
18
+ <% unless tr8n_current_translator %>
19
+ <p class="text-center">
20
+ <a href="<%=tr8n_application.host%>/signup" class="btn btn-large"><%= tr("Sign up to get started now!") %></a>
21
+ </p>
22
+ <% end %>
23
+ </div>
24
+
25
+ <h3 class="hr strong"><span><%= tr("How It Works") %></span></h3>
26
+
27
+ <div class="row">
28
+ <div class="span4">
29
+ <p class="text-center"><%= image_tag("how_it_works_1.gif") %></p>
30
+ <h4 class="text-center"><%= tr("Use your users") %></h4>
31
+ <p><%= tr("Your multilngual users can sign up to help translate your site into over 270 different languages.")%> <%= tr("Their translations can then be viewed and voted on by other users.") %></p>
32
+ </div>
33
+ <div class="span4">
34
+ <p class="text-center"><%= image_tag("how_it_works_2.gif") %></p>
35
+ <h4 class="text-center"><%= tr("Share translations") %></h4>
36
+ <p><%= tr("Translations from your site get synced to our servers and can then be shared with thousands of other websites.") %></p>
37
+ </div>
38
+ <div class="span4">
39
+ <p class="text-center"><%= image_tag("how_it_works_3.gif") %></p>
40
+ <h4 class="text-center"><%= tr("Get what you give") %></h4>
41
+ <p><%= tr("Regularly pull down new translations from not only your users but users of other websites as you sync your translations.") %></p>
42
+ </div>
43
+ </div>
44
+
45
+ <h3 class="hr strong"><span><%= tr("Features") %></span></h3>
46
+
47
+ <div class="row">
48
+ <div class="span4">
49
+ <h4><%=tr("Support for over 250 languages") %></h4>
50
+ <p><%=tr("All browser supported language are included. Just choose which languages you want to enabled on your app.") %></p>
51
+ </div>
52
+ <div class="span4">
53
+ <h4><%=tr("Inline translation tools") %></h4>
54
+ <p><%=tr("Intuitive translation tools allow your users to easily translate your website.") %></p>
55
+ </div>
56
+ <div class="span4">
57
+ <h4><%=tr("Translation management") %></h4>
58
+ <p><%=tr("Keep track of all the translated text on your website, through an easy to use dashboard.") %></p>
59
+ </div>
60
+ </div>
61
+
62
+ <div class="row">
63
+ <div class="span4">
64
+ <h4><%=tr("Translation ranking system") %></h4>
65
+ <p><%=tr("Translators vote on translations and the best translations are used in your application.") %></p>
66
+ </div>
67
+ <div class="span4">
68
+ <h4><%=tr("Translator ranking system") %></h4>
69
+ <p><%=tr("Translators are ranked based on the quality of the work they do. The higher the rank the more valuable they become.") %></p>
70
+ </div>
71
+ <div class="span4">
72
+ <h4><%=tr("Powerful Metrics") %></h4>
73
+ <p><%=tr("Stay up to date on the progress of your translations.") %></p>
74
+ </div>
75
+ </div>
76
+
77
+ <div class="row">
78
+ <div class="span4">
79
+ <h4><%=tr("Translation Markup Language") %></h4>
80
+ <p><%=tr("TML syntax makes developers happy - it simplifies the code and allows to encode complex rules using simple structures.") %></p>
81
+ </div>
82
+ <div class="span4">
83
+ <h4><%=tr("Language Context Rules") %></h4>
84
+ <p><%=tr("Tr8n supports all language rules to make translations very accurate.") %></p>
85
+ </div>
86
+ <div class="span4">
87
+ <h4><%=tr("Language Cases") %></h4>
88
+ <p><%=tr("Language cases are supported across all languages to make translations sound as native as they can be.") %></p>
89
+ </div>
90
+ </div>
91
+
92
+ <div class="row">
93
+ <div class="span4">
94
+ <h4><%= tr("Glossary") %></h4>
95
+ <p><%=tr("Create a glossary of the key terms of your application. Translators will see those terms and will be able to provide more accurate translations.") %></p>
96
+ </div>
97
+ <div class="span4">
98
+ <h4><%=tr("Language Discussion Boards") %></h4>
99
+ <p><%=tr("Translators can discuss translations and terms in the message boards across all languages.") %></p>
100
+ </div>
101
+ <div class="span4">
102
+ <h4><%=tr("Admin Tools") %></h4>
103
+ <p><%=tr("Administration tools allow you to configure every aspect of your application.") %></p>
104
+ </div>
105
+ </div>
106
+
107
+ <hr>
@@ -0,0 +1,35 @@
1
+ <% if flash[:trfn] %>
2
+ <div id="flash_notice">
3
+ <div class="alert alert-success strong">
4
+ <%=link_to_function("×", "$('#flash_notice').hide();", :class => "close") %>
5
+ <%= flash[:trfn] %>
6
+ </div>
7
+ <%flash[:trfn] = nil%>
8
+ </div>
9
+ <% end %>
10
+
11
+ <% if flash[:trfe] %>
12
+ <div id="flash_error">
13
+ <div class="alert alert-danger strong">
14
+ <%=link_to_function("×", "$('#flash_error').hide();", :class => "close") %>
15
+ <%= flash[:trfe] %>
16
+ </div>
17
+ <%flash[:trfe] = nil%>
18
+ </div>
19
+ <% end %>
20
+
21
+ <% if flash[:trfw] %>
22
+ <div id="flash_warning">
23
+ <div class="alert strong">
24
+ <%=link_to_function("×", "$('#flash_warning').hide();", :class => "close") %>
25
+ <%= flash[:trfw] %>
26
+ </div>
27
+ <%flash[:trfw] = nil%>
28
+ </div>
29
+ <% end %>
30
+
31
+ <noscript>
32
+ <div class="flash_error alert danger">
33
+ <%=tr("This site requires JavaScript! Please enable JavaScript in your browser's settings to use this part of the site.")%>
34
+ </div>
35
+ </noscript>
@@ -0,0 +1,31 @@
1
+ <style>
2
+ #navlist li {
3
+ display: inline;
4
+ list-style-type: none;
5
+ padding-right: 10px;
6
+ }
7
+ </style>
8
+
9
+ <footer>
10
+ <div class="container">
11
+ <ul id="navlist" style="float:right;">
12
+ <li><%=link_to(tr("Documentation"), "http://wiki.tr8nhub.com", :class => "quiet")%></li>
13
+
14
+ <li><%=image_tag('github.png')%> <%=link_to(tr("Source"), "http://github.com/tr8n", :class => "quiet")%></li>
15
+ <li><%=image_tag('wordpress.png')%> <%=link_to(tr("Blog"), "http://blog.tr8nhub.com", :class => "quiet")%></li>
16
+ <li><%=image_tag('facebook.png')%> <%=link_to(tr("Facebook"), "http://www.facebook.com/pages/Tr8n-Translation-Engine/138407706218622", :class => "quiet")%></li>
17
+ <li><%=image_tag('twitter.png')%> <%=link_to(tr("Twitter"), "http://twitter.com/Tr8nHub", :class => "quiet")%></li>
18
+ <li><%=image_tag('linkedin.png')%> <%=link_to(tr("LinkedIn"), "http://www.linkedin.com/groups/Internationalizing-your-application-using-Tr8n-4090552?gid=4090552", :class => "quiet")%></li>
19
+
20
+ <!-- li><%=link_to(tr("Extensions"), "/extensions", :class => "quiet")%></li -->
21
+ </ul>
22
+
23
+ &copy; <%=link_to("Tr8nHub.com", "http://www.tr8nhub.com", :class => "quiet")%> 2013
24
+ </div>
25
+ </footer>
26
+
27
+ <div style="padding-top:30px;">
28
+ <%= tr8n_language_strip_tag %>
29
+ </div>
30
+
31
+ <%= render :partial => "/tr8n_client_sdk/tags/powered_by_tr8n" %>