| | |
| | | fail("en.json Pro comparison unlimited notes status must include the leading checkmark") |
| | | if english.get("settings.proStatus.unlockedFeature") != "✅ Unlocked": |
| | | fail("en.json Pro comparison unlocked status must be '✅ Unlocked'") |
| | | if english.get("settings.proStatus.proUser") != "You are currently a valued Pro user": |
| | | fail("en.json settings.proStatus.proUser must not duplicate the crown icon in text") |
| | | |
| | | zh_hans = load_json(localization_dir / "zh-Hans.json") |
| | | if zh_hans.get("settings.proStatus.lockedFeature") != "✅支持": |
| | |
| | | fail("zh-Hans.json Pro comparison unlimited notes status must be '✅无限备注'") |
| | | if zh_hans.get("settings.proStatus.unlockedFeature") != "✅已解锁": |
| | | fail("zh-Hans.json Pro comparison unlocked status must be '✅已解锁'") |
| | | if zh_hans.get("settings.proStatus.proUser") != "您当前是尊贵的 Pro 用户": |
| | | fail("zh-Hans.json settings.proStatus.proUser must be the approved centered Pro identity sentence") |
| | | |
| | | ko = load_json(localization_dir / "ko.json") |
| | | if ko.get("quickSearch.hotkeys") != "키보드 단축키": |
| | |
| | | if copied_english: |
| | | fail(f"{code}.json copies English Pro copy: {', '.join(copied_english)}") |
| | | |
| | | if "👑" in data.get("settings.proStatus.proUser", ""): |
| | | fail(f"{code}.json settings.proStatus.proUser must not duplicate the crown icon") |
| | | |
| | | print( |
| | | "PASS Pro localization QA: " |
| | | f"{len(language_codes)} languages, {len(pro_keys) + len(REQUIRED_NON_PRO_KEYS) + len(REQUIRED_VISIBLE_SETTINGS_KEYS)} Pro/settings keys, " |