Skip to content

feat(i18n): add telugu support - #1106

Merged
danielroe merged 5 commits into
npmx-dev:mainfrom
KirankumarAmbati:main
Feb 6, 2026
Merged

feat(i18n): add telugu support #1106
danielroe merged 5 commits into
npmx-dev:mainfrom
KirankumarAmbati:main

Conversation

@KirankumarAmbati

Copy link
Copy Markdown
Contributor
  • Added translations for Telugu language (my mother tongue)
  • Would request any Telugu speaking / reading people to review the correctness

@vercel

vercelBot commented Feb 6, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
npmx.devReadyReadyPreview, CommentFeb 6, 2026 5:33pm
2 Skipped Deployments
ProjectDeploymentActionsUpdated (UTC)
docs.npmx.devIgnoredIgnoredPreviewFeb 6, 2026 5:33pm
npmx-lunariaIgnoredIgnoredFeb 6, 2026 5:33pm

Request Review

@coderabbitai

coderabbitaiBot commented Feb 6, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR registers Telugu (te-IN) in the i18n configuration by adding { code: 'te-IN', file: 'te-IN.json', name: 'తెలుగు' to config/i18n.ts and adds two locale files: i18n/locales/te-IN.json and lunaria/files/te-IN.json. Both JSON files provide Telugu translations across multiple namespaces (navigation, search, settings, package details, UI components, etc.). No executable logic, API signatures, or control flow were changed.

Possibly related PRs

Suggested reviewers

  • danielroe
🚥 Pre-merge checks | ✅ 1
✅ Passed checks (1 passed)
Check nameStatusExplanation
Description check✅ PassedThe pull request description clearly describes the changeset: adding Telugu language translations with a request for native speaker review.

✏️ 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

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

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Comment threadi18n/locales/te-IN.json Outdated
@codecov

codecovBot commented Feb 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

KirankumarAmbatiand others added 3 commits February 6, 2026 22:59
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

"connect_npm_cli": "npm CLI తో కనెక్ట్ చేయండి",
"connect_atmosphere": "Atmosphere తో కనెక్ట్ చేయండి",
"connecting": "కనెక్ట్ అవుతున్నది...",
"ops": "{count} op | {count} ops",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, let's look at the structure and verify the file exists
find lunaria/files -name "te-IN.json" -type f

Repository: npmx-dev/npmx.dev

Length of output: 85


🏁 Script executed:

# Check the context around line 774 in te-IN.json to understand the key better
sed -n '770,780p' lunaria/files/te-IN.json

Repository: npmx-dev/npmx.dev

Length of output: 470


🏁 Script executed:

# Search for "ops" key across all locale files to see translation patterns
rg -n '"ops"\s*:' lunaria/files/ --glob '*.json' -A 1

Repository: npmx-dev/npmx.dev

Length of output: 2817


🏁 Script executed:

# Also check if "op" appears as a standalone key
rg -n '"op"\s*:' lunaria/files/ --glob '*.json' -A 1

Repository: npmx-dev/npmx.dev

Length of output: 43


Consider translating op / ops to Telugu if using translated variants elsewhere.

The plural forms remain in English. While some locales (Polish, Russian, German, Japanese, Arabic, Czech, Nepali, and Traditional Chinese) translate this as an operation-related term, many others (Portuguese, Italian, French, Spanish, Indonesian, Hindi, and Norwegian) leave it untranslated. If adopting translations for consistency, Telugu could use equivalents like ఆపరేషన్ / ఆపరేషన్‌లు or a suitable abbreviation. Alternatively, keeping it as-is aligns with the pattern in other major locales.

}
},
"header": {
"home": "npmx home",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash# First, verify the file exists and check content around line 793if [ -f"lunaria/files/te-IN.json" ];thenecho"=== File found. Checking line 793 and context ==="
sed -n '790,800p' lunaria/files/te-IN.json
echo""echo"=== Checking line 103 mentioned in the comment ==="
sed -n '100,106p' lunaria/files/te-IN.json
elseecho"File not found at lunaria/files/te-IN.json"fi

Repository: npmx-dev/npmx.dev

Length of output: 861


🏁 Script executed:

#!/bin/bash# Check the structure of the file and find all "home" entriesecho"=== Searching for 'home' entries in te-IN.json ==="
rg -n 'home' lunaria/files/te-IN.json

Repository: npmx-dev/npmx.dev

Length of output: 292


🏁 Script executed:

#!/bin/bash# Check how other locale files (especially other Indian locales and major locales) handle header.homeecho"=== Checking header.home pattern across locale files ==="
rg -n '"home"' --glob '*.json' lunaria/files/ | grep -A2 -B2 'header'| head -50
echo""echo"=== Checking i18n/locales if exists ==="if [ -d"i18n/locales/" ];then
rg -n 'home' --glob '*.json' i18n/locales/ | head -30
elseecho"i18n/locales/ directory not found"fi

Repository: npmx-dev/npmx.dev

Length of output: 1867


🏁 Script executed:

#!/bin/bash# Check if this string is user-visible or branding by looking at the broader contextecho"=== Looking at broader context around line 793 ==="
sed -n '785,805p' lunaria/files/te-IN.json | cat -n

Repository: npmx-dev/npmx.dev

Length of output: 1225


Translate "home" to maintain consistency with related translations and other locales.

The string at line 793 remains untranslated as "npmx home", whilst other home-related strings in this file are fully translated into Telugu: "go_back_home" (line 103), "homepage" (line 172), and "back_home" (line 714) all use Telugu translations. Additionally, all other major locale files (Chinese, Ukrainian, Russian, Portuguese) translate this header.home key to their respective languages (e.g. "npmx 首頁", "головна npmx"), making te-IN the only untranslated instance. Since "packages" in the same header section is translated to Telugu, this appears to be user-visible navigation text rather than branding-only content. Consider translating to "npmx హోమ్" for consistency.

"empty": "ప్యాకేజ్‌లు కనుగొనబడలేదు",
"view_all": "అన్నింటిని వీక్షించండి"
},
"orgs": "orgs",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# First, verify the file exists and check the content around the mentioned linesif [ -f"lunaria/files/te-IN.json" ];thenecho"=== File exists ==="# Check lines 525, 803, 805echo"=== Line 525 ==="&& sed -n '525p' lunaria/files/te-IN.json
echo"=== Line 803 ==="&& sed -n '803p' lunaria/files/te-IN.json
echo"=== Line 805 ==="&& sed -n '805p' lunaria/files/te-IN.json
echo""echo"=== Context around line 803 (lines 800-810) ==="&& sed -n '800,810p' lunaria/files/te-IN.json
elseecho"File not found at lunaria/files/te-IN.json"# Search for te-IN.json files
find . -name "te-IN.json"2>/dev/null
fi

Repository: npmx-dev/npmx.dev

Length of output: 597


🏁 Script executed:

# Also search for other occurrences of "orgs" in the file to understand the pattern
rg -n '"orgs"' lunaria/files/te-IN.json -B2 -A2

Repository: npmx-dev/npmx.dev

Length of output: 202


Translate the "orgs" key to align with other translations in the file.

Line 803 has "orgs": "orgs" which remains untranslated. This should be "సంస్థలు" to match the Telugu translation used elsewhere in the file (line 525 and line 805).

Proposed fix
- "orgs": "orgs",+ "orgs": "సంస్థలు",
📝 Committable suggestion

‼️IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"orgs": "orgs",
"orgs": "సంస్థలు",

@danielroe
danielroe added this pull request to the merge queueFeb 6, 2026
Merged via the queue into npmx-dev:main with commit de1425cFeb 6, 2026
16 checks passed
@github-actions

Copy link
Copy Markdown

Thanks for your first contribution, @KirankumarAmbati! 🎉

We'd love to welcome you to the npmx community. Come and say hi on Discord! And once you've joined, visit npmx.wamellow.com to claim the contributor role.

whitep4nth3r pushed a commit that referenced this pull request Feb 7, 2026
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Sign up for freeto 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

@KirankumarAmbati@danielroe