Aller au contenu

Points d'extension

phil/translation-memory

La bibliothèque est en PHP simple et ne déclare aucun service. Ses ports sont l'endroit où la mémoire de traduction est conservée, les contrôles de qualité, la largeur à laquelle une ligne est dessinée et les formes fléchies des termes du glossaire ; le reste se choisit par les arguments des constructeurs.

MemoryStore

Phil\TranslationMemory\Memory\MemoryStore : l'endroit où les unités de traduction sont conservées. InMemoryStore les garde dans un tableau. Voir Mémoire de traduction.

MéthodeContrat
exact(LanguageTag $source, LanguageTag $target, Fingerprint $fingerprint): iterable<MemoryUnit>Les unités de cette paire de langues dont la source a cette empreinte
candidates(LanguageTag $source, LanguageTag $target, int $minLength, int $maxLength): iterable<MemoryUnit>Les unités de cette paire dont la source brute a une longueur comprise entre les deux bornes, en caractères
add(MemoryUnit $unit): voidConserve l'unité ; une unité de mêmes langues et de même empreinte remplace la précédente

Un stockage sur une base de données indexe la paire de langues avec l'empreinte, et avec la longueur : la recherche approximative ne lit que les candidats qu'on lui donne.

Check

Phil\TranslationMemory\Check\Contract\Check : un contrôle de qualité d'un segment traduit. Ceux de la bibliothèque sont Punctuation, Spaces, Tags, Plurals, SameAsSource, MaxSize et Glyphs. Voir Contrôles de qualité.

MéthodeContrat
name(): stringDes lettres minuscules et des traits d'union ; l'indicateur ignore-<name> écarte le contrôle
check(Checked $checked): list<CheckIssue>Les problèmes de la cible par rapport à sa source, aucun quand elle passe ; aucun état conservé entre les appels

TextWidth

Phil\TranslationMemory\Check\Contract\TextWidth : la largeur à laquelle une ligne de texte brut est dessinée, en pixels, pour MaxSize. AdvanceWidths additionne les chasses d'une police ; la mesure propre à un moteur de rendu (un moteur de PDF, un navigateur) convient aussi ici.

MéthodeContrat
width(string $text): floatLa largeur d'une ligne de texte brut, en pixels

Inflector

Phil\TranslationMemory\Glossary\Contract\Inflector : les formes fléchies d'une expression d'un glossaire. RegularPlurals donne les pluriels réguliers de l'anglais et du français. Voir Glossaire.

MéthodeContrat
forms(string $phrase, LanguageTag $language): list<string>Les autres formes de l'expression, sans elle-même ; aucune pour une langue qu'il ne connaît pas

Arguments

PointComment
Le degré d'approximation d'une correspondanceLe score $minimum, la $limit de correspondances et la $shortlist de candidats évalués, donnés à TranslationMemory
La façon de découper les documentsLa Granularity de UjoSegmenter : par champ de bloc ou par phrase
Les champs traduitsTranslatableFields : les noms de champs traduits et les types de blocs laissés tels quels, y compris les blocs propres à l'application
L'endroit où les phrases se terminentLe SentenceSplitter donné à UjoSegmenter, avec les abréviations qui ne terminent aucune phrase
Les termes d'une paire de languesLes Term donnés à Glossary, tirés du stockage de l'application, et leurs formes
Les variantes régionalesLes Variants donnés à TranslationMemory, et utilisés pour hériter des segments : fr-CA et en-CA par défaut
Les contrôles exécutésLes Check donnés à Checker, ou Checker::defaults() avec un TextWidth, une limite et une police
Les contrôles d'un segmentSes Flags : ignore-<check>, max-size:<pixels>