@signature-kit/i18n
v0.1.0
Published
Localized display-message resolution for SignatureKit tagged errors.
Readme
@signature-kit/i18n
Localized display-message resolution for SignatureKit tagged errors.
Install
bun add @signature-kit/i18n effecteffect is a direct runtime dependency because the option and catalog contracts are Schema-backed.
Public surface
@signature-kit/i18n—LocalizedCatalogSchema,LocalizedMessageMap,ErrorMessageOptionsSchema,ErrorMessageFallbackCodeSchema,ErrorMessageLocaleSchema,errorMessageFallbackMessages, anderrorMessage(error, options).
errorMessage(error, options) reads _tag and code structurally. Consumers do not need instanceof, .code helper wrappers, or reason-string matching.
Resolution order for a known code:
overrides[locale][code]catalogs[*][locale][code]overrides[fallbackLocale][code]catalogs[*][fallbackLocale][code]- generic fallback messages for the requested locale, fallback locale, then
en-US
The default fallback locale is en-US.
Example
import { errorMessage } from "@signature-kit/i18n";
import { signatureKitErrorMessages, type SignatureKitError } from "@signature-kit/signatures";
declare const error: SignatureKitError;
const message = errorMessage(error, {
locale: "pt-BR",
fallbackLocale: "en-US",
catalogs: [signatureKitErrorMessages],
overrides: {
"pt-BR": {
"signature-kit.WRONG_PASSWORD": "Senha inválida para este certificado.",
},
},
});Errors and i18n
This package is the display layer. Package-specific message catalogs remain beside their TaggedErrorClass definitions: signatureKitErrorMessages, pdfErrorMessages, xmlErrorMessages, cmsErrorMessages, cryptoErrorMessages, and asn1ErrorMessages.
Docs: https://signaturekit.dev/en-US/docs/signing/errors.
License
MIT. See LICENSE.
