Skip to content

Update Kyrgyzstan holidays: add l10n support#3301

Merged
arkid15r merged 1 commit intovacanza:devfrom
KJhellico:upd-kyrgyzstan
Feb 28, 2026
Merged

Update Kyrgyzstan holidays: add l10n support#3301
arkid15r merged 1 commit intovacanza:devfrom
KJhellico:upd-kyrgyzstan

Conversation

@KJhellico
Copy link
Copy Markdown
Collaborator

Proposed change

Update Kyrgyzstan holidays: add l10n support (en_US, ky, ru_KG).
(Unfortunately, Wayback Machine cannot take snapshots of official source pages, and there are very few snapshots available).

Type of change

  • New country/market holidays support (thank you!)
  • Supported country/market holidays update (calendar discrepancy fix, localization)
  • Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • Dependency update (version deprecation/pin/upgrade)
  • Bugfix (non-breaking change which fixes an issue)
  • Breaking change (a code change causing existing functionality to break)
  • New feature (new holidays functionality in general)

Checklist

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 27, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7df1bef and 77349d1.

📒 Files selected for processing (7)
  • README.md
  • holidays/countries/kyrgyzstan.py
  • holidays/locale/en_US/LC_MESSAGES/KG.po
  • holidays/locale/ky/LC_MESSAGES/KG.po
  • holidays/locale/ru_KG/LC_MESSAGES/KG.po
  • snapshots/countries/KG_COMMON.json
  • tests/countries/test_kyrgyzstan.py

Summary by CodeRabbit

  • New Features

    • Added support for Kyrgyz and Russian language variants for Kyrgyzstan holidays
    • Introduced workday holiday category for Kyrgyzstan
    • Enhanced observed holiday date handling with improved adjustments
  • Localization

    • Added complete translation catalogs for Kyrgyzstan holidays in English, Kyrgyz, and Russian locales

Walkthrough

The PR refactors Kyrgyzstan's holiday implementation to use ObservedHolidayBase with modular holiday categories (Christian, International, Islamic, Static). It introduces structured Islamic holiday data, expanded observed-date handling, workday support, comprehensive localization for en_US/ky/ru_KG, updated snapshots, and extensive test coverage.

Changes

Cohort / File(s) Summary
Documentation
README.md
Updated country table with Kyrgyzstan languages (en_US, Ky, ru_KG) and categories (WORKDAY).
Core Implementation
holidays/countries/kyrgyzstan.py
Refactored to inherit ObservedHolidayBase and StaticHolidays; introduced KyrgyzstanIslamicHolidays and KyrgyzstanStaticHolidays with structured Eid dates; added _populate_observed and _populate_workday_holidays methods; extensive year-boundary conditionals for legal changes; localization with Kyrgyz default language; supported languages extended to ky and ru_KG.
Localization Files
holidays/locale/en_US/LC_MESSAGES/KG.po, holidays/locale/ky/LC_MESSAGES/KG.po, holidays/locale/ru_KG/LC_MESSAGES/KG.po
Added complete PO translation catalogs for Kyrgyzstan holidays with metadata headers and holiday name translations across all three locales; en_US and ru_KG include full translations, ky entries use empty msgstr placeholders.
Test Suite
tests/countries/test_kyrgyzstan.py
Expanded class to include WorkingDayTests mixin; added 25+ test methods covering special holidays, substituted holidays, workdays, individual holiday dates, year-specific variants, and localization tests for en_US, ky, and ru_KG.
Snapshot Data
snapshots/countries/KG_COMMON.json
Regenerated snapshot with modernized holiday entries introducing Eid variants, Nooruz variations, observed-date adjustments, substituted-day mappings, May holiday blocks, and year-specific holiday clusters replacing fixed-date traditions.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Possibly related PRs

Suggested reviewers

  • arkid15r
  • PPsyrius
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 3.45% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title directly summarizes the main changes: updating Kyrgyzstan holidays with localization support for multiple languages.
Description check ✅ Passed The description clearly relates to the changeset, specifying the localization update for Kyrgyzstan with supported languages (en_US, ky, ru_KG).

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (7df1bef) to head (77349d1).

Additional details and impacted files
@@            Coverage Diff            @@
##               dev     #3301   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          307       307           
  Lines        18396     18455   +59     
  Branches      2354      2368   +14     
=========================================
+ Hits         18396     18455   +59     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Collaborator

@PPsyrius PPsyrius left a comment

Choose a reason for hiding this comment

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

LGTM 🇰🇬

Copy link
Copy Markdown
Collaborator

@arkid15r arkid15r left a comment

Choose a reason for hiding this comment

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

👍

@arkid15r arkid15r added this pull request to the merge queue Feb 28, 2026
Merged via the queue into vacanza:dev with commit 04d34a9 Feb 28, 2026
32 checks passed
@KJhellico KJhellico deleted the upd-kyrgyzstan branch February 28, 2026 19:13
@KJhellico KJhellico mentioned this pull request Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants