Skip to content

Commit b771b38

Browse files
committed
Merge branch 'tr-localize' into develop
# Conflicts: # .claude/settings.json # .env # .github/workflows/s3-deploy-production.yml # .github/workflows/translate.yml # .gitignore # astro.config.mjs # package-lock.json # package.json # scripts/translate.mjs # src/components/Header.astro # src/components/Homepage.tsx # src/components/Search.astro # src/data/locales.ts # src/layouts/DocsLayout.astro # src/locales/dictionary.json # src/locales/ui-strings.ts # src/locales/zh/_sidebar-labels.json # src/locales/zh/adapty-cursor-kmp.mdx # src/locales/zh/adapty-cursor-react-native.mdx # src/locales/zh/adapty-cursor-unity.mdx # src/locales/zh/ads-manager-automations-keyword-rules.mdx # src/locales/zh/ads-manager-automations-search-terms.mdx # src/locales/zh/ads-manager-create-ad-group.mdx # src/locales/zh/ads-manager-create-campaign.mdx # src/locales/zh/ads-manager-manage-ads.mdx # src/locales/zh/ads-manager-manage-keywords.mdx # src/locales/zh/android-handling-events.mdx # src/locales/zh/autopilot-how-it-works.mdx # src/locales/zh/autopilot.mdx # src/locales/zh/export-analytics-api-authorization.mdx # src/locales/zh/importing-historical-data-to-adapty.mdx # src/locales/zh/ios-present-paywalls.mdx # src/locales/zh/kmp-handle-paywall-actions.mdx # src/locales/zh/kmp-handling-events.mdx # src/locales/zh/kmp-handling-onboarding-events.mdx # src/locales/zh/kmp-present-paywalls.mdx # src/locales/zh/migration-from-revenuecat.mdx # src/locales/zh/migration-to-unity330.mdx # src/locales/zh/react-native-get-pb-paywalls.mdx # src/locales/zh/sdk-installation-flutter.mdx # src/locales/zh/sdk-installation-kotlin-multiplatform.mdx # src/locales/zh/ua-facebook.mdx # src/locales/zh/ua-integrations.mdx # src/locales/zh/user-acquisition.mdx # src/locales/zh/whats-new.mdx # src/pages/[locale]/[...slug].astro # src/pages/[locale]/[slug].astro # src/pages/[locale]/[slug]/[...rest].astro # yarn.lock
2 parents 68a27b4 + 1df2f76 commit b771b38

218 files changed

Lines changed: 8739 additions & 4544 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/settings.json

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,18 @@
22
"enabledPlugins": {
33
"superpowers@claude-plugins-official": true
44
},
5-
"permissions": {
6-
"allow": [
7-
"Bash(curl:*)"
5+
"hooks": {
6+
"PostToolUse": [
7+
{
8+
"matcher": "Write|Edit",
9+
"hooks": [
10+
{
11+
"type": "command",
12+
"command": "FILE=$(jq -r '.tool_input.file_path // empty'); [ -z \"$FILE\" ] && exit 0; echo \"$FILE\" | grep -qE '\\.(ts|tsx|astro|js)$' && npx eslint --fix \"$FILE\" 2>&1 | tail -3 || true",
13+
"statusMessage": "Linting..."
14+
}
15+
]
16+
}
817
]
918
}
10-
}
19+
}

.claude/skills/editor/SKILL.md

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ After writing:
7070
4. Check sentence lengths on any sentence that looks long
7171
5. Verify introduction answers what, why, and when
7272
6. For new articles: add entry to sidebar in `src/data/sidebars/`
73+
7. **Scan every bullet list with bold labels** — confirm every item is `- **Label**: Capitalized explanation.` Fix any ``, `-`, `.**`, or lowercase-after-colon patterns. ❌ `- **Label**: connects to...` → ✅ `- **Label**: Connects to...`
74+
8. **For UI workflow articles**: Output a screenshot capture table after the writing summary — one row per `:::note` placeholder, with filename and what the screenshot should show. This lets the user capture everything in one pass.
7375

7476
Present final content with a brief writing summary. See `references/output-templates.md` for format.
7577

@@ -100,8 +102,12 @@ See `references/simplified-technical-english.md` → Value-Oriented Language
100102

101103
Check for:
102104
- Ambiguous pronouns: "this", "it", "that" without clear antecedents
105+
- **Pronoun at the start of a callout**: "It should always be..." — the visual break makes the antecedent unresolvable. Replace with the explicit noun: "**Navigate to screen** should always be..."
103106
- Anthropomorphizing UI elements: ❌ "The page manages your settings" → ✅ "The page lets you manage your settings"
104107
- Multiple possible interpretations; missing cause-and-effect context
108+
- **Inaccurate metaphors**: a metaphor that contradicts the described behavior. ❌ "Works like a checklist" when evaluation stops at the first match (if/else-if/else) → remove or replace with an accurate analogy
109+
- **Self-contradicting callouts**: e.g., saying an action "overrides" a setting and then saying they're "interchangeable" in the same callout — both can't be true. Flag and rewrite to resolve
110+
- **Inconsistent naming for the same UI element**: "Design tab" in one section and "Design panel" in another for the same control. Pick one term and apply throughout
105111

106112
### 5. Voice and Verb Forms
107113

@@ -113,7 +119,17 @@ See `references/simplified-technical-english.md` → Voice Guidelines + Verb Ten
113119

114120
### 6. Headings and Lists
115121

116-
Check for: non-parallel heading structure at same level, inconsistent list punctuation, dashes instead of colons after bold labels (`**Label**:` not `**Label** -`), inline lists where bullet lists would be clearer.
122+
Check for: non-parallel heading structure at same level, inconsistent list punctuation, inline lists where bullet lists would be clearer.
123+
124+
**Bold-label list items — one correct format only:** `- **Label**: Capitalized explanation.`
125+
126+
All of these are wrong and must be fixed:
127+
- `**Label** - description` → hyphen dash
128+
- `**Label** — description` → em-dash
129+
- `**Label.** Description` → period inside bold, sentence follows
130+
- `**Label**: lowercase` → lowercase after colon
131+
132+
Every list where items have bold labels must follow this format: feature lists, action descriptions, best practices, option lists, settings.
117133

118134
**Exception — UI/product names**: If a heading uses the exact name of a product feature or UI element, do not flag it for breaking parallelism. Feature names take precedence over grammatical consistency. Example: `## Sharing paid access between user accounts` is the name of the feature in the UI — do not rewrite it to fix parallel structure.
119135

@@ -134,6 +150,9 @@ See `references/simplified-technical-english.md` → Instruction Pattern
134150

135151
Check for: missing intro before first heading, H4 overuse, non-parallel headings at same level, text blocks over 300 words without structure, consecutive callouts, callouts that interrupt flow.
136152

153+
- **Title/description scope mismatch**: the frontmatter `title` or `description` claims coverage the article doesn't provide. ❌ `description: "Show or hide elements and screens"` when only elements are covered → fix to match actual scope
154+
- **Product/feature name capitalization**: "Flow Builder" not "Flow builder". Check that multi-word product names are consistently capitalized as proper nouns throughout
155+
137156
See `references/article-structure.md`
138157

139158
### 9. Links and Images
@@ -154,12 +173,21 @@ open _temp/link-report.html
154173

155174
Additionally check images manually: image files exist, `@assets/` not `@asset/`, descriptive alt text.
156175

176+
**Alt text checks:**
177+
- Missing alt entirely: `<ZoomImage id="x.webp" width="500px" />` — flag, always required
178+
- Generic alt text copied from a nearby image: e.g., two consecutive images both with `alt="Static navigation"` — the second was copy-pasted and describes the wrong image. Each alt must describe its specific screenshot
179+
180+
**Screenshot placeholders**: In UI workflow articles, every distinct UI state — screen selection, dialog, results view, confirmation — should have a `:::note` placeholder callout. Check that sections describing a UI step are not missing one. See Screenshot Placeholders section below.
181+
157182
See `references/astro-patterns.md`
158183

159184
### 10. Conciseness
160185

161186
Check for: redundant phrases ("in order to" → "to"), wordy constructions ("make use of" → "use", "is able to" → "can"), repeated information.
162187

188+
- **Filler adverbs**: "Simply" (implies the task is trivial), "Instantly" (adds no information). Remove both — they're invisible to the reader when accurate and condescending when not.
189+
- **Redundant section preambles**: a sentence that just restates the section heading. ❌ `## Add lists` followed by "You can add lists to screens:" → remove the sentence, go straight to steps.
190+
163191
Don't remove value-oriented language — only flag true redundancy.
164192

165193
See `references/simplified-technical-english.md` → Filler Words + Advanced STE Practices
@@ -233,6 +261,32 @@ After completing all checks, follow this flow:
233261
- Use Edit — do not rewrite the entire file
234262
- Show before/after comparison in summary
235263

264+
### Screenshot Placeholders (UI Workflow Articles)
265+
266+
When writing an article that describes a step-by-step UI workflow, add `:::note` callouts as screenshot placeholders at every distinct UI state — screen selections, modal dialogs, results views, confirmation states, and any step that produces a visible change.
267+
268+
**Format** — the callout contains only the intended filename, nothing else:
269+
270+
```
271+
:::note
272+
feature-name-screen.webp
273+
:::
274+
```
275+
276+
**Naming convention**: `[feature]-[screen].webp`, e.g., `market-intelligence-select-app.webp`.
277+
278+
**Where to place them**: After the prose that describes the UI state, not before it. The reader reads the description, then sees the screenshot that confirms it.
279+
280+
**How many**: Aim for one per distinct UI state. Err on the side of more — it's easier to remove a placeholder than to remember later what needed capturing.
281+
282+
After drafting, output a capture table as part of the writing summary:
283+
284+
| File | What to capture |
285+
|---|---|
286+
| `feature-name-screen.webp` | What is visible on screen at this point |
287+
288+
This lets the user take all screenshots in one pass and replace placeholders with `<ZoomImage>` elements.
289+
236290
### False Positives
237291
Don't flag: technical terms, industry-standard terminology, code/API names, clear sentences slightly over length, passive voice when appropriate, single value word per paragraph with specific context, descriptive adjectives like "real-time", "built-in", "automatic".
238292

.claude/skills/editor/references/article-structure.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,22 @@ Requirements:
9595

9696
### Bold Label Formatting
9797

98-
Use colons after bold labels, not dashes.
98+
The only accepted format for a bold-label list item is:
9999

100-
`**Label**: Description.`
101-
`**Label** - Description.`
100+
```
101+
- **Label**: Capitalized explanation.
102+
```
103+
104+
The word immediately after the colon must be capitalized. All other separators are wrong:
105+
106+
`**Label** - description` (hyphen dash)
107+
`**Label** — description` (em-dash)
108+
`**Label.** Description` (period inside bold, then sentence)
109+
`**Label**: lowercase explanation` (lowercase after colon)
110+
111+
`**Label**: Capitalized explanation.`
112+
113+
This applies to every bullet list where items have bold labels — in feature lists, action descriptions, best practices, option lists, and settings tables.
102114

103115
### Bullet vs. Inline Lists
104116

0 commit comments

Comments
 (0)