govspeak 10.5.0 → 10.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0c936c8543dbb14d96466ed3247e7a12270cd9235693b37905039a663f82988
4
- data.tar.gz: b0b18ad7d4f43d2e6fda4a858ca310823551adf44d88c610ec38a51889f56e88
3
+ metadata.gz: 30e30285a780a0da060ee298bf71e53aeffd4b5469b572be5a58a0c6def21bb6
4
+ data.tar.gz: 8239fe6487ef050156201a6892ebb5366f441eba034c1905d1316572c69f13a3
5
5
  SHA512:
6
- metadata.gz: 8179405f6139a4890a70b5de379df13d772f8104311a7fa8ef841c66d74b4471d790769a03cc26511dc9540413e2366e7c4f46930552d1cbedadb81c3fa96d65
7
- data.tar.gz: 10a9ef6773b3724fa13264fca599435bf69f6aeabd370b3ad263097bc86d4596492269b4e1150d5be5929a7d250b887d96f104b1346f7bbe6ad4040f17e316be
6
+ metadata.gz: 95d139e6f2c8f7f865a7d308527d5c91ddb12b9d2e652d97b8bb5826ab6c3e5525fa478547b539eb746d590c24f206e6fba4a5aec33f1b9e7ded5532e504a234
7
+ data.tar.gz: d273213967ecec107893394f74e5af927749da774946cb46cb8b0bfe5de4f8f3aa34838df3c08d97108de37ea273642b8e68a9a3d872e4ab44312ddd9667f9b9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 10.6.0
4
+
5
+ * Expose supported locales with their codes, English names, and native names:
6
+ `Govspeak::TranslationHelper.supported_locales`
7
+
3
8
  ## 10.5.0
4
9
 
5
10
  * Pass locale to child instances of `Govspeak::Document` (where one instance instantiates another) and to `HtmlValidator`
@@ -1,5 +1,5 @@
1
1
  module Govspeak
2
- module TranslationHelper
2
+ class TranslationHelper
3
3
  def self.t_with_fallback(key, **options)
4
4
  if I18n.available_locales.none?(options[:locale]&.to_sym)
5
5
  options[:locale] = I18n.default_locale
@@ -14,5 +14,15 @@ module Govspeak
14
14
 
15
15
  I18n.t(key, **options)
16
16
  end
17
+
18
+ def self.supported_locales
19
+ I18n.available_locales.map do |locale|
20
+ {
21
+ code: locale,
22
+ english_name: I18n.t("english_name", locale:),
23
+ native_name: I18n.t("native_name", locale:),
24
+ }
25
+ end
26
+ end
17
27
  end
18
28
  end
@@ -1,3 +1,3 @@
1
1
  module Govspeak
2
- VERSION = "10.5.0".freeze
2
+ VERSION = "10.6.0".freeze
3
3
  end
data/lib/govspeak.rb CHANGED
@@ -438,8 +438,10 @@ module Govspeak
438
438
  end
439
439
  end
440
440
 
441
- I18n.load_path.unshift(
442
- *Dir.glob(File.expand_path("locales/*.yml", Govspeak.root)),
443
- )
441
+ locale_paths = *Dir.glob(File.expand_path("locales/*.yml", Govspeak.root))
444
442
 
443
+ I18n.load_path.unshift(locale_paths)
444
+ I18n.available_locales = locale_paths.map do |path|
445
+ path.match(/([^\/]+).yml/)[1].to_sym
446
+ end
445
447
  I18n.default_locale = :en
data/locales/ar.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ar:
3
+ english_name: Arabic
4
+ native_name: العربيَّة
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "نموذج اتصال"
data/locales/be.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  be:
3
+ english_name: Belarusian
4
+ native_name: Беларуская
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Кантактная форма"
data/locales/bg.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  bg:
3
+ english_name: Bulgarian
4
+ native_name: български
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Контактна форма"
data/locales/cs.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  cs:
3
+ english_name: Czech
4
+ native_name: Čeština
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Kontaktní formulář
data/locales/cy.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  cy:
3
+ english_name: Welsh
4
+ native_name: Cymraeg
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Ffurflen cysylltu
data/locales/de.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  de:
3
+ english_name: German
4
+ native_name: Deutsch
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Kontaktformular
data/locales/el.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  el:
3
+ english_name: Greek
4
+ native_name: Ελληνικά
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Φόρμα επικοινωνίας"
data/locales/en.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  en:
3
+ english_name: English
4
+ native_name: English
3
5
  govspeak:
4
6
  contact:
5
7
  email: Email
data/locales/es-419.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  es-419:
3
+ english_name: Latin American Spanish
4
+ native_name: Español de América Latina
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formulario de contacto
data/locales/es.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  es:
3
+ english_name: Spanish
4
+ native_name: Español
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formulario de contacto
data/locales/et.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  et:
3
+ english_name: Estonian
4
+ native_name: Eesti
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Võtke ühendust
data/locales/fa.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  fa:
3
+ english_name: Persian
4
+ native_name: فارسی
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "فرم ارتباط"
data/locales/fr.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  fr:
3
+ english_name: French
4
+ native_name: Français
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formulaire de contact
data/locales/he.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  he:
3
+ english_name: Hebrew
4
+ native_name: עברית
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "טופס יצירת קשר"
data/locales/hi.yml CHANGED
@@ -1,5 +1,6 @@
1
- ---
2
1
  hi:
2
+ english_name: Hindi
3
+ native_name: हिंदी
3
4
  govspeak:
4
5
  contact:
5
6
  contact_form: "संपर्क प्रपत्र"
data/locales/hu.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  hu:
3
+ english_name: Hungarian
4
+ native_name: Magyar
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Kapcsolati űrlap
data/locales/hy.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  hy:
3
+ english_name: Armenian
4
+ native_name: Հայերեն
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Կապի միջոց"
data/locales/id.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  id:
3
+ english_name: Indonesian
4
+ native_name: Bahasa Indonesia
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formulir kontak
data/locales/it.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  it:
3
+ english_name: Italian
4
+ native_name: Italiano
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Contattaci
data/locales/ja.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ja:
3
+ english_name: Japanese
4
+ native_name: 日本語
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "連絡フォーム"
data/locales/ko.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ko:
3
+ english_name: Korean
4
+ native_name: 한국어
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "콘택트 폼"
data/locales/lt.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  lt:
3
+ english_name: Lithuanian
4
+ native_name: Lietuvių
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Parašykite mums
data/locales/lv.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  lv:
3
+ english_name: Latvian
4
+ native_name: Latviešu
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Saziņas forma
data/locales/pl.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  pl:
3
+ english_name: Polish
4
+ native_name: Polski
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formularz kontaktowy
data/locales/ps.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ps:
3
+ english_name: Pashto
4
+ native_name: پښتو
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "د اړیکوپاڼه"
data/locales/pt.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  pt:
3
+ english_name: Portuguese
4
+ native_name: Português
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formulário de contato
data/locales/ro.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ro:
3
+ english_name: Romanian
4
+ native_name: Română
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Formular de contact
data/locales/ru.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ru:
3
+ english_name: Russian
4
+ native_name: Русский
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Контактная форма"
data/locales/si.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  si:
3
+ english_name: Sinhala
4
+ native_name: සිංහල
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "තොරතුරු පෝරමය"
data/locales/sr.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  sr:
3
+ english_name: Serbian
4
+ native_name: Српски
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: formular za kontakt
data/locales/ta.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ta:
3
+ english_name: Tamil
4
+ native_name: தமிழ்
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "தொடர்புகொள்ளல் படிவம்"
data/locales/th.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  th:
3
+ english_name: Thai
4
+ native_name: ไทย
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "แบบฟอร์มการติดต่อ"
data/locales/tr.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  tr:
3
+ english_name: Turkish
4
+ native_name: Türkçe
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "İletişim Formu"
data/locales/uk.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  uk:
3
+ english_name: Ukrainian
4
+ native_name: Українська
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "Форма зворотнього зв'язку"
data/locales/ur.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  ur:
3
+ english_name: Urdu
4
+ native_name: اردو
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "کانٹیکٹ فارم"
data/locales/uz.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  uz:
3
+ english_name: Uzbek
4
+ native_name: Oʻzbek
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Aloqa uchun
data/locales/vi.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  vi:
3
+ english_name: Vietnamese
4
+ native_name: Tiếng Việt
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: Mẫu liên hệ
data/locales/zh-hk.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  zh-hk:
3
+ english_name: Cantonese
4
+ native_name: 粵語
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "聯絡資料表"
data/locales/zh-tw.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  zh-tw:
3
+ english_name: Traditional Chinese
4
+ native_name: 繁體中文
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "聯絡資料表"
data/locales/zh.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  ---
2
2
  zh:
3
+ english_name: Chinese
4
+ native_name: 中文
3
5
  govspeak:
4
6
  contact:
5
7
  contact_form: "联系表格"
@@ -48,4 +48,63 @@ class TranslationHelperTest < Minitest::Test
48
48
  Govspeak::TranslationHelper.t_with_fallback("whatever")
49
49
  end
50
50
  end
51
+
52
+ describe ".supported_locales" do
53
+ it "returns an array of metadata on supported locales" do
54
+ assert_equal Govspeak::TranslationHelper.supported_locales, [
55
+ { code: :ar, english_name: "Arabic", native_name: "العربيَّة" },
56
+ { code: :be, english_name: "Belarusian", native_name: "Беларуская" },
57
+ { code: :bg, english_name: "Bulgarian", native_name: "български" },
58
+ { code: :cs, english_name: "Czech", native_name: "Čeština" },
59
+ { code: :cy, english_name: "Welsh", native_name: "Cymraeg" },
60
+ { code: :de, english_name: "German", native_name: "Deutsch" },
61
+ { code: :el, english_name: "Greek", native_name: "Ελληνικά" },
62
+ { code: :en, english_name: "English", native_name: "English" },
63
+ {
64
+ code: :"es-419",
65
+ english_name: "Latin American Spanish",
66
+ native_name: "Español de América Latina",
67
+ },
68
+ { code: :es, english_name: "Spanish", native_name: "Español" },
69
+ { code: :et, english_name: "Estonian", native_name: "Eesti" },
70
+ { code: :fa, english_name: "Persian", native_name: "فارسی" },
71
+ { code: :fr, english_name: "French", native_name: "Français" },
72
+ { code: :he, english_name: "Hebrew", native_name: "עברית" },
73
+ { code: :hi, english_name: "Hindi", native_name: "हिंदी" },
74
+ { code: :hu, english_name: "Hungarian", native_name: "Magyar" },
75
+ { code: :hy, english_name: "Armenian", native_name: "Հայերեն" },
76
+ {
77
+ code: :id,
78
+ english_name: "Indonesian",
79
+ native_name: "Bahasa Indonesia",
80
+ },
81
+ { code: :it, english_name: "Italian", native_name: "Italiano" },
82
+ { code: :ja, english_name: "Japanese", native_name: "日本語" },
83
+ { code: :ko, english_name: "Korean", native_name: "한국어" },
84
+ { code: :lt, english_name: "Lithuanian", native_name: "Lietuvių" },
85
+ { code: :lv, english_name: "Latvian", native_name: "Latviešu" },
86
+ { code: :pl, english_name: "Polish", native_name: "Polski" },
87
+ { code: :ps, english_name: "Pashto", native_name: "پښتو" },
88
+ { code: :pt, english_name: "Portuguese", native_name: "Português" },
89
+ { code: :ro, english_name: "Romanian", native_name: "Română" },
90
+ { code: :ru, english_name: "Russian", native_name: "Русский" },
91
+ { code: :si, english_name: "Sinhala", native_name: "සිංහල" },
92
+ { code: :sr, english_name: "Serbian", native_name: "Српски" },
93
+ { code: :ta, english_name: "Tamil", native_name: "தமிழ்" },
94
+ { code: :th, english_name: "Thai", native_name: "ไทย" },
95
+ { code: :tr, english_name: "Turkish", native_name: "Türkçe" },
96
+ { code: :uk, english_name: "Ukrainian", native_name: "Українська" },
97
+ { code: :ur, english_name: "Urdu", native_name: "اردو" },
98
+ { code: :uz, english_name: "Uzbek", native_name: "Oʻzbek" },
99
+ { code: :vi, english_name: "Vietnamese", native_name: "Tiếng Việt" },
100
+ { code: :"zh-hk", english_name: "Cantonese", native_name: "粵語" },
101
+ {
102
+ code: :"zh-tw",
103
+ english_name: "Traditional Chinese",
104
+ native_name: "繁體中文",
105
+ },
106
+ { code: :zh, english_name: "Chinese", native_name: "中文" },
107
+ ]
108
+ end
109
+ end
51
110
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govspeak
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.5.0
4
+ version: 10.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -227,14 +227,14 @@ dependencies:
227
227
  requirements:
228
228
  - - '='
229
229
  - !ruby/object:Gem::Version
230
- version: 5.1.17
230
+ version: 5.1.18
231
231
  type: :development
232
232
  prerelease: false
233
233
  version_requirements: !ruby/object:Gem::Requirement
234
234
  requirements:
235
235
  - - '='
236
236
  - !ruby/object:Gem::Version
237
- version: 5.1.17
237
+ version: 5.1.18
238
238
  - !ruby/object:Gem::Dependency
239
239
  name: simplecov
240
240
  requirement: !ruby/object:Gem::Requirement
@@ -367,7 +367,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
367
367
  - !ruby/object:Gem::Version
368
368
  version: '0'
369
369
  requirements: []
370
- rubygems_version: 3.7.0
370
+ rubygems_version: 3.7.1
371
371
  specification_version: 4
372
372
  summary: Markup language for single domain
373
373
  test_files: