Compare two versions of a base locale and report which translations went stale
Compare two versions of a base locale and report which translations went stale. A base string edited without its translations being edited leaves every locale confidently wrong, nothing in the translation file marks it, and the diff is the only place it is visible. Also reports a removed key, where anything still referencing it shows the key in the interface; translations still carrying a removed key; and, per locale, how many of the new keys are outstanding.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.zfinia.com/x402/v1/locale-file-diff
| Category | Everything else |
|---|---|
| Provider host | api.zfinia.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
We never call tools that send, buy, move money or file anything, not even without paying.
Example input (from the provider)
{
"body": {
"after": {
"app": {
"greeting": "Welcome back, {name}",
"title": "Dashboard"
},
"checkout": {
"submit": "Pay now"
},
"errors": {
"generic": "Something went wrong",
"retry": "Try again"
}
},
"before": {
"app": {
"greeting": "Hello, {name}",
"title": "Dashboard"
},
"banner": {
"promo": "Half price this week"
},
"errors": {
"generic": "Something went wrong",
"retry": "Try again"
}
},
"translations": [
{
"locale": "de",
"messages": {
"app": {
"greeting": "Hallo, {name}",
"title": "\u00dcbersicht"
},
"banner": {
"promo": "Diese Woche halber Preis"
},
"errors": {
"generic": "Fehler",
"retry": "Erneut"
}
}
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"after": {
"type": [
"object",
"string"
]
},
"before": {
"type": [
"object",
"string"
]
},
"translations": {
"items": {
"additionalProperties": false,
"properties": {
"locale": {
"maxLength": 35,
"type": "string"
},
"messages": {
"type": [
"object",
"string"
]
}
},
"required": [
"locale",
"messages"
],
"type": "object"
},
"maxItems": 60,
"minItems": 1,
"type": "array"
}
},
"required": [
"before",
"after"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}