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 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
- - 🔒 **Stays in your repo.** No server, no account, no upload. Your own translation files, formatted
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: Found 18 strings (2 plurals, 3 with placeholders). I'll add a short brief and
63
- glossary, and keep "Jotter Pro" as written. Say "start translating" to go.
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 the project and returns one plan for a request: what it found, blockers, steps and defaults |
179
- | `localship_start` | Sets up a confirmed plan: config, default voice notes and glossary, never overwriting yours |
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. The only calls Localship makes go to a model
201
- API you set up, with your own key. With your coding agent's model or a local Ollama, it sends
202
- nothing over the internet.
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).