diff --git a/lib/locales.rb b/lib/locales.rb index bb286baf8..2968aa433 100644 --- a/lib/locales.rb +++ b/lib/locales.rb @@ -18,7 +18,7 @@ def load_locales pt-PT ro-RO ru-RU sh-ZW si-LK sk-SK sl-SI so-SO sq-AL sr-SP sv-SE sw-KE ta-IN te-IN th-TH tr-TR tt-RU uk-UA ur-PK vi-VN vls-BE xh-ZA zh-CN zh-TW ] I18n.default_locale = :en - I18n.available_locales = two_letter_locales + four_letter_locales + I18n.available_locales = two_letter_locales + four_letter_locales + [:global] end end end diff --git a/lib/project_loader.rb b/lib/project_loader.rb index 16ff5222d..770aee9b0 100644 --- a/lib/project_loader.rb +++ b/lib/project_loader.rb @@ -5,7 +5,7 @@ class ProjectLoader def initialize(identifier, locales) @identifier = identifier - @locales = [*locales, 'en', nil] + @locales = [*locales, 'global', 'en', nil] end def load(include_images: false) diff --git a/lib/tasks/project_components/blank_html_starter/project_config.yml b/lib/tasks/project_components/blank_html_starter/project_config.yml index 9cb93f804..60276b2d6 100644 --- a/lib/tasks/project_components/blank_html_starter/project_config.yml +++ b/lib/tasks/project_components/blank_html_starter/project_config.yml @@ -1,6 +1,7 @@ NAME: 'Blank HTML & CSS Starter' IDENTIFIER: 'blank-html-starter' TYPE: 'html' +LOCALE: 'global' COMPONENTS: - name: 'index' extension: 'html' diff --git a/lib/tasks/project_components/blank_python_starter/project_config.yml b/lib/tasks/project_components/blank_python_starter/project_config.yml index 3d7befe59..a7dda5df8 100644 --- a/lib/tasks/project_components/blank_python_starter/project_config.yml +++ b/lib/tasks/project_components/blank_python_starter/project_config.yml @@ -1,6 +1,7 @@ NAME: 'Blank Python Starter' IDENTIFIER: 'blank-python-starter' TYPE: 'python' +LOCALE: 'global' COMPONENTS: - name: 'main' extension: 'py' diff --git a/spec/lib/project_loader_spec.rb b/spec/lib/project_loader_spec.rb index 124b41e8f..eef2207d4 100644 --- a/spec/lib/project_loader_spec.rb +++ b/spec/lib/project_loader_spec.rb @@ -41,6 +41,14 @@ end end + context 'when global project with identifier exists' do + let!(:global_project) { create(:project, identifier:, locale: 'global') } + + it 'defaults to global' do + expect(loaded_project).to eq(global_project) + end + end + context 'when no preferred locale or English versions but user version exists' do let!(:user_project) { create(:project, identifier:, locale: nil) }