diff --git a/README.md b/README.md index e69de29..9bcf1fb 100644 --- a/README.md +++ b/README.md @@ -0,0 +1 @@ +# foreignthon-zh diff --git a/pyproject.toml b/pyproject.toml index 553f31b..f5a3cfd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,16 +3,17 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "foreignthon-template" # TODO: Modify to language code -version = "0.0.0" -description = "[Template] language pack for ForeignThon." # TODO: Replace [Template] +name = "foreignthon-zh" +version = "0.1.0" +description = "Chinese language pack for ForeignThon." license = { text = "GPL v3" } requires-python = ">=3.9" authors = [ - { name = "John Doe", email = "loremipsum@example.com" } # TODO: Swap with real information + { name = "Cody Trainer" }, ] -keywords = ["foreignthon", "template", "template"] # TODO: Swap with real information -dependencies = ["foreignthon>=0.5.3"] # TODO: Update Version to Latest +keywords = ["foreignthon", "chinese", "中文", "mandarin"] + +dependencies = ["foreignthon>=0.5.3"] classifiers = [ "Programming Language :: Python :: 3", @@ -21,10 +22,10 @@ classifiers = [ ] [project.urls] -Homepage = "https://git.keshavanand.net/foreign-thon/foreignthon-template" # TODO: Update URL +Homepage = "https://git.keshavanand.net/foreign-thon/foreignthon-zh" [project.entry-points."foreignthon.langs"] -template = "foreignthon_template" # TODO: Swap in format "code = foreignthon_code" +zh = "foreignthon_zh" [tool.hatch.build.targets.wheel] -packages = ["src/foreignthon_template"] # TODO: Change to src/foreignthon_code \ No newline at end of file +packages = ["src/foreignthon_zh"] diff --git a/src/foreignthon_template/template.json b/src/foreignthon_template/template.json deleted file mode 100644 index efa8316..0000000 --- a/src/foreignthon_template/template.json +++ /dev/null @@ -1,132 +0,0 @@ -{ - "meta": { - "name": "Template", - "native_name": "Template", - "code": "template" - }, - "keywords": { - "if": "if", - "else": "else", - "elif": "elif", - "for": "for", - "while": "while", - "def": "def", - "class": "class", - "return": "return", - "break": "break", - "continue": "continue", - "pass": "pass", - "try": "try", - "except": "except", - "finally": "finally", - "raise": "raise", - "with": "with", - "import": "import", - "from": "from", - "as": "as", - "in": "in", - "is": "is", - "and": "and", - "or": "or", - "not": "not", - "del": "del", - "global": "global", - "nonlocal": "nonlocal", - "assert": "assert", - "yield": "yield", - "await": "await", - "async": "async", - "lambda": "lambda", - "True": "True", - "False": "False", - "None": "None" - }, - "builtins": { - "print": "print", - "input": "input", - "len": "len", - "range": "range", - "type": "type", - "int": "int", - "float": "float", - "str": "str", - "list": "list", - "dict": "dict", - "set": "set", - "tuple": "tuple", - "bool": "bool", - "open": "open", - "enumerate": "enumerate", - "map": "map", - "filter": "filter", - "sorted": "sorted", - "sum": "sum", - "min": "min", - "max": "max", - "abs": "abs", - "round": "round", - "all": "all", - "any": "any", - "next": "next", - "id": "id", - "chr": "chr", - "reversed": "reversed" - }, - "exceptions": { - "Exception": "Exception", - "BaseException": "BaseException", - "ValueError": "ValueError", - "TypeError": "TypeError", - "KeyError": "KeyError", - "IndexError": "IndexError", - "AttributeError": "AttributeError", - "NameError": "NameError", - "ImportError": "ImportError", - "FileNotFoundError": "FileNotFoundError", - "RuntimeError": "RuntimeError", - "ZeroDivisionError": "ZeroDivisionError", - "SyntaxError": "SyntaxError", - "AssertionError": "AssertionError", - "MemoryError": "MemoryError", - "OverflowError": "OverflowError", - "RecursionError": "RecursionError", - "PermissionError": "PermissionError", - "TimeoutError": "TimeoutError", - "SystemExit": "SystemExit", - "KeyboardInterrupt": "KeyboardInterrupt" - }, - "error_messages": { - "SyntaxError": "SyntaxError", - "ValueError": "ValueError", - "TypeError": "TypeError", - "KeyError": "KeyError", - "IndexError": "IndexError", - "AttributeError": "AttributeError", - "NameError": "NameError", - "ImportError": "ImportError", - "FileNotFoundError": "FileNotFoundError", - "ZeroDivisionError": "ZeroDivisionError", - "RecursionError": "RecursionError", - "RuntimeError": "RuntimeError", - "MemoryError": "MemoryError", - "OverflowError": "OverflowError", - "AssertionError": "AssertionError", - "PermissionError": "PermissionError", - "TimeoutError": "TimeoutError", - "KeyboardInterrupt": "KeyboardInterrupt" - }, - "stdlib": { - "math": "math", - "sys": "sys", - "datetime": "datetime", - "time": "time", - "random": "random", - "collections": "collections", - "pathlib": "pathlib", - "re": "re" - }, - - "postfix_keywords": [ - - ] -} \ No newline at end of file diff --git a/src/foreignthon_template/__init__.py b/src/foreignthon_zh/__init__.py similarity index 79% rename from src/foreignthon_template/__init__.py rename to src/foreignthon_zh/__init__.py index 105e737..f637cfc 100644 --- a/src/foreignthon_template/__init__.py +++ b/src/foreignthon_zh/__init__.py @@ -1,5 +1,5 @@ +from importlib.metadata import PackageNotFoundError, metadata, version from importlib.resources import files -from importlib.metadata import version, metadata, PackageNotFoundError try: package_name = (__package__ or "").replace("_", "-") @@ -13,7 +13,7 @@ try: # 2. Combine them into one single, clean list of unique names combined = [] - for item in (raw_authors + raw_emails): + for item in raw_authors + raw_emails: clean_name = item.split("<")[0].strip() if clean_name and clean_name not in combined: combined.append(clean_name) @@ -24,6 +24,6 @@ except PackageNotFoundError: __version__ = "0.0.0" __authors__ = [] + def get_pack_path(): - # TODO: Modify this path - return files(__name__) / "template.json" \ No newline at end of file + return files(__name__) / "zh.json" diff --git a/src/foreignthon_zh/zh.json b/src/foreignthon_zh/zh.json new file mode 100644 index 0000000..d28d513 --- /dev/null +++ b/src/foreignthon_zh/zh.json @@ -0,0 +1,143 @@ +{ + "meta": { + "name": "Chinese", + "native_name": "中文", + "code": "zh" + }, + "keywords": { + "如果": "if", + "否则": "else", + "不然": "elif", + "对于": "for", + "只要": "while", + "函数": "def", + "定义": "def", + "类": "class", + "类别": "class", + "导入": "import", + "从": "from", + "名": "as", + "返回": "return", + "打断": "break", + "继续": "continue", + "忽略": "pass", + "试": "try", + "失败": "except", + "然后": "finally", + "提出": "raise", + "同": "with", + "在": "in", + "是": "is", + "和": "and", + "或": "or", + "不": "not", + "删除": "del", + "共用": "global", + "非本地": "nonlocal", + "断言": "assert", + "产生": "yield", + "等": "await", + "非同步": "async", + "匿名": "lambda", + "λ": "lambda", + "真": "True", + "假": "False", + "空": "None" + }, + "builtins": { + "写": "print", + "打印": "print", + "扫描": "input", + "长度": "len", + "范围": "range", + "类型": "type", + "数字": "int", + "浮点数": "float", + "字符串": "str", + "列表": "list", + "字典": "dict", + "序列": "set", + "元組": "tuple", + "布尔": "bool", + "打开": "open", + "枚举": "enumerate", + "图": "map", + "滤": "filter", + "已排序": "sorted", + "已反向": "reversed", + "总和": "sum", + "最小": "min", + "最大": "max", + "绝对值": "abs", + "舍去": "round", + "都": "all", + "任何": "any", + "是实例": "isinstance", + "有属性": "hasattr", + "取属性": "getattr", + "设属性": "setattr", + "以文字表示": "repr", + "格式化": "format", + "变量": "vars", + "下": "next", + "鉴别": "id", + "字碼": "chr", + "十六进制": "hex", + "二进制": "bin", + "八进制": "oct" + }, + "exceptions": { + "Exception": "Exception", + "BaseException": "BaseException", + "ValueError": "ValueError", + "TypeError": "TypeError", + "KeyError": "KeyError", + "IndexError": "IndexError", + "AttributeError": "AttributeError", + "NameError": "NameError", + "ImportError": "ImportError", + "FileNotFoundError": "FileNotFoundError", + "RuntimeError": "RuntimeError", + "ZeroDivisionError": "ZeroDivisionError", + "SyntaxError": "SyntaxError", + "AssertionError": "AssertionError", + "MemoryError": "MemoryError", + "OverflowError": "OverflowError", + "RecursionError": "RecursionError", + "PermissionError": "PermissionError", + "TimeoutError": "TimeoutError", + "SystemExit": "SystemExit", + "KeyboardInterrupt": "KeyboardInterrupt" + }, + "error_messages": { + "SyntaxError": "SyntaxError", + "ValueError": "ValueError", + "TypeError": "TypeError", + "KeyError": "KeyError", + "IndexError": "IndexError", + "AttributeError": "AttributeError", + "NameError": "NameError", + "ImportError": "ImportError", + "FileNotFoundError": "FileNotFoundError", + "ZeroDivisionError": "ZeroDivisionError", + "RecursionError": "RecursionError", + "RuntimeError": "RuntimeError", + "MemoryError": "MemoryError", + "OverflowError": "OverflowError", + "AssertionError": "AssertionError", + "PermissionError": "PermissionError", + "TimeoutError": "TimeoutError", + "KeyboardInterrupt": "KeyboardInterrupt" + }, + "stdlib": { + "数学": "math", + "系统": "sys", + "日期时间": "datetime", + "时间": "time", + "random": "random", + "collections": "collections", + "pathlib": "pathlib", + "re": "re" + }, + "postfix_keywords": [] +}