Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump rails-i18n from 7.0.5 to 7.0.6 #7042

Merged
merged 1 commit into from
Nov 28, 2022

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Nov 9, 2022

Bumps rails-i18n from 7.0.5 to 7.0.6.

Changelog

Sourced from rails-i18n's changelog.

7.0.6 (2022-11-08)

  • Add option to choose which modules (locales, pluralization, transliteration, ordinals) are enabled #1019
  • Add following locales:
    • Dzongkha (dz) #1052
    • Sardinian (sc) #1030
    • Swedish (sv-FI): Finland’s native Swedish-speakers #1055
  • Update following locales:
    • Bengali (bn): Fix date and spelling issues #1031
    • Chinese (zh-HK, zh-TW, zh-YUE, zh-CN):
    • English (en, en-CY, en-IE, en-TT, en-US, en-ZA):
      • Add pluralization #1021
      • Add in and round_mode keys #1042
    • French (fr, fr-CA, fr-CH, fr-CA):
      • Change an abreviation for March month in abbr_month_names #1002
      • Add in and round_mode keys #1046
    • Galician (gl): Add missing accent on incluído #961
    • German (de-AT, de-CH, de-DE, de):
      • Add transliteration rule for #1025
      • Add eb and pb storage units #1043
      • Add round_mode key #1044
    • Greek (el-CY): Add pluralization #1022
    • Japanese (ja): Simplify pluralization #1038
    • Korean (ko):
      • Language improvements #989
      • Simplify pluralization #1037
    • Latvian (lv): Add multiple missing translations #966
    • Spanish (es, es-419, es-AR, es-CL, es-CO, es-CR, es-ES, es-MX, es-NI, es-PA, es-PE, es-US, es-VE): Add round_mode key #1045
    • Swedish (sv-SE): Adjust precision and add some missing keys #1047
    • Vietnamese (vi):
      • Update translation for taken #1009
      • Simplify pluralization #1035
  • Removed pluralizations rules that do not have locale files: ak, am, bh, bm, bo, br, by, cy, dz, ff, ga, gd, guw, gv, ig, ii, iu, jv, kab, kde, kea, ksh, kw, lag, ln, mo, mt, my, naq, nso, root, sah, se, ses, sg, sh, shi, sma, smi, smj, smn, sms, ti, to, tzm, wa, yo, zh #1017
Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added dependencies ruby Pull requests that update Ruby code labels Nov 9, 2022
@github-actions
Copy link

github-actions bot commented Nov 9, 2022

⚠️ This repo is Continuously Deployed: make sure you follow the guidance ⚠️

@beccapearce
Copy link
Contributor

I think this is failing because of the new rules around Chinese, unnecessary use of one: and other: has been removed which I think makes our tests unhappy.

@kevindew
Copy link
Member

I think this is failing because of the new rules around Chinese, unnecessary use of one: and other: has been removed which I think makes our tests unhappy.

Yeah I think you're right.

I think there's two parts to this: the fixes to this code and potentially compatibility issues with rails_translation_manager.

I imagine the code fixes aren't too hard. I think where we've got ZH other statements like:

about:
other:
about_our_services:
other: 关于我们的服务
access_and_opening:
other: 访问和打开
accessible_documents_policy:
other: 可获取的文件政策
alert:
other: 警告
announcement:
other: 公告
authored_article:
other: 撰写文章
blog_post:
other: 博客帖子
campaign:
other: 活动
careers:
other: 招聘
case_study:
other: 案例研究
closed_consultation:
other: 封闭咨询
complaints_procedure:
other: 投诉程序
consultation:
other: 咨询
consultation_outcome:
other: 咨询结果
corporate_report:
other: 公司报告
correspondence:
other: 通信
decision:
other: 决策
detailed_guidance:
other: 指南
document_collection:
other: 待整理
draft_text:
other: 草拟文本
edition:
other: 功能版本
edition_with_appointment:
other: 版本和任命
equality_and_diversity:
other: 平等和多样性
fatality_notice:
other: 死亡通知
foi_release:
other: FOI 发布
form:
other: 表格
generic_edition:
other: 通用版本
government_response:
other: 政府回应
guidance:
other: 指南
impact_assessment:
other: 影响评估
imported:
other: 进口-等待型
independent_report:
other: 独立报告
international_treaty:
other: 国际条约
manual:
other: 手册
map:
other: 地图
media_enquiries:
other: 媒体疑问
membership:
other: 会员身份
modern_slavery_statement:
other:
national_statistics:
other: 国家统计局
news_article:
other: 新闻报道
news_story:
other: 新闻故事
nhs_content:
other: NHS内容
notice:
other: 通知
official_statistics:
other: 官方统计
open_consultation:
other: 公开协商
oral_statement:
other: 议会口头声明
our_energy_use:
other: 我们的能源使用
our_governance:
other: 我们的治理
personal_information_charter:
other: 个人信息宪章
petitions_and_campaigns:
other: 请愿书和活动
policy_paper:
other: 政策文件
press_release:
other: 新闻稿
procurement:
other: 采购
promotional:
other: 宣传资料
publication:
other: 公布
publication_scheme:
other: 发布计划
recruitment:
other: 招聘
regulation:
other: 条例
research:
other: 研究
service:
other: 服务
social_media_use:
other: 社交媒体使用
speaking_notes:
other: 发言讲稿
speech:
other: 演讲
staff_update:
other: 员工最新消息
standard:
other: 标准
statement_to_parliament:
other: 议会声明
statistical_data_set:
other: 统计数据集
statistics:
other: 统计数据
statutory_guidance:
other: 法定指南
terms_of_reference:
other: 职责范围
transcript:
other: 文字记录
transparency:
other: 透明度数据
welsh_language_scheme:
other: 威尔士语言计划
world_news_story:
other: 世界新闻故事
written_statement:
other: 议会口头声明
we need to change them to:

 about: 约 
 about_our_services: 关于我们的服务 

and then fix places where it tries to look up a key it shouldn't in tests like:

[:de, "content_publisher_news_story", "document.type.news_story.one"],
[:zh, "content_publisher_news_story", "document.type.news_story.other"],
[:de, "content_publisher_press_release", "document.type.press_release.one"],
[:zh, "content_publisher_press_release", "document.type.press_release.other"],
[:de, "campaign", "document.type.campaign.one"],
[:zh, "campaign", "document.type.campaign.other"],

where an other key no longer exists and thus need shortening.

The bit that seems more thorny to fix is rails_translation_manager, which is owned by #navigation-and-presentation-govuk (cc @chao-xian, is this something you've hit (yet)?, with this change in rails-i18n the are a lot of errors produced by that gem:

Large console pasting of Rails Translation Manager errors
Loading development environment (Rails 7.0.4)
[1] pry(main)> RailsTranslationManager::LocaleChecker.new("config/locales/*.yml")
=> #<RailsTranslationManager::LocaleChecker:0x0000ffff8839d0e0 @locale_path="config/locales/*.yml", @skip_validation=[]>
[2] pry(main)> _.validate_locales

[ERROR] Incompatible plural forms, for:

- 'cy', with parent 'document.type.about'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.about_our_services'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.access_and_opening'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.accessible_documents_policy'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.alert'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.announcement'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.authored_article'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.blog_post'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.campaign'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.careers'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.case_study'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.closed_consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.complaints_procedure'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.consultation_outcome'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.corporate_report'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.correspondence'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.decision'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.detailed_guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.document_collection'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.draft_text'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.edition'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.edition_with_appointment'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.equality_and_diversity'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.fatality_notice'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.foi_release'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.form'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.generic_edition'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.government_response'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.impact_assessment'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.imported'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.independent_report'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.international_treaty'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.manual'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.map'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.media_enquiries'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.membership'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.modern_slavery_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.national_statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.news_article'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.news_story'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.nhs_content'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.notice'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.official_statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.open_consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.oral_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.our_energy_use'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.our_governance'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.personal_information_charter'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.petitions_and_campaigns'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.policy_paper'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.press_release'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.procurement'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.promotional'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.publication'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.publication_scheme'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.recruitment'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.regulation'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.research'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.service'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.social_media_use'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.speaking_notes'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.speech'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.staff_update'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.standard'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.statement_to_parliament'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.statistical_data_set'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.statutory_guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.terms_of_reference'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.transcript'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.transparency'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.welsh_language_scheme'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.world_news_story'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'document.type.written_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'world_location.type.international_delegation'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'cy', with parent 'world_location.type.world_location'. Expected: [:one, :other], actual: [:few, :many, :one, :other, :two, :zero]

- 'mt', with parent 'document.type.about'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.about_our_services'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.access_and_opening'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.accessible_documents_policy'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.alert'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.announcement'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.authored_article'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.blog_post'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.campaign'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.careers'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.case_study'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.closed_consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.complaints_procedure'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.consultation_outcome'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.corporate_report'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.correspondence'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.decision'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.detailed_guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.document_collection'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.draft_text'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.edition'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.edition_with_appointment'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.equality_and_diversity'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.fatality_notice'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.foi_release'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.form'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.generic_edition'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.government_response'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.impact_assessment'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.imported'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.independent_report'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.international_treaty'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.manual'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.map'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.media_enquiries'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.membership'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.modern_slavery_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.national_statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.news_article'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.news_story'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.nhs_content'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.notice'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.official_statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.open_consultation'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.oral_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.our_energy_use'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.our_governance'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.personal_information_charter'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.petitions_and_campaigns'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.policy_paper'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.press_release'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.procurement'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.promotional'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.publication'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.publication_scheme'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.recruitment'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.regulation'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.research'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.service'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.social_media_use'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.speaking_notes'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.speech'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.staff_update'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.standard'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.statement_to_parliament'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.statistical_data_set'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.statistics'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.statutory_guidance'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.terms_of_reference'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.transcript'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.transparency'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.welsh_language_scheme'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.world_news_story'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'document.type.written_statement'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'world_location.type.international_delegation'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'mt', with parent 'world_location.type.world_location'. Expected: [:one, :other], actual: [:few, :many, :one, :other]

- 'zh', with parent 'document.type.about'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.about_our_services'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.access_and_opening'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.accessible_documents_policy'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.alert'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.announcement'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.authored_article'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.blog_post'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.campaign'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.careers'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.case_study'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.closed_consultation'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.complaints_procedure'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.consultation'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.consultation_outcome'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.corporate_report'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.correspondence'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.decision'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.detailed_guidance'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.document_collection'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.draft_text'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.edition'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.edition_with_appointment'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.equality_and_diversity'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.fatality_notice'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.foi_release'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.form'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.generic_edition'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.government_response'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.guidance'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.impact_assessment'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.imported'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.independent_report'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.international_treaty'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.manual'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.map'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.media_enquiries'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.membership'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.modern_slavery_statement'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.national_statistics'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.news_article'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.news_story'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.nhs_content'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.notice'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.official_statistics'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.open_consultation'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.oral_statement'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.our_energy_use'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.our_governance'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.personal_information_charter'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.petitions_and_campaigns'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.policy_paper'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.press_release'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.procurement'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.promotional'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.publication'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.publication_scheme'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.recruitment'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.regulation'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.research'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.service'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.social_media_use'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.speaking_notes'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.speech'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.staff_update'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.standard'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.statement_to_parliament'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.statistical_data_set'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.statistics'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.statutory_guidance'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.terms_of_reference'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.transcript'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.transparency'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.welsh_language_scheme'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.world_news_story'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'document.type.written_statement'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'world_location.type.international_delegation'. Expected: [:one, :other], actual: [:other]

- 'zh', with parent 'world_location.type.world_location'. Expected: [:one, :other], actual: [:other]

If the keys reported above are not plurals, rename them avoiding plural keywords: ["zero", "one", "two", "few", "many", "other"]

Where I think it should not expect a bunch of these 🤔 So I imagine bits like https://github.com/alphagov/rails_translation_manager/blob/b1b8a3b6ea355e0cebcc86b3b5da46efd4962422/config/locales/plurals.rb#L47-L50 will need a change

@chao-xian
Copy link
Contributor

@kevindew yes something similar in Frontend I think but not had a chance to look into it

@kevindew
Copy link
Member

I've looked a bit more into this and I don't think it's actually as complex to fix as I made it sound in my first message.

As I understand the issue isn't actually around the simplification commits (svenfuchs/rails-i18n#1033) and instead is related to the removal of pluralization rules in: svenfuchs/rails-i18n#1017

So I think we'll have to add plural rules for the languages that are no longer handled by rails-i18n. I calculate that to be 4 locales: "cy", "gd", "mt", "zh".

Where I'm a bit confused about is what exactly needs to be updated, as we have both plurals in govuk_app_config and rails_translation_manager. I'm not sure if the latter is used as rails_translation_manager only seems to be installed as a dev dependency.

@kevindew
Copy link
Member

I gave adding the rules to govuk_app_config a go and seem to be getting a successful build: https://ci.integration.publishing.service.gov.uk/job/whitehall/job/rails-I18n-7-kevin/

I've opened up a PR for govuk_app_config: alphagov/govuk_app_config#266

@kevindew
Copy link
Member

@dependabot rebase

I think this might work ok since govuk_app_config 4.11.0 was released: https://github.com/alphagov/govuk_app_config/blob/main/CHANGELOG.md#4110 which Whitehall is using.

Bumps [rails-i18n](https://github.com/svenfuchs/rails-i18n) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/svenfuchs/rails-i18n/releases)
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](svenfuchs/rails-i18n@v7.0.5...v7.0.6)

---
updated-dependencies:
- dependency-name: rails-i18n
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/bundler/rails-i18n-7.0.6 branch from 89b9ce0 to 4f4b6bc Compare November 28, 2022 12:31
@kevindew kevindew merged commit 1730bd7 into main Nov 28, 2022
@kevindew kevindew deleted the dependabot/bundler/rails-i18n-7.0.6 branch November 28, 2022 15:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies ruby Pull requests that update Ruby code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants