ILRDF-AI-Translator / config.py
ILRDF-Lowking's picture
Update config.py
27da6f9 verified
Raw
History Blame Contribute Delete
2.51 kB
# config.py
import os
from dotenv import load_dotenv
# 讀取環境變數
load_dotenv()
# --- 核心連線資訊 ---
LINE_TOKEN = os.getenv('LINE_TOKEN')
LINE_SECRET = os.getenv('LINE_SECRET')
BASE_URL = os.getenv('BASE_URL', '').rstrip('/')
# AI 鑰匙與資料庫 (保留擴充性)
GEMINI_KEY = os.getenv('GEMINI_KEY')
SUPABASE_URL = os.getenv('SUPABASE_URL')
SUPABASE_KEY = os.getenv('SUPABASE_KEY')
# --- 💡 新增:郵件伺服器配置 (用於回饋與報錯) ---
# 建議將以下資訊也設定在環境變數中,以確保資安
SMTP_SERVER = "smtp.gmail.com" # 預設使用 Gmail
SMTP_PORT = 465 # Gmail TLS 埠號
SENDER_EMAIL = os.getenv('SENDER_EMAIL') # 發送報錯的後台信箱
SENDER_PASSWORD = os.getenv('SENDER_PASSWORD') # 發送信箱的「應用程式密碼」
RECEIVER_EMAIL = os.getenv('RECEIVER_EMAIL') # 接收意見的公務信箱
# --- 16 族語核心配置表 ---
# 這些代碼是串接原語會 API 的關鍵,絕對不能錯
TRIBE_MAP = {
"阿美": {"asr_code": "formosan_ami", "mt_name": "阿美", "tts_speaker": "阿美_秀姑巒_女聲1"},
"泰雅": {"asr_code": "formosan_tay", "mt_name": "泰雅", "tts_speaker": None},
"排灣": {"asr_code": "formosan_pwn", "mt_name": "排灣", "tts_speaker": None},
"布農": {"asr_code": "formosan_bnn", "mt_name": "布農", "tts_speaker": None},
"卑南": {"asr_code": "formosan_pyu", "mt_name": "卑南", "tts_speaker": None},
"魯凱": {"asr_code": "formosan_dru", "mt_name": "魯凱", "tts_speaker": None},
"鄒": {"asr_code": "formosan_tsu", "mt_name": "鄒", "tts_speaker": None},
"賽夏": {"asr_code": "formosan_xsy", "mt_name": "賽夏", "tts_speaker": None},
"雅美": {"asr_code": "formosan_tao", "mt_name": "雅美", "tts_speaker": None},
"邵": {"asr_code": "formosan_ssf", "mt_name": "邵", "tts_speaker": None},
"噶瑪蘭": {"asr_code": "formosan_ckv", "mt_name": "噶瑪蘭", "tts_speaker": None},
"太魯閣": {"asr_code": "formosan_trv", "mt_name": "太魯閣", "tts_speaker": None},
"撒奇萊雅": {"asr_code": "formosan_szy", "mt_name": "撒奇萊雅", "tts_speaker": None},
"賽德克": {"asr_code": "formosan_sdq", "mt_name": "賽德克", "tts_speaker": None},
"拉阿魯哇": {"asr_code": "formosan_sxr", "mt_name": "拉阿魯哇", "tts_speaker": None},
"卡那卡那富": {"asr_code": "formosan_xnb", "mt_name": "卡那卡那富", "tts_speaker": None},
}