diff --git a/yomi_base/preferences.py b/yomi_base/preferences.py index 7a1c76c..0c97298 100644 --- a/yomi_base/preferences.py +++ b/yomi_base/preferences.py @@ -105,7 +105,7 @@ class DialogPreferences(QtGui.QDialog, gen.preferences_ui.Ui_DialogPreferences): self.comboBoxModel.blockSignals(False) allowedTags = { - 'vocab': ['expression', 'reading', 'glossary', 'sentence'], + 'vocab': ['expression', 'reading', 'glossary', 'sentence','translation'], 'kanji': ['character', 'onyomi', 'kunyomi', 'glossary'], }[name] diff --git a/yomi_base/reader.py b/yomi_base/reader.py index 2fd1c69..8e56778 100644 --- a/yomi_base/reader.py +++ b/yomi_base/reader.py @@ -507,9 +507,10 @@ class MainWindowReader(QtGui.QMainWindow, gen.reader_ui.Ui_MainWindowReader): lengthMatched = 0 if self.dockVocab.isVisible(): self.state.vocabDefs, lengthMatched = self.language.findTerm(contentSampleFlat) - sentence = reader_util.findSentence(content, samplePosStart) + sentence, translation = reader_util.findSentence(content, samplePosStart) for definition in self.state.vocabDefs: definition['sentence'] = sentence + definition['translation'] = translation self.updateVocabDefs() if self.dockKanji.isVisible(): diff --git a/yomi_base/reader_util.py b/yomi_base/reader_util.py index 014263f..68ad7d1 100644 --- a/yomi_base/reader_util.py +++ b/yomi_base/reader_util.py @@ -78,8 +78,14 @@ def findSentence(content, position): quoteStack.pop() elif c in quotesFwd: quoteStack.insert(0, quotesFwd[c]) - - return content[start:end].strip() + translation = '' + translationStart = content.find('\t',end) + if translationStart >= 0: + translationEnd = content.find('\n',translationStart) + if translationEnd == -1: + translationEnd = len(content) + translation = content[translationStart+1:translationEnd].strip() + return content[start:end].strip(), translation def formatFields(fields, markup): @@ -108,6 +114,7 @@ def markupVocabExp(definition): 'reading': definition['reading'] or unicode(), 'glossary': definition['glossary'], 'sentence': definition.get('sentence'), + 'translation': definition.get('translation'), 'summary': summary } @@ -119,6 +126,7 @@ def markupVocabReading(definition): 'reading': unicode(), 'glossary': definition['glossary'], 'sentence': definition.get('sentence'), + 'translation': definition.get('translation'), 'summary': definition['reading'] }