def run(self): compile_catalog.run(self) if isinstance(self.domain, list): for domain in self.domain: self._run_domain_js(domain) else: self._run_domain_js(self.domain)
def run(self): try: sys.stderr = Tee(sys.stderr) compile_catalog.run(self) finally: if sys.stderr.buffer.getvalue(): print("Compiling failed.") sys.exit(1) if isinstance(self.domain, list): for domain in self.domain: self._run_domain_js(domain) else: self._run_domain_js(self.domain)
def run(self): compile_catalog.run(self) po_files = [] js_files = [] if not self.input_file: if self.locale: po_files.append((self.locale, os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.po'))) js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) else: for locale in os.listdir(self.directory): po_file = os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.po') if os.path.exists(po_file): po_files.append((locale, po_file)) js_files.append(os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.js')) else: po_files.append((self.locale, self.input_file)) if self.output_file: js_files.append(self.output_file) else: js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) for js_file, (locale, po_file) in zip(js_files, po_files): infile = open(po_file, 'r') try: catalog = read_po(infile, locale) finally: infile.close() if catalog.fuzzy and not self.use_fuzzy: continue log.info('writing JavaScript strings in catalog %r to %r', po_file, js_file) jscatalog = {} for message in catalog: if any(x[0].endswith(('.js', '.js_t', '.html')) for x in message.locations): msgid = message.id if isinstance(msgid, (list, tuple)): msgid = msgid[0] jscatalog[msgid] = message.string outfile = open(js_file, 'wb') try: outfile.write('Documentation.addTranslations(') dump(dict( messages=jscatalog, plural_expr=catalog.plural_expr, locale=str(catalog.locale) ), outfile, sort_keys=True) outfile.write(');') finally: outfile.close()
def run(self): compile_catalog.run(self) po_files = [] js_files = [] if not self.input_file: if self.locale: po_files.append((self.locale, os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.po'))) js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) else: for locale in os.listdir(self.directory): po_file = os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.po') if os.path.exists(po_file): po_files.append((locale, po_file)) js_files.append(os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.js')) else: po_files.append((self.locale, self.input_file)) if self.output_file: js_files.append(self.output_file) else: js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) for js_file, (locale, po_file) in zip(js_files, po_files): infile = open(po_file, 'r') try: catalog = read_po(infile, locale) finally: infile.close() if catalog.fuzzy and not self.use_fuzzy: continue log.info('writing JavaScript strings in catalog %r to %r', po_file, js_file) jscatalog = {} for message in catalog: if any(x[0].endswith('.js') for x in message.locations): msgid = message.id if isinstance(msgid, (list, tuple)): msgid = msgid[0] jscatalog[msgid] = message.string outfile = open(js_file, 'wb') try: outfile.write('Documentation.addTranslations('); dump(dict( messages=jscatalog, plural_expr=catalog.plural_expr, locale=str(catalog.locale) ), outfile) outfile.write(');') finally: outfile.close()
def run(self): compile_catalog.run(self) po_files = [] js_files = [] if not self.input_file: if self.locale: po_files.append((self.locale, os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.po'))) js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) else: for locale in os.listdir(self.directory): po_file = os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.po') if os.path.exists(po_file): po_files.append((locale, po_file)) js_files.append(os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.js')) else: po_files.append((self.locale, self.input_file)) if self.output_file: js_files.append(self.output_file) else: js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) for js_file, (locale, po_file) in zip(js_files, po_files): infile = open(po_file, 'r') try: catalog = read_po(infile, locale) finally: infile.close() if catalog.fuzzy and not self.use_fuzzy: continue log.info('writing JavaScript strings in catalog %r to %r', po_file, js_file) jscatalog = {} for message in catalog: # Si le message n'a pas encore été traduit, # on ne l'ajoute pas. Le message d'origine # (non traduit) sera renvoyé. if not message.string: continue # On n'ajoute le message au fichier de traduction JS # auto-généré que si le message est utilisé dans du # code JavaScript. if any(x[0].endswith('.js') for x in message.locations): msgid = message.id if isinstance(msgid, (list, tuple)): msgid = msgid[0] jscatalog[msgid] = message.string outfile = open(js_file, 'wb') try: outfile.write('babelThemes.Translations.load('); dump(dict( messages=jscatalog, plural_expr=catalog.plural_expr, locale=str(catalog.locale) ), outfile) outfile.write(').install();') finally: outfile.close()