Ok, here little mod for dynamic blocks.
(defun c:Test (/ pnt)
(if (setq pnt (cadr (entsel "\nSelect MText within block: ")))
(progn
(command "_.-refedit" pnt "_o")
(if (wcmatch (getvar 'LASTPROMPT) "*contains custom block properties*,*your french version*") ;; Dynamic block
(command "_o"))
(command "_a" "_y")
(command-s "_.mtedit" pnt)
(command "_.refclose")
(while (> (getvar 'CMDACTIVE) 0)
(command "_save"))))
(princ)
)
But, if you have different language version, you need add the exact (or a part of) phrase and replace the blue text in to code. Run the previous version and hit F2 to see the command-line window: Take to french translation of bold line.
Select MText within block: _.-refedit
Select reference:
Select nesting level [Ok/Next] <Next>: _o
The block reference contains custom block properties. Editing the block in-place will break the link to the original definition and create a new block definition [Ok/Cancel] <Ok>:_a
Invalid option keyword.
Function cancelled
PS If you like John's solution, you should at least add this line to the end.
(command "_.zoom" "_P")
@john.uhden Surprised that I see no coods transformation. It moves you/the OP to the hell (and not back). But congrats to the solution!