8000 copy i18n by smallst · Pull Request #7842 · codecombat/codecombat · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

copy i18n #7842

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 20, 2024
Merged

copy i18n #7842

merged 1 commit into from
Nov 20, 2024

Conversation

smallst
Copy link
Contributor
@smallst smallst commented Nov 20, 2024

try to see if this fix the jasmine

Summary by CodeRabbit

  • New Features

    • Added translations for Azerbaijani and Bulgarian languages, including new slogans and UI elements.
    • Updated translations for Catalan, Danish, German, Greek, Spanish, and other languages to enhance user experience and clarity.
    • Introduced new sections and content for various features, including AI HackStack and CodeQuest.
  • Bug Fixes

    • Improved accuracy and clarity of existing translations across multiple languages.
  • Chores

    • Removed outdated and commented-out sections related to the Ozaria game from various language files.

Copy link
Contributor
coderabbitai bot commented Nov 20, 2024

Walkthrough

This pull request introduces significant localization updates across multiple language files for the CodeCombat platform. Key changes include the addition of new translations for the Azerbaijani language, updates to existing translations for Bulgarian, Catalan, Danish, and several other languages, and the removal of outdated content related to the Ozaria product. The updates aim to enhance user experience by improving clarity and accuracy in translations, as well as adding new features and sections relevant to the game's interface.

Changes

File Path Change Summary
app/locale/ar.js Added new translations for Azerbaijani, including a slogan and user role options.
app/locale/az.js New translations added for Azerbaijani, including UI elements like "Play Now" and "Learn More".
app/locale/bg.js Updated Bulgarian translations, including various UI elements and gameplay terms.
app/locale/ca.js Updated Catalan translations with new features and improved clarity.
app/locale/da.js Updated Danish translations, added new sections and improved existing translations.
app/locale/de-AT.js Updated German (Austria) translations, removed commented-out code, and added new UI translations.
app/locale/de-CH.js Updated German (Switzerland) translations for various sections.
app/locale/de-DE.js Updated German (Germany) translations for new content and features.
app/locale/el.js Updated Greek translations, added new features and improved clarity.
app/locale/en-GB.js Removed large portions of outdated content related to Ozaria.
app/locale/en-US.js Similar to en-GB, removed outdated content related to Ozaria.
app/locale/es-419.js Updated Spanish (Latin America) translations, added new features and improved clarity.
app/locale/es-ES.js Similar updates as es-419, with a focus on new features and curriculum details.
app/locale/fr.js Updated French translations for various sections, including new features.
app/locale/hi.js No significant changes noted.
app/locale/it.js Updated Italian translations with new features and improved clarity.
app/locale/ja.js Updated Japanese translations with new features and removed outdated content.
app/locale/ko.js No significant changes noted.
app/locale/nl-BE.js Updated Dutch (Belgium) translations, added new module exports.
app/locale/nl-NL.js Updated Dutch (Netherlands) translations, improved clarity and removed outdated content.
app/locale/no.js Updated Norwegian translations, focusing on new features and clarity.
app/locale/pt-BR.js Updated Portuguese (Brazil) translations for new features and sections.
app/locale/pt-PT.js Similar updates as pt-BR, focusing on new features and curriculum details.
app/locale/ro.js Updated Romanian translations, added new sections and improved clarity.
app/locale/ru.js No significant changes noted.
app/locale/sv.js Updated Swedish translations for various sections, including new features.
app/locale/zh-HANS.js Updated Chinese (Simplified) translations with new features and improved clarity.
app/locale/zh-HANT.js Updated Chinese (Traditional) translations, added new sections and improved clarity.
app/locale/zh-WUU-HANS.js Removed most strings, focusing on the localization effort for Wu language.
app/locale/zh-WUU-HANT.js Updated Wu language translations, added new strings and improved clarity.

Possibly related PRs

Suggested reviewers

  • mrfinch

Warning

There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure.

🔧 eslint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

warning eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
warning eslint > @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
warning eslint > @humanwhocodes/config-array > @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
warning eslint > file-entry-cache > flat-cache > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning eslint > file-entry-cache > flat-cache > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning eslint > file-entry-cache > flat-cache > rimraf > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning eslint-plugin-script-tags@0.5.0: Now published as @mapbox/eslint-plugin-script-tags
warning blockly > jsdom > abab@2.0.6: Use your platform's native atob() and btoa() methods instead
warning blockly > jsdom > data-urls > abab@2.0.6: Use your platform's native atob() and btoa() methods instead
warning blockly > jsdom > domexception@4.0.0: Use your platform's native DOMException instead
warning treema > express > mkdirp@0.3.3: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
warning treema > express > connect@2.7.2: connect 2.x series is deprecated
warning treema > express > connect > formidable@1.0.11: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
warning vue@2.7.10: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.
warning jasmine > glob@3.2.11: Glob versions prior to v9 are no longer supported
warning jasmine > glob > minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning karma > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning karma > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning karma > socket.io > debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (debug-js/debug#797)
warning karma > tmp > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning karma > socket.io > engine.io > debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (debug-js/debug#797)
warning karma > socket.io > socket.io-parser > debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (debug-js/debug#797)
warning pug > pug-code-gen > constantinople > babel-types > babel-runtime > core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
warning standard > eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
warning @babel/plugin-proposal-optional-chaining@7.21.0: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
error treema@0.0.0: The engine "node" is incompatible with this module. Expected version "0.8.x". Got "22.9.0"
error Found incompatible module.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about spec 8000 ific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor
@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.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments.

🛑 Comments failed to post (122)
app/locale/zh-HANT.js (5)

2874-2877: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefixes from test student modal messages

Please remove the [AI_TRANSLATION] prefixes after verifying the translations.

Apply this diff:

-test_student_modal_choose_class: '[AI_TRANSLATION]選擇要加入的職業:',
+test_student_modal_choose_class: '選擇要加入的課程:',

-test_student_modal_redirect: '[AI_TRANSLATION]你將會被重定向到你的測試學生帳號!  ',
+test_student_modal_redirect: '你將會被重定向到你的測試學生帳號!',

-stop_spying_student: '[AI_TRANSLATION]你可以點擊用戶下拉選單中的 `Stop Spying` 返回到老師帳號。',
+stop_spying_student: '你可以點擊用戶下拉選單中的 `停止偵測` 返回到老師帳號。',

Committable suggestion skipped: line range outside the PR's diff.


1521-1524: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefixes from translations

The following translations still have the [AI_TRANSLATION] prefix. Please remove it after verification.

Apply this diff:

-blocks_and_code: '[AI_TRANSLATION]塊和代碼',
+blocks_and_code: '塊和代碼',

-blocks_text: '[AI_TRANSLATION]塊狀',
+blocks_text: '塊狀',

-blocks_icons: '[AI_TRANSLATION]塊狀(圖標)',
+blocks_icons: '塊狀(圖標)',

-text_code_blurb: '[AI_TRANSLATION]在真正的代碼編輯器中輸入基於文本的代碼',
+text_code_blurb: '在真正的代碼編輯器中輸入基於文本的代碼',

-blocks_and_code_blurb: '[AI_TRANSLATION]块和文本代碼並排',
+blocks_and_code_blurb: '块和文本代碼並排',

-blocks_text_blurb: '[AI_TRANSLATION]拖放模塊適合平板電腦或低年齡學員',
+blocks_text_blurb: '拖放模塊適合平板電腦或低年齡學員',

Committable suggestion skipped: line range outside the PR's diff.


1391-1399: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefixes and verify translations

Several entries have the [AI_TRANSLATION] prefix. After confirming the accuracy of these translations, please remove the prefix.

Apply this diff:

-feature_heroes: '[AI_TRANSLATION]解鎖專屬英雄和寵物',
+feature_heroes: '解鎖專屬英雄和寵物',

-feature_learn: '[AI_TRANSLATION]學習製作遊戲和網站\n',
+feature_learn: '學習製作遊戲和網站\n',

-feature_languages: '[AI_TRANSLATION]獲取所有支持的語言',
+feature_languages: '獲取所有支持的語言',

-feature_gems: '[AI_TRANSLATION]每月賺取 __gems__ 顆寶石 (__gems12__ 顆寶石/年)',
+feature_gems: '每月賺取 __gems__ 顆寶石 (__gems12__ 顆寶石/年)',

-month_price: '[AI_TRANSLATION]$__price__/月',
+month_price: '$__price__/月',

-month_price_without_currency: '[AI_TRANSLATION]__price__/月',
+month_price_without_currency: '__price__/月',

-first_month_price: '[AI_TRANSLATION]只要 $__price__,享受第一個月!',
+first_month_price: '只要 $__price__,享受第一個月!',

Committable suggestion skipped: line range outside the PR's diff.


2019-2024: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefixes from Roblox account messages

The translations related to Roblox account connectivity contain the [AI_TRANSLATION] prefix. Please remove it after confirming the translations.

Apply this diff:

-re_connect_roblox_button: '[AI_TRANSLATION]連結另一個帳戶',
+re_connect_roblox_button: '連結另一個帳戶',

-disconnect_roblox_button: '[AI_TRANSLATION]斷線',
+disconnect_roblox_button: '斷線',

-roblox_connected: '[AI_TRANSLATION]你的帳號 <strong>__username__</strong> 已連結到 Roblox。',
+roblox_connected: '你的帳號 <strong>__username__</strong> 已連結到 Roblox。',

-roblox_not_connected: '[AI_TRANSLATION]連結你的 CodeCombat 和 Roblox 帳戶。',
+roblox_not_connected: '連結你的 CodeCombat 和 Roblox 帳戶。',

-roblox_disconnect_confirm: '[AI_TRANSLATION]你確定要斷開與 Roblox 帳戶的連結嗎?',
+roblox_disconnect_confirm: '你確定要斷開與 Roblox 帳戶的連結嗎?',

Committable suggestion skipped: line range outside the PR's diff.


1798-1801: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefixes and trailing spaces

Please remove the [AI_TRANSLATION] prefixes and any unnecessary trailing spaces from the translations after review.

Apply this diff:

-initial_free_courses: '[AI_TRANSLATION]初始課程  ',
+initial_free_courses: '初始課程',

-free_course_blurb_junior: '[AI_TRANSLATION]CodeCombat Junior 適合 K 到 5 年級的學生,對於還不會閱讀的小孩,可以選擇積木或移動版,上到高年級則有 Python 或 JavaScript的文字程式碼,或用程式塊配合程式碼幫助轉換。  ',
+free_course_blurb_junior: 'CodeCombat Junior 適合 K 到 5 年級的學生,對於還不會閱讀的小孩,可以選擇積木或移動版,上到高年級則有 Python 或 JavaScript 的文字程式碼,或用程式塊配合程式碼幫助轉換。',

'free_course_blurb_introduction-to-computer-science': '[AI_TRANSLATION]CodeCombat 的核心計算機科學課程適合 6 到 12 年級,從對初學者友好的計算機科學入門課程,到 AP 計算機科學原理課程,再到高階計算機科學課程。適合中學和高中的學生從這裡開始。  ',

+'free_course_blurb_introduction-to-computer-science': 'CodeCombat 的核心計算機科學課程適合 6 到 12 年級,從對初學者友好的計算機科學入門課程,到 AP 計算機科學原理課程,再到高階計算機科學課程。適合中學和高中的學生從這裡開始。',

-start_teaching_ai_today: '[AI_TRANSLATION]今天開始教 AI!',
+start_teaching_ai_today: '今天開始教 AI!',

-hackstack_beta_release: '[AI_TRANSLATION]HackStack 測試版發佈  ',
+hackstack_beta_release: 'HackStack 測試版發佈',

-introducing_ai_hackstack: '[AI_TRANSLATION]推出 AI HackStack,一個為初學者設計的生成 AI 教學工具。它提供安全訪問頂級 AI 模型,如 ChatGPT、Claude 和 DALL-E。',
+introducing_ai_hackstack: '推出 AI HackStack,一個為初學者設計的生成 AI 教學工具。它提供安全訪問頂級 AI 模型,如 ChatGPT、Claude 和 DALL-E。',

Committable suggestion skipped: line range outside the 10000 PR's diff.

app/locale/nl.js (2)

1799-1801: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefix from translation strings

The translation strings for start_teaching_ai_today, hackstack_beta_release, and introducing_ai_hackstack include the [AI_TRANSLATION] prefix, which should be removed.

Apply the following diff:

-start_teaching_ai_today: '[AI_TRANSLATION]Begin vandaag nog met het lesgeven van AI!  ',
-hackstack_beta_release: '[AI_TRANSLATION]HackStack Beta Release  ',
-introducing_ai_hackstack: '[AI_TRANSLATION]Introductie van AI HackStack, een generatieve AI-onderwijstool voor beginners. Het biedt veilige toegang tot top AI-modellen zoals ChatGPT, Claude en DALL-E.',
+start_teaching_ai_today: 'Begin vandaag nog met het lesgeven van AI!  ',
+hackstack_beta_release: 'HackStack Beta Release  ',
+introducing_ai_hackstack: 'Introductie van AI HackStack, een generatieve AI-onderwijstool voor beginners. Het biedt veilige toegang tot top AI-modellen zoals ChatGPT, Claude en DALL-E.',
📝 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.

      start_teaching_ai_today: 'Begin vandaag nog met het lesgeven van AI!  ',
      hackstack_beta_release: 'HackStack Beta Release  ',
      introducing_ai_hackstack: 'Introductie van AI HackStack, een generatieve AI-onderwijstool voor beginners. Het biedt veilige toegang tot top AI-modellen zoals ChatGPT, Claude en DALL-E.',

2019-2021: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefix from translation strings

The translation strings related to Roblox account connections include the [AI_TRANSLATION] prefix, which should be removed.

Apply the following diff:

-re_connect_roblox_button: '[AI_TRANSLATION]Verbind een ander account',
-disconnect_roblox_button: '[AI_TRANSLATION]Ontkoppel',
-roblox_connected: '[AI_TRANSLATION]Je account <strong>__username__</strong> is verbonden met Roblox.',
-roblox_not_connected: '[AI_TRANSLATION]Verbind je CodeCombat- en Roblox-accounts.',
+re_connect_roblox_button: 'Verbind een ander account',
+disconnect_roblox_button: 'Ontkoppel',
+roblox_connected: 'Je account <strong>__username__</strong> is verbonden met Roblox.',
+roblox_not_connected: 'Verbind je CodeCombat- en Roblox-accounts.',

Committable suggestion skipped: line range outside the PR's diff.

app/locale/pt-PT.js (7)

598-598: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation string

The translation for want_more_hints contains the [AI_TRANSLATION] placeholder. Please remove this placeholder to display the correct text to users.


1391-1399: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] and verify variable placeholders

The translations for feature_languages, feature_gems, and month_price_without_currency include the [AI_TRANSLATION] placeholder. Please remove this placeholder before deployment. Additionally, ensure that the variable placeholders like __gems__, __gems12__, and __price__ are correctly formatted and will be replaced properly within the application.


1798-1801: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation strings

The translations for initial_free_courses, free_course_blurb_junior, free_course_blurb_introduction-to-computer-science, start_teaching_ai_today, hackstack_beta_release, and introducing_ai_hackstack include the [AI_TRANSLATION] placeholder. Please remove this placeholder to display the correct translations to users.


1818-1822: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation strings

The translations for all_classrooms_imported, club_type, and create_students_prompt contain the [AI_TRANSLATION] placeholder. Ensure to remove this placeholder so users see the proper translations.


2019-2021: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation strings

The translations for re_connect_roblox_button, disconnect_roblox_button, roblox_connected, roblox_not_connected, and roblox_disconnect_confirm contain the [AI_TRANSLATION] placeholder. Please remove this placeholder to ensure the correct display in the user interface.


2874-2875: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation strings

The translations for test_student_modal_choose_class, test_student_modal_redirect, and stop_spying_student include the [AI_TRANSLATION] placeholder. Remove this placeholder before deployment to display the correct text to users.


5441-5443: ⚠️ Potential issue

Remove placeholder [AI_TRANSLATION] from translation strings

The translations for websites, code_more, and ideal_endeavour contain the [AI_TRANSLATION] placeholder. Please remove this placeholder to ensure users see the correct translations.

app/locale/de-DE.js (3)

5441-5445: 🛠️ Refactor suggestion

Update AI HackStack promotional content and ensure accurate translations.

The lines introduce new promotional content related to AI HackStack. Please provide accurate translations and remove the [AI_TRANSLATION] prefix:

-websites: '[AI_TRANSLATION]Webseiten',
-code_more: '[AI_TRANSLATION]Code und mehr  ',
-ideal_endeavour: '[AI_TRANSLATION]Es ist der ideale Begleiter für jedes Vorhaben.',
-//    ai_made_ss: "AI Made Simple & Safe -- Start Today!",
-//    aiss_body: "Built as the simplest path to AI literacy, this tool empowers learners to harness top LLMs with hands-on AI training, making creation easy—whether it’s games, art, writing, code, or more. Together, we help learners safely bring their ideas to life across any subject.",
-//    learn_more: "Learn More!",
+websites: 'Websites',
+code_more: 'Code und mehr',
+ideal_endeavour: 'Es ist der ideale Begleiter für jedes Vorhaben.',
+ai_made_ss: "KI einfach und sicher gemacht – Starte heute!",
+aiss_body: "Als der einfachste Weg zur KI-Kompetenz ermöglicht dieses Tool den Lernenden, führende Sprachmodelle mit praxisnahem KI-Training zu nutzen, was die Erstellung von Spielen, Kunst, Schreiben, Code und mehr erleichtert. Gemeinsam helfen wir Lernenden, ihre Ideen in jedem Fach sicher zum Leben zu erwecken.",
+learn_more: "Erfahre mehr!",

Ensure that the translations are marketing-friendly and resonate with the target audience.

Committable suggestion skipped: line range outside the PR's diff.


2019-2024: ⚠️ Potential issue

Update translations and user-facing messages regarding Roblox integration.

Ensure that the translations are accurate and that the messages convey the correct information to the user. Remove the [AI_TRANSLATION] prefix:

-re_connect_roblox_button: '[AI_TRANSLATION]Verbinde ein weiteres Konto',
-disconnect_roblox_button: '[AI_TRANSLATION]Trennen',
-roblox_connected: '[AI_TRANSLATION]Dein Konto <strong>__username__</strong> ist mit Roblox verbunden.',
-roblox_not_connected: '[AI_TRANSLATION]Verbinde deine CodeCombat- und Roblox-Konten.',
-roblox_disconnect_confirm: '[AI_TRANSLATION]Bist du sicher, dass du dein Roblox-Konto trennen willst?',
-god_mode: 'Gottmodus',
-emails_tab: 'E-Mails',
+re_connect_roblox_button: 'Verbinde ein weiteres Konto',
+disconnect_roblox_button: 'Trennen',
+roblox_connected: 'Dein Konto <strong>__username__</strong> ist mit Roblox verbunden.',
+roblox_not_connected: 'Verbinde deine CodeCombat- und Roblox-Konten.',
+roblox_disconnect_confirm: 'Bist du sicher, dass du dein Roblox-Konto trennen möchtest?',
+god_mode: 'Gottmodus',
+emails_tab: 'E-Mails',

Also, review the translation of "Gottmodus" to ensure it is appropriate for the context.

Committable suggestion skipped: line range outside the PR's diff.


1391-1399: ⚠️ Potential issue

Consistent use of localization keys and removal of '[AI_TRANSLATION]' prefix.

Several translation strings include the [AI_TRANSLATION] prefix, which should be removed to ensure consistency and correctness in the localization file. Please update the following keys:

-subscribe_to_premium: "Subscribe to Premium",
-feature_level_access: '[AI_TRANSLATION]Greife auf über 500 verfügbare Level zu',
-feature_heroes: 'Schalte exklusive Helden frei',
-feature_learn: 'Lerne die Erstellung von Websiten und Spielen',
-feature_languages: '[AI_TRANSLATION]Erhalte alle unterstützten Sprachen',
-feature_aiyouth: "",
-feature_gems: '[AI_TRANSLATION]Erhalte __gems__ Edelsteine/Monat (__gems12__ Edelsteine/Jahr)',
-feature_all_products: "4-in-1: CodeCombat Home, CodeCombat Junior, CodeCombat Worlds on Roblox, and CodeCombat AI HackStack",
+subscribe_to_premium: "Abonniere Premium",
+feature_level_access: 'Greife auf über 500 verfügbare Level zu',
+feature_heroes: 'Schalte exklusive Helden frei',
+feature_learn: 'Lerne die Erstellung von Websites und Spielen',
+feature_languages: 'Erhalte alle unterstützten Sprachen',
+feature_aiyouth: "",
+feature_gems: 'Erhalte __gems__ Edelsteine/Monat (__gems12__ Edelsteine/Jahr)',
+feature_all_products: "4-in-1: CodeCombat Home, CodeCombat Junior, CodeCombat Worlds auf Roblox und CodeCombat AI HackStack",

Also, ensure that all translation keys are accurately translated into German.

Committable suggestion skipped: line range outside the PR's diff.

app/locale/fr.js (8)

1394-1396: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The following translation strings contain the "[AI_TRANSLATION]" prefix. Removing it will enhance the professionalism of the localization:

  • feature_languages
  • month_price_without_currency
  • feature_gems

Apply this diff:

-feature_languages: '[AI_TRANSLATION]Récupère toutes les langues prises en charge',
-feature_gems: '[AI_TRANSLATION]Gagne __gems__ gems/mo (__gems12__ gems/an)',
-month_price_without_currency: '[AI_TRANSLATION]__price__/mo',
+feature_languages: 'Récupère toutes les langues prises en charge',
+feature_gems: 'Gagne __gems__ gems/mo (__gems12__ gems/an)',
+month_price_without_currency: '__price__/mo',

Also applies to: 1398-1398


1815-1817: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The following strings contain the "[AI_TRANSLATION]" prefix, which should be removed:

  • all_classrooms_imported
  • club_type
  • create_students_prompt

Apply this diff:

-all_classrooms_imported: '[AI_TRANSLATION]Toutes les classes déjà importées',
-club_type: '[AI_TRANSLATION]Type de Club  ',
-create_students_prompt: "[AI_TRANSLATION]Combien d'élèves voudrais-tu créer ?",
+all_classrooms_imported: 'Toutes les classes déjà importées',
+club_type: 'Type de Club  ',
+create_students_prompt: "Combien d'élèves voudrais-tu créer ?",
📝 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.

      all_classrooms_imported: 'Toutes les classes déjà importées',
      club_type: 'Type de Club  ',
      create_students_prompt: "Combien d'élèves voudrais-tu créer ?",

5438-5440: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The following translation strings contain the "[AI_TRANSLATION]" prefix. Please remove it:

  • websites
  • code_more
  • ideal_endeavour

Apply this diff:

-websites: '[AI_TRANSLATION]Sites Web',
-code_more: '[AI_TRANSLATION]Code et plus encore',
-ideal_endeavour: "[AI_TRANSLATION]C'est le compagnon idéal pour n'importe quelle aventure.  ",
+websites: 'Sites Web',
+code_more: 'Code et plus encore',
+ideal_endeavour: "C'est le compagnon idéal pour n'importe quelle aventure.  ",
📝 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.

      websites: 'Sites Web',
      code_more: 'Code et plus encore',
      ideal_endeavour: "C'est le compagnon idéal pour n'importe quelle aventure.  ",

597-597: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The translation string for want_more_hints includes the "[AI_TRANSLATION]" prefix, which appears to be a placeholder used during translation. This prefix should be removed to ensure the final user-facing text is clean and professional.

Apply this diff to remove the prefix:

-want_more_hints: "[AI_TRANSLATION]Tu veux plus d'indices ?  ",
+want_more_hints: "Tu veux plus d'indices ?  ",
📝 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.

      want_more_hints: "Tu veux plus d'indices ?  ",

2871-2873: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The "[AI_TRANSLATION]" prefix should be removed from these keys:

  • test_student_modal_choose_class
  • test_student_modal_redirect
  • stop_spying_student

Apply this diff:

-test_student_modal_choose_class: '[AI_TRANSLATION]Choisis une classe à rejoindre :  ',
-test_student_modal_redirect: '[AI_TRANSLATION]Tu seras redirigé vers ton compte étudiant test !',
-stop_spying_student: '[AI_TRANSLATION]Tu peux retourner au compte enseignant en cliquant sur `Stop Spying` dans le menu utilisateur.  ',
+test_student_modal_choose_class: 'Choisis une classe à rejoindre :  ',
+test_student_modal_redirect: 'Tu seras redirigé vers ton compte étudiant test !',
+stop_spying_student: 'Tu peux retourner au compte enseignant en cliquant sur `Stop Spying` dans le menu utilisateur.  ',
📝 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.

      test_student_modal_choose_class: 'Choisis une classe à rejoindre :  ',
      test_student_modal_redirect: 'Tu seras redirigé vers ton compte étudiant test !',
      stop_spying_student: 'Tu peux retourner au compte enseignant en cliquant sur `Stop Spying` dans le menu utilisateur.  ',

2016-2019: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

Please remove the "[AI_TRANSLATION]" prefix from the following keys:

  • re_connect_roblox_button
  • disconnect_roblox_button
  • roblox_connected
  • roblox_not_connected
  • roblox_disconnect_confirm

Apply this diff:

-re_connect_roblox_button: '[AI_TRANSLATION]Connecter un autre compte',
-disconnect_roblox_button: '[AI_TRANSLATION]Déconnexion',
-roblox_connected: '[AI_TRANSLATION]Ton compte <strong>__username__</strong> est connecté à Roblox.',
-roblox_not_connected: '[AI_TRANSLATION]Connecte tes comptes CodeCombat et Roblox.',
-roblox_disconnect_confirm: '[AI_TRANSLATION]Es-tu sûr de vouloir déconnecter ton compte Roblox ?',
+re_connect_roblox_button: 'Connecter un autre compte',
+disconnect_roblox_button: 'Déconnexion',
+roblox_connected: 'Ton compte <strong>__username__</strong> est connecté à Roblox.',
+roblox_not_connected: 'Connecte tes comptes CodeCombat et Roblox.',
+roblox_disconnect_confirm: 'Es-tu sûr de vouloir déconnecter ton compte Roblox ?',

Committable suggestion skipped: line range outside the PR's diff.


1521-1524: 🛠️ Refactor suggestion

Remove '[AI_TRANSLATION]' prefix from translation strings

The following keys have the "[AI_TRANSLATION]" prefix. Please remove it to ensure clean translations:

  • blocks_and_code
  • blocks_text
  • blocks_icons
  • text_code_blurb
  • blocks_and_code_blurb
  • blocks_text_blurb

Apply this diff:

-blocks_and_code: '[AI_TRANSLATION]Blocs et code',
-blocks_text: '[AI_TRANSLATION]Blocs',
-blocks_icons: '[AI_TRANSLATION]Blocs (icônes)',
-text_code_blurb: '[AI_TRANSLATION]Tape du code textuel dans un vrai éditeur de code',
-blocks_and_code_blurb: '[AI_TRANSLATION]Blocs et code textuel côte à côte',
-blocks_text_blurb: '[AI_TRANSLATION]Glisse et dépose des blocs pour les tablettes ou les jeunes apprenants',
+blocks_and_code: 'Blocs et code',
+blocks_text: 'Blocs',
+blocks_icons: 'Blocs (icônes)',
+text_code_blurb: 'Tape du code textuel dans un vrai éditeur de code',
+blocks_and_code_blurb: 'Blocs et code textuel côte à côte',
+blocks_text_blurb: 'Glisse et dépose des blocs pour les tablettes ou les jeunes apprenants',

Committable suggestion skipped: line range outside the PR's diff.


1795-1798: ⚠️ Potential issue

Remove '[AI_TRANSLATION]' prefix and complete missing translation

The following keys include the "[AI_TRANSLATION]" prefix and should have it removed:

  • initial_free_courses
  • free_course_blurb_junior
  • free_course_blurb_introduction-to-computer-science
  • start_teaching_ai_today

Additionally, the translation for hackstack_beta_release is incomplete and remains in English.

Apply this diff after providing the correct translation for hackstack_beta_release:

-initial_free_courses: '[AI_TRANSLATION]Cours Initiaux',
-free_course_blurb_junior: "[AI_TRANSLATION]Idéal pour les classes K-5, CodeCombat Junior peut s'ajuster à des options basées sur des blocs et mobiles pour les pré-lecteurs, jusqu'au code texte Python ou JavaScript pour l'école élémentaire supérieure, ou à des blocs et codes parallèles pour aider à la transition.",
'free_course_blurb_introduction-to-computer-science': "[AI_TRANSLATION]Parfait pour les classes de 6e à 12e, les cours de CS de base de CodeCombat vont de l'introduction conviviale à l'informatique, au cours de principes d'informatique AP, et au-delà vers des cours avancés. Commence ici pour les collégiens et lycéens.",
-start_teaching_ai_today: "[AI_TRANSLATION]Commence à enseigner l'IA aujourd'hui !  ",
-hackstack_beta_release: '[AI_TRANSLATION]HackStack Beta Release',
+initial_free_courses: 'Cours Initiaux',
+free_course_blurb_junior: "Idéal pour les classes K-5, CodeCombat Junior peut s'ajuster à des options basées sur des blocs et mobiles pour les pré-lecteurs, jusqu'au code texte Python ou JavaScript pour l'école élémentaire supérieure, ou à des blocs et codes parallèles pour aider à la transition.",
'free_course_blurb_introduction-to-computer-science': "Parfait pour les classes de 6e à 12e, les cours de CS de base de CodeCombat vont de l'introduction conviviale à l'informatique, au cours de principes d'informatique AP, et au-delà vers des cours avancés. Commence ici pour les collégiens et lycéens.",
+start_teaching_ai_today: "Commence à enseigner l'IA aujourd'hui !  ",
+hackstack_beta_release: 'Lancement de la version bêta de HackStack',

Note: Please provide the accurate French translation for hackstack_beta_release.

Committable suggestion skipped: line range outside the PR's diff.

app/locale/ja.js (5)

1798-1801: ⚠️ Potential issue

Missing translations for AI HackStack feature

The AI HackStack feature appears to be a significant new addition, but all related strings are commented out. This includes:

  • AI learning scenarios
  • Integration with models like ChatGPT, Claude, and DALL-E
  • Safety and accessibility features

Please provide Japanese translations for these strings to ensure Japanese users can access this new feature.

Also applies to: 5441-5443, 5720-5724


6397-6403: ⚠️ Potential issue

Missing translations for Exam functionality

The exam feature strings are all commented out, which could impact Japanese users' ability to:

  • Start and continue exams
  • View timer information
  • Submit exam responses

Please provide Japanese translations for these exam-related strings.


1778-1781: ⚠️ Potential issue

Missing translations for classroom management features

Critical classroom management features lack Japanese translations, including:

  • Code format settings
  • License activation messages
  • Initial course descriptions

Please provide Japanese translations for these classroom management strings to ensure proper functionality for Japanese teachers.

Also applies to: 1818-1822


2019-2021: ⚠️ Potential issue

Missing translations for Roblox integration

The Roblox account connection features lack Japanese translations, which could impact:

  • Account connection/disconnection flows
  • User feedback messages

Please provide Japanese translations for these Roblox-related strings.


6104-6111: ⚠️ Potential issue

Missing translations for AI learning interface

The AI learning interface strings are commented out, including:

  • Learning and creation options
  • Basic UI actions (edit, delete, duplicate)
  • Template usage

Please provide Japanese translations for these AI learning interface strings.

app/locale/he.js (3)

1391-1399: ⚠️ Potential issue

Critical subscription features lack Hebrew translations

Several important premium feature descriptions are missing Hebrew translations:

  • "Subscribe to Premium"
  • "Play 600+ levels"
  • "Create games and websites"
  • "Get all supported languages"
  • "4-in-1: CodeCombat Home..." feature description

These untranslated strings could impact Hebrew-speaking users' understanding of premium features.

Would you like me to help create a GitHub issue to track these missing translations?


6397-6403: ⚠️ Potential issue

Exam feature requires Hebrew translations

The exam feature strings are missing translations:

  • Timer-related messages
  • Permission messages
  • Start/Continue exam buttons

These are critical UI elements for exam functionality and should be translated for Hebrew-speaking users.


1754-1757: 💡 Codebase verification

⚠️ Potential issue

Missing Hebrew translations confirmed for classroom management UI

The search results confirm that critical classroom management strings are untranslated in the Hebrew locale file (marked with comments), while they are translated in Arabic and Urdu locales:

  • programming_language_edit_desc and programming_language_edit_desc_new are commented out in Hebrew (he.js)
  • These same strings are translated in Arabic (ar.js) and Urdu (ur.js)
  • Persian (fa.js) also has these strings commented out

The review comment correctly identified missing translations that could impact Hebrew-speaking teachers' ability to understand programming language change implications.

🔗 Analysis chain

Classroom management UI requires Hebrew translations

Critical classroom setup strings are missing translations:

  • Programming language selection
  • Code format options
  • Language change warnings

These untranslated strings could impact Hebrew-speaking teachers' ability to configure their classrooms properly.

Let's check if other language files have these translations:

Also applies to: 1778-1781

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these strings are translated in other RTL language files
rg -U "programming_language.*language cannot be changed" app/locale/{ar,fa,he,ur}.js

Length of output: 126


Script:

#!/bin/bash
# Let's check for these specific strings in RTL language files with a broader pattern
rg -U "programming_language[\"']:" app/locale/{ar,fa,he,ur}.js

# Also check for the add_a_class string
rg -U "add_a_class[\"']:" app/locale/{ar,fa,he,ur}.js

# Check for any programming_language related strings
rg -U "programming_language" app/locale/{ar,fa,he,ur}.js

Length of output: 4388

app/locale/sk.js (2)

598-598: ⚠️ Potential issue

Missing Slovak translations for new UI strings

Several UI strings are commented out without Slovak translations being provided:

  • "age_description_codecombat"
  • "age_description_codecombat_junior"
  • "want_more_hints"
  • "choose_your_adventure"

This could impact the user experience for Slovak users.

Would you like me to help create a tracking issue for these missing translations?


1391-1399: 💡 Codebase verification

⚠️ Potential issue

Critical subscription features lack Slovak translations

The verification confirms that these subscription-related strings in app/locale/sk.js are indeed missing translations and only contain English text in comments:

  • subscribe_to_premium: "Subscribe to Premium"
  • feature_level_access: "Play 600+ levels"
  • feature_learn: "Create games and websites"
  • feature_languages: "Get all supported languages"
  • feature_gems: "Earn gems gems/mo (gems12 gems/yr)"
  • feature_all_products: "4-in-1: CodeCombat Home, CodeCombat Junior, CodeCombat Worlds on Roblox, and CodeCombat AI HackStack"
  • feature_products: "Access CodeCombat Junior, CodeCombat & AI HackStack"

These strings are critical for Slovak users to understand subscription benefits, as they describe premium features and pricing. Please provide Slovak translations for these strings.

🔗 Analysis chain

Critical subscription features lack Slovak translations

Important subscription-related strings are missing translations:

  • "subscribe_to_premium"
  • "feature_level_access"
  • "feature_learn"
  • "feature_languages"
  • "feature_gems"
  • "feature_all_products"
  • "feature_products"

These are critical for users to understand subscription benefits.


Let me verify if these subscription strings are actually translated in Slovak or just present in the file.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these subscription strings are translated in other language files
rg -l "subscribe_to_premium.*:.*[^{]" app/locale/

Length of output: 1209


Script:

#!/bin/bash
# Check the actual content of these subscription strings in sk.js
rg "subscribe_to_premium|feature_level_access|feature_learn|feature_languages|feature_gems|feature_all_products|feature_products" app/locale/sk.js -A 1

Length of output: 805

app/locale/sv.js (4)

1391-1399: ⚠️ Potential issue

Missing translations for premium subscription features

Several new premium subscription features are left untranslated, which could impact Swedish users' understanding of the subscription benefits:

  • "Subscribe to Premium"
  • "Get all supported languages"
  • "feature_aiyouth"
  • "feature_gems"
  • "feature_all_products"
  • "feature_products"
  • "month_price_without_currency"

Consider prioritizing these translations as they are critical for user conversion and subscription management.


1415-1415: ⚠️ Potential issue

Missing translations for core educational features

Several important educational features lack Swedish translations:

  1. AI-powered learning support
  2. Programming interface options (blocks, text code)
  3. Classroom management features (language selection, code formats)

These features are fundamental to the learning experience. Consider prioritizing their translation to maintain a consistent experience for Swedish users.

Also applies to: 1520-1521, 1754-1822


5441-5443: ⚠️ Potential issue

Missing translations for new AI features

The new AI HackStack and AI creation features are entirely untranslated:

  1. AI Made Simple & Safe
  2. AI HackStack introduction
  3. AI creation interface elements

As these represent new product features, missing translations could create confusion for Swedish users and impact feature adoption.

Also applies to: 5720-5720, 6104-6111


6397-6403: ⚠️ Potential issue

Missing translations for exam system

The exam system UI elements are left untranslated:

  • Timer tips
  • Permission messages
  • Level numbering
  • Time remaining
  • Submit confirmation
  • Start/Continue exam buttons

Missing translations for assessment features could impact student performance and understanding.

app/locale/da.js (2)

1391-1394: ⚠️ Potential issue

Multiple untranslated strings found across new features

I notice a pattern where many new feature strings are commented out instead of being translated to Danish. This includes important features like:

  • AI League and HackStack features
  • Premium subscription details
  • Classroom management options
  • Code format settings
  • Roblox integration

This could impact the user experience for Danish users as they'll see English text instead of Danish translations for these new features.

Would you like me to:

  1. Create a GitHub issue to track these missing translations?
  2. Help generate a template with all the missing strings that need translation?

Also applies to: 1394-1399, 1415-1415, 1520-1521, 1754-1754, 1778-1778, 1798-1798, 1818-1822, 2019-2021, 2874-2875, 4722-4722, 4952-4952, 5441-5443, 5720-5720, 5763-5763, 6104-6111, 6397-6403


5441-5443: 💡 Codebase verification

The results show that the AI-related strings are commented out (untranslated) in all language files except for en.js (English) and rot13.js (which is just an encoded version of English). This confirms the original review comment's concern about missing translations for these important AI feature strings across all non-English locales.

Missing translations for AI features across all non-English locales

The AI features are currently only available in English, as the strings are commented out in all non-English language files. This includes critical user-facing content about:

  • AI Made Simple & Safe introduction
  • HackStack's learning scenarios and sandbox environment
  • AI safety and responsible use messaging
🔗 Analysis chain

Prioritize translation of AI feature strings

The AI features (HackStack, AI League) appear to be significant new additions to the platform, but their strings are currently commented out instead of translated. Given the importance of these features, consider prioritizing their translation to ensure Danish users can fully understand and utilize them.

Key missing translations include:

  • AI Made Simple & Safe messaging
  • HackStack feature descriptions
  • AI League tournament details

Let's check if these strings are translated in other language files:

Also applies to: 5720-5720

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if other language files have translations for these AI features
for file in app/locale/*.js; do
  echo "Checking $file for AI translations..."
  rg -A 2 "ai_made_ss|header_details|learn_description" "$file"
done

Length of output: 119017

app/locale/fi.js (4)

598-598: ⚠️ Potential issue

Missing Finnish translations for core UI elements.

Several important UI strings are commented out and missing Finnish translations, including age descriptions and adventure selection text. These should be translated to maintain a consistent user experience for Finnish users.

Would you like me to help create a tracking issue for these missing translations?


1415-1415: ⚠️ Potential issue

Missing translations for AI-powered features.

The AI-powered support feature strings need Finnish translations to ensure Finnish users can fully understand and utilize these new capabilities.


1520-1521: ⚠️ Potential issue

Missing translations for core coding interface elements.

The code editor interface strings need Finnish translations to ensure proper accessibility and usability for Finnish users, particularly for the Junior mode features.


2019-2021: ⚠️ Potential issue

Missing translations for Roblox integration.

The Roblox account connection features need Finnish translations to ensure users can properly understand and manage their account connections.

app/locale/pl.js (1)

598-598: ⚠️ Potential issue

Missing Polish translations for age descriptions and hints.

Several new strings are pending translation:

  • age_description_codecombat
  • age_description_codecombat_junior
  • want_more_hints
  • choose_your_adventure

Please provide Polish translations for these strings to maintain a consistent user experience.

app/locale/nl-NL.js (2)

1391-1399: ⚠️ Potential issue

Missing translations for critical subscription features

Several important subscription-related strings are left untranslated (commented out), including:

  • "Subscribe to Premium"
  • AI youth features
  • Product descriptions for CodeCombat Home, Junior, Worlds on Roblox, and AI HackStack

This could impact Dutch users' understanding of premium features and new products.

Would you like me to help create a tracking issue for these missing translations?


6397-6403: ⚠️ Potential issue

Exam feature requires Dutch translations

The exam functionality is missing Dutch translations for:

  • Timer instructions
  • Submission warnings
  • Exam navigation buttons

This could impact Dutch-speaking students' ability to properly understand and navigate exams.

Consider implementing a translation verification system that flags when new features are added without corresponding translations in all supported languages.

app/locale/uz.js (6)

1415-1415: ⚠️ Potential issue

New AI and programming interface strings need translations

The following new strings appear to be missing Uzbek translations:

  • feature_ai_level_bot
  • blocks_icons
  • blocks_icons_helptext

These strings are important for the UI as they relate to AI features and programming interface options.

Please provide Uzbek translations for these strings to ensure a complete localization experience.

Also applies to: 1520-1521


1754-1754: ⚠️ Potential issue

Classroom management and AI HackStack features need translations

Several new classroom management and AI HackStack related strings have been added but appear to be missing translations:

  • Programming language selection UI
  • Code format descriptions
  • HackStack beta features
  • License management messages

Please provide Uzbek translations for these educational platform features to ensure teachers and students can effectively use the platform.

Also applies to: 1778-1778, 1798-1798, 1818-1822


2019-2021: ⚠️ Potential issue

Missing translations for Roblox integration and practice levels

New strings for Roblox account management and practice level visibility need translations:

  • Roblox connection status messages
  • Practice level toggle options

Please provide Uzbek translations for these gaming platform integration features.

Also applies to: 2874-2875


4722-4722: ⚠️ Potential issue

AI League and promotional content needs translations

New strings related to AI League registration and promotional content are missing translations:

  • AI League registration UI
  • AI feature promotional content
  • Learn more call-to-action buttons

Please provide Uzbek translations for these competition and promotional features.

Also applies to: 4952-4952, 5441-5443


5720-5720: ⚠️ Potential issue

HackStack and user interface strings need translations

Multiple new strings for HackStack features and UI actions are missing translations:

  • HackStack header and descriptions
  • AI learning and creation options
  • Basic UI actions (Edit, Delete, Duplicate)

Please provide Uzbek translations for these core platform features.

Also applies to: 5763-5763, 6104-6111


6397-6403: ⚠️ Potential issue

Exam feature strings need translations

New exam-related strings are missing translations:

  • Timer instructions
  • Permission messages
  • Exam navigation buttons

Please provide Uzbek translations for these examination features to ensure students can properly navigate the exam system.

app/locale/mi.js (1)

598-598: 💡 Codebase verification

These strings should be uncommented and translated to Māori

The commented-out strings in mi.js are direct copies of the English strings from en.js. These UI elements are actively used in other language files and should be properly translated to Māori rather than being commented out. The strings include:

  • age_description_codecombat
  • age_description_codecombat_junior
  • want_more_hints
  • choose_your_adventure
🔗 Analysis chain

Verify if these strings require translation

These commented-out strings appear to be important UI elements for age descriptions and hints. If these are intended to be available in Māori, they should be uncommented and translated.


Let me check the actual content of these strings in the English locale and compare with mi.js to make a proper assessment.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these strings are translated in other language files
rg -l "age_description_codecombat.*Real Python" app/locale/

Length of output: 1199


Script:

#!/bin/bash
# Check the content of these strings in English locale
rg "choose_your_adventure|age_description_codecombat" app/locale/en.js -A 2

# Check the surrounding context in mi.js
rg "choose_your_adventure|age_description_codecombat" app/locale/mi.js -A 2

Length of output: 725

app/locale/et.js (1)

598-598: ⚠️ Potential issue

Inconsistent commenting pattern across translation strings

The file shows an inconsistent pattern where some new strings are commented out while others are not. This inconsistency could lead to:

  1. Missing translations in the UI
  2. Confusion about which strings are actually in use
  3. Difficulty in maintaining the translation file

Please review and ensure consistent handling of translation strings by either:

  1. Uncommenting all strings that should be active in the Estonian translation
  2. Commenting out all strings that are pending translation
  3. Adding a clear marker or comment to indicate why certain strings are commented out

For example, these strings are not commented out while similar strings are:

- Line 1818: "initial_free_courses_description"
- Line 1819: "junior_code_format_only"
- Line 1820: "hackstack_no_code_language_format"
- Line 1821: "licenses_activated_success"
- Line 1822: "license_code_used"

Also applies to: 1391-1399, 1415-1415, 1520-1521, 1754-1754, 1778-1778, 1798-1798, 1818-1822, 2019-2021, 2874-2875, 4722-4722, 4952-4952, 5441-5443, 5720-5720, 5763-5763, 6104-6111, 6397-6403

app/locale/haw.js (3)

598-598: ⚠️ Potential issue

Translations are commented out and unavailable

The translations in this section are commented out, which means they won't be available for Hawaiian language users. This appears to be inconsistent with the PR's objective of enhancing localization support.

Please uncomment these translations if they are meant to be available for Hawaiian language users.


1754-1754: ⚠️ Potential issue

Critical classroom management strings need to be uncommented

These strings contain important warnings about how programming language changes affect student progress and what code formats are available. Teachers need this information to make informed decisions about classroom settings.

Please uncomment these strings to ensure teachers have access to this crucial information in the Hawaiian language interface.

Also applies to: 1778-1778


1415-1415: 💡 Codebase verification

Translation inconsistencies found across locale files

The verification reveals inconsistent implementation of these features across locale files:

  • English (en.js) has all strings actively implemented
  • Spanish (es-ES.js) and Chinese (zh-HANS.js) have translations but some strings are marked with '[AI_TRANSLATION]' prefix or commented out
  • Japanese (ja.js) has all these strings commented out

This inconsistency could affect the user experience for these new features across different languages.

🔗 Analysis chain

Verify translation consistency across language files

These new features (AI-powered support and Blocks with Icons) should be consistently translated across all language files to maintain feature parity.

Also applies to: 1520-1521

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if these new strings exist in other locale files
# Expected: These strings should be present (commented or uncommented) in other locale files

# Check for AI-powered support string
echo "Checking AI-powered support string across locale files:"
fd -e js . app/locale -x rg -l "feature_ai_level_bot" {}

# Check for Blocks (Icons) string
echo "Checking Blocks (Icons) string across locale files:"
fd -e js . app/locale -x rg -l "blocks_icons" {}

Length of output: 2659


Script:

#!/bin/bash
# Let's check the actual content of these strings in a few locale files to verify consistency
# Sample a few files to see if the strings are commented out or active

echo "Checking string implementations in en.js (reference):"
rg "feature_ai_level_bot|blocks_icons" app/locale/en.js -C 1

echo -e "\nChecking string implementations in es-ES.js:"
rg "feature_ai_level_bot|blocks_icons" app/locale/es-ES.js -C 1

echo -e "\nChecking string implementations in zh-HANS.js:"
rg "feature_ai_level_bot|blocks_icons" app/locale/zh-HANS.js -C 1

echo -e "\nChecking string implementations in ja.js:"
rg "feature_ai_level_bot|blocks_icons" app/locale/ja.js -C 1

Length of output: 3129

app/locale/hr.js (2)

1415-1415: ⚠️ Potential issue

Missing translations for new AI and classroom features

Several new features are being added without Croatian translations:

  • AI HackStack features
  • Programming language selection UI
  • Classroom management features

This could lead to a degraded experience for Croatian users.

Please ensure that translations are provided for these new features:

+ "feature_ai_level_bot": "Croatian translation needed",
+ "code_formats": "Croatian translation needed",
+ "code_formats_description": "Croatian translation needed",
+ "free_course_blurb_hackstack": "Croatian translation needed",

Also applies to: 1778-1778, 1798-1798


6397-6403: ⚠️ Potential issue

Missing translations for exam system

New exam system features are being added without Croatian translations:

+ "timer_tip": "Croatian translation needed",
+ "no_permission": "Croatian translation needed",
+ "level_num": "Croatian translation needed",
+ "time_left": "Croatian translation needed",
+ "submit_tip": "Croatian translation needed",
+ "start_exam": "Croatian translation needed",
+ "continue_exam": "Croatian translation needed"

Please provide Croatian translations for these exam-related strings to ensure a consistent user experience.

Committable suggestion skipped: line range outside the PR's diff.

app/locale/my.js (1)

6397-6403: 🛠️ Refactor suggestion

Ensure completeness of exam feature translations

The new exam feature translations appear to be missing some essential elements:

  1. Error messages for exam submission failures
  2. Confirmation messages for exam completion
  3. Instructions for different exam types

Consider adding these translations to provide a complete exam experience for Myanmar users.

app/locale/lt.js (2)

598-598: ⚠️ Potential issue

Lithuanian translations needed for age descriptions and adventure selection.

The following keys are missing Lithuanian translations:

  • age_description_codecombat
  • age_description_codecombat_junior
  • want_more_hints
  • choose_your_adventure

Please provide Lithuanian translations for these UI strings to ensure a complete localization experience.


1391-1399: ⚠️ Potential issue

Missing translations for premium subscription features.

Several important subscription-related strings lack Lithuanian translations:

  • Premium subscription features
  • Pricing information
  • Product descriptions

This could impact user understanding of premium offerings.

Please prioritize translating these strings as they are critical for user conversion and understanding of premium features.

app/locale/eo.js (2)

1415-1415: ⚠️ Potential issue

New AI-related strings lack translations

New features like "AI-powered support" and "Blocks (Icons)" are added but appear to be commented out. This suggests incomplete localization for new features.

Consider:

  1. Adding translations for these new features
  2. Implementing a process to ensure new features have translations before release

Also applies to: 1520-1521


1754-1754: 🛠️ Refactor suggestion

Classroom management strings need organization

The classroom management related strings (programming language, code formats, licenses) appear scattered and some are commented out. This could make maintenance difficult.

Consider:

  1. Grouping related strings together
  2. Using nested objects for better organization, e.g.:
classroom: {
  programming: {
    language: { /* ... */ },
    formats: { /* ... */ }
  },
  licenses: { /* ... */ }
}

Also applies to: 1778-1778, 1798-1798, 1818-1822

app/locale/kk.js (3)

2019-2021: 🛠️ Refactor suggestion

Consider using string interpolation instead of HTML tags

The strings contain HTML tags (<strong>). Consider using string interpolation or a translation framework's built-in formatting to handle styling:

-    roblox_connected: "Your account <strong>__username__</strong> is connected to Roblox.",
+    roblox_connected: "Your account {username} is connected to Roblox.",

This approach would:

  1. Separate presentation from content
  2. Reduce potential security risks
  3. Make translations more maintainable

Committable suggestion skipped: line range outside the PR's diff.


1391-1399: 💡 Codebase verification

Inconsistent placeholder usage detected across locale files

The verification revealed several issues with placeholder consistency:

  • Spanish translation uses __gemas__ instead of __gems__
  • Russian translation is missing the __gems12__ placeholder
  • Chinese translation (zh-HANS) is missing the string entirely
  • Some translations are marked with [AI_TRANSLATION] prefix

These inconsistencies could cause runtime issues when the placeholders are replaced with actual values.

Locations needing attention:

  • app/locale/es-ES.js: Fix __gemas__ to __gems__
  • app/locale/ru.js: Add missing __gems12__ placeholder
  • app/locale/zh-HANS.js: Add missing translation
  • Review all [AI_TRANSLATION] marked strings for accuracy
🔗 Analysis chain

Verify placeholder consistency across translations

The subscription-related strings contain dynamic placeholders (e.g., __gems__, __gems12__, __price__). Ensure these placeholders are consistently used across all language files and properly handled in the code.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check placeholder consistency across locale files
echo "Checking placeholder consistency for subscription strings..."
rg -l "__gems__|__gems12__|__price__" app/locale/*.js

Length of output: 2487


Script:

#!/bin/bash
# Check the actual content of the placeholder strings in a few representative locale files
echo "Checking placeholder usage in en.js (reference)..."
rg "feature_gems.*__gems.*" app/locale/en.js

echo -e "\nChecking placeholder usage in a few other locales..."
for locale in fr.js es-ES.js zh-HANS.js ru.js; do
    echo -e "\n=== $locale ==="
    rg "feature_gems.*__gems.*" "app/locale/$locale"
done

Length of output: 1159


6397-6403: 💡 Codebase verification

Missing translations for exam-related strings across locale files

The verification reveals that while these exam-related strings are properly defined in en.js, they are only commented out in other major locale files (es-ES, fr, zh-HANS, ja, ru). This indicates that translations are missing for these new exam-related features across the localization files.

  • All exam-related strings (timer_tip, no_permission, level_num, etc.) need to be translated in non-English locale files
  • Currently, these strings appear as commented-out English versions in other locale files
  • This will affect the user experience for non-English users of the exam feature
🔗 Analysis chain

Verify completeness of translations

Ensure that all new strings (especially exam-related ones) are present in other locale files to maintain consistency across languages.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for missing translations in other locale files
echo "Checking for exam-related strings across locales..."
for key in "timer_tip" "no_permission" "level_num" "time_left" "submit_tip" "start_exam" "continue_exam"; do
  echo "Checking $key..."
  rg -l "\"$key\":" app/locale/*.js
done

Length of output: 9676


Script:

#!/bin/bash
# Let's try a different approach to check for these strings in the English locale file
# and then compare with other locale files

# First, check if these strings exist in en.js (our reference)
echo "Checking strings in en.js:"
rg -A 1 "timer_tip|no_permission|level_num|time_left|submit_tip|start_exam|continue_exam" app/locale/en.js

# Then check a few other major locale files for comparison
echo -e "\nChecking strings in other major locales:"
for locale in "es-ES" "fr" "zh-HANS" "ja" "ru"; do
    echo -e "\nChecking $locale:"
    rg -A 1 "timer_tip|no_permission|level_num|time_left|submit_tip|start_exam|continue_exam" "app/locale/${locale}.js"
done

Length of output: 4553

app/locale/lv.js (1)

2874-2875: ⚠️ Potential issue

Missing translations for user-facing features

Several user-facing features lack Latvian translations:

  • Practice level visibility controls
  • AI League registration
  • AI feature marketing content

These strings directly impact user experience and should be prioritized for translation.

Consider implementing a translation status tracking system to help prioritize missing translations based on feature importance and user impact.

Also applies to: 4722-4722, 4952-4952, 5441-5443, 5720-5720

app/locale/mn.js (1)

6397-6403: ⚠️ Potential issue

Exam-related strings require immediate translation

The exam-related strings are critical for user experience as they involve time-sensitive actions and important instructions. Currently, these strings are:

  1. Commented out
  2. Not translated to Mongolian
  3. Include important UI elements like timer information and submission confirmations

These strings should be prioritized for translation as they affect core functionality:

  • Timer tips
  • Permission messages
  • Time remaining indicators
  • Exam start/continue buttons
app/locale/ro.js (4)

1391-1399: ⚠️ Potential issue

Inconsistent translation coverage in subscription section

Several key subscription-related strings are left untranslated (commented out), while others are translated. This creates an inconsistent experience for Romanian users, particularly around premium features and pricing.

Critical untranslated strings include:

  • "subscribe_to_premium"
  • "feature_languages"
  • "feature_aiyouth"
  • "feature_all_products"
  • "feature_products"

Consider prioritizing the translation of these strings as they are important for user conversion and premium feature understanding.


1415-1415: ⚠️ Potential issue

Missing translations for critical new features

Several new feature sections lack Romanian translations:

  1. AI-powered support features
  2. Programming interface options (blocks, text code)
  3. Classroom management settings
  4. AI HackStack features

This significantly impacts the user experience for Romanian teachers and students trying to access these new features.

Would you like me to help create a tracking issue for these missing translations? This could help prioritize the most critical strings for translation.

Also applies to: 1520-1521, 1754-1754, 1778-1778, 1798-1798


1818-1822: ⚠️ Potential issue

Administrative features lack Romanian translations

Critical classroom management features are missing translations:

  • Initial course descriptions
  • License management
  • Code format settings
  • Student management

This could make it difficult for Romanian teachers to effectively manage their classrooms and licenses.


4952-4952: ⚠️ Potential issue

Inconsistent translation coverage for AI features

While the basic AI League registration strings are translated:

register_for_ai_league: 'Înregistrare în Liga AI'

Several new AI-related features lack translations:

  • AI HackStack introduction and features
  • AI learning and creation interfaces
  • Exam management system

This creates a fragmented experience where users can register for AI features but can't fully understand or use them in Romanian.

Consider implementing a translation priority system where core feature translations are required before the feature is released to that locale.

Also applies to: 5441-5443, 5720-5720, 6104-6111, 6397-6403

app/locale/bg.js (5)

598-598: ⚠️ Potential issue

Add Bulgarian translations for core UI elements

The following strings need to be translated to Bulgarian to ensure a complete localization:

  • "age_description_codecombat"
  • "age_description_codecombat_junior"
  • "want_more_hints"
  • "choose_your_adventure"

Would you like help with generating the Bulgarian translations for these strings?


1520-1521: ⚠️ Potential issue

Add Bulgarian translations for programming interface options

Important UI strings for code editor preferences need translation:

  • "blocks_icons"
  • "blocks_icons_helptext"

These translations are essential for Bulgarian users to understand available coding interfaces.


5441-5443: ⚠️ Potential issue

Add Bulgarian translations for AI feature marketing content

Marketing and descriptive content for AI features needs translation:

  • AI Made Simple & Safe tagline
  • AI literacy and learning descriptions
  • Feature benefits and capabilities

Ensure consistent terminology is used across all AI-related translations.

Consider creating a glossary of AI-related terms in Bulgarian to maintain consistency across all translations.

Also applies to: 5720-5720


6397-6403: ⚠️ Potential issue

Add Bulgarian translations for exam features

Exam-related strings need translation:

  • Timer information
  • Permission messages
  • Exam navigation ("Start Exam", "Continue Exam")

These translations are necessary for Bulgarian students taking exams.


6104-6111: 💡 Codebase verification

⚠️ Potential issue

Add missing Bulgarian translations for core UI actions

The following translations need to be added to app/locale/bg.js:

  • create_ai: "Създай AI"
  • learn_with_ai: "Учи с AI"
  • create_with_ai: "Създавай с AI"
  • name_conflict: "Конфликт с името, моля изберете друго име"
  • edit: "Редактирай"
  • delete: "Изтрий"
  • duplicate: "Дублирай"
  • use_as_a_template: "Използвай като шаблон"

The translations are currently commented out but are essential for core UI functionality. Some similar terms like "Създай" (create) and "Промени" (edit/change) are already translated in other parts of the file, confirming these are the appropriate Bulgarian translations.

🔗 Analysis chain

Add Bulgarian translations for AI learning paths and UI actions

Core UI elements need translation:

  • AI learning paths ("Learn AI", "Create AI", etc.)
  • Common actions ("Edit", "Delete", "Duplicate")

These translations are essential for basic navigation and functionality.

Let's check for existing similar translations:


Let me search for existing translations of AI-related terms to ensure we have a complete picture:


Let me search for any existing translations in the Bulgarian locale file to ensure we have a complete picture:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for existing UI action translations
rg -U "edit|delete|duplicate" app/locale/bg.js

Length of output: 15998


Script:

#!/bin/bash
# Search for existing AI-related translations
rg -U "ai|artificial|learn.*with" app/locale/bg.js

Length of output: 100694


Script:

#!/bin/bash
# Search for existing translations of create, edit, delete, duplicate
rg -U "create|edit|delete|duplicate" app/locale/bg.js | grep -v "//"

Length of output: 335

app/locale/fil.js (2)

1415-1415: ⚠️ Potential issue

Critical UI elements need translation

These strings represent important UI elements for:

  1. AI-powered learning support
  2. Different code input methods (blocks, text, icons)

These are critical for user experience and accessibility, especially the "Blocks (Icons)" option which is specific to Junior users.

Please prioritize translating these strings to Filipino to ensure proper accessibility for different user groups.

Also applies to: 1520-1521


1391-1399: 💡 Codebase verification

Based on the search results, I can now generate the final response since I have enough information about the translation status across different locale files:

Translation needed for subscription features in Filipino locale

The subscription-related strings in app/locale/fil.js are currently only commented out template keys without translations, while many other languages have these strings translated. Please add Filipino translations for:

  • subscribe_to_premium
  • feature_level_access
  • feature_heroes
  • feature_learn
  • feature_languages
  • feature_gems
  • feature_all_products
  • feature_products
  • month_price
  • month_price_without_currency
  • first_month_price
  • lifetime

You can reference translations from other languages like zh-HANS.js, es-419.js, or id.js which have these strings fully translated in a similar regional context.

🔗 Analysis chain

Verify translation completeness for subscription features

These subscription-related strings appear to be template keys without translations. Please ensure all these premium feature descriptions and pricing texts are properly translated to Filipino to maintain a consistent user experience.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these subscription strings are translated in other locale files
rg -A 1 "subscribe_to_premium|feature_level_access|feature_heroes|feature_learn|feature_languages|feature_aiyouth|feature_gems|feature_all_products|feature_products|month_price" app/locale/

Length of output: 69564

app/locale/de-CH.js (3)

1391-1399: ⚠️ Potential issue

Missing translations for premium feature strings

Several new premium-related strings are missing Swiss German translations, which could lead to an inconsistent user experience. Please provide translations for:

  • "Subscribe to Premium"
  • "Play 600+ levels"
  • "Unlock exclusive heroes and pets"
  • "Create games and websites"
  • And other premium-related strings

1520-1521: ⚠️ Potential issue

Missing translations for code block interface

Critical UI elements related to the code block interface are missing translations:

  • "Blocks (Icons)"
  • "Blocks (Icons) helptext"
    These are important for the Junior version of the platform and should be prioritized for translation.

2019-2021: ⚠️ Potential issue

Missing translations for Roblox integration

The Roblox account connection interface is missing translations for:

  • Account connection status messages
  • Connection instructions for students
    These should be translated to maintain interface consistency.
app/locale/fa.js (1)

598-598: ⚠️ Potential issue

Most new strings lack Persian translations

I notice that most of the newly added strings are commented out and lack Persian translations. This includes important UI elements such as:

  • Premium features and subscription details
  • Programming language settings
  • Classroom management options
  • AI features (HackStack)
  • Exam functionality

These missing translations could impact Persian-speaking users' ability to fully utilize these features.

Would you like me to:

  1. Create a GitHub issue to track these missing translations?
  2. Help coordinate with Persian language translators?

Also applies to: 1391-1391, 1394-1399, 1415-1415, 1520-1521, 1754-1754, 1778-1781, 1798-1801, 1818-1822, 2019-2021, 2874-2875, 4722-4722, 4952-4955, 5441-5443, 5720-5724, 5763-5763, 6104-6111, 6397-6403

app/locale/pt-BR.js (5)

1391-1399: ⚠️ Potential issue

Missing translations for premium features

Several premium feature descriptions are left untranslated:

  • "Subscribe to Premium"
  • "Get all supported languages"
  • "feature_aiyouth"
  • "feature_gems"
  • "feature_all_products"
  • "feature_products"

These strings are critical for the subscription flow and should be translated to Portuguese to maintain a consistent user experience. Would you like me to help create a GitHub issue to track these missing translations?


5441-5443: ⚠️ Potential issue

Missing translations for AI features

New AI-related features are missing translations:

  • "AI Made Simple & Safe"
  • "Learn, create, and accelerate with AI HackStack"
  • AI-related descriptions and learning scenarios

These strings represent new AI features that should be translated to ensure Portuguese-speaking users can fully understand and utilize these capabilities. Consider translating them to:

-    //    ai_made_ss: "AI Made Simple & Safe -- Start Today!",
-    //    aiss_body: "Built as the simplest path to AI literacy...",
+    ai_made_ss: "IA Simples e Segura -- Comece Hoje!",
+    aiss_body: "Construído como o caminho mais simples para a alfabetização em IA...",

Also applies to: 5720-5720


1520-1521: ⚠️ Potential issue

Missing translations for code editor modes

The code editor mode descriptions are left untranslated:

  • "Text code"
  • "Blocks and code"
  • "Blocks"
  • "Blocks (Icons)"
  • "Blocks (Icons) helptext"

These strings are essential for users to understand the different coding interfaces available. Consider translating them to:

-      //    text_code: "Text code",
-      //    blocks_and_code: "Blocks and code",
-      //    blocks_text: "Blocks",
-      //    blocks_icons: "Blocks (Icons)",
-      //    blocks_icons_helptext: "Junior only",
+      text_code: "Código em texto",
+      blocks_and_code: "Blocos e código",
+      blocks_text: "Blocos",
+      blocks_icons: "Blocos (Ícones)",
+      blocks_icons_helptext: "Somente Junior",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensur 8000 e 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.

      text_code: "Código em texto",
      blocks_and_code: "Blocos e código",
      blocks_text: "Blocos",
      blocks_icons: "Blocos (Ícones)",
      blocks_icons_helptext: "Somente Junior",

6397-6403: ⚠️ Potential issue

Missing translations for exam interface

The exam-related strings need translation:

  • Timer-related messages
  • Permission messages
  • Exam navigation buttons

These strings are critical for students taking exams. Consider translating them to:

-    //    timer_tip: "A timer will start when you click Start Exam",
-    //    start_exam: "Start Exam",
-    //    continue_exam: "Continue Exam",
+    timer_tip: "Um cronômetro iniciará quando você clicar em Iniciar Exame",
+    start_exam: "Iniciar Exame",
+    continue_exam: "Continuar Exame",

Committable suggestion skipped: line range outside the PR's diff.


6104-6111: ⚠️ Potential issue

Missing translations for AI learning interface

The AI learning interface strings need translation:

  • "Learn AI"
  • "Create AI"
  • "Learn With AI"
  • "Create With AI"
    Also, basic UI actions are untranslated:
  • "Edit"
  • "Delete"
  • "Duplicate"

These strings are part of the core UI and should be translated. Consider:

-    //    learn_ai: "Learn AI",
-    //    create_ai: "Create AI",
-    //    learn_with_ai: "Learn With AI",
-    //    create_with_ai: "Create With AI",
-    //    edit: "Edit",
-    //    delete: "Delete",
-    //    duplicate: "Duplicate",
+    learn_ai: "Aprender IA",
+    create_ai: "Criar IA",
+    learn_with_ai: "Aprender com IA",
+    create_with_ai: "Criar com IA",
+    edit: "Editar",
+    delete: "Excluir",
+    duplicate: "Duplicar",
📝 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.

    learn_ai: "Aprender IA",
    create_ai: "Criar IA",
    learn_with_ai: "Aprender com IA",
    create_with_ai: "Criar com IA",
    name_conflict: "Name Conflict, please choose a different name",
    edit: "Editar",
    delete: "Excluir",
    duplicate: "Duplicar",
    use_as_a_template: "Use as a Template",
app/locale/gl.js (3)

1520-1521: ⚠️ Potential issue

New features require translations

Several new features have been added but their strings are commented out:

  1. Code format options (blocks with icons)
  2. Programming language settings
  3. AI HackStack integration
  4. License management

These strings should be translated to Galician instead of being commented out.

Would you like me to help generate the Galician translations for these new features?

Also applies to: 1754-1754, 1778-1778, 1798-1798, 1818-1822


2019-2021: ⚠️ Potential issue

Platform integration strings need translation

New platform integration features are added but commented out:

  1. Roblox account connection
  2. Practice levels visibility
  3. License activation
  4. AI League registration

These should be translated to maintain consistency in the user experience.

Also applies to: 2874-2875, 4722-4722, 4952-4952


5441-5443: ⚠️ Potential issue

AI features and UI controls need translation

New AI-related features and UI controls are added but commented out:

  1. AI HackStack introduction
  2. Course management controls (Edit, Delete, Duplicate)
  3. Exam timer and controls

These strings should be translated to provide a complete Galician experience.

Consider implementing a translation workflow that:

  1. Extracts new strings
  2. Sends them to translators
  3. Validates the translations
  4. Integrates them back into the locale files

This would help maintain translation quality and completeness across all supported languages.

Also applies to: 5720-5720, 6104-6111, 6397-6403

app/locale/ms.js (4)

1415-1415: ⚠️ Potential issue

Missing translations for AI and programming interface options

New features related to AI support and programming interface options are missing translations:

  • "feature_ai_level_bot"
  • "blocks_icons"
  • "blocks_icons_helptext"

These should be translated to maintain consistency in the Bahasa Malaysia user experience.

Also applies to: 1520-1521


1754-1754: ⚠️ Potential issue

Missing translations for classroom management features

Critical classroom management features are missing translations:

  • Programming language selection
  • Code format options
  • AI HackStack features
  • License management

These features are important for teachers using the Bahasa Malaysia interface.

Also applies to: 1778-1778, 1798-1798, 1818-1822


2019-2021: ⚠️ Potential issue

Inconsistent translation pattern for Roblox integration

While most UI strings are being removed, new Roblox integration strings are being added without translations. This creates an inconsistent user experience.


2874-2875: ⚠️ Potential issue

Missing translations for practice levels and AI features

New features lacking translations:

  • Practice level visibility controls
  • AI League features
  • AI Made Simple & Safe section

These should be translated to maintain a consistent localized experience.

Also applies to: 4722-4722, 4952-4952, 5441-5443

app/locale/nl-BE.js (2)

5763-5763: ⚠️ Potential issue

Replace placeholder content

The FAQ answer contains a placeholder "TBA" (To Be Announced). This should be replaced with actual content before deployment.


1391-1399: 💡 Codebase verification

Translations need to be updated for consistency across locales

The verification reveals inconsistencies in the subscription feature translations:

  • The English (en.js) source has "Play 600+ levels" while many translated versions mention "300+ levels" (e.g., nl.js, fr.js, pt-BR.js)
  • Some translations are AI-generated (marked with [AI_TRANSLATION])
  • Several locales have these strings commented out, including nl-BE.js

The nl-BE.js translations should be uncommented and aligned with the latest English source (600+ levels).

🔗 Analysis chain

Review subscription-related translations

The commented-out translations for premium features and pricing could affect the Dutch-speaking users' ability to understand subscription benefits and pricing details.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if these subscription translations exist in other locale files
rg "subscribe_to_premium:|feature_level_access:|feature_heroes:" app/locale/

Length of output: 15188

app/locale/ca.js (2)

598-598: ⚠️ Potential issue

Missing translation for core UI element

The string "choose_your_adventure" appears to be a key UI element but lacks a Catalan translation while surrounding strings are commented out. This could affect the user experience for Catalan users.

Consider adding the Catalan translation for this string. A suggested translation could be "Tria la teva aventura" to maintain consistency with the informal tone used in other translations.


1391-1399: ⚠️ Potential issue

Incomplete subscription feature translations

Several important subscription-related strings are missing translations:

  • "subscribe_to_premium"
  • "feature_languages"
  • "feature_aiyouth"
  • "feature_gems"
  • "feature_all_products"
  • "feature_products"

This could impact users' understanding of premium features and make the subscription process less clear for Catalan users.

Consider prioritizing the translation of these strings as they are critical for the monetization flow. Would you like me to help create a tracking issue for these missing translations?

app/locale/de-AT.js (1)

5441-5443: 💡 Codebase verification

AI translations need to be uncommented and translated

The search results show that the AI-related translations (ai_made_ss and aiss_body) are present but commented out in almost all locale files (indicated by //), except for en.js and rot13.js. These translations need to be:

  • Uncommented in all locale files
  • Properly translated to each respective language instead of keeping the English text
🔗 Analysis chain

Verify AI feature translations

The AI-related translations (AI HackStack, AI Made Simple & Safe) are crucial new features that need complete and accurate translations.

Let's verify the AI feature translations across locales:

Also applies to: 5720-5720

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify AI feature translations across all locale files
# Expected: All locale files should have these new AI-related translations

# Search for AI-related translations
echo "Checking AI feature translations..."
rg "ai_made_ss|aiss_body|header_details.*AI HackStack" app/locale/

Length of output: 25253

app/locale/el.js (5)

598-598: ⚠️ Potential issue

Missing translations for core UI elements

Several important UI strings have been commented out without Greek translations being provided:

  • "age_description_codecombat"
  • "age_description_codecombat_junior"
  • "want_more_hints"
  • "choose_your_adventure"

These appear to be core UI elements that Greek users would need to understand.

Please provide Greek translations for these strings to maintain a complete user experience for Greek users.


1391-1399: ⚠️ Potential issue

Inconsistent translation coverage for premium features

There's a mix of translated and untranslated premium feature descriptions:

  • Translated: level access, heroes, learn features
  • Untranslated: premium subscription, language support, AI youth, gems, product features

This inconsistency could create a confusing user experience for Greek users.

Please provide Greek translations for all premium feature descriptions to maintain a consistent language experience.


1520-1521: ⚠️ Potential issue

Missing translations for code format options

Critical UI elements for selecting code formats are untranslated:

  • "blocks_icons"
  • "blocks_icons_helptext"

These are essential for users to understand different coding modes, especially for the Junior product.

Please provide Greek translations for these code format options to ensure Greek users can make informed choices about their coding experience.


1798-1798: ⚠️ Potential issue

Missing translations for new AI HackStack feature

The new AI HackStack feature descriptions are not translated to Greek. This includes:

  • AI HackStack introduction
  • Learning scenarios description
  • Information about AI models (ChatGPT, Claude, DALL-E)

Since this appears to be a major new feature, it should be properly localized for Greek users.

Please provide Greek translations for the AI HackStack feature content to ensure Greek users can fully understand and utilize this new functionality.


5441-5443: ⚠️ Potential issue

Missing translations for AI feature marketing content

Marketing content for AI features lacks Greek translations:

  • "ai_made_ss"
  • "aiss_body"
  • "learn_more"

This content appears to be crucial for promoting AI features to Greek users.

Please provide Greek translations for these marketing messages to effectively communicate the value of AI features to Greek users.

app/locale/ar.js (5)

598-598: ⚠️ Potential issue

Missing translations for key product descriptions.

The strings for age_description_codecombat and age_description_codecombat_junior are commented out, indicating missing translations for important product descriptions. These should be translated to provide a complete Arabic language experience.

Would you like me to help generate appropriate Arabic translations for these product descriptions?


1798-1798: ⚠️ Potential issue

Verify technical AI terminology translations.

The translations for AI-related features (HackStack, ChatGPT, Claude, DALL-E) need review to ensure:

  1. Technical terms are appropriately handled in Arabic
  2. Product names remain in English where appropriate
  3. The meaning of "generative AI" is accurately conveyed

1818-1822: ⚠️ Potential issue

Add missing translations for system messages.

Several important system messages remain untranslated:

  • Course description
  • Junior code format information
  • License activation messages

These messages are critical for user interaction and should be translated.

Would you like me to help generate appropriate Arabic translations for these system messages?


2019-2021: 🛠️ Refactor suggestion

Review translation formality level.

The Arabic translation for the Roblox disconnect confirmation uses very informal language ("عايز"). Consider using more formal Arabic for a professional application, such as "هل أنت متأكد أنك تريد".


1391-1399: 💡 Codebase verification

⚠️ Potential issue

Machine translations require adjustments for better Arabic localization

The Arabic translations need improvements in the following areas:

  • Currency format in month_price should use Arabic numerals and RTL formatting: '$price/mo' → 'price$ شهرياً'
  • Gems format in feature_gems should maintain consistency with other RTL languages like Hebrew and use Arabic numerals
  • Some strings remain untranslated (feature_aiyouth, feature_all_products) while others have placeholder translations

The current translations follow English formatting patterns too closely, which is not ideal for Arabic localization. A native speaker should review and adjust these translations to follow proper Arabic language conventions.

🔗 Analysis chain

Verify machine translations and currency formatting.

The translations marked with '[AI_TRANSLATION]' need human verification, particularly:

  1. Currency formatting in month_price and first_month_price
  2. Numerical expressions in feature_gems
  3. Product feature descriptions

Additionally, some strings remain untranslated (e.g., feature_aiyouth, feature_all_products).


Let me analyze the currency formatting patterns across the locale files to verify the Arabic translations.

Let me check the gems-related translations to ensure consistency in numerical expressions before making a final determination.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for consistency in currency formatting across other language files
rg -g '*.js' -A 1 'month_price.*\$' app/locale/

Length of output: 18297


Script:

#!/bin/bash
# Check for numerical expressions with __gems__ in locale files
rg -g '*.js' -A 1 'feature_gems.*__gems' app/locale/

Length of output: 15616

app/locale/id.js (2)

5720-5720: ⚠️ Potential issue

Add missing translations for key features

Several important features are missing Indonesian translations:

  1. AI HackStack features and descriptions
  2. Exam functionality (timer, permissions, submission)
  3. Course management UI elements (edit, delete, duplicate)
  4. AI learning and creation sections

These should be prioritized to ensure a consistent user experience for Indonesian users.

Would you like me to help create a tracking issue for these missing translations?

Also applies to: 5763-5763, 6104-6111, 6397-6403


2019-2019: 🛠️ Refactor suggestion

Maintain consistent language formality

The translations switch between formal ("Anda") and informal ("kamu") forms of address. For example:

  • Line 2019: "akun kamu" (informal)
  • Line 2021: similar context but different formality

Consider standardizing the level of formality throughout the translations to maintain a consistent tone.

Also applies to: 2021-2021

app/locale/es-419.js (1)

1521-1521: ⚠️ Potential issue

Critical UI elements need human verification

These block-related UI strings are core interface elements and should be carefully reviewed by a native speaker to ensure they convey the correct meaning and maintain consistency with the UI design.

app/locale/uk.js (1)

1391-1399: ⚠️ Potential issue

Standardize placeholder usage and verify translations

Several issues found in this section:

  1. Inconsistent placeholder format: __gems__, __gems12__, __ціну__ (using Cyrillic)
  2. Multiple strings are marked as AI-translated and need verification
  3. The price placeholder in month_price_without_currency is translated to Cyrillic which might cause runtime issues

Please standardize the placeholders and verify translations:

-      feature_gems: '[AI_TRANSLATION]Заробляйте __gems__ самоцвітів/міс (__gems12__ самоцвітів/рік)',
+      feature_gems: 'Заробляйте __gems__ самоцвітів/міс (__gems__ самоцвітів/рік)',
-      month_price_without_currency: '[AI_TRANSLATION]__ціну__/міс',
+      month_price_without_currency: '__price__/міс',

Committable suggestion skipped: line range outside the PR's diff.

app/locale/vi.js (1)

2019-2024: ⚠️ Potential issue

Ensure complete translation coverage for Roblox integration

While some Roblox-related strings are translated, others remain commented out. For a consistent user experience, ensure all related strings are translated:

  • ✅ Basic connection messages
  • ❌ Missing student-specific messages
app/locale/hu.js (1)

1818-1822: ⚠️ Potential issue

Add missing translations for system messages

Several important system messages remain untranslated:

  • "initial_free_courses_description"
  • "junior_code_format_only"
  • "hackstack_no_code_language_format"
  • "licenses_activated_success"
  • "license_code_used"

These strings should be translated to maintain a consistent Hungarian interface.

app/locale/ur.js (1)

1391-1399: ⚠️ Potential issue

Critical: Verify subscription and pricing transla 6DB6 tions

These translations are for critical user-facing content related to subscriptions and pricing. Machine translations might not capture the nuanced marketing message correctly.

Please prioritize having these reviewed by a native Urdu speaker, especially:

  • Premium feature descriptions
  • Pricing information
  • Subscription terms
app/locale/it.js (2)

1818-1822: ⚠️ Potential issue

Translate critical system messages

Several important system messages remain untranslated:

  • License activation success message
  • License code usage notification
  • Course and format descriptions

These messages are critical for user feedback and should be prioritized for translation.


2019-2021: 🛠️ Refactor suggestion

Complete Roblox integration translations

While the basic Roblox connection messages are translated, student-specific messages remain untranslated. These should be translated to maintain a consistent experience for all users.

@smallst smallst merged commit 02761df into master Nov 20, 2024
2 checks passed
@smallst smallst deleted the yuqiang/fix-locale-jasmine branch November 20, 2024 08:26
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.

1 participant
0