forked from Bitmessage/PyBitmessage
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
21 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,35 @@ | ||
""" | ||
Translating text | ||
Slim layer providing environment agnostic _translate() | ||
""" | ||
import os | ||
|
||
try: | ||
import state | ||
except ImportError: | ||
from . import state | ||
|
||
|
||
class translateClass: | ||
""" | ||
This is used so that the translateText function can be used | ||
when we are in daemon mode and not using any QT functions. | ||
""" | ||
# pylint: disable=old-style-class,too-few-public-methods | ||
def __init__(self, context, text): | ||
self.context = context | ||
self.text = text | ||
|
||
def arg(self, _): | ||
"""Replace argument placeholders""" | ||
if '%' in self.text: | ||
# This doesn't actually do anything with the arguments | ||
# because we don't have a UI in which to display this information anyway. | ||
return translateClass(self.context, self.text.replace('%', '', 1)) | ||
return self.text | ||
|
||
|
||
def _translate(context, text, disambiguation=None, encoding=None, n=None): | ||
def _tr_dummy(context, text, disambiguation=None, n=None): | ||
# pylint: disable=unused-argument | ||
return translateText(context, text, n) | ||
return text | ||
|
||
|
||
def translateText(context, text, n=None): | ||
"""Translate text in context""" | ||
if state.enableGUI and not state.curses: | ||
try: | ||
enableGUI = state.enableGUI | ||
except AttributeError: # inside the plugin | ||
enableGUI = True | ||
if enableGUI: | ||
try: | ||
from PyQt4 import QtCore, QtGui | ||
except Exception as err: | ||
print('PyBitmessage requires PyQt unless you want to run it as a daemon' | ||
' and interact with it using the API.' | ||
' You can download PyQt from http://www.riverbankcomputing.com/software/pyqt/download' | ||
' or by searching Google for \'PyQt Download\'.' | ||
' If you want to run in daemon mode, see https://bitmessage.org/wiki/Daemon') | ||
print('Error message:', err) | ||
os._exit(0) # pylint: disable=protected-access | ||
if n is None: | ||
return QtGui.QApplication.translate(context, text) | ||
return QtGui.QApplication.translate(context, text, None, QtCore.QCoreApplication.CodecForTr, n) | ||
from qtpy import QtWidgets, QtCore, API | ||
except ImportError: | ||
_translate = _tr_dummy | ||
else: | ||
if '%' in text: | ||
return translateClass(context, text.replace('%', '', 1)) | ||
return text | ||
if API == 'pyqt5': | ||
_translate = QtWidgets.QApplication.translate | ||
else: | ||
def _translate(context, text, disambiguation=None, n=None): | ||
return ( | ||
QtWidgets.QApplication.translate( | ||
context, text, disambiguation) | ||
if n is None else | ||
QtWidgets.QApplication.translate( | ||
context, text, disambiguation, | ||
QtCore.QCoreApplication.CodecForTr, n) | ||
) | ||
else: | ||
_translate = _tr_dummy |