Skip to content

feat: add fr-fr locale#45

Merged
JarbasAl merged 3 commits intoOpenVoiceOS:devfrom
goldyfruit:feat/fr-fr-locale
Mar 17, 2026
Merged

feat: add fr-fr locale#45
JarbasAl merged 3 commits intoOpenVoiceOS:devfrom
goldyfruit:feat/fr-fr-locale

Conversation

@goldyfruit
Copy link
Collaborator

Summary

  • add a complete fr-fr locale for the skill
  • translate the assistant-facing intents, follow-up vocab, dialogs, and skill.json
  • add the French history corpus for births, deaths, and events across the full calendar
  • add translations/fr-fr/intents.json and translations/fr-fr/vocabs.json

Notes

  • year markers were preserved so pronounce_year() keeps working correctly
  • the French wrapper dialogs and examples were written for spoken assistant usage
  • I cleaned a few obvious generated title artifacts in the history corpus, especially papal titles and grand-prince

Validation

  • fr-fr file coverage matches en-us (1107 files)
  • python -m json.tool locale/fr-fr/skill.json
  • python -m json.tool translations/fr-fr/intents.json
  • python -m json.tool translations/fr-fr/vocabs.json
  • git diff --check

@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

Important

Review skipped

Too many files!

This PR contains 300 files, which is 150 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 224d0771-c133-4c3b-ac27-a1c1be5263bc

📥 Commits

Reviewing files that changed from the base of the PR and between 699fbb9 and f21eb4c.

📒 Files selected for processing (300)
  • locale/fr-fr/TellMeMore.voc
  • locale/fr-fr/births_in_history.intent
  • locale/fr-fr/day_10_month_10_births.dialog
  • locale/fr-fr/day_10_month_10_deaths.dialog
  • locale/fr-fr/day_10_month_10_events.dialog
  • locale/fr-fr/day_10_month_11_births.dialog
  • locale/fr-fr/day_10_month_11_deaths.dialog
  • locale/fr-fr/day_10_month_11_events.dialog
  • locale/fr-fr/day_10_month_12_births.dialog
  • locale/fr-fr/day_10_month_12_deaths.dialog
  • locale/fr-fr/day_10_month_12_events.dialog
  • locale/fr-fr/day_10_month_1_births.dialog
  • locale/fr-fr/day_10_month_1_deaths.dialog
  • locale/fr-fr/day_10_month_1_events.dialog
  • locale/fr-fr/day_10_month_2_births.dialog
  • locale/fr-fr/day_10_month_2_deaths.dialog
  • locale/fr-fr/day_10_month_2_events.dialog
  • locale/fr-fr/day_10_month_3_births.dialog
  • locale/fr-fr/day_10_month_3_deaths.dialog
  • locale/fr-fr/day_10_month_3_events.dialog
  • locale/fr-fr/day_10_month_4_births.dialog
  • locale/fr-fr/day_10_month_4_deaths.dialog
  • locale/fr-fr/day_10_month_4_events.dialog
  • locale/fr-fr/day_10_month_5_births.dialog
  • locale/fr-fr/day_10_month_5_deaths.dialog
  • locale/fr-fr/day_10_month_5_events.dialog
  • locale/fr-fr/day_10_month_6_births.dialog
  • locale/fr-fr/day_10_month_6_deaths.dialog
  • locale/fr-fr/day_10_month_6_events.dialog
  • locale/fr-fr/day_10_month_7_births.dialog
  • locale/fr-fr/day_10_month_7_deaths.dialog
  • locale/fr-fr/day_10_month_7_events.dialog
  • locale/fr-fr/day_10_month_8_births.dialog
  • locale/fr-fr/day_10_month_8_deaths.dialog
  • locale/fr-fr/day_10_month_8_events.dialog
  • locale/fr-fr/day_10_month_9_births.dialog
  • locale/fr-fr/day_10_month_9_deaths.dialog
  • locale/fr-fr/day_10_month_9_events.dialog
  • locale/fr-fr/day_11_month_10_births.dialog
  • locale/fr-fr/day_11_month_10_deaths.dialog
  • locale/fr-fr/day_11_month_10_events.dialog
  • locale/fr-fr/day_11_month_11_births.dialog
  • locale/fr-fr/day_11_month_11_deaths.dialog
  • locale/fr-fr/day_11_month_11_events.dialog
  • locale/fr-fr/day_11_month_12_births.dialog
  • locale/fr-fr/day_11_month_12_deaths.dialog
  • locale/fr-fr/day_11_month_12_events.dialog
  • locale/fr-fr/day_11_month_1_births.dialog
  • locale/fr-fr/day_11_month_1_deaths.dialog
  • locale/fr-fr/day_11_month_1_events.dialog
  • locale/fr-fr/day_11_month_2_births.dialog
  • locale/fr-fr/day_11_month_2_deaths.dialog
  • locale/fr-fr/day_11_month_2_events.dialog
  • locale/fr-fr/day_11_month_3_births.dialog
  • locale/fr-fr/day_11_month_3_deaths.dialog
  • locale/fr-fr/day_11_month_3_events.dialog
  • locale/fr-fr/day_11_month_4_births.dialog
  • locale/fr-fr/day_11_month_4_deaths.dialog
  • locale/fr-fr/day_11_month_4_events.dialog
  • locale/fr-fr/day_11_month_5_births.dialog
  • locale/fr-fr/day_11_month_5_deaths.dialog
  • locale/fr-fr/day_11_month_5_events.dialog
  • locale/fr-fr/day_11_month_6_births.dialog
  • locale/fr-fr/day_11_month_6_deaths.dialog
  • locale/fr-fr/day_11_month_6_events.dialog
  • locale/fr-fr/day_11_month_7_births.dialog
  • locale/fr-fr/day_11_month_7_deaths.dialog
  • locale/fr-fr/day_11_month_7_events.dialog
  • locale/fr-fr/day_11_month_8_births.dialog
  • locale/fr-fr/day_11_month_8_deaths.dialog
  • locale/fr-fr/day_11_month_8_events.dialog
  • locale/fr-fr/day_11_month_9_births.dialog
  • locale/fr-fr/day_11_month_9_deaths.dialog
  • locale/fr-fr/day_11_month_9_events.dialog
  • locale/fr-fr/day_12_month_10_births.dialog
  • locale/fr-fr/day_12_month_10_deaths.dialog
  • locale/fr-fr/day_12_month_10_events.dialog
  • locale/fr-fr/day_12_month_11_births.dialog
  • locale/fr-fr/day_12_month_11_deaths.dialog
  • locale/fr-fr/day_12_month_11_events.dialog
  • locale/fr-fr/day_12_month_12_births.dialog
  • locale/fr-fr/day_12_month_12_deaths.dialog
  • locale/fr-fr/day_12_month_12_events.dialog
  • locale/fr-fr/day_12_month_1_births.dialog
  • locale/fr-fr/day_12_month_1_deaths.dialog
  • locale/fr-fr/day_12_month_1_events.dialog
  • locale/fr-fr/day_12_month_2_births.dialog
  • locale/fr-fr/day_12_month_2_deaths.dialog
  • locale/fr-fr/day_12_month_2_events.dialog
  • locale/fr-fr/day_12_month_3_births.dialog
  • locale/fr-fr/day_12_month_3_deaths.dialog
  • locale/fr-fr/day_12_month_3_events.dialog
  • locale/fr-fr/day_12_month_4_births.dialog
  • locale/fr-fr/day_12_month_4_deaths.dialog
  • locale/fr-fr/day_12_month_4_events.dialog
  • locale/fr-fr/day_12_month_5_births.dialog
  • locale/fr-fr/day_12_month_5_deaths.dialog
  • locale/fr-fr/day_12_month_5_events.dialog
  • locale/fr-fr/day_12_month_6_births.dialog
  • locale/fr-fr/day_12_month_6_deaths.dialog
  • locale/fr-fr/day_12_month_6_events.dialog
  • locale/fr-fr/day_12_month_7_births.dialog
  • locale/fr-fr/day_12_month_7_deaths.dialog
  • locale/fr-fr/day_12_month_7_events.dialog
  • locale/fr-fr/day_12_month_8_births.dialog
  • locale/fr-fr/day_12_month_8_deaths.dialog
  • locale/fr-fr/day_12_month_8_events.dialog
  • locale/fr-fr/day_12_month_9_births.dialog
  • locale/fr-fr/day_12_month_9_deaths.dialog
  • locale/fr-fr/day_12_month_9_events.dialog
  • locale/fr-fr/day_13_month_10_births.dialog
  • locale/fr-fr/day_13_month_10_deaths.dialog
  • locale/fr-fr/day_13_month_10_events.dialog
  • locale/fr-fr/day_13_month_11_births.dialog
  • locale/fr-fr/day_13_month_11_deaths.dialog
  • locale/fr-fr/day_13_month_11_events.dialog
  • locale/fr-fr/day_13_month_12_births.dialog
  • locale/fr-fr/day_13_month_12_deaths.dialog
  • locale/fr-fr/day_13_month_12_events.dialog
  • locale/fr-fr/day_13_month_1_births.dialog
  • locale/fr-fr/day_13_month_1_deaths.dialog
  • locale/fr-fr/day_13_month_1_events.dialog
  • locale/fr-fr/day_13_month_2_births.dialog
  • locale/fr-fr/day_13_month_2_deaths.dialog
  • locale/fr-fr/day_13_month_2_events.dialog
  • locale/fr-fr/day_13_month_3_births.dialog
  • locale/fr-fr/day_13_month_3_deaths.dialog
  • locale/fr-fr/day_13_month_3_events.dialog
  • locale/fr-fr/day_13_month_4_births.dialog
  • locale/fr-fr/day_13_month_4_deaths.dialog
  • locale/fr-fr/day_13_month_4_events.dialog
  • locale/fr-fr/day_13_month_5_births.dialog
  • locale/fr-fr/day_13_month_5_deaths.dialog
  • locale/fr-fr/day_13_month_5_events.dialog
  • locale/fr-fr/day_13_month_6_births.dialog
  • locale/fr-fr/day_13_month_6_deaths.dialog
  • locale/fr-fr/day_13_month_6_events.dialog
  • locale/fr-fr/day_13_month_7_births.dialog
  • locale/fr-fr/day_13_month_7_deaths.dialog
  • locale/fr-fr/day_13_month_7_events.dialog
  • locale/fr-fr/day_13_month_8_births.dialog
  • locale/fr-fr/day_13_month_8_deaths.dialog
  • locale/fr-fr/day_13_month_8_events.dialog
  • locale/fr-fr/day_13_month_9_births.dialog
  • locale/fr-fr/day_13_month_9_deaths.dialog
  • locale/fr-fr/day_13_month_9_events.dialog
  • locale/fr-fr/day_14_month_10_births.dialog
  • locale/fr-fr/day_14_month_10_deaths.dialog
  • locale/fr-fr/day_14_month_10_events.dialog
  • locale/fr-fr/day_14_month_11_births.dialog
  • locale/fr-fr/day_14_month_11_deaths.dialog
  • locale/fr-fr/day_14_month_11_events.dialog
  • locale/fr-fr/day_14_month_12_births.dialog
  • locale/fr-fr/day_14_month_12_deaths.dialog
  • locale/fr-fr/day_14_month_12_events.dialog
  • locale/fr-fr/day_14_month_1_births.dialog
  • locale/fr-fr/day_14_month_1_deaths.dialog
  • locale/fr-fr/day_14_month_1_events.dialog
  • locale/fr-fr/day_14_month_2_births.dialog
  • locale/fr-fr/day_14_month_2_deaths.dialog
  • locale/fr-fr/day_14_month_2_events.dialog
  • locale/fr-fr/day_14_month_3_births.dialog
  • locale/fr-fr/day_14_month_3_deaths.dialog
  • locale/fr-fr/day_14_month_3_events.dialog
  • locale/fr-fr/day_14_month_4_births.dialog
  • locale/fr-fr/day_14_month_4_deaths.dialog
  • locale/fr-fr/day_14_month_4_events.dialog
  • locale/fr-fr/day_14_month_5_births.dialog
  • locale/fr-fr/day_14_month_5_deaths.dialog
  • locale/fr-fr/day_14_month_5_events.dialog
  • locale/fr-fr/day_14_month_6_births.dialog
  • locale/fr-fr/day_14_month_6_deaths.dialog
  • locale/fr-fr/day_14_month_6_events.dialog
  • locale/fr-fr/day_14_month_7_births.dialog
  • locale/fr-fr/day_14_month_7_deaths.dialog
  • locale/fr-fr/day_14_month_7_events.dialog
  • locale/fr-fr/day_14_month_8_births.dialog
  • locale/fr-fr/day_14_month_8_deaths.dialog
  • locale/fr-fr/day_14_month_8_events.dialog
  • locale/fr-fr/day_14_month_9_births.dialog
  • locale/fr-fr/day_14_month_9_deaths.dialog
  • locale/fr-fr/day_14_month_9_events.dialog
  • locale/fr-fr/day_15_month_10_births.dialog
  • locale/fr-fr/day_15_month_10_deaths.dialog
  • locale/fr-fr/day_15_month_10_events.dialog
  • locale/fr-fr/day_15_month_11_births.dialog
  • locale/fr-fr/day_15_month_11_deaths.dialog
  • locale/fr-fr/day_15_month_11_events.dialog
  • locale/fr-fr/day_15_month_12_births.dialog
  • locale/fr-fr/day_15_month_12_deaths.dialog
  • locale/fr-fr/day_15_month_12_events.dialog
  • locale/fr-fr/day_15_month_1_births.dialog
  • locale/fr-fr/day_15_month_1_deaths.dialog
  • locale/fr-fr/day_15_month_1_events.dialog
  • locale/fr-fr/day_15_month_2_births.dialog
  • locale/fr-fr/day_15_month_2_deaths.dialog
  • locale/fr-fr/day_15_month_2_events.dialog
  • locale/fr-fr/day_15_month_3_births.dialog
  • locale/fr-fr/day_15_month_3_deaths.dialog
  • locale/fr-fr/day_15_month_3_events.dialog
  • locale/fr-fr/day_15_month_4_births.dialog
  • locale/fr-fr/day_15_month_4_deaths.dialog
  • locale/fr-fr/day_15_month_4_events.dialog
  • locale/fr-fr/day_15_month_5_births.dialog
  • locale/fr-fr/day_15_month_5_deaths.dialog
  • locale/fr-fr/day_15_month_5_events.dialog
  • locale/fr-fr/day_15_month_6_births.dialog
  • locale/fr-fr/day_15_month_6_deaths.dialog
  • locale/fr-fr/day_15_month_6_events.dialog
  • locale/fr-fr/day_15_month_7_births.dialog
  • locale/fr-fr/day_15_month_7_deaths.dialog
  • locale/fr-fr/day_15_month_7_events.dialog
  • locale/fr-fr/day_15_month_8_births.dialog
  • locale/fr-fr/day_15_month_8_deaths.dialog
  • locale/fr-fr/day_15_month_8_events.dialog
  • locale/fr-fr/day_15_month_9_births.dialog
  • locale/fr-fr/day_15_month_9_deaths.dialog
  • locale/fr-fr/day_15_month_9_events.dialog
  • locale/fr-fr/day_16_month_10_births.dialog
  • locale/fr-fr/day_16_month_10_deaths.dialog
  • locale/fr-fr/day_16_month_10_events.dialog
  • locale/fr-fr/day_16_month_11_births.dialog
  • locale/fr-fr/day_16_month_11_deaths.dialog
  • locale/fr-fr/day_16_month_11_events.dialog
  • locale/fr-fr/day_16_month_12_births.dialog
  • locale/fr-fr/day_16_month_12_deaths.dialog
  • locale/fr-fr/day_16_month_12_events.dialog
  • locale/fr-fr/day_16_month_1_births.dialog
  • locale/fr-fr/day_16_month_1_deaths.dialog
  • locale/fr-fr/day_16_month_1_events.dialog
  • locale/fr-fr/day_16_month_2_births.dialog
  • locale/fr-fr/day_16_month_2_deaths.dialog
  • locale/fr-fr/day_16_month_2_events.dialog
  • locale/fr-fr/day_16_month_3_births.dialog
  • locale/fr-fr/day_16_month_3_deaths.dialog
  • locale/fr-fr/day_16_month_3_events.dialog
  • locale/fr-fr/day_16_month_4_births.dialog
  • locale/fr-fr/day_16_month_4_deaths.dialog
  • locale/fr-fr/day_16_month_4_events.dialog
  • locale/fr-fr/day_16_month_5_births.dialog
  • locale/fr-fr/day_16_month_5_deaths.dialog
  • locale/fr-fr/day_16_month_5_events.dialog
  • locale/fr-fr/day_16_month_6_births.dialog
  • locale/fr-fr/day_16_month_6_deaths.dialog
  • locale/fr-fr/day_16_month_6_events.dialog
  • locale/fr-fr/day_16_month_7_births.dialog
  • locale/fr-fr/day_16_month_7_deaths.dialog
  • locale/fr-fr/day_16_month_7_events.dialog
  • locale/fr-fr/day_16_month_8_births.dialog
  • locale/fr-fr/day_16_month_8_deaths.dialog
  • locale/fr-fr/day_16_month_8_events.dialog
  • locale/fr-fr/day_16_month_9_births.dialog
  • locale/fr-fr/day_16_month_9_deaths.dialog
  • locale/fr-fr/day_16_month_9_events.dialog
  • locale/fr-fr/day_17_month_10_births.dialog
  • locale/fr-fr/day_17_month_10_deaths.dialog
  • locale/fr-fr/day_17_month_10_events.dialog
  • locale/fr-fr/day_17_month_11_births.dialog
  • locale/fr-fr/day_17_month_11_deaths.dialog
  • locale/fr-fr/day_17_month_11_events.dialog
  • locale/fr-fr/day_17_month_12_births.dialog
  • locale/fr-fr/day_17_month_12_deaths.dialog
  • locale/fr-fr/day_17_month_12_events.dialog
  • locale/fr-fr/day_17_month_1_births.dialog
  • locale/fr-fr/day_17_month_1_deaths.dialog
  • locale/fr-fr/day_17_month_1_events.dialog
  • locale/fr-fr/day_17_month_2_births.dialog
  • locale/fr-fr/day_17_month_2_deaths.dialog
  • locale/fr-fr/day_17_month_2_events.dialog
  • locale/fr-fr/day_17_month_3_births.dialog
  • locale/fr-fr/day_17_month_3_deaths.dialog
  • locale/fr-fr/day_17_month_3_events.dialog
  • locale/fr-fr/day_17_month_4_births.dialog
  • locale/fr-fr/day_17_month_4_deaths.dialog
  • locale/fr-fr/day_17_month_4_events.dialog
  • locale/fr-fr/day_17_month_5_births.dialog
  • locale/fr-fr/day_17_month_5_deaths.dialog
  • locale/fr-fr/day_17_month_5_events.dialog
  • locale/fr-fr/day_17_month_6_births.dialog
  • locale/fr-fr/day_17_month_6_deaths.dialog
  • locale/fr-fr/day_17_month_6_events.dialog
  • locale/fr-fr/day_17_month_7_births.dialog
  • locale/fr-fr/day_17_month_7_deaths.dialog
  • locale/fr-fr/day_17_month_7_events.dialog
  • locale/fr-fr/day_17_month_8_births.dialog
  • locale/fr-fr/day_17_month_8_deaths.dialog
  • locale/fr-fr/day_17_month_8_events.dialog
  • locale/fr-fr/day_17_month_9_births.dialog
  • locale/fr-fr/day_17_month_9_deaths.dialog
  • locale/fr-fr/day_17_month_9_events.dialog
  • locale/fr-fr/day_18_month_10_births.dialog
  • locale/fr-fr/day_18_month_10_deaths.dialog
  • locale/fr-fr/day_18_month_10_events.dialog
  • locale/fr-fr/day_18_month_11_births.dialog
  • locale/fr-fr/day_18_month_11_deaths.dialog
  • locale/fr-fr/day_18_month_11_events.dialog
  • locale/fr-fr/day_18_month_12_births.dialog
  • locale/fr-fr/day_18_month_12_deaths.dialog
  • locale/fr-fr/day_18_month_12_events.dialog
  • locale/fr-fr/day_18_month_1_births.dialog

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

You can enable review details to help with troubleshooting, context usage and more.

Enable the reviews.review_details setting to include review details such as the model used, the time taken for each step and more in the review comments.

@JarbasAl JarbasAl merged commit 2e2f729 into OpenVoiceOS:dev Mar 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants