Netik Posté(e) le 29 avril 2006 Posté(e) le 29 avril 2006 Bonjour,je dispose d'une bibliotheque de symboles avec attributs assez volumineuse.Actuellement, elle n'est disponible qu'en francais. J'aimerais traduire tous les textes d'invite des attributs dans d'autres langues, notamment en anglais.Y-a-t'il une routine en lisp ou VBA qui existe pour réaliser ce travail sur tous les symboles ?Il faut savoir que chaque symbole est un fichier séparé et qu'ils se trouvent tous dans le même répertoire (au total +/- 500 fichiers).Merci pour vos réponsesJanos Netikhttp://www.netik.name
Tramber Posté(e) le 29 avril 2006 Posté(e) le 29 avril 2006 Les attributs sont donc bien libres (non enfermés dans un "sous-bloc") dans leurs fichiers respectifs. Auquel cas, le programme ne sera pas difficile à élaborer.Il faudra faire tourner ce prog une fois dans chaque fichier par l'intermédiaire d'un script, avec l'outil d'Eric, par exemple. Mais, dois-tu procéder en 2 temps, à savoir :1. dresser la liste des prompts dans un tableur2. compléter le tableur et ré-injecter. Question importante :Les étiquettes portent-elles toujours le même nom ou pas du tout ?Y-a-t-il un nombre stable d'attribut par fichier bloc ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 29 avril 2006 Posté(e) le 29 avril 2006 Voici un code qui va modifier l'étiquette REF(defun changetiq (nouveletiq / ss en ed);(setq nouveletiq "my translation") (setq ss(ssget "_x" '((0 . "ATTDEF")(2 . "REF") )) ) (if(=(sslength ss)1) (progn (setq en(ssname ss 0)) (setq ed (entget en)) (setq ed (subst (cons 3 nouveletiq) (assoc 3 ed) ed ) ) (entmod ed) ) ) ) Il suffit de faire tourner un script en envoyant l'instruction (changetiq "my translation") dans chaque fichier enregistrer ce lisp le "charger au démarrage" dans la commande _APPLOAD et faire tourner le script (l'instruction) grâce au superautoscript d'Eric. [Edité le 29/4/2006 par Tramber] Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Netik Posté(e) le 29 avril 2006 Auteur Posté(e) le 29 avril 2006 Les attributs sont libres (non enfermés dans un "sous-bloc") dans leurs fichiers respectifs. Les étiquettes portent le même nom par famille de symboles et il doit y avoir a vue de nez environ une vingtaine de familles avec du texte récurrent dans toutes les familles.Par contre, le nombre de tag par symboles est souvent de l'ordre de 10 mais peut aller jusqu'à 40 pour les symboles complexesMieux que des mots, voici un extrait d'un symbole représentatif :Le symbole RELAIS.dwgTag Prompt DESIGNATION Nom LIEU Lieu1 Bobine haut2 Bobine basTYPE TypeFONCTION1 Texte fonction 1FONCTION2 Texte fonction 2...FONCTION6 Texte fonction 6
Netik Posté(e) le 29 avril 2006 Auteur Posté(e) le 29 avril 2006 Merci pour ta réponse, je vais la tester ce soir.Bonne soiréeJanos
Tramber Posté(e) le 29 avril 2006 Posté(e) le 29 avril 2006 Il faut alors changer le code. (defun changetiq2(nom nouveletiq / ss en ed);(setq nouveletiq "my translation") (setq ss(ssget "_x" '((0 . "ATTDEF")(2 . nom) )) ) (if(=(sslength ss)1) (progn (setq en(ssname ss 0)) (setq ed (entget en)) (setq ed (subst (cons 3 nouveletiq) (assoc 3 ed) ed ) ) (entmod ed) ) ) ) (changetiq2 "DEF" "my translation")(changetiq2 "PROX" "24 dollars")afin de pouvoir traiter plusieurs attribut. Mais 2 façon de faire :1. un lisp + évoluer pour parcourir la base2. un script en 2 temps Mais connais-tu les tableurs (Excel) à bon niveau et les scripts ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant