tr8n_client_sdk 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +8 -20
  3. data/Rakefile +25 -17
  4. data/app/views/tr8n_client_sdk/tags/_scripts.html.erb +16 -1
  5. data/lib/tasks/{tr8n_client_sdk_tasks.rake → tr8n_client_sdk.rake} +9 -0
  6. data/lib/tr8n_client_sdk/version.rb +1 -1
  7. data/lib/tr8n_client_sdk.rb +1 -0
  8. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/a@_[6b714be8673fcc4a3].json +69 -0
  9. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[de].json +290 -0
  10. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[en-US].json +1435 -0
  11. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[en].json +1424 -0
  12. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[fr].json +298 -0
  13. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[ru].json +550 -0
  14. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[zh].json +272 -0
  15. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-].json +6 -0
  16. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-index].json +1150 -0
  17. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-installation].json +422 -0
  18. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-tml].json +445 -0
  19. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-tml_content].json +40 -0
  20. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs].json +6 -0
  21. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home-index].json +746 -0
  22. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home-upgrade_cache].json +6 -0
  23. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home].json +6 -0
  24. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-login-cookies].json +6 -0
  25. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-].json +6 -0
  26. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-index].json +1135 -0
  27. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-installation].json +389 -0
  28. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-tml].json +413 -0
  29. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-tml_content].json +41 -0
  30. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs].json +6 -0
  31. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home-index].json +689 -0
  32. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home-upgrade_cache].json +6 -0
  33. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home].json +6 -0
  34. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-login-cookies].json +6 -0
  35. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-].json +6 -0
  36. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-index].json +1041 -0
  37. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-installation].json +357 -0
  38. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-tml].json +379 -0
  39. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-tml_content].json +38 -0
  40. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs].json +6 -0
  41. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home-index].json +632 -0
  42. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home-upgrade_cache].json +6 -0
  43. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home].json +6 -0
  44. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-login-cookies].json +6 -0
  45. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-].json +6 -0
  46. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-index].json +1165 -0
  47. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-installation].json +434 -0
  48. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-tml].json +476 -0
  49. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-tml_content].json +40 -0
  50. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs].json +6 -0
  51. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home-index].json +742 -0
  52. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home-upgrade_cache].json +6 -0
  53. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home].json +6 -0
  54. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-login-cookies].json +6 -0
  55. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-].json +6 -0
  56. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-index].json +1251 -0
  57. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-installation].json +457 -0
  58. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-tml].json +521 -0
  59. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-tml_content].json +45 -0
  60. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs].json +6 -0
  61. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home-index].json +809 -0
  62. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home-upgrade_cache].json +6 -0
  63. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home].json +6 -0
  64. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-login-cookies].json +6 -0
  65. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-].json +6 -0
  66. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-index].json +1135 -0
  67. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-installation].json +391 -0
  68. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-tml].json +415 -0
  69. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-tml_content].json +41 -0
  70. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs].json +6 -0
  71. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home-index].json +693 -0
  72. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home-upgrade_cache].json +6 -0
  73. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home].json +6 -0
  74. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-login-cookies].json +6 -0
  75. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/a@_[6b714be8673fcc4a3].json +69 -0
  76. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[de].json +290 -0
  77. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[en-US].json +1435 -0
  78. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[en].json +1424 -0
  79. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[fr].json +298 -0
  80. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[ru].json +550 -0
  81. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[zh].json +272 -0
  82. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-].json +6 -0
  83. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-index].json +1150 -0
  84. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-installation].json +422 -0
  85. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-tml].json +445 -0
  86. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-tml_content].json +40 -0
  87. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs].json +6 -0
  88. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home-index].json +746 -0
  89. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home-upgrade_cache].json +6 -0
  90. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home].json +6 -0
  91. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-login-cookies].json +6 -0
  92. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-].json +6 -0
  93. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-index].json +1135 -0
  94. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-installation].json +389 -0
  95. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-tml].json +413 -0
  96. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-tml_content].json +41 -0
  97. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs].json +6 -0
  98. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home-index].json +689 -0
  99. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home-upgrade_cache].json +6 -0
  100. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home].json +6 -0
  101. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-login-cookies].json +6 -0
  102. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-].json +6 -0
  103. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-index].json +1041 -0
  104. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-installation].json +357 -0
  105. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-tml].json +379 -0
  106. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-tml_content].json +38 -0
  107. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs].json +6 -0
  108. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home-index].json +632 -0
  109. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home-upgrade_cache].json +6 -0
  110. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home].json +6 -0
  111. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-login-cookies].json +6 -0
  112. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-].json +6 -0
  113. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-index].json +1165 -0
  114. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-installation].json +434 -0
  115. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-tml].json +476 -0
  116. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-tml_content].json +40 -0
  117. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs].json +6 -0
  118. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home-index].json +742 -0
  119. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home-upgrade_cache].json +6 -0
  120. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home].json +6 -0
  121. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-login-cookies].json +6 -0
  122. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-].json +6 -0
  123. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-index].json +1251 -0
  124. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-installation].json +457 -0
  125. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-tml].json +521 -0
  126. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-tml_content].json +45 -0
  127. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs].json +6 -0
  128. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home-index].json +809 -0
  129. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home-upgrade_cache].json +6 -0
  130. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home].json +6 -0
  131. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-login-cookies].json +6 -0
  132. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-].json +6 -0
  133. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-index].json +1135 -0
  134. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-installation].json +391 -0
  135. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-tml].json +415 -0
  136. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-tml_content].json +41 -0
  137. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs].json +6 -0
  138. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home-index].json +693 -0
  139. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home-upgrade_cache].json +6 -0
  140. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home].json +6 -0
  141. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-login-cookies].json +6 -0
  142. data/test/dummy/config/environments/development.rb +2 -0
  143. data/test/dummy/log/development.log +1509 -0
  144. data/test/dummy/log/tr8n.log +1630 -0
  145. metadata +280 -20
@@ -0,0 +1,298 @@
1
+ {
2
+ "locale": "fr",
3
+ "name": "Français",
4
+ "english_name": "French",
5
+ "native_name": "Français",
6
+ "flag_url": "http://localhost:3000/media/22/5/6/87/e52809adf86d81215.png",
7
+ "contexts": {
8
+ "date": {
9
+ "keyword": "date",
10
+ "keys": [
11
+ "past",
12
+ "present",
13
+ "future"
14
+ ],
15
+ "default_key": "present",
16
+ "token_expression": "/.*(date|time)(\\d)*$/",
17
+ "variables": [
18
+ "@date"
19
+ ],
20
+ "token_mapping": [
21
+ "unsupported",
22
+ "unsupported",
23
+ {
24
+ "past": "{$0}",
25
+ "present": "{$1}",
26
+ "future": "{$2}"
27
+ }
28
+ ],
29
+ "rules": {
30
+ "future": {
31
+ "keyword": "future",
32
+ "description": "{token} is in the past",
33
+ "conditions": "(< @date (today))",
34
+ "conditions_expression": [
35
+ "<",
36
+ "@date",
37
+ [
38
+ "today"
39
+ ]
40
+ ]
41
+ },
42
+ "past": {
43
+ "keyword": "past",
44
+ "description": "{token} is in the future",
45
+ "conditions": "(> @date (today))",
46
+ "conditions_expression": [
47
+ ">",
48
+ "@date",
49
+ [
50
+ "today"
51
+ ]
52
+ ]
53
+ },
54
+ "present": {
55
+ "keyword": "present",
56
+ "description": "{token} is in the present",
57
+ "conditions": "(= @date (today))",
58
+ "conditions_expression": [
59
+ "=",
60
+ "@date",
61
+ [
62
+ "today"
63
+ ]
64
+ ]
65
+ }
66
+ }
67
+ },
68
+ "gender": {
69
+ "keyword": "gender",
70
+ "keys": [
71
+ "male",
72
+ "female",
73
+ "unknown"
74
+ ],
75
+ "default_key": "other",
76
+ "token_expression": "/.*(user|translator|profile|actor|target)(\\d)*$/",
77
+ "variables": [
78
+ "@gender"
79
+ ],
80
+ "token_mapping": [
81
+ {
82
+ "other": "{$0}"
83
+ },
84
+ {
85
+ "male": "{$0}",
86
+ "female": "{$1}",
87
+ "other": "{$0}/{$1}"
88
+ },
89
+ {
90
+ "male": "{$0}",
91
+ "female": "{$1}",
92
+ "other": "{$2}"
93
+ }
94
+ ],
95
+ "rules": {
96
+ "female": {
97
+ "keyword": "female",
98
+ "description": "{token} is a female",
99
+ "conditions": "(= 'female' @gender)",
100
+ "conditions_expression": [
101
+ "=",
102
+ "female",
103
+ "@gender"
104
+ ]
105
+ },
106
+ "male": {
107
+ "keyword": "male",
108
+ "description": "{token} is a male",
109
+ "conditions": "(= 'male' @gender)",
110
+ "conditions_expression": [
111
+ "=",
112
+ "male",
113
+ "@gender"
114
+ ]
115
+ },
116
+ "other": {
117
+ "keyword": "other",
118
+ "description": "{token}'s gender is unknown"
119
+ }
120
+ }
121
+ },
122
+ "genders": {
123
+ "keyword": "genders",
124
+ "keys": [
125
+ "male",
126
+ "female",
127
+ "unknown",
128
+ "other"
129
+ ],
130
+ "default_key": "other",
131
+ "token_expression": "/.*(users|profiles|actors|targets)(\\d)*$/",
132
+ "variables": [
133
+ "@genders"
134
+ ],
135
+ "token_mapping": [
136
+ "unsupported",
137
+ "unsupported",
138
+ "unsupported",
139
+ {
140
+ "male": "{$0}",
141
+ "female": "{$1}",
142
+ "unknown": "{$2}",
143
+ "other": "{$3}"
144
+ }
145
+ ],
146
+ "rules": {
147
+ "female": {
148
+ "keyword": "female",
149
+ "description": "{token} contains 1 female",
150
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'female'))",
151
+ "conditions_expression": [
152
+ "&&",
153
+ [
154
+ "=",
155
+ 1,
156
+ [
157
+ "count",
158
+ "@genders"
159
+ ]
160
+ ],
161
+ [
162
+ "all",
163
+ "@genders",
164
+ "female"
165
+ ]
166
+ ]
167
+ },
168
+ "male": {
169
+ "keyword": "male",
170
+ "description": "{token} contains 1 male",
171
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'male'))",
172
+ "conditions_expression": [
173
+ "&&",
174
+ [
175
+ "=",
176
+ 1,
177
+ [
178
+ "count",
179
+ "@genders"
180
+ ]
181
+ ],
182
+ [
183
+ "all",
184
+ "@genders",
185
+ "male"
186
+ ]
187
+ ]
188
+ },
189
+ "other": {
190
+ "keyword": "other",
191
+ "description": "{token} contains at least 2 people"
192
+ },
193
+ "unknown": {
194
+ "keyword": "unknown",
195
+ "description": "{token} contains 1 person with unknown gender",
196
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'unknown'))",
197
+ "conditions_expression": [
198
+ "&&",
199
+ [
200
+ "=",
201
+ 1,
202
+ [
203
+ "count",
204
+ "@genders"
205
+ ]
206
+ ],
207
+ [
208
+ "all",
209
+ "@genders",
210
+ "unknown"
211
+ ]
212
+ ]
213
+ }
214
+ }
215
+ },
216
+ "list": {
217
+ "keyword": "list",
218
+ "keys": [
219
+ "one",
220
+ "other"
221
+ ],
222
+ "default_key": "other",
223
+ "token_expression": "/.*(items|list)(\\d)*$/",
224
+ "variables": [
225
+ "@count"
226
+ ],
227
+ "token_mapping": [
228
+ "unsupported",
229
+ {
230
+ "one": "{$0}",
231
+ "other": "{$1}"
232
+ }
233
+ ],
234
+ "rules": {
235
+ "one": {
236
+ "keyword": "one",
237
+ "description": "{token} contains 1 element",
238
+ "conditions": "(= 1 @count)",
239
+ "conditions_expression": [
240
+ "=",
241
+ 1,
242
+ "@count"
243
+ ]
244
+ },
245
+ "other": {
246
+ "keyword": "other",
247
+ "description": "{token} contains at least 2 elements"
248
+ }
249
+ }
250
+ },
251
+ "number": {
252
+ "keyword": "number",
253
+ "keys": [
254
+ "one",
255
+ "other"
256
+ ],
257
+ "default_key": "other",
258
+ "token_expression": "/.*(count|num|minutes|seconds|hours|sum|total)(\\d)*$/",
259
+ "variables": [
260
+ "@n"
261
+ ],
262
+ "token_mapping": [
263
+ "unsupported",
264
+ {
265
+ "one": "{$0}",
266
+ "other": "{$1}"
267
+ }
268
+ ],
269
+ "rules": {
270
+ "one": {
271
+ "keyword": "one",
272
+ "description": "{n} within 0..2 and {n} is not 2",
273
+ "examples": "0, 1, 1.2...",
274
+ "conditions": "(&& (!= 2 @n) (within '0..2' @n))",
275
+ "conditions_expression": [
276
+ "&&",
277
+ [
278
+ "!=",
279
+ 2,
280
+ "@n"
281
+ ],
282
+ [
283
+ "within",
284
+ "0..2",
285
+ "@n"
286
+ ]
287
+ ]
288
+ },
289
+ "other": {
290
+ "keyword": "other",
291
+ "examples": "2-999; 2.07..."
292
+ }
293
+ }
294
+ }
295
+ },
296
+ "cases": {
297
+ }
298
+ }
@@ -0,0 +1,550 @@
1
+ {
2
+ "locale": "ru",
3
+ "name": "Русский",
4
+ "english_name": "Russian",
5
+ "native_name": "Русский",
6
+ "flag_url": "http://localhost:3000/media/54/39/11/49/cb768f030bde97f97.png",
7
+ "curse_words": "блядь",
8
+ "contexts": {
9
+ "date": {
10
+ "keyword": "date",
11
+ "keys": [
12
+ "past",
13
+ "present",
14
+ "future"
15
+ ],
16
+ "default_key": "present",
17
+ "token_expression": "/.*(date|time)(\\d)*$/",
18
+ "variables": [
19
+ "@date"
20
+ ],
21
+ "token_mapping": [
22
+ "unsupported",
23
+ "unsupported",
24
+ {
25
+ "past": "{$0}",
26
+ "present": "{$1}",
27
+ "future": "{$2}"
28
+ }
29
+ ],
30
+ "rules": {
31
+ "future": {
32
+ "keyword": "future",
33
+ "description": "{token} is in the past",
34
+ "conditions": "(< @date (today))",
35
+ "conditions_expression": [
36
+ "<",
37
+ "@date",
38
+ [
39
+ "today"
40
+ ]
41
+ ]
42
+ },
43
+ "past": {
44
+ "keyword": "past",
45
+ "description": "{token} is in the future",
46
+ "conditions": "(> @date (today))",
47
+ "conditions_expression": [
48
+ ">",
49
+ "@date",
50
+ [
51
+ "today"
52
+ ]
53
+ ]
54
+ },
55
+ "present": {
56
+ "keyword": "present",
57
+ "description": "{token} is in the present",
58
+ "conditions": "(= @date (today))",
59
+ "conditions_expression": [
60
+ "=",
61
+ "@date",
62
+ [
63
+ "today"
64
+ ]
65
+ ]
66
+ }
67
+ }
68
+ },
69
+ "gender": {
70
+ "keyword": "gender",
71
+ "keys": [
72
+ "male",
73
+ "female",
74
+ "other"
75
+ ],
76
+ "default_key": "other",
77
+ "token_expression": "/.*(user|translator|profile|actor|target)(\\d)*$/",
78
+ "variables": [
79
+ "@gender"
80
+ ],
81
+ "token_mapping": [
82
+ {
83
+ "other": "{$0}"
84
+ },
85
+ {
86
+ "male": "{$0}",
87
+ "female": "{$1}",
88
+ "other": "{$0}/{$1}"
89
+ },
90
+ {
91
+ "male": "{$0}",
92
+ "female": "{$1}",
93
+ "other": "{$2}"
94
+ }
95
+ ],
96
+ "rules": {
97
+ "female": {
98
+ "keyword": "female",
99
+ "description": "{token} is a female",
100
+ "conditions": "(= 'female' @gender)",
101
+ "conditions_expression": [
102
+ "=",
103
+ "female",
104
+ "@gender"
105
+ ]
106
+ },
107
+ "male": {
108
+ "keyword": "male",
109
+ "description": "{token} is a male",
110
+ "conditions": "(= 'male' @gender)",
111
+ "conditions_expression": [
112
+ "=",
113
+ "male",
114
+ "@gender"
115
+ ]
116
+ },
117
+ "other": {
118
+ "keyword": "other",
119
+ "description": "{token}'s gender is unknown"
120
+ }
121
+ }
122
+ },
123
+ "genders": {
124
+ "keyword": "genders",
125
+ "keys": [
126
+ "male",
127
+ "female",
128
+ "unknown",
129
+ "other"
130
+ ],
131
+ "default_key": "other",
132
+ "token_expression": "/.*(users|profiles|actors|targets)(\\d)*$/",
133
+ "variables": [
134
+ "@genders"
135
+ ],
136
+ "token_mapping": [
137
+ "unsupported",
138
+ "unsupported",
139
+ "unsupported",
140
+ {
141
+ "male": "{$0}",
142
+ "female": "{$1}",
143
+ "unknown": "{$2}",
144
+ "other": "{$3}"
145
+ }
146
+ ],
147
+ "rules": {
148
+ "female": {
149
+ "keyword": "female",
150
+ "description": "{token} contains 1 female",
151
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'female'))",
152
+ "conditions_expression": [
153
+ "&&",
154
+ [
155
+ "=",
156
+ 1,
157
+ [
158
+ "count",
159
+ "@genders"
160
+ ]
161
+ ],
162
+ [
163
+ "all",
164
+ "@genders",
165
+ "female"
166
+ ]
167
+ ]
168
+ },
169
+ "male": {
170
+ "keyword": "male",
171
+ "description": "{token} contains 1 male",
172
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'male'))",
173
+ "conditions_expression": [
174
+ "&&",
175
+ [
176
+ "=",
177
+ 1,
178
+ [
179
+ "count",
180
+ "@genders"
181
+ ]
182
+ ],
183
+ [
184
+ "all",
185
+ "@genders",
186
+ "male"
187
+ ]
188
+ ]
189
+ },
190
+ "other": {
191
+ "keyword": "other",
192
+ "description": "{token} contains at least 2 people"
193
+ },
194
+ "unknown": {
195
+ "keyword": "unknown",
196
+ "description": "{token} contains 1 person with unknown gender",
197
+ "conditions": "(&& (= 1 (count @genders)) (all @genders 'unknown'))",
198
+ "conditions_expression": [
199
+ "&&",
200
+ [
201
+ "=",
202
+ 1,
203
+ [
204
+ "count",
205
+ "@genders"
206
+ ]
207
+ ],
208
+ [
209
+ "all",
210
+ "@genders",
211
+ "unknown"
212
+ ]
213
+ ]
214
+ }
215
+ }
216
+ },
217
+ "list": {
218
+ "keyword": "list",
219
+ "keys": [
220
+ "one",
221
+ "other"
222
+ ],
223
+ "default_key": "other",
224
+ "token_expression": "/.*(items|list)(\\d)*$/",
225
+ "variables": [
226
+ "@count"
227
+ ],
228
+ "token_mapping": [
229
+ "unsupported",
230
+ {
231
+ "one": "{$0}",
232
+ "other": "{$1}"
233
+ }
234
+ ],
235
+ "rules": {
236
+ "one": {
237
+ "keyword": "one",
238
+ "description": "{token} contains 1 element",
239
+ "conditions": "(= 1 @count)",
240
+ "conditions_expression": [
241
+ "=",
242
+ 1,
243
+ "@count"
244
+ ]
245
+ },
246
+ "other": {
247
+ "keyword": "other",
248
+ "description": "{token} contains at least 2 elements"
249
+ }
250
+ }
251
+ },
252
+ "number": {
253
+ "keyword": "number",
254
+ "keys": [
255
+ "one",
256
+ "few",
257
+ "many",
258
+ "other"
259
+ ],
260
+ "default_key": "many",
261
+ "token_expression": "/.*(count|num|minutes|seconds|hours|sum|total)(\\d)*$/",
262
+ "variables": [
263
+ "@n"
264
+ ],
265
+ "token_mapping": [
266
+ "unsupported",
267
+ "unsupported",
268
+ {
269
+ "one": "{$0}",
270
+ "few": "{$1}",
271
+ "many": "${2}",
272
+ "other": "{$2}"
273
+ },
274
+ {
275
+ "one": "{$0}",
276
+ "few": "{$1}",
277
+ "many": "${2}",
278
+ "other": "{$3}"
279
+ }
280
+ ],
281
+ "rules": {
282
+ "few": {
283
+ "keyword": "few",
284
+ "description": "{token} ends in 2, 3, 4, but not in 12, 13, 14",
285
+ "examples": "2-4, 22-24, 32-34...",
286
+ "conditions": "(&& (in '2..4' (mod @n 10)) (not (in '12..14' (mod @n 100))))",
287
+ "conditions_expression": [
288
+ "&&",
289
+ [
290
+ "in",
291
+ "2..4",
292
+ [
293
+ "mod",
294
+ "@n",
295
+ 10
296
+ ]
297
+ ],
298
+ [
299
+ "not",
300
+ [
301
+ "in",
302
+ "12..14",
303
+ [
304
+ "mod",
305
+ "@n",
306
+ 100
307
+ ]
308
+ ]
309
+ ]
310
+ ]
311
+ },
312
+ "many": {
313
+ "keyword": "many",
314
+ "description": "{token} mod 10 is 0 or {token} mod 10 in 5..9 or {token} mod 100 in 11..14",
315
+ "examples": "0, 5-20, 25-30, 35-40...",
316
+ "conditions": "(|| (= 0 (mod @n 10)) (in '5..9' (mod @n 10)) (in '11..14' (mod @n 100)))",
317
+ "conditions_expression": [
318
+ "||",
319
+ [
320
+ "=",
321
+ 0,
322
+ [
323
+ "mod",
324
+ "@n",
325
+ 10
326
+ ]
327
+ ],
328
+ [
329
+ "in",
330
+ "5..9",
331
+ [
332
+ "mod",
333
+ "@n",
334
+ 10
335
+ ]
336
+ ],
337
+ [
338
+ "in",
339
+ "11..14",
340
+ [
341
+ "mod",
342
+ "@n",
343
+ 100
344
+ ]
345
+ ]
346
+ ]
347
+ },
348
+ "one": {
349
+ "keyword": "one",
350
+ "description": "{token} mod 10 is 1 and {token} mod 100 is not 11",
351
+ "examples": "1, 21, 31, 41, 51, 61...",
352
+ "conditions": "(&& (= 1 (mod @n 10)) (!= 11 (mod @n 100)))",
353
+ "conditions_expression": [
354
+ "&&",
355
+ [
356
+ "=",
357
+ 1,
358
+ [
359
+ "mod",
360
+ "@n",
361
+ 10
362
+ ]
363
+ ],
364
+ [
365
+ "!=",
366
+ 11,
367
+ [
368
+ "mod",
369
+ "@n",
370
+ 100
371
+ ]
372
+ ]
373
+ ]
374
+ },
375
+ "other": {
376
+ "keyword": "other",
377
+ "examples": "1.2, 2.07, 5.94..."
378
+ }
379
+ }
380
+ },
381
+ "value": {
382
+ "keyword": "value",
383
+ "keys": [
384
+ "vowel",
385
+ "other"
386
+ ],
387
+ "default_key": "vowel",
388
+ "token_expression": "/.*$/",
389
+ "variables": [
390
+ "@value"
391
+ ],
392
+ "token_mapping": [
393
+ "unsupported",
394
+ {
395
+ "vowel": "{$0}",
396
+ "con": "{$1}"
397
+ }
398
+ ],
399
+ "rules": {
400
+ "other": {
401
+ "keyword": "other",
402
+ "description": "{token} starts with a consonant",
403
+ "examples": "б, в, г, д, к..."
404
+ },
405
+ "vowel": {
406
+ "keyword": "vowel",
407
+ "description": "{token} starts with a vowel",
408
+ "examples": "а, и, о, у, ы, э",
409
+ "conditions": [
410
+ "match",
411
+ "/^[аиоуыэАИОУЭ]/",
412
+ "@value"
413
+ ],
414
+ "conditions_expression": [
415
+ "match",
416
+ "/^[аиоуыэАИОУЭ]/",
417
+ "@value"
418
+ ]
419
+ }
420
+ }
421
+ }
422
+ },
423
+ "cases": {
424
+ "acc": {
425
+ "id": 85,
426
+ "keyword": "acc",
427
+ "latin_name": "Accusativus",
428
+ "native_name": "Винительный падеж",
429
+ "description": "Вижу - Кого? Что?",
430
+ "application": "words",
431
+ "rules": [
432
+
433
+ ]
434
+ },
435
+ "dat": {
436
+ "id": 86,
437
+ "keyword": "dat",
438
+ "latin_name": "Dativus",
439
+ "native_name": "Дательный падеж",
440
+ "description": "Рад - Кому? Чему?",
441
+ "application": "words",
442
+ "rules": [
443
+ {
444
+ "id": 927,
445
+ "description": "If ends in 'л', append 'у'.",
446
+ "examples": "Михаил => Михаилу",
447
+ "conditions": "(match '/л$/' @value)",
448
+ "conditions_expression": [
449
+ "match",
450
+ "/л$/",
451
+ "@value"
452
+ ],
453
+ "operations": "(append 'у' @value)",
454
+ "operations_expression": [
455
+ "append",
456
+ "у",
457
+ "@value"
458
+ ]
459
+ },
460
+ {
461
+ "id": 926,
462
+ "description": "If ends in 'a', replace with 'e'",
463
+ "examples": "Анна => Анне",
464
+ "conditions": "(match '/а$/' @value)",
465
+ "conditions_expression": [
466
+ "match",
467
+ "/а$/",
468
+ "@value"
469
+ ],
470
+ "operations": "(replace '/а$/' 'е' @value)",
471
+ "operations_expression": [
472
+ "replace",
473
+ "/а$/",
474
+ "е",
475
+ "@value"
476
+ ]
477
+ }
478
+ ]
479
+ },
480
+ "gen": {
481
+ "id": 87,
482
+ "keyword": "gen",
483
+ "latin_name": "Genitivus",
484
+ "native_name": "Родительный падеж",
485
+ "description": "Нет - Кого? Чего?",
486
+ "application": "words",
487
+ "rules": [
488
+ {
489
+ "id": 925,
490
+ "conditions": "(match '/[бвгджзклмнпрстфхцчшщ]$/' @value)",
491
+ "conditions_expression": [
492
+ "match",
493
+ "/[бвгджзклмнпрстфхцчшщ]$/",
494
+ "@value"
495
+ ],
496
+ "operations": "(append 'a' @value)",
497
+ "operations_expression": [
498
+ "append",
499
+ "a",
500
+ "@value"
501
+ ]
502
+ }
503
+ ]
504
+ },
505
+ "ins": {
506
+ "id": 88,
507
+ "keyword": "ins",
508
+ "latin_name": "Instrumentalis",
509
+ "native_name": "Творительный падеж",
510
+ "description": "Доволен - Кем? Чем?",
511
+ "application": "words",
512
+ "rules": [
513
+
514
+ ]
515
+ },
516
+ "nom": {
517
+ "id": 89,
518
+ "keyword": "nom",
519
+ "latin_name": "Nominativus",
520
+ "native_name": "Именительный падеж",
521
+ "description": "Есть - Кто? Что?",
522
+ "application": "words",
523
+ "rules": [
524
+
525
+ ]
526
+ },
527
+ "pos": {
528
+ "id": 90,
529
+ "keyword": "pos",
530
+ "latin_name": "Possessive",
531
+ "native_name": "Притяжательный падеж",
532
+ "description": "Чей?",
533
+ "application": "words",
534
+ "rules": [
535
+
536
+ ]
537
+ },
538
+ "pre": {
539
+ "id": 91,
540
+ "keyword": "pre",
541
+ "latin_name": "Prepositivus",
542
+ "native_name": "Предложный падеж",
543
+ "description": "Думаю - О ком? О чём?",
544
+ "application": "words",
545
+ "rules": [
546
+
547
+ ]
548
+ }
549
+ }
550
+ }