0 votes
222 vues

J'ai réalisé ce matin qu'il est possible de générer des étiquettes en utilisant des chaînes littérales. C'est toutefois un peu un hack, car cela repose sur le fait de savoir qu'Apertium place les étiquettes entre <> et il me semble que l'utilisateur de FlexTrans ne devrait vraiment pas dépendre de tels détails.
Cependant, cela signifie qu'après avoir extrait des informations de base du flux d'entrée (comme la classe du nom) dans une variable de chaîne littérale (par ex., var v_noun_class := string ‘3’), on peut faire quelque chose comme ceci :

let var v_gloss = “<”
append var v_gloss “NPx”
append var v_gloss “_”
append var v_gloss var v_noun_class
append var v_gloss “>”

… puis afficher var v_gloss et le résultat sera synthétisé correctement (comme si j'avais affiché l'étiquette littérale NPx_3)

Dans mon cas, cela signifie que je peux également générer une étiquette de suffixe dans une variable séparée, en changeant simplement NPx en NSx – ce qui est beaucoup plus facile (et plus lisible) que de gérer une grande structure choose when … when … when … pour chaque étiquette d'affixe de sortie qui inclut des informations sur la classe du nom et autre chose.

D'un côté, cela semble être un hack laid, et de l'autre, cela permet une génération plus élégante et lisible d'étiquettes d'affixes complexes. Qu'en pensez-vous de cette approche ?

Cordialement, bruce

Traduit automatiquement depuis English
FLExTrans par (102 points)
réaffiché | 222 vues

1 Réponse

0 votes

Oui, c'est un peu un hack, mais cela semble être un hack utile qui rend finalement votre règle plus facile à maintenir.

Au fait, vous pouvez ajouter plusieurs éléments à une variable (ou à n'importe quoi d'autre) :

APPEND VAR v_gloss LIT_STR “<NPx_” VAR v_noun_class LIT_STR “>”

Bien joué !

Traduit automatiquement depuis English
par (340 points)

Questions connexes

0 votes
1 réponse 301 vues
Quelle est la meilleure façon de gérer les traductions d'un verbe en groupe verbal ? Dans Mato (lg source), nous avons ... et je me demande s'il existe une solution plus simple ?
matoxltr 130 posée juil. 16, 2025
0 votes
1 réponse 251 vues
Comment utiliser une macro ? (Comment répéter des déclarations de règles à plusieurs endroits ?)
rmdiamondl 340 posée mai 8, 2022
0 votes
1 réponse 226 vues
Puis-je travailler sur plusieurs paires de langues avec FLExTrans ?
rmdiamondl 340 posée avr. 22, 2022
0 votes
1 réponse 405 vues
L'aide de la ligne de commande indique -b BOOKS, --books BOOKS Reference list to print (as in Choose ... essayant d'installer ptxprint sur une nouvelle machine Linux également.)
mnjames 1,9k posée mai 10, 2023
0 votes
1 réponse 114 vues
Comment supprimer un mot de la sortie cible ?
Sara 258 posée avr. 28, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Every day they continued to meet together in the temple courts. They broke bread in their homes and ate together with glad and sincere hearts, praising God and enjoying the favor of all the people. And the Lord added to their number daily those who were being saved.
Acts 2:46-47
3,080 questions
6,047 réponses
5,709 commentaires
2,047 utilisateurs