3fbe6c9be5
- 添加 vnpy_v4.4.0/ 目录到版本控制 - 删除嵌入的 .git 目录避免嵌套仓库 - 添加 README_SANGUO.md 说明来源和用途 - 更新 .gitignore 移除 vnpy_v4.4.0/ 忽略规则 上游代码信息: - 项目: VeighNa 量化交易平台 - 版本: 4.4.0 - 来源: https://github.com/vnpy/vnpy 用途: 版本参考、代码学习、差异对比、离线开发 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
923 B
Python
24 lines
923 B
Python
from pathlib import Path
|
|
|
|
from hatchling.builders.hooks.plugin.interface import BuildHookInterface
|
|
from babel.messages.mofile import write_mo
|
|
from babel.messages.pofile import read_po
|
|
|
|
|
|
class LocaleBuildHook(BuildHookInterface):
|
|
"""Custom build hook for generating .mo files."""
|
|
|
|
def initialize(self, version: str, build_data: dict) -> None:
|
|
"""Initialize the build hook"""
|
|
# Only generate mo file when building wheel
|
|
if "pure_python" not in build_data:
|
|
return
|
|
|
|
self.locale_path: Path = Path(self.root).joinpath("vnpy", "trader", "locale")
|
|
self.mo_path: Path = self.locale_path.joinpath("en", "LC_MESSAGES", "vnpy.mo")
|
|
self.po_path: Path = self.locale_path.joinpath("en", "LC_MESSAGES", "vnpy.po")
|
|
|
|
with open(self.mo_path, "wb") as mo_f:
|
|
with open(self.po_path, encoding="utf-8") as po_f:
|
|
write_mo(mo_f, read_po(po_f))
|