proagents 1.6.17 → 1.6.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +13 -23
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,413 +0,0 @@
|
|
|
1
|
-
# Translation Workflow
|
|
2
|
-
|
|
3
|
-
End-to-end process for managing translations in your development cycle.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Workflow Overview
|
|
8
|
-
|
|
9
|
-
```
|
|
10
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
11
|
-
│ Translation Workflow │
|
|
12
|
-
├─────────────────────────────────────────────────────────────┤
|
|
13
|
-
│ │
|
|
14
|
-
│ Development Translation Deployment │
|
|
15
|
-
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
|
|
16
|
-
│ │ Code │──────────│ TMS │─────────│ Release │ │
|
|
17
|
-
│ └────┬────┘ └────┬────┘ └────┬────┘ │
|
|
18
|
-
│ │ │ │ │
|
|
19
|
-
│ ▼ ▼ ▼ │
|
|
20
|
-
│ 1. Add strings 4. Translate 7. Deploy all │
|
|
21
|
-
│ 2. Extract 5. Review languages │
|
|
22
|
-
│ 3. Push to TMS 6. Pull back │
|
|
23
|
-
│ │
|
|
24
|
-
│ Automation: │
|
|
25
|
-
│ • Auto-extract on commit │
|
|
26
|
-
│ • Auto-sync to TMS │
|
|
27
|
-
│ • Auto-pull translations │
|
|
28
|
-
│ • CI validation │
|
|
29
|
-
│ │
|
|
30
|
-
└─────────────────────────────────────────────────────────────┘
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Development Phase
|
|
36
|
-
|
|
37
|
-
### Adding New Strings
|
|
38
|
-
|
|
39
|
-
```typescript
|
|
40
|
-
// 1. Use translation function
|
|
41
|
-
import { t } from './i18n';
|
|
42
|
-
|
|
43
|
-
// 2. Add key with default value
|
|
44
|
-
const title = t('dashboard.welcome', 'Welcome back!');
|
|
45
|
-
|
|
46
|
-
// 3. For React components
|
|
47
|
-
<Trans i18nKey="dashboard.subtitle">
|
|
48
|
-
Here's what's happening today
|
|
49
|
-
</Trans>
|
|
50
|
-
|
|
51
|
-
// 4. With placeholders
|
|
52
|
-
t('dashboard.greeting', 'Hello, {{name}}!', { name: userName });
|
|
53
|
-
|
|
54
|
-
// 5. With plurals
|
|
55
|
-
t('dashboard.items', {
|
|
56
|
-
count: itemCount,
|
|
57
|
-
one: 'You have 1 item',
|
|
58
|
-
other: 'You have {{count}} items'
|
|
59
|
-
});
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
### Extract During Development
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
# After adding strings, extract them
|
|
66
|
-
proagents i18n extract
|
|
67
|
-
|
|
68
|
-
# Preview what will be extracted
|
|
69
|
-
proagents i18n extract --dry-run
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Translation Phase
|
|
75
|
-
|
|
76
|
-
### Send for Translation
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
# Push new strings to TMS
|
|
80
|
-
proagents i18n push
|
|
81
|
-
|
|
82
|
-
# Push specific namespace
|
|
83
|
-
proagents i18n push --namespace checkout
|
|
84
|
-
|
|
85
|
-
# Push and mark as ready for translation
|
|
86
|
-
proagents i18n push --ready
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Translation Options
|
|
90
|
-
|
|
91
|
-
```yaml
|
|
92
|
-
i18n:
|
|
93
|
-
translation:
|
|
94
|
-
# Machine translation for draft
|
|
95
|
-
machine_translate:
|
|
96
|
-
enabled: true
|
|
97
|
-
provider: "deepl" # google, deepl, azure
|
|
98
|
-
as_draft: true # Mark as draft, needs review
|
|
99
|
-
|
|
100
|
-
# Translation memory
|
|
101
|
-
translation_memory:
|
|
102
|
-
enabled: true
|
|
103
|
-
auto_apply: true
|
|
104
|
-
match_threshold: 0.95
|
|
105
|
-
|
|
106
|
-
# Glossary
|
|
107
|
-
glossary:
|
|
108
|
-
enabled: true
|
|
109
|
-
file: "i18n/glossary.csv"
|
|
110
|
-
enforce: true
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Pull Translations
|
|
114
|
-
|
|
115
|
-
```bash
|
|
116
|
-
# Pull all translations
|
|
117
|
-
proagents i18n pull
|
|
118
|
-
|
|
119
|
-
# Pull specific language
|
|
120
|
-
proagents i18n pull --lang es
|
|
121
|
-
|
|
122
|
-
# Pull only approved translations
|
|
123
|
-
proagents i18n pull --approved-only
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Review Phase
|
|
129
|
-
|
|
130
|
-
### Translation Review
|
|
131
|
-
|
|
132
|
-
```yaml
|
|
133
|
-
i18n:
|
|
134
|
-
review:
|
|
135
|
-
# Require review before merge
|
|
136
|
-
required: true
|
|
137
|
-
|
|
138
|
-
# Review workflow
|
|
139
|
-
workflow:
|
|
140
|
-
- stage: "translation"
|
|
141
|
-
by: "translator"
|
|
142
|
-
- stage: "review"
|
|
143
|
-
by: "reviewer"
|
|
144
|
-
- stage: "approve"
|
|
145
|
-
by: "project_manager"
|
|
146
|
-
|
|
147
|
-
# Auto-approve if:
|
|
148
|
-
auto_approve:
|
|
149
|
-
- condition: "translation_memory_match >= 100%"
|
|
150
|
-
- condition: "machine_translated && reviewed"
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Quality Checks
|
|
154
|
-
|
|
155
|
-
```bash
|
|
156
|
-
# Run quality checks
|
|
157
|
-
proagents i18n validate
|
|
158
|
-
|
|
159
|
-
# Check specific language
|
|
160
|
-
proagents i18n validate --lang es
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Validation Rules
|
|
164
|
-
|
|
165
|
-
```yaml
|
|
166
|
-
i18n:
|
|
167
|
-
validation:
|
|
168
|
-
rules:
|
|
169
|
-
# Placeholder consistency
|
|
170
|
-
placeholders:
|
|
171
|
-
enabled: true
|
|
172
|
-
severity: "error"
|
|
173
|
-
message: "Placeholder {{name}} missing in translation"
|
|
174
|
-
|
|
175
|
-
# Length limits
|
|
176
|
-
length:
|
|
177
|
-
enabled: true
|
|
178
|
-
max_expansion: 1.5 # Translation can be 50% longer
|
|
179
|
-
severity: "warning"
|
|
180
|
-
|
|
181
|
-
# Formatting
|
|
182
|
-
formatting:
|
|
183
|
-
enabled: true
|
|
184
|
-
check: ["html_tags", "markdown", "line_breaks"]
|
|
185
|
-
|
|
186
|
-
# Glossary terms
|
|
187
|
-
glossary:
|
|
188
|
-
enabled: true
|
|
189
|
-
severity: "warning"
|
|
190
|
-
|
|
191
|
-
# Plural forms
|
|
192
|
-
plurals:
|
|
193
|
-
enabled: true
|
|
194
|
-
verify_forms: true
|
|
195
|
-
severity: "error"
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Deployment Phase
|
|
201
|
-
|
|
202
|
-
### Pre-Release Checks
|
|
203
|
-
|
|
204
|
-
```bash
|
|
205
|
-
# Check translation coverage
|
|
206
|
-
proagents i18n coverage
|
|
207
|
-
|
|
208
|
-
# Output:
|
|
209
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
210
|
-
│ Translation Coverage │
|
|
211
|
-
├─────────────────────────────────────────────────────────────┤
|
|
212
|
-
│ Total Keys: 450 │
|
|
213
|
-
├─────────────────────────────────────────────────────────────┤
|
|
214
|
-
│ English (source): 100% ✅ (450/450) │
|
|
215
|
-
│ Spanish: 98% ⚠️ (441/450) - 9 missing │
|
|
216
|
-
│ French: 95% ⚠️ (428/450) - 22 missing │
|
|
217
|
-
│ German: 92% ⚠️ (414/450) - 36 missing │
|
|
218
|
-
│ Japanese: 88% ❌ (396/450) - 54 missing │
|
|
219
|
-
│ Chinese: 85% ❌ (383/450) - 67 missing │
|
|
220
|
-
├─────────────────────────────────────────────────────────────┤
|
|
221
|
-
│ Blocking: Japanese, Chinese (below 90% threshold) │
|
|
222
|
-
│ │
|
|
223
|
-
│ Run 'proagents i18n missing --lang ja' for details │
|
|
224
|
-
└─────────────────────────────────────────────────────────────┘
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
### Release Configuration
|
|
228
|
-
|
|
229
|
-
```yaml
|
|
230
|
-
i18n:
|
|
231
|
-
release:
|
|
232
|
-
# Minimum coverage to release
|
|
233
|
-
min_coverage:
|
|
234
|
-
default: 90
|
|
235
|
-
per_language:
|
|
236
|
-
es: 95 # Spanish: stricter
|
|
237
|
-
ja: 80 # Japanese: relaxed during rollout
|
|
238
|
-
|
|
239
|
-
# Fallback behavior
|
|
240
|
-
fallback:
|
|
241
|
-
enabled: true
|
|
242
|
-
chain: ["en"] # Fall back to English
|
|
243
|
-
|
|
244
|
-
# Block release if below threshold
|
|
245
|
-
block_release:
|
|
246
|
-
enabled: true
|
|
247
|
-
severity: "error"
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
### Deploy Translations
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
# Build with translations
|
|
254
|
-
proagents i18n build
|
|
255
|
-
|
|
256
|
-
# Deploy specific languages
|
|
257
|
-
proagents i18n deploy --lang en,es,fr
|
|
258
|
-
|
|
259
|
-
# Staged rollout
|
|
260
|
-
proagents i18n deploy --canary 10%
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
---
|
|
264
|
-
|
|
265
|
-
## Continuous Integration
|
|
266
|
-
|
|
267
|
-
### CI Pipeline
|
|
268
|
-
|
|
269
|
-
```yaml
|
|
270
|
-
# .github/workflows/i18n.yml
|
|
271
|
-
name: i18n Validation
|
|
272
|
-
|
|
273
|
-
on:
|
|
274
|
-
push:
|
|
275
|
-
paths:
|
|
276
|
-
- 'src/**'
|
|
277
|
-
- 'src/locales/**'
|
|
278
|
-
pull_request:
|
|
279
|
-
|
|
280
|
-
jobs:
|
|
281
|
-
validate:
|
|
282
|
-
runs-on: ubuntu-latest
|
|
283
|
-
steps:
|
|
284
|
-
- uses: actions/checkout@v4
|
|
285
|
-
|
|
286
|
-
- name: Extract strings
|
|
287
|
-
run: proagents i18n extract --ci
|
|
288
|
-
|
|
289
|
-
- name: Validate translations
|
|
290
|
-
run: proagents i18n validate --ci
|
|
291
|
-
|
|
292
|
-
- name: Check coverage
|
|
293
|
-
run: proagents i18n coverage --min 90 --ci
|
|
294
|
-
|
|
295
|
-
- name: Upload report
|
|
296
|
-
uses: actions/upload-artifact@v3
|
|
297
|
-
with:
|
|
298
|
-
name: i18n-report
|
|
299
|
-
path: i18n-report.json
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### Automated Sync
|
|
303
|
-
|
|
304
|
-
```yaml
|
|
305
|
-
i18n:
|
|
306
|
-
automation:
|
|
307
|
-
# Auto-extract on commit
|
|
308
|
-
extract_on_commit:
|
|
309
|
-
enabled: true
|
|
310
|
-
branches: ["main", "develop"]
|
|
311
|
-
|
|
312
|
-
# Auto-push to TMS
|
|
313
|
-
push_on_merge:
|
|
314
|
-
enabled: true
|
|
315
|
-
branch: "main"
|
|
316
|
-
|
|
317
|
-
# Auto-pull translations
|
|
318
|
-
pull_schedule:
|
|
319
|
-
enabled: true
|
|
320
|
-
cron: "0 6 * * *" # Daily at 6 AM
|
|
321
|
-
create_pr: true
|
|
322
|
-
|
|
323
|
-
# Auto-merge translated PRs
|
|
324
|
-
auto_merge:
|
|
325
|
-
enabled: false # Manual review preferred
|
|
326
|
-
conditions:
|
|
327
|
-
- "all_checks_pass"
|
|
328
|
-
- "coverage >= 95%"
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
---
|
|
332
|
-
|
|
333
|
-
## Notifications
|
|
334
|
-
|
|
335
|
-
### Translation Status Updates
|
|
336
|
-
|
|
337
|
-
```yaml
|
|
338
|
-
i18n:
|
|
339
|
-
notifications:
|
|
340
|
-
# New strings added
|
|
341
|
-
on_new_strings:
|
|
342
|
-
channels: ["slack:#translations"]
|
|
343
|
-
include:
|
|
344
|
-
- count
|
|
345
|
-
- deadline_suggestion
|
|
346
|
-
|
|
347
|
-
# Translation complete
|
|
348
|
-
on_translation_complete:
|
|
349
|
-
channels: ["slack:#releases"]
|
|
350
|
-
per_language: true
|
|
351
|
-
|
|
352
|
-
# Coverage drop
|
|
353
|
-
on_coverage_drop:
|
|
354
|
-
channels: ["slack:#translations"]
|
|
355
|
-
threshold: 5 # Notify if drops by 5%
|
|
356
|
-
|
|
357
|
-
# Validation errors
|
|
358
|
-
on_validation_error:
|
|
359
|
-
channels: ["slack:#dev-alerts"]
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
## Workflow Commands
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
# Full workflow
|
|
368
|
-
proagents i18n extract # 1. Extract strings
|
|
369
|
-
proagents i18n push # 2. Send to TMS
|
|
370
|
-
# ... translations happen ...
|
|
371
|
-
proagents i18n pull # 3. Get translations
|
|
372
|
-
proagents i18n validate # 4. Validate quality
|
|
373
|
-
proagents i18n coverage # 5. Check coverage
|
|
374
|
-
proagents i18n build # 6. Build for release
|
|
375
|
-
|
|
376
|
-
# Status check
|
|
377
|
-
proagents i18n status
|
|
378
|
-
|
|
379
|
-
# Output:
|
|
380
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
381
|
-
│ i18n Status │
|
|
382
|
-
├─────────────────────────────────────────────────────────────┤
|
|
383
|
-
│ Source Language: English │
|
|
384
|
-
│ Target Languages: 5 │
|
|
385
|
-
│ Total Keys: 450 │
|
|
386
|
-
├─────────────────────────────────────────────────────────────┤
|
|
387
|
-
│ Local Changes: │
|
|
388
|
-
│ • 12 new keys (not pushed) │
|
|
389
|
-
│ • 3 modified keys │
|
|
390
|
-
│ │
|
|
391
|
-
│ TMS Status: │
|
|
392
|
-
│ • Spanish: 5 strings in review │
|
|
393
|
-
│ • French: 12 strings pending translation │
|
|
394
|
-
│ • German: 8 strings ready to pull │
|
|
395
|
-
├─────────────────────────────────────────────────────────────┤
|
|
396
|
-
│ Actions: │
|
|
397
|
-
│ • Run 'proagents i18n push' to sync new keys │
|
|
398
|
-
│ • Run 'proagents i18n pull' to get German translations │
|
|
399
|
-
└─────────────────────────────────────────────────────────────┘
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
---
|
|
403
|
-
|
|
404
|
-
## Best Practices
|
|
405
|
-
|
|
406
|
-
1. **Extract Early**: Run extraction as part of development
|
|
407
|
-
2. **Push Regularly**: Don't batch too many strings
|
|
408
|
-
3. **Provide Context**: Help translators understand usage
|
|
409
|
-
4. **Review Translations**: Native speaker review is essential
|
|
410
|
-
5. **Automate Sync**: Use CI/CD for extraction and validation
|
|
411
|
-
6. **Monitor Coverage**: Track coverage trends over time
|
|
412
|
-
7. **Handle Edge Cases**: Test RTL, long text, plurals
|
|
413
|
-
8. **Plan for Growth**: Design keys for future expansion
|