- npm@localheroai/cli
- githublocalheroai/cli
- lisensMIT
Finn ødelagte oversettelser før brukerne dine gjør det
Én kommando sjekker oversettelsesfilene i repoet ditt. Ingen registrering, ingen API-nøkkel. Ingenting forlater maskinen din.
npx @localheroai/cli check
En gratis kommando i CLI-en til Localhero.ai. Kjøres lokalt eller som en sjekk i GitHub Actions.
Rails YAML · i18next og annen JSON · gettext .po
$ npx @localheroai/cli check Locale Keys Missing Placeholders Orphans Complete de 6 1 0 0 83% pl 6 1 0 0 83% sv 6 1 1 0 83% 3 locale(s), 6 keys, 83% complete, 1 placeholder mismatches, 0 orphans … == sv == Missing keys (1): home.title Placeholder mismatches (1): billing.renews_on: "Renews on %{date}" -> "Förnyas {date}" [missing: rails:date] [unexpected: icu:date] Conflicting values (defined differently in several files) (1): checkout.cta: config/locales/pages/sv.yml, config/locales/app/sv.yml $ echo $? 1
Dette fanger den opp
Disse feilene slipper gjennom kodegjennomgang, siden ingen leser hver eneste språkfil. De slipper også gjennom tester: ingenting feiler. Kjør check på hver Pull Request for å holde dem ute av main.
Manglende oversettelser
Tekster som finnes i kildespråket ditt, men ikke på tysk, svensk eller polsk.
de.yml
checkout:
gift_card:
title: # i en.yml, mangler her
Ødelagte plassholdere
%{name} ble til {name}, som brukerne dine ser som rå kode. Eller en %s som går tapt i oversettelsen, slik at verdien forsvinner fra setningen.
en.yml renews_on: "Renews on %{date}"
sv.yml renews_on: "Förnyas {date}"UI Förnyas {date}
en.json "renews": "Renews on {{date}}"
de.json "renews": "Verlängert am {date}"UI Verlängert am {date}
Manglende flertallsformer
Polsk og russisk trenger mer enn «one» og «other». Uten dem ser brukerne feil grammatikk. Ingen feil blir utløst.
pl.yml
files:
count:
one: "%{count} plik"
other: "%{count} pliku"
few: # trengs for 2–4 filer many: # trengs for 5–21 filer
Konfliktende duplikater
Den samme nøkkelen med ulik tekst i to filer for samme språk. Rails slår sammen begge filene. Den som lastes inn sist, vinner, og det kan være den utdaterte kopien.
config/locales/app/sv.yml
checkout:
cta: "Gå till kassan"config/locales/pages/sv.yml
checkout:
cta: "Till kassan" # sist innlastet vinner
Bruk det i CI
Stopper bygget ved manglende oversettelser, legger til GitHub-merknader i pull requesten og eksporterer JSON til egne verktøy.
on: pull_request
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: npx @localheroai/cli check --source en --format github
| Flagg | Hva den gjør |
|---|---|
--fail-on <rule> |
Når den skal avslutte med feil: missing (standard, manglende eller tomme oversettelser), placeholders, any eller none |
--format github |
Feil og advarsler som merknader i pull requesten, på filnivå |
--json |
Hele rapporten til stdout, med stabile nøkler |
--locales sv,de |
Sjekk bare disse målspråkene |
--path <dir> |
Språkmappen som skal skannes. Uten den ser check i vanlige mapper som config/locales, public/locales og src/locales |
--source en |
Angi kildespråket i stedet for å oppdage det automatisk |
Nøkler som bare finnes i en oversettelse, rapporteres som advarsler. De stopper aldri bygget.
Les guiden om kontroll av språkfiler Alle regler og alternativer i CLI README-en
Åpen kildekode
Koden ligger på GitHub under MIT-lisensen. Les reglene, kjør det offline, send en Pull Request.
En falsk positiv er en feil. Hvis check flagger noe som ikke er feil, opprett en sak med strengen, så fikser vi regelen.
localheroai/cli
CLI-en til Localhero.ai. check er en av kommandoene. Den samme pakken kjører oversettelser for kunder av Localhero.ai.
Alle regler og alternativer i CLI README-enHvorfor det er gratis
Vi bygger Localhero.ai, som oversetter produkttekst i hver pull request. Første gang vi kjørte check på vår egen app, fant den en ødelagt plassholder på fire språk. Alle repoer med språkfiler kan ha slike feil. Vi gjorde check gratis, så alle kan se.
check
gratis, alltid- Finner manglende oversettelser, ødelagte plassholdere, manglende flertallsformer og duplikater i konflikt
- Kjører offline, ingen konto, ingen begrensninger
- MIT-lisensiert
translate
med en Localhero.ai-konto- Fyller inn manglende oversettelser i hver pull request
- Følger ordlisten og tone of voice-en din
- En gjennomgangsside for teamet ditt, uten behov for git
Se hva som er ødelagt i repoet ditt
Kjør den fra roten av et hvilket som helst repo med språkfiler.
npx @localheroai/cli check