diff --git a/frappe/core/doctype/translation/translation.py b/frappe/core/doctype/translation/translation.py index 51fabeaf71..b7dc3b3e6e 100644 --- a/frappe/core/doctype/translation/translation.py +++ b/frappe/core/doctype/translation/translation.py @@ -5,7 +5,7 @@ import json import frappe from frappe.model.document import Document -from frappe.translate import MERGED_TRANSLATION_KEY, USER_TRANSLATION_KEY, bump_translation_version +from frappe.translate import MERGED_TRANSLATION_KEY, USER_TRANSLATION_KEY, change_translation_version from frappe.utils import is_html, strip_html_tags @@ -46,4 +46,4 @@ class Translation(Document): def clear_user_translation_cache(lang): frappe.cache.hdel(USER_TRANSLATION_KEY, lang) frappe.cache.hdel(MERGED_TRANSLATION_KEY, lang) - bump_translation_version() + change_translation_version() diff --git a/frappe/translate.py b/frappe/translate.py index d40a679f80..8c2008b6f5 100644 --- a/frappe/translate.py +++ b/frappe/translate.py @@ -250,22 +250,21 @@ def clear_cache(): frappe.cache.delete_value( keys=["bootinfo", USER_TRANSLATION_KEY, MERGED_TRANSLATION_KEY], ) - bump_translation_version() + change_translation_version() def get_translation_version() -> str: """Return the current translation version from cache.""" version = frappe.cache.get_value(TRANSLATION_VERSION_KEY) if version is None: - version = 1 + version = frappe.generate_hash(length=8) frappe.cache.set_value(TRANSLATION_VERSION_KEY, version) - return str(version) + return version -def bump_translation_version(): - """Increment the translation version so browser caches are invalidated.""" - current = frappe.cache.get_value(TRANSLATION_VERSION_KEY) or 0 - frappe.cache.set_value(TRANSLATION_VERSION_KEY, int(current) + 1) +def change_translation_version(): + """Generate a new random translation version to invalidate browser caches.""" + frappe.cache.set_value(TRANSLATION_VERSION_KEY, frappe.generate_hash(length=8)) def get_messages_for_app(app, deduplicate=True):