Exemple #1
0
def import_translations_from_file(lang, fname, editor):
    from frappe.translate import read_csv_file

    frappe.local.session.user = editor

    for m in read_csv_file(fname):
        src = frappe.db.get_value("Translated Message", {
            "language": lang,
            "source": m[0]
        }, ["name", "source", "translated"])
        if src and src[2] != m[1]:
            message = frappe.get_doc("Translated Message", src[0])
            message.translated = m[1]
            try:
                message.save()
                frappe.db.commit()
                print src[1] + " updated"
            except frappe.ValidationError:
                print src[1] + " ignored"
        else:
            message = frappe.new_doc("Translated Message")
            message.source = m[0]
            message.translated = m[1]
            message.language = lang
            print "saving", m[0]
            message.save()
Exemple #2
0
def import_translations():
    apps_path = frappe.get_app_path("frappe", "..", "..")
    for app in os.listdir(apps_path):
        translations_folder = os.path.join(apps_path, app, app, "translations")
        if os.path.exists(translations_folder):
            for lang in frappe.db.sql_list("select name from tabLanguage"):
                path = os.path.join(translations_folder, lang + ".csv")
                if os.path.exists(path):
                    print "Evaluating {0}...".format(lang)
                    data = read_csv_file(path)
                    for m in data:
                        if not frappe.db.get_value("Translated Message", {
                                "language": lang,
                                "source": m[0]
                        }):
                            frappe.get_doc({
                                "doctype": "Translated Message",
                                "language": lang,
                                "source": m[0],
                                "translated": m[1],
                                "verfied": 0
                            }).insert()
                            frappe.db.commit()
                else:
                    print path + " does not exist"
Exemple #3
0
def export_translations():
	# ssh -p 9999 [email protected] "cd /home/frappe/frappe-bench/apps/frappe && git diff" | patch -p1
	for lang in get_all_languages():
		if lang!="en":
			print("exporting " + lang)
			edited = dict(frappe.db.sql("""select source, translated
				from `tabTranslated Message` where language=%s""", lang))
			for app in frappe.get_all_apps(True):
				path = os.path.join(frappe.get_app_path(app, "translations", lang + ".csv"))
				if os.path.exists(path):
					# only update existing strings
					current = dict(read_csv_file(path))

					for key in current:
						current[key] = edited.get(key) or current[key]

					write_translations_file(app, lang, current, sorted(list(current)))
Exemple #4
0
def export_translations():
	# ssh -p 9999 [email protected] "cd /home/frappe/frappe-bench/apps/frappe && git diff" | patch -p1
	for lang in get_all_languages():
		if lang!="en":
			print("exporting " + lang)
			edited = dict(frappe.db.sql("""select source, translated
				from `tabTranslated Message` where language=%s""", lang))
			for app in frappe.get_all_apps(True):
				path = os.path.join(frappe.get_app_path(app, "translations", lang + ".csv"))
				if os.path.exists(path):
					# only update existing strings
					current = dict(read_csv_file(path))

					for key in current:
						current[key] = edited.get(key) or current[key]

					write_translations_file(app, lang, current, sorted(list(current)))
Exemple #5
0
def import_translations_from_file(lang, fname, editor):
	from frappe.translate import read_csv_file

	frappe.local.session.user = editor

	for m in read_csv_file(fname):
		src = frappe.db.get_value("Translated Message", {"language": lang, "source": m[0]}, ["name", "source", "translated"])
		if src and src[2] != m[1]:
			message = frappe.get_doc("Translated Message", src[0])
			message.translated = m[1]
			try:
				message.save()
				frappe.db.commit()
				print(src[1] + " updated")
			except frappe.ValidationError:
				print(src[1] + " ignored")
		else:
			message = frappe.new_doc("Translated Message")
			message.source = m[0]
			message.translated = m[1]
			message.language = lang
			print("saving", m[0])
			message.save()
Exemple #6
0
def import_translations():
	apps_path = frappe.get_app_path("frappe", "..", "..")
	for app in os.listdir(apps_path):
		translations_folder = os.path.join(apps_path, app, app, "translations")
		if os.path.exists(translations_folder):
			for lang in frappe.db.sql_list("select name from tabLanguage"):
				path = os.path.join(translations_folder, lang + ".csv")
				if os.path.exists(path):
					print("Evaluating {0}...".format(lang))
					data = read_csv_file(path)
					for m in data:
						if not frappe.db.get_value("Translated Message",
							{"language": lang, "source": m[0]}):
							frappe.get_doc({
								"doctype": "Translated Message",
								"language": lang,
								"source": m[0],
								"translated": m[1],
								"verfied": 0
							}).insert()
							frappe.db.commit()
				else:
					print(path + " does not exist")