pass locale details to backend

This commit is contained in:
Damien Elmes 2020-02-15 12:36:59 +10:00
parent fe874e9909
commit 7d68da2b57
2 changed files with 8 additions and 1 deletions

View file

@ -111,6 +111,7 @@ threadLocal = threading.local()
# global defaults
currentLang: Any = None
currentTranslation: Any = None
locale_folder: str = ""
def localTranslation() -> Any:
@ -135,10 +136,12 @@ def setLang(lang: str, locale_dir: str, local: bool = True) -> None:
if local:
threadLocal.currentLang = lang
threadLocal.currentTranslation = trans
threadLocal.locale_folder = locale_dir
else:
global currentLang, currentTranslation
global currentLang, currentTranslation, locale_folder
currentLang = lang
currentTranslation = trans
locale_folder = locale_dir
def getLang() -> str:

View file

@ -3,6 +3,7 @@
# pylint: skip-file
import enum
import os
from dataclasses import dataclass
from typing import Callable, Dict, List, NewType, NoReturn, Optional, Tuple, Union
@ -179,10 +180,13 @@ def proto_progress_to_native(progress: pb.Progress) -> Progress:
class RustBackend:
def __init__(self, col_path: str, media_folder_path: str, media_db_path: str):
ftl_folder = os.path.join(anki.lang.locale_folder, "ftl")
init_msg = pb.BackendInit(
collection_path=col_path,
media_folder_path=media_folder_path,
media_db_path=media_db_path,
locale_folder_path=ftl_folder,
preferred_langs=[anki.lang.currentLang],
)
self._backend = ankirspy.open_backend(init_msg.SerializeToString())
self._backend.set_progress_callback(self._on_progress)