def _translate_in_all_languages(self, language_o, words): for language in Language.list_all_languages().split('\n'): try: t = Translate(Language(language_o.upper()), Language(language)) t.translate(words.encode('utf-8')).addCallback(self._success, jid, prot, language) \ .addErrback(self._error, jid, prot) except Exception: pass
def get(self): for m in Language.all(): m.delete() for m in Phrase.all(): m.delete() for m in Translation.all(): m.delete() LANGUAGES = [ (u'en_US', u'English'), (u'sv_SE', u'Svenska'), (u'ro_SE', u'Rövarspråket'), (u'fi_FI', u'Suomi'), ] for lang in LANGUAGES: m = Language(code=lang[0], label=lang[1], enabled_on_site=True, enabled_in_tool=True) m.put() self.response.headers['Content-Type'] = 'text/plain' for lang_code in old_translations: diff = set(old_translations['en_US'].keys()) - set(old_translations[lang_code].keys()); #logging.info("Diff for %s is %s" % (lang_code, diff)) self.response.out.write("Diff for %s is %s\n\n" % (lang_code, diff)) language = Language.all().filter('code =', lang_code).get() for i in old_translations[lang_code].items(): text = i[0] translation = i[1] p = Phrase.all().filter('text =', text).get() if p is None: p = Phrase(text=text) p.put() if translation: t = Translation(phrase=p, text=translation) t.put() language.translations.append(t.key()) language.save() init_cached_languages() init_cached_translations()
def process_file(table, options, language_stats, totals, filename, stream): lang = Language.from_filename(filename) if not lang: return False result = count_file(stream, lang) add_results(totals, result) if options.by_language: if lang not in language_stats: language_stats[lang] = Result() add_results(language_stats[lang], result) else: print_result_set(table, filename, result) return True
def get(self): for m in Language.all(): m.delete() for m in Phrase.all(): m.delete() for m in Translation.all(): m.delete() LANGUAGES = [ (u'en_US', u'English'), (u'sv_SE', u'Svenska'), (u'ro_SE', u'Rövarspråket'), (u'fi_FI', u'Suomi'), ] for lang in LANGUAGES: m = Language(code=lang[0], label=lang[1], enabled_on_site=True, enabled_in_tool=True) m.put() self.response.headers['Content-Type'] = 'text/plain' for lang_code in old_translations: diff = set(old_translations['en_US'].keys()) - set( old_translations[lang_code].keys()) #logging.info("Diff for %s is %s" % (lang_code, diff)) self.response.out.write("Diff for %s is %s\n\n" % (lang_code, diff)) language = Language.all().filter('code =', lang_code).get() for i in old_translations[lang_code].items(): text = i[0] translation = i[1] p = Phrase.all().filter('text =', text).get() if p is None: p = Phrase(text=text) p.put() if translation: t = Translation(phrase=p, text=translation) t.put() language.translations.append(t.key()) language.save() init_cached_languages() init_cached_translations()
import sys from os.path import dirname, join, abspath sys.path.insert(0, abspath(join(dirname(__file__), '..'))) from languages import Language from base import Base, Session, engine Base.metadata.create_all(engine) session = Session() languages = [{ "name": "English", "id": "en" }, { "name": "Hindi", "id": "hi" }, { "name": "Malayalam", "id": "ml" }] for l in languages: v = Language(name=l['name'], code=l['id']) session.add(v) session.commit()
makedirs(dst) else: os.remove(dst) if os.path.isdir(src): make_css(src, theme, dst) else: if asset.endswith('.css'): with codecs.open(src,"r", "utf-8") as src_fh, \ codecs.open(dst, "w", "utf-8") as dst_fh: template = string.Template(src_fh.read()) dst_fh.write(template.substitute(theme.css_variables)) else: shutil.copy(src, output_dir) THEMES = Theme.load_themes(theme_base) LANGUAGES = Language.load_languages(language_base) if __name__ == '__main__': args = sys.argv[1::] if len(args) < 3: print_error("usage: %s <region> <input repository directories> <output directory>") sys.exit(-1) theme = THEMES[args[0]] languages = LANGUAGES args = [os.path.abspath(a) for a in args[1:]] repositories, output_dir = args[:-1], args[-1] build(repositories, theme, languages, output_dir) sys.exit(0)
default=[scripture.value for scripture in ScriptureType], help= "list of scriptures to download; allowed values: bofm, dc-testament, pgp", ) parser.add_argument("-o", "--overwrite", action="store_true", help="overwrite files if they exist") parser.add_argument( "-t", "--threads", type=int, default=30, help="number of threads to download in parallel", ) parser.add_argument("destination", help="path to save JSON files") args = parser.parse_args() pool = concurrent.futures.ThreadPoolExecutor(max_workers=args.threads) languages = [Language(lang) for lang in args.languages] scriptures = [ScriptureType(scripture) for scripture in args.scriptures] overwrite = args.overwrite output_dir = pathlib.Path(args.destination) main( scriptures=scriptures, languages=languages, output_dir=output_dir, pool=pool, overwrite=overwrite, )
parser.add_argument("--language", default = 'en', help = 'the corpus language (en, de, ...)') parser.add_argument('-p', '--plot', action="store_true", help = 'provide a bar plot of the results') parser.add_argument("--version", action='version', version='%(prog)s version ' + __version__, help = 'output version information and exit') parser.add_argument("file", nargs='*', help = 'the file(s) to process') args = parser.parse_args() # initialize the language object (language of the corpus # determines number separators (1,000 vs. 1.000), assume English # if not given try: language = Language.create(args.language) except LookupError: print("error: language \"{}\" is not supported.". format(args.language), file=sys.stderr) sys.exit(1) # now do the processing ... processor = Processor(language, min=args.min, max=args.max) processor.verbosity = 2 if not args.file: processor.processFile(sys.stdin) for name in args.file: if name == '-': processor.processFile(sys.stdin) continue