Skip to content

feat: add Korean localization - #378

Merged
risin42 merged 2 commits into
risin42:devfrom
sampple-korea:feat/korean-localization
May 31, 2026
Merged

feat: add Korean localization#378
risin42 merged 2 commits into
risin42:devfrom
sampple-korea:feat/korean-localization

Conversation

@sampple-korea

@sampple-korea sampple-korea commented May 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Added Korean translations for Nagram/NagramX/Neko custom string packs.
  • Kept the official Korean base strings file unchanged so the app can continue using cloud-provided Korean strings.

Translation notes

  • Preserved product, provider, API, placeholder, markup, and technical terms.
  • Kept terms such as Telegram, Nagram X, N-Settings, Premium, Stars, TON, OpenAI, Gemini, DeepL, Google, API, FCM, and MTProto unchanged where appropriate.
  • Followed the existing Android res/values-* localization structure.

Validation

  • Verified XML parsing for all changed Korean resource files.
  • Verified source key coverage and order for source-backed keys.
  • Verified placeholder parity.
  • Verified duplicate string names.
  • Verified protected terminology and Android string escaping.
  • Ran git diff --check.

Copilot AI review requested due to automatic review settings May 31, 2026 05:41
@coderabbitai

coderabbitai Bot commented May 31, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds three new Korean Android string resource files under values-ko: strings_na.xml (114 strings), strings_nax.xml (352 strings), and strings_neko.xml (277 strings), covering core UI, extended features (translation, privacy, filtering, media), and Neko-specific settings.

Changes

Korean Localization Strings

Layer / File(s) Summary
Core app feature strings
TMessagesProj/src/main/res/values-ko/strings_na.xml
114 Korean string resources for core UI: message handling options, stickers/media actions, push service type names, online status text, regex filter UI text (includes regex101 link), and video quality/decoder settings.
Extended feature strings
TMessagesProj/src/main/res/values-ko/strings_nax.xml
352 Korean string resources for extended features: AI/LLM translation (API URL, keys, models, prompts), ghost mode controls, regex/filter management, cloud backup deletion, pinned reactions, bookmarks, passkey/passcode options, UnifiedPush messages, and media/camera settings.
Neko settings localization
TMessagesProj/src/main/res/values-ko/strings_neko.xml
277 Korean string resources for N-Settings/Neko UI: settings labels, toggles, translation/provider text, proxy/import/export actions, sticker/emoji management, confirmations, and a translatable="false" NekoX entry.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'feat: add Korean localization' directly and concisely describes the main change: adding Korean language translations across multiple Android resource files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The pull request description is directly related to the changeset, which adds Korean translation files for Nagram/NagramX/Neko string resources.

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


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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds Korean (values-ko) localization resources for Neko/Nagram X feature strings.

Changes:

  • Introduces new KO string resource files for Neko settings, Nagram X settings, and related features.
  • Adds extensive UI/setting labels, notices, and prompts (including AI translator configuration).

Reviewed changes

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

File Description
TMessagesProj/src/main/res/values-ko/strings_neko.xml New Korean string resources for Neko-related settings and UI actions.
TMessagesProj/src/main/res/values-ko/strings_nax.xml New Korean string resources for Nagram X features, including AI translator and ghost mode options.
TMessagesProj/src/main/res/values-ko/strings_na.xml New Korean string resources for additional Nagram-related settings and tools.

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

Comment on lines +41 to +42
<string name="LlmUserPromptHint">@text를 @toLang로 번역하세요.</string>
<string name="LlmUserPromptNotice">@text는 원문 메시지의 자리표시자로, @toLang은 대상 언어의 자리표시자로 사용하세요(선택 사항).\n\n비워 두면 기본 프롬프트를 사용합니다.</string>
<string name="AutoLockImmediately">즉시</string>
<string name="BackupSettings">설정 내보내기</string>
<string name="ImportSettings">설정 가져오기</string>
<string name="ImportSettingsAlert">설정을 덮어쓸까요\? 알 수 없는 출처의 설정을 가져오면 PIN이 덮어써져 앱이 잠길 수 있습니다.</string>
Comment on lines +215 to +216
<string name="InvalidStickersFile">잘못된 스티커 파일: </string>
<string name="ImportedProxies">가져온 프록시 서버: </string>
@sampple-korea
sampple-korea force-pushed the feat/korean-localization branch from 356740d to 82bdf1a Compare May 31, 2026 06:21
@sampple-korea
sampple-korea force-pushed the feat/korean-localization branch from 82bdf1a to 0007e2d Compare May 31, 2026 06:24
@risin42

risin42 commented May 31, 2026

Copy link
Copy Markdown
Owner

Thanks. Could you also upload this to Crowdin?
https://crowdin.com/project/NagramX

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Please undo the changes to the official Korean strings file, so the app can use the latest cloud strings and avoid APK bloat.

@sampple-korea

sampple-korea commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

Done, I removed the changes to values-ko/strings.xml.

I also tried uploading the files to Crowdin, but my account currently gets 403 Forbidden when accessing project file APIs. Basic project metadata works, so it looks like I don’t have upload permission for the project/language yet.

My Crowdin username is sampple-korea. Could you grant Korean translator/upload access? I’ll upload strings_na.xml, strings_nax.xml, and strings_neko.xml for ko once it’s available.

@risin42

risin42 commented May 31, 2026

Copy link
Copy Markdown
Owner

Have you joined the project on Crowdin? Translation uploads don’t require any additional access.

@sampple-korea

Copy link
Copy Markdown
Contributor Author

Have you joined the project on Crowdin? Translation uploads don’t require any additional access.

I can access the Korean language page and use the editor, but I couldn’t find a Join / Join Project button anywhere on the project page or the Korean language page.

Also, “Upload Translations” is greyed out in the file menu.

According to Crowdin docs, translators need the project’s “Allow offline translation” setting enabled to download source files and upload translation files back. Could you check whether offline translation/upload is enabled for translators, or whether my account still needs to join/be approved somehow?

If file upload is intentionally disabled, I can either translate directly in the Crowdin editor or you can import the three Korean XML files from my PR:

  • "values-ko/strings_na.xml"
  • "values-ko/strings_nax.xml"
  • "values-ko/strings_neko.xml"

@risin42

risin42 commented May 31, 2026

Copy link
Copy Markdown
Owner

The “Allow offline translation” option is already on. There was a similar case in #301.

Could you check the top-right area of the page to see if the "Join" button is there, as shown in the screenshot?

image

@risin42
risin42 merged commit 04fb244 into risin42:dev May 31, 2026
1 check passed
@risin42

risin42 commented May 31, 2026

Copy link
Copy Markdown
Owner

Merged, thanks.

I’ve uploaded the translations to Crowdin on my side. If you’d like to keep them updated, please join the project when you get a chance.

risin42 pushed a commit that referenced this pull request Jun 6, 2026
Co-authored-by: sampple-korea <sampple-korea@users.noreply.github.com>
risin42 pushed a commit that referenced this pull request Jun 6, 2026
Co-authored-by: sampple-korea <sampple-korea@users.noreply.github.com>
risin42 pushed a commit that referenced this pull request Jun 6, 2026
Co-authored-by: sampple-korea <sampple-korea@users.noreply.github.com>
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.

3 participants