def compile_po(path): from msgfmt import Msgfmt for language in os.listdir(path): lc_path = join(path, language, 'LC_MESSAGES') if os.path.isdir(lc_path): for domain_file in os.listdir(lc_path): if domain_file.endswith('.po'): file_path = join(lc_path, domain_file) mo_file = join(lc_path, '%s.mo' % domain_file[:-3]) mo_content = Msgfmt(file_path, name=file_path).get() mo = open(mo_file, 'wb') mo.write(mo_content) mo.close()