DevelopersHandbook
DevelopersHandbook copied to clipboard
Alternative translation method in Python
-
In this markdown: https://github.com/FreeCAD/DevelopersHandbook/blob/245f3d339187d67716fb6d77c2d4002775ae0549/technical/translation.md?plain=1#L109-L115 I only see Qt translation by function, but it is possible to translate using
tr
method fromQObject
. In my opinion, this is a much better option (especially when object-oriented style is used).
Actuallylupdate
do not care about parent class, so it should be even possible to implement a custom method:class MyGreatClassAlsoExpandingAnotherClassSoItHasALongName: def tr(self, text: str) -> str: return translate('MyGreatClassAlsoExpandingAnotherClassSoItHasALongName', text) def runTr(self): print(self.tr("My transalted text"))
Should this translation pattern be encouraged? Or there are reasons why this is not mentioned here? (There are problems with subclassing, but I know a workaround for this.)
-
This is a very frustrating error: https://github.com/FreeCAD/DevelopersHandbook/blob/245f3d339187d67716fb6d77c2d4002775ae0549/technical/translation.md?plain=1#L127 It is so frustrating that I created a flake8 plugin to detect these errors. Can I advertise this flake8 plugin/pre-commit check here?