6 """ |
6 """ |
7 Module implementing message translations for the code style plugin messages. |
7 Module implementing message translations for the code style plugin messages. |
8 """ |
8 """ |
9 |
9 |
10 import re |
10 import re |
|
11 import contextlib |
11 |
12 |
12 from PyQt5.QtCore import QCoreApplication |
13 from PyQt5.QtCore import QCoreApplication |
13 |
14 |
14 from .Annotations.translations import ( |
15 from .Annotations.translations import ( |
15 _annotationsMessages, _annotationsMessagesSampleArgs |
16 _annotationsMessages, _annotationsMessagesSampleArgs |
559 except KeyError: |
560 except KeyError: |
560 args = None |
561 args = None |
561 else: |
562 else: |
562 args = messageArgs |
563 args = messageArgs |
563 |
564 |
564 try: |
565 with contextlib.suppress(KeyError): |
565 catalog = messageCatalogs[messageCategory] |
566 catalog = messageCatalogs[messageCategory] |
566 try: |
567 with contextlib.suppress(KeyError): |
567 message = catalog[messageCode] |
568 message = catalog[messageCode] |
568 if args is None: |
569 if args is None: |
569 return message |
570 return message |
570 elif isinstance(args, int): |
571 elif isinstance(args, int): |
571 # Retranslate with correct plural form |
572 # Retranslate with correct plural form |
572 return message(args) |
573 return message(args) |
573 else: |
574 else: |
574 return message.format(*args) |
575 return message.format(*args) |
575 except KeyError: |
|
576 pass |
|
577 except KeyError: |
|
578 pass |
|
579 |
576 |
580 if example: |
577 if example: |
581 return None |
578 return None |
582 else: |
579 else: |
583 return QCoreApplication.translate( |
580 return QCoreApplication.translate( |