checkoff 0.223.0 → 0.225.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/checkoff.gemspec +10 -5
  3. data/lib/checkoff/cli.rb +1 -1
  4. data/lib/checkoff/clients.rb +1 -1
  5. data/lib/checkoff/custom_fields.rb +1 -1
  6. data/lib/checkoff/events.rb +1 -1
  7. data/lib/checkoff/internal/config_loader.rb +2 -3
  8. data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -2
  9. data/lib/checkoff/my_tasks.rb +1 -1
  10. data/lib/checkoff/portfolios.rb +11 -9
  11. data/lib/checkoff/projects.rb +1 -1
  12. data/lib/checkoff/sections.rb +3 -4
  13. data/lib/checkoff/tags.rb +66 -17
  14. data/lib/checkoff/tasks.rb +1 -1
  15. data/lib/checkoff/version.rb +1 -1
  16. data/lib/checkoff/workspaces.rb +1 -1
  17. data/rbi/checkoff.rbi +4529 -0
  18. data/sig/checkoff.rbs +3749 -0
  19. metadata +4 -210
  20. data/.circleci/config.yml +0 -291
  21. data/.envrc +0 -9
  22. data/.git-hooks/pre_commit/circle_ci.rb +0 -26
  23. data/.git-hooks/pre_commit/punchlist.rb +0 -52
  24. data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -77
  25. data/.gitattributes +0 -6
  26. data/.gitignore +0 -65
  27. data/.markdownlint_style.rb +0 -4
  28. data/.mdlrc +0 -1
  29. data/.overcommit.yml +0 -115
  30. data/.rubocop.yml +0 -143
  31. data/.rubocop_todo.yml +0 -90
  32. data/.solargraph.yml +0 -35
  33. data/.yamllint.yml +0 -8
  34. data/.yardopts +0 -2
  35. data/CODE_OF_CONDUCT.md +0 -133
  36. data/CONTRIBUTING.rst +0 -75
  37. data/DEVELOPMENT.md +0 -69
  38. data/GLOSSARY.md +0 -16
  39. data/Gemfile +0 -67
  40. data/Gemfile.lock +0 -351
  41. data/LICENSE +0 -21
  42. data/Makefile +0 -139
  43. data/bin/brakeman +0 -27
  44. data/bin/bump +0 -29
  45. data/bin/checkoff +0 -29
  46. data/bin/console +0 -15
  47. data/bin/overcommit +0 -29
  48. data/bin/overcommit_branch +0 -114
  49. data/bin/rake +0 -29
  50. data/bin/rubocop +0 -27
  51. data/bin/setup +0 -8
  52. data/bin/solargraph +0 -27
  53. data/bin/sord +0 -27
  54. data/bin/spoom +0 -27
  55. data/bin/srb +0 -27
  56. data/bin/srb-rbi +0 -27
  57. data/bin/tapioca +0 -27
  58. data/bin/yard +0 -27
  59. data/config/annotations_asana.rb +0 -253
  60. data/config/annotations_misc.rb +0 -68
  61. data/config/env.1p +0 -2
  62. data/docs/.gitignore +0 -3
  63. data/docs/cookiecutter_input.json +0 -17
  64. data/docs/example_project.png +0 -0
  65. data/fix.sh +0 -534
  66. data/metrics/bigfiles_high_water_mark +0 -1
  67. data/metrics/brakeman_high_water_mark +0 -1
  68. data/metrics/bundle-audit_high_water_mark +0 -1
  69. data/metrics/cane_high_water_mark +0 -1
  70. data/metrics/eslint_high_water_mark +0 -1
  71. data/metrics/flake8_high_water_mark +0 -1
  72. data/metrics/flay_high_water_mark +0 -1
  73. data/metrics/flog_high_water_mark +0 -1
  74. data/metrics/jscs_high_water_mark +0 -1
  75. data/metrics/mdl_high_water_mark +0 -1
  76. data/metrics/pep8_high_water_mark +0 -1
  77. data/metrics/punchlist_high_water_mark +0 -1
  78. data/metrics/pycodestyle_high_water_mark +0 -1
  79. data/metrics/rails_best_practices_high_water_mark +0 -1
  80. data/metrics/rubocop_high_water_mark +0 -1
  81. data/metrics/scalastyle_high_water_mark +0 -1
  82. data/metrics/shellcheck_high_water_mark +0 -1
  83. data/package.json +0 -9
  84. data/rakelib/citest.rake +0 -4
  85. data/rakelib/clear_metrics.rake +0 -9
  86. data/rakelib/console.rake +0 -15
  87. data/rakelib/default.rake +0 -4
  88. data/rakelib/doc.rake +0 -6
  89. data/rakelib/gem_tasks.rake +0 -3
  90. data/rakelib/localtest.rake +0 -4
  91. data/rakelib/overcommit.rake +0 -6
  92. data/rakelib/quality.rake +0 -4
  93. data/rakelib/repl.rake +0 -4
  94. data/rakelib/test.rake +0 -10
  95. data/rakelib/trigger_next_builds.rake +0 -7
  96. data/rakelib/undercover.rake +0 -8
  97. data/requirements_dev.txt +0 -2
  98. data/sorbet/config +0 -4
  99. data/sorbet/rbi/annotations/.gitattributes +0 -1
  100. data/sorbet/rbi/annotations/activesupport.rbi +0 -453
  101. data/sorbet/rbi/annotations/faraday.rbi +0 -17
  102. data/sorbet/rbi/annotations/minitest.rbi +0 -119
  103. data/sorbet/rbi/annotations/mocha.rbi +0 -34
  104. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  105. data/sorbet/rbi/annotations/webmock.rbi +0 -9
  106. data/sorbet/rbi/dsl/.gitattributes +0 -1
  107. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
  108. data/sorbet/rbi/gems/.gitattributes +0 -1
  109. data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
  110. data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
  111. data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
  112. data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
  113. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
  114. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
  115. data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
  116. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
  117. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
  118. data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
  119. data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
  120. data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
  121. data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
  122. data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
  123. data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
  124. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
  125. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
  126. data/sorbet/rbi/gems/commander@4.6.0.rbi +0 -9
  127. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
  128. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
  129. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
  130. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
  131. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
  132. data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
  133. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
  134. data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
  135. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
  136. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
  137. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
  138. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
  139. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
  140. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
  141. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
  142. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
  143. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
  144. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
  145. data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
  146. data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
  147. data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
  148. data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
  149. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
  150. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -9
  151. data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
  152. data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
  153. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
  154. data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
  155. data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
  156. data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
  157. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
  158. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
  159. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
  160. data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
  161. data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
  162. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
  163. data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
  164. data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
  165. data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
  166. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
  167. data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
  168. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
  169. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
  170. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
  171. data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
  172. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
  173. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
  174. data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
  175. data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
  176. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  177. data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
  178. data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
  179. data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
  180. data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
  181. data/sorbet/rbi/gems/parlour@5.0.0.rbi +0 -3007
  182. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
  183. data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
  184. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
  185. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
  186. data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
  187. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
  188. data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
  189. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  190. data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
  191. data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
  192. data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
  193. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
  194. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
  195. data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
  196. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7127
  197. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
  198. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
  199. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
  200. data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
  201. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
  202. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  203. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
  204. data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
  205. data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
  206. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
  207. data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
  208. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
  209. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
  210. data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
  211. data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
  212. data/sorbet/rbi/gems/sord@5.1.0.rbi +0 -820
  213. data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
  214. data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
  215. data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
  216. data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
  217. data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
  218. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
  219. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
  220. data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
  221. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
  222. data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
  223. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  224. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
  225. data/sorbet/rbi/todo.rbi +0 -11
  226. data/sorbet/tapioca/config.yml +0 -13
  227. data/sorbet/tapioca/require.rb +0 -4
@@ -1,2359 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This is an autogenerated file for types exported from the `i18n` gem.
5
- # Please instead update this file by running `bin/tapioca gem i18n`.
6
-
7
-
8
- # source://i18n//lib/i18n/gettext/po_parser.rb#15
9
- module GetText; end
10
-
11
- # source://i18n//lib/i18n/gettext/po_parser.rb#17
12
- class GetText::PoParser < ::Racc::Parser
13
- # source://i18n//lib/i18n/gettext/po_parser.rb#19
14
- def _(x); end
15
-
16
- def _reduce_10(val, _values, result); end
17
- def _reduce_12(val, _values, result); end
18
- def _reduce_13(val, _values, result); end
19
- def _reduce_14(val, _values, result); end
20
- def _reduce_15(val, _values, result); end
21
- def _reduce_5(val, _values, result); end
22
- def _reduce_8(val, _values, result); end
23
- def _reduce_9(val, _values, result); end
24
-
25
- # source://i18n//lib/i18n/gettext/po_parser.rb#323
26
- def _reduce_none(val, _values, result); end
27
-
28
- def next_token; end
29
- def on_comment(comment); end
30
- def on_message(msgid, msgstr); end
31
- def parse(str, data, ignore_fuzzy = T.unsafe(nil)); end
32
- def unescape(orig); end
33
- end
34
-
35
- # source://i18n//lib/i18n/gettext/po_parser.rb#184
36
- GetText::PoParser::Racc_arg = T.let(T.unsafe(nil), Array)
37
-
38
- # source://i18n//lib/i18n/gettext/po_parser.rb#221
39
- GetText::PoParser::Racc_debug_parser = T.let(T.unsafe(nil), TrueClass)
40
-
41
- # source://i18n//lib/i18n/gettext/po_parser.rb#200
42
- GetText::PoParser::Racc_token_to_s_table = T.let(T.unsafe(nil), Array)
43
-
44
- # Simple Locale tag implementation that computes subtags by simply splitting
45
- # the locale tag at '-' occurrences.
46
- #
47
- # source://i18n//lib/i18n/version.rb#3
48
- module I18n
49
- extend ::I18n::Base
50
-
51
- class << self
52
- # source://i18n//lib/i18n/backend/cache.rb#64
53
- def cache_key_digest; end
54
-
55
- # source://i18n//lib/i18n/backend/cache.rb#68
56
- def cache_key_digest=(key_digest); end
57
-
58
- # source://i18n//lib/i18n/backend/cache.rb#56
59
- def cache_namespace; end
60
-
61
- # source://i18n//lib/i18n/backend/cache.rb#60
62
- def cache_namespace=(namespace); end
63
-
64
- # source://i18n//lib/i18n/backend/cache.rb#48
65
- def cache_store; end
66
-
67
- # source://i18n//lib/i18n/backend/cache.rb#52
68
- def cache_store=(store); end
69
-
70
- # Returns the current fallbacks implementation. Defaults to +I18n::Locale::Fallbacks+.
71
- #
72
- # source://i18n//lib/i18n/backend/fallbacks.rb#17
73
- def fallbacks; end
74
-
75
- # Sets the current fallbacks implementation. Use this to set a different fallbacks implementation.
76
- #
77
- # source://i18n//lib/i18n/backend/fallbacks.rb#23
78
- def fallbacks=(fallbacks); end
79
-
80
- # Return String or raises MissingInterpolationArgument exception.
81
- # Missing argument's logic is handled by I18n.config.missing_interpolation_argument_handler.
82
- #
83
- # @raise [ReservedInterpolationKey]
84
- #
85
- # source://i18n//lib/i18n/interpolate/ruby.rb#23
86
- def interpolate(string, values); end
87
-
88
- # source://i18n//lib/i18n/interpolate/ruby.rb#29
89
- def interpolate_hash(string, values); end
90
-
91
- # source://i18n//lib/i18n.rb#38
92
- def new_double_nested_cache; end
93
-
94
- # @return [Boolean]
95
- #
96
- # source://i18n//lib/i18n/backend/cache.rb#72
97
- def perform_caching?; end
98
-
99
- # Marks a key as reserved. Reserved keys are used internally,
100
- # and can't also be used for interpolation. If you are using any
101
- # extra keys as I18n options, you should call I18n.reserve_key
102
- # before any I18n.translate (etc) calls are made.
103
- #
104
- # source://i18n//lib/i18n.rb#46
105
- def reserve_key(key); end
106
-
107
- # source://i18n//lib/i18n.rb#51
108
- def reserved_keys_pattern; end
109
- end
110
- end
111
-
112
- # source://i18n//lib/i18n/exceptions.rb#16
113
- class I18n::ArgumentError < ::ArgumentError; end
114
-
115
- # source://i18n//lib/i18n/backend.rb#4
116
- module I18n::Backend; end
117
-
118
- # source://i18n//lib/i18n/backend/base.rb#8
119
- module I18n::Backend::Base
120
- include ::I18n::Backend::Transliterator
121
-
122
- # Returns an array of locales for which translations are available
123
- # ignoring the reserved translation meta data key :i18n.
124
- #
125
- # @raise [NotImplementedError]
126
- #
127
- # source://i18n//lib/i18n/backend/base.rb#97
128
- def available_locales; end
129
-
130
- # source://i18n//lib/i18n/backend/base.rb#105
131
- def eager_load!; end
132
-
133
- # @return [Boolean]
134
- #
135
- # source://i18n//lib/i18n/backend/base.rb#71
136
- def exists?(locale, key, options = T.unsafe(nil)); end
137
-
138
- # Accepts a list of paths to translation files. Loads translations from
139
- # plain Ruby (*.rb), YAML files (*.yml), or JSON files (*.json). See #load_rb, #load_yml, and #load_json
140
- # for details.
141
- #
142
- # source://i18n//lib/i18n/backend/base.rb#14
143
- def load_translations(*filenames); end
144
-
145
- # Acts the same as +strftime+, but uses a localized version of the
146
- # format string. Takes a key from the date/time formats translations as
147
- # a format argument (<em>e.g.</em>, <tt>:short</tt> in <tt>:'date.formats'</tt>).
148
- #
149
- # @raise [ArgumentError]
150
- #
151
- # source://i18n//lib/i18n/backend/base.rb#78
152
- def localize(locale, object, format = T.unsafe(nil), options = T.unsafe(nil)); end
153
-
154
- # source://i18n//lib/i18n/backend/base.rb#101
155
- def reload!; end
156
-
157
- # This method receives a locale, a data hash and options for storing translations.
158
- # Should be implemented
159
- #
160
- # @raise [NotImplementedError]
161
- #
162
- # source://i18n//lib/i18n/backend/base.rb#24
163
- def store_translations(locale, data, options = T.unsafe(nil)); end
164
-
165
- # @raise [I18n::ArgumentError]
166
- #
167
- # source://i18n//lib/i18n/backend/base.rb#28
168
- def translate(locale, key, options = T.unsafe(nil)); end
169
-
170
- protected
171
-
172
- # Deep interpolation
173
- #
174
- # deep_interpolate { people: { ann: "Ann is %{ann}", john: "John is %{john}" } },
175
- # ann: 'good', john: 'big'
176
- # #=> { people: { ann: "Ann is good", john: "John is big" } }
177
- #
178
- # source://i18n//lib/i18n/backend/base.rb#217
179
- def deep_interpolate(locale, data, values = T.unsafe(nil)); end
180
-
181
- # Evaluates defaults.
182
- # If given subject is an Array, it walks the array and returns the
183
- # first translation that can be resolved. Otherwise it tries to resolve
184
- # the translation directly.
185
- #
186
- # source://i18n//lib/i18n/backend/base.rb#128
187
- def default(locale, object, subject, options = T.unsafe(nil)); end
188
-
189
- # @return [Boolean]
190
- #
191
- # source://i18n//lib/i18n/backend/base.rb#111
192
- def eager_loaded?; end
193
-
194
- # Interpolates values into a given subject.
195
- #
196
- # if the given subject is a string then:
197
- # method interpolates "file %{file} opened by %%{user}", :file => 'test.txt', :user => 'Mr. X'
198
- # # => "file test.txt opened by %{user}"
199
- #
200
- # if the given subject is an array then:
201
- # each element of the array is recursively interpolated (until it finds a string)
202
- # method interpolates ["yes, %{user}", ["maybe no, %{user}", "no, %{user}"]], :user => "bartuz"
203
- # # => ["yes, bartuz", ["maybe no, bartuz", "no, bartuz"]]
204
- #
205
- # source://i18n//lib/i18n/backend/base.rb#201
206
- def interpolate(locale, subject, values = T.unsafe(nil)); end
207
-
208
- # Loads a single translations file by delegating to #load_rb or
209
- # #load_yml depending on the file extension and directly merges the
210
- # data to the existing translations. Raises I18n::UnknownFileType
211
- # for all other file extensions.
212
- #
213
- # @raise [UnknownFileType]
214
- #
215
- # source://i18n//lib/i18n/backend/base.rb#240
216
- def load_file(filename); end
217
-
218
- # Loads a JSON translations file. The data must have locales as
219
- # toplevel keys.
220
- #
221
- # source://i18n//lib/i18n/backend/base.rb#276
222
- def load_json(filename); end
223
-
224
- # Loads a plain Ruby translations file. eval'ing the file must yield
225
- # a Hash containing translation data with locales as toplevel keys.
226
- #
227
- # source://i18n//lib/i18n/backend/base.rb#254
228
- def load_rb(filename); end
229
-
230
- # Loads a YAML translations file. The data must have locales as
231
- # toplevel keys.
232
- #
233
- # source://i18n//lib/i18n/backend/base.rb#261
234
- def load_yaml(filename); end
235
-
236
- # Loads a YAML translations file. The data must have locales as
237
- # toplevel keys.
238
- #
239
- # source://i18n//lib/i18n/backend/base.rb#261
240
- def load_yml(filename); end
241
-
242
- # The method which actually looks up for the translation in the store.
243
- #
244
- # @raise [NotImplementedError]
245
- #
246
- # source://i18n//lib/i18n/backend/base.rb#116
247
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
248
-
249
- # source://i18n//lib/i18n/backend/base.rb#308
250
- def pluralization_key(entry, count); end
251
-
252
- # Picks a translation from a pluralized mnemonic subkey according to English
253
- # pluralization rules :
254
- # - It will pick the :one subkey if count is equal to 1.
255
- # - It will pick the :other subkey otherwise.
256
- # - It will pick the :zero subkey in the special case where count is
257
- # equal to 0 and there is a :zero subkey present. This behaviour is
258
- # not standard with regards to the CLDR pluralization rules.
259
- # Other backends can implement more flexible or complex pluralization rules.
260
- #
261
- # @raise [InvalidPluralizationData]
262
- #
263
- # source://i18n//lib/i18n/backend/base.rb#182
264
- def pluralize(locale, entry, count); end
265
-
266
- # Resolves a translation.
267
- # If the given subject is a Symbol, it will be translated with the
268
- # given options. If it is a Proc then it will be evaluated. All other
269
- # subjects will be returned directly.
270
- #
271
- # source://i18n//lib/i18n/backend/base.rb#150
272
- def resolve(locale, object, subject, options = T.unsafe(nil)); end
273
-
274
- # Resolves a translation.
275
- # If the given subject is a Symbol, it will be translated with the
276
- # given options. If it is a Proc then it will be evaluated. All other
277
- # subjects will be returned directly.
278
- #
279
- # source://i18n//lib/i18n/backend/base.rb#150
280
- def resolve_entry(locale, object, subject, options = T.unsafe(nil)); end
281
-
282
- # @return [Boolean]
283
- #
284
- # source://i18n//lib/i18n/backend/base.rb#120
285
- def subtrees?; end
286
-
287
- # source://i18n//lib/i18n/backend/base.rb#289
288
- def translate_localization_format(locale, object, format, options); end
289
- end
290
-
291
- # TODO Should the cache be cleared if new translations are stored?
292
- #
293
- # source://i18n//lib/i18n/backend/cache.rb#79
294
- module I18n::Backend::Cache
295
- # source://i18n//lib/i18n/backend/cache.rb#80
296
- def translate(locale, key, options = T.unsafe(nil)); end
297
-
298
- protected
299
-
300
- # source://i18n//lib/i18n/backend/cache.rb#93
301
- def _fetch(cache_key, &block); end
302
-
303
- # source://i18n//lib/i18n/backend/cache.rb#101
304
- def cache_key(locale, key, options); end
305
-
306
- # source://i18n//lib/i18n/backend/cache.rb#86
307
- def fetch(cache_key, &block); end
308
-
309
- private
310
-
311
- # source://i18n//lib/i18n/backend/cache.rb#108
312
- def digest_item(key); end
313
- end
314
-
315
- # Overwrites the Base load_file method to cache loaded file contents.
316
- #
317
- # source://i18n//lib/i18n/backend/cache_file.rb#8
318
- module I18n::Backend::CacheFile
319
- # Optionally provide path_roots array to normalize filename paths,
320
- # to make the cached i18n data portable across environments.
321
- #
322
- # source://i18n//lib/i18n/backend/cache_file.rb#11
323
- def path_roots; end
324
-
325
- # Optionally provide path_roots array to normalize filename paths,
326
- # to make the cached i18n data portable across environments.
327
- #
328
- # source://i18n//lib/i18n/backend/cache_file.rb#11
329
- def path_roots=(_arg0); end
330
-
331
- protected
332
-
333
- # Track loaded translation files in the `i18n.load_file` scope,
334
- # and skip loading the file if its contents are still up-to-date.
335
- #
336
- # source://i18n//lib/i18n/backend/cache_file.rb#17
337
- def load_file(filename); end
338
-
339
- # Translate absolute filename to relative path for i18n key.
340
- #
341
- # source://i18n//lib/i18n/backend/cache_file.rb#28
342
- def normalized_path(file); end
343
- end
344
-
345
- # source://i18n//lib/i18n/backend/cascade.rb#35
346
- module I18n::Backend::Cascade
347
- # source://i18n//lib/i18n/backend/cascade.rb#36
348
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
349
- end
350
-
351
- # Backend that chains multiple other backends and checks each of them when
352
- # a translation needs to be looked up. This is useful when you want to use
353
- # standard translations with a Simple backend but store custom application
354
- # translations in a database or other backends.
355
- #
356
- # To use the Chain backend instantiate it and set it to the I18n module.
357
- # You can add chained backends through the initializer or backends
358
- # accessor:
359
- #
360
- # # preserves the existing Simple backend set to I18n.backend
361
- # I18n.backend = I18n::Backend::Chain.new(I18n::Backend::ActiveRecord.new, I18n.backend)
362
- #
363
- # The implementation assumes that all backends added to the Chain implement
364
- # a lookup method with the same API as Simple backend does.
365
- #
366
- # Fallback translations using the :default option are only used by the last backend of a chain.
367
- #
368
- # source://i18n//lib/i18n/backend/chain.rb#21
369
- class I18n::Backend::Chain
370
- include ::I18n::Backend::Transliterator
371
- include ::I18n::Backend::Base
372
- include ::I18n::Backend::Chain::Implementation
373
- end
374
-
375
- # source://i18n//lib/i18n/backend/chain.rb#22
376
- module I18n::Backend::Chain::Implementation
377
- include ::I18n::Backend::Transliterator
378
- include ::I18n::Backend::Base
379
-
380
- # source://i18n//lib/i18n/backend/chain.rb#27
381
- def initialize(*backends); end
382
-
383
- # source://i18n//lib/i18n/backend/chain.rb#52
384
- def available_locales; end
385
-
386
- # Returns the value of attribute backends.
387
- #
388
- # source://i18n//lib/i18n/backend/chain.rb#25
389
- def backends; end
390
-
391
- # Sets the attribute backends
392
- #
393
- # @param value the value to set the attribute backends to.
394
- #
395
- # source://i18n//lib/i18n/backend/chain.rb#25
396
- def backends=(_arg0); end
397
-
398
- # source://i18n//lib/i18n/backend/chain.rb#44
399
- def eager_load!; end
400
-
401
- # @return [Boolean]
402
- #
403
- # source://i18n//lib/i18n/backend/chain.rb#76
404
- def exists?(locale, key, options = T.unsafe(nil)); end
405
-
406
- # @return [Boolean]
407
- #
408
- # source://i18n//lib/i18n/backend/chain.rb#31
409
- def initialized?; end
410
-
411
- # source://i18n//lib/i18n/backend/chain.rb#82
412
- def localize(locale, object, format = T.unsafe(nil), options = T.unsafe(nil)); end
413
-
414
- # source://i18n//lib/i18n/backend/chain.rb#40
415
- def reload!; end
416
-
417
- # source://i18n//lib/i18n/backend/chain.rb#48
418
- def store_translations(locale, data, options = T.unsafe(nil)); end
419
-
420
- # source://i18n//lib/i18n/backend/chain.rb#56
421
- def translate(locale, key, default_options = T.unsafe(nil)); end
422
-
423
- protected
424
-
425
- # source://i18n//lib/i18n/backend/chain.rb#92
426
- def init_translations; end
427
-
428
- # @return [Boolean]
429
- #
430
- # source://i18n//lib/i18n/backend/chain.rb#108
431
- def namespace_lookup?(result, options); end
432
-
433
- # source://i18n//lib/i18n/backend/chain.rb#98
434
- def translations; end
435
-
436
- private
437
-
438
- # This is approximately what gets used in ActiveSupport.
439
- # However since we are not guaranteed to run in an ActiveSupport context
440
- # it is wise to have our own copy. We underscore it
441
- # to not pollute the namespace of the including class.
442
- #
443
- # source://i18n//lib/i18n/backend/chain.rb#117
444
- def _deep_merge(hash, other_hash); end
445
- end
446
-
447
- # source://i18n//lib/i18n/backend/fallbacks.rb#30
448
- module I18n::Backend::Fallbacks
449
- # @return [Boolean]
450
- #
451
- # source://i18n//lib/i18n/backend/fallbacks.rb#98
452
- def exists?(locale, key, options = T.unsafe(nil)); end
453
-
454
- # source://i18n//lib/i18n/backend/fallbacks.rb#89
455
- def extract_non_symbol_default!(options); end
456
-
457
- # source://i18n//lib/i18n/backend/fallbacks.rb#67
458
- def resolve_entry(locale, object, subject, options = T.unsafe(nil)); end
459
-
460
- # Overwrites the Base backend translate method so that it will try each
461
- # locale given by I18n.fallbacks for the given locale. E.g. for the
462
- # locale :"de-DE" it might try the locales :"de-DE", :de and :en
463
- # (depends on the fallbacks implementation) until it finds a result with
464
- # the given options. If it does not find any result for any of the
465
- # locales it will then throw MissingTranslation as usual.
466
- #
467
- # The default option takes precedence over fallback locales only when
468
- # it's a Symbol. When the default contains a String, Proc or Hash
469
- # it is evaluated last after all the fallback locales have been tried.
470
- #
471
- # source://i18n//lib/i18n/backend/fallbacks.rb#41
472
- def translate(locale, key, options = T.unsafe(nil)); end
473
-
474
- private
475
-
476
- # Overwrite on_fallback to add specified logic when the fallback succeeds.
477
- #
478
- # source://i18n//lib/i18n/backend/fallbacks.rb#114
479
- def on_fallback(_original_locale, _fallback_locale, _key, _options); end
480
- end
481
-
482
- # This module contains several helpers to assist flattening translations.
483
- # You may want to flatten translations for:
484
- #
485
- # 1) speed up lookups, as in the Memoize backend;
486
- # 2) In case you want to store translations in a data store, as in ActiveRecord backend;
487
- #
488
- # You can check both backends above for some examples.
489
- # This module also keeps all links in a hash so they can be properly resolved when flattened.
490
- #
491
- # source://i18n//lib/i18n/backend/flatten.rb#13
492
- module I18n::Backend::Flatten
493
- # Flatten keys for nested Hashes by chaining up keys:
494
- #
495
- # >> { "a" => { "b" => { "c" => "d", "e" => "f" }, "g" => "h" }, "i" => "j"}.wind
496
- # => { "a.b.c" => "d", "a.b.e" => "f", "a.g" => "h", "i" => "j" }
497
- #
498
- # source://i18n//lib/i18n/backend/flatten.rb#59
499
- def flatten_keys(hash, escape, prev_key = T.unsafe(nil), &block); end
500
-
501
- # Receives a hash of translations (where the key is a locale and
502
- # the value is another hash) and return a hash with all
503
- # translations flattened.
504
- #
505
- # Nested hashes are included in the flattened hash just if subtree
506
- # is true and Symbols are automatically stored as links.
507
- #
508
- # source://i18n//lib/i18n/backend/flatten.rb#74
509
- def flatten_translations(locale, data, escape, subtree); end
510
-
511
- # Store flattened links.
512
- #
513
- # source://i18n//lib/i18n/backend/flatten.rb#50
514
- def links; end
515
-
516
- # Shortcut to I18n::Backend::Flatten.normalize_flat_keys
517
- # and then resolve_links.
518
- #
519
- # source://i18n//lib/i18n/backend/flatten.rb#44
520
- def normalize_flat_keys(locale, key, scope, separator); end
521
-
522
- protected
523
-
524
- # source://i18n//lib/i18n/backend/flatten.rb#112
525
- def escape_default_separator(key); end
526
-
527
- # source://i18n//lib/i18n/backend/flatten.rb#106
528
- def find_link(locale, key); end
529
-
530
- # source://i18n//lib/i18n/backend/flatten.rb#93
531
- def resolve_link(locale, key); end
532
-
533
- # source://i18n//lib/i18n/backend/flatten.rb#89
534
- def store_link(locale, key, link); end
535
-
536
- class << self
537
- # Receives a string and escape the default separator.
538
- #
539
- # source://i18n//lib/i18n/backend/flatten.rb#38
540
- def escape_default_separator(key); end
541
-
542
- # normalize_keys the flatten way. This method is significantly faster
543
- # and creates way less objects than the one at I18n.normalize_keys.
544
- # It also handles escaping the translation keys.
545
- #
546
- # source://i18n//lib/i18n/backend/flatten.rb#20
547
- def normalize_flat_keys(locale, key, scope, separator); end
548
- end
549
- end
550
-
551
- # source://i18n//lib/i18n/backend/flatten.rb#15
552
- I18n::Backend::Flatten::FLATTEN_SEPARATOR = T.let(T.unsafe(nil), String)
553
-
554
- # source://i18n//lib/i18n/backend/flatten.rb#14
555
- I18n::Backend::Flatten::SEPARATOR_ESCAPE_CHAR = T.let(T.unsafe(nil), String)
556
-
557
- # Experimental support for using Gettext po files to store translations.
558
- #
559
- # To use this you can simply include the module to the Simple backend - or
560
- # whatever other backend you are using.
561
- #
562
- # I18n::Backend::Simple.include(I18n::Backend::Gettext)
563
- #
564
- # Now you should be able to include your Gettext translation (*.po) files to
565
- # the +I18n.load_path+ so they're loaded to the backend and you can use them as
566
- # usual:
567
- #
568
- # I18n.load_path += Dir["path/to/locales/*.po"]
569
- #
570
- # Following the Gettext convention this implementation expects that your
571
- # translation files are named by their locales. E.g. the file en.po would
572
- # contain the translations for the English locale.
573
- #
574
- # To translate text <b>you must use</b> one of the translate methods provided by
575
- # I18n::Gettext::Helpers.
576
- #
577
- # include I18n::Gettext::Helpers
578
- # puts _("some string")
579
- #
580
- # Without it strings containing periods (".") will not be translated.
581
- #
582
- # source://i18n//lib/i18n/backend/gettext.rb#33
583
- module I18n::Backend::Gettext
584
- protected
585
-
586
- # source://i18n//lib/i18n/backend/gettext.rb#41
587
- def load_po(filename); end
588
-
589
- # source://i18n//lib/i18n/backend/gettext.rb#51
590
- def normalize(locale, data); end
591
-
592
- # source://i18n//lib/i18n/backend/gettext.rb#68
593
- def normalize_pluralization(locale, key, value); end
594
-
595
- # source://i18n//lib/i18n/backend/gettext.rb#47
596
- def parse(filename); end
597
- end
598
-
599
- # source://i18n//lib/i18n/backend/gettext.rb#34
600
- class I18n::Backend::Gettext::PoData < ::Hash
601
- # source://i18n//lib/i18n/backend/gettext.rb#35
602
- def set_comment(msgid_or_sym, comment); end
603
- end
604
-
605
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#20
606
- module I18n::Backend::InterpolationCompiler
607
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#97
608
- def interpolate(locale, string, values); end
609
-
610
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#107
611
- def store_translations(locale, data, options = T.unsafe(nil)); end
612
-
613
- protected
614
-
615
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#113
616
- def compile_all_strings_in(data); end
617
- end
618
-
619
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#21
620
- module I18n::Backend::InterpolationCompiler::Compiler
621
- extend ::I18n::Backend::InterpolationCompiler::Compiler
622
-
623
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#26
624
- def compile_if_an_interpolation(string); end
625
-
626
- # @return [Boolean]
627
- #
628
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#38
629
- def interpolated_str?(str); end
630
-
631
- protected
632
-
633
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#58
634
- def compile_interpolation_token(key); end
635
-
636
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#48
637
- def compiled_interpolation_body(str); end
638
-
639
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#71
640
- def direct_key(key); end
641
-
642
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#91
643
- def escape_key_sym(key); end
644
-
645
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#87
646
- def escape_plain_str(str); end
647
-
648
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#54
649
- def handle_interpolation_token(token); end
650
-
651
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#67
652
- def interpolate_key(key); end
653
-
654
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#62
655
- def interpolate_or_raise_missing(key); end
656
-
657
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#79
658
- def missing_key(key); end
659
-
660
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#75
661
- def nil_key(key); end
662
-
663
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#83
664
- def reserved_key(key); end
665
-
666
- # tokenize("foo %{bar} baz %%{buz}") # => ["foo ", "%{bar}", " baz ", "%%{buz}"]
667
- #
668
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#44
669
- def tokenize(str); end
670
- end
671
-
672
- # source://i18n//lib/i18n/backend/interpolation_compiler.rb#24
673
- I18n::Backend::InterpolationCompiler::Compiler::TOKENIZER = T.let(T.unsafe(nil), Regexp)
674
-
675
- # This is a basic backend for key value stores. It receives on
676
- # initialization the store, which should respond to three methods:
677
- #
678
- # * store#[](key) - Used to get a value
679
- # * store#[]=(key, value) - Used to set a value
680
- # * store#keys - Used to get all keys
681
- #
682
- # Since these stores only supports string, all values are converted
683
- # to JSON before being stored, allowing it to also store booleans,
684
- # hashes and arrays. However, this store does not support Procs.
685
- #
686
- # As the ActiveRecord backend, Symbols are just supported when loading
687
- # translations from the filesystem or through explicit store translations.
688
- #
689
- # Also, avoid calling I18n.available_locales since it's a somehow
690
- # expensive operation in most stores.
691
- #
692
- # == Example
693
- #
694
- # To setup I18n to use TokyoCabinet in memory is quite straightforward:
695
- #
696
- # require 'rufus/tokyo/cabinet' # gem install rufus-tokyo
697
- # I18n.backend = I18n::Backend::KeyValue.new(Rufus::Tokyo::Cabinet.new('*'))
698
- #
699
- # == Performance
700
- #
701
- # You may make this backend even faster by including the Memoize module.
702
- # However, notice that you should properly clear the cache if you change
703
- # values directly in the key-store.
704
- #
705
- # == Subtrees
706
- #
707
- # In most backends, you are allowed to retrieve part of a translation tree:
708
- #
709
- # I18n.backend.store_translations :en, :foo => { :bar => :baz }
710
- # I18n.t "foo" #=> { :bar => :baz }
711
- #
712
- # This backend supports this feature by default, but it slows down the storage
713
- # of new data considerably and makes hard to delete entries. That said, you are
714
- # allowed to disable the storage of subtrees on initialization:
715
- #
716
- # I18n::Backend::KeyValue.new(@store, false)
717
- #
718
- # This is useful if you are using a KeyValue backend chained to a Simple backend.
719
- #
720
- # source://i18n//lib/i18n/backend/key_value.rb#69
721
- class I18n::Backend::KeyValue
722
- include ::I18n::Backend::Flatten
723
- include ::I18n::Backend::Transliterator
724
- include ::I18n::Backend::Base
725
- include ::I18n::Backend::KeyValue::Implementation
726
- end
727
-
728
- # source://i18n//lib/i18n/backend/key_value.rb#70
729
- module I18n::Backend::KeyValue::Implementation
730
- include ::I18n::Backend::Flatten
731
- include ::I18n::Backend::Transliterator
732
- include ::I18n::Backend::Base
733
-
734
- # source://i18n//lib/i18n/backend/key_value.rb#75
735
- def initialize(store, subtrees = T.unsafe(nil)); end
736
-
737
- # source://i18n//lib/i18n/backend/key_value.rb#102
738
- def available_locales; end
739
-
740
- # @return [Boolean]
741
- #
742
- # source://i18n//lib/i18n/backend/key_value.rb#79
743
- def initialized?; end
744
-
745
- # Returns the value of attribute store.
746
- #
747
- # source://i18n//lib/i18n/backend/key_value.rb#71
748
- def store; end
749
-
750
- # Sets the attribute store
751
- #
752
- # @param value the value to set the attribute store to.
753
- #
754
- # source://i18n//lib/i18n/backend/key_value.rb#71
755
- def store=(_arg0); end
756
-
757
- # source://i18n//lib/i18n/backend/key_value.rb#83
758
- def store_translations(locale, data, options = T.unsafe(nil)); end
759
-
760
- protected
761
-
762
- # source://i18n//lib/i18n/backend/key_value.rb#124
763
- def init_translations; end
764
-
765
- # source://i18n//lib/i18n/backend/key_value.rb#136
766
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
767
-
768
- # source://i18n//lib/i18n/backend/key_value.rb#150
769
- def pluralize(locale, entry, count); end
770
-
771
- # @return [Boolean]
772
- #
773
- # source://i18n//lib/i18n/backend/key_value.rb#132
774
- def subtrees?; end
775
-
776
- # Queries the translations from the key-value store and converts
777
- # them into a hash such as the one returned from loading the
778
- # haml files
779
- #
780
- # source://i18n//lib/i18n/backend/key_value.rb#115
781
- def translations; end
782
- end
783
-
784
- # source://i18n//lib/i18n/backend/key_value.rb#161
785
- class I18n::Backend::KeyValue::SubtreeProxy
786
- # @return [SubtreeProxy] a new instance of SubtreeProxy
787
- #
788
- # source://i18n//lib/i18n/backend/key_value.rb#162
789
- def initialize(master_key, store); end
790
-
791
- # source://i18n//lib/i18n/backend/key_value.rb#172
792
- def [](key); end
793
-
794
- # @return [Boolean]
795
- #
796
- # source://i18n//lib/i18n/backend/key_value.rb#168
797
- def has_key?(key); end
798
-
799
- # source://i18n//lib/i18n/backend/key_value.rb#196
800
- def inspect; end
801
-
802
- # @return [Boolean]
803
- #
804
- # source://i18n//lib/i18n/backend/key_value.rb#188
805
- def instance_of?(klass); end
806
-
807
- # @return [Boolean]
808
- #
809
- # source://i18n//lib/i18n/backend/key_value.rb#183
810
- def is_a?(klass); end
811
-
812
- # @return [Boolean]
813
- #
814
- # source://i18n//lib/i18n/backend/key_value.rb#183
815
- def kind_of?(klass); end
816
-
817
- # @return [Boolean]
818
- #
819
- # source://i18n//lib/i18n/backend/key_value.rb#192
820
- def nil?; end
821
- end
822
-
823
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#65
824
- class I18n::Backend::LazyLoadable < ::I18n::Backend::Simple
825
- # @return [LazyLoadable] a new instance of LazyLoadable
826
- #
827
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#66
828
- def initialize(lazy_load: T.unsafe(nil)); end
829
-
830
- # Parse the load path and extract all locales.
831
- #
832
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#99
833
- def available_locales; end
834
-
835
- # Eager loading is not supported in the lazy context.
836
- #
837
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#90
838
- def eager_load!; end
839
-
840
- # Returns whether the current locale is initialized.
841
- #
842
- # @return [Boolean]
843
- #
844
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#71
845
- def initialized?; end
846
-
847
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#107
848
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
849
-
850
- # Clean up translations and uninitialize all locales.
851
- #
852
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#80
853
- def reload!; end
854
-
855
- protected
856
-
857
- # Load translations from files that belong to the current locale.
858
- #
859
- # @raise [InvalidFilenames]
860
- #
861
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#121
862
- def init_translations; end
863
-
864
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#133
865
- def initialized_locales; end
866
-
867
- private
868
-
869
- # Checks if a filename is named in correspondence to the translations it loaded.
870
- # The locale extracted from the path must be the single locale loaded in the translations.
871
- #
872
- # @raise [FilenameIncorrect]
873
- #
874
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#175
875
- def assert_file_named_correctly!(file, translations); end
876
-
877
- # Select all files from I18n load path that belong to current locale.
878
- # These files must start with the locale identifier (ie. "en", "pt-BR"),
879
- # followed by an "_" demarcation to separate proceeding text.
880
- #
881
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#167
882
- def filenames_for_current_locale; end
883
-
884
- # @return [Boolean]
885
- #
886
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#139
887
- def lazy_load?; end
888
-
889
- # Loads each file supplied and asserts that the file only loads
890
- # translations as expected by the name. The method returns a list of
891
- # errors corresponding to offending files.
892
- #
893
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#152
894
- def load_translations_and_collect_file_errors(files); end
895
- end
896
-
897
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#143
898
- class I18n::Backend::LazyLoadable::FilenameIncorrect < ::StandardError
899
- # @return [FilenameIncorrect] a new instance of FilenameIncorrect
900
- #
901
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#144
902
- def initialize(file, expected_locale, unexpected_locales); end
903
- end
904
-
905
- # Backend that lazy loads translations based on the current locale. This
906
- # implementation avoids loading all translations up front. Instead, it only
907
- # loads the translations that belong to the current locale. This offers a
908
- # performance incentive in local development and test environments for
909
- # applications with many translations for many different locales. It's
910
- # particularly useful when the application only refers to a single locales'
911
- # translations at a time (ex. A Rails workload). The implementation
912
- # identifies which translation files from the load path belong to the
913
- # current locale by pattern matching against their path name.
914
- #
915
- # Specifically, a translation file is considered to belong to a locale if:
916
- # a) the filename is in the I18n load path
917
- # b) the filename ends in a supported extension (ie. .yml, .json, .po, .rb)
918
- # c) the filename starts with the locale identifier
919
- # d) the locale identifier and optional proceeding text is separated by an underscore, ie. "_".
920
- #
921
- # Examples:
922
- # Valid files that will be selected by this backend:
923
- #
924
- # "files/locales/en_translation.yml" (Selected for locale "en")
925
- # "files/locales/fr.po" (Selected for locale "fr")
926
- #
927
- # Invalid files that won't be selected by this backend:
928
- #
929
- # "files/locales/translation-file"
930
- # "files/locales/en-translation.unsupported"
931
- # "files/locales/french/translation.yml"
932
- # "files/locales/fr/translation.yml"
933
- #
934
- # The implementation uses this assumption to defer the loading of
935
- # translation files until the current locale actually requires them.
936
- #
937
- # The backend has two working modes: lazy_load and eager_load.
938
- #
939
- # Note: This backend should only be enabled in test environments!
940
- # When the mode is set to false, the backend behaves exactly like the
941
- # Simple backend, with an additional check that the paths being loaded
942
- # abide by the format. If paths can't be matched to the format, an error is raised.
943
- #
944
- # You can configure lazy loaded backends through the initializer or backends
945
- # accessor:
946
- #
947
- # # In test environments
948
- #
949
- # I18n.backend = I18n::Backend::LazyLoadable.new(lazy_load: true)
950
- #
951
- # # In other environments, such as production and CI
952
- #
953
- # I18n.backend = I18n::Backend::LazyLoadable.new(lazy_load: false) # default
954
- #
955
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#55
956
- class I18n::Backend::LocaleExtractor
957
- class << self
958
- # source://i18n//lib/i18n/backend/lazy_loadable.rb#57
959
- def locale_from_path(path); end
960
- end
961
- end
962
-
963
- # source://i18n//lib/i18n/backend/memoize.rb#14
964
- module I18n::Backend::Memoize
965
- # source://i18n//lib/i18n/backend/memoize.rb#15
966
- def available_locales; end
967
-
968
- # source://i18n//lib/i18n/backend/memoize.rb#29
969
- def eager_load!; end
970
-
971
- # source://i18n//lib/i18n/backend/memoize.rb#24
972
- def reload!; end
973
-
974
- # source://i18n//lib/i18n/backend/memoize.rb#19
975
- def store_translations(locale, data, options = T.unsafe(nil)); end
976
-
977
- protected
978
-
979
- # source://i18n//lib/i18n/backend/memoize.rb#37
980
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
981
-
982
- # source://i18n//lib/i18n/backend/memoize.rb#44
983
- def memoized_lookup; end
984
-
985
- # source://i18n//lib/i18n/backend/memoize.rb#48
986
- def reset_memoizations!(locale = T.unsafe(nil)); end
987
- end
988
-
989
- # source://i18n//lib/i18n/backend/metadata.rb#21
990
- module I18n::Backend::Metadata
991
- # source://i18n//lib/i18n/backend/metadata.rb#52
992
- def interpolate(locale, entry, values = T.unsafe(nil)); end
993
-
994
- # source://i18n//lib/i18n/backend/metadata.rb#57
995
- def pluralize(locale, entry, count); end
996
-
997
- # source://i18n//lib/i18n/backend/metadata.rb#40
998
- def translate(locale, key, options = T.unsafe(nil)); end
999
-
1000
- protected
1001
-
1002
- # source://i18n//lib/i18n/backend/metadata.rb#63
1003
- def with_metadata(metadata, &block); end
1004
-
1005
- class << self
1006
- # @private
1007
- #
1008
- # source://i18n//lib/i18n/backend/metadata.rb#23
1009
- def included(base); end
1010
- end
1011
- end
1012
-
1013
- # source://i18n//lib/i18n/backend/pluralization.rb#16
1014
- module I18n::Backend::Pluralization
1015
- # Overwrites the Base backend translate method so that it will check the
1016
- # translation meta data space (:i18n) for a locale specific pluralization
1017
- # rule and use it to pluralize the given entry. I.e., the library expects
1018
- # pluralization rules to be stored at I18n.t(:'i18n.plural.rule')
1019
- #
1020
- # Pluralization rules are expected to respond to #call(count) and
1021
- # return a pluralization key. Valid keys depend on the pluralization
1022
- # rules for the locale, as defined in the CLDR.
1023
- # As of v41, 6 locale-specific plural categories are defined:
1024
- # :few, :many, :one, :other, :two, :zero
1025
- #
1026
- # n.b., The :one plural category does not imply the number 1.
1027
- # Instead, :one is a category for any number that behaves like 1 in
1028
- # that locale. For example, in some locales, :one is used for numbers
1029
- # that end in "1" (like 1, 21, 151) but that don't end in
1030
- # 11 (like 11, 111, 10311).
1031
- # Similar notes apply to the :two, and :zero plural categories.
1032
- #
1033
- # If you want to have different strings for the categories of count == 0
1034
- # (e.g. "I don't have any cars") or count == 1 (e.g. "I have a single car")
1035
- # use the explicit `"0"` and `"1"` keys.
1036
- # https://unicode-org.github.io/cldr/ldml/tr35-numbers.html#Explicit_0_1_rules
1037
- #
1038
- # source://i18n//lib/i18n/backend/pluralization.rb#39
1039
- def pluralize(locale, entry, count); end
1040
-
1041
- protected
1042
-
1043
- # source://i18n//lib/i18n/backend/pluralization.rb#81
1044
- def pluralizer(locale); end
1045
-
1046
- # source://i18n//lib/i18n/backend/pluralization.rb#77
1047
- def pluralizers; end
1048
-
1049
- private
1050
-
1051
- # Normalizes categories of 0.0 and 1.0
1052
- # and returns the symbolic version
1053
- #
1054
- # source://i18n//lib/i18n/backend/pluralization.rb#89
1055
- def symbolic_count(count); end
1056
- end
1057
-
1058
- # A simple backend that reads translations from YAML files and stores them in
1059
- # an in-memory hash. Relies on the Base backend.
1060
- #
1061
- # The implementation is provided by a Implementation module allowing to easily
1062
- # extend Simple backend's behavior by including modules. E.g.:
1063
- #
1064
- # module I18n::Backend::Pluralization
1065
- # def pluralize(*args)
1066
- # # extended pluralization logic
1067
- # super
1068
- # end
1069
- # end
1070
- #
1071
- # I18n::Backend::Simple.include(I18n::Backend::Pluralization)
1072
- #
1073
- # source://i18n//lib/i18n/backend/simple.rb#21
1074
- class I18n::Backend::Simple
1075
- include ::I18n::Backend::Transliterator
1076
- include ::I18n::Backend::Base
1077
- include ::I18n::Backend::Simple::Implementation
1078
- end
1079
-
1080
- # source://i18n//lib/i18n/backend/simple.rb#22
1081
- module I18n::Backend::Simple::Implementation
1082
- include ::I18n::Backend::Transliterator
1083
- include ::I18n::Backend::Base
1084
-
1085
- # Get available locales from the translations hash
1086
- #
1087
- # source://i18n//lib/i18n/backend/simple.rb#49
1088
- def available_locales; end
1089
-
1090
- # source://i18n//lib/i18n/backend/simple.rb#64
1091
- def eager_load!; end
1092
-
1093
- # @return [Boolean]
1094
- #
1095
- # source://i18n//lib/i18n/backend/simple.rb#28
1096
- def initialized?; end
1097
-
1098
- # Clean up translations hash and set initialized to false on reload!
1099
- #
1100
- # source://i18n//lib/i18n/backend/simple.rb#58
1101
- def reload!; end
1102
-
1103
- # Stores translations for the given locale in memory.
1104
- # This uses a deep merge for the translations hash, so existing
1105
- # translations will be overwritten by new ones only at the deepest
1106
- # level of the hash.
1107
- #
1108
- # source://i18n//lib/i18n/backend/simple.rb#36
1109
- def store_translations(locale, data, options = T.unsafe(nil)); end
1110
-
1111
- # source://i18n//lib/i18n/backend/simple.rb#69
1112
- def translations(do_init: T.unsafe(nil)); end
1113
-
1114
- protected
1115
-
1116
- # source://i18n//lib/i18n/backend/simple.rb#83
1117
- def init_translations; end
1118
-
1119
- # Looks up a translation from the translations hash. Returns nil if
1120
- # either key is nil, or locale, scope or key do not exist as a key in the
1121
- # nested translations hash. Splits keys or scopes containing dots
1122
- # into multiple keys, i.e. <tt>currency.format</tt> is regarded the same as
1123
- # <tt>%w(currency format)</tt>.
1124
- #
1125
- # source://i18n//lib/i18n/backend/simple.rb#93
1126
- def lookup(locale, key, scope = T.unsafe(nil), options = T.unsafe(nil)); end
1127
- end
1128
-
1129
- # Mutex to ensure that concurrent translations loading will be thread-safe
1130
- #
1131
- # source://i18n//lib/i18n/backend/simple.rb#26
1132
- I18n::Backend::Simple::Implementation::MUTEX = T.let(T.unsafe(nil), Thread::Mutex)
1133
-
1134
- # source://i18n//lib/i18n/backend/transliterator.rb#6
1135
- module I18n::Backend::Transliterator
1136
- # Given a locale and a UTF-8 string, return the locale's ASCII
1137
- # approximation for the string.
1138
- #
1139
- # source://i18n//lib/i18n/backend/transliterator.rb#11
1140
- def transliterate(locale, string, replacement = T.unsafe(nil)); end
1141
-
1142
- class << self
1143
- # Get a transliterator instance.
1144
- #
1145
- # source://i18n//lib/i18n/backend/transliterator.rb#19
1146
- def get(rule = T.unsafe(nil)); end
1147
- end
1148
- end
1149
-
1150
- # source://i18n//lib/i18n/backend/transliterator.rb#7
1151
- I18n::Backend::Transliterator::DEFAULT_REPLACEMENT_CHAR = T.let(T.unsafe(nil), String)
1152
-
1153
- # A transliterator which accepts a Hash of characters as its translation
1154
- # rule.
1155
- #
1156
- # source://i18n//lib/i18n/backend/transliterator.rb#42
1157
- class I18n::Backend::Transliterator::HashTransliterator
1158
- # @return [HashTransliterator] a new instance of HashTransliterator
1159
- #
1160
- # source://i18n//lib/i18n/backend/transliterator.rb#74
1161
- def initialize(rule = T.unsafe(nil)); end
1162
-
1163
- # source://i18n//lib/i18n/backend/transliterator.rb#80
1164
- def transliterate(string, replacement = T.unsafe(nil)); end
1165
-
1166
- private
1167
-
1168
- # Add transliteration rules to the approximations hash.
1169
- #
1170
- # source://i18n//lib/i18n/backend/transliterator.rb#100
1171
- def add(hash); end
1172
-
1173
- # source://i18n//lib/i18n/backend/transliterator.rb#93
1174
- def add_default_approximations; end
1175
-
1176
- # source://i18n//lib/i18n/backend/transliterator.rb#89
1177
- def approximations; end
1178
- end
1179
-
1180
- # source://i18n//lib/i18n/backend/transliterator.rb#43
1181
- I18n::Backend::Transliterator::HashTransliterator::DEFAULT_APPROXIMATIONS = T.let(T.unsafe(nil), Hash)
1182
-
1183
- # A transliterator which accepts a Proc as its transliteration rule.
1184
- #
1185
- # source://i18n//lib/i18n/backend/transliterator.rb#30
1186
- class I18n::Backend::Transliterator::ProcTransliterator
1187
- # @return [ProcTransliterator] a new instance of ProcTransliterator
1188
- #
1189
- # source://i18n//lib/i18n/backend/transliterator.rb#31
1190
- def initialize(rule); end
1191
-
1192
- # source://i18n//lib/i18n/backend/transliterator.rb#35
1193
- def transliterate(string, replacement = T.unsafe(nil)); end
1194
- end
1195
-
1196
- # source://i18n//lib/i18n.rb#55
1197
- module I18n::Base
1198
- # source://i18n//lib/i18n.rb#70
1199
- def available_locales; end
1200
-
1201
- # source://i18n//lib/i18n.rb#74
1202
- def available_locales=(value); end
1203
-
1204
- # @return [Boolean]
1205
- #
1206
- # source://i18n//lib/i18n.rb#386
1207
- def available_locales_initialized?; end
1208
-
1209
- # source://i18n//lib/i18n.rb#70
1210
- def backend; end
1211
-
1212
- # source://i18n//lib/i18n.rb#74
1213
- def backend=(value); end
1214
-
1215
- # Gets I18n configuration object.
1216
- #
1217
- # source://i18n//lib/i18n.rb#57
1218
- def config; end
1219
-
1220
- # Sets I18n configuration object.
1221
- #
1222
- # source://i18n//lib/i18n.rb#62
1223
- def config=(value); end
1224
-
1225
- # source://i18n//lib/i18n.rb#70
1226
- def default_locale; end
1227
-
1228
- # source://i18n//lib/i18n.rb#74
1229
- def default_locale=(value); end
1230
-
1231
- # source://i18n//lib/i18n.rb#70
1232
- def default_separator; end
1233
-
1234
- # source://i18n//lib/i18n.rb#74
1235
- def default_separator=(value); end
1236
-
1237
- # Tells the backend to load translations now. Used in situations like the
1238
- # Rails production environment. Backends can implement whatever strategy
1239
- # is useful.
1240
- #
1241
- # source://i18n//lib/i18n.rb#91
1242
- def eager_load!; end
1243
-
1244
- # source://i18n//lib/i18n.rb#70
1245
- def enforce_available_locales; end
1246
-
1247
- # Raises an InvalidLocale exception when the passed locale is not available.
1248
- #
1249
- # source://i18n//lib/i18n.rb#380
1250
- def enforce_available_locales!(locale); end
1251
-
1252
- # source://i18n//lib/i18n.rb#74
1253
- def enforce_available_locales=(value); end
1254
-
1255
- # source://i18n//lib/i18n.rb#70
1256
- def exception_handler; end
1257
-
1258
- # source://i18n//lib/i18n.rb#74
1259
- def exception_handler=(value); end
1260
-
1261
- # Returns true if a translation exists for a given key, otherwise returns false.
1262
- #
1263
- # @raise [Disabled]
1264
- # @return [Boolean]
1265
- #
1266
- # source://i18n//lib/i18n.rb#265
1267
- def exists?(key, _locale = T.unsafe(nil), locale: T.unsafe(nil), **options); end
1268
-
1269
- # Returns an array of interpolation keys for the given translation key
1270
- #
1271
- # *Examples*
1272
- #
1273
- # Suppose we have the following:
1274
- # I18n.t 'example.zero' == 'Zero interpolations'
1275
- # I18n.t 'example.one' == 'One interpolation %{foo}'
1276
- # I18n.t 'example.two' == 'Two interpolations %{foo} %{bar}'
1277
- # I18n.t 'example.three' == ['One %{foo}', 'Two %{bar}', 'Three %{baz}']
1278
- # I18n.t 'example.one', locale: :other == 'One interpolation %{baz}'
1279
- #
1280
- # Then we can expect the following results:
1281
- # I18n.interpolation_keys('example.zero') #=> []
1282
- # I18n.interpolation_keys('example.one') #=> ['foo']
1283
- # I18n.interpolation_keys('example.two') #=> ['foo', 'bar']
1284
- # I18n.interpolation_keys('example.three') #=> ['foo', 'bar', 'baz']
1285
- # I18n.interpolation_keys('one', scope: 'example', locale: :other) #=> ['baz']
1286
- # I18n.interpolation_keys('does-not-exist') #=> []
1287
- # I18n.interpolation_keys('example') #=> []
1288
- #
1289
- # @raise [I18n::ArgumentError]
1290
- #
1291
- # source://i18n//lib/i18n.rb#254
1292
- def interpolation_keys(key, **options); end
1293
-
1294
- # Localizes certain objects, such as dates and numbers to local formatting.
1295
- #
1296
- # @raise [Disabled]
1297
- #
1298
- # source://i18n//lib/i18n.rb#335
1299
- def l(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
1300
-
1301
- # source://i18n//lib/i18n.rb#70
1302
- def load_path; end
1303
-
1304
- # source://i18n//lib/i18n.rb#74
1305
- def load_path=(value); end
1306
-
1307
- # source://i18n//lib/i18n.rb#70
1308
- def locale; end
1309
-
1310
- # source://i18n//lib/i18n.rb#74
1311
- def locale=(value); end
1312
-
1313
- # Returns true when the passed locale, which can be either a String or a
1314
- # Symbol, is in the list of available locales. Returns false otherwise.
1315
- #
1316
- # @return [Boolean]
1317
- #
1318
- # source://i18n//lib/i18n.rb#375
1319
- def locale_available?(locale); end
1320
-
1321
- # Localizes certain objects, such as dates and numbers to local formatting.
1322
- #
1323
- # @raise [Disabled]
1324
- #
1325
- # source://i18n//lib/i18n.rb#335
1326
- def localize(object, locale: T.unsafe(nil), format: T.unsafe(nil), **options); end
1327
-
1328
- # Merges the given locale, key and scope into a single array of keys.
1329
- # Splits keys that contain dots into multiple keys. Makes sure all
1330
- # keys are Symbols.
1331
- #
1332
- # source://i18n//lib/i18n.rb#363
1333
- def normalize_keys(locale, key, scope, separator = T.unsafe(nil)); end
1334
-
1335
- # Tells the backend to reload translations. Used in situations like the
1336
- # Rails development environment. Backends can implement whatever strategy
1337
- # is useful.
1338
- #
1339
- # source://i18n//lib/i18n.rb#83
1340
- def reload!; end
1341
-
1342
- # Translates, pluralizes and interpolates a given key using a given locale,
1343
- # scope, and default, as well as interpolation values.
1344
- #
1345
- # *LOOKUP*
1346
- #
1347
- # Translation data is organized as a nested hash using the upper-level keys
1348
- # as namespaces. <em>E.g.</em>, ActionView ships with the translation:
1349
- # <tt>:date => {:formats => {:short => "%b %d"}}</tt>.
1350
- #
1351
- # Translations can be looked up at any level of this hash using the key argument
1352
- # and the scope option. <em>E.g.</em>, in this example <tt>I18n.t :date</tt>
1353
- # returns the whole translations hash <tt>{:formats => {:short => "%b %d"}}</tt>.
1354
- #
1355
- # Key can be either a single key or a dot-separated key (both Strings and Symbols
1356
- # work). <em>E.g.</em>, the short format can be looked up using both:
1357
- # I18n.t 'date.formats.short'
1358
- # I18n.t :'date.formats.short'
1359
- #
1360
- # Scope can be either a single key, a dot-separated key or an array of keys
1361
- # or dot-separated keys. Keys and scopes can be combined freely. So these
1362
- # examples will all look up the same short date format:
1363
- # I18n.t 'date.formats.short'
1364
- # I18n.t 'formats.short', :scope => 'date'
1365
- # I18n.t 'short', :scope => 'date.formats'
1366
- # I18n.t 'short', :scope => %w(date formats)
1367
- #
1368
- # *INTERPOLATION*
1369
- #
1370
- # Translations can contain interpolation variables which will be replaced by
1371
- # values passed to #translate as part of the options hash, with the keys matching
1372
- # the interpolation variable names.
1373
- #
1374
- # <em>E.g.</em>, with a translation <tt>:foo => "foo %{bar}"</tt> the option
1375
- # value for the key +bar+ will be interpolated into the translation:
1376
- # I18n.t :foo, :bar => 'baz' # => 'foo baz'
1377
- #
1378
- # *PLURALIZATION*
1379
- #
1380
- # Translation data can contain pluralized translations. Pluralized translations
1381
- # are arrays of singular/plural versions of translations like <tt>['Foo', 'Foos']</tt>.
1382
- #
1383
- # Note that <tt>I18n::Backend::Simple</tt> only supports an algorithm for English
1384
- # pluralization rules. Other algorithms can be supported by custom backends.
1385
- #
1386
- # This returns the singular version of a pluralized translation:
1387
- # I18n.t :foo, :count => 1 # => 'Foo'
1388
- #
1389
- # These both return the plural version of a pluralized translation:
1390
- # I18n.t :foo, :count => 0 # => 'Foos'
1391
- # I18n.t :foo, :count => 2 # => 'Foos'
1392
- #
1393
- # The <tt>:count</tt> option can be used both for pluralization and interpolation.
1394
- # <em>E.g.</em>, with the translation
1395
- # <tt>:foo => ['%{count} foo', '%{count} foos']</tt>, count will
1396
- # be interpolated to the pluralized translation:
1397
- # I18n.t :foo, :count => 1 # => '1 foo'
1398
- #
1399
- # *DEFAULTS*
1400
- #
1401
- # This returns the translation for <tt>:foo</tt> or <tt>default</tt> if no translation was found:
1402
- # I18n.t :foo, :default => 'default'
1403
- #
1404
- # This returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt> if no
1405
- # translation for <tt>:foo</tt> was found:
1406
- # I18n.t :foo, :default => :bar
1407
- #
1408
- # Returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt>
1409
- # or <tt>default</tt> if no translations for <tt>:foo</tt> and <tt>:bar</tt> were found.
1410
- # I18n.t :foo, :default => [:bar, 'default']
1411
- #
1412
- # <b>BULK LOOKUP</b>
1413
- #
1414
- # This returns an array with the translations for <tt>:foo</tt> and <tt>:bar</tt>.
1415
- # I18n.t [:foo, :bar]
1416
- #
1417
- # Can be used with dot-separated nested keys:
1418
- # I18n.t [:'baz.foo', :'baz.bar']
1419
- #
1420
- # Which is the same as using a scope option:
1421
- # I18n.t [:foo, :bar], :scope => :baz
1422
- #
1423
- # *LAMBDAS*
1424
- #
1425
- # Both translations and defaults can be given as Ruby lambdas. Lambdas will be
1426
- # called and passed the key and options.
1427
- #
1428
- # E.g. assuming the key <tt>:salutation</tt> resolves to:
1429
- # lambda { |key, options| options[:gender] == 'm' ? "Mr. #{options[:name]}" : "Mrs. #{options[:name]}" }
1430
- #
1431
- # Then <tt>I18n.t(:salutation, :gender => 'w', :name => 'Smith')</tt> will result in "Mrs. Smith".
1432
- #
1433
- # Note that the string returned by lambda will go through string interpolation too,
1434
- # so the following lambda would give the same result:
1435
- # lambda { |key, options| options[:gender] == 'm' ? "Mr. %{name}" : "Mrs. %{name}" }
1436
- #
1437
- # It is recommended to use/implement lambdas in an "idempotent" way. E.g. when
1438
- # a cache layer is put in front of I18n.translate it will generate a cache key
1439
- # from the argument values passed to #translate. Therefore your lambdas should
1440
- # always return the same translations/values per unique combination of argument
1441
- # values.
1442
- #
1443
- # <b>Ruby 2.7+ keyword arguments warning</b>
1444
- #
1445
- # This method uses keyword arguments.
1446
- # There is a breaking change in ruby that produces warning with ruby 2.7 and won't work as expected with ruby 3.0
1447
- # The "hash" parameter must be passed as keyword argument.
1448
- #
1449
- # Good:
1450
- # I18n.t(:salutation, :gender => 'w', :name => 'Smith')
1451
- # I18n.t(:salutation, **{ :gender => 'w', :name => 'Smith' })
1452
- # I18n.t(:salutation, **any_hash)
1453
- #
1454
- # Bad:
1455
- # I18n.t(:salutation, { :gender => 'w', :name => 'Smith' })
1456
- # I18n.t(:salutation, any_hash)
1457
- #
1458
- # @raise [Disabled]
1459
- #
1460
- # source://i18n//lib/i18n.rb#211
1461
- def t(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
1462
-
1463
- # Wrapper for <tt>translate</tt> that adds <tt>:raise => true</tt>. With
1464
- # this option, if no translation is found, it will raise <tt>I18n::MissingTranslationData</tt>
1465
- #
1466
- # source://i18n//lib/i18n.rb#230
1467
- def t!(key, **options); end
1468
-
1469
- # Translates, pluralizes and interpolates a given key using a given locale,
1470
- # scope, and default, as well as interpolation values.
1471
- #
1472
- # *LOOKUP*
1473
- #
1474
- # Translation data is organized as a nested hash using the upper-level keys
1475
- # as namespaces. <em>E.g.</em>, ActionView ships with the translation:
1476
- # <tt>:date => {:formats => {:short => "%b %d"}}</tt>.
1477
- #
1478
- # Translations can be looked up at any level of this hash using the key argument
1479
- # and the scope option. <em>E.g.</em>, in this example <tt>I18n.t :date</tt>
1480
- # returns the whole translations hash <tt>{:formats => {:short => "%b %d"}}</tt>.
1481
- #
1482
- # Key can be either a single key or a dot-separated key (both Strings and Symbols
1483
- # work). <em>E.g.</em>, the short format can be looked up using both:
1484
- # I18n.t 'date.formats.short'
1485
- # I18n.t :'date.formats.short'
1486
- #
1487
- # Scope can be either a single key, a dot-separated key or an array of keys
1488
- # or dot-separated keys. Keys and scopes can be combined freely. So these
1489
- # examples will all look up the same short date format:
1490
- # I18n.t 'date.formats.short'
1491
- # I18n.t 'formats.short', :scope => 'date'
1492
- # I18n.t 'short', :scope => 'date.formats'
1493
- # I18n.t 'short', :scope => %w(date formats)
1494
- #
1495
- # *INTERPOLATION*
1496
- #
1497
- # Translations can contain interpolation variables which will be replaced by
1498
- # values passed to #translate as part of the options hash, with the keys matching
1499
- # the interpolation variable names.
1500
- #
1501
- # <em>E.g.</em>, with a translation <tt>:foo => "foo %{bar}"</tt> the option
1502
- # value for the key +bar+ will be interpolated into the translation:
1503
- # I18n.t :foo, :bar => 'baz' # => 'foo baz'
1504
- #
1505
- # *PLURALIZATION*
1506
- #
1507
- # Translation data can contain pluralized translations. Pluralized translations
1508
- # are arrays of singular/plural versions of translations like <tt>['Foo', 'Foos']</tt>.
1509
- #
1510
- # Note that <tt>I18n::Backend::Simple</tt> only supports an algorithm for English
1511
- # pluralization rules. Other algorithms can be supported by custom backends.
1512
- #
1513
- # This returns the singular version of a pluralized translation:
1514
- # I18n.t :foo, :count => 1 # => 'Foo'
1515
- #
1516
- # These both return the plural version of a pluralized translation:
1517
- # I18n.t :foo, :count => 0 # => 'Foos'
1518
- # I18n.t :foo, :count => 2 # => 'Foos'
1519
- #
1520
- # The <tt>:count</tt> option can be used both for pluralization and interpolation.
1521
- # <em>E.g.</em>, with the translation
1522
- # <tt>:foo => ['%{count} foo', '%{count} foos']</tt>, count will
1523
- # be interpolated to the pluralized translation:
1524
- # I18n.t :foo, :count => 1 # => '1 foo'
1525
- #
1526
- # *DEFAULTS*
1527
- #
1528
- # This returns the translation for <tt>:foo</tt> or <tt>default</tt> if no translation was found:
1529
- # I18n.t :foo, :default => 'default'
1530
- #
1531
- # This returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt> if no
1532
- # translation for <tt>:foo</tt> was found:
1533
- # I18n.t :foo, :default => :bar
1534
- #
1535
- # Returns the translation for <tt>:foo</tt> or the translation for <tt>:bar</tt>
1536
- # or <tt>default</tt> if no translations for <tt>:foo</tt> and <tt>:bar</tt> were found.
1537
- # I18n.t :foo, :default => [:bar, 'default']
1538
- #
1539
- # <b>BULK LOOKUP</b>
1540
- #
1541
- # This returns an array with the translations for <tt>:foo</tt> and <tt>:bar</tt>.
1542
- # I18n.t [:foo, :bar]
1543
- #
1544
- # Can be used with dot-separated nested keys:
1545
- # I18n.t [:'baz.foo', :'baz.bar']
1546
- #
1547
- # Which is the same as using a scope option:
1548
- # I18n.t [:foo, :bar], :scope => :baz
1549
- #
1550
- # *LAMBDAS*
1551
- #
1552
- # Both translations and defaults can be given as Ruby lambdas. Lambdas will be
1553
- # called and passed the key and options.
1554
- #
1555
- # E.g. assuming the key <tt>:salutation</tt> resolves to:
1556
- # lambda { |key, options| options[:gender] == 'm' ? "Mr. #{options[:name]}" : "Mrs. #{options[:name]}" }
1557
- #
1558
- # Then <tt>I18n.t(:salutation, :gender => 'w', :name => 'Smith')</tt> will result in "Mrs. Smith".
1559
- #
1560
- # Note that the string returned by lambda will go through string interpolation too,
1561
- # so the following lambda would give the same result:
1562
- # lambda { |key, options| options[:gender] == 'm' ? "Mr. %{name}" : "Mrs. %{name}" }
1563
- #
1564
- # It is recommended to use/implement lambdas in an "idempotent" way. E.g. when
1565
- # a cache layer is put in front of I18n.translate it will generate a cache key
1566
- # from the argument values passed to #translate. Therefore your lambdas should
1567
- # always return the same translations/values per unique combination of argument
1568
- # values.
1569
- #
1570
- # <b>Ruby 2.7+ keyword arguments warning</b>
1571
- #
1572
- # This method uses keyword arguments.
1573
- # There is a breaking change in ruby that produces warning with ruby 2.7 and won't work as expected with ruby 3.0
1574
- # The "hash" parameter must be passed as keyword argument.
1575
- #
1576
- # Good:
1577
- # I18n.t(:salutation, :gender => 'w', :name => 'Smith')
1578
- # I18n.t(:salutation, **{ :gender => 'w', :name => 'Smith' })
1579
- # I18n.t(:salutation, **any_hash)
1580
- #
1581
- # Bad:
1582
- # I18n.t(:salutation, { :gender => 'w', :name => 'Smith' })
1583
- # I18n.t(:salutation, any_hash)
1584
- #
1585
- # @raise [Disabled]
1586
- #
1587
- # source://i18n//lib/i18n.rb#211
1588
- def translate(key = T.unsafe(nil), throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), **options); end
1589
-
1590
- # Wrapper for <tt>translate</tt> that adds <tt>:raise => true</tt>. With
1591
- # this option, if no translation is found, it will raise <tt>I18n::MissingTranslationData</tt>
1592
- #
1593
- # source://i18n//lib/i18n.rb#230
1594
- def translate!(key, **options); end
1595
-
1596
- # Transliterates UTF-8 characters to ASCII. By default this method will
1597
- # transliterate only Latin strings to an ASCII approximation:
1598
- #
1599
- # I18n.transliterate("Ærøskøbing")
1600
- # # => "AEroskobing"
1601
- #
1602
- # I18n.transliterate("日本語")
1603
- # # => "???"
1604
- #
1605
- # It's also possible to add support for per-locale transliterations. I18n
1606
- # expects transliteration rules to be stored at
1607
- # <tt>i18n.transliterate.rule</tt>.
1608
- #
1609
- # Transliteration rules can either be a Hash or a Proc. Procs must accept a
1610
- # single string argument. Hash rules inherit the default transliteration
1611
- # rules, while Procs do not.
1612
- #
1613
- # *Examples*
1614
- #
1615
- # Setting a Hash in <locale>.yml:
1616
- #
1617
- # i18n:
1618
- # transliterate:
1619
- # rule:
1620
- # ü: "ue"
1621
- # ö: "oe"
1622
- #
1623
- # Setting a Hash using Ruby:
1624
- #
1625
- # store_translations(:de, i18n: {
1626
- # transliterate: {
1627
- # rule: {
1628
- # 'ü' => 'ue',
1629
- # 'ö' => 'oe'
1630
- # }
1631
- # }
1632
- # })
1633
- #
1634
- # Setting a Proc:
1635
- #
1636
- # translit = lambda {|string| MyTransliterator.transliterate(string) }
1637
- # store_translations(:xx, :i18n => {:transliterate => {:rule => translit})
1638
- #
1639
- # Transliterating strings:
1640
- #
1641
- # I18n.locale = :en
1642
- # I18n.transliterate("Jürgen") # => "Jurgen"
1643
- # I18n.locale = :de
1644
- # I18n.transliterate("Jürgen") # => "Juergen"
1645
- # I18n.transliterate("Jürgen", :locale => :en) # => "Jurgen"
1646
- # I18n.transliterate("Jürgen", :locale => :de) # => "Juergen"
1647
- #
1648
- # source://i18n//lib/i18n.rb#324
1649
- def transliterate(key, throw: T.unsafe(nil), raise: T.unsafe(nil), locale: T.unsafe(nil), replacement: T.unsafe(nil), **options); end
1650
-
1651
- # Executes block with given I18n.locale set.
1652
- #
1653
- # source://i18n//lib/i18n.rb#346
1654
- def with_locale(tmp_locale = T.unsafe(nil)); end
1655
-
1656
- private
1657
-
1658
- # Any exceptions thrown in translate will be sent to the @@exception_handler
1659
- # which can be a Symbol, a Proc or any other Object unless they're forced to
1660
- # be raised or thrown (MissingTranslation).
1661
- #
1662
- # If exception_handler is a Symbol then it will simply be sent to I18n as
1663
- # a method call. A Proc will simply be called. In any other case the
1664
- # method #call will be called on the exception_handler object.
1665
- #
1666
- # Examples:
1667
- #
1668
- # I18n.exception_handler = :custom_exception_handler # this is the default
1669
- # I18n.custom_exception_handler(exception, locale, key, options) # will be called like this
1670
- #
1671
- # I18n.exception_handler = lambda { |*args| ... } # a lambda
1672
- # I18n.exception_handler.call(exception, locale, key, options) # will be called like this
1673
- #
1674
- # I18n.exception_handler = I18nExceptionHandler.new # an object
1675
- # I18n.exception_handler.call(exception, locale, key, options) # will be called like this
1676
- #
1677
- # source://i18n//lib/i18n.rb#422
1678
- def handle_exception(handling, exception, locale, key, options); end
1679
-
1680
- # source://i18n//lib/i18n.rb#464
1681
- def interpolation_keys_from_translation(translation); end
1682
-
1683
- # source://i18n//lib/i18n.rb#440
1684
- def normalize_key(key, separator); end
1685
-
1686
- # source://i18n//lib/i18n.rb#392
1687
- def translate_key(key, throw, raise, locale, backend, options); end
1688
- end
1689
-
1690
- # source://i18n//lib/i18n/config.rb#6
1691
- class I18n::Config
1692
- # Returns an array of locales for which translations are available.
1693
- # Unless you explicitly set these through I18n.available_locales=
1694
- # the call will be delegated to the backend.
1695
- #
1696
- # source://i18n//lib/i18n/config.rb#43
1697
- def available_locales; end
1698
-
1699
- # Sets the available locales.
1700
- #
1701
- # source://i18n//lib/i18n/config.rb#57
1702
- def available_locales=(locales); end
1703
-
1704
- # Returns true if the available_locales have been initialized
1705
- #
1706
- # @return [Boolean]
1707
- #
1708
- # source://i18n//lib/i18n/config.rb#64
1709
- def available_locales_initialized?; end
1710
-
1711
- # Caches the available locales list as both strings and symbols in a Set, so
1712
- # that we can have faster lookups to do the available locales enforce check.
1713
- #
1714
- # source://i18n//lib/i18n/config.rb#50
1715
- def available_locales_set; end
1716
-
1717
- # Returns the current backend. Defaults to +Backend::Simple+.
1718
- #
1719
- # source://i18n//lib/i18n/config.rb#20
1720
- def backend; end
1721
-
1722
- # Sets the current backend. Used to set a custom backend.
1723
- #
1724
- # source://i18n//lib/i18n/config.rb#25
1725
- def backend=(backend); end
1726
-
1727
- # Clears the available locales set so it can be recomputed again after I18n
1728
- # gets reloaded.
1729
- #
1730
- # source://i18n//lib/i18n/config.rb#70
1731
- def clear_available_locales_set; end
1732
-
1733
- # Returns the current default locale. Defaults to :'en'
1734
- #
1735
- # source://i18n//lib/i18n/config.rb#30
1736
- def default_locale; end
1737
-
1738
- # Sets the current default locale. Used to set a custom default locale.
1739
- #
1740
- # source://i18n//lib/i18n/config.rb#35
1741
- def default_locale=(locale); end
1742
-
1743
- # Returns the current default scope separator. Defaults to '.'
1744
- #
1745
- # source://i18n//lib/i18n/config.rb#75
1746
- def default_separator; end
1747
-
1748
- # Sets the current default scope separator.
1749
- #
1750
- # source://i18n//lib/i18n/config.rb#80
1751
- def default_separator=(separator); end
1752
-
1753
- # source://i18n//lib/i18n/config.rb#141
1754
- def enforce_available_locales; end
1755
-
1756
- # source://i18n//lib/i18n/config.rb#145
1757
- def enforce_available_locales=(enforce_available_locales); end
1758
-
1759
- # Returns the current exception handler. Defaults to an instance of
1760
- # I18n::ExceptionHandler.
1761
- #
1762
- # source://i18n//lib/i18n/config.rb#86
1763
- def exception_handler; end
1764
-
1765
- # Sets the exception handler.
1766
- #
1767
- # source://i18n//lib/i18n/config.rb#91
1768
- def exception_handler=(exception_handler); end
1769
-
1770
- # Returns the current interpolation patterns. Defaults to
1771
- # I18n::DEFAULT_INTERPOLATION_PATTERNS.
1772
- #
1773
- # source://i18n//lib/i18n/config.rb#151
1774
- def interpolation_patterns; end
1775
-
1776
- # Sets the current interpolation patterns. Used to set a interpolation
1777
- # patterns.
1778
- #
1779
- # E.g. using {{}} as a placeholder like "{{hello}}, world!":
1780
- #
1781
- # I18n.config.interpolation_patterns << /\{\{(\w+)\}\}/
1782
- #
1783
- # source://i18n//lib/i18n/config.rb#161
1784
- def interpolation_patterns=(interpolation_patterns); end
1785
-
1786
- # Allow clients to register paths providing translation data sources. The
1787
- # backend defines acceptable sources.
1788
- #
1789
- # E.g. the provided SimpleBackend accepts a list of paths to translation
1790
- # files which are either named *.rb and contain plain Ruby Hashes or are
1791
- # named *.yml and contain YAML data. So for the SimpleBackend clients may
1792
- # register translation files like this:
1793
- # I18n.load_path << 'path/to/locale/en.yml'
1794
- #
1795
- # source://i18n//lib/i18n/config.rb#126
1796
- def load_path; end
1797
-
1798
- # Sets the load path instance. Custom implementations are expected to
1799
- # behave like a Ruby Array.
1800
- #
1801
- # source://i18n//lib/i18n/config.rb#132
1802
- def load_path=(load_path); end
1803
-
1804
- # The only configuration value that is not global and scoped to thread is :locale.
1805
- # It defaults to the default_locale.
1806
- #
1807
- # source://i18n//lib/i18n/config.rb#9
1808
- def locale; end
1809
-
1810
- # Sets the current locale pseudo-globally, i.e. in the Thread.current hash.
1811
- #
1812
- # source://i18n//lib/i18n/config.rb#14
1813
- def locale=(locale); end
1814
-
1815
- # Returns the current handler for situations when interpolation argument
1816
- # is missing. MissingInterpolationArgument will be raised by default.
1817
- #
1818
- # source://i18n//lib/i18n/config.rb#97
1819
- def missing_interpolation_argument_handler; end
1820
-
1821
- # Sets the missing interpolation argument handler. It can be any
1822
- # object that responds to #call. The arguments that will be passed to #call
1823
- # are the same as for MissingInterpolationArgument initializer. Use +Proc.new+
1824
- # if you don't care about arity.
1825
- #
1826
- # == Example:
1827
- # You can suppress raising an exception and return string instead:
1828
- #
1829
- # I18n.config.missing_interpolation_argument_handler = Proc.new do |key|
1830
- # "#{key} is missing"
1831
- # end
1832
- #
1833
- # source://i18n//lib/i18n/config.rb#114
1834
- def missing_interpolation_argument_handler=(exception_handler); end
1835
- end
1836
-
1837
- # source://i18n//lib/i18n/interpolate/ruby.rb#7
1838
- I18n::DEFAULT_INTERPOLATION_PATTERNS = T.let(T.unsafe(nil), Array)
1839
-
1840
- # source://i18n//lib/i18n/exceptions.rb#18
1841
- class I18n::Disabled < ::I18n::ArgumentError
1842
- # @return [Disabled] a new instance of Disabled
1843
- #
1844
- # source://i18n//lib/i18n/exceptions.rb#19
1845
- def initialize(method); end
1846
- end
1847
-
1848
- # source://i18n//lib/i18n.rb#36
1849
- I18n::EMPTY_HASH = T.let(T.unsafe(nil), Hash)
1850
-
1851
- # source://i18n//lib/i18n/exceptions.rb#6
1852
- class I18n::ExceptionHandler
1853
- # source://i18n//lib/i18n/exceptions.rb#7
1854
- def call(exception, _locale, _key, _options); end
1855
- end
1856
-
1857
- # source://i18n//lib/i18n/gettext.rb#4
1858
- module I18n::Gettext
1859
- class << self
1860
- # source://i18n//lib/i18n/gettext.rb#21
1861
- def extract_scope(msgid, separator); end
1862
-
1863
- # returns an array of plural keys for the given locale or the whole hash
1864
- # of locale mappings to plural keys so that we can convert from gettext's
1865
- # integer-index based style
1866
- # TODO move this information to the pluralization module
1867
- #
1868
- # source://i18n//lib/i18n/gettext.rb#17
1869
- def plural_keys(*args); end
1870
- end
1871
- end
1872
-
1873
- # source://i18n//lib/i18n/gettext.rb#6
1874
- I18n::Gettext::CONTEXT_SEPARATOR = T.let(T.unsafe(nil), String)
1875
-
1876
- # Implements classical Gettext style accessors. To use this include the
1877
- # module to the global namespace or wherever you want to use it.
1878
- #
1879
- # include I18n::Gettext::Helpers
1880
- #
1881
- # source://i18n//lib/i18n/gettext/helpers.rb#11
1882
- module I18n::Gettext::Helpers
1883
- # Makes dynamic translation messages readable for the gettext parser.
1884
- # <tt>_(fruit)</tt> cannot be understood by the gettext parser. To help the parser find all your translations,
1885
- # you can add <tt>fruit = N_("Apple")</tt> which does not translate, but tells the parser: "Apple" needs translation.
1886
- # * msgid: the message id.
1887
- # * Returns: msgid.
1888
- #
1889
- # source://i18n//lib/i18n/gettext/helpers.rb#17
1890
- def N_(msgsid); end
1891
-
1892
- # source://i18n//lib/i18n/gettext/helpers.rb#21
1893
- def _(msgid, options = T.unsafe(nil)); end
1894
-
1895
- # source://i18n//lib/i18n/gettext/helpers.rb#21
1896
- def gettext(msgid, options = T.unsafe(nil)); end
1897
-
1898
- # source://i18n//lib/i18n/gettext/helpers.rb#38
1899
- def n_(msgid, msgid_plural, n = T.unsafe(nil)); end
1900
-
1901
- # source://i18n//lib/i18n/gettext/helpers.rb#38
1902
- def ngettext(msgid, msgid_plural, n = T.unsafe(nil)); end
1903
-
1904
- # Method signatures:
1905
- # npgettext('Fruits', 'apple', 'apples', 2)
1906
- # npgettext('Fruits', ['apple', 'apples'], 2)
1907
- #
1908
- # source://i18n//lib/i18n/gettext/helpers.rb#61
1909
- def np_(msgctxt, msgid, msgid_plural, n = T.unsafe(nil)); end
1910
-
1911
- # Method signatures:
1912
- # npgettext('Fruits', 'apple', 'apples', 2)
1913
- # npgettext('Fruits', ['apple', 'apples'], 2)
1914
- #
1915
- # source://i18n//lib/i18n/gettext/helpers.rb#61
1916
- def npgettext(msgctxt, msgid, msgid_plural, n = T.unsafe(nil)); end
1917
-
1918
- # Method signatures:
1919
- # nsgettext('Fruits|apple', 'apples', 2)
1920
- # nsgettext(['Fruits|apple', 'apples'], 2)
1921
- #
1922
- # source://i18n//lib/i18n/gettext/helpers.rb#46
1923
- def ns_(msgid, msgid_plural, n = T.unsafe(nil), separator = T.unsafe(nil)); end
1924
-
1925
- # Method signatures:
1926
- # nsgettext('Fruits|apple', 'apples', 2)
1927
- # nsgettext(['Fruits|apple', 'apples'], 2)
1928
- #
1929
- # source://i18n//lib/i18n/gettext/helpers.rb#46
1930
- def nsgettext(msgid, msgid_plural, n = T.unsafe(nil), separator = T.unsafe(nil)); end
1931
-
1932
- # source://i18n//lib/i18n/gettext/helpers.rb#32
1933
- def p_(msgctxt, msgid); end
1934
-
1935
- # source://i18n//lib/i18n/gettext/helpers.rb#32
1936
- def pgettext(msgctxt, msgid); end
1937
-
1938
- # source://i18n//lib/i18n/gettext/helpers.rb#26
1939
- def s_(msgid, separator = T.unsafe(nil)); end
1940
-
1941
- # source://i18n//lib/i18n/gettext/helpers.rb#26
1942
- def sgettext(msgid, separator = T.unsafe(nil)); end
1943
- end
1944
-
1945
- # source://i18n//lib/i18n/gettext.rb#5
1946
- I18n::Gettext::PLURAL_SEPARATOR = T.let(T.unsafe(nil), String)
1947
-
1948
- # source://i18n//lib/i18n/interpolate/ruby.rb#12
1949
- I18n::INTERPOLATION_PATTERN = T.let(T.unsafe(nil), Regexp)
1950
-
1951
- # source://i18n//lib/i18n/interpolate/ruby.rb#15
1952
- I18n::INTERPOLATION_PATTERNS_CACHE = T.let(T.unsafe(nil), Hash)
1953
-
1954
- # source://i18n//lib/i18n/exceptions.rb#134
1955
- class I18n::InvalidFilenames < ::I18n::ArgumentError
1956
- # @return [InvalidFilenames] a new instance of InvalidFilenames
1957
- #
1958
- # source://i18n//lib/i18n/exceptions.rb#136
1959
- def initialize(file_errors); end
1960
- end
1961
-
1962
- # source://i18n//lib/i18n/exceptions.rb#135
1963
- I18n::InvalidFilenames::NUMBER_OF_ERRORS_SHOWN = T.let(T.unsafe(nil), Integer)
1964
-
1965
- # source://i18n//lib/i18n/exceptions.rb#32
1966
- class I18n::InvalidLocale < ::I18n::ArgumentError
1967
- # @return [InvalidLocale] a new instance of InvalidLocale
1968
- #
1969
- # source://i18n//lib/i18n/exceptions.rb#34
1970
- def initialize(locale); end
1971
-
1972
- # Returns the value of attribute locale.
1973
- #
1974
- # source://i18n//lib/i18n/exceptions.rb#33
1975
- def locale; end
1976
- end
1977
-
1978
- # source://i18n//lib/i18n/exceptions.rb#40
1979
- class I18n::InvalidLocaleData < ::I18n::ArgumentError
1980
- # @return [InvalidLocaleData] a new instance of InvalidLocaleData
1981
- #
1982
- # source://i18n//lib/i18n/exceptions.rb#42
1983
- def initialize(filename, exception_message); end
1984
-
1985
- # Returns the value of attribute filename.
1986
- #
1987
- # source://i18n//lib/i18n/exceptions.rb#41
1988
- def filename; end
1989
- end
1990
-
1991
- # source://i18n//lib/i18n/exceptions.rb#92
1992
- class I18n::InvalidPluralizationData < ::I18n::ArgumentError
1993
- # @return [InvalidPluralizationData] a new instance of InvalidPluralizationData
1994
- #
1995
- # source://i18n//lib/i18n/exceptions.rb#94
1996
- def initialize(entry, count, key); end
1997
-
1998
- # Returns the value of attribute count.
1999
- #
2000
- # source://i18n//lib/i18n/exceptions.rb#93
2001
- def count; end
2002
-
2003
- # Returns the value of attribute entry.
2004
- #
2005
- # source://i18n//lib/i18n/exceptions.rb#93
2006
- def entry; end
2007
-
2008
- # Returns the value of attribute key.
2009
- #
2010
- # source://i18n//lib/i18n/exceptions.rb#93
2011
- def key; end
2012
- end
2013
-
2014
- # source://i18n//lib/i18n/backend/key_value.rb#21
2015
- I18n::JSON = ActiveSupport::JSON
2016
-
2017
- # source://i18n//lib/i18n/locale.rb#4
2018
- module I18n::Locale; end
2019
-
2020
- # source://i18n//lib/i18n/locale/fallbacks.rb#48
2021
- class I18n::Locale::Fallbacks < ::Hash
2022
- # @return [Fallbacks] a new instance of Fallbacks
2023
- #
2024
- # source://i18n//lib/i18n/locale/fallbacks.rb#49
2025
- def initialize(*mappings); end
2026
-
2027
- # @raise [InvalidLocale]
2028
- #
2029
- # source://i18n//lib/i18n/locale/fallbacks.rb#60
2030
- def [](locale); end
2031
-
2032
- # Returns the value of attribute defaults.
2033
- #
2034
- # source://i18n//lib/i18n/locale/fallbacks.rb#58
2035
- def defaults; end
2036
-
2037
- # source://i18n//lib/i18n/locale/fallbacks.rb#55
2038
- def defaults=(defaults); end
2039
-
2040
- # @return [Boolean]
2041
- #
2042
- # source://i18n//lib/i18n/locale/fallbacks.rb#82
2043
- def empty?; end
2044
-
2045
- # source://i18n//lib/i18n/locale/fallbacks.rb#86
2046
- def inspect; end
2047
-
2048
- # source://i18n//lib/i18n/locale/fallbacks.rb#67
2049
- def map(*args, &block); end
2050
-
2051
- protected
2052
-
2053
- # source://i18n//lib/i18n/locale/fallbacks.rb#92
2054
- def compute(tags, include_defaults = T.unsafe(nil), exclude = T.unsafe(nil)); end
2055
- end
2056
-
2057
- # source://i18n//lib/i18n/locale/tag.rb#5
2058
- module I18n::Locale::Tag
2059
- class << self
2060
- # Returns the current locale tag implementation. Defaults to +I18n::Locale::Tag::Simple+.
2061
- #
2062
- # source://i18n//lib/i18n/locale/tag.rb#12
2063
- def implementation; end
2064
-
2065
- # Sets the current locale tag implementation. Use this to set a different locale tag implementation.
2066
- #
2067
- # source://i18n//lib/i18n/locale/tag.rb#17
2068
- def implementation=(implementation); end
2069
-
2070
- # Factory method for locale tags. Delegates to the current locale tag implementation.
2071
- #
2072
- # source://i18n//lib/i18n/locale/tag.rb#22
2073
- def tag(tag); end
2074
- end
2075
- end
2076
-
2077
- # source://i18n//lib/i18n/locale/tag/parents.rb#4
2078
- module I18n::Locale::Tag::Parents
2079
- # source://i18n//lib/i18n/locale/tag/parents.rb#5
2080
- def parent; end
2081
-
2082
- # source://i18n//lib/i18n/locale/tag/parents.rb#18
2083
- def parents; end
2084
-
2085
- # source://i18n//lib/i18n/locale/tag/parents.rb#14
2086
- def self_and_parents; end
2087
- end
2088
-
2089
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#12
2090
- I18n::Locale::Tag::RFC4646_FORMATS = T.let(T.unsafe(nil), Hash)
2091
-
2092
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#11
2093
- I18n::Locale::Tag::RFC4646_SUBTAGS = T.let(T.unsafe(nil), Array)
2094
-
2095
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#14
2096
- class I18n::Locale::Tag::Rfc4646 < ::Struct
2097
- include ::I18n::Locale::Tag::Parents
2098
-
2099
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#35
2100
- def language; end
2101
-
2102
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#35
2103
- def region; end
2104
-
2105
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#35
2106
- def script; end
2107
-
2108
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#46
2109
- def to_a; end
2110
-
2111
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#42
2112
- def to_s; end
2113
-
2114
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#38
2115
- def to_sym; end
2116
-
2117
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#35
2118
- def variant; end
2119
-
2120
- class << self
2121
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#23
2122
- def parser; end
2123
-
2124
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#27
2125
- def parser=(parser); end
2126
-
2127
- # Parses the given tag and returns a Tag instance if it is valid.
2128
- # Returns false if the given tag is not valid according to RFC 4646.
2129
- #
2130
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#18
2131
- def tag(tag); end
2132
- end
2133
- end
2134
-
2135
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#50
2136
- module I18n::Locale::Tag::Rfc4646::Parser
2137
- class << self
2138
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#63
2139
- def match(tag); end
2140
- end
2141
- end
2142
-
2143
- # source://i18n//lib/i18n/locale/tag/rfc4646.rb#51
2144
- I18n::Locale::Tag::Rfc4646::Parser::PATTERN = T.let(T.unsafe(nil), Regexp)
2145
-
2146
- # source://i18n//lib/i18n/locale/tag/simple.rb#6
2147
- class I18n::Locale::Tag::Simple
2148
- include ::I18n::Locale::Tag::Parents
2149
-
2150
- # @return [Simple] a new instance of Simple
2151
- #
2152
- # source://i18n//lib/i18n/locale/tag/simple.rb#17
2153
- def initialize(*tag); end
2154
-
2155
- # source://i18n//lib/i18n/locale/tag/simple.rb#21
2156
- def subtags; end
2157
-
2158
- # Returns the value of attribute tag.
2159
- #
2160
- # source://i18n//lib/i18n/locale/tag/simple.rb#15
2161
- def tag; end
2162
-
2163
- # source://i18n//lib/i18n/locale/tag/simple.rb#33
2164
- def to_a; end
2165
-
2166
- # source://i18n//lib/i18n/locale/tag/simple.rb#29
2167
- def to_s; end
2168
-
2169
- # source://i18n//lib/i18n/locale/tag/simple.rb#25
2170
- def to_sym; end
2171
-
2172
- class << self
2173
- # source://i18n//lib/i18n/locale/tag/simple.rb#8
2174
- def tag(tag); end
2175
- end
2176
- end
2177
-
2178
- # source://i18n//lib/i18n/middleware.rb#4
2179
- class I18n::Middleware
2180
- # @return [Middleware] a new instance of Middleware
2181
- #
2182
- # source://i18n//lib/i18n/middleware.rb#6
2183
- def initialize(app); end
2184
-
2185
- # source://i18n//lib/i18n/middleware.rb#10
2186
- def call(env); end
2187
- end
2188
-
2189
- # source://i18n//lib/i18n/exceptions.rb#100
2190
- class I18n::MissingInterpolationArgument < ::I18n::ArgumentError
2191
- # @return [MissingInterpolationArgument] a new instance of MissingInterpolationArgument
2192
- #
2193
- # source://i18n//lib/i18n/exceptions.rb#102
2194
- def initialize(key, values, string); end
2195
-
2196
- # Returns the value of attribute key.
2197
- #
2198
- # source://i18n//lib/i18n/exceptions.rb#101
2199
- def key; end
2200
-
2201
- # Returns the value of attribute string.
2202
- #
2203
- # source://i18n//lib/i18n/exceptions.rb#101
2204
- def string; end
2205
-
2206
- # Returns the value of attribute values.
2207
- #
2208
- # source://i18n//lib/i18n/exceptions.rb#101
2209
- def values; end
2210
- end
2211
-
2212
- # source://i18n//lib/i18n/exceptions.rb#48
2213
- class I18n::MissingTranslation < ::I18n::ArgumentError
2214
- include ::I18n::MissingTranslation::Base
2215
- end
2216
-
2217
- # source://i18n//lib/i18n/exceptions.rb#49
2218
- module I18n::MissingTranslation::Base
2219
- # source://i18n//lib/i18n/exceptions.rb#54
2220
- def initialize(locale, key, options = T.unsafe(nil)); end
2221
-
2222
- # Returns the value of attribute key.
2223
- #
2224
- # source://i18n//lib/i18n/exceptions.rb#52
2225
- def key; end
2226
-
2227
- # source://i18n//lib/i18n/exceptions.rb#59
2228
- def keys; end
2229
-
2230
- # Returns the value of attribute locale.
2231
- #
2232
- # source://i18n//lib/i18n/exceptions.rb#52
2233
- def locale; end
2234
-
2235
- # source://i18n//lib/i18n/exceptions.rb#65
2236
- def message; end
2237
-
2238
- # source://i18n//lib/i18n/exceptions.rb#74
2239
- def normalized_option(key); end
2240
-
2241
- # Returns the value of attribute options.
2242
- #
2243
- # source://i18n//lib/i18n/exceptions.rb#52
2244
- def options; end
2245
-
2246
- # source://i18n//lib/i18n/exceptions.rb#80
2247
- def to_exception; end
2248
-
2249
- # source://i18n//lib/i18n/exceptions.rb#65
2250
- def to_s; end
2251
- end
2252
-
2253
- # source://i18n//lib/i18n/exceptions.rb#50
2254
- I18n::MissingTranslation::Base::PERMITTED_KEYS = T.let(T.unsafe(nil), Array)
2255
-
2256
- # source://i18n//lib/i18n/exceptions.rb#88
2257
- class I18n::MissingTranslationData < ::I18n::ArgumentError
2258
- include ::I18n::MissingTranslation::Base
2259
- end
2260
-
2261
- # source://i18n//lib/i18n.rb#19
2262
- I18n::RESERVED_KEYS = T.let(T.unsafe(nil), Array)
2263
-
2264
- # source://i18n//lib/i18n/exceptions.rb#108
2265
- class I18n::ReservedInterpolationKey < ::I18n::ArgumentError
2266
- # @return [ReservedInterpolationKey] a new instance of ReservedInterpolationKey
2267
- #
2268
- # source://i18n//lib/i18n/exceptions.rb#110
2269
- def initialize(key, string); end
2270
-
2271
- # Returns the value of attribute key.
2272
- #
2273
- # source://i18n//lib/i18n/exceptions.rb#109
2274
- def key; end
2275
-
2276
- # Returns the value of attribute string.
2277
- #
2278
- # source://i18n//lib/i18n/exceptions.rb#109
2279
- def string; end
2280
- end
2281
-
2282
- # source://i18n//lib/i18n/tests.rb#4
2283
- module I18n::Tests; end
2284
-
2285
- # source://i18n//lib/i18n/tests/localization.rb#3
2286
- module I18n::Tests::Localization
2287
- class << self
2288
- # @private
2289
- #
2290
- # source://i18n//lib/i18n/tests/localization.rb#9
2291
- def included(base); end
2292
- end
2293
- end
2294
-
2295
- # source://i18n//lib/i18n/exceptions.rb#116
2296
- class I18n::UnknownFileType < ::I18n::ArgumentError
2297
- # @return [UnknownFileType] a new instance of UnknownFileType
2298
- #
2299
- # source://i18n//lib/i18n/exceptions.rb#118
2300
- def initialize(type, filename); end
2301
-
2302
- # Returns the value of attribute filename.
2303
- #
2304
- # source://i18n//lib/i18n/exceptions.rb#117
2305
- def filename; end
2306
-
2307
- # Returns the value of attribute type.
2308
- #
2309
- # source://i18n//lib/i18n/exceptions.rb#117
2310
- def type; end
2311
- end
2312
-
2313
- # source://i18n//lib/i18n/exceptions.rb#124
2314
- class I18n::UnsupportedMethod < ::I18n::ArgumentError
2315
- # @return [UnsupportedMethod] a new instance of UnsupportedMethod
2316
- #
2317
- # source://i18n//lib/i18n/exceptions.rb#126
2318
- def initialize(method, backend_klass, msg); end
2319
-
2320
- # Returns the value of attribute backend_klass.
2321
- #
2322
- # source://i18n//lib/i18n/exceptions.rb#125
2323
- def backend_klass; end
2324
-
2325
- # Returns the value of attribute method.
2326
- #
2327
- # source://i18n//lib/i18n/exceptions.rb#125
2328
- def method; end
2329
-
2330
- # Returns the value of attribute msg.
2331
- #
2332
- # source://i18n//lib/i18n/exceptions.rb#125
2333
- def msg; end
2334
- end
2335
-
2336
- # source://i18n//lib/i18n/utils.rb#4
2337
- module I18n::Utils
2338
- class << self
2339
- # source://i18n//lib/i18n/utils.rb#18
2340
- def deep_merge(hash, other_hash, &block); end
2341
-
2342
- # source://i18n//lib/i18n/utils.rb#22
2343
- def deep_merge!(hash, other_hash, &block); end
2344
-
2345
- # source://i18n//lib/i18n/utils.rb#34
2346
- def deep_symbolize_keys(hash); end
2347
-
2348
- # source://i18n//lib/i18n/utils.rb#7
2349
- def except(hash, *keys); end
2350
-
2351
- private
2352
-
2353
- # source://i18n//lib/i18n/utils.rb#43
2354
- def deep_symbolize_keys_in_object(value); end
2355
- end
2356
- end
2357
-
2358
- # source://i18n//lib/i18n/version.rb#4
2359
- I18n::VERSION = T.let(T.unsafe(nil), String)