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