0 votes
65 vues

Nos sous-titres dans les deux traductions sont en casse des titres (Title Case), avec la première lettre de chaque mot en majuscule (pas de mots mineurs en minuscules). Lors de l'utilisation de FLExTrans, il arrive parfois que des phrases (par exemple pour les termes clés) ne sortent qu'avec le premier mot en majuscule. De plus, il arrive parfois qu'un démonstratif qui est un suffixe dans la langue source soit en réalité un mot séparé dans la langue cible et sorte en minuscule. L'exemple suivant montre les deux problèmes :

\s1 Haruanga Babuna Mana Sipsipka Hanggalang   >   \s1 Pasilanga babuna Mana Sipsip xa Panggalang

Y a-t-il un moyen dans les règles de sortie de texte (text out rules) de corriger cela ? Existe-t-il une expression régulière que quelqu'un utilise et qui fonctionne dans les règles de sortie de texte pour cela ?

Traduit automatiquement depuis English
FLExTrans par (122 points)
réaffiché par [Administrator]
| 65 vues

1 Réponse

0 votes

Je vois ce qui se passe. Votre entrée lexicale est haruanga babuna qui est mappée sur pasilanga babuna. La majuscule du premier mot est conservée, mais pas celle du second. Le moteur de transfert de FLExTrans ne peut pas gérer cela, vous devrez donc effectuer une modification post-synthèse.

Dans le cas de Sipsipka devenant Sipsip xa, comme cela est produit par une règle, vous pourriez envelopper la chaîne littérale que vous sortez avec l'élément 'get-case-from'. Cela ressemblerait à ceci :

Cela signifie que si le mot d'origine entrant est en majuscule, le xa sortira en majuscule. De même, s'il est en minuscule, il sortira en minuscule.

Mais, vous pouvez avoir d'autres mots dans un titre de section qui sortent en minuscule pour diverses raisons. Vous voudrez donc peut-être une solution générale pour mettre tous les mots en casse des titres.

Il n'existe pas d'expression régulière en une ligne qui ferait cela. Je vois donc deux solutions possibles :

1) Ajouter un module personnalisé à votre ensemble de modules de rédaction (Drafting set of modules) qui exécuterait du code Python pour mettre en majuscule tous les mots d'un en-tête de section.

2) Ajouter une expression régulière pour chaque lettre de l'alphabet. Ce n'est pas très pratique d'avoir 26 expressions dans vos règles de sortie de texte (Text Out rules), mais cela fonctionne.

L'expression pour 'a' serait Rechercher : (^\\s.*?\b)a(\w*) Remplacer par : \1A\2

Pour faciliter l'ajout de toutes ces expressions, vous pouvez ajouter les lignes xml suivantes sous <SearchReplaceRules> dans le fichier Output\fixup_synthesis_rules.xml :

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)a(\w*)</SearchString>

   <ReplaceString>\1A\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)b(\w*)</SearchString>

   <ReplaceString>\1B\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)c(\w*)</SearchString>

   <ReplaceString>\1C\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)d(\w*)</SearchString>

   <ReplaceString>\1D\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)e(\w*)</SearchString>

   <ReplaceString>\1E\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)f(\w*)</SearchString>

   <ReplaceString>\1F\2</ReplaceString>

 </SearchReplaceRule>

 <SearchReplaceRule RegEx="yes" Inactive="no" Comment="">

   <SearchString>(^\\s.*?\b)g(\w*)</SearchString>

   <ReplaceString>\1G\2</ReplaceString>

 </SearchReplaceRule>

etc.

Traduit automatiquement depuis English
par (336 points)

Une expression régulière (Regex) améliorée est :

(^\\s[^\\]*?\b)r(.+?)(?=\\)

le remplacement peut rester :

\1R\2

L'amélioration consiste à arrêter les changements de casse lorsqu'on atteint la prochaine barre oblique inverse (\), ce qui est important. 

Traduit automatiquement depuis English

Questions connexes

0 votes
1 réponse 53 vues
Comment exécuter un auto-test de synthèse sur un texte dans mon projet cible ?
Sara 246 posée avr. 28, 2025
0 votes
1 réponse 233 vues
Comment supprimer un affixe dans mes règles de transfert ?
rmdiamondl 336 posée mai 8, 2022
0 votes
3 réponses 474 vues
Je prépare Luc et Actes pour être imprimés en livret, et je n'arrive pas à trouver comment insérer une page de titre intermédiaire avant le début des Actes.
Jamie 102 posée août 6, 2024
0 votes
1 réponse 168 vues
Comment utiliser la logique d'exemple présente dans le fichier de règles de transfert ?
Sara 246 posée avr. 28, 2025
0 votes
1 réponse 42 vues
Comment faire référence aux gloses d'affixes dans les règles de transfert ?
Sara 246 posée avr. 28, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
How good and pleasant it is when God’s people live together in unity!
Psalm 133:1
3,053 questions
6,013 réponses
5,677 commentaires
2,032 utilisateurs