56 lines
2.0 KiB

Translating text
import os
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): # pylint: disable=unused-argument
return translateText(context, text, n)
def translateText(context, text, n=None):
"""Translate text in context"""
enableGUI = state.enableGUI
except AttributeError: # inside the plugin
enableGUI = True
if enableGUI:
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'\
' or by searching Google for \'PyQt Download\'.'\
' If you want to run in daemon mode, see'
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)
if '%' in text:
return translateClass(context, text.replace('%', '', 1))
return text