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,1424 @@
1
+ {
2
+ "locale": "en",
3
+ "name": "English",
4
+ "english_name": "English",
5
+ "native_name": "English",
6
+ "flag_url": "http://localhost:3000/media/57/65/20/52/3755a41bc40938b41.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
+ "other"
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
+ {
264
+ "one": "{$0}",
265
+ "other": "{$0::plural}"
266
+ },
267
+ {
268
+ "one": "{$0}",
269
+ "other": "{$1}"
270
+ }
271
+ ],
272
+ "rules": {
273
+ "one": {
274
+ "keyword": "one",
275
+ "description": "{token} is 1",
276
+ "examples": "1",
277
+ "conditions": "(= @n 1)",
278
+ "conditions_expression": [
279
+ "=",
280
+ "@n",
281
+ 1
282
+ ]
283
+ },
284
+ "other": {
285
+ "keyword": "other",
286
+ "description": "{token} is not 1",
287
+ "examples": "0, 2-999; 1.2, 2.07..."
288
+ }
289
+ }
290
+ }
291
+ },
292
+ "cases": {
293
+ "ord": {
294
+ "id": 1,
295
+ "keyword": "ord",
296
+ "latin_name": "Ordinal",
297
+ "description": "The adjective form of the cardinal numbers",
298
+ "application": "phrase",
299
+ "rules": [
300
+ {
301
+ "id": 4,
302
+ "description": "append 'th' in all other cases",
303
+ "examples": "0, 4, 5, 6, 7, 8, 9, 11, 12, 13, 111, 113...",
304
+ "conditions": "(true)",
305
+ "conditions_expression": [
306
+ "true"
307
+ ],
308
+ "operations": "(append 'th' @value)",
309
+ "operations_expression": [
310
+ "append",
311
+ "th",
312
+ "@value"
313
+ ]
314
+ },
315
+ {
316
+ "id": 3,
317
+ "description": "append 'nd' if value ends in 3, but not in 13",
318
+ "examples": "3, 23, 33, 43, 103, 123...",
319
+ "conditions": "(&& (match '/3$/' @value) (! (match '/13$/' @value)))",
320
+ "conditions_expression": [
321
+ "&&",
322
+ [
323
+ "match",
324
+ "/3$/",
325
+ "@value"
326
+ ],
327
+ [
328
+ "!",
329
+ [
330
+ "match",
331
+ "/13$/",
332
+ "@value"
333
+ ]
334
+ ]
335
+ ],
336
+ "operations": "(append 'rd' @value)",
337
+ "operations_expression": [
338
+ "append",
339
+ "rd",
340
+ "@value"
341
+ ]
342
+ },
343
+ {
344
+ "id": 2,
345
+ "description": "append 'nd' if value ends in 2, but not in 12",
346
+ "examples": "2, 22, 32, 42, 102, 122...",
347
+ "conditions": "(&& (match '/2$/' @value) (! (match '/12$/' @value)))",
348
+ "conditions_expression": [
349
+ "&&",
350
+ [
351
+ "match",
352
+ "/2$/",
353
+ "@value"
354
+ ],
355
+ [
356
+ "!",
357
+ [
358
+ "match",
359
+ "/12$/",
360
+ "@value"
361
+ ]
362
+ ]
363
+ ],
364
+ "operations": "(append 'nd' @value)",
365
+ "operations_expression": [
366
+ "append",
367
+ "nd",
368
+ "@value"
369
+ ]
370
+ },
371
+ {
372
+ "id": 1,
373
+ "description": "append 'st' if value ends in 1, but not in 11",
374
+ "examples": "1, 21, 31, 41, 101, 121...",
375
+ "conditions": "(&& (match '/1$/' @value) (! (match '/11$/' @value)))",
376
+ "conditions_expression": [
377
+ "&&",
378
+ [
379
+ "match",
380
+ "/1$/",
381
+ "@value"
382
+ ],
383
+ [
384
+ "!",
385
+ [
386
+ "match",
387
+ "/11$/",
388
+ "@value"
389
+ ]
390
+ ]
391
+ ],
392
+ "operations": "(append 'st' @value)",
393
+ "operations_expression": [
394
+ "append",
395
+ "st",
396
+ "@value"
397
+ ]
398
+ }
399
+ ]
400
+ },
401
+ "ordinal": {
402
+ "id": 2,
403
+ "keyword": "ordinal",
404
+ "latin_name": "Ordinal",
405
+ "description": "The adjective form of the cardinal numbers",
406
+ "application": "phrase",
407
+ "rules": [
408
+ {
409
+ "id": 7,
410
+ "description": "replace 3 with 'third'",
411
+ "conditions": "(= 3 @value)",
412
+ "conditions_expression": [
413
+ "=",
414
+ 3,
415
+ "@value"
416
+ ],
417
+ "operations": "(replace 3 'third' @value)",
418
+ "operations_expression": [
419
+ "replace",
420
+ 3,
421
+ "third",
422
+ "@value"
423
+ ]
424
+ },
425
+ {
426
+ "id": 6,
427
+ "description": "replace 2 with 'second'",
428
+ "conditions": "(= 2 @value)",
429
+ "conditions_expression": [
430
+ "=",
431
+ 2,
432
+ "@value"
433
+ ],
434
+ "operations": "(replace 2 'first' @value)",
435
+ "operations_expression": [
436
+ "replace",
437
+ 2,
438
+ "first",
439
+ "@value"
440
+ ]
441
+ },
442
+ {
443
+ "id": 5,
444
+ "description": "replace 1 with 'first'",
445
+ "conditions": "(= 1 @value)",
446
+ "conditions_expression": [
447
+ "=",
448
+ 1,
449
+ "@value"
450
+ ],
451
+ "operations": "(replace 1 'first' @value)",
452
+ "operations_expression": [
453
+ "replace",
454
+ 1,
455
+ "first",
456
+ "@value"
457
+ ]
458
+ }
459
+ ]
460
+ },
461
+ "pos": {
462
+ "id": 3,
463
+ "keyword": "pos",
464
+ "latin_name": "Possessive",
465
+ "description": "Used to indicate possession (i.e., ownership). It is usually created by adding 's to the word",
466
+ "application": "phrase",
467
+ "rules": [
468
+ {
469
+ "id": 9,
470
+ "description": "in all other cases, append 's",
471
+ "conditions": "(true)",
472
+ "conditions_expression": [
473
+ "true"
474
+ ],
475
+ "operations": "(append \"'s\" @value)",
476
+ "operations_expression": [
477
+ "append",
478
+ "'s",
479
+ "@value"
480
+ ]
481
+ },
482
+ {
483
+ "id": 8,
484
+ "description": "if value ends in s, append '",
485
+ "conditions": "(match '/s$/' @value)",
486
+ "conditions_expression": [
487
+ "match",
488
+ "/s$/",
489
+ "@value"
490
+ ],
491
+ "operations": "(append \"'\" @value)",
492
+ "operations_expression": [
493
+ "append",
494
+ "'",
495
+ "@value"
496
+ ]
497
+ }
498
+ ]
499
+ },
500
+ "times": {
501
+ "id": 4,
502
+ "keyword": "times",
503
+ "latin_name": "Iteration",
504
+ "description": "The iteration form of the cardinal numbers",
505
+ "application": "phrase",
506
+ "rules": [
507
+ {
508
+ "id": 12,
509
+ "description": "in all other cases, append x times",
510
+ "conditions": "(true)",
511
+ "conditions_expression": [
512
+ "true"
513
+ ],
514
+ "operations": "(append ' times' @value)",
515
+ "operations_expression": [
516
+ "append",
517
+ " times",
518
+ "@value"
519
+ ]
520
+ },
521
+ {
522
+ "id": 11,
523
+ "description": "replace '2' with 'twice'",
524
+ "conditions": "(= 2 @value)",
525
+ "conditions_expression": [
526
+ "=",
527
+ 2,
528
+ "@value"
529
+ ],
530
+ "operations": "(replace '2' 'twice' @value)",
531
+ "operations_expression": [
532
+ "replace",
533
+ "2",
534
+ "twice",
535
+ "@value"
536
+ ]
537
+ },
538
+ {
539
+ "id": 10,
540
+ "description": "replace '1' with 'once'",
541
+ "conditions": "(= 1 @value)",
542
+ "conditions_expression": [
543
+ "=",
544
+ 1,
545
+ "@value"
546
+ ],
547
+ "operations": "(replace '1' 'once' @value)",
548
+ "operations_expression": [
549
+ "replace",
550
+ "1",
551
+ "once",
552
+ "@value"
553
+ ]
554
+ }
555
+ ]
556
+ },
557
+ "plural": {
558
+ "id": 5,
559
+ "keyword": "plural",
560
+ "latin_name": "Plural",
561
+ "description": "Converts singular form to plural",
562
+ "application": "phrase",
563
+ "rules": [
564
+ {
565
+ "id": 36,
566
+ "conditions": "(match '/$/' @value)",
567
+ "conditions_expression": [
568
+ "match",
569
+ "/$/",
570
+ "@value"
571
+ ],
572
+ "operations": "(replace '/$/' 's' @value)",
573
+ "operations_expression": [
574
+ "replace",
575
+ "/$/",
576
+ "s",
577
+ "@value"
578
+ ]
579
+ },
580
+ {
581
+ "id": 35,
582
+ "conditions": "(match '/s$/i' @value)",
583
+ "conditions_expression": [
584
+ "match",
585
+ "/s$/i",
586
+ "@value"
587
+ ],
588
+ "operations": "(replace '/s$/i' 's' @value)",
589
+ "operations_expression": [
590
+ "replace",
591
+ "/s$/i",
592
+ "s",
593
+ "@value"
594
+ ]
595
+ },
596
+ {
597
+ "id": 34,
598
+ "conditions": "(match '/us$/i' @value)",
599
+ "conditions_expression": [
600
+ "match",
601
+ "/us$/i",
602
+ "@value"
603
+ ],
604
+ "operations": "(replace '/us$/i' '$1es' @value)",
605
+ "operations_expression": [
606
+ "replace",
607
+ "/us$/i",
608
+ "$1es",
609
+ "@value"
610
+ ]
611
+ },
612
+ {
613
+ "id": 33,
614
+ "conditions": "(match '/(ax|test)is$/i' @value)",
615
+ "conditions_expression": [
616
+ "match",
617
+ "/(ax|test)is$/i",
618
+ "@value"
619
+ ],
620
+ "operations": "(replace '/(ax|test)is$/i' '$1es' @value)",
621
+ "operations_expression": [
622
+ "replace",
623
+ "/(ax|test)is$/i",
624
+ "$1es",
625
+ "@value"
626
+ ]
627
+ },
628
+ {
629
+ "id": 32,
630
+ "conditions": "(match '/(octop)us$/i' @value)",
631
+ "conditions_expression": [
632
+ "match",
633
+ "/(octop)us$/i",
634
+ "@value"
635
+ ],
636
+ "operations": "(replace '/(octop)us$/i' '$1i' @value)",
637
+ "operations_expression": [
638
+ "replace",
639
+ "/(octop)us$/i",
640
+ "$1i",
641
+ "@value"
642
+ ]
643
+ },
644
+ {
645
+ "id": 31,
646
+ "conditions": "(match '/(alias|status)$/i' @value)",
647
+ "conditions_expression": [
648
+ "match",
649
+ "/(alias|status)$/i",
650
+ "@value"
651
+ ],
652
+ "operations": "(replace '/(alias|status)$/i' '$1es' @value)",
653
+ "operations_expression": [
654
+ "replace",
655
+ "/(alias|status)$/i",
656
+ "$1es",
657
+ "@value"
658
+ ]
659
+ },
660
+ {
661
+ "id": 30,
662
+ "conditions": "(match '/(bu)s$/i' @value)",
663
+ "conditions_expression": [
664
+ "match",
665
+ "/(bu)s$/i",
666
+ "@value"
667
+ ],
668
+ "operations": "(replace '/(bu)s$/i' '$1ses' @value)",
669
+ "operations_expression": [
670
+ "replace",
671
+ "/(bu)s$/i",
672
+ "$1ses",
673
+ "@value"
674
+ ]
675
+ },
676
+ {
677
+ "id": 29,
678
+ "conditions": "(match '/(buffal|tomat|potat)o$/i' @value)",
679
+ "conditions_expression": [
680
+ "match",
681
+ "/(buffal|tomat|potat)o$/i",
682
+ "@value"
683
+ ],
684
+ "operations": "(replace '/(buffal|tomat|potat)o$/i' '$1oes' @value)",
685
+ "operations_expression": [
686
+ "replace",
687
+ "/(buffal|tomat|potat)o$/i",
688
+ "$1oes",
689
+ "@value"
690
+ ]
691
+ },
692
+ {
693
+ "id": 28,
694
+ "conditions": "(match '/([ti])um$/i' @value)",
695
+ "conditions_expression": [
696
+ "match",
697
+ "/([ti])um$/i",
698
+ "@value"
699
+ ],
700
+ "operations": "(replace '/([ti])um$/i' '$1a' @value)",
701
+ "operations_expression": [
702
+ "replace",
703
+ "/([ti])um$/i",
704
+ "$1a",
705
+ "@value"
706
+ ]
707
+ },
708
+ {
709
+ "id": 27,
710
+ "conditions": "(match '/sis$/i' @value)",
711
+ "conditions_expression": [
712
+ "match",
713
+ "/sis$/i",
714
+ "@value"
715
+ ],
716
+ "operations": "(replace '/sis$/i' 'ses' @value)",
717
+ "operations_expression": [
718
+ "replace",
719
+ "/sis$/i",
720
+ "ses",
721
+ "@value"
722
+ ]
723
+ },
724
+ {
725
+ "id": 26,
726
+ "conditions": "(match '/(?:([^f])fe|([lr])f)$/i' @value)",
727
+ "conditions_expression": [
728
+ "match",
729
+ "/(?:([^f])fe|([lr])f)$/i",
730
+ "@value"
731
+ ],
732
+ "operations": "(replace '/(?:([^f])fe|([lr])f)$/i' '$1$2ves' @value)",
733
+ "operations_expression": [
734
+ "replace",
735
+ "/(?:([^f])fe|([lr])f)$/i",
736
+ "$1$2ves",
737
+ "@value"
738
+ ]
739
+ },
740
+ {
741
+ "id": 25,
742
+ "conditions": "(match '/(hive)$/i' @value)",
743
+ "conditions_expression": [
744
+ "match",
745
+ "/(hive)$/i",
746
+ "@value"
747
+ ],
748
+ "operations": "(replace '/(hive)$/i' '$1s' @value)",
749
+ "operations_expression": [
750
+ "replace",
751
+ "/(hive)$/i",
752
+ "$1s",
753
+ "@value"
754
+ ]
755
+ },
756
+ {
757
+ "id": 24,
758
+ "conditions": "(match '/([^aeiouy]|qu)ies$/i' @value)",
759
+ "conditions_expression": [
760
+ "match",
761
+ "/([^aeiouy]|qu)ies$/i",
762
+ "@value"
763
+ ],
764
+ "operations": "(replace '/([^aeiouy]|qu)ies$/i' '$1y' @value)",
765
+ "operations_expression": [
766
+ "replace",
767
+ "/([^aeiouy]|qu)ies$/i",
768
+ "$1y",
769
+ "@value"
770
+ ]
771
+ },
772
+ {
773
+ "id": 23,
774
+ "conditions": "(match '/([^aeiouy]|qu)y$/i' @value)",
775
+ "conditions_expression": [
776
+ "match",
777
+ "/([^aeiouy]|qu)y$/i",
778
+ "@value"
779
+ ],
780
+ "operations": "(replace '/([^aeiouy]|qu)y$/i' '$1ies' @value)",
781
+ "operations_expression": [
782
+ "replace",
783
+ "/([^aeiouy]|qu)y$/i",
784
+ "$1ies",
785
+ "@value"
786
+ ]
787
+ },
788
+ {
789
+ "id": 22,
790
+ "conditions": "(match '/(x|ch|ss|sh)$/i' @value)",
791
+ "conditions_expression": [
792
+ "match",
793
+ "/(x|ch|ss|sh)$/i",
794
+ "@value"
795
+ ],
796
+ "operations": "(replace '/(x|ch|ss|sh)$/i' '$1es' @value)",
797
+ "operations_expression": [
798
+ "replace",
799
+ "/(x|ch|ss|sh)$/i",
800
+ "$1es",
801
+ "@value"
802
+ ]
803
+ },
804
+ {
805
+ "id": 21,
806
+ "conditions": "(match '/(matr|vert|ind)ix|ex$/i' @value)",
807
+ "conditions_expression": [
808
+ "match",
809
+ "/(matr|vert|ind)ix|ex$/i",
810
+ "@value"
811
+ ],
812
+ "operations": "(replace '/(matr|vert|ind)ix|ex$/i' '$1ices' @value)",
813
+ "operations_expression": [
814
+ "replace",
815
+ "/(matr|vert|ind)ix|ex$/i",
816
+ "$1ices",
817
+ "@value"
818
+ ]
819
+ },
820
+ {
821
+ "id": 20,
822
+ "conditions": "(match '/([m|l])ouse$/i' @value)",
823
+ "conditions_expression": [
824
+ "match",
825
+ "/([m|l])ouse$/i",
826
+ "@value"
827
+ ],
828
+ "operations": "(replace '/([m|l])ouse$/i' '$1ice' @value)",
829
+ "operations_expression": [
830
+ "replace",
831
+ "/([m|l])ouse$/i",
832
+ "$1ice",
833
+ "@value"
834
+ ]
835
+ },
836
+ {
837
+ "id": 19,
838
+ "conditions": "(match '/^(ox)$/i' @value)",
839
+ "conditions_expression": [
840
+ "match",
841
+ "/^(ox)$/i",
842
+ "@value"
843
+ ],
844
+ "operations": "(replace '/^(ox)$/i' '$1en' @value)",
845
+ "operations_expression": [
846
+ "replace",
847
+ "/^(ox)$/i",
848
+ "$1en",
849
+ "@value"
850
+ ]
851
+ },
852
+ {
853
+ "id": 18,
854
+ "conditions": "(match '/(quiz)$/i' @value)",
855
+ "conditions_expression": [
856
+ "match",
857
+ "/(quiz)$/i",
858
+ "@value"
859
+ ],
860
+ "operations": "(replace '/(quiz)$/i' '$1zes' @value)",
861
+ "operations_expression": [
862
+ "replace",
863
+ "/(quiz)$/i",
864
+ "$1zes",
865
+ "@value"
866
+ ]
867
+ },
868
+ {
869
+ "id": 17,
870
+ "description": "Irregular word",
871
+ "conditions": "(= 'person' @value)",
872
+ "conditions_expression": [
873
+ "=",
874
+ "person",
875
+ "@value"
876
+ ],
877
+ "operations": "(quote 'people')",
878
+ "operations_expression": [
879
+ "quote",
880
+ "people"
881
+ ]
882
+ },
883
+ {
884
+ "id": 16,
885
+ "description": "Irregular word",
886
+ "conditions": "(= 'child' @value)",
887
+ "conditions_expression": [
888
+ "=",
889
+ "child",
890
+ "@value"
891
+ ],
892
+ "operations": "(quote 'children')",
893
+ "operations_expression": [
894
+ "quote",
895
+ "children"
896
+ ]
897
+ },
898
+ {
899
+ "id": 15,
900
+ "description": "Irregular word",
901
+ "conditions": "(= 'sex' @value)",
902
+ "conditions_expression": [
903
+ "=",
904
+ "sex",
905
+ "@value"
906
+ ],
907
+ "operations": "(quote 'sexes')",
908
+ "operations_expression": [
909
+ "quote",
910
+ "sexes"
911
+ ]
912
+ },
913
+ {
914
+ "id": 14,
915
+ "description": "Irregular word",
916
+ "conditions": "(= 'move' @value)",
917
+ "conditions_expression": [
918
+ "=",
919
+ "move",
920
+ "@value"
921
+ ],
922
+ "operations": "(quote 'moves')",
923
+ "operations_expression": [
924
+ "quote",
925
+ "moves"
926
+ ]
927
+ },
928
+ {
929
+ "id": 13,
930
+ "description": "Uncountable word",
931
+ "conditions": "(in 'sheep,fish,series,species,money,rice,information,equipment' @value)",
932
+ "conditions_expression": [
933
+ "in",
934
+ "sheep,fish,series,species,money,rice,information,equipment",
935
+ "@value"
936
+ ],
937
+ "operations": "@value",
938
+ "operations_expression": "@value"
939
+ }
940
+ ]
941
+ },
942
+ "singular": {
943
+ "id": 6,
944
+ "keyword": "singular",
945
+ "latin_name": "Singular",
946
+ "description": "Converts plural form to singular",
947
+ "application": "phrase",
948
+ "rules": [
949
+ {
950
+ "id": 66,
951
+ "conditions": "(match '/s$/i' @value)",
952
+ "conditions_expression": [
953
+ "match",
954
+ "/s$/i",
955
+ "@value"
956
+ ],
957
+ "operations": "(replace '/s$/i' '' @value)",
958
+ "operations_expression": [
959
+ "replace",
960
+ "/s$/i",
961
+ "",
962
+ "@value"
963
+ ]
964
+ },
965
+ {
966
+ "id": 65,
967
+ "conditions": "(match '/(us)es$/i' @value)",
968
+ "conditions_expression": [
969
+ "match",
970
+ "/(us)es$/i",
971
+ "@value"
972
+ ],
973
+ "operations": "(replace '/(us)es$/i' '$1' @value)",
974
+ "operations_expression": [
975
+ "replace",
976
+ "/(us)es$/i",
977
+ "$1",
978
+ "@value"
979
+ ]
980
+ },
981
+ {
982
+ "id": 64,
983
+ "conditions": "(match '/(quiz)zes$/i' @value)",
984
+ "conditions_expression": [
985
+ "match",
986
+ "/(quiz)zes$/i",
987
+ "@value"
988
+ ],
989
+ "operations": "(replace '/(quiz)zes$/i' '$1' @value)",
990
+ "operations_expression": [
991
+ "replace",
992
+ "/(quiz)zes$/i",
993
+ "$1",
994
+ "@value"
995
+ ]
996
+ },
997
+ {
998
+ "id": 63,
999
+ "conditions": "(match '/(matr)ices$/i' @value)",
1000
+ "conditions_expression": [
1001
+ "match",
1002
+ "/(matr)ices$/i",
1003
+ "@value"
1004
+ ],
1005
+ "operations": "(replace '/(matr)ices$/i' '$1ix' @value)",
1006
+ "operations_expression": [
1007
+ "replace",
1008
+ "/(matr)ices$/i",
1009
+ "$1ix",
1010
+ "@value"
1011
+ ]
1012
+ },
1013
+ {
1014
+ "id": 62,
1015
+ "conditions": "(match '/(vert|ind)ices$/i' @value)",
1016
+ "conditions_expression": [
1017
+ "match",
1018
+ "/(vert|ind)ices$/i",
1019
+ "@value"
1020
+ ],
1021
+ "operations": "(replace '/(vert|ind)ices$/i' '$1ex' @value)",
1022
+ "operations_expression": [
1023
+ "replace",
1024
+ "/(vert|ind)ices$/i",
1025
+ "$1ex",
1026
+ "@value"
1027
+ ]
1028
+ },
1029
+ {
1030
+ "id": 61,
1031
+ "conditions": "(match '/^(ox)en$/i' @value)",
1032
+ "conditions_expression": [
1033
+ "match",
1034
+ "/^(ox)en$/i",
1035
+ "@value"
1036
+ ],
1037
+ "operations": "(replace '/^(ox)en$/i' '$1' @value)",
1038
+ "operations_expression": [
1039
+ "replace",
1040
+ "/^(ox)en$/i",
1041
+ "$1",
1042
+ "@value"
1043
+ ]
1044
+ },
1045
+ {
1046
+ "id": 60,
1047
+ "conditions": "(match '/(alias|status)es$/i' @value)",
1048
+ "conditions_expression": [
1049
+ "match",
1050
+ "/(alias|status)es$/i",
1051
+ "@value"
1052
+ ],
1053
+ "operations": "(replace '/(alias|status)es$/i' '$1' @value)",
1054
+ "operations_expression": [
1055
+ "replace",
1056
+ "/(alias|status)es$/i",
1057
+ "$1",
1058
+ "@value"
1059
+ ]
1060
+ },
1061
+ {
1062
+ "id": 59,
1063
+ "conditions": "(match '/(octop|vir)i$/i' @value)",
1064
+ "conditions_expression": [
1065
+ "match",
1066
+ "/(octop|vir)i$/i",
1067
+ "@value"
1068
+ ],
1069
+ "operations": "(replace '/(octop|vir)i$/i' '$1us' @value)",
1070
+ "operations_expression": [
1071
+ "replace",
1072
+ "/(octop|vir)i$/i",
1073
+ "$1us",
1074
+ "@value"
1075
+ ]
1076
+ },
1077
+ {
1078
+ "id": 58,
1079
+ "conditions": "(match '/(cris|ax|test)es$/i' @value)",
1080
+ "conditions_expression": [
1081
+ "match",
1082
+ "/(cris|ax|test)es$/i",
1083
+ "@value"
1084
+ ],
1085
+ "operations": "(replace '/(cris|ax|test)es$/i' '$1is' @value)",
1086
+ "operations_expression": [
1087
+ "replace",
1088
+ "/(cris|ax|test)es$/i",
1089
+ "$1is",
1090
+ "@value"
1091
+ ]
1092
+ },
1093
+ {
1094
+ "id": 57,
1095
+ "conditions": "(match '/(shoe)s$/i' @value)",
1096
+ "conditions_expression": [
1097
+ "match",
1098
+ "/(shoe)s$/i",
1099
+ "@value"
1100
+ ],
1101
+ "operations": "(replace '/(shoe)s$/i' '$1' @value)",
1102
+ "operations_expression": [
1103
+ "replace",
1104
+ "/(shoe)s$/i",
1105
+ "$1",
1106
+ "@value"
1107
+ ]
1108
+ },
1109
+ {
1110
+ "id": 56,
1111
+ "conditions": "(match '/(o)es$/i' @value)",
1112
+ "conditions_expression": [
1113
+ "match",
1114
+ "/(o)es$/i",
1115
+ "@value"
1116
+ ],
1117
+ "operations": "(replace '/(o)es$/i' '$1' @value)",
1118
+ "operations_expression": [
1119
+ "replace",
1120
+ "/(o)es$/i",
1121
+ "$1",
1122
+ "@value"
1123
+ ]
1124
+ },
1125
+ {
1126
+ "id": 55,
1127
+ "conditions": "(match '/(bus)es$/i' @value)",
1128
+ "conditions_expression": [
1129
+ "match",
1130
+ "/(bus)es$/i",
1131
+ "@value"
1132
+ ],
1133
+ "operations": "(replace '/(bus)es$/i' '$1' @value)",
1134
+ "operations_expression": [
1135
+ "replace",
1136
+ "/(bus)es$/i",
1137
+ "$1",
1138
+ "@value"
1139
+ ]
1140
+ },
1141
+ {
1142
+ "id": 54,
1143
+ "conditions": "(match '/([m|l])ice$/i' @value)",
1144
+ "conditions_expression": [
1145
+ "match",
1146
+ "/([m|l])ice$/i",
1147
+ "@value"
1148
+ ],
1149
+ "operations": "(replace '/([m|l])ice$/i' '$1ouse' @value)",
1150
+ "operations_expression": [
1151
+ "replace",
1152
+ "/([m|l])ice$/i",
1153
+ "$1ouse",
1154
+ "@value"
1155
+ ]
1156
+ },
1157
+ {
1158
+ "id": 53,
1159
+ "conditions": "(match '/(x|ch|ss|sh)es$/i' @value)",
1160
+ "conditions_expression": [
1161
+ "match",
1162
+ "/(x|ch|ss|sh)es$/i",
1163
+ "@value"
1164
+ ],
1165
+ "operations": "(replace '/(x|ch|ss|sh)es$/i' '$1' @value)",
1166
+ "operations_expression": [
1167
+ "replace",
1168
+ "/(x|ch|ss|sh)es$/i",
1169
+ "$1",
1170
+ "@value"
1171
+ ]
1172
+ },
1173
+ {
1174
+ "id": 52,
1175
+ "conditions": "(match '/(m)ovies$/i' @value)",
1176
+ "conditions_expression": [
1177
+ "match",
1178
+ "/(m)ovies$/i",
1179
+ "@value"
1180
+ ],
1181
+ "operations": "(replace '/(m)ovies$/i' '$1ovie' @value)",
1182
+ "operations_expression": [
1183
+ "replace",
1184
+ "/(m)ovies$/i",
1185
+ "$1ovie",
1186
+ "@value"
1187
+ ]
1188
+ },
1189
+ {
1190
+ "id": 51,
1191
+ "conditions": "(match '/(s)eries$/i' @value)",
1192
+ "conditions_expression": [
1193
+ "match",
1194
+ "/(s)eries$/i",
1195
+ "@value"
1196
+ ],
1197
+ "operations": "(replace '/(s)eries$/i' '$1eries' @value)",
1198
+ "operations_expression": [
1199
+ "replace",
1200
+ "/(s)eries$/i",
1201
+ "$1eries",
1202
+ "@value"
1203
+ ]
1204
+ },
1205
+ {
1206
+ "id": 50,
1207
+ "conditions": "(match '/([^aeiouy]|qu)ies$/i' @value)",
1208
+ "conditions_expression": [
1209
+ "match",
1210
+ "/([^aeiouy]|qu)ies$/i",
1211
+ "@value"
1212
+ ],
1213
+ "operations": "(replace '/([^aeiouy]|qu)ies$/i' '$1y' @value)",
1214
+ "operations_expression": [
1215
+ "replace",
1216
+ "/([^aeiouy]|qu)ies$/i",
1217
+ "$1y",
1218
+ "@value"
1219
+ ]
1220
+ },
1221
+ {
1222
+ "id": 49,
1223
+ "conditions": "(match '/([lr])ves$/i' @value)",
1224
+ "conditions_expression": [
1225
+ "match",
1226
+ "/([lr])ves$/i",
1227
+ "@value"
1228
+ ],
1229
+ "operations": "(replace '/([lr])ves$/i' '$1f' @value)",
1230
+ "operations_expression": [
1231
+ "replace",
1232
+ "/([lr])ves$/i",
1233
+ "$1f",
1234
+ "@value"
1235
+ ]
1236
+ },
1237
+ {
1238
+ "id": 48,
1239
+ "conditions": "(match '/(tive)s$/i' @value)",
1240
+ "conditions_expression": [
1241
+ "match",
1242
+ "/(tive)s$/i",
1243
+ "@value"
1244
+ ],
1245
+ "operations": "(replace '/(tive)s$/i' '$1' @value)",
1246
+ "operations_expression": [
1247
+ "replace",
1248
+ "/(tive)s$/i",
1249
+ "$1",
1250
+ "@value"
1251
+ ]
1252
+ },
1253
+ {
1254
+ "id": 47,
1255
+ "conditions": "(match '/(hive)s$/i' @value)",
1256
+ "conditions_expression": [
1257
+ "match",
1258
+ "/(hive)s$/i",
1259
+ "@value"
1260
+ ],
1261
+ "operations": "(replace '/(hive)s$/i' '$1' @value)",
1262
+ "operations_expression": [
1263
+ "replace",
1264
+ "/(hive)s$/i",
1265
+ "$1",
1266
+ "@value"
1267
+ ]
1268
+ },
1269
+ {
1270
+ "id": 46,
1271
+ "conditions": "(match '/([^f])ves$/i' @value)",
1272
+ "conditions_expression": [
1273
+ "match",
1274
+ "/([^f])ves$/i",
1275
+ "@value"
1276
+ ],
1277
+ "operations": "(replace '/([^f])ves$/i' '$1fe' @value)",
1278
+ "operations_expression": [
1279
+ "replace",
1280
+ "/([^f])ves$/i",
1281
+ "$1fe",
1282
+ "@value"
1283
+ ]
1284
+ },
1285
+ {
1286
+ "id": 45,
1287
+ "conditions": "(match '/(^analy)ses$/i' @value)",
1288
+ "conditions_expression": [
1289
+ "match",
1290
+ "/(^analy)ses$/i",
1291
+ "@value"
1292
+ ],
1293
+ "operations": "(replace '/(^analy)ses$/i' '$1sis' @value)",
1294
+ "operations_expression": [
1295
+ "replace",
1296
+ "/(^analy)ses$/i",
1297
+ "$1sis",
1298
+ "@value"
1299
+ ]
1300
+ },
1301
+ {
1302
+ "id": 44,
1303
+ "conditions": "(match '/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' @value)",
1304
+ "conditions_expression": [
1305
+ "match",
1306
+ "/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i",
1307
+ "@value"
1308
+ ],
1309
+ "operations": "(replace '/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i' '$1$2sis' @value)",
1310
+ "operations_expression": [
1311
+ "replace",
1312
+ "/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i",
1313
+ "$1$2sis",
1314
+ "@value"
1315
+ ]
1316
+ },
1317
+ {
1318
+ "id": 43,
1319
+ "conditions": "(match '/([ti])a$/i' @value)",
1320
+ "conditions_expression": [
1321
+ "match",
1322
+ "/([ti])a$/i",
1323
+ "@value"
1324
+ ],
1325
+ "operations": "(replace '/([ti])a$/i' '$1um' @value)",
1326
+ "operations_expression": [
1327
+ "replace",
1328
+ "/([ti])a$/i",
1329
+ "$1um",
1330
+ "@value"
1331
+ ]
1332
+ },
1333
+ {
1334
+ "id": 42,
1335
+ "conditions": "(match '/(n)ews$/i' @value)",
1336
+ "conditions_expression": [
1337
+ "match",
1338
+ "/(n)ews$/i",
1339
+ "@value"
1340
+ ],
1341
+ "operations": "(replace '/(n)ews$/i' '$1ews' @value)",
1342
+ "operations_expression": [
1343
+ "replace",
1344
+ "/(n)ews$/i",
1345
+ "$1ews",
1346
+ "@value"
1347
+ ]
1348
+ },
1349
+ {
1350
+ "id": 41,
1351
+ "description": "Irregular word",
1352
+ "conditions": "(= 'people' @value)",
1353
+ "conditions_expression": [
1354
+ "=",
1355
+ "people",
1356
+ "@value"
1357
+ ],
1358
+ "operations": "(quote 'person')",
1359
+ "operations_expression": [
1360
+ "quote",
1361
+ "person"
1362
+ ]
1363
+ },
1364
+ {
1365
+ "id": 40,
1366
+ "description": "Irregular word",
1367
+ "conditions": "(= 'children' @value)",
1368
+ "conditions_expression": [
1369
+ "=",
1370
+ "children",
1371
+ "@value"
1372
+ ],
1373
+ "operations": "(quote 'child')",
1374
+ "operations_expression": [
1375
+ "quote",
1376
+ "child"
1377
+ ]
1378
+ },
1379
+ {
1380
+ "id": 39,
1381
+ "description": "Irregular word",
1382
+ "conditions": "(= 'sexes' @value)",
1383
+ "conditions_expression": [
1384
+ "=",
1385
+ "sexes",
1386
+ "@value"
1387
+ ],
1388
+ "operations": "(quote 'sex')",
1389
+ "operations_expression": [
1390
+ "quote",
1391
+ "sex"
1392
+ ]
1393
+ },
1394
+ {
1395
+ "id": 38,
1396
+ "description": "Irregular word",
1397
+ "conditions": "(= 'moves' @value)",
1398
+ "conditions_expression": [
1399
+ "=",
1400
+ "moves",
1401
+ "@value"
1402
+ ],
1403
+ "operations": "(quote 'move')",
1404
+ "operations_expression": [
1405
+ "quote",
1406
+ "move"
1407
+ ]
1408
+ },
1409
+ {
1410
+ "id": 37,
1411
+ "description": "Uncountable word",
1412
+ "conditions": "(in 'sheep,fish,series,species,money,rice,information,equipment' @value)",
1413
+ "conditions_expression": [
1414
+ "in",
1415
+ "sheep,fish,series,species,money,rice,information,equipment",
1416
+ "@value"
1417
+ ],
1418
+ "operations": "@value",
1419
+ "operations_expression": "@value"
1420
+ }
1421
+ ]
1422
+ }
1423
+ }
1424
+ }