mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Various string fixes. Fixes #1443028 [missing strings in .po file](https://bugs.launchpad.net/calibre/+bug/1443028)
This commit is contained in:
parent
76f1582757
commit
d1bb088d88
@ -116,7 +116,7 @@ class KOBO(USBMS):
|
|||||||
' by default they are no longer displayed as there is no good reason to '
|
' by default they are no longer displayed as there is no good reason to '
|
||||||
'see them. Enable if you wish to see/delete them.'),
|
'see them. Enable if you wish to see/delete them.'),
|
||||||
_('Show Recommendations') +
|
_('Show Recommendations') +
|
||||||
':::'+_('Kobo now shows recommendations on the device. In some case these have '
|
':::'+_('Kobo now shows recommendations on the device. In some cases these have '
|
||||||
'files but in other cases they are just pointers to the web site to buy. '
|
'files but in other cases they are just pointers to the web site to buy. '
|
||||||
'Enable if you wish to see/delete them.'),
|
'Enable if you wish to see/delete them.'),
|
||||||
_('Attempt to support newer firmware') +
|
_('Attempt to support newer firmware') +
|
||||||
@ -693,8 +693,8 @@ class KOBO(USBMS):
|
|||||||
if extension == '.kobo':
|
if extension == '.kobo':
|
||||||
from calibre.devices.errors import UserFeedback
|
from calibre.devices.errors import UserFeedback
|
||||||
raise UserFeedback(_("Not Implemented"),
|
raise UserFeedback(_("Not Implemented"),
|
||||||
_('".kobo" files do not exist on the device as books '
|
_('".kobo" files do not exist on the device as books; '
|
||||||
'instead, they are rows in the sqlite database. '
|
'instead they are rows in the sqlite database. '
|
||||||
'Currently they cannot be exported or viewed.'),
|
'Currently they cannot be exported or viewed.'),
|
||||||
UserFeedback.WARN)
|
UserFeedback.WARN)
|
||||||
|
|
||||||
@ -1374,7 +1374,7 @@ class KOBOTOUCH(KOBO):
|
|||||||
BCD = [0x0110, 0x0326]
|
BCD = [0x0110, 0x0326]
|
||||||
|
|
||||||
# Image file name endings. Made up of: image size, min_dbversion, max_dbversion, isFullSize,
|
# Image file name endings. Made up of: image size, min_dbversion, max_dbversion, isFullSize,
|
||||||
# Note: "200" has been used just as a much larger number than the current versions. It is just a lazy
|
# Note: "200" has been used just as a much larger number than the current versions. It is just a lazy
|
||||||
# way of making it open ended.
|
# way of making it open ended.
|
||||||
COVER_FILE_ENDINGS = {
|
COVER_FILE_ENDINGS = {
|
||||||
' - N3_FULL.parsed':[(600,800),0, 200,True,], # Used for screensaver, home screen
|
' - N3_FULL.parsed':[(600,800),0, 200,True,], # Used for screensaver, home screen
|
||||||
|
@ -50,7 +50,7 @@ class E71X(USBMS):
|
|||||||
|
|
||||||
name = 'Nokia E71X device interface'
|
name = 'Nokia E71X device interface'
|
||||||
gui_name = 'Nokia E71X'
|
gui_name = 'Nokia E71X'
|
||||||
description = 'Communicate with the Nokia E71X'
|
description = _('Communicate with the Nokia E71X')
|
||||||
author = 'Kovid Goyal'
|
author = 'Kovid Goyal'
|
||||||
supported_platforms = ['windows', 'linux', 'osx']
|
supported_platforms = ['windows', 'linux', 'osx']
|
||||||
|
|
||||||
@ -58,7 +58,6 @@ class E71X(USBMS):
|
|||||||
PRODUCT_ID = [0x1a0]
|
PRODUCT_ID = [0x1a0]
|
||||||
BCD = [0x100]
|
BCD = [0x100]
|
||||||
|
|
||||||
|
|
||||||
FORMATS = ['mobi', 'prc']
|
FORMATS = ['mobi', 'prc']
|
||||||
|
|
||||||
EBOOK_DIR_MAIN = 'eBooks'
|
EBOOK_DIR_MAIN = 'eBooks'
|
||||||
@ -79,7 +78,6 @@ class E52(USBMS):
|
|||||||
PRODUCT_ID = [0x1CD, 0x273, 0x00aa]
|
PRODUCT_ID = [0x1CD, 0x273, 0x00aa]
|
||||||
BCD = [0x100]
|
BCD = [0x100]
|
||||||
|
|
||||||
|
|
||||||
FORMATS = ['epub', 'fb2', 'mobi', 'prc', 'txt']
|
FORMATS = ['epub', 'fb2', 'mobi', 'prc', 'txt']
|
||||||
|
|
||||||
EBOOK_DIR_MAIN = 'eBooks'
|
EBOOK_DIR_MAIN = 'eBooks'
|
||||||
@ -87,4 +85,3 @@ class E52(USBMS):
|
|||||||
|
|
||||||
VENDOR_NAME = 'NOKIA'
|
VENDOR_NAME = 'NOKIA'
|
||||||
WINDOWS_MAIN_MEM = ['S60', 'E71']
|
WINDOWS_MAIN_MEM = ['S60', 'E71']
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ def subset_all_fonts(container, font_stats, report):
|
|||||||
total_old += f.tell()
|
total_old += f.tell()
|
||||||
if not chars:
|
if not chars:
|
||||||
remove.add(name)
|
remove.add(name)
|
||||||
report('Removed unused font: %s'%name)
|
report(_('Removed unused font: %s')%name)
|
||||||
continue
|
continue
|
||||||
with container.open(name, 'r+b') as f:
|
with container.open(name, 'r+b') as f:
|
||||||
raw = f.read()
|
raw = f.read()
|
||||||
@ -72,9 +72,9 @@ def subset_all_fonts(container, font_stats, report):
|
|||||||
nlen = sum(new_sizes.itervalues())
|
nlen = sum(new_sizes.itervalues())
|
||||||
total_new += len(nraw)
|
total_new += len(nraw)
|
||||||
if nlen == olen:
|
if nlen == olen:
|
||||||
report('The font %s was already subset'%font_name)
|
report(_('The font %s was already subset')%font_name)
|
||||||
else:
|
else:
|
||||||
report('Decreased the font %s to %.1f%% of its original size'%
|
report(_('Decreased the font %s to %.1f%% of its original size')%
|
||||||
(font_name, nlen/olen * 100))
|
(font_name, nlen/olen * 100))
|
||||||
changed = True
|
changed = True
|
||||||
f.seek(0), f.truncate(), f.write(nraw)
|
f.seek(0), f.truncate(), f.write(nraw)
|
||||||
@ -97,10 +97,10 @@ def subset_all_fonts(container, font_stats, report):
|
|||||||
style.text = sheet.cssText
|
style.text = sheet.cssText
|
||||||
container.dirty(name)
|
container.dirty(name)
|
||||||
if total_old > 0:
|
if total_old > 0:
|
||||||
report('Reduced total font size to %.1f%% of original'%(
|
report(_('Reduced total font size to %.1f%% of original')%(
|
||||||
total_new/total_old*100))
|
total_new/total_old*100))
|
||||||
else:
|
else:
|
||||||
report('No embedded fonts found')
|
report(_('No embedded fonts found'))
|
||||||
return changed
|
return changed
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -15,7 +15,7 @@ class PickRandomAction(InterfaceAction):
|
|||||||
|
|
||||||
name = 'Pick Random Book'
|
name = 'Pick Random Book'
|
||||||
action_spec = (_('Pick a random book'), 'random.png',
|
action_spec = (_('Pick a random book'), 'random.png',
|
||||||
'Select a random book from your calibre library', ())
|
_('Select a random book from your calibre library'), ())
|
||||||
dont_add_to = frozenset(['context-menu-device'])
|
dont_add_to = frozenset(['context-menu-device'])
|
||||||
|
|
||||||
def genesis(self):
|
def genesis(self):
|
||||||
|
@ -143,7 +143,7 @@
|
|||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="label_2">
|
<widget class="QLabel" name="label_2">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Override image &size:</string>
|
<string>Override image &size:</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="buddy">
|
<property name="buddy">
|
||||||
<cstring>opt_comic_image_size</cstring>
|
<cstring>opt_comic_image_size</cstring>
|
||||||
|
@ -35,10 +35,6 @@ class PluginWidget(Widget, Ui_Form):
|
|||||||
|
|
||||||
self.initialize_options(get_option, get_help, db, book_id)
|
self.initialize_options(get_option, get_help, db, book_id)
|
||||||
|
|
||||||
def setup_widget_help(self, g):
|
|
||||||
g._help = _('Specify which markdown extensions to enable')
|
|
||||||
return Widget.setup_widget_help(self, g)
|
|
||||||
|
|
||||||
def set_value_handler(self, g, val):
|
def set_value_handler(self, g, val):
|
||||||
if g is self.opt_markdown_extensions:
|
if g is self.opt_markdown_extensions:
|
||||||
for i in self.md_map.itervalues():
|
for i in self.md_map.itervalues():
|
||||||
|
@ -161,7 +161,7 @@
|
|||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>But dont show entries that have...</string>
|
<string>But don't show entries that have...</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -275,7 +275,7 @@ that have been explicitly ignored below.</string>
|
|||||||
<item row="3" column="0" colspan="2">
|
<item row="3" column="0" colspan="2">
|
||||||
<widget class="QCheckBox" name="opt_auto_add_check_for_duplicates">
|
<widget class="QCheckBox" name="opt_auto_add_check_for_duplicates">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>If set, this option will causes calibre to check if a file
|
<string>If set, this option will cause calibre to check if a file
|
||||||
being auto-added is already in the calibre library.
|
being auto-added is already in the calibre library.
|
||||||
If it is, a message will pop up asking you whether
|
If it is, a message will pop up asking you whether
|
||||||
you want to add it anyway.</string>
|
you want to add it anyway.</string>
|
||||||
|
@ -303,7 +303,7 @@ class RuleEditor(QDialog): # {{{
|
|||||||
self.setLayout(l)
|
self.setLayout(l)
|
||||||
|
|
||||||
self.l1 = l1 = QLabel(_('Create a {0} rule by'
|
self.l1 = l1 = QLabel(_('Create a {0} rule by'
|
||||||
' filling in the boxes below'.format(rule_text)))
|
' filling in the boxes below').format(rule_text))
|
||||||
l.addWidget(l1, 0, 0, 1, 8)
|
l.addWidget(l1, 0, 0, 1, 8)
|
||||||
|
|
||||||
self.f1 = QFrame(self)
|
self.f1 = QFrame(self)
|
||||||
@ -503,7 +503,7 @@ class RuleEditor(QDialog): # {{{
|
|||||||
try:
|
try:
|
||||||
path = choose_files(self, 'choose_category_icon',
|
path = choose_files(self, 'choose_category_icon',
|
||||||
_('Select Icon'), filters=[
|
_('Select Icon'), filters=[
|
||||||
('Images', ['png', 'gif', 'jpg', 'jpeg'])],
|
(_('Images'), ['png', 'gif', 'jpg', 'jpeg'])],
|
||||||
all_files=False, select_only_single_file=True)
|
all_files=False, select_only_single_file=True)
|
||||||
if path:
|
if path:
|
||||||
icon_path = path[0]
|
icon_path = path[0]
|
||||||
@ -929,7 +929,7 @@ class EditRules(QWidget): # {{{
|
|||||||
self.enabled.setText(_('Show &emblems next to the covers'))
|
self.enabled.setText(_('Show &emblems next to the covers'))
|
||||||
self.enabled.stateChanged.connect(self.enabled_toggled)
|
self.enabled.stateChanged.connect(self.enabled_toggled)
|
||||||
self.enabled.setToolTip(_(
|
self.enabled.setToolTip(_(
|
||||||
'If checked, you can tell calibre to displays icons of your choosing'
|
'If checked, you can tell calibre to display icons of your choosing'
|
||||||
' next to the covers shown in the cover grid, controlled by the'
|
' next to the covers shown in the cover grid, controlled by the'
|
||||||
' metadata of the book.'))
|
' metadata of the book.'))
|
||||||
self.enabled_toggled()
|
self.enabled_toggled()
|
||||||
|
@ -140,7 +140,7 @@ class TextureChooser(QDialog):
|
|||||||
return
|
return
|
||||||
if self.selected_fname.startswith(':'):
|
if self.selected_fname.startswith(':'):
|
||||||
return error_dialog(self, _('Cannot remove'),
|
return error_dialog(self, _('Cannot remove'),
|
||||||
_('Cannot remover builtin textures'), show=True)
|
_('Cannot remove builtin textures'), show=True)
|
||||||
os.remove(unicode(self.selected_item.data(Qt.UserRole+1) or ''))
|
os.remove(unicode(self.selected_item.data(Qt.UserRole+1) or ''))
|
||||||
self.images.takeItem(self.images.row(self.selected_item))
|
self.images.takeItem(self.images.row(self.selected_item))
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@
|
|||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>But dont show entries that have...</string>
|
<string>But don't show entries that have...</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -120,7 +120,7 @@
|
|||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>But dont show entries that have...</string>
|
<string>But don't show entries that have...</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -120,7 +120,7 @@
|
|||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>But dont show entries that have...</string>
|
<string>But don't show entries that have...</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -400,9 +400,7 @@ class WebView(QWebView):
|
|||||||
|
|
||||||
<p style="font-size:x-small; color: gray">Note that this is a quick preview
|
<p style="font-size:x-small; color: gray">Note that this is a quick preview
|
||||||
only, it is not intended to simulate an actual ebook reader. Some
|
only, it is not intended to simulate an actual ebook reader. Some
|
||||||
aspects of your ebook will not work, such as, page breaks and
|
aspects of your ebook will not work, such as page breaks and page margins.
|
||||||
page margins.
|
|
||||||
|
|
||||||
'''))
|
'''))
|
||||||
self.page().current_root = None
|
self.page().current_root = None
|
||||||
|
|
||||||
|
@ -81,13 +81,12 @@ class RelaySetup(QDialog):
|
|||||||
self.ptoggle = QCheckBox(_('&Show password'), self)
|
self.ptoggle = QCheckBox(_('&Show password'), self)
|
||||||
l.addWidget(self.ptoggle, r, 2)
|
l.addWidget(self.ptoggle, r, 2)
|
||||||
self.ptoggle.stateChanged.connect(
|
self.ptoggle.stateChanged.connect(
|
||||||
lambda s: self.password.setEchoMode(self.password.Normal if s
|
lambda s: self.password.setEchoMode(self.password.Normal if s == Qt.Checked else self.password.Password))
|
||||||
== Qt.Checked else self.password.Password))
|
|
||||||
self.username.setText(service['username'])
|
self.username.setText(service['username'])
|
||||||
self.password.setEchoMode(self.password.Password)
|
self.password.setEchoMode(self.password.Password)
|
||||||
self.bl = QLabel('<p>' + _(
|
self.bl = QLabel('<p>' + _(
|
||||||
'If you plan to use email to send books to your Kindle, remember to'
|
'If you plan to use email to send books to your Kindle, remember to'
|
||||||
' add the your %s email address to the allowed email addresses in your '
|
' add your %s email address to the allowed email addresses in your '
|
||||||
'Amazon.com Kindle management page.')%service['name'])
|
'Amazon.com Kindle management page.')%service['name'])
|
||||||
self.bl.setWordWrap(True)
|
self.bl.setWordWrap(True)
|
||||||
l.addWidget(self.bl, l.rowCount(), 0, 3, 0)
|
l.addWidget(self.bl, l.rowCount(), 0, 3, 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user