Skip to content

Conversation

@baranylcn
Copy link
Member

@baranylcn baranylcn commented Nov 18, 2025

Summary by CodeRabbit

Release Notes

  • New Features
    • Expanded language options available for report generation
    • English is now set as the default language selection

@coderabbitai
Copy link

coderabbitai bot commented Nov 18, 2025

Walkthrough

The pull request expands the report language selector in levelup/app.py by adding multiple new language options and configures English as the default selection using index=language_options.index("English") in the select box initialization.

Changes

Cohort / File(s) Summary
Language Options Expansion
levelup/app.py
Expands report language selector options, reorders entries, and sets English as default selected language

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Verify that the new language options are correctly formatted and spell-checked
  • Confirm that language_options.index("English") correctly targets the intended index position
  • Ensure no language entries are duplicated or accidentally removed during reordering

Poem

🐰 From French to Deutsch and beyond we go,
English takes the stage with a gentle glow,
Languages multiply like carrots in spring,
Each option polished, a multilingual thing! 🌍✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately and concisely describes the main changes: adding English as default selection and expanding language options.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/default-lang-and-lang-options

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a3c8752 and ba806a0.

📒 Files selected for processing (1)
  • levelup/app.py (1 hunks)
🔇 Additional comments (1)
levelup/app.py (1)

331-335: LGTM! Default language selection implemented correctly.

The use of index=language_options.index("English") correctly sets English as the default selection. The implementation is clean and straightforward.

Comment on lines 312 to 330
language_options = [
"Czech",
"Danish",
"Dutch",
"English",
"German",
"Finnish",
"French",
"German",
"Greek",
"Italian",
"Kurdish (Kurmanji)",
"Polish",
"Portuguese",
"Russian",
"Turkish",
"Spanish",
"Swedish",
"Turkish",
"Ukrainian",
]
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify LLM support for all language options, especially dialect specifications.

The alphabetical ordering and expanded language list improve UX. However, ensure that the Gemini 2.0 Flash Lite model supports all these languages, particularly "Kurdish (Kurmanji)" with the parenthetical dialect specification, as LLMs may expect standardized language codes or names.


🏁 Script executed:

#!/bin/bash
# Verify if the prompt construction uses these language names directly
# and check for any language normalization logic

rg -n -A5 -B5 'def get_resume_analysis_prompt' --type=py

# Check if there are any language mappings or validations
rg -n 'language.*map|lang.*code|ISO.*639' --type=py

Length of output: 441


🌐 Web query:

Does Google Gemini 2.0 Flash Lite support Kurdish Kurmanji language and what is the correct way to specify it?

💡 Result:

Short answer: No — Gemini 2.0 / Gemini Flash Lite does not list Kurdish (Kurmanji) among its supported languages, so specifying a Kurmanji tag will not be recognized by the model. [1]

If you still need to try a language tag, use a BCP‑47-style tag for Kurmanji such as "kmr" or a Kurdish tag with script subtag (e.g. "ku-Latn" for Kurdish in Latin script). Those are the correct forms if/when the service accepts Kurdish. [2][3]

Sources:

  • Gemini Flash / Flash‑Lite TTS docs (available languages list). [1]
  • Examples and guidance on BCP‑47 language tags for Kurdish / Kurmanji ("kmr", "ku-Latn", etc.). [2][3]

🏁 Script executed:

#!/bin/bash
# Inspect how report_language is used in the prompt
cat levelup/prompts.py | head -50

# Search for API calls that use the language parameter
rg -n -A3 -B3 'report_language|language.*format|Gemini|genai\.generate' --type=py -C3

Length of output: 5257


🏁 Script executed:

#!/bin/bash
# Check the full app.py to see how language is passed to the prompt function
rg -n -A10 'get_resume_analysis_prompt' levelup/app.py

Length of output: 889


🌐 Web query:

Google Gemini 2.0 Flash Lite supported languages list documentation

💡 Result:

Here’s the official supported-languages information for Gemini 2.0 Flash‑Lite (from Google docs):

Supported languages (can understand and respond in):
Arabic (ar), Bengali (bn), Bulgarian (bg), Chinese — simplified & traditional (zh), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), English (en), Estonian (et), Finnish (fi), French (fr), German (de), Greek (el), Hebrew (iw), Hindi (hi), Hungarian (hu), Indonesian (id), Italian (it), Japanese (ja), Korean (ko), Latvian (lv), Lithuanian (lt), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Serbian (sr), Slovak (sk), Slovenian (sl), Spanish (es), Swahili (sw), Swedish (sv), Thai (th), Turkish (tr), Ukrainian (uk), Vietnamese (vi). [1][2]

Additional languages supported by Gemini 2.0 Flash / Flash-Lite family (extended list includes): Afrikaans, Amharic, Assamese, Azerbaijani, Belarusian, Bosnian, Catalan, Cebuano, Corsican, Welsh, Dhivehi, Esperanto, Basque, Persian, Filipino (Tagalog), Frisian, Irish, Scots Gaelic, Galician, Gujarati, Hausa, Hawaiian, Hmong, Haitian Creole, Armenian, Igbo, Icelandic, Javanese, Georgian, Kazakh, Khmer, Kannada, Krio, Kurdish, Kyrgyz, Latin, Luxembourgish, Lao, Malagasy, Maori, Macedonian, Malayalam, Mongolian, Meiteilon (Manipuri), Marathi, Malay, Maltese, Burmese, Nepali, Nyanja (Chichewa), Odia (Oriya), Punjabi, Pashto, Sindhi, Sinhala, Samoan, Shona, Somali, Albanian, Sesotho, Sundanese, Tamil, Telugu, Tajik, Uyghur, Urdu, Uzbek, Xhosa, Yiddish, Yoruba, Zulu. [1][3]

Sources / docs:

  • Vertex AI / Gemini 2.0 Flash‑Lite docs (supported languages referenced on model page). [1]
  • Google AI / Gemini models supported-languages page. [2]
  • Firebase / Vertex-AI supported-models languages summary. [3]

Would you like direct links to those documentation pages or a machine-readable (CSV/JSON) version of the lists?


🌐 Web query:

Gemini API language support ISO 639 BCP 47 language codes

💡 Result:

Short answer: Google’s Gemini APIs accept standard BCP‑47 language tags (which are built from ISO‑639 language codes plus optional script/region). Gemini model docs list supported ISO‑639 two‑letter codes (e.g. en, fr, zh, hi, etc.), and Gemini‑TTS publishes specific BCP‑47 locale codes (e.g. en-US, fr-FR, ja-JP). See Google Cloud docs for the full supported-language lists. [1][2]

References

  • Gemini models — supported languages (ISO‑639 / BCP‑47 tags listing). [1]
  • Gemini‑TTS — available languages with BCP‑47 locale codes (e.g. en‑US, nl‑NL, ja‑JP). [2]

[1] https://cloud.google.com/vertex-ai/generative-ai/docs/models.md
[2] https://cloud.google.com/text-to-speech/docs/gemini-tts


🌐 Web query:

Does Gemini support language names in English or require language codes

💡 Result:

Use language codes. Gemini's API docs list supported languages with ISO/BCP-47 codes (e.g., "en", "zh", "en-US"/"fr-FR" for TTS); API parameters expect those codes (UIs may show names). [1][2]

Sources:
[1] Gemini models — Google AI developer docs.
[2] Gemini TTS / Cloud Text-to-Speech — Google Cloud docs.


Remove or correct "Kurdish (Kurmanji)" — unsupported format for Gemini 2.0 Flash Lite.

Gemini 2.0 Flash Lite does not recognize "Kurdish (Kurmanji)" with the parenthetical dialect specification. The supported languages list includes "Kurdish" but not the "(Kurmanji)" variant. All other 16 languages in the list (Czech through Ukrainian) are supported.

Action: Either remove "Kurdish (Kurmanji)" from the language options, or replace it with "Kurdish" (without parentheses). Additionally, consider mapping language names to ISO-639 codes (e.g., "da" for Danish, "nl" for Dutch) rather than English names to follow API conventions.

🤖 Prompt for AI Agents
In levelup/app.py around lines 312 to 330, the language option "Kurdish
(Kurmanji)" is in an unsupported format for Gemini 2.0 Flash Lite; replace that
entry with "Kurdish" (no parentheses) or remove it entirely to match the model's
supported list, and as a follow-up prefer using a mapping of language display
names to ISO-639 codes (e.g., {"Danish": "da", "Dutch": "nl", "Kurdish": "ku",
...}) so the API sends standardized codes instead of plain English names.

@baranylcn baranylcn merged commit 8aa31be into main Nov 18, 2025
6 checks passed
@baranylcn baranylcn deleted the feat/default-lang-and-lang-options branch November 23, 2025 09:28
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