Skip to content

correct plural forms for week and millisecond in relative date phrases#1735

Open
sigmade wants to merge 2 commits intoHumanizr:mainfrom
sigmade:fix/ru-locale-plural-forms
Open

correct plural forms for week and millisecond in relative date phrases#1735
sigmade wants to merge 2 commits intoHumanizr:mainfrom
sigmade:fix/ru-locale-plural-forms

Conversation

@sigmade
Copy link
Copy Markdown

@sigmade sigmade commented Apr 19, 2026

Here is a checklist you should tick through before submitting a pull request:

  • Implementation is clean
  • Code adheres to the existing coding standards; e.g. no curlies for one-line blocks, no redundant empty lines between methods or code blocks, spaces rather than tabs, etc.
  • No Code Analysis warnings
  • There is proper unit test coverage
  • If the code is copied from StackOverflow (or a blog or OSS) full disclosure is included. That includes required license files and/or file headers explaining where the code came from with proper attribution
  • There are very few or no comments (because comments shouldn't be needed if you write clean code)
  • Xml documentation is added/updated for the addition/change
  • Your PR is (re)based on top of the latest commits from the main branch (more info below)
  • Link to the issue(s) you're fixing from your PR description. Use fixes #<the issue number>
  • Readme is updated if you change an existing feature or add a new one
  • Run either build.cmd or build.ps1 and ensure there are no test failures

Copilot AI review requested due to automatic review settings April 19, 2026 06:46
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Russian (ru) relative date phrase data so that week and millisecond use correct Russian grammatical-number forms (e.g., 2 недели, 2 миллисекунды) and adds regression coverage in the localisation phrase theory tests.

Changes:

  • Extend ru relative date phrase definitions for week and millisecond to use form maps (default/singular/dual) instead of a single plural form.
  • Add localisation theory test cases validating past/future phrasing for 1, 2, and 7 weeks/milliseconds in ru.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/Humanizer.Tests/Localisation/LocalePhraseTheoryData.cs Adds RU test cases for week/millisecond relative date phrases to verify corrected grammatical forms.
src/Humanizer/Locales/ru.yml Updates RU relativeDate week and millisecond multiple.forms to support Russian singular/paucal/default selection.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts Russian locale phrase data to use grammar-aware plural forms for relative date phrases so that counted expressions (e.g., “через 2 …”) use the correct Russian inflections.

Changes:

  • Updated ru.yml relative-date phrases for week and millisecond to provide default/singular/dual forms instead of a single scalar form.
  • Updated the generated locale migration test to assert the presence of the Russian dual form for week in the phrase table.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/Humanizer.Tests/Localisation/GeneratedLocaleData/GeneratedLocaleDeRuPhraseMigrationTests.cs Updates expectations to validate the added Russian dual form for weeks in the phrase table.
src/Humanizer/Locales/ru.yml Adds grammar-aware plural forms for Russian relative-date weeks/milliseconds (past & future).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -46,7 +46,7 @@ public void RussianPhraseTableUsesCompactGrammarAwareYamlForms()

Assert.True(table.TryGetDatePhrase(TimeUnit.Week, Tense.Future, out var futureWeek));
Comment on lines 29 to 34
multiple:
forms: 'миллисекунд'
forms:
default: 'миллисекунд'
singular: 'миллисекунду'
dual: 'миллисекунды'
afterCount: 'назад'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants