def main(): try: import bpy except ImportError: print("This script must run from inside blender") return import sys back_argv = sys.argv # Get rid of Blender args! sys.argv = sys.argv[sys.argv.index("--") + 1:] import argparse parser = argparse.ArgumentParser(description="Process UI messages from inside Blender.") parser.add_argument('-c', '--no_checks', default=True, action="store_false", help="No checks over UI messages.") parser.add_argument('-m', '--no_messages', default=True, action="store_false", help="No export of UI messages.") parser.add_argument('-o', '--output', default=None, help="Output POT file path.") parser.add_argument('-s', '--settings', default=None, help="Override (some) default settings. Either a JSon file name, or a JSon string.") args = parser.parse_args() settings = settings_i18n.I18nSettings() settings.from_json(args.settings) if args.output: settings.FILE_NAME_POT = args.output dump_messages(do_messages=args.no_messages, do_checks=args.no_checks, settings=settings) sys.argv = back_argv
BoolProperty, CollectionProperty, EnumProperty, FloatProperty, FloatVectorProperty, IntProperty, PointerProperty, StringProperty, ) from bl_i18n_utils import settings as settings_i18n import os settings = settings_i18n.I18nSettings() class UI_OT_i18n_settings_load(bpy.types.Operator): """Load translations' settings from a persistent JSon file""" bl_idname = "ui.i18n_settings_load" bl_label = "I18n Load Settings" bl_option = {'REGISTER'} # "Parameters" filepath = StringProperty(description="Path to the saved settings file", subtype='FILE_PATH') filter_glob = StringProperty(default="*.json", options={'HIDDEN'}) def invoke(self, context, event): if not self.properties.is_property_set("filepath"):