diff --git a/src/calibre/devices/apple/driver.py b/src/calibre/devices/apple/driver.py index 845423247c..59bef5b334 100644 --- a/src/calibre/devices/apple/driver.py +++ b/src/calibre/devices/apple/driver.py @@ -2347,7 +2347,7 @@ class ITUNES(DriverBase): self.log.info(" add timestamp: %s" % metadata.timestamp) # Force the language declaration for iBooks 1.1 - metadata.language = get_lang() + metadata.language = get_lang().replace('_', '-') if DEBUG: self.log.info(" rewriting language: %s" % metadata.language) diff --git a/src/calibre/ebooks/chm/input.py b/src/calibre/ebooks/chm/input.py index a3a49296d2..820178408c 100644 --- a/src/calibre/ebooks/chm/input.py +++ b/src/calibre/ebooks/chm/input.py @@ -92,7 +92,7 @@ class CHMInput(InputFormatPlugin): metadata.add('identifier', mi.isbn, attrib={'scheme':'ISBN'}) if not metadata.language: oeb.logger.warn(u'Language not specified') - metadata.add('language', get_lang()) + metadata.add('language', get_lang().replace('_', '-')) if not metadata.creator: oeb.logger.warn('Creator not specified') metadata.add('creator', _('Unknown')) diff --git a/src/calibre/ebooks/html/input.py b/src/calibre/ebooks/html/input.py index 73fd020d7b..73bc22be66 100644 --- a/src/calibre/ebooks/html/input.py +++ b/src/calibre/ebooks/html/input.py @@ -329,7 +329,7 @@ class HTMLInput(InputFormatPlugin): metadata.add('identifier', mi.isbn, attrib={'scheme':'ISBN'}) if not metadata.language: oeb.logger.warn(u'Language not specified') - metadata.add('language', get_lang()) + metadata.add('language', get_lang().replace('_', '-')) if not metadata.creator: oeb.logger.warn('Creator not specified') metadata.add('creator', self.oeb.translate(__('Unknown'))) diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 579398d3b0..0bb0c570ed 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -1069,7 +1069,8 @@ class OPFCreator(MetaInformation): dc_attrs={'id':__appname__+'_id'})) if getattr(self, 'pubdate', None) is not None: a(DC_ELEM('date', self.pubdate.isoformat())) - a(DC_ELEM('language', self.language if self.language else get_lang())) + a(DC_ELEM('language', self.language if self.language else + get_lang().replace('_', '-'))) if self.comments: a(DC_ELEM('description', self.comments)) if self.publisher: @@ -1194,7 +1195,8 @@ def metadata_to_opf(mi, as_string=True): factory(DC('identifier'), mi.isbn, scheme='ISBN') if mi.rights: factory(DC('rights'), mi.rights) - factory(DC('language'), mi.language if mi.language and mi.language.lower() != 'und' else get_lang()) + factory(DC('language'), mi.language if mi.language and mi.language.lower() + != 'und' else get_lang().replace('_', '-')) if mi.tags: for tag in mi.tags: factory(DC('subject'), tag) diff --git a/src/calibre/ebooks/oeb/reader.py b/src/calibre/ebooks/oeb/reader.py index ebe6e78d08..d7d7bbf725 100644 --- a/src/calibre/ebooks/oeb/reader.py +++ b/src/calibre/ebooks/oeb/reader.py @@ -131,7 +131,7 @@ class OEBReader(object): stream = cStringIO.StringIO(etree.tostring(opf)) mi = MetaInformation(OPF(stream)) if not mi.language: - mi.language = get_lang() + mi.language = get_lang().replace('_', '-') self.oeb.metadata.add('language', mi.language) if not mi.title: mi.title = self.oeb.translate(__('Unknown'))