Professional Documents
Culture Documents
สร้าง Thai keyboard Wordlist Generator
สร้าง Thai keyboard Wordlist Generator
import re
mapping = {
"q": "ๆ", "w": "ไ", "e": "ำา", "r": "พ", "t": "ะ", "y": "ำั", "u": "ำี", "i": "ร",
"o": "น", "p": "ย",
"[": "บ", "]": "ล", "\\": "ฃ",
"a": "ฟ", "s": "ห", "d": "ก", "f": "ด", "g": "เ", "h": "ำ้", "j": "ำ่ ", "k": "า",
"l": "ส", ";": "ว", "'": "ง",
",": "ฟ",
"z": "ผ", "x": "ป", "c": "แ", "v": "อ", "b": "ำิ", "n": "ำื", "m": "ท", ",": "ม",
".": "ใ", "/": "ฝ",
"Q": "๐", "W": "\"", "E": "ฎ", "R": "ฑ", "T": "ธ", "Y": "ำ", "U": "ำ", "I":
"ณ", "O": "ฯ", "P": "ญ",
"{": "ฐ", "}": ",", "|": "ฅ",
"A": "ฤ", "S": "ฆ", "D": "ฏ", "F": "โ", "G": "ฌ", "H": "ำ็", "J": "ำ", "K": "ษ",
"L": "ศ", ":": "ซ", "\"": ".",
"<": "ฉ", ">": "ฮ", "?": "ำ์",
"1": "ๅ", "2": "/", "3": "-", "4": "ภ", "5": "ถ", "6": "ำ", "7": "ำึ", "8": "ค",
"9": "ต", "0": "จ", "-": "ข", "=": "ช",
"!": "+", "@": "๑", "#": "๒", "$": "๓", "%": "๔", "^": "ำ", "&": "฿", "*": "๕",
"(": "๖", ")": "๗", "_": "๘", "+": "๙",
}
def map_to_thai(input_text):
thai_text = ""
for char in input_text:
if char in mapping:
thai_text += mapping[char]
else:
thai_text += char
return thai_text
def map_to_english(input_text):
reverse_mapping = {value: key for key, value in mapping.items()}
english_text = ""
for char in input_text:
if char in reverse_mapping:
english_text += reverse_mapping[char]
else:
english_text += char
return english_text
def is_thai(text):
thai_characters = "ๅ/-ภถึคตจขช'ฝพะำัำีรนยบลฃฟหกดเำ้ำ่าสวงผปแอิืทมใฝ๐\"ฎฑธ๊ณฯญฐ,ฅฤฆฏโฌ็๋ษศซ.()ฉฮฺ์?ฒฬฦ"
for char in text:
if char in thai_characters:
return True
return False
def translate_text(input_text):
if is_thai(input_text):
translated_text = map_to_english(input_text)
print(translated_text)
#print(is_valid_password(str(translated_text)))
else:
translated_text = map_to_thai(input_text)
print(translated_text)
#print(is_valid_password(str(translated_text)))
def is_valid_password(password):
# Define the regular expression patterns for each criterion
criteria = {
"lowercase": r"(?=.*[a-zก-๙])", # At least one lowercase letter (English
and Thai)
"uppercase": r"(?=.*[A-Zก-๙])", # At least one uppercase letter (English
and Thai)
"digit": r"(?=.*\d)", # At least one digit
"special": r"(?=.*[@$!%*?&;])", # At least one special character
(excluding ' and ") }
}