From 939469cda3aa66e5cc68b6780f6ee8a8d6152d0f Mon Sep 17 00:00:00 2001 From: Bob Van Landuyt Date: Wed, 18 Oct 2017 10:29:18 +0200 Subject: Build the locale path with an `_` instead of a `-` The locale code is turned into an asset path with an underscore instead of a dash. The language codes are transformed by `I18n.locale` into a code with a dash. But the resources for translating are always stored in a path using a `_` separating the language and the region code. --- app/helpers/application_helper.rb | 4 ++++ app/views/layouts/_head.html.haml | 2 +- changelogs/unreleased/bvl-fix-locale-path.yml | 5 +++++ spec/helpers/application_helper_spec.rb | 8 ++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/bvl-fix-locale-path.yml diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8d02d5de5c3..4754a67450f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -309,4 +309,8 @@ module ApplicationHelper def show_new_repo? cookies["new_repo"] == "true" && body_data_page != 'projects:show' end + + def locale_path + asset_path("locale/#{Gitlab::I18n.locale}/app.js") + end end diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml index f1b32274664..1597621fa78 100644 --- a/app/views/layouts/_head.html.haml +++ b/app/views/layouts/_head.html.haml @@ -37,7 +37,7 @@ - if content_for?(:library_javascripts) = yield :library_javascripts - = javascript_include_tag asset_path("locale/#{I18n.locale.to_s || I18n.default_locale.to_s}/app.js") unless I18n.locale == :en + = javascript_include_tag locale_path unless I18n.locale == :en = webpack_bundle_tag "webpack_runtime" = webpack_bundle_tag "common" = webpack_bundle_tag "main" diff --git a/changelogs/unreleased/bvl-fix-locale-path.yml b/changelogs/unreleased/bvl-fix-locale-path.yml new file mode 100644 index 00000000000..97e0e000e3c --- /dev/null +++ b/changelogs/unreleased/bvl-fix-locale-path.yml @@ -0,0 +1,5 @@ +--- +title: Correctly render asset path for locales with a region +merge_request: 14924 +author: +type: fixed diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 87ae1fa5660..66785cf32da 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -309,4 +309,12 @@ describe ApplicationHelper do end end end + + describe '#locale_path' do + it 'returns the locale path with an `_`' do + Gitlab::I18n.locale = 'pt-BR' + + expect(helper.locale_path).to include('assets/locale/pt_BR/app') + end + end end -- cgit v1.2.1