localship 0.2.0 → 0.3.0
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/README.md +23 -12
- package/dist/{chunk-QS3UG3KI.js → chunk-GNL5EFNP.js} +468 -248
- package/dist/cli.js +71 -45
- package/dist/{server-T6GQ6CV5.js → server-5AITZXZV.js} +27 -17
- package/package.json +2 -1
- package/skills/localship/SKILL.md +66 -43
- package/skills/localship-extract/SKILL.md +123 -39
- package/skills/localship-extract/references/platform-localization.md +65 -0
- package/skills/localship-review/SKILL.md +9 -1
- package/skills/localship-setup/SKILL.md +50 -36
- package/skills/localship-translate/SKILL.md +26 -18
package/README.md
CHANGED
|
@@ -38,8 +38,10 @@ no server, no monthly bill.
|
|
|
38
38
|
in code before anything is written. Failures go back to the AI with the reason.
|
|
39
39
|
- 🧠 **More context for the AI.** Each string comes with the code that uses it, its comment, your
|
|
40
40
|
glossary and voice notes, and earlier translations of the same text.
|
|
41
|
-
- 🔒 **
|
|
42
|
-
the way your tools write them.
|
|
41
|
+
- 🔒 **Your files, your workflow.** No Localship server or account. Translation files stay in your
|
|
42
|
+
repo, formatted the way your tools write them. You choose the AI that receives their content.
|
|
43
|
+
- ✅ **Check before release.** Require current, approved translations in CI with
|
|
44
|
+
`localship validate --require-approved`. No model call or API key needed for the check.
|
|
43
45
|
- 💻 **Runs anywhere.** Claude Code, Cursor, VS Code, Codex, Gemini CLI, Claude Desktop or the
|
|
44
46
|
terminal, on macOS, Linux and Windows.
|
|
45
47
|
|
|
@@ -55,15 +57,16 @@ no server, no monthly bill.
|
|
|
55
57
|
| Changed copy | Everything redone | Only what changed |
|
|
56
58
|
| Your edits | Overwritten | Kept |
|
|
57
59
|
|
|
60
|
+
For a comparison with Lingo.dev, Crowdin, Lokalise and i18n Ally, see the
|
|
61
|
+
[plugin review](docs/plugin-review.md).
|
|
62
|
+
|
|
58
63
|
## 🎬 See it in action
|
|
59
64
|
|
|
60
65
|
```
|
|
61
66
|
You: Translate this app into Hindi and Arabic.
|
|
62
|
-
Agent:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
You: Start translating.
|
|
66
|
-
Agent: 36 translations written as drafts, 0 errors. Arabic has all six plural forms.
|
|
67
|
+
Agent: Translating 18 strings into Hindi and Arabic…
|
|
68
|
+
36 translations written as drafts, 0 errors. Arabic has all six plural forms.
|
|
69
|
+
Hindi addresses the user as आप, and "Jotter Pro" is kept as written.
|
|
67
70
|
|
|
68
71
|
You: Review the Arabic, then approve them.
|
|
69
72
|
Agent: Two small fixes made. All approved.
|
|
@@ -127,6 +130,12 @@ Wherever your app is today, one sentence gets it started.
|
|
|
127
130
|
Android string arrays and plurals, String Catalog plural variations, and gettext plural forms are
|
|
128
131
|
all supported.
|
|
129
132
|
|
|
133
|
+
Apple device/nested variations and substitutions, and Android strings in configuration-specific
|
|
134
|
+
folders such as `values-ar-night`, are preserved but not translated or validated. Localship reports
|
|
135
|
+
these coverage gaps; `validate --strict` and `--require-approved` fail rather than claim completeness.
|
|
136
|
+
See [platform verification](skills/localship-extract/references/platform-localization.md) for native
|
|
137
|
+
build, language setup and device checks.
|
|
138
|
+
|
|
130
139
|
## 🚀 Install
|
|
131
140
|
|
|
132
141
|
**Claude Code plugin**
|
|
@@ -175,8 +184,8 @@ Your agent picks these itself; you just ask. 👀 marks tools that only read and
|
|
|
175
184
|
|
|
176
185
|
| Tool | What it does |
|
|
177
186
|
|---|---|
|
|
178
|
-
| `localship_plan` 👀 | Looks at
|
|
179
|
-
| `localship_start` |
|
|
187
|
+
| `localship_plan` 👀 | Looks at what a request involves: files, strings to translate, anything in the way |
|
|
188
|
+
| `localship_start` | Writes the config for the languages, or adds them to it |
|
|
180
189
|
| `localship_status` 👀 | Progress per language: missing, changed, drafts, approved |
|
|
181
190
|
| `localship_validate` 👀 | Checks placeholders, plural forms, escaping, markup and the glossary |
|
|
182
191
|
| `localship_detect` 👀 | Finds translation files in the repo |
|
|
@@ -197,9 +206,10 @@ Your agent picks these itself; you just ask. 👀 marks tools that only read and
|
|
|
197
206
|
|
|
198
207
|
- **Stays in your project.** Localship reads and writes only your translation files and the
|
|
199
208
|
`.localship/` folder. Changes to your code are made by your agent, where you can see them.
|
|
200
|
-
- **No Localship server.** No account, no telemetry.
|
|
201
|
-
|
|
202
|
-
|
|
209
|
+
- **No Localship server.** No account, no telemetry. Localship's model calls go to the provider
|
|
210
|
+
you configure. When you use a cloud coding agent, that agent may send strings and context to
|
|
211
|
+
its model provider. Validation runs locally without model calls; translation can also stay
|
|
212
|
+
local when you use a locally hosted model.
|
|
203
213
|
- **Nothing is final until you say so.** Translations are written as drafts, and hand edits and
|
|
204
214
|
approved translations are never replaced unless you ask.
|
|
205
215
|
|
|
@@ -215,6 +225,7 @@ localship start hi,ar --model anthropic:claude-sonnet-5-5 # set up and transla
|
|
|
215
225
|
localship status # progress per language
|
|
216
226
|
localship validate # exits 1 on errors
|
|
217
227
|
localship approve --locale hi # after review
|
|
228
|
+
localship validate --require-approved # release / CI check
|
|
218
229
|
```
|
|
219
230
|
|
|
220
231
|
Every command, option and config key is in the [reference](docs/reference.md).
|