translate-keywords #4

Merged
KeshavAnandCode merged 3 commits from translate-keywords into main 2026-05-21 03:48:52 +00:00
5 changed files with 158 additions and 145 deletions

View File

@@ -0,0 +1 @@
# foreignthon-zh

View File

@@ -3,16 +3,17 @@ requires = ["hatchling"]
build-backend = "hatchling.build" build-backend = "hatchling.build"
[project] [project]
name = "foreignthon-template" # TODO: Modify to language code name = "foreignthon-zh"
version = "0.0.0" version = "0.1.0"
description = "[Template] language pack for ForeignThon." # TODO: Replace [Template] description = "Chinese language pack for ForeignThon."
license = { text = "GPL v3" } license = { text = "GPL v3" }
requires-python = ">=3.9" requires-python = ">=3.9"
authors = [ 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 keywords = ["foreignthon", "chinese", "中文", "mandarin"]
dependencies = ["foreignthon>=0.5.3"] # TODO: Update Version to Latest
dependencies = ["foreignthon>=0.5.3"]
classifiers = [ classifiers = [
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
@@ -21,10 +22,10 @@ classifiers = [
] ]
[project.urls] [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"] [project.entry-points."foreignthon.langs"]
template = "foreignthon_template" # TODO: Swap in format "code = foreignthon_code" zh = "foreignthon_zh"
[tool.hatch.build.targets.wheel] [tool.hatch.build.targets.wheel]
packages = ["src/foreignthon_template"] # TODO: Change to src/foreignthon_code packages = ["src/foreignthon_zh"]

View File

@@ -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": [
]
}

View File

@@ -1,5 +1,5 @@
from importlib.metadata import PackageNotFoundError, metadata, version
from importlib.resources import files from importlib.resources import files
from importlib.metadata import version, metadata, PackageNotFoundError
try: try:
package_name = (__package__ or "").replace("_", "-") package_name = (__package__ or "").replace("_", "-")
@@ -13,7 +13,7 @@ try:
# 2. Combine them into one single, clean list of unique names # 2. Combine them into one single, clean list of unique names
combined = [] combined = []
for item in (raw_authors + raw_emails): for item in raw_authors + raw_emails:
clean_name = item.split("<")[0].strip() clean_name = item.split("<")[0].strip()
if clean_name and clean_name not in combined: if clean_name and clean_name not in combined:
combined.append(clean_name) combined.append(clean_name)
@@ -24,6 +24,6 @@ except PackageNotFoundError:
__version__ = "0.0.0" __version__ = "0.0.0"
__authors__ = [] __authors__ = []
def get_pack_path(): def get_pack_path():
# TODO: Modify this path return files(__name__) / "zh.json"
return files(__name__) / "template.json"

143
src/foreignthon_zh/zh.json Normal file
View File

@@ -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": []
}