Skip to content

fix: update redemption code and Prime KYT copy(OK-57249)#12267

Closed
yikZero wants to merge 101 commits into
OneKeyHQ:xfrom
yikZero:yikzero/ok-57249-redemption-kyt-copy
Closed

fix: update redemption code and Prime KYT copy(OK-57249)#12267
yikZero wants to merge 101 commits into
OneKeyHQ:xfrom
yikZero:yikzero/ok-57249-redemption-kyt-copy

Conversation

@yikZero

@yikZero yikZero commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

OK-57249


Summary

  • Standardized BTC redemption user-facing wording to use "Redemption code" / "兑换码" across all 19 locales.
  • Updated the Prime receive KYT intro dialog so the dialog title includes Prime while the body copy stays shorter and explains monitoring results appear in transaction history.
  • Synced Lokalise-generated locale files for all supported languages.

Intent & Context

The OK-57249 discussion clarified that the shared redemption entry should use a single generic term instead of mixing reward-code and redemption-code wording. Slack discussion preference was to standardize the user-facing copy as redemption code.

During the same copy pass, the Prime receive KYT intro dialog felt abrupt because the dialog content did not clearly connect to Prime. The chosen approach keeps Prime in the dialog title only, avoiding repeated Prime wording in the description.

Design Decisions

  • Reused the existing shared receive risk monitoring title and prefixed it with the existing Prime status translation only inside the intro dialog. This avoids changing other Prime feature list, settings, or supported-assets surfaces that already use the shared title.
  • Updated only the two dialog-specific intro description keys for the KYT copy.
  • Updated existing Lokalise keys and pulled generated locale JSON instead of manually editing translation files.

Changes Detail

  • KYTIntroDialog.tsx: builds a dialog-only title from existing Prime and receive risk monitoring translations.
  • Locale JSON files: standardizes BTC redemption code wording and shortens Prime receive KYT intro descriptions across all 19 languages.

Risk Assessment

  • Risk Level: Low
  • Affected Platforms: Extension / Mobile / Desktop / Web
  • Risk Areas: User-facing copy only; the main functional risk is accidentally changing shared Prime wording, which is avoided by limiting the title change to the intro dialog.

Test plan

  • yarn i18n:pull:keychain
  • Verified all locale JSON files parse successfully.
  • npx oxlint --tsconfig ./tsconfig.json --type-aware packages/kit/src/views/Setting/pages/Protection/KYTIntroDialog.tsx --deny-warnings
  • yarn tsc:only
  • yarn lint:staged
  • yarn tsc:staged

Comment on lines +163 to +174
const title = `${intl.formatMessage({
id: ETranslations.prime_status_prime,
})} ${intl.formatMessage({
id: ETranslations.prime_feature_receive_risk_monitoring__title,
})}`;

defaultLogger.prime.usage.primeReceiveKytIntroShown(
receiveKytIntroTrackingParams,
);
Dialog.show({
icon: 'ShieldCheckDoneOutline',
title: intl.formatMessage({
id: ETranslations.prime_feature_receive_risk_monitoring__title,
}),
title,

@sidmorizon sidmorizon Jul 2, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Only the intro dialog prepends 'Prime' to the feature title — other usages unchanged

Type: Flag

The translation key prime_feature_receive_risk_monitoring__title is used in 6 other locations (primeFeatureIntroUtils.ts:98, KytRiskDetail/index.tsx:242, ReceiveRiskSupportedAssets.tsx:142, Protection/index.tsx:260,265) without the "Prime" prefix. This appears intentional — the auto-pop intro dialog brands the feature as a Prime perk, while settings pages and detail views use the bare feature name. Reviewer should confirm this asymmetry is desired.

onekeyUserIdRef.current = onekeyUserId;

const showDialog = useCallback(() => {
const title = `${intl.formatMessage({

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

当这个 KYT 引导弹窗在非英语 locale 下展示时,这里会把 Prime 和功能标题用固定空格直接拼成一条字符串。

这样翻译层无法决定完整句子的词序、分隔符和标点,19 个 locale 虽然都改了 copy,但标题这一段仍然不是可翻译的最终文案,部分语言会留下生硬或不一致的标题。

建议把这里改成一个完整的 i18n key,让各语言直接维护整句标题,而不是在代码里拼接两个片段。

yikZero added 29 commits July 11, 2026 17:00
@yikZero yikZero closed this Jul 20, 2026
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.

4 participants