Hyperlocalise CI
Version updated for https://github.com/hyperlocalise/hyperlocalise to version v1.9.0.
- This action is used across all versions by 0 repositories.
Action Type
This is a Composite action.
Go to the GitHub Marketplace to find the latest changes.
Action Summary
This GitHub Action automates the process of localizing applications using Hyperlocalise, a tool that integrates local-first CLI tools with CI automation and storage adapters. It solves problems related to managing translations within the engineering workflow instead of alongside it. Key capabilities include running localization tasks, evaluating translation quality, syncing with storage, reporting status, and providing workflows for generating localizations and handling CI processes.
What’s Changed
v1.9.0
run and eval can now use OpenRouter and Vercel AI Gateway as LLM providers. This release also fails closed on incomplete OpenAI-compatible completions, tightens Crowdin upload/error handling, and speeds up planning, scoring, and several file parsers.
Full changelog: https://github.com/hyperlocalise/hyperlocalise/compare/v1.8.28...v1.9.0
Breaking changes
None.
Features
- Add Vercel AI Gateway as an LLM provider for
runandeval. Setllm.profiles.<name>.providertoai_gatewayand exportAI_GATEWAY_API_KEY. Model IDs such asopenai/gpt-5.6-lunapass through tohttps://ai-gateway.vercel.sh/v1. Image localization stays OpenAI-only. #1848 - Add OpenRouter as an LLM provider (
openrouter). Auth viaOPENROUTER_API_KEY; override the base URL withOPENROUTER_BASE_URL. Model IDs pass through unchanged. #1804
Fixes
- Reject incomplete or failed OpenAI-compatible completions instead of writing truncated translations. Fail closed on choice-level errors,
finish_reasonoferror/length/content_filter, andtool_calls/function_call. Transient 502/503/504 errors stay retryable. #1810 - Send the raw filename in the Crowdin
Crowdin-API-FileNameheader instead of query-escaping it, so names with spaces are not mangled. #1839 - Align Crowdin
SourceStringsUploadattributes with API v2 (fileId,maxLen,omitemptyon optional fields). #1823 - Surface Crowdin 400 error payloads instead of a generic status message, and allow the documented project-level notification roles. #1801
Performance
- Faster SHA-512 lock fingerprinting during planning (
hex.EncodeToStringinstead offmt.Sprintf("%x")): about 28% faster on large catalogs, 11% fewer allocations. #1753 - ICU parser plain-text fast path: about 19% faster and 60% fewer allocations on keys with no placeholders. #1775
- JS/TS locale module parser: about 35% faster parse and 60% fewer allocations; marshal about 30% faster. #1799
- Mozilla Fluent parser: about 45% fewer allocations via capacity hints and indent/comment fast paths. #1786
- Zero-allocation brace-placeholder scanner in eval scoring (replaces regex). #1821
- Lower allocation cost when building the selection catalog (pre-sized maps,
slices.SortFunc). #1809 - Segment profile validation fast paths and slice capacity hints. #1837
Tests
- Env loader, CLI telemetry, sync risk detection, SHA-512 fingerprint oracles, and brace-placeholder scanner coverage. #1824 #1811 #1788 #1774 #1836
- Parser coverage for Apple
.stringsdict, CSV, Liquid target fallback, Fluent attribute indents, JS/TS locale edges, and the ICU plain-text fast path. #1838 #1755 #1802 #1798 #1808 #1784 - Incomplete LLM completion and locale-path helper regressions. #1820
Maintenance
- Bump Go dependencies (OpenAI SDK
v3.50.0, WorkOSv10.1.1, OpenTelemetryv1.45.0). #1751