def properties_to_xwiki_properties(file_path, path_prefix, base_file_name, lang): """Convert a java properties file to an XWiki java properties file""" # Directory of the translation file relative_dir_path = os.path.dirname(file_path) # Translation file name without the extension file_name = os.path.basename(file_path).split(".")[0] lang_delimiter_index = file_name.rfind("_" + lang) if lang_delimiter_index > 0: file_name = file_name[:lang_delimiter_index] # Weblate translation file properties_path = "{}_{}.properties".format( path_prefix + TRANSLATION_PREFIX + relative_dir_path + "/" + file_name, lang) properties = PropertiesFile() with open(properties_path, "r") as f_properties: properties.load(f_properties.read()) # Use the base translation file as template base_properties = PropertiesFile() with open(path_prefix + base_file_name, "r") as f_properties: base_properties.load(f_properties.read()) # Replace keys with the current translation base_properties.replace_with(properties) base_properties.filter_export() base_properties.write(path_prefix + file_path)
def properties_to_xwiki_properties(file_path, path_prefix, base_file_name, lang): """Convert a java properties file to an XWiki java properties file""" # Directory of the translation file relative_dir_path = os.path.dirname(file_path) # Translation file name without the extension file_name = os.path.basename(file_path).split(".")[0] lang_delimiter_index = file_name.rfind("_" + lang) if lang_delimiter_index > 0: file_name = file_name[:lang_delimiter_index] # Weblate translation file properties_path = "{}_{}.properties".format( path_prefix + TRANSLATION_PREFIX + relative_dir_path + "/" + file_name, lang) properties = PropertiesFile() with open(properties_path, "r") as f_properties: properties.load(f_properties.read()) if not properties.is_empty(): # Use the base translation file as template base_properties = PropertiesFile() with open(path_prefix + base_file_name, "r") as f_properties: base_properties.load(f_properties.read()) # Replace keys with the current translation base_properties.replace_with(properties) base_properties.filter_export() base_properties.write(path_prefix + file_path) else: print "Warning: {} translation is empty. Skipping it.".format(properties_path)
def properties_to_xwiki_xml_properties(file_path, path_prefix, base_file_name, lang): """Convert a java properties file to an XWiki XML file with properties""" # Directory of the translation file relative_dir_path = os.path.dirname(file_path) # Translation file name without the extension file_name = os.path.basename(file_path).split(".")[0] # Weblate translation file properties_path = "{}_{}.properties".format( path_prefix + TRANSLATION_PREFIX + relative_dir_path + "/" + file_name, lang) properties = PropertiesFile() with open(properties_path, "r") as f_properties: properties.load(f_properties.read()) # Use the base translation file as template xml_base_file = XmlFile() xml_base_file.load(path_prefix + base_file_name) content = xml_base_file.get_tag_content("content") base_properties = PropertiesFile() base_properties.load(content) # Replace keys with the current translation base_properties.replace_with(properties) base_properties.filter_export() xml_file = XmlFile() xml_file.load(path_prefix + file_path) xml_file.set_tag_content("content", base_properties.document) xml_file.write(path_prefix + file_path)
def properties_to_xwiki_xml_properties(file_path, path_prefix, base_file_name, lang): """Convert a java properties file to an XWiki XML file with properties""" # Directory of the translation file relative_dir_path = os.path.dirname(file_path) # Translation file name without the extension file_name = os.path.basename(file_path).split(".")[0] # Weblate translation file properties_path = "{}_{}.properties".format( path_prefix + TRANSLATION_PREFIX + relative_dir_path + "/" + file_name, lang) properties = PropertiesFile() with open(properties_path, "r") as f_properties: properties.load(f_properties.read()) if not properties.is_empty(): if not os.path.isfile(path_prefix + file_path): # Create the xml translation if it doesn't exists XmlFile.create_xml_file(path_prefix + file_path, path_prefix + base_file_name, lang) # Use the base translation file as template xml_base_file = XmlFile() xml_base_file.load(path_prefix + base_file_name) content = xml_base_file.get_tag_content("content") base_properties = PropertiesFile() base_properties.load(content) # Replace keys with the current translation base_properties.replace_with(properties) base_properties.filter_export() xml_file = XmlFile() xml_file.load(path_prefix + file_path) xml_file.set_tag_content("content", base_properties.document) xml_file.write(path_prefix + file_path) else: print "Warning: {} translation is empty. Skipping it.".format(properties_path)