Compare commits

7 Commits

Author SHA1 Message Date
cc8c8d9f7b added error messages section to fix issues
All checks were successful
Pack Validation CI / validate (push) Successful in 7s
Publish Language Pack / verify (push) Successful in 7s
Publish Language Pack / publish (push) Successful in 13s
2026-06-13 13:16:02 -04:00
5443c67499 Fixed toml issue with tempalte
All checks were successful
Pack Validation CI / validate (push) Successful in 8s
Publish Language Pack / verify (push) Successful in 7s
Publish Language Pack / publish (push) Successful in 12s
2026-06-13 13:09:23 -04:00
9db5af9e07 Fixed toml issue with tempalte 2026-06-13 13:08:36 -04:00
16a16d9ba7 fixed init.py path
All checks were successful
Pack Validation CI / validate (push) Successful in 8s
Publish Language Pack / verify (push) Successful in 7s
Publish Language Pack / publish (push) Successful in 12s
2026-06-13 12:39:38 -04:00
6adedad265 bugfix
All checks were successful
Pack Validation CI / validate (push) Successful in 8s
Publish Language Pack / verify (push) Successful in 7s
Publish Language Pack / publish (push) Successful in 16s
2026-06-13 12:26:37 -04:00
2aa4c05c2d Merge pull request 'chatgpt readme :3' (#4) from update-readme into main
Some checks failed
Pack Validation CI / validate (push) Failing after 8s
Trigger Docs Rebuild / trigger (push) Successful in 2s
Reviewed-on: #4
2026-06-13 16:21:22 +00:00
2265e9f5ee chatgpt readme :3
Some checks failed
Pack Validation CI / validate (pull_request) Failing after 10s
2026-06-13 11:17:53 -05:00
4 changed files with 76 additions and 95 deletions

123
README.md
View File

@@ -1,54 +1,33 @@
<!-- ========================================================= # foreignthon-te
FOREIGNTHON LANGUAGE PACK README TEMPLATE
---------------------------------------------------------
Replace every line marked ← REPLACE with real content.
Remove all comment blocks before publishing.
========================================================= -->
# foreignthon-xx <!-- ← REPLACE xx with your language code, e.g. foreignthon-fr --> Telugu language pack for [ForeignThon](https://foreignthon.keshavanand.net/) — write Python in తెలుగు.
<!-- ← REPLACE with a one-line description -->
French language pack for [ForeignThon](https://foreignthon.keshavanand.net/) — write Python in Français.
--- ---
## Install ## Install
```bash ```bash
pip install foreignthon foreignthon-xx pip install foreignthon foreignthon-te
``` ```
<!-- ← REPLACE xx in the line above -->
--- ---
## Example ## Example
<!-- ========================================================= **`fizzbuzz.te.py`**
Write a short .xx.py file that shows your language in action.
Good things to include: a loop, a conditional, a function,
print, and at least one exception type.
Then show the compiled Python output below it so readers can
see the direct mapping.
========================================================= -->
**`fizzbuzz.xx.py`**
```python ```python
<!-- REPLACE this block with a real .xx.py file in your language --> రతి i పల పరిి(1, 21):
pour i dans intervalle(1, 21): ఒకవ i % 15 == 0:
si i % 15 == 0: ("FizzBuzz")
afficher("FizzBuzz") కప_ఒకవ i % 3 == 0:
sinonsi i % 3 == 0: ("Fizz")
afficher("Fizz") కప_ఒకవ i % 5 == 0:
sinonsi i % 5 == 0: ("Buzz")
afficher("Buzz") ిపక:
sinon: (i)
afficher(i)
``` ```
<!-- ← REPLACE the block above. Run fpy compile fizzbuzz.xx.py to get the output below -->
Compiles to standard Python: Compiles to standard Python:
```python ```python
@@ -66,91 +45,71 @@ for i in range(1, 21):
Run it directly without compiling first: Run it directly without compiling first:
```bash ```bash
fpy run fizzbuzz.xx.py fpy run fizzbuzz.te.py
``` ```
--- ---
## Keyword reference ## Keyword reference
<!-- ========================================================= | Python | తెలుగు |
Fill in the most important keyword mappings.
You don't need to list every single one — pick the ones
a new user would reach for first.
========================================================= -->
| Python | <!-- ← language name, e.g. Français --> |
|---|---| |---|---|
| `if` | <!-- ← your word --> | | `if` | `ఒకవేళ` |
| `else` | <!-- ← your word --> | | `else` | `లేనిపక్షంలో` |
| `elif` | <!-- ← your word --> | | `elif` | `లేకపోతే_ఒకవేళ` |
| `for` | <!-- ← your word --> | | `for` | `ప్రతి` |
| `while` | <!-- ← your word --> | | `while` | `ఎంతవరకు` |
| `def` | <!-- ← your word --> | | `def` | `రూపొందించు` |
| `class` | <!-- ← your word --> | | `class` | `మాదిరి` |
| `return` | <!-- ← your word --> | | `return` | `ఇవ్వు` |
| `import` | <!-- ← your word --> | | `import` | `చేర్చు` |
| `True` | <!-- ← your word --> | | `True` | `అవును` |
| `False` | <!-- ← your word --> | | `False` | `కాదు_విలువ` |
| `None` | <!-- ← your word --> | | `None` | `శూన్యం` |
| `print` | <!-- ← your word --> | | `print` | `చూపు` |
| `input` | <!-- ← your word --> | | `input` | `అడుగు` |
| `len` | <!-- ← your word --> | | `len` | `పొడవు` |
| `range` | <!-- ← your word --> | | `range` | `పరిధి` |
The full mapping is in [`xx.json`](https://git.keshavanand.net/foreign-thon/foreignthon-xx/raw/branch/main/src/foreignthon_xx/xx.json). The full mapping is in [`te.json`](https://git.keshavanand.net/foreign-thon/foreignthon-te/raw/branch/main/src/foreignthon_te/te.json).
<!-- ← REPLACE xx in the line above with your language code -->
--- ---
<!-- =========================================================
POSTFIX SECTION — only include this if your language uses
SOV (subject-object-verb) word order, i.e. postfix_keywords
in your JSON is non-empty. Delete this entire section if
your language is SVO (like Spanish, French, etc.).
========================================================= -->
## Postfix syntax ## Postfix syntax
<!-- ← REPLACE the example below with one from your language -->
This pack supports the `@@` postfix operator for natural SOV word order. This pack supports the `@@` postfix operator for natural SOV word order.
Instead of writing the keyword first: Instead of writing the keyword first:
```python ```python
ஆன x > 0: ఒకవ x > 0:
பதிி(x) (x)
``` ```
You can write it in natural Tamil order — condition first, keyword after: You can write it in natural Telugu order — condition first, keyword after:
```python ```python
x > 0 @@ஆன: x > 0 @@ఒకవ:
பதிி(x) (x)
``` ```
Both compile to the same Python. Decompile with postfix output using: Both compile to the same Python. Decompile with postfix output using:
```bash ```bash
fpy decompile script.py --lang xx --postfix fpy decompile script.py --lang te --postfix
``` ```
See [Postfix Syntax](https://foreignthon.keshavanand.net/postfix-syntax/) for full details. See [Postfix Syntax](https://foreignthon.keshavanand.net/postfix-syntax/) for full details.
<!-- END POSTFIX SECTION -->
--- ---
## Start a project ## Start a project
```bash ```bash
fpy new myproject --lang xx fpy new myproject --lang te
cd myproject cd myproject
fpy run src/main.xx.py fpy run src/main.te.py
``` ```
<!-- ← REPLACE xx above -->
--- ---
## Documentation ## Documentation
@@ -167,4 +126,4 @@ Found a missing translation or a better keyword for your language? Open an issue
## License ## License
GPL v3 GPL v3

View File

@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "foreignthon-te" name = "foreignthon-te"
version = "0.1.0" version = "0.1.1"
description = "Telugu language pack for ForeignThon." description = "Telugu language pack for ForeignThon."
license = { text = "GPL v3" } license = { text = "GPL v3" }
requires-python = ">=3.9" requires-python = ">=3.9"
@@ -24,7 +24,7 @@ classifiers = [
Homepage = "https://git.keshavanand.net/foreign-thon/foreignthon-te" Homepage = "https://git.keshavanand.net/foreign-thon/foreignthon-te"
[project.entry-points."foreignthon.langs"] [project.entry-points."foreignthon.langs"]
template = "foreignthon_te" te = "foreignthon_te"
[tool.hatch.build.targets.wheel] [tool.hatch.build.targets.wheel]
packages = ["src/foreignthon_te"] packages = ["src/foreignthon_te"]

View File

@@ -26,4 +26,4 @@ except PackageNotFoundError:
def get_pack_path(): def get_pack_path():
# TODO: Modify this path # TODO: Modify this path
return files(__name__) / "template.json" return files(__name__) / "te.json"

View File

@@ -99,6 +99,28 @@
"కీబోర్డు_అతరాయ": "KeyboardInterrupt" "కీబోర్డు_అతరాయ": "KeyboardInterrupt"
}, },
"error_messages": {
"SyntaxError": "వ్యాకరణ లోపం",
"ValueError": "విలువ లోపం",
"TypeError": "రకం లోపం",
"KeyError": "కీ లోపం",
"IndexError": "సూచిక లోపం",
"AttributeError": "లక్షణ లోపం",
"NameError": "పేరు లోపం",
"ImportError": "దిగుమతి లోపం",
"FileNotFoundError": "దస్త్రం కనబడలేదు",
"ZeroDivisionError": "సున్నాతో భాగహారం లోపం",
"RecursionError": "పునరావృతి పరిమితి లోపం",
"RuntimeError": "నిర్వహణ లోపం",
"MemoryError": "జ్ఞాపక లోపం",
"OverflowError": "మితిమీరిన విలువ లోపం",
"AssertionError": "నిర్ధారణ లోపం",
"PermissionError": "అనుమతి నిరాకరించబడింది",
"TimeoutError": "సమయం ముగిసింది",
"KeyboardInterrupt": "కీబోర్డు అంతరాయం"
},
"stdlib": { "stdlib": {
"గణితం": "math", "గణితం": "math",
"వ్యవస్థ": "sys", "వ్యవస్థ": "sys",
@@ -111,15 +133,15 @@
}, },
"postfix_keywords": [ "postfix_keywords": [
"ప్రతి", "for",
"ఎంతవరకు", "while",
"రూపొందించు", "def",
"మాదిరి", "class",
"ఇవ్వు", "return",
"యత్నించు", "try",
"ఎగరేయి", "raise",
"వాడుతూ", "with",
"చేర్చు", "import",
"నుంచీ" "from"
] ]
} }