Move localization to its own script block and load it first
This commit is contained in:
parent
999a03e4a7
commit
1f57b948b7
@ -23,7 +23,7 @@ def list_localizations(dirname):
|
|||||||
localizations[fn] = file.path
|
localizations[fn] = file.path
|
||||||
|
|
||||||
|
|
||||||
def localization_js(current_localization_name):
|
def localization_js(current_localization_name: str) -> str:
|
||||||
fn = localizations.get(current_localization_name, None)
|
fn = localizations.get(current_localization_name, None)
|
||||||
data = {}
|
data = {}
|
||||||
if fn is not None:
|
if fn is not None:
|
||||||
@ -34,4 +34,4 @@ def localization_js(current_localization_name):
|
|||||||
print(f"Error loading localization from {fn}:", file=sys.stderr)
|
print(f"Error loading localization from {fn}:", file=sys.stderr)
|
||||||
print(traceback.format_exc(), file=sys.stderr)
|
print(traceback.format_exc(), file=sys.stderr)
|
||||||
|
|
||||||
return f"var localization = {json.dumps(data)}\n"
|
return f"window.localization = {json.dumps(data)}"
|
||||||
|
@ -1771,12 +1771,11 @@ def webpath(fn):
|
|||||||
|
|
||||||
|
|
||||||
def javascript_html():
|
def javascript_html():
|
||||||
script_js = os.path.join(script_path, "script.js")
|
# Ensure localization is in `window` before scripts
|
||||||
head = f'<script type="text/javascript" src="{webpath(script_js)}"></script>\n'
|
head = f'<script type="text/javascript">{localization.localization_js(shared.opts.localization)}</script>\n'
|
||||||
|
|
||||||
inline = f"{localization.localization_js(shared.opts.localization)};"
|
script_js = os.path.join(script_path, "script.js")
|
||||||
if cmd_opts.theme is not None:
|
head += f'<script type="text/javascript" src="{webpath(script_js)}"></script>\n'
|
||||||
inline += f"set_theme('{cmd_opts.theme}');"
|
|
||||||
|
|
||||||
for script in modules.scripts.list_scripts("javascript", ".js"):
|
for script in modules.scripts.list_scripts("javascript", ".js"):
|
||||||
head += f'<script type="text/javascript" src="{webpath(script.path)}"></script>\n'
|
head += f'<script type="text/javascript" src="{webpath(script.path)}"></script>\n'
|
||||||
@ -1784,7 +1783,8 @@ def javascript_html():
|
|||||||
for script in modules.scripts.list_scripts("javascript", ".mjs"):
|
for script in modules.scripts.list_scripts("javascript", ".mjs"):
|
||||||
head += f'<script type="module" src="{webpath(script.path)}"></script>\n'
|
head += f'<script type="module" src="{webpath(script.path)}"></script>\n'
|
||||||
|
|
||||||
head += f'<script type="text/javascript">{inline}</script>\n'
|
if cmd_opts.theme:
|
||||||
|
head += f'<script type="text/javascript">set_theme(\"{cmd_opts.theme}\");</script>\n'
|
||||||
|
|
||||||
return head
|
return head
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user