Référence / SDK
Page traduite automatiquement
Modifier et relire
Lire, modifier, approuver, rejeter et retraduire une clé, lire des valeurs en masse ou page par page, ou en relire et retraduire plusieurs à la fois.
Opérations sur une seule clé
Ce sont les points d'accroche que Verbatra Studio pilote ; utilise-les pour construire ton propre outillage de relecture. Celles qui prennent locale et key les résolvent de nouveau à chaque appel et lèvent UNKNOWN_ ou UNKNOWN_ quand l'un des deux n'existe pas.
keyValue Disponible à partir de 0.5.0
Lit la valeur source actuelle d'une clé et, quand elle existe, sa valeur cible actuelle pour une locale. En lecture seule.
function keyValue(
input: KeyValueInput,
deps?: KeyValueDeps,
): Promise<KeyValueResult>;Propriété
Type
Renvoie : KeyValueResult
Lève : UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_
Exemple : Modifier et retraduire une seule clé
Renvoie { source, target? } ; target est absent exactement quand la clé n'existe pas encore dans cette locale et, quand il est présent, arrive avec provenance, la KeyProvenance interprétée de la clé : { origin, provider?, model?, reviewState, reviewer? }.
Le résultat porte aussi description quand le fichier source en donne une à la clé : une @key.description ARB, une note XLIFF ou un commentaire gettext, .strings d'Apple ou .resx .NET.
keyContext Disponible à partir de 0.12.0
Lit ce dont un traducteur a besoin pour écrire une clé dans une locale cible : tout ce que renvoie keyValue, plus les termes du glossaire qui s'appliquent au texte source et le maxLength de la clé. Passe un draft pour le vérifier par rapport à ces termes. En lecture seule. Pour relire sur le disque un glossaire stocké dans un fichier, elle prend loaded issu de loadConfigWithMeta, pas une simple config.
function keyContext(
input: KeyContextInput,
deps?: KeyContextDeps,
): Promise<KeyContext>;Propriété
Type
Renvoie : KeyContext
Lève : UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_
Un glossaire illisible ne lève pas d'erreur : glossary est vide et glossaryNotice porte le code et le message expurgé de l'erreur. draftCheck indique, pour chaque terme applicable, si le brouillon utilise la traduction exigée et quelles variantes interdites il emploie.
localeHistory Disponible à partir de 0.12.0
Liste les commits git récents qui ont modifié le fichier source ou un fichier de locale cible, du plus récent au plus ancien. En lecture seule ; il lance git log via l'execFile injectable.
function localeHistory(
input: LocaleHistoryInput,
deps?: LocaleHistoryDeps,
): Promise<LocaleHistoryResult>;Propriété
Type
Renvoie : LocaleHistoryResult
Lève : LOCALE_, LOCALE_
Chaque commit porte hash, author (le nom après .mailmap, jamais l'e-mail), authorDate, subject et touchedPaths. limit vaut LOCALE_ (50) par défaut, LOCALE_ (200) au plus, arrondi à l'entier inférieur et au moins 1. Les caractères de contrôle et de mise en forme bidirectionnelle sont retirés de author et subject ; un commit aux métadonnées illisibles est omis. Sans git ni dépôt, ou si git log dépasse LOCALE_ ou LOCALE_, le résultat est { available: false, reason }, une raison de LOCALE_. Consulte Studio et MCP.
editEntry Disponible à partir de 0.5.0
Écrit une correction saisie par un humain pour une clé et une locale. La valeur candidate passe la même barrière d'intégrité qu'une traduction de fournisseur avant que quoi que ce soit n'atteigne le disque ; à l'acceptation, le fichier de locale et l'entrée de verrou de cette clé sont mis à jour sous le verrou d'écriture de la locale. N'appelle jamais de fournisseur.
function editEntry(
input: EditEntryInput,
deps?: EditEntryDeps,
): Promise<EditEntryResult>;Propriété
Type
Renvoie : EditEntryResult
Lève : UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_, KEY_, LOCK_, RUN_, TARGET_, LOCALE_, LOCK_, LOCK_, PROVENANCE_
Exemple : Modifier et retraduire une seule clé
Renvoie { accepted: true, value }, ou { accepted: false, reason: "placeholder" | "markup" | "icu" | "degenerate" | "empty", value } sans rien écrire (la barrière d'intégrité). Construis tout schéma sur les raisons à partir du tuple exporté INTEGRITY_. "empty" refuse une valeur vide pour une source qui a du texte ; efface une clé avec la sentinelle [[CLEAR]] du classeur. Un refus placeholder ou markup porte en plus details : chaque placeholder ou balise en cause, préfixé de - quand la valeur candidate l'a supprimé ou de + quand elle l'a inventé.
La valeur est enregistrée dans verbatra.provenance.json avec l'origine human ; passe actor: "agent" quand un agent d'IA l'a écrite, pour que l'enregistrement le dise (l'appelant l'affirme, rien ne le vérifie). Un fichier de provenance corrompu lève PROVENANCE_ avant que la valeur ne passe le contrôle, et rien n'est écrit ; celui d'un verbatra plus récent, ou celui que l'enregistrement ferait dépasser la taille que verbatra relit, est laissé intact et la valeur est écrite sans enregistrement.
Avec actor: "agent", une clé qui correspond aux pinnedKeys de la config lève KEY_ avant toute écriture. La modification d'une clé épinglée par une personne est acceptée.
lockAcquireTimeoutMs borne l'attente du verrou d'écriture de la locale avant que l'appel échoue avec LOCK_ (dix minutes par défaut), onLockWait signale cette attente, et une borne invalide échoue avec LOCK_ avant toute lecture.
retranslateEntry Disponible à partir de 0.5.0
Relance le fournisseur pour exactement une clé et une locale via le même chemin de fournisseur et la même barrière d'intégrité que translate, et à l'acceptation écrit le fichier de locale et l'entrée de verrou pour cette clé seulement.
function retranslateEntry(
input: RetranslateEntryInput,
deps?: RetranslateEntryDeps,
): Promise<RetranslateEntryResult>;Propriété
Type
Renvoie : RetranslateEntryResult
Lève : MACHINE_, LOCK_, UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_, KEY_, KEY_, PROVIDER_, NETWORK_, CONFIG_, LOCK_, RUN_, TARGET_, LOCALE_, LOCK_, PROVENANCE_, SENSITIVE_
Exemple : Modifier et retraduire une seule clé
Renvoie { accepted: true, value, reviewReasons } (les codes de raison de relecture de la nouvelle valeur) ou le refus que renvoie editEntry. Contrairement à translate, un échec de fournisseur lève ici : une ProviderError, exportée depuis @verbatra/sdk, avec un code stable comme RATE_ ou AUTH_. Sous provider: { id: "none" }, il lève d'abord MACHINE_, avant de lire ou de verrouiller quoi que ce soit.
La nouvelle valeur est enregistrée dans verbatra.provenance.json comme machine, avec l'id du fournisseur qui a répondu et le modèle configuré. Un fournisseur issu de ton propre createProvider est enregistré sous son propre id, et sans le modèle quand cet id diffère de celui configuré. Un fichier de provenance corrompu lève PROVENANCE_ avant l'appel au fournisseur.
Une clé dont la valeur a été écrite, importée ou modifiée hors de verbatra par une personne lève KEY_ dans le verrou d'écriture, avant l'appel au fournisseur, sauf si tu passes includeHuman: true ou si la config fixe humanEdits: "overwrite" ; avec un fichier de provenance d'un verbatra plus récent, toute valeur existante compte comme protégée. Une clé qui correspond à pinnedKeys lève KEY_ avant la construction du fournisseur, même avec includeHuman.
approveEntry Disponible à partir de 0.12.0
Enregistre qu'une personne a relu la valeur actuelle d'une clé dans une locale et l'accepte. N'écrit que verbatra.provenance.json, jamais un fichier de locale ni le fichier de verrouillage, et n'appelle aucun fournisseur. L'approbation enregistre aussi le hash source de la clé dans le fichier de verrouillage, si bien qu'elle redevient non relue dès que la source change ; toute écriture ultérieure qui change la valeur démarre un nouvel enregistrement non relu.
function approveEntry(
input: ReviewDecisionInput,
deps?: ReviewDecisionDeps,
): Promise<ReviewDecisionResult>;Propriété
Type
Renvoie : ReviewDecisionResult
Lève : REVIEWER_, LOCK_, UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_, LOCK_, RUN_, REVIEW_, LOCALE_, REVIEW_, LOCK_, PROVENANCE_, PROVENANCE_
Exemple : Traiter la file de relecture
expectedValue est le texte que la personne a vu, ou passe expectedValueHash avec le valueMarker qui l'a produit : l'appel lève REVIEW_ quand la clé n'a pas de valeur ou en a une autre, et REVIEW_ quand la source a changé depuis l'écriture de la valeur. reviewer est un texte libre facultatif de 1 à 64 caractères sans caractère de contrôle (sinon REVIEWER_), stocké dans le fichier commité et jamais rempli par verbatra. Renvoie { locale, key, provenance }. Une valeur sans enregistrement préalable, ou modifiée hors de verbatra, est enregistrée avec l'origine unknown.
rejectEntry Disponible à partir de 0.12.0
Enregistre qu'une personne a relu la valeur actuelle d'une clé dans une locale et la refuse, et la retire du fichier de locale et du fichier de verrouillage : check et diff signalent la clé comme manquante et le prochain translate la remplit à nouveau (avec provider: { id: "none" }, elle reste manquante jusqu'à ce que quelqu'un en écrive une). L'enregistrement de provenance reste rejected avec un hash du texte supprimé, et l'entrée de mémoire correspondante de cette machine est retirée ; un translate ultérieur ignore tout succès exact ou approximatif de la mémoire pour la clé qui correspond à ce hash, si bien qu'aucune mémoire d'aucune machine ne ramène le texte. N'appelle aucun fournisseur.
function rejectEntry(
input: ReviewDecisionInput,
deps?: ReviewDecisionDeps,
): Promise<ReviewDecisionResult>;Propriété
Type
Renvoie : ReviewDecisionResult
Lève : REVIEWER_, LOCK_, UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_, LOCK_, RUN_, REVIEW_, LOCALE_, TARGET_, REVIEW_, REVIEW_, LOCK_, PROVENANCE_, PROVENANCE_
Exemple : Traiter la file de relecture
L'entrée est vérifiée comme pour approveEntry, sauf qu'une source périmée n'empêche pas un rejet. Renvoie { locale, key, provenance }. Un format qui garde une clé qu'on ne lui a pas transmise, XLIFF, lève REVIEW_ après avoir restauré le fichier.
Les deux appels prennent le verrou d'écriture de la locale avec lockAcquireTimeoutMs et onLockWait comme pour editEntry ; LOCK_ signifie que la borne n'est pas un nombre entier de millisecondes d'au moins 0. Ce délai ne borne pas le verrou du fichier de verrouillage pris pour enregistrer la décision, qui accorde toujours les dix minutes par défaut.
Aucun ne signale une décision qu'il n'a pas pu enregistrer : un fichier de provenance écrit par un verbatra plus récent, ou que la décision ferait grossir au-delà de la taille que verbatra relit, lève PROVENANCE_ avant toute écriture.
createValueMarker Disponible à partir de 0.12.0
Crée le marqueur avec lequel une surface montre une valeur sans son texte : mark(value) renvoie
[redacted length=<n> hash=<h>], et hash(value) renvoie h, un HMAC hexadécimal de 16 chiffres
salé au hasard (ou avec le salt donné), donc un hash ne correspond qu'avec le même marqueur.
Passe-le comme valueMarker à approveEntry ou rejectEntry pour accepter expectedValueHash à
la place de expectedValue. verbatra mcp --redact-values en crée un à chaque démarrage du serveur.
function createValueMarker(salt?: Uint8Array): ValueMarker;Renvoie : ValueMarker
Lectures de contenu en masse Disponible à partir de 0.10.0
localeValues
Lit le texte source et cible actuel de chaque clé sur les locales cibles demandées en un seul passage sur les fichiers du disque, par exemple pour chercher des valeurs plutôt que des noms de clé : le pendant en masse de keyValue. En lecture seule.
function localeValues(
input: LocaleValuesInput,
deps?: LocaleValuesDeps,
): Promise<readonly LocaleValues[]>;Propriété
Type
Renvoie : readonly LocaleValues[]
Lève : UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_
Exemple : Lire toutes les valeurs en bloc
Un locales omis couvre chaque locale cible configurée. Renvoie un { locale, keys, values } par locale : keys liste chaque clé dans l'ordre de la source, puis celles présentes seulement dans la cible, et values associe chaque clé à { source?, target? }. Sans target, elle n'est pas encore traduite là ; sans source, elle est orpheline (disparue de la source). values n'a pas de prototype : chaque clé, même _ ou constructor, est une propriété propre, et une clé absente se lit comme undefined.
Chaque paire avec une target porte aussi provenance, la même KeyProvenance que rapporte keyValue.
localeValuesPage Disponible à partir de 0.12.0
Lit une page de localeValues, restreinte si tu veux à des keys exactes ou à une query comparée à la clé, au texte source et au texte cible sans tenir compte de la casse, et renvoie un curseur pour la page suivante. Le serveur MCP et l'outil d'agent verbatra_ de Studio paginent avec. En lecture seule.
function localeValuesPage(
input: LocaleValuesPageInput,
deps?: LocaleValuesDeps,
): Promise<LocaleValuesPage>;Propriété
Type
Renvoie : LocaleValuesPage
Lève : UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, UNKNOWN_, PAGE_, PAGE_
Renvoie { locales, nextCursor? } : chaque locale ayant une entrée sur la page porte entries, chacune { key, source?, target?, provenance? } comme localeValues la rapporte, triées par locale puis par clé. Une page contient au plus limit entrées : PAGE_ (200) par défaut, PAGE_ (1000) au maximum. Repasse nextCursor comme cursor, avec les mêmes filtres, jusqu'à ce qu'il soit absent. Chaque appel relit les fichiers, donc un curseur dont la clé a bougé ou disparu est refusé au lieu de sauter ou de répéter des entrées.
Un cursor fait au plus PAGE_ (512) caractères. Le serveur MCP et Studio acceptent une query d'au plus LOCALE_ (500) caractères.
Révision et retraduction par lots Disponible à partir de 0.12.0
Chacun de ces appels exécute l'appel à clé unique correspondant une fois par entrée, dans l'ordre,
et renvoie { results } avec un résultat par entrée. Une entrée en échec n'arrête pas le lot : son
résultat est { locale, key, ok: false, code, message }, avec le code du SdkError, de l'erreur
d'adaptateur ou du ProviderError et un message expurgé. Toute autre erreur arrête le lot avec une
BatchInterruptedError. Une liste entries vide renvoie des results vides.
approveEntries
Exécute approveEntry pour chaque entrée avec les mêmes vérifications ; reviewer s'applique à
chaque entrée. Un résultat réussi est { ok: true, locale, key, provenance }.
lockAcquireTimeoutMs borne l'attente de chaque entrée pour le verrou d'écriture de sa locale, et
onLockWait signale cette attente. Une entrée dont le verrou reste pris au-delà du délai échoue
avec LOCK_, et chaque entrée suivante qui a besoin du même verrou reçoit
{ locale, key, ok: false, skipped: true, code: "LOCK_ au lieu d'attendre à
nouveau ; les entrées des autres locales sont toujours décidées.
function approveEntries(
input: ReviewEntriesInput,
deps?: ReviewDecisionDeps,
): Promise<ReviewEntriesResult>;Propriété
Type
Renvoie : ReviewEntriesResult
Lève : LOCK_
rejectEntries
Exécute rejectEntry pour chaque entrée et retire
chaque valeur rejetée. Un résultat réussi est { ok: true, locale, key, provenance }. Un délai de
verrou dépassé fait ignorer les entrées suivantes qui ont besoin de ce verrou, comme pour
approveEntries.
function rejectEntries(
input: ReviewEntriesInput,
deps?: ReviewDecisionDeps,
): Promise<ReviewEntriesResult>;Propriété
Type
Renvoie : ReviewEntriesResult
Lève : LOCK_
approveLocale Disponible à partir de 0.12.0
Approuve toute la file de relecture d'une locale, ou seulement ses valeurs ayant l'une des
origins, en une seule écriture de verbatra.provenance.json sous le verrou d'écriture de la
locale, chaque approbation enregistrée comme approveEntry en enregistre une. Elle ne prend aucune
valeur attendue et approuve ce que la file contient au moment de l'appel, donc montre d'abord la
file à la personne qui relit. Renvoie { locale, approved, sourceChanged } : les clés approuvées,
et les clés de la file laissées non relues parce que leur source a changé depuis leur écriture.
N'appelle aucun fournisseur et échoue avec PROVENANCE_ plutôt que de signaler des
approbations qu'elle n'a pas pu enregistrer.
function approveLocale(
input: ApproveLocaleInput,
deps?: ApproveLocaleDeps,
): Promise<ApproveLocaleResult>;Propriété
Type
Renvoie : ApproveLocaleResult
Lève : REVIEWER_, LOCK_, UNKNOWN_, UNKNOWN_, LOCALE_, LOCALE_, SOURCE_, SOURCE_, LOCK_, RUN_, LOCALE_, LOCK_, PROVENANCE_, PROVENANCE_
retranslateEntries
Exécute retranslateEntry pour chaque entrée, et fait donc jusqu'à un appel au fournisseur par
entrée. Ce n'est pas une exécution de translate : maxTokens et budgetBehavior ne s'appliquent
pas, et le nombre d'entrées est la seule limite de ce qu'il dépense. Un résultat terminé est
{ ok: true, locale, key, result }, où result est ce que retranslateEntry a renvoyé, y compris
une valeur refusée par la barrière d'intégrité. Une valeur écrite par une personne échoue avec
KEY_, sauf si tu passes includeHuman: true. Les options de verrou fonctionnent comme
pour approveEntries, et l'attente se termine avant l'appel au fournisseur.
function retranslateEntries(
input: RetranslateEntriesInput,
deps?: RetranslateEntryDeps,
): Promise<RetranslateEntriesResult>;Propriété
Type
Renvoie : RetranslateEntriesResult
Lève : LOCK_
Une erreur qui ferait échouer toutes les entrées de la même façon arrête les appels au
fournisseur : MISSING_, AUTH_, RATE_ (ce qui couvre un quota épuisé),
NETWORK_, PROVIDER_, CONFIG_ ou
MACHINE_. L'entrée qui l'a rencontrée échoue comme d'habitude, et chaque
entrée suivante reçoit { locale, key, ok: false, skipped: true, code, message } avec ce code,
sans autre appel au fournisseur.
Un délai de verrou dépassé fait ignorer avec LOCK_ les entrées suivantes qui ont besoin
de ce verrou, comme pour approveEntries ; pour un format qui garde toutes les locales dans un seul
fichier, ce sont toutes les entrées suivantes.
BatchInterruptedError Disponible à partir de 0.12.0
Levée par approveEntries, rejectEntries et retranslateEntries quand une erreur qui n'est pas
le résultat d'une seule entrée, comme une défaillance inattendue du système de fichiers, arrête un
lot en cours de route. results contient les résultats des entrées terminées avant, dans l'ordre, dont
les écritures restent sur le disque ; entry nomme le { locale, key } en cours, et cause est
l'erreur d'origine. Les entrées après
entry ne se sont pas exécutées.
class BatchInterruptedError<R = ReviewBatchOutcome | RetranslateBatchOutcome> extends ErrorPropriété
Type