diff --git a/config/initializers/gettext_rails_i18n_patch.rb b/config/initializers/gettext_rails_i18n_patch.rb index d74c1f597fe..6785f361eda 100644 --- a/config/initializers/gettext_rails_i18n_patch.rb +++ b/config/initializers/gettext_rails_i18n_patch.rb @@ -1,8 +1,7 @@ require 'gettext_i18n_rails/haml_parser' require 'gettext_i18n_rails_js/parser/javascript' -VUE_TRANSLATE_REGEX = /{{ ([^{]*)( \| translate) }}/ -VUE_TRANSLATE_PLURAL_REGEX = /{{ ([^{]*)( \| translate-plural\((.*), (.*)\)) }}/ +VUE_TRANSLATE_REGEX = /{{ (N|n|s)?__\((.*)\) }}/ module GettextI18nRails class HamlParser @@ -10,17 +9,13 @@ module GettextI18nRails # We need to convert text in Mustache format # to a format that can be parsed by Gettext scripts. - # If we found a content like "{{ 'Stage' | translate }}" + # If we found a content like "{{ __('Stage') }}" # in a HAML file we convert it to "= _('Stage')", that way # it can be processed by the "rake gettext:find" script. # # Overwrites: https://github.com/grosser/gettext_i18n_rails/blob/8396387a431e0f8ead72fc1cd425cad2fa4992f2/lib/gettext_i18n_rails/haml_parser.rb#L9 def self.convert_to_code(text) - # {{ 'Stage' | translate }} => = _('Stage') - text.gsub!(VUE_TRANSLATE_REGEX, "= _(\\1)") - - # {{ 'user' | translate-plural('users', users.size) }} => = n_('user', 'users', users.size) - text.gsub!(VUE_TRANSLATE_PLURAL_REGEX, "= n_(\\1, \\3, \\4)") + text.gsub!(VUE_TRANSLATE_REGEX, "= \\1_(\\2)") old_convert_to_code(text) end @@ -43,22 +38,6 @@ module GettextI18nRailsJs ".vue" ].include? ::File.extname(file) end - - protected - - # Overwrites: https://github.com/webhippie/gettext_i18n_rails_js/blob/46c58db6d2053a4f5f36a0eb024ea706ff5707cb/lib/gettext_i18n_rails_js/parser/javascript.rb#L46 - def collect_for(value) - ::File.open(value) do |f| - f.each_line.each_with_index.collect do |line, idx| - line.gsub!(VUE_TRANSLATE_REGEX, "__(\\1)") - line.gsub!(VUE_TRANSLATE_PLURAL_REGEX, "n__(\\1, \\3, \\4)") - - line.scan(invoke_regex).collect do |function, arguments| - yield(function, arguments, idx + 1) - end - end.inject([], :+).compact - end - end end end end