Spaces:
Sleeping
Sleeping
File size: 1,354 Bytes
eaae64d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # ddgp/translit.py
# -*- coding: utf-8 -*-
"""
Transliteração ASCII -> Grego (básica)
"""
import re
def latin_to_basic_grc(s: str) -> str:
"""Transliteração ASCII básica -> grego sem acentos (hipatia-style)."""
if not s:
return s
# Remove dígitos (conforme regra original)
s = "".join(ch for ch in s if not ch.isdigit())
table = {
"a":"α","b":"β","g":"γ","d":"δ",
"e":"ε","z":"ζ","h":"η","q":"θ",
"i":"ι","k":"κ","l":"λ","m":"μ",
"n":"ν","c":"ξ","o":"ο","p":"π",
"r":"ρ","s":"σ","t":"τ","u":"υ",
"f":"φ","x":"χ","y":"ψ","w":"ω",
"v":"β", # Adicionado 'v' para flexibilidade, se necessário
}
out = []
prev = ""
for ch in s.lower(): # Garante que a entrada é tratada como minúscula
# Trata espaços para produzir sigma final ς quando apropriado
if ch == " " and prev == "σ":
out[-1] = "ς"
out.append(" ")
prev = " "
continue
gr = table.get(ch, ch)
out.append(gr)
prev = gr
# Trata sigma final (no fim da palavra)
if out and out[-1] == "σ":
out[-1] = "ς"
return "".join(out)
# Função de importação que o app.py espera
transliterate_to_greek = latin_to_basic_grc |