added langs command utility

This commit is contained in:
2026-05-18 15:54:48 +00:00
parent c19d5b4c15
commit d9c5042ec7

View File

@@ -274,7 +274,25 @@ def check(file: Path):
click.echo(f"{e}", err=True) click.echo(f"{e}", err=True)
sys.exit(1) sys.exit(1)
@main.command(context_settings=CONTEXT_SETTINGS)
def langs():
"""List all installed language packs."""
from .pack import _discover_packs
packs = _discover_packs()
if not packs:
click.echo("No language packs installed.")
click.echo("Try: pip install foreignthon-es")
return
click.echo("Installed language packs:")
for code, module in sorted(packs.items()):
import json
data = json.loads(module.get_pack_path().read_text(encoding="utf-8"))
name = data["meta"].get("name", code)
native = data["meta"].get("native_name", "")
click.echo(f" {code:<6} {name} ({native})")
@main.command("pack", context_settings=CONTEXT_SETTINGS) @main.command("pack", context_settings=CONTEXT_SETTINGS)
@click.argument("json_file", type=click.Path(exists=True, path_type=Path)) @click.argument("json_file", type=click.Path(exists=True, path_type=Path))
def validate_pack(json_file: Path): def validate_pack(json_file: Path):