-
Notifications
You must be signed in to change notification settings - Fork 6
New Crowdin updates #609
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
base: develop
Are you sure you want to change the base?
New Crowdin updates #609
Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughAdds and updates i18n entries across many locale JSONs: DM-privacy texts and warnings, post-deletion strings, wallet "convert" label, a multi-step add-keys workflow, Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
apps/web/src/features/i18n/locales/es-ES.json (1)
1134-1134: Updaterc-info.learn-moreto use internal FAQ anchor—inconsistency with 20+ other locale files.The
rc-info.learn-morefield in bothes-ES.jsonanden-US.json(line 1134) still points to the external URLhttps://docs.ecency.com/hive/resource-credits/, while 20+ other locale files have already been updated to/faq#what-are-rc. This should be:- "learn-more": "https://docs.ecency.com/hive/resource-credits/", + "learn-more": "/faq#what-are-rc",Affected files:
es-ES.jsonanden-US.json.
🤖 Fix all issues with AI agents
In @apps/web/src/features/i18n/locales/de-DE.json:
- Line 1134: The "learn-more" translation entry contains a typo in its FAQ
fragment; change the value from "/faq#was-are-rc" to "/faq#what-are-rc" so the
anchor matches the FAQ section key (refer to the "learn-more" key and the
fragment portion of its string).
In @apps/web/src/features/i18n/locales/hi-IN.json:
- Line 1134: The value for the localization key "rc-info.learn-more" currently
uses Hindi Unicode text as a URL and should be replaced with the standard route
used by other locales; update the string value for "rc-info.learn-more" to
"/faq#what-are-rc" (ensuring valid JSON quoting/escaping) so the link resolves
correctly in the app.
In @apps/web/src/features/i18n/locales/ja-JP.json:
- Line 299: The translation value for sign-up.learn-more contains an empty
anchor and a stray "format@@2"; update the "learn-more" string (key:
sign-up.learn-more) to include visible Japanese anchor text and remove the
artifact so it mirrors other locales (e.g., use "<a
href=\"/faq#how-to-join\">FAQ</a> のメリットについての詳細はこちら" or similar Japanese link
text), leaving rc-info.learn-more unchanged. Ensure the updated string keeps the
same URL ("/faq#how-to-join"), has meaningful link text, and has no leftover
"format@@2" artifact.
In @apps/web/src/features/i18n/locales/lt-LT.json:
- Line 299: Replace the English "FAQ" link text in the "learn-more" translation
entry with the Lithuanian equivalent used elsewhere; edit the value for the
"learn-more" key so the anchor text is either "Dažniausiai užduodami klausimai"
or the established abbreviation "DUK" (matching other occurrences in the file)
while keeping the href "/faq#how-to-join" unchanged.
In @apps/web/src/features/i18n/locales/zh-CN.json:
- Line 1134: The "learn-more" translation value contains an invalid space in the
URL fragment ("#what are-rc") which breaks navigation; update the value for the
"learn-more" key in the zh-CN locale to use the hyphenated anchor "#what-are-rc"
(so the string becomes "/faq#what-are-rc") to match the component and other
locales.
🧹 Nitpick comments (3)
apps/web/src/features/i18n/locales/de-DE.json (1)
299-299: Consider format consistency between learn-more linksLine 299 uses full HTML markup with an anchor tag, while line 1134 uses a plain URL path. For consistency and maintainability, consider using the same format for both entries. If the application handles link rendering differently based on context, this may be intentional—otherwise, standardizing the format would improve consistency.
Also applies to: 1134-1134
apps/web/src/features/i18n/locales/it-IT.json (1)
1133-1135: Consider standardizing link format for consistency.The change to an internal FAQ anchor (
/faq#what-are-rc) works correctly. However, there's an inconsistency in approach compared to line 299:
- Line 299 uses a complete self-contained string:
"Leggi di più... <a href=\"/faq#how-to-join\">FAQ</a>"- Line 1134 provides only the URL path, relying on surrounding keys (lines 1133, 1135) to construct the complete sentence
While both approaches are functional, standardizing to one pattern would improve maintainability and make the localization file more consistent.
♻️ Optional: Standardize to self-contained format
If you want consistency with line 299's approach:
- "check-faq": "Scopri di più su RC nel nostro", - "learn-more": "/faq#what-are-rc", - "faq-link": "Domande frequenti", + "check-faq": "Scopri di più su RC nelle nostre <a href=\"/faq#what-are-rc\">FAQ</a>",Alternatively, keep the current approach if the UI component design specifically requires separate keys.
apps/web/src/features/i18n/locales/tr-TR.json (1)
294-303: Consider addingclass="push-link"to the new internal FAQ link to avoid full page reloads (if your router relies on it).If Ecency uses
push-linkto enable client-side navigation (seems likely given other strings in this file), it’s worth aligning here too.Proposed change
- "learn-more": "<a href=\"/faq#how-to-join\">SSS</a> sayfamızdan avantajlar hakkında detaylı bilgi edinebilirsiniz", + "learn-more": "<a class=\"push-link\" href=\"/faq#how-to-join\">SSS</a> sayfamızdan avantajlar hakkında detaylı bilgi edinebilirsiniz",
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (23)
apps/web/src/features/i18n/locales/ac-ace.jsonapps/web/src/features/i18n/locales/bg-BG.jsonapps/web/src/features/i18n/locales/de-DE.jsonapps/web/src/features/i18n/locales/es-ES.jsonapps/web/src/features/i18n/locales/fr-FR.jsonapps/web/src/features/i18n/locales/hi-IN.jsonapps/web/src/features/i18n/locales/id-ID.jsonapps/web/src/features/i18n/locales/it-IT.jsonapps/web/src/features/i18n/locales/ja-JP.jsonapps/web/src/features/i18n/locales/lt-LT.jsonapps/web/src/features/i18n/locales/nl-NL.jsonapps/web/src/features/i18n/locales/pcm-NG.jsonapps/web/src/features/i18n/locales/pl-PL.jsonapps/web/src/features/i18n/locales/pt-PT.jsonapps/web/src/features/i18n/locales/ru-RU.jsonapps/web/src/features/i18n/locales/sr-CS.jsonapps/web/src/features/i18n/locales/th-TH.jsonapps/web/src/features/i18n/locales/tr-TR.jsonapps/web/src/features/i18n/locales/uk-UA.jsonapps/web/src/features/i18n/locales/ur-PK.jsonapps/web/src/features/i18n/locales/uz-UZ.jsonapps/web/src/features/i18n/locales/yo-NG.jsonapps/web/src/features/i18n/locales/zh-CN.json
🔇 Additional comments (35)
apps/web/src/features/i18n/locales/ru-RU.json (1)
299-299: No issues found. The different formats for these translation keys are intentional and necessary based on their usage:
- sign-up.learn-more (line 299) includes full HTML because the
Tsxcomponent renders it as HTML content:<Tsx k="sign-up.learn-more"><div className="form-faq" /></Tsx>- rc-info.learn-more (line 1134) contains only the URL path because it's used as an
hrefattribute, with the link text sourced from a separate translation key:<a href={i18next.t("rc-info.learn-more")}>{i18next.t("rc-info.faq-link")}</a>No standardization is needed—each format is correct for its context.
Likely an incorrect or invalid review comment.
apps/web/src/features/i18n/locales/ja-JP.json (1)
1133-1135:rc-info.learn-morelooks OK—verify the consumer treats it as an internal route and the anchor exists.If the UI previously treated this value as an external URL (e.g., opens in new tab, adds
rel, etc.), ensure/faq#what-are-rcstill behaves correctly.apps/web/src/features/i18n/locales/bg-BG.json (2)
1134-1134: Verify that the FAQ anchor/faq#what-are-rcexists and is consistent across all locale files.The link now points to
/faq#what-are-rc. Please ensure:
- The anchor ID
what-are-rcexists in the FAQ page implementation- All 24 locale files in this PR have been updated consistently with this link value
299-299: The anchor reference is valid and correctly implemented.The link to
/faq#how-to-joinreferences a FAQ key that is properly defined inapps/web/src/consts/faq-keys-general.tsand will be correctly rendered as an anchor by the FAQ page component (faq-category-stateless.tsx). The change is safe to merge.apps/web/src/features/i18n/locales/yo-NG.json (2)
1134-1134: The FAQ anchor#what-are-rcexists and is properly implemented. The URL/faq#what-are-rcis correct. Each FAQ item in the page is rendered with anidattribute matching its key (e.g.,<div id="what-are-rc">) as defined infaq-keys-general.ts, so no broken links will occur.
299-299: No action needed. The FAQ anchor#how-to-joinis properly defined in the application. The FAQ page renders this section withid="how-to-join"(fromfaqKeysGeneralarray), and the locale file contains the corresponding translation keys (how-to-join-headerandhow-to-join-body). The link update is correct and will not result in broken anchors.apps/web/src/features/i18n/locales/pcm-NG.json (2)
299-299: LGTM! Internal FAQ link correctly formatted.The update to redirect from an external documentation URL to the internal FAQ anchor
/faq#how-to-joinis implemented correctly. The corresponding FAQ section exists in this locale file (line 2264:how-to-join-header), and the anchor ID is properly generated by the FAQ system through the faqKeysGeneral array and faq-category-stateless component.
1134-1134: Internal FAQ anchor updated correctly for pcm-NG.json.The change to
/faq#what-are-rcat line 1134 is correct. The path string is used programmatically with surrounding context strings (lines 1133 and 1135: "Learn more about RC in our" + link + "FAQ"), and the corresponding FAQ section exists at line 2284.However, note that consistency across locale files is not uniform: 17 files use
/faq#what-are-rc, while en-US and es-ES use external docs URLs (https://docs.ecency.com/hive/resource-credits/), and 5 other locales use localized FAQ anchors (some with potential formatting issues like zh-CN's/faq#what are-rc). Verify whether this mixed approach is intentional.apps/web/src/features/i18n/locales/pt-PT.json (2)
1134-1134: No issues found. The format difference between line 1134 and line 299 is intentional—line 299 uses HTML markup for full sentence context, while line 1134 uses a plain path format for direct FAQ anchor linking. This pattern is consistent across all locale files. The Portuguese anchoroque-sao-cris also intentional localization, correctly translating the English "what-are-rc" to Portuguese terminology.
299-299: No action needed — the FAQ anchor/faq#how-to-joinis properly defined in the FAQ configuration and will function correctly for Portuguese users.apps/web/src/features/i18n/locales/zh-CN.json (1)
299-299: LGTM: Internal FAQ link properly formatted.The update from external documentation URL to internal FAQ anchor is correctly implemented with proper HTML markup and valid anchor syntax using hyphens.
apps/web/src/features/i18n/locales/es-ES.json (1)
299-299: LGTM! Internal FAQ link correctly updated.The
sign-up.learn-morefield has been properly updated to point to the internal FAQ anchor/faq#how-to-joininstead of external documentation. The HTML structure and Spanish translation are correct.apps/web/src/features/i18n/locales/uz-UZ.json (2)
1133-1135: No issues found — the anchor/faq#what-are-rcis properly generated and used.The FAQ page generates dynamic
idattributes from the key names (confirmed in page.tsx line 65:id={x}), creatingid="what-are-rc"anchors that match the URL in the locale file. Components like rc-info correctly consume this URL as anhrefattribute, not as display text. "what-are-rc" is registered infaqKeysGeneraland the pattern works correctly across all locale files.
299-299: The hardcoded/faq#...paths are appropriate for this app's architecture.The app doesn't use
basePathor locale-prefixed routing (verified innext.config.jsand middleware), so root-relative paths work correctly. Thesign-up.learn-moretranslation properly sanitizes embedded HTML via thesafeHtml()function using thexsslibrary. However, note thatrc-info.learn-more(line 1134) is used as a raw URL in the rc-info component and shows inconsistency across locales:uz-UZuses/faq#what-are-rcwhileen-USandes-ESuse full external URLs likehttps://docs.ecency.com/hive/resource-credits/. Consider standardizing these values across all locale files.Likely an incorrect or invalid review comment.
apps/web/src/features/i18n/locales/sr-CS.json (1)
299-299: No verification needed — both FAQ anchor links are correctly implemented.The links to
/faq#how-to-joinand/faq#what-are-rcare valid. Both FAQ sections (faq.how-to-join.*andfaq.what-are-rc.*) have corresponding entries in the locale files and the FAQ page renders these sections with matching anchor IDs. The changes are safe to merge.apps/web/src/features/i18n/locales/id-ID.json (2)
1134-1134: The FAQ anchor and code usage are both correct.The value
/faq#what-are-rcproperly references the FAQ page anchor, which is dynamically generated withid="what-are-rc"when the FAQ renders the corresponding question. The code inrc-info/index.tsxcorrectly applies this translation to thehrefattribute usingi18next.t(), and the plain string format is appropriate for this use case.
299-299: Confirm that the FAQ page contains the anchor#how-to-join.The translation now links to
/faq#how-to-join. Ensure this anchor exists on the FAQ page; otherwise, users clicking this link will encounter a broken anchor reference.apps/web/src/features/i18n/locales/nl-NL.json (2)
1134-1134: LGTM!The anchor
#what-are-rcis properly implemented in the FAQ page and the internal link is correct. The change is consistent with the overall approach across all locale files.
299-299: LGTM! The change to use an internal FAQ link is good for maintainability. The Dutch translation reads naturally. The anchor#how-to-joinis properly implemented in the FAQ page via the dynamicid={x}rendering inpage.tsx, so the link will work correctly.apps/web/src/features/i18n/locales/pl-PL.json (2)
1116-1136:rc-info.learn-morelooks consistent; just ensure the FAQ anchor stays stable.Line 1134 switches to a local
"/faq#what-are-rc"anchor; looks fine assuming the FAQ section IDs are stable and match this slug.
294-303: No issues found. The implementation is correct:
- HTML rendering is safe: The
Tsxcomponent (used on line 238) sanitizes all HTML strings via thexsslibrary with a whitelist that includes<a>tags withhref,class,target, andrelattributes.- FAQ anchors exist: Both
how-to-joinandwhat-are-rcare confirmed in thefaqKeysGeneralarray and will be set asidattributes on FAQ items.- basePath not configured: Next.js
basePathis not set, so the hardcoded/faq#...paths work correctly.apps/web/src/features/i18n/locales/fr-FR.json (2)
1134-1134: The FAQ anchor is valid.The link to
/faq#what-are-rcis confirmed. The FAQ key "what-are-rc" is documented in the FAQ system and used consistently across all language locales in the codebase.
299-299: Good change. The internal FAQ link at line 299 is correct. The#how-to-joinanchor is properly defined in the FAQ system through thefaqKeysGeneralconstant and is generated by the FAQ category component. The French translation is accurate.apps/web/src/features/i18n/locales/it-IT.json (1)
299-299: LGTM! Well-structured localization with internal link.The Italian translation is clear and grammatically correct. The use of an internal FAQ anchor (
/faq#how-to-join) instead of an external documentation link improves navigation and keeps users within the application.apps/web/src/features/i18n/locales/uk-UA.json (2)
1134-1134: No changes required. The format difference between line 299 and line 1134 is intentional: line 299 contains translatable HTML text for the signup screen, while line 1134 is a plain URL path used programmatically in the insufficient-resource-credits modal. The FAQ anchor#what-are-rcis properly defined in the FAQ structure and referenced correctly in the codebase. This pattern is consistent across all locale files.
299-299: This change is correct and requires no updates.The link
/faq#how-to-joinis valid. The FAQ key"how-to-join"exists in the FAQ keys list and maps to an anchor ID in the FAQ page. The non-localized path is intentional—the application uses i18next for content localization rather than URL-based locale prefixes. TheFaqSearchListenercomponent properly handles hash-based navigation to scroll to the correct anchor.apps/web/src/features/i18n/locales/ur-PK.json (2)
299-299: LGTM! Internal FAQ link properly formatted.The HTML anchor tag is correctly structured with proper escaping, and the internal FAQ path
/faq#how-to-joinfollows the correct format for in-page navigation.
1134-1134: Format difference is intentional by design.The
rc-info.learn-morefield contains only a URL path (/faq#what-are-rc) because it's used as thehrefattribute in the code (line 180 ofrc-info/index.tsx):<a href={i18next.t("rc-info.learn-more")}>{i18next.t("rc-info.faq-link")}</a>The three fields work together:
check-faqprovides introductory text,learn-moreis the URL, andfaq-linkis the link text. This is a deliberate separation from thesign-up.learn-morepattern (which embeds complete HTML) to allow flexible URL management without HTML parsing in the locale files.apps/web/src/features/i18n/locales/th-TH.json (2)
299-299: LGTM!The internal FAQ anchor
/faq#how-to-joinis correctly formatted and corresponds to the existing FAQ entry (how-to-join-header/how-to-join-body) in this locale file.
1134-1134: LGTM!The internal FAQ anchor
/faq#what-are-rcis correctly formatted and corresponds to the existing FAQ entry (what-are-rc-header/what-are-rc-body) in this locale file.apps/web/src/features/i18n/locales/lt-LT.json (1)
1134-1134: No changes required. The anchor#what-are-rcis valid and properly referenced throughout the codebase. The format at line 1134 ("/faq#what-are-rc") is intentional—it's used as a URL path in programmatic navigation (e.g.,window.open("/faq#what-are-rc", "_blank")), whereas line 299 uses embedded HTML for direct DOM insertion. This is not an inconsistency but correct usage based on context.apps/web/src/features/i18n/locales/tr-TR.json (1)
1116-1136: The FAQ anchors#what-are-rcand#how-to-joinare correctly implemented.Both anchors are included in the
faqKeysGeneralarray (apps/web/src/consts/faq-keys-general.ts) and the FAQ page dynamically generates HTML element IDs from these keys. Thefaq-anchor-listener.tsxcomponent handles hash-based scroll navigation. The i18n keys referencing these URLs will work as expected.apps/web/src/features/i18n/locales/hi-IN.json (1)
299-299: LGTM: Internal FAQ link correctly formatted.The change from external documentation URL to internal FAQ anchor (
/faq#how-to-join) is properly implemented with valid URL format.apps/web/src/features/i18n/locales/ac-ace.json (2)
1134-1134: Anchor is correctly implemented and in use throughout the codebase.The FAQ anchor
#what-are-rcexists and is properly registered infaq-keys-general.ts. The FAQ page component dynamically generates the anchor element by rendering<div id="what-are-rc">when processing the "what-are-rc" key. The locale change at line 1134 is correct and consistent with other locale files using the same pattern.
299-299: Anchor link is correctly implemented.The FAQ page renders each item with an
idattribute matching the FAQ key (line 70 inapps/web/src/app/(staticPages)/faq/page.tsx). Thehow-to-joinkey is registered infaq-keys-general.ts, so the anchor#how-to-joinwill resolve correctly. The HTML structure is properly formatted with escaped quotes.
| "cancel": "Abbrechen", | ||
| "check-faq": "Erfahren Sie mehr über RC in unseren", | ||
| "learn-more": "https://docs.ecency.com/hive/resource-credits/", | ||
| "learn-more": "/faq#was-are-rc", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Critical: Incorrect FAQ anchor fragment identifier
The fragment identifier #was-are-rc contains a typo and will not navigate to the correct FAQ section. The FAQ anchor should be #what-are-rc to match the FAQ section key defined at line 2283.
🐛 Proposed fix
- "learn-more": "/faq#was-are-rc",
+ "learn-more": "/faq#what-are-rc",📝 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-more": "/faq#was-are-rc", | |
| "learn-more": "/faq#what-are-rc", |
🤖 Prompt for AI Agents
In @apps/web/src/features/i18n/locales/de-DE.json at line 1134, The "learn-more"
translation entry contains a typo in its FAQ fragment; change the value from
"/faq#was-are-rc" to "/faq#what-are-rc" so the anchor matches the FAQ section
key (refer to the "learn-more" key and the fragment portion of its string).
| "cancel": "रद्द करना", | ||
| "check-faq": "आरसी के बारे में अधिक जानें", | ||
| "learn-more": "https://docs.ecency.com/hive/resource-credits/", | ||
| "learn-more": "/अक्सर पूछे जाने वाले प्रश्न#आरसी क्या हैं", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# First, let's check if the file exists and examine the content around line 1134
wc -l apps/web/src/features/i18n/locales/hi-IN.jsonRepository: ecency/vision-next
Length of output: 112
🏁 Script executed:
# Check line 1134 and surrounding context
sed -n '1130,1140p' apps/web/src/features/i18n/locales/hi-IN.jsonRepository: ecency/vision-next
Length of output: 576
🏁 Script executed:
# Check what's around line 299 as the review mentions it
sed -n '295,305p' apps/web/src/features/i18n/locales/hi-IN.jsonRepository: ecency/vision-next
Length of output: 819
🏁 Script executed:
# Search for "learn-more" across all locale files to see patterns
rg -n '"learn-more"' apps/web/src/features/i18n/locales/ -B0 -A0Repository: ecency/vision-next
Length of output: 10441
🏁 Script executed:
# Check if there's routing configuration or documentation about URL handling
find apps/web -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.json" \) | xargs grep -l "faq\|learn-more" | head -20Repository: ecency/vision-next
Length of output: 1306
🏁 Script executed:
# Check the rc-info component to see how these learn-more URLs are used
cat -n apps/web/src/app/\(dynamicPages\)/profile/\[username\]/_components/rc-info/index.tsx | head -150Repository: ecency/vision-next
Length of output: 6821
🏁 Script executed:
# Search for how these locale strings are rendered in the app
rg -A3 -B3 "learn-more.*rc-info" apps/web/src/ --type tsx --type tsRepository: ecency/vision-next
Length of output: 89
🏁 Script executed:
# Look for any routing or href handling in the application
rg "href.*learn-more\|learn-more.*href" apps/web/src/ --type tsx --type ts | head -20Repository: ecency/vision-next
Length of output: 89
🏁 Script executed:
# Look for where rc-info.learn-more is used
rg "rc-info\.learn-more" apps/web/src/Repository: ecency/vision-next
Length of output: 236
🏁 Script executed:
# Check the full rc-info component file to see how it renders content
cat -n apps/web/src/app/\(dynamicPages\)/profile/\[username\]/_components/rc-info/index.tsx | tail -100Repository: ecency/vision-next
Length of output: 4078
🏁 Script executed:
# Search for how href links are constructed from locale strings
rg "href.*faq\|faq.*href" apps/web/src/features/i18n/locales/ --type json | head -20Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
# Look for how the app handles these URLs in components
rg "dangerously\|innerHTML\|Link.*learn-more" apps/web/src/ | head -20Repository: ecency/vision-next
Length of output: 44
Fix URL in rc-info.learn-more to use the standard routing path.
The URL uses Hindi Unicode characters (/अक्सर पूछे जाने वाले प्रश्न#आरसी क्या हैं) instead of the application's routing path. This will result in a 404 when users click the link. All other locales use /faq#what-are-rc, which is the actual route in the application.
🐛 Proposed fix
- "learn-more": "/अक्सर पूछे जाने वाले प्रश्न#आरसी क्या हैं",
+ "learn-more": "/faq#what-are-rc",📝 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-more": "/अक्सर पूछे जाने वाले प्रश्न#आरसी क्या हैं", | |
| "learn-more": "/faq#what-are-rc", |
🤖 Prompt for AI Agents
In @apps/web/src/features/i18n/locales/hi-IN.json at line 1134, The value for
the localization key "rc-info.learn-more" currently uses Hindi Unicode text as a
URL and should be replaced with the standard route used by other locales; update
the string value for "rc-info.learn-more" to "/faq#what-are-rc" (ensuring valid
JSON quoting/escaping) so the link resolves correctly in the app.
| "description-2": "Hiveは多くのアプリをサポートし、世界中のコミュニティメンバーによって完全に分散して実行されています。 アカウントでは、エコシステムに直接アクセスできます。", | ||
| "bottom-description": "1つのアカウント、1つのウォレットでブロックチェーン上のすべてを管理できます。", | ||
| "learn-more": "<a href=\"https://docs.ecency.com/guides/create-account/\">FAQ</a> のメリットについての詳細はこちら", | ||
| "learn-more": "<a href=\"/faq#how-to-join\"></a> のメリットについての詳細はこちらformat@@2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
cat -n apps/web/src/features/i18n/locales/ja-JP.json | sed -n '295,305p'Repository: ecency/vision-next
Length of output: 662
🏁 Script executed:
cat -n apps/web/src/features/i18n/locales/ja-JP.json | sed -n '1130,1140p'Repository: ecency/vision-next
Length of output: 528
🏁 Script executed:
rg -n "sign-up\.learn-more" --type jsonRepository: ecency/vision-next
Length of output: 44
🏁 Script executed:
rg -n "sign-up\.learn-more" -A 3 -B 3 --hiddenRepository: ecency/vision-next
Length of output: 569
🏁 Script executed:
rg -n "rc-info\.learn-more" -A 3 -B 3 --hiddenRepository: ecency/vision-next
Length of output: 990
🏁 Script executed:
fd ".*Tsx.*" -t f --hidden | head -5Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
rg -n "component.*Tsx\|export.*Tsx" --type tsx --type tsRepository: ecency/vision-next
Length of output: 89
🏁 Script executed:
find . -type f -name "*faq*" -o -name "*FAQ*" | grep -E "\.(tsx?|json)$"Repository: ecency/vision-next
Length of output: 829
🏁 Script executed:
rg -n "export.*Tsx\|const Tsx" -A 5 --type js --type tsRepository: ecency/vision-next
Length of output: 44
🏁 Script executed:
cat apps/web/src/app/signup/email/_page.tsx | sed -n '230,245p'Repository: ecency/vision-next
Length of output: 705
🏁 Script executed:
find . -path "*/faq/*page*" -type f | head -5Repository: ecency/vision-next
Length of output: 107
🏁 Script executed:
rg -n "import.*Tsx\|from.*Tsx" apps/web/src/app/signup/email/_page.tsxRepository: ecency/vision-next
Length of output: 44
🏁 Script executed:
cat apps/web/src/app/(staticPages)/faq/page.tsx | head -80Repository: ecency/vision-next
Length of output: 207
🏁 Script executed:
rg -n "how-to-join\|what-are-rc" --type jsonRepository: ecency/vision-next
Length of output: 44
🏁 Script executed:
head -50 "apps/web/src/app/signup/email/_page.tsx"Repository: ecency/vision-next
Length of output: 2048
🏁 Script executed:
find . -path "*/staticPages/faq/*" -name "page.tsx" -exec head -100 {} \;Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
rg -n "how-to-join" . --hidden -A 2 -B 2Repository: ecency/vision-next
Length of output: 50374
🏁 Script executed:
rg -n "what-are-rc" . --hidden -A 2 -B 2Repository: ecency/vision-next
Length of output: 50374
🏁 Script executed:
find . -path "*/features/i18n/helper*" -type fRepository: ecency/vision-next
Length of output: 146
🏁 Script executed:
cat -n apps/web/src/features/i18n/helper.tsx 2>/dev/null | head -100Repository: ecency/vision-next
Length of output: 1019
🏁 Script executed:
rg -n "how-to-join\|what-are-rc" --type json -c | head -20Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
find . -path "*staticPages/faq*" -name "*.ts" -o -path "*staticPages/faq*" -name "*.tsx" | head -10Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
rg -n "how-to-join|what-are-rc" --type tsx --type ts | head -30Repository: ecency/vision-next
Length of output: 89
🏁 Script executed:
rg -n "id=.*how-to-join|id=.*what-are-rc" --type tsx --type tsRepository: ecency/vision-next
Length of output: 89
🏁 Script executed:
find . -path "*/faq/*" -name "*.tsx" -exec grep -l "how-to-join\|what-are-rc" {} \;Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
ls -la apps/web/src/app/staticPages/faq/Repository: ecency/vision-next
Length of output: 142
🏁 Script executed:
rg -n "how-to-join-header|what-are-rc-header" apps/web/src/features/i18n/locales/en-US.jsonRepository: ecency/vision-next
Length of output: 180
🏁 Script executed:
cat apps/web/src/app/staticPages/faq/page.tsx | head -150Repository: ecency/vision-next
Length of output: 135
🏁 Script executed:
find . -type f -name "page.tsx" | grep -i faqRepository: ecency/vision-next
Length of output: 107
🏁 Script executed:
find . -type d -name "*faq*" | head -5Repository: ecency/vision-next
Length of output: 160
🏁 Script executed:
head -200 './apps/web/src/app/(staticPages)/faq/page.tsx'Repository: ecency/vision-next
Length of output: 3049
🏁 Script executed:
rg -n "how-to-join|what-are-rc" './apps/web/src/app/(staticPages)/faq/' -A 2 -B 2Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
rg -n "static.faq\." apps/web/src/features/i18n/locales/en-US.json | head -30Repository: ecency/vision-next
Length of output: 44
🏁 Script executed:
cat apps/web/src/app/staticPages/faq/utils/search-within-faq.ts 2>/dev/null || find . -path "*/faq/utils*" -type f -name "*.ts"Repository: ecency/vision-next
Length of output: 177
🏁 Script executed:
cat './apps/web/src/app/(staticPages)/faq/utils/search-within-faq.ts'Repository: ecency/vision-next
Length of output: 626
🏁 Script executed:
cat './apps/web/src/app/(staticPages)/faq/utils/index.ts'Repository: ecency/vision-next
Length of output: 98
🏁 Script executed:
rg -n "faq-keys" -A 50 './apps/web/src/'Repository: ecency/vision-next
Length of output: 337
🏁 Script executed:
cat './apps/web/src/consts/faq-keys-general.ts'Repository: ecency/vision-next
Length of output: 3046
Fix broken sign-up.learn-more translation (empty <a> + leaked format@@2).
Line 299 renders a non-clickable empty anchor with a visible format@@2 artifact string. The Tsx component uses dangerouslySetInnerHTML to render translation values as HTML, so the empty <a href="/faq#how-to-join"></a> provides no visible link text, and format@@2 displays as literal UI text.
Other language files properly include anchor text (e.g., "FAQ" in English, Bulgarian, Chinese). Update ja-JP.json line 299 to match this pattern with proper Japanese link text.
Note: rc-info.learn-more on line 1134 is correctly set to "/faq#what-are-rc" and used as a URL in an href attribute—no change needed there.
Proposed fix
- "learn-more": "<a href=\"/faq#how-to-join\"></a> のメリットについての詳細はこちらformat@@2",
+ "learn-more": "メリットについての詳細は <a href=\"/faq#how-to-join\">こちら</a> をご覧ください。",📝 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-more": "<a href=\"/faq#how-to-join\"></a> のメリットについての詳細はこちらformat@@2", | |
| "learn-more": "メリットについての詳細は <a href=\"/faq#how-to-join\">こちら</a> をご覧ください。", |
🤖 Prompt for AI Agents
In @apps/web/src/features/i18n/locales/ja-JP.json at line 299, The translation
value for sign-up.learn-more contains an empty anchor and a stray "format@@2";
update the "learn-more" string (key: sign-up.learn-more) to include visible
Japanese anchor text and remove the artifact so it mirrors other locales (e.g.,
use "<a href=\"/faq#how-to-join\">FAQ</a> のメリットについての詳細はこちら" or similar Japanese
link text), leaving rc-info.learn-more unchanged. Ensure the updated string
keeps the same URL ("/faq#how-to-join"), has meaningful link text, and has no
leftover "format@@2" artifact.
| "description-2": "Hive powers many apps and is run completely decentralized by community members all around the world. With an account, you have direct access to the ecosystem.", | ||
| "bottom-description": "One account, one wallet to manage everything on Blockchain.", | ||
| "learn-more": "Learn more about benefits in our <a href=\"https://docs.ecency.com/guides/create-account/\">FAQ</a>", | ||
| "learn-more": "Sužinokite daugiau apie privalumus mūsų svetainėje <a href=\"/faq#how-to-join\">FAQ</a>", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# Find FAQ-related files and search for the anchor definition
find . -type f \( -name "*faq*" -o -name "*FAQ*" \) | head -20Repository: ecency/vision-next
Length of output: 910
🏁 Script executed:
# Search for the specific anchor in the codebase
rg -n "how-to-join" --type=tsx --type=ts --type=jsx --type=js 2>/dev/null || echo "Pattern not found in source files"Repository: ecency/vision-next
Length of output: 95
🏁 Script executed:
# Check the full context of lines around 68 and 1134 in the Lithuanian locale file
cat -n apps/web/src/features/i18n/locales/lt-LT.json | sed -n '65,75p;1130,1140p'Repository: ecency/vision-next
Length of output: 1004
🏁 Script executed:
# Search for "DUK" in the Lithuanian locale to understand the localization pattern
rg -n "DUK" apps/web/src/features/i18n/locales/lt-LT.jsonRepository: ecency/vision-next
Length of output: 619
🏁 Script executed:
# Check the FAQ keys file for anchor definitions
cat apps/web/src/consts/faq-keys-general.tsRepository: ecency/vision-next
Length of output: 3046
🏁 Script executed:
# Search for both anchors in all files
rg -n "#how-to-join|#what-are-rc" --no-headingRepository: ecency/vision-next
Length of output: 19898
🏁 Script executed:
# Check FAQ component files for how anchors are defined
cat apps/web/src/app/\(staticPages\)/faq/_components/faq-anchor-listener.tsx | head -50Repository: ecency/vision-next
Length of output: 385
Use the Lithuanian translation for "FAQ" for consistency.
The anchors #how-to-join and #what-are-rc are valid and properly integrated. However, the link text should use the Lithuanian translation already available in the file. Line 68 provides "Dažniausiai užduodami klausimai" (full translation), so replace "FAQ" with this translation or the common abbreviation "DUK" (used elsewhere in the file, e.g., lines 714 and 1954) for consistency with localization practices.
🤖 Prompt for AI Agents
In @apps/web/src/features/i18n/locales/lt-LT.json at line 299, Replace the
English "FAQ" link text in the "learn-more" translation entry with the
Lithuanian equivalent used elsewhere; edit the value for the "learn-more" key so
the anchor text is either "Dažniausiai užduodami klausimai" or the established
abbreviation "DUK" (matching other occurrences in the file) while keeping the
href "/faq#how-to-join" unchanged.
| "cancel": "取消", | ||
| "check-faq": "了解更多关于我们的 RC的信息", | ||
| "learn-more": "https://docs.ecency.com/hive/resourcescredits/", | ||
| "learn-more": "/faq#what are-rc", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
# Check the content at line 1134 in zh-CN.json and surrounding context
cd /repo && head -1140 apps/web/src/features/i18n/locales/zh-CN.json | tail -10Repository: ecency/vision-next
Length of output: 117
🏁 Script executed:
# Also check line 299 for comparison
cd /repo && sed -n '295,305p' apps/web/src/features/i18n/locales/zh-CN.jsonRepository: ecency/vision-next
Length of output: 117
🏁 Script executed:
# Search for learn-more entries with spaces in anchors across locale files
cd /repo && rg '"learn-more".*#.*\s' apps/web/src/features/i18n/locales/ -A 0 -B 1Repository: ecency/vision-next
Length of output: 117
🏁 Script executed:
# Check for the correct anchor format in the FAQ
cd /repo && rg -n 'id="what-are-rc"|name="what-are-rc"|what-are-rc' apps/web/ --type html --type json --type jsx --type tsRepository: ecency/vision-next
Length of output: 117
🏁 Script executed:
# Search for rc-info references to understand the context
cd /repo && rg 'rc-info' apps/web/ --type json -B 2 -A 2 | head -50Repository: ecency/vision-next
Length of output: 117
🏁 Script executed:
# Check the content at line 1134 in zh-CN.json and surrounding context
head -1140 apps/web/src/features/i18n/locales/zh-CN.json | tail -10Repository: ecency/vision-next
Length of output: 398
🏁 Script executed:
# Check line 299 for comparison
sed -n '295,305p' apps/web/src/features/i18n/locales/zh-CN.jsonRepository: ecency/vision-next
Length of output: 528
🏁 Script executed:
# Search for learn-more entries with spaces in anchors across locale files
rg '"learn-more".*#.*\s' apps/web/src/features/i18n/locales/ -A 0 -B 1Repository: ecency/vision-next
Length of output: 2786
🏁 Script executed:
# Check for the correct anchor format in the FAQ
rg -n 'id="what-are-rc"|name="what-are-rc"|what-are-rc' apps/web/ --type html --type jsx --type tsRepository: ecency/vision-next
Length of output: 89
🏁 Script executed:
# Search for rc-info references to understand the context
rg 'rc-info' apps/web/ --type json -B 2 -A 2 | head -50Repository: ecency/vision-next
Length of output: 2991
🏁 Script executed:
# Search for FAQ page files
fd -e html -e jsx -e tsx -e ts 'faq' apps/web/Repository: ecency/vision-next
Length of output: 807
🏁 Script executed:
# Search for what-are-rc or what are-rc anchor definitions
rg 'what-are-rc|what are-rc' apps/web/Repository: ecency/vision-next
Length of output: 44050
🏁 Script executed:
# Check the rc-info.learn-more specifically in zh-CN.json and nearby context
sed -n '1130,1145p' apps/web/src/features/i18n/locales/zh-CN.jsonRepository: ecency/vision-next
Length of output: 575
🏁 Script executed:
# Check hi-IN.json rc-info section for the same issue
rg -A 10 '"rc-info"' apps/web/src/features/i18n/locales/hi-IN.jsonRepository: ecency/vision-next
Length of output: 442
Critical: Invalid space in URL anchor fragment.
The anchor contains a space (#what are-rc) which will break link navigation. The correct anchor format is #what-are-rc (hyphenated), which is confirmed by:
- The component that opens this link:
/faq#what-are-rc - The FAQ anchor key:
what-are-rc - Other locale files using the same link
🔧 Proposed fix
- "learn-more": "/faq#what are-rc",
+ "learn-more": "/faq#what-are-rc",📝 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-more": "/faq#what are-rc", | |
| "learn-more": "/faq#what-are-rc", |
🤖 Prompt for AI Agents
In @apps/web/src/features/i18n/locales/zh-CN.json at line 1134, The "learn-more"
translation value contains an invalid space in the URL fragment ("#what are-rc")
which breaks navigation; update the value for the "learn-more" key in the zh-CN
locale to use the hyphenated anchor "#what-are-rc" (so the string becomes
"/faq#what-are-rc") to match the component and other locales.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
apps/web/src/features/i18n/locales/tr-TR.json (1)
3119-3217:⚠️ Potential issue | 🟡 MinorAdd-keys flow strings need Turkish localization.
All new onboarding/stepper strings are still English.
apps/web/src/features/i18n/locales/lt-LT.json (1)
3119-3217:⚠️ Potential issue | 🟡 MinorLarge untranslated block in Lithuanian locale.
The entire
add-keyssection (~100 lines) containing the multi-step key management workflow is in English. This includes critical security-related messaging (seed phrase warnings, key revocation confirmations, etc.) that should be translated to Lithuanian for proper user comprehension.Given the security-sensitive nature of these strings (seed phrase handling, key management), prioritizing their translation would improve the user experience for Lithuanian users.
apps/web/src/features/i18n/locales/pt-PT.json (1)
2163-2192:⚠️ Potential issue | 🟡 MinorAlign DM privacy message with “followers‑only” meaning.
“pessoas que elas seguem” implies the opposite direction.💡 Suggested fix
- "dm-followers-only": "Só aceita DMs de pessoas que elas seguem", + "dm-followers-only": "Só aceita DMs de seguidores",apps/web/src/features/i18n/locales/ru-RU.json (1)
2163-2192:⚠️ Potential issue | 🟡 MinorClarify DM availability messages.
Two strings read awkwardly in Russian (“СМС” for DMs, missing subject). Suggested neutral, consistent wording:
🛠️ Suggested fix
- "dm-followers-only": "Принимает СМС только от пользователей, за которыми они следуют", - "dm-disabled": "Отключил личные сообщения" + "dm-followers-only": "Принимает ЛС только от подписчиков", + "dm-disabled": "Личные сообщения отключены"
🟡 Minor comments (31)
apps/web/src/features/i18n/locales/es-ES.json-3209-3209 (1)
3209-3209:⚠️ Potential issue | 🟡 MinorFix mistranslation: "Colgar" means "hang", not "Hive".
"Colgar teclas" translates to "Hang keys" which is incorrect. This should be "Claves de Hive" (Hive keys).
✏️ Proposed fix
- "step-hive-keys-title": "Colgar teclas", + "step-hive-keys-title": "Claves de Hive",apps/web/src/features/i18n/locales/es-ES.json-3185-3185 (1)
3185-3185:⚠️ Potential issue | 🟡 MinorFix brand name and formality inconsistency.
Two issues:
- "La Ecencia" should remain as "Ecency" — brand names should not be translated or modified.
- The sentence mixes informal "tú" (
compartas) with formal "usted" (introdúzcala). Should use consistent formality.✏️ Proposed fix
- "warning": "Nunca compartas tu frase de semilla con nadie. La Ecencia nunca la pedirá. Sólo introdúzcala en dispositivos de confianza.", + "warning": "Nunca compartas tu frase de semilla con nadie. Ecency nunca la pedirá. Solo introdúcela en dispositivos de confianza.",apps/web/src/features/i18n/locales/it-IT.json-1322-1325 (1)
1322-1325:⚠️ Potential issue | 🟡 MinorMinor terminology inconsistency.
Line 1323 uses "Accesso" (Italian) while line 1324 uses "Login" (English) for the same concept. Consider using consistent terminology within this block for better UX.
"setup-external": { "login-required": "Accesso richiesto per configurare portafogli esterni", - "import-login-required": "Login richiesto per importare il portafoglio" + "import-login-required": "Accesso richiesto per importare il portafoglio" }apps/web/src/features/i18n/locales/fr-FR.json-1085-1086 (1)
1085-1086:⚠️ Potential issue | 🟡 MinorInconsistent terminology: "MP" vs "DMs".
Line 1085 uses "MP" (French abbreviation for "Message Privé") but line 1086 uses "DMs" (English). For consistency, both should use the same term.
💡 Suggested fix
"dm-followers-only": "MP : suiveurs uniquement", - "dm-disabled": "DMs : désactivé" + "dm-disabled": "MP : désactivé"apps/web/src/features/i18n/locales/tr-TR.json-2163-2166 (1)
2163-2166:⚠️ Potential issue | 🟡 MinorChat DM warning/status strings are not localized.
These additions should be translated for the Turkish locale.
Also applies to: 2189-2192
apps/web/src/features/i18n/locales/tr-TR.json-868-870 (1)
868-870:⚠️ Potential issue | 🟡 MinorEntry/profile strings still English in tr-TR.
Please translate these new strings to keep the locale consistent.
Also applies to: 1084-1086
apps/web/src/features/i18n/locales/tr-TR.json-1321-1325 (1)
1321-1325:⚠️ Potential issue | 🟡 MinorWallet external-setup strings are not localized.
Please translate these new labels for tr-TR.
apps/web/src/features/i18n/locales/tr-TR.json-74-74 (1)
74-74:⚠️ Potential issue | 🟡 MinorTranslate new UI labels for Turkish locale.
These newly added labels are still English; please localize them to Turkish (or confirm English is intentional fallback).
Also applies to: 2868-2868, 3065-3065
apps/web/src/features/i18n/locales/tr-TR.json-1194-1205 (1)
1194-1205:⚠️ Potential issue | 🟡 MinorDM privacy settings block needs Turkish translation.
All newly added strings are English in the Turkish locale.
apps/web/src/features/i18n/locales/lt-LT.json-3065-3065 (1)
3065-3065:⚠️ Potential issue | 🟡 MinorUntranslated string - use existing translation.
The value
"Convert"is in English. The Lithuanian translation"Konvertuoti"already exists at Line 1237 and should be reused here for consistency.apps/web/src/features/i18n/locales/lt-LT.json-74-74 (1)
74-74:⚠️ Potential issue | 🟡 MinorUntranslated string in Lithuanian locale.
The value
"Validating..."is in English. For consistency with the Lithuanian locale, this should be translated (e.g.,"Tikrinama...").apps/web/src/features/i18n/locales/lt-LT.json-868-870 (1)
868-870:⚠️ Potential issue | 🟡 MinorUntranslated strings in Lithuanian locale.
These three new entries are in English and should be translated to Lithuanian:
deleted-contentdeleted-no-historyuntitledapps/web/src/features/i18n/locales/lt-LT.json-1084-1086 (1)
1084-1086:⚠️ Potential issue | 🟡 MinorUntranslated strings in Lithuanian locale.
These new profile-related entries are in English and should be translated to Lithuanian for consistency with the rest of the file.
apps/web/src/features/i18n/locales/lt-LT.json-2163-2166 (1)
2163-2166:⚠️ Potential issue | 🟡 MinorUntranslated DM warning strings in Lithuanian locale.
These new chat/DM warning entries are in English and should be translated to Lithuanian for user safety messaging to be effective for Lithuanian users.
apps/web/src/features/i18n/locales/lt-LT.json-1321-1324 (1)
1321-1324:⚠️ Potential issue | 🟡 MinorUntranslated strings in Lithuanian locale.
The
setup-externalentries are in English and should be translated to Lithuanian.apps/web/src/features/i18n/locales/lt-LT.json-2868-2868 (1)
2868-2868:⚠️ Potential issue | 🟡 MinorUntranslated string in Lithuanian locale.
The
loading-editorvalue is in English and should be translated to Lithuanian.apps/web/src/features/i18n/locales/uz-UZ.json-74-74 (1)
74-74:⚠️ Potential issue | 🟡 MinorConsider localizing the newly added strings for uz-UZ.
Several new entries are still in English, which may lead to mixed-language UI. If full Uzbek coverage is expected for this locale, please translate or explicitly rely on fallback logic rather than mixing languages in-file.
Also applies to: 868-870, 1084-1086, 1194-1205, 1321-1325, 2163-2166, 2189-2192, 2868-2868, 3065-3065, 3120-3120, 3131-3217
apps/web/src/features/i18n/locales/de-DE.json-3131-3217 (1)
3131-3217:⚠️ Potential issue | 🟡 MinorMinor wording fix: “Seed Phrase” → “Seed‑Phrase”.
Keeps terminology consistent and grammatically correct.✏️ Proposed fix
- "warning-title": "Wichtig: Speichere deinen neuen Seed Phrase", + "warning-title": "Wichtig: Speichere deine neue Seed-Phrase",apps/web/src/features/i18n/locales/th-TH.json-74-74 (1)
74-74:⚠️ Potential issue | 🟡 MinorThai locale string is still English.
g.validatingis English in the th-TH file. Consider translating it or removing the key to let the default locale handle it.apps/web/src/features/i18n/locales/uk-UA.json-3175-3175 (1)
3175-3175:⚠️ Potential issue | 🟡 MinorUntranslated English text.
The value
"{{count}} existing key(s)"was not translated to Ukrainian. This will display English text to Ukrainian-speaking users.Suggested fix
- "revoking-count": "{{count}} existing key(s)", + "revoking-count": "{{count}} існуючих ключів",apps/web/src/features/i18n/locales/pt-PT.json-3172-3174 (1)
3172-3174:⚠️ Potential issue | 🟡 MinorRemove duplicate “ativo” in the key list.
The list should not repeat the active key.💡 Suggested fix
- "new-bip44-keys": "Novas chaves BIP44 baseadas em semente (proprietário, ativo, ativo, postagem, memo)", + "new-bip44-keys": "Novas chaves BIP44 baseadas em semente (proprietário, ativo, postagem, memo)",apps/web/src/features/i18n/locales/pt-PT.json-1195-1201 (1)
1195-1201:⚠️ Potential issue | 🟡 MinorClarify the “followers‑only” option wording.
Current text reads as “people I follow,” which is the inverse of “followers.”💡 Suggested fix
- "followers-only": "Somente pessoas que sigo", + "followers-only": "Somente seguidores",apps/web/src/features/i18n/locales/pt-PT.json-1084-1086 (1)
1084-1086:⚠️ Potential issue | 🟡 MinorFix the “DMs” label typo (“Dados”).
“Dados” changes the meaning; this label should reference DMs like the line above.💡 Suggested fix
- "dm-disabled": "Dados: desativado" + "dm-disabled": "DMs: desativadas"apps/web/src/features/i18n/locales/zh-CN.json-3156-3162 (1)
3156-3162:⚠️ Potential issue | 🟡 MinorTranslate
selected-countstring.Line 3160 is still English.
🔧 Suggested translation
- "selected-count": "{{count}} key(s) selected for revocation", + "selected-count": "已选择撤销 {{count}} 个密钥",apps/web/src/features/i18n/locales/zh-CN.json-868-870 (1)
868-870:⚠️ Potential issue | 🟡 MinorLocalize the new deletion message.
Line 868 is still English, which breaks zh-CN consistency.
🔧 Suggested translation
- "deleted-content": "This post was deleted by {{author}}", + "deleted-content": "此帖子已被 {{author}} 删除",apps/web/src/features/i18n/locales/zh-CN.json-2189-2192 (1)
2189-2192:⚠️ Potential issue | 🟡 MinorLocalize
dm-not-allowedmessage.Line 2190 is still English.
🔧 Suggested translation
- "dm-not-allowed": "@{{username}} doesn't accept messages from you", + "dm-not-allowed": "@{{username}} 不接受来自你的私信",apps/web/src/features/i18n/locales/bg-BG.json-74-74 (1)
74-74:⚠️ Potential issue | 🟡 MinorLocalize new English strings in bg-BG.
g.validating(and other newly added strings below) are still English. Please translate them for Bulgarian users.apps/web/src/features/i18n/locales/bg-BG.json-300-300 (1)
300-300:⚠️ Potential issue | 🟡 MinorFix a likely typo in the Bulgarian text.
“ползвите” should likely be “ползите”.✏️ Suggested fix
- "learn-more": "Научете повече за ползвите от нашите <a href=\"/faq#how-to-join\">Често Задавани Въпроси</a>", + "learn-more": "Научете повече за ползите от нашите <a href=\"/faq#how-to-join\">Често Задавани Въпроси</a>",apps/web/src/features/i18n/locales/ru-RU.json-1140-1140 (1)
1140-1140:⚠️ Potential issue | 🟡 MinorFix the FAQ anchor to avoid a broken jump.
/faq#что-are-rcis likely not a valid section id; the FAQ section header iswhat-are-rc, so the anchor should match it.🛠️ Suggested fix
- "learn-more": "/faq#что-are-rc", + "learn-more": "/faq#what-are-rc",apps/web/src/features/i18n/locales/ru-RU.json-1084-1086 (1)
1084-1086:⚠️ Potential issue | 🟡 MinorUse consistent “ЛС” terminology for DM status.
dm-disableduses “DMs”, while other strings use “ЛС”. Suggest normalizing to avoid mixed-language UI.🛠️ Suggested fix
- "dm-disabled": "DMs: отключено" + "dm-disabled": "ЛС: отключены"apps/web/src/features/i18n/locales/ru-RU.json-3139-3189 (1)
3139-3189:⚠️ Potential issue | 🟡 MinorFix typos/garbled text in the add‑keys flow.
Several strings contain errors that will surface directly to users (garbled phrase, grammar, brand name).
🛠️ Suggested fix
- "info2": "Вы можете держать несколько наборов клавиш активными одновременно", + "info2": "Вы можете держать несколько наборов ключей активными одновременно", ... - "error-credentials-not-match": "Предоставленные учетные данные не совпадают с этой учетной записью. Пожалуйста, проверьте ваш мастер-пароль, ключ ключа ключа ключа seed.", + "error-credentials-not-match": "Предоставленные учетные данные не совпадают с этой учетной записью. Проверьте мастер‑пароль, ключ владельца или seed‑фразу.", ... - "next-skip": "Продолжить без отозвать", + "next-skip": "Продолжить без отзыва", - "memo-will-replace": "Новый ключ будет заменен этим", + "memo-will-replace": "Этот ключ будет заменён новым", ... - "warning": "Никогда не делитесь вашей seed фразой с кем угодно. Экции никогда не запросит ее. Введите её только на доверенных устройствах.", + "warning": "Никогда не делитесь вашей seed‑фразой. Ecency никогда не запросит её. Введите её только на доверенных устройствах.",
🧹 Nitpick comments (11)
apps/web/src/features/i18n/locales/sr-CS.json (1)
74-74: Translation pending for Serbian locale.The value
"Validating..."is in English. For consistency with the rest of the file (e.g.,"loading": "Loading"at line 73), this should ideally be translated to Serbian.apps/web/src/features/i18n/locales/ac-ace.json (9)
74-74: New UI state indicator added.The string is in English. Queue for Acehnese translation to maintain locale consistency.
868-870: New post-deletion strings added in English.These three keys (
deleted-content,deleted-no-history,untitled) provide user-facing text for deleted content scenarios. Queue for Acehnese translation.
1084-1086: Profile section expanded with DM-related status indicators.The strings
empty-communities-hint,dm-followers-only, anddm-disabledare in English. Queue for Acehnese translation alongside other DM-related keys.
1321-1324: Wallet setup external section added with English strings.The
login-requiredandimport-login-requiredmessages are user-facing and should be queued for Acehnese translation.
2163-2166: Chat DM warning strings added.The new keys (
leave-conversation,dm-warning-title,dm-warning-body,dm-warning-settings) provide important security/privacy messaging for DMs. These are in English and should be queued for Acehnese translation.
2189-2192: Chat DM restriction messages added.The keys
unpin-message,dm-not-allowed,dm-followers-only, anddm-disabledare user-facing strings in English. Queue for Acehnese translation.
2868-2868: Editor loading state added.The
loading-editorstring is in English. Queue for Acehnese translation.
3065-3065: Wallet convert operation label added.The
convertlabel is in English. Queue for Acehnese translation.
3119-3217: Multi-step add-keys workflow scaffolding added.This large section adds comprehensive key management UI strings including stepper labels, step instructions, warnings, and import flow text. All strings are in English. Given this is a Crowdin update PR, these likely represent new source strings awaiting translation.
The structure and placeholders (e.g.,
{{count}}) are consistent with the rest of the file. Queue entire section for Acehnese translation.apps/web/src/features/i18n/locales/pcm-NG.json (1)
1-3219: Optional: New strings may need Nigerian Pidgin translation.Many of the newly added strings are in standard English rather than Nigerian Pidgin. While this is common for Crowdin sync PRs where strings are added first and translated later, consider flagging these for the translation team to ensure consistency with existing translated entries like
"done": "E don go"and"server-error": "The process no gree complete because of server wahala".
Summary by CodeRabbit
Documentation
New Features
Other
✏️ Tip: You can customize this high-level summary in your review settings.