feat(i18n): add Thai (th-TH) language support

Frontend:
- Add frontend/src/i18n/th-TH.json (913 keys, full parity with zh-CN)
- Register th-TH in i18n entry with native element-plus-secondary Thai locale
- Add Thai option to language selectors, legacy th_TH alias mapping,
  and browser locale detection (th* -> th-TH)
- Add common.thai label to all existing locale files

Backend:
- Add backend/locales/th-TH.json (177 keys)
- Accept th-TH in language whitelist, schema regex, and MCP question
- Map th* to Thai language name in LLM prompt language selection
- Apply question language to guess-question prompt template
This commit is contained in:
ulleo
2026-09-20 17:05:35 +08:00
committed by ulleo
parent 11b491e628
commit 21961e2d03
17 changed files with 1238 additions and 11 deletions
+2 -2
View File
@@ -354,7 +354,7 @@ class AiModelQuestion(BaseModel):
sqlbot_name=self.sqlbot_name)
def guess_user_question(self, old_questions: str = "[]"):
return get_guess_question_template()['user'].format(question=self.question, schema=self.db_schema,
return get_guess_question_template()['user'].format(lang=self.lang, question=self.question, schema=self.db_schema,
old_questions=old_questions)
def filter_sys_question(self):
@@ -411,7 +411,7 @@ class ChatQuestionBase(BaseModel):
class McpQuestion(ChatQuestionBase):
token: str = Body(description='token')
stream: Optional[bool] = Body(description='是否流式输出,默认为true开启, 关闭false则返回JSON对象', default=True)
lang: Optional[str] = Body(description='语言:zh-CN|zh-TW|en|ko-KR', default='zh-CN')
lang: Optional[str] = Body(description='语言:zh-CN|zh-TW|en|ko-KR|th-TH', default='zh-CN')
datasource_id: Optional[int | str] = Body(description='数据源ID,仅当当前对话没有确定数据源时有效', default=None)
return_img: Optional[bool] = Body(description='是否返回图表,默认为true开启, 关闭false则仅返回数据', default=True)
custom_model: Optional[str | int] = Body(description='模型ID', default=None)
+2
View File
@@ -2086,6 +2086,8 @@ def get_lang_name(lang: str):
return '英文'
if normalized.startswith('ko'):
return '韩语'
if normalized.startswith('th'):
return '泰语'
return '简体中文'
+1 -1
View File
@@ -166,7 +166,7 @@ async def get_model_by_ws(session: SessionDep, mcp_oid: WsMcp):
async def mcp_question(session: SessionDep, trans: Trans, chat: McpQuestion):
session_user = get_user(session, chat.token)
lang = chat.lang
if lang in ["zh-CN", "zh-TW", "en", "ko-KR"]:
if lang in ["zh-CN", "zh-TW", "en", "ko-KR", "th-TH"]:
session_user.language = lang
# if chat.oid:
# w_list = await user_ws_options(session, session_user.id, trans)
+1 -1
View File
@@ -370,7 +370,7 @@ async def batch_del(session: SessionDep, id_list: list[int]):
@clear_cache(namespace=CacheNamespace.AUTH_INFO, cacheName=CacheName.USER_INFO, keyExpression="current_user.id")
async def langChange(session: SessionDep, current_user: CurrentUser, trans: Trans, language: UserLanguage):
lang = language.language
if lang not in ["zh-CN", "zh-TW", "en", "ko-KR"]:
if lang not in ["zh-CN", "zh-TW", "en", "ko-KR", "th-TH"]:
raise Exception(trans('i18n_user.language_not_support', key = lang))
db_user: UserModel = get_db_user(session=session, user_id=current_user.id)
db_user.language = lang
+3 -3
View File
@@ -32,7 +32,7 @@ class BaseUser(BaseModel):
class BaseUserDTO(BaseUser, BaseCreatorDTO):
language: str = Field(pattern=r"^(zh-CN|zh-TW|en|ko-KR)$", default="zh-CN", description="用户语言")
language: str = Field(pattern=r"^(zh-CN|zh-TW|en|ko-KR|th-TH)$", default="zh-CN", description="用户语言")
password: str
status: int = 1
origin: int = 0
@@ -47,8 +47,8 @@ class BaseUserDTO(BaseUser, BaseCreatorDTO):
@field_validator("language")
def validate_language(cls, lang: str) -> str:
if not re.fullmatch(r"^(zh-CN|zh-TW|en|ko-KR)$", lang):
raise ValueError("Language must be 'zh-CN', 'zh-TW', 'en', or 'ko-KR'")
if not re.fullmatch(r"^(zh-CN|zh-TW|en|ko-KR|th-TH)$", lang):
raise ValueError("Language must be 'zh-CN', 'zh-TW', 'en', 'ko-KR', or 'th-TH'")
return lang
+209
View File
@@ -0,0 +1,209 @@
{
"i18n_default_workspace": "พื้นที่ทำงานเริ่มต้น",
"i18n_ds_name_exist": "ชื่อนี้มีอยู่แล้ว",
"i18n_concat_admin": "โปรดติดต่อผู้ดูแลระบบ!",
"i18n_exist": "{msg} มีอยู่แล้ว!",
"i18n_name": "ชื่อ",
"i18n_not_exist": "{msg} ไม่มีอยู่!",
"i18n_error": "{key} ผิดพลาด!",
"i18n_miss_args": "ขาดพารามิเตอร์ {key}!",
"i18n_format_invalid": "รูปแบบ {key} ไม่ถูกต้อง!",
"i18n_login": {
"account_pwd_error": "บัญชีหรือรหัสผ่านไม่ถูกต้อง!",
"no_associated_ws": "ไม่มีพื้นที่ทำงานที่เชื่อมโยง {msg}",
"user_disable": "บัญชีถูกปิดใช้งาน {msg}",
"origin_error": "วิธีเข้าสู่ระบบไม่ถูกต้อง",
"prohibit_auto_create": "ห้ามสร้างผู้ใช้โดยอัตโนมัติ โปรดซิงค์ผู้ใช้ก่อน",
"no_platform_user": "ไม่พบบัญชี โปรดซิงค์ผู้ใช้ก่อน",
"new_pwd_is_initial": "รหัสผ่านใหม่ต้องไม่เป็นรหัสผ่านเริ่มต้น"
},
"i18n_user": {
"account": "บัญชี",
"email": "อีเมล",
"password": "รหัสผ่าน",
"language_not_support": "ระบบไม่รองรับภาษา [{key}]!",
"ws_miss": "ผู้ใช้ปัจจุบันไม่ได้อยู่ในพื้นที่ทำงาน [{ws}]!",
"name": "ชื่อ",
"status": "สถานะผู้ใช้",
"origin": "แหล่งที่มาของผู้ใช้",
"workspace": "พื้นที่ทำงาน",
"role": "บทบาท",
"platform_user_id": "รหัสประจำตัวผู้ใช้ภายนอก",
"administrator": "ผู้ดูแลระบบ",
"ordinary_member": "สมาชิกทั่วไป",
"status_enabled": "เปิดใช้งานแล้ว",
"status_disabled": "ปิดใช้งานแล้ว",
"local_creation": "สร้างในระบบ"
},
"i18n_ws": {
"title": "พื้นที่ทำงาน"
},
"i18n_permission": {
"only_admin": "รองรับเฉพาะผู้ดูแลระบบเท่านั้น!",
"no_permission": "ไม่มีสิทธิ์เรียกใช้ {url}{msg}",
"authenticate_invalid": "การยืนยันตัวตนไม่ถูกต้อง【{msg}】",
"token_expired": "Token หมดอายุแล้ว",
"only_ws_admin": "รองรับเฉพาะผู้ดูแลพื้นที่ทำงานเท่านั้น!",
"permission_resource_limit": "ไม่มีสิทธิ์ดำเนินการ หรือไม่พบทรัพยากร!"
},
"i18n_llm": {
"validate_error": "ตรวจสอบไม่สำเร็จ [{msg}]",
"delete_default_error": "ไม่สามารถลบโมเดลเริ่มต้นได้ [{key}]!",
"miss_default": "ยังไม่ได้กำหนดค่าโมเดลภาษาขนาดใหญ่เริ่มต้น"
},
"i18n_ds_invalid": "การเชื่อมต่อแหล่งข้อมูลไม่ถูกต้อง",
"i18n_ds_upload_error": "อัปโหลดไฟล์ล้มเหลว",
"i18n_embedded": {
"invalid_origin": "ตรวจสอบโดเมนไม่สำเร็จ【{origin}】",
"missing_sign": "ขาดลายเซ็นการฝัง (SQLBOT-EMBEDDED-SIGN) จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"assistant_id_mismatch": "รหัสผู้ช่วยในลายเซ็นไม่ตรงกับคำขอปัจจุบัน จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"missing_origin": "หน้าเว็บปัจจุบันขาดข้อมูลแหล่งที่มา (Origin/Referer) จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"target_origin_mismatch": "โดเมนต้นทางในลายเซ็นไม่ตรงกับโดเมนของหน้าเว็บปัจจุบัน จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"invalid_sign": "ลายเซ็นการฝังไม่ถูกต้องหรือเสียหาย จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"sign_time_expired": "ความล่าช้าในการซิงค์ระหว่างเซิร์ฟเวอร์ (SQLBot) กับหน้าเว็บปัจจุบัน (ฝั่งผู้ฝัง) เกิน 10 วินาที ทำให้การเชื่อมต่อขาดหาย",
"sign_time_invalid": "รูปแบบเวลาในลายเซ็นไม่ถูกต้อง จึงไม่สามารถยืนยันตัวตนผู้ฝังได้",
"automation_tool_detected": "ตรวจพบการเข้าถึงด้วยเครื่องมืออัตโนมัติ จึงบล็อกการฝัง",
"user_agent_mismatch": "ตัวระบุเบราว์เซอร์ในลายเซ็นไม่ตรงกับคำขอปัจจุบัน จึงบล็อกการฝัง",
"timezone_mismatch": "ข้อมูลเขตเวลาในลายเซ็นไม่สอดคล้องกับเวลาในลายเซ็น จึงบล็อกการฝัง"
},
"i18n_chat": {
"record_id_in_mcp": "รหัสการตอบกลับ: "
},
"i18n_terminology": {
"terminology_not_exists": "ไม่พบคำศัพท์นี้",
"datasource_cannot_be_none": "แหล่งข้อมูลต้องไม่ว่าง",
"cannot_be_repeated": "ชื่อคำศัพท์และคำพ้องความหมายต้องไม่ซ้ำกัน",
"exists_in_db": "ชื่อคำศัพท์และคำพ้องความหมายมีอยู่แล้ว",
"term_name": "ชื่อคำศัพท์",
"term_description": "คำอธิบายคำศัพท์",
"effective_data_sources": "แหล่งข้อมูลที่มีผล",
"all_data_sources": "แหล่งข้อมูลทั้งหมด",
"synonyms": "คำพ้องความหมาย",
"term_name_template": "ชื่อคำศัพท์ (จำเป็น)",
"term_description_template": "คำอธิบายคำศัพท์ (จำเป็น)",
"effective_data_sources_template": "แหล่งข้อมูลที่มีผล (รองรับหลายรายการ คั่นด้วย \",\")",
"all_data_sources_template": "แหล่งข้อมูลทั้งหมด (Y: ใช้กับแหล่งข้อมูลทั้งหมด, N: ใช้กับแหล่งข้อมูลที่ระบุ)",
"synonyms_template": "คำพ้องความหมาย (รองรับหลายรายการ คั่นด้วย \",\")",
"term_name_template_example_1": "คำศัพท์ 1",
"term_description_template_example_1": "คำอธิบายคำศัพท์ 1",
"effective_data_sources_template_example_1": "แหล่งข้อมูลที่มีผล 1, แหล่งข้อมูลที่มีผล 2",
"synonyms_template_example_1": "คำพ้องความหมาย 1, คำพ้องความหมาย 2",
"term_name_template_example_2": "คำศัพท์ 2",
"term_description_template_example_2": "คำอธิบายคำศัพท์ 2",
"synonyms_template_example_2": "คำพ้องความหมาย 3",
"word_cannot_be_empty": "ชื่อคำศัพท์ต้องไม่ว่าง",
"description_cannot_be_empty": "คำอธิบายคำศัพท์ต้องไม่ว่าง",
"datasource_not_found": "ไม่พบแหล่งข้อมูล"
},
"i18n_data_training": {
"datasource_list_is_not_found": "ไม่พบรายการแหล่งข้อมูล",
"datasource_id_not_found": "ไม่พบรหัสแหล่งข้อมูล: {key}",
"datasource_cannot_be_none": "แหล่งข้อมูลต้องไม่ว่าง",
"datasource_assistant_cannot_be_none": "แหล่งข้อมูลและแอปพลิเคชันขั้นสูงต้องไม่ว่างทั้งคู่",
"data_training_not_exists": "ไม่พบตัวอย่างนี้",
"exists_in_db": "คำถามนี้มีอยู่แล้ว",
"data_training": "คลังตัวอย่าง SQL",
"problem_description": "คำอธิบายปัญหา",
"sample_sql": "ตัวอย่าง SQL",
"effective_data_sources": "แหล่งข้อมูลที่มีผล",
"advanced_application": "แอปพลิเคชันขั้นสูง",
"problem_description_template": "คำอธิบายปัญหา (จำเป็น)",
"sample_sql_template": "ตัวอย่าง SQL (จำเป็น)",
"effective_data_sources_template": "แหล่งข้อมูลที่มีผล",
"advanced_application_template": "แอปพลิเคชันขั้นสูง",
"problem_description_template_example": "สอบถาม ID ทั้งหมดในตาราง TEST",
"effective_data_sources_template_example": "แหล่งข้อมูลที่มีผล 1",
"advanced_application_template_example": "ชื่อแอปพลิเคชันขั้นสูงที่มีผล",
"error_info": "ข้อมูลข้อผิดพลาด",
"question_cannot_be_empty": "คำถามต้องไม่ว่าง",
"description_cannot_be_empty": "ตัวอย่าง SQL ต้องไม่ว่าง",
"datasource_not_found": "ไม่พบแหล่งข้อมูล",
"advanced_application_not_found": "ไม่พบแอปพลิเคชันขั้นสูง"
},
"i18n_custom_prompt": {
"exists_in_db": "ชื่อเทมเพลตมีอยู่แล้ว",
"not_exists": "ไม่พบเทมเพลตนี้",
"prompt_word_name": "ชื่อพรอมป์ต์",
"prompt_word_content": "เนื้อหาพรอมป์ต์",
"effective_data_sources": "แหล่งข้อมูลที่มีผล",
"all_data_sources": "แหล่งข้อมูลทั้งหมด",
"prompt_word_name_template": "ชื่อพรอมป์ต์ (จำเป็น)",
"prompt_word_content_template": "เนื้อหาพรอมป์ต์ (จำเป็น)",
"effective_data_sources_template": "แหล่งข้อมูลที่มีผล (รองรับหลายรายการ คั่นด้วย \",\")",
"all_data_sources_template": "แหล่งข้อมูลทั้งหมด (Y: ใช้กับแหล่งข้อมูลทั้งหมด, N: ใช้กับแหล่งข้อมูลที่ระบุ)",
"prompt_word_name_template_example1": "พรอมป์ต์ 1",
"prompt_word_content_template_example1": "อธิบายพรอมป์ต์ของคุณโดยละเอียด",
"effective_data_sources_template_example1": "แหล่งข้อมูลที่มีผล 1, แหล่งข้อมูลที่มีผล 2",
"prompt_word_name_template_example2": "พรอมป์ต์ 2",
"prompt_word_content_template_example2": "อธิบายพรอมป์ต์ของคุณโดยละเอียด",
"name_cannot_be_empty": "ชื่อต้องไม่ว่าง",
"prompt_cannot_be_empty": "เนื้อหาพรอมป์ต์ต้องไม่ว่าง",
"type_cannot_be_empty": "ชนิดต้องไม่ว่าง",
"datasource_not_found": "ไม่พบแหล่งข้อมูล",
"datasource_cannot_be_none": "แหล่งข้อมูลต้องไม่ว่าง"
},
"i18n_excel_export": {
"data_is_empty": "ข้อมูลในตารางว่าง ไม่สามารถส่งออกข้อมูลได้"
},
"i18n_excel_import": {
"col_num_not_match": "จำนวนคอลัมน์ในไฟล์ EXCEL ไม่ตรงกัน"
},
"i18n_authentication": {
"record_not_exist": "ไม่พบระเบียน {msg} โปรดบันทึกก่อน!"
},
"i18n_audit": {
"success": "สำเร็จ",
"failed": "ล้มเหลว",
"system_log": "บันทึกการดำเนินการ",
"operation_type_name": "ชนิดการดำเนินการ",
"operation_detail_info": "รายละเอียดการดำเนินการ",
"user_name": "ผู้ดำเนินการ",
"oid_name": "พื้นที่ทำงาน",
"operation_status_name": "สถานะการดำเนินการ",
"error_message": "ข้อมูลข้อผิดพลาด",
"ip_address": "ที่อยู่ IP",
"create_time": "เวลาที่ดำเนินการ",
"chat": "สอบถามข้อมูลอัจฉริยะ",
"datasource": "แหล่งข้อมูล",
"dashboard": "แดชบอร์ด",
"member": "สมาชิก",
"permission": "สิทธิ์",
"terminology": "คำศัพท์",
"data_training": "คลังตัวอย่าง SQL",
"prompt_words": "พรอมป์ต์",
"user": "ผู้ใช้",
"workspace": "พื้นที่ทำงาน",
"ai_model": "โมเดล AI",
"application": "แอปพลิเคชัน",
"theme": "การตั้งค่ารูปลักษณ์",
"create": "สร้าง",
"delete": "ลบ",
"update": "อัปเดต",
"edit": "แก้ไข",
"login": "เข้าสู่ระบบ",
"export": "ส่งออก",
"import": "นำเข้า",
"add": "เพิ่ม",
"create_or_update": "เปลี่ยนแปลง",
"api_key": "API Key",
"params_setting": "การกำหนดค่าพารามิเตอร์",
"rules": "กฎสิทธิ์",
"log_setting": "การยืนยันตัวตนเข้าสู่ระบบ",
"setting": "ตั้งค่า",
"system_management": "การจัดการระบบ",
"opt_log": "บันทึกการดำเนินการ",
"prediction": "การคาดการณ์ข้อมูล",
"analysis": "การวิเคราะห์ข้อมูล",
"reset_pwd": "รีเซ็ตรหัสผ่าน",
"update_pwd": "อัปเดตรหัสผ่าน",
"update_status": "อัปเดตสถานะ",
"update_table_relation": "เปลี่ยนแปลงความสัมพันธ์ระหว่างตาราง"
},
"i18n_table_not_exist": "ไม่พบตารางปัจจุบัน",
"i18n_variable": {
"name_exist": "ชื่อตัวแปรมีอยู่แล้ว",
"name": "ชื่อ",
"account": "บัญชี",
"email": "อีเมล"
}
}
+2 -4
View File
@@ -564,8 +564,6 @@ template:
guess:
system: |
### 请使用语言:{lang} 回答,不需要输出深度思考过程
### 说明:
您的任务是根据给定的表结构,用户问题以及以往用户提问,推测用户接下来可能提问的1-{articles_number}个问题。
请遵循以下规则:
@@ -581,7 +579,6 @@ template:
- 最多返回{articles_number}个你推测出的结果
- 若无法推测,则返回空数据JSON:
[]
- 若你的给出的JSON不是{lang}的,则必须翻译为{lang}
### 响应, 请直接返回JSON结果(不要包含任何其他文本):
@@ -595,7 +592,8 @@ template:
### 以往提问:
{old_questions}
/no_think
## 请根据上述要求,使用语言:{lang} 进行输出,不需要输出深度思考过程
## JSON列表内的值,语言请与 {lang} 保持一致
analysis:
system: |
<Instruction>
@@ -36,6 +36,7 @@ const languageOptions = computed(() => [
{ value: 'zh-CN', label: t('common.simplified_chinese') },
{ value: 'zh-TW', label: t('common.traditional_chinese') },
{ value: 'ko-KR', label: t('common.korean') },
{ value: 'th-TH', label: t('common.thai') },
])
const selectedLanguage = computed(() => {
@@ -66,6 +66,10 @@ const languageList = computed(() => [
name: '한국인',
value: 'ko-KR',
},
{
name: 'ไทย',
value: 'th-TH',
},
])
const popoverRef = ref()
+1
View File
@@ -209,6 +209,7 @@
"reset": "Reset",
"simplified_chinese": "简体中文",
"korean": "한국어",
"thai": "ไทย",
"traditional_chinese": "繁體中文",
"help": "Help",
"language": "Language",
+7
View File
@@ -3,9 +3,11 @@ import en from './en.json'
import zhCN from './zh-CN.json'
import zhTw from './zh-TW.json'
import koKR from './ko-KR.json'
import thTH from './th-TH.json'
import elementEnLocale from 'element-plus-secondary/es/locale/lang/en'
import elementZhLocale from 'element-plus-secondary/es/locale/lang/zh-cn'
import elementTwLocale from 'element-plus-secondary/es/locale/lang/zh-tw'
import elementThLocale from 'element-plus-secondary/es/locale/lang/th'
import { useCache } from '@/utils/useCache'
import { getBrowserLocale } from '@/utils/utils'
@@ -57,6 +59,10 @@ const messages = {
...koKR,
el: elementKoLocale,
},
'th-TH': {
...thTH,
el: elementThLocale,
},
}
export const i18n = createI18n({
@@ -72,6 +78,7 @@ const elementLocales = {
'zh-CN': elementZhLocale,
'zh-TW': elementTwLocale,
'ko-KR': elementKoLocale,
'th-TH': elementThLocale,
} as const
export const getElementLocale = () => {
+1
View File
@@ -209,6 +209,7 @@
"reset": "재설정",
"simplified_chinese": "简体中文",
"korean": "한국어",
"thai": "ไทย",
"traditional_chinese": "繁體中文",
"help": "도움말",
"language": "언어",
+997
View File
@@ -0,0 +1,997 @@
{
"menu": {
"add_interface_credentials": "โปรดเพิ่มข้อมูลรับรอง API",
"Data Q&A": "สอบถามข้อมูลอัจฉริยะ",
"Data Connections": "แหล่งข้อมูล",
"Dashboard": "แดชบอร์ด",
"AI Model Configuration": "การกำหนดค่าโมเดล",
"Details": "รายละเอียด"
},
"variables": {
"please_select_date": "โปรดเลือกวันที่",
"number_variable_error": "โปรดกรอกช่วงค่าตัวเลขให้ถูกต้อง",
"built_in": "มีในระบบแล้ว",
"normal_value": "ค่าปกติ",
"​​cannot_be_empty": "ค่าตัวแปรต้องไม่ว่าง",
"1_to_100": "ค่าตัวเลขของ {name} อยู่ในช่วง {min}~{max}",
"1_to_100_de": "ช่วงวันที่ของ {name} อยู่ระหว่าง {min}~{max}",
"system_variables": "ตัวแปรระบบ",
"variables": "ตัวแปร",
"system": "ระบบ",
"search_variables": "ค้นหาตัวแปร",
"add_variable": "เพิ่มตัวแปร",
"variable_name": "ชื่อตัวแปร",
"variable_type": "ชนิดตัวแปร",
"variable_value": "ค่าตัวแปร",
"variable_key": "คีย์ตัวแปร",
"kv": "คีย์-ค่า",
"edit_variable": "แก้ไขตัวแปร",
"no_variables_yet": "ยังไม่มีตัวแปร",
"please_enter_value": "โปรดกรอกค่า",
"date": "วันที่",
"start_date": "วันที่เริ่มต้น",
"end_date": "วันที่สิ้นสุด",
"enter_variable_name": "โปรดกรอกชื่อตัวแปร",
"enter_variable_value": "โปรดกรอกค่าตัวแปร",
"enter_variable_key": "โปรดกรอกคีย์ตัวแปร",
"key_value_cannot_be_empty": "คีย์และค่าต้องไม่ว่าง",
"key_repeat": "คีย์ต้องไม่ซ้ำกัน"
},
"authorized_space": {
"authorized_space": "พื้นที่ทำงานที่ได้รับอนุญาต",
"authorized_space_list": "รายการพื้นที่ทำงานที่ได้รับอนุญาต",
"select_space": "เลือกพื้นที่ทำงาน",
"modify_authorized_space": "แก้ไขพื้นที่ทำงานที่ได้รับอนุญาต",
"workspaces_authorized": "อนุญาตแล้ว {num} พื้นที่ทำงาน",
"number_of_members": "จำนวนสมาชิก",
"delete_selected_workspaces": "ยืนยันการนำพื้นที่ทำงานที่เลือก {msg} แห่งออกหรือไม่?",
"delete_workspace": "ยืนยันการนำพื้นที่ทำงาน: {msg} ออกหรือไม่?",
"no_workspace": "ยังไม่มีพื้นที่ทำงาน"
},
"sync": {
"records": "แสดง {num} รายการ จากทั้งหมด {total} รายการ",
"confirm_upload": "ยืนยันการอัปโหลด",
"field_details": "รายละเอียดฟิลด์",
"integration": "ต้องเปิดใช้งานการเชื่อมต่อแพลตฟอร์ม",
"the_existing_user": "หากผู้ใช้มีอยู่แล้ว ให้เขียนทับผู้ใช้เดิม",
"lazy_load": "โหลดแบบล่าช้า",
"sync_users": "ซิงค์ผู้ใช้",
"sync_wechat_users": "ซิงค์ผู้ใช้ WeCom",
"sync_dingtalk_users": "ซิงค์ผู้ใช้ DingTalk",
"sync_lark_users": "ซิงค์ผู้ใช้ Lark",
"sync_complete": "ซิงค์เสร็จสิ้น",
"synced_10_users": "ซิงค์ผู้ใช้สำเร็จ {num} ราย",
"failed_3_users": "ซิงค์ผู้ใช้สำเร็จ {success} ราย ล้มเหลว {failed} ราย ",
"download_failure_list": "ดาวน์โหลดรายการที่ล้มเหลว",
"sync_failed": "ซิงค์ล้มเหลว",
"failed_10_users": "ซิงค์ผู้ใช้ล้มเหลว {num} ราย ",
"continue_syncing": "ซิงค์ต่อไป",
"return_to_view": "กลับไปดู"
},
"parameter": {
"execution_details": "รายละเอียดการทำงาน",
"overview": "ภาพรวม",
"tokens_required": "Tokens ที่ใช้",
"time_execution": "เวลาที่ใช้",
"export_notes": "ส่งออกหมายเหตุ",
"import_notes": "นำเข้าหมายเหตุ",
"memo": "กติกาการอัปเดตหมายเหตุ: จับคู่ตามชื่อตารางและชื่อฟิลด์ หากตรงกันจะอัปเดตหมายเหตุของตารางและฟิลด์ หากไม่ตรงกัน หมายเหตุจะคงเดิม",
"parameter_configuration": "การกำหนดค่าพารามิเตอร์",
"question_count_settings": "การตั้งค่าการสอบถามข้อมูล",
"context_record_count": "จำนวนบันทึกบริบท",
"context_record_count_hint": "จำนวนรอบคำถามของผู้ใช้",
"model_thinking_process": "ขยายกระบวนการคิดของโมเดล",
"hide_model_thinking_process": "ย่อกระบวนการคิดของโมเดล",
"rows_of_data": "จำกัดข้อมูล 1000 แถว",
"third_party_platform_settings": "การตั้งค่าการยืนยันตัวตนเข้าสู่ระบบ",
"by_third_party_platform": "สร้างผู้ใช้โดยอัตโนมัติ",
"platform_user_organization": "พื้นที่ทำงานเริ่มต้น",
"platform_user_roles": "บทบาทผู้ใช้จากแพลตฟอร์มภายนอก",
"excessive_data_volume": "เมื่อปิดการจำกัด 1000 แถวแล้ว ข้อมูลจะมีปริมาณมาก อาจทำให้ระบบช้าหรือค้างได้",
"sqlbot_name": "ชื่อผู้ช่วยสอบถามข้อมูล",
"show_sql": "อนุญาตให้ดูคำสั่ง SQL",
"show_log": "แสดงบันทึกการทำงาน",
"prompt": "พรอมป์ต์",
"disabling_successfully": "ปิดใช้งานสำเร็จ",
"closed_by_default": "ควบคุมการขยายหรือย่อกระบวนการคิดของโมเดลโดยค่าเริ่มต้น ในหน้าต่างสอบถามข้อมูล",
"and_platform_integration": "เกี่ยวข้องกับการยืนยันตัวตนเข้าสู่ระบบ",
"login_settings": "การตั้งค่าการเข้าสู่ระบบ",
"default_login": "วิธีเข้าสู่ระบบเริ่มต้น",
"disable_initial_password": "ปิดใช้งานรหัสผ่านเริ่มต้น",
"hide_initial_password": "ซ่อนรหัสผ่านเริ่มต้นบนหน้าเว็บ"
},
"prompt": {
"default_password": "รหัสผ่านเริ่มต้น: {msg}",
"no_sql_sample": "ยังไม่มีตัวอย่าง SQL",
"add_sql_sample": "เพิ่มตัวอย่าง SQL",
"no_prompt_words": "ยังไม่มีพรอมป์ต์",
"customize_prompt_words": "พรอมป์ต์แบบกำหนดเอง",
"ask_sql": "SQL สำหรับสอบถามข้อมูล",
"data_analysis": "การวิเคราะห์ข้อมูล",
"data_prediction": "การคาดการณ์ข้อมูล",
"add_prompt_word": "เพิ่มพรอมป์ต์",
"prompt_word_name": "ชื่อพรอมป์ต์",
"prompt_word_content": "เนื้อหาพรอมป์ต์",
"training_data_details": "รายละเอียดข้อมูล",
"selected_prompt_words": "ยืนยันการลบพรอมป์ต์ที่เลือก {msg} รายการหรือไม่?",
"replaced_with": "โปรดกรอกพรอมป์ต์ เช่น เมื่อแสดงชื่อ ให้แสดงเฉพาะนามสกุล และใช้ * แทนชื่อจริง",
"loss_exercise_caution": "หากกรอกคำสั่งที่มีความเสี่ยงสูง เช่น ลบฐานข้อมูล ลบตารางข้อมูล หรือแก้ไขโครงสร้างตาราง อาจทำให้ข้อมูลสูญหายถาวร โปรดดำเนินการด้วยความระมัดระวัง!",
"edit_prompt_word": "แก้ไขพรอมป์ต์",
"all_236_terms": "ยืนยันการส่งออกพรอมป์ต์{type}ทั้งหมด {msg} รายการหรือไม่?",
"export_hint": "ยืนยันการส่งออกพรอมป์ต์{type}ทั้งหมดหรือไม่?",
"prompt_word_name_de": "ยืนยันการลบพรอมป์ต์: {msg} หรือไม่?",
"disable_field": "ปิดใช้งานฟิลด์",
"to_disable_it": "ฟิลด์นี้ได้กำหนดความสัมพันธ์ระหว่างตารางไว้ หากปิดใช้งาน ความสัมพันธ์ดังกล่าวจะไม่มีผล ยืนยันปิดใช้งานหรือไม่?"
},
"training": {
"effective_data_sources": "แหล่งข้อมูลที่มีผล",
"all_data_sources": "แหล่งข้อมูลทั้งหมด",
"partial_data_sources": "แหล่งข้อมูลบางส่วน",
"add_it_here": "ลากชื่อตารางจากด้านซ้ายมาวางที่นี่",
"table_relationship_management": "การจัดการความสัมพันธ์ระหว่างตาราง",
"system_management": "การจัดการระบบ",
"data_training": "คลังตัวอย่าง SQL",
"problem_description": "คำอธิบายปัญหา",
"sample_sql": "ตัวอย่าง SQL",
"search_problem": "ค้นหาคำถาม",
"add_training_data": "เพิ่มตัวอย่าง SQL",
"training_data_details": "รายละเอียดตัวอย่าง SQL",
"training_data_items": "ยืนยันการลบตัวอย่าง SQL ที่เลือก {msg} รายการหรือไม่?",
"sql_statement": "คำสั่ง SQL",
"edit_training_data": "แก้ไขตัวอย่าง SQL",
"all_236_terms": "ยืนยันการส่งออกตัวอย่าง SQL ทั้งหมด {msg} รายการหรือไม่?",
"export_hint": "ยืนยันการส่งออกตัวอย่าง SQL ทั้งหมดหรือไม่?",
"sales_this_year": "ยืนยันการลบตัวอย่าง SQL: {msg} หรือไม่?",
"upload_success": "นำเข้าสำเร็จ",
"upload_failed": "นำเข้าสำเร็จ {success} รายการ ล้มเหลว {fail} รายการ ดูรายละเอียดความล้มเหลวที่: {fail_info}"
},
"professional": {
"cannot_be_repeated": "ชื่อคำศัพท์และคำพ้องความหมายต้องไม่ซ้ำกัน",
"code_for_debugging": "คัดลอกโค้ดด้านล่างนี้เพื่อทดสอบ",
"full_screen_mode": "โหมดเต็มหน้าจอ",
"editing_terminology": "แก้ไขคำศัพท์",
"professional_terminology": "การกำหนดค่าคำศัพท์เฉพาะ",
"term_name": "ชื่อคำศัพท์",
"term_description": "คำอธิบายคำศัพท์",
"search_term": "ค้นหาคำศัพท์",
"no_term": "ยังไม่มีคำศัพท์",
"create_new_term": "สร้างคำศัพท์ใหม่",
"export_all": "ส่งออกทั้งหมด",
"professional_term_details": "รายละเอียดคำศัพท์เฉพาะ",
"business_term": "คำศัพท์ทางธุรกิจ",
"synonyms": "คำพ้องความหมาย",
"all_236_terms": "ยืนยันการส่งออกคำศัพท์ทั้งหมด {msg} รายการหรือไม่?",
"export_hint": "ยืนยันการส่งออกคำศัพท์ทั้งหมดหรือไม่?",
"export": "ส่งออก",
"selected_2_terms": "ยืนยันการลบคำศัพท์ที่เลือก {msg} รายการหรือไม่?",
"selected_2_terms_de": "ยืนยันการส่งออกคำศัพท์ที่เลือก {msg} รายการหรือไม่?",
"the_term_gmv": "ยืนยันการลบคำศัพท์: {msg} หรือไม่?"
},
"common": {
"start_time": "เวลาเริ่มต้น",
"end_time": "เวลาสิ้นสุด",
"require": "จำเป็น",
"zoom_in": "ขยาย",
"zoom_out": "ย่อ",
"the_default_model": "เป็นโมเดลเริ่มต้นแล้ว",
"as_default_model": "ตั้งเป็นโมเดลเริ่มต้น",
"no_model_yet": "ยังไม่มีโมเดล",
"intelligent_questioning_platform": "ยินดีต้อนรับสู่แพลตฟอร์มสอบถามข้อมูลอัจฉริยะ SQLBot",
"login": "เข้าสู่ระบบด้วยบัญชี",
"login_": "เข้าสู่ระบบ",
"confirm2": "ตกลง",
"excessive_tables_selected": "เลือกตารางข้อมูลจำนวนมากเกินไป",
"to_continue_saving": "จำนวนตารางข้อมูลที่เลือกคือ {msg} เกินกว่า 30 ซึ่งอาจทำให้การดำเนินการหมดเวลาหรือไม่ตอบสนอง ยืนยันบันทึกต่อหรือไม่?",
"proceed_with_caution": "หลังจากลบแล้วจะกู้คืนไม่ได้ โปรดดำเนินการด้วยความระมัดระวัง",
"sales_in_2024": "ยืนยันการลบบทสนทนา: {msg} หรือไม่?",
"limited_to_30": "จำกัดจำนวนตารางข้อมูลไว้ที่ 30",
"enter_your_password": "โปรดกรอกรหัสผ่าน",
"your_account_email_address": "โปรดกรอกบัญชี/อีเมล",
"the_correct_password": "โปรดกรอกรหัสผ่านให้ถูกต้อง",
"input_content": "โปรดกรอกเนื้อหา",
"may_not_exist": "ไม่พบผลลัพธ์ ผู้ใช้อาจไม่มีอยู่",
"empty": "",
"back": "ย้อนกลับ",
"confirm": "ยืนยัน",
"cancel": "ยกเลิก",
"search": "ค้นหา",
"system_manage": "การจัดการระบบ",
"update_success": "อัปเดตสำเร็จ",
"save_success": "บันทึกสำเร็จ",
"operation_success": "ดำเนินการสำเร็จ",
"next": "ถัดไป",
"save": "บันทึก",
"logout": "ออกจากระบบ",
"please_input": "โปรดกรอก{msg}",
"switch_success": "สลับสำเร็จ",
"result_count": "ผลลัพธ์",
"clear_filter": "ล้างเงื่อนไข",
"reset": "รีเซ็ต",
"simplified_chinese": "简体中文",
"korean": "한국어",
"thai": "ไทย",
"traditional_chinese": "繁體中文",
"help": "ช่วยเหลือ",
"language": "ภาษา",
"english": "English",
"re_upload": "อัปโหลดใหม่",
"not_exceed_50mb": "รองรับไฟล์ XLS, XLSX, CSV ขนาดไม่เกิน 50MB",
"excel_file_type_limit": "รองรับเฉพาะไฟล์ XLS, XLSX",
"click_to_select_file": "คลิกเพื่อเลือกไฟล์",
"upload_hint_first": "ก่อนอื่นโปรด",
"upload_hint_download_template": "ดาวน์โหลดเทมเพลต",
"upload_hint_end": " แล้วกรอกตามรูปแบบที่กำหนดก่อนอัปโหลด",
"continue_to_upload": "นำเข้าต่อ",
"reset_password": "รีเซ็ตรหัสผ่าน",
"password_reset_successful": "รีเซ็ตรหัสผ่านสำเร็จ",
"or": "หรือ",
"refresh": "รีเฟรช",
"input_limit": "ความยาวระหว่าง {0} ถึง {1} ตัวอักษร",
"file_size_limit_error": "ขนาดไฟล์เกินกำหนด (สูงสุด{limit})"
},
"dashboard": {
"open_dashboard": "เปิดแดชบอร์ด",
"add_dashboard_name_tips": "โปรดกรอกชื่อแดชบอร์ด",
"existing_dashboard": "แดชบอร์ดเดิม",
"add_success": "เพิ่มสำเร็จ",
"no_data": "ไม่พบเนื้อหาที่เกี่ยวข้อง",
"new_tab": "สร้างแท็บใหม่",
"length_limit64": "ความยาวฟิลด์ต้องอยู่ระหว่าง 1-64",
"sort_column": "ฟิลด์ที่ใช้เรียงลำดับ",
"sort_type": "วิธีเรียงลำดับ",
"time": "เวลา",
"sort_asc": "เรียงจากน้อยไปมาก",
"sort_desc": "เรียงจากมากไปน้อย",
"name_repeat": "ชื่อแดชบอร์ดนี้ถูกใช้แล้ว",
"rich_text_tips": "ดับเบิลคลิกเพื่อพิมพ์ข้อความ",
"exit_preview": "ออกจากโหมดดูตัวอย่าง",
"no_chat": "ยังไม่มีบทสนทนา",
"today": "วันนี้",
"this_week": "สัปดาห์นี้",
"earlier": "ก่อนหน้านี้",
"add_component_tips": "เลือกองค์ประกอบจากแถบเครื่องมือด้านบน ลากมาวางที่นี่เพื่อสร้างแดชบอร์ด",
"add_view": "เพิ่มแผนภูมิ",
"delete_dashboard_warn": "ยืนยันการลบแดชบอร์ด: {0} หรือไม่?",
"rename_dashboard": "เปลี่ยนชื่อแดชบอร์ด",
"dashboard_name": "ชื่อแดชบอร์ด",
"select_dashboard_tips": "โปรดเลือกแดชบอร์ดทางด้านซ้าย",
"no_dashboard": "ยังไม่มีแดชบอร์ด",
"no_dashboard_info": "ยังไม่มีเนื้อหา คลิกปุ่มด้านล่างเพื่อเพิ่ม",
"search": "ค้นหา",
"time_asc": "เรียงตามเวลาจากน้อยไปมาก",
"time_desc": "เรียงตามเวลาจากมากไปน้อย",
"name_asc": "เรียงตามชื่อจากน้อยไปมาก",
"name_desc": "เรียงตามชื่อจากมากไปน้อย",
"select_dashboard": "โปรดเลือกแดชบอร์ด",
"name": "ชื่อ",
"view": "แผนภูมิ",
"text": "Rich Text",
"preview": "ดูตัวอย่าง",
"creator": "ผู้สร้าง",
"dashboard_id": "รหัสแดชบอร์ด",
"create_time": "เวลาที่สร้าง",
"updater": "ผู้อัปเดต",
"update_time": "เวลาที่อัปเดต",
"edit": "แก้ไข",
"edit_title": "แก้ไขชื่อเรื่อง",
"length_1_64_characters": "ความยาวของชื่อฟิลด์ 1-64 ตัวอักษร",
"rename": "เปลี่ยนชื่อ",
"delete": "ลบ",
"delete_tips": "หลังจากลบ ทรัพยากรทั้งหมดในโฟลเดอร์นี้จะถูกลบด้วย โปรดดำเนินการด้วยความระมัดระวัง",
"undo": "เลิกทำ",
"reduction": "ทำซ้ำ",
"folder": "โฟลเดอร์",
"dashboard": "แดชบอร์ด",
"delete_warning": "ยืนยันการลบหรือไม่?",
"delete_resource_warn": "ยืนยันการลบ{0}นี้หรือไม่?",
"delete_success": "ลบสำเร็จ",
"new_folder": "สร้างโฟลเดอร์ใหม่",
"new_dashboard": "สร้างแดชบอร์ดใหม่",
"add_chart": "เพิ่มแผนภูมิ",
"chart_selected": "เลือกแล้ว {0}"
},
"qa": {
"retrieve_error": "ยังไม่มีเนื้อหา",
"retrieve_again": "ดึงข้อมูลใหม่",
"recently": "ล่าสุด",
"recommend": "แนะนำ",
"quick_question": "คำถามด่วน",
"new_chat": "สร้างบทสนทนาใหม่",
"start_sqlbot": "เริ่มสอบถามข้อมูล",
"title": "สอบถามข้อมูลอัจฉริยะ",
"placeholder": "โปรดกรอกคำถามของคุณ",
"ask": "ถาม",
"loading": "กำลังโหลด...",
"no_data": "ยังไม่มีข้อมูล",
"error": "เกิดข้อผิดพลาด โปรดลองอีกครั้งภายหลัง",
"question_placeholder": "กด Enter เพื่อส่งคำถาม หรือใช้ Ctrl + Enter เพื่อขึ้นบรรทัดใหม่",
"greeting": "สวัสดี ฉันคือ SQLBot ยินดีให้บริการคุณ",
"hint_description": "ฉันสามารถสอบถามข้อมูล สร้างแผนภูมิ วิเคราะห์ข้อมูล คาดการณ์ข้อมูล ฯลฯ โปรดเลือกแหล่งข้อมูล แล้วเริ่มใช้งานการสอบถามข้อมูลอัจฉริยะเลย~",
"select_datasource": "เลือกแหล่งข้อมูล",
"view_more": "ดูเพิ่มเติม",
"selected_datasource": "เลือกแหล่งข้อมูลแล้ว",
"empty_datasource": "ยังไม่มีแหล่งข้อมูล โปรดสร้างก่อนเริ่มใช้งานการสอบถามข้อมูลอัจฉริยะ!",
"datasource_not_exist": "ไม่พบแหล่งข้อมูล",
"guess_u_ask": "คำถามที่คุณอาจสนใจ:",
"continue_to_ask": "ถามต่อ:",
"data_analysis": "การวิเคราะห์ข้อมูล",
"data_predict": "การคาดการณ์ข้อมูล",
"data_regenerated": "สร้างใหม่",
"chat_search": "ค้นหา",
"thinking": "กำลังคิด",
"thinking_step": "กระบวนการคิด",
"ask_again": "สร้างใหม่",
"today": "วันนี้",
"week": "ภายใน 7 วัน",
"earlier": "ก่อนหน้านี้",
"no_time": "ไม่มีเวลา",
"rename_conversation_title": "เปลี่ยนชื่อบทสนทนา",
"conversation_title": "ชื่อบทสนทนา",
"copied": "คัดลอกแล้ว",
"ask_failed": "การสอบถามข้อมูลล้มเหลว"
},
"ds": {
"title": "แหล่งข้อมูล",
"local_excelcsv": "Excel/CSV ในเครื่อง",
"add": "เพิ่มแหล่งข้อมูล",
"delete": "ลบแหล่งข้อมูล",
"name": "ชื่อแหล่งข้อมูล",
"type": "ชนิดแหล่งข้อมูล",
"status": "สถานะ",
"pieces_in_total": "แสดง {ms} รายการ",
"actions": "การดำเนินการ",
"test_connection": "ทดสอบการเชื่อมต่อ",
"check": "ตรวจสอบ",
"connection_success": "เชื่อมต่อสำเร็จ",
"connection_failed": "เชื่อมต่อล้มเหลว โปรดตรวจสอบการกำหนดค่า",
"Search Datasource": "ค้นหาแหล่งข้อมูล",
"tables": "ตารางข้อมูล",
"no_data_tip": "ยังไม่มีข้อมูล โปรดเลือกตารางข้อมูลจากด้านซ้าย",
"comment": "คำอธิบาย",
"table_schema": "โครงสร้างตาราง",
"previous": "ก่อนหน้า",
"preview": "ดูตัวอย่างข้อมูล",
"preview_tip": "ดูตัวอย่าง 100 รายการ",
"field": {
"name": "ชื่อฟิลด์",
"type": "ชนิดข้อมูล",
"comment": "คำอธิบาย",
"custom_comment": "คำอธิบายที่กำหนดเอง",
"status": "สถานะ"
},
"edit": {
"table_comment": "แก้ไขคำอธิบายตาราง",
"field_comment": "แก้ไขคำอธิบายฟิลด์",
"table_comment_label": "คำอธิบายตาราง",
"field_comment_label": "คำอธิบายฟิลด์"
},
"form": {
"title": {
"add": "เพิ่มแหล่งข้อมูล",
"edit": "แก้ไขแหล่งข้อมูล",
"choose_tables": "เลือกตารางข้อมูล"
},
"base_info": "ข้อมูลพื้นฐาน",
"choose_tables": "เลือกตารางข้อมูล",
"name": "ชื่อ",
"description": "คำอธิบาย",
"host": "ชื่อโฮสต์/ที่อยู่ IP",
"port": "พอร์ต",
"username": "ชื่อผู้ใช้",
"password": "รหัสผ่าน",
"database": "ฐานข้อมูล",
"connect_mode": "วิธีเชื่อมต่อ",
"service_name": "ชื่อบริการ",
"extra_jdbc": "การกำหนดค่าการเชื่อมต่อฐานข้อมูลเพิ่มเติม",
"schema": "Schema",
"get_schema": "ดึง Schema",
"file": "ไฟล์",
"upload_tip": "รองรับเฉพาะไฟล์ .xls, .xlsx, .csv ขนาดไม่เกิน 50MB",
"version_tip": {
"sqlServer": "เวอร์ชันที่รองรับ: 2012+",
"oracle": "เวอร์ชันที่รองรับ: 12+",
"mysql": "เวอร์ชันที่รองรับ: 5.6+",
"pg": "เวอร์ชันที่รองรับ: 9.6+"
},
"selected": "เลือกแล้ว: {0}/{1}",
"validate": {
"name_required": "โปรดกรอกชื่อ",
"name_length": "ความยาวต้องอยู่ระหว่าง 1 ถึง 50 ตัวอักษร",
"type_required": "โปรดเลือกชนิดฐานข้อมูล",
"host_required": "โปรดกรอกที่อยู่โฮสต์",
"port_required": "โปรดกรอกหมายเลขพอร์ต",
"database_required": "โปรดกรอกชื่อฐานข้อมูล",
"mode_required": "โปรดเลือกวิธีเชื่อมต่อ",
"schema_required": "โปรดกรอกชื่อ Schema"
},
"mode": {
"sid": "SID",
"service_name": "ชื่อบริการ"
},
"support_version": "เวอร์ชันที่รองรับ",
"upload": {
"button": "อัปโหลด",
"tip": "รองรับเฉพาะไฟล์ .xls, .xlsx, .csv ขนาดไม่เกิน 50MB"
},
"connect": {
"success": "เชื่อมต่อสำเร็จ",
"failed": "เชื่อมต่อล้มเหลว"
},
"timeout": "หมดเวลาการเชื่อมต่อ (วินาที)",
"address": "ที่อยู่",
"low_version": "เข้ากันได้กับเวอร์ชันต่ำกว่า",
"ssl": "เปิดใช้งาน SSL",
"file_path": "เส้นทางไฟล์",
"pool_size": "ขนาดพูลการเชื่อมต่อ"
},
"sync_fields": "ซิงค์โครงสร้างตาราง",
"sync_fields_success": "ซิงค์โครงสร้างตารางสำเร็จ",
"sync_fields_failed": "ซิงค์โครงสร้างตารางล้มเหลว"
},
"datasource": {
"recommended_question": "คำถามแนะนำ",
"recommended_repetitive_tips": "มีคำถามที่ซ้ำกัน",
"recommended_problem_tips": "กำหนดคำถามเองอย่างน้อย 1 ข้อ แต่ละข้อยาว 2-200 ตัวอักษร",
"recommended_problem_configuration": "การกำหนดค่าคำถามแนะนำ",
"problem_generation_method": "วิธีสร้างคำถาม",
"ai_automatic_generation": "สร้างอัตโนมัติด้วย AI",
"user_defined": "ผู้ใช้กำหนดเอง",
"question_tips": "โปรดกรอกคำถามแนะนำ",
"add_question": "เพิ่มคำถาม",
"data_source_yet": "ยังไม่มีแหล่งข้อมูล",
"search_by_name": "ค้นหาตามชื่อ",
"search": "ค้นหา",
"all_types": "ทุกชนิด",
"new_data_source": "สร้างแหล่งข้อมูลใหม่",
"open_query": "เริ่มสอบถามข้อมูล",
"edit": "แก้ไข",
"source_connection_failed": "เชื่อมต่อแหล่งข้อมูลล้มเหลว",
"confirm": "ตกลง",
"copy": "คัดลอก",
"the_original_one": "ยืนยันการกู้คืนเป็นรหัสผ่านเริ่มต้นหรือไม่?",
"incorrect_email_format": "รูปแบบอีเมลไม่ถูกต้อง",
"enabled_status": "สถานะการเปิดใช้งาน",
"custom_notes": "หมายเหตุที่กำหนดเอง",
"field_type": "ชนิดฟิลด์",
"field_name": "ชื่อฟิลด์",
"relevant_content_found": "ไม่พบเนื้อหาที่เกี่ยวข้อง",
"please_enter": "โปรดกรอก",
"Please_select": "โปรดเลือก",
"table_notes": "หมายเหตุตาราง",
"field_notes": "หมายเหตุฟิลด์",
"select_all": "เลือกทั้งหมด",
"mysql_data_source": "แก้ไขแหล่งข้อมูล {msg}",
"configuration_information": "ข้อมูลการกำหนดค่า",
"data_source": "ยืนยันการลบแหล่งข้อมูล: {msg} หรือไม่?",
"operate_with_caution": "เมื่อถูกลบแล้ว จะไม่สามารถสอบถามข้อมูลจากแหล่งข้อมูลนี้ได้อีก โปรดดำเนินการด้วยความระมัดระวัง",
"data_source_de": "ไม่สามารถลบแหล่งข้อมูล: {msg}",
"cannot_be_deleted": "แหล่งข้อมูลนี้ถูกใช้โดยแผนภูมิในแดชบอร์ด จึงลบไม่ได้",
"got_it": "เข้าใจแล้ว",
"field_original_notes": "หมายเหตุเดิมของฟิลด์",
"field_notes_1": "หมายเหตุฟิลด์",
"no_table": "ยังไม่มีตารางข้อมูล",
"go_add": "ไปเพิ่ม",
"get_schema": "ดึง Schema"
},
"model": {
"int": "จำนวนเต็ม",
"float": "เลขทศนิยม",
"string": "ข้อความ",
"default_model": "โมเดลเริ่มต้น",
"model_type": "ชนิดโมเดล",
"basic_model": "โมเดลพื้นฐาน",
"set_successfully": "ตั้งค่าสำเร็จ",
"operate_with_caution": "เมื่อโมเดลเริ่มต้นของระบบถูกเปลี่ยน ผลลัพธ์การสอบถามข้อมูลอัจฉริยะจะได้รับผลกระทบ โปรดดำเนินการด้วยความระมัดระวัง",
"system_default_model": "ยืนยันการตั้ง {msg} เป็นโมเดลเริ่มต้นของระบบหรือไม่?",
"ai_model_configuration": "การกำหนดค่าโมเดล AI",
"system_default_model_de": "โมเดลเริ่มต้นของระบบ",
"relevant_results_found": "ไม่พบผลลัพธ์ที่เกี่ยวข้อง",
"add_model": "เพิ่มโมเดล",
"select_supplier": "เลือกผู้ให้บริการ",
"the_basic_model": "โปรดตั้งชื่อให้โมเดลพื้นฐาน",
"the_basic_model_de": "โปรดเลือกโมเดลพื้นฐาน",
"length_max_error": "ความยาวของ {msg} ต้องไม่เกิน {max} ตัวอักษร",
"model_name": "ชื่อโมเดล",
"custom_model_name": "ชื่อโมเดลที่กำหนดเอง",
"enter_to_add": "สำหรับโมเดลที่ไม่อยู่ในรายการ พิมพ์ชื่อโมเดลแล้วกด Enter เพื่อเพิ่มได้เลย",
"api_domain_name": "ชื่อโดเมน API",
"advanced_settings": "การตั้งค่าขั้นสูง",
"model_parameters": "พารามิเตอร์โมเดล",
"add": "เพิ่ม",
"parameters": "พารามิเตอร์",
"display_name": "ชื่อที่แสดง",
"parameter_value": "ค่าพารามิเตอร์",
"text": "ข้อความ",
"number": "ตัวเลข",
"parameter_type": "ชนิดพารามิเตอร์",
"verification_successful": "ตรวจสอบสำเร็จ",
"del_default_tip": "ไม่สามารถลบโมเดล: {msg}",
"del_default_warn": "โมเดลนี้เป็นโมเดลเริ่มต้นของระบบ โปรดตั้งโมเดลอื่นเป็นโมเดลเริ่มต้นก่อน แล้วจึงลบโมเดลนี้",
"del_warn_tip": "ยืนยันการลบโมเดล: {msg} หรือไม่?",
"check_failed": "โมเดลไม่ถูกต้อง【{msg}】",
"default_miss": "ยังไม่ได้กำหนดค่าโมเดลภาษาขนาดใหญ่เริ่มต้น จึงไม่สามารถเริ่มสอบถามข้อมูลได้ โปรดติดต่อผู้ดูแลระบบเพื่อกำหนดค่า",
"default_miss_admin": "ยังไม่ได้กำหนดค่าโมเดลภาษาขนาดใหญ่เริ่มต้น จึงไม่สามารถเริ่มสอบถามข้อมูลได้",
"to_config": "ไปตั้งค่า"
},
"user": {
"workspace": "พื้นที่ทำงาน",
"creation_time": "เวลาที่สร้าง",
"user_source": "แหล่งที่มาของผู้ใช้",
"phone_number": "เบอร์โทรศัพท์",
"email": "อีเมล",
"user_status": "สถานะผู้ใช้",
"account": "บัญชี",
"name": "ชื่อ",
"selected_2_items": "เลือกแล้ว {msg} รายการ",
"name_account_email": "ค้นหาชื่อ บัญชี อีเมล",
"user_management": "การจัดการผู้ใช้",
"filter": "กรอง",
"batch_import": "นำเข้าเป็นชุด",
"add_users": "เพิ่มผู้ใช้",
"selected_2_users": "ยืนยันการลบผู้ใช้ที่เลือก {msg} คนหรือไม่?",
"filter_conditions": "เงื่อนไขการกรอง",
"enable": "เปิดใช้งาน",
"disable": "ปิดใช้งาน",
"local_creation": "สร้างในระบบ",
"lark": "Lark",
"larksuite": "Larksuite",
"dingtalk": "DingTalk",
"wecom": "WeCom",
"1240_results": "{msg} ผลลัพธ์ ",
"clear_conditions": "ล้างเงื่อนไข",
"disabled": "ปิดใช้งานแล้ว",
"enabled": "เปิดใช้งานแล้ว",
"edit_user": "แก้ไขผู้ใช้",
"del_user": "ยืนยันการลบผู้ใช้: {msg} หรือไม่?",
"del_key": "ยืนยันการลบคีย์: {msg} หรือไม่?",
"please_first": "โปรด",
"download_the_template": "ดาวน์โหลดเทมเพลต",
"required_and_upload": " กรอกตามรูปแบบที่กำหนดแล้วอัปโหลด",
"file": "ไฟล์",
"upload_file": "อัปโหลดไฟล์",
"xls_format_files": "รองรับเฉพาะไฟล์รูปแบบ xlsx, xls",
"import": "นำเข้า",
"change_file": "เปลี่ยนไฟล์",
"data_import_completed": "นำเข้าข้อมูลเสร็จสิ้น",
"notes_import_completed": "นำเข้าหมายเหตุเสร็จสิ้น",
"imported_100_data": "นำเข้าข้อมูลสำเร็จ {msg} รายการ",
"return_to_view": "กลับไปดู",
"continue_importing": "นำเข้าต่อ",
"import_20_can": "นำเข้าข้อมูลสำเร็จ {msg} รายการ ล้มเหลว {loss} รายการ ",
"download_error_report": "ดาวน์โหลดรายงานข้อผิดพลาด",
"modify_and_re_import": " แก้ไขแล้วนำเข้าใหม่",
"data_import_failed": "นำเข้าข้อมูลล้มเหลว",
"failed_100_can": "นำเข้าล้มเหลว {msg} รายการ สามารถ",
"change_password": "เปลี่ยนรหัสผ่าน",
"new_password": "รหัสผ่านใหม่",
"confirm_password": "ยืนยันรหัสผ่าน",
"old_password": "รหัสผ่านเดิม",
"title": "การจัดการผู้ใช้",
"upgrade_pwd": {
"title": "เปลี่ยนรหัสผ่าน",
"old_pwd": "รหัสผ่านเดิม",
"new_pwd": "รหัสผ่านใหม่",
"confirm_pwd": "ยืนยันรหัสผ่าน",
"two_pwd_not_match": "รหัสผ่านที่กรอกทั้งสองครั้งไม่ตรงกัน",
"pwd_format_error": "8-20 ตัวอักษร และต้องมีตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และอักขระพิเศษ อย่างน้อยอย่างละ 1 ตัว"
}
},
"workspace": {
"relevant_content_found": "ไม่พบเนื้อหาที่เกี่ยวข้อง",
"add_workspace": "เพิ่มพื้นที่ทำงาน",
"administrator": "ผู้ดูแลระบบ",
"ordinary_member": "สมาชิกทั่วไป",
"people": "คน",
"name_username_email": "ค้นหาชื่อ ชื่อผู้ใช้ อีเมล",
"add_member": "เพิ่มสมาชิก",
"member_type": "ชนิดสมาชิก",
"workspace_name": "ชื่อพื้นที่ทำงาน",
"no_user": "ยังไม่มีผู้ใช้",
"remove": "นำออก",
"selected_2_members": "ยืนยันการนำสมาชิกที่เลือก {msg} คนออกหรือไม่?",
"removed_successfully": "นำออกสำเร็จ",
"workspace_de_workspace": "ยืนยันการลบพื้นที่ทำงาน: {msg} หรือไม่?",
"member_feng_yibudao": "ยืนยันการนำสมาชิก: {msg} ออกหรือไม่?",
"select_member": "เลือกสมาชิก",
"selected_2_people": "เลือกแล้ว: {msg} คน",
"selected_number": "เลือกแล้ว: {msg} รายการ",
"clear": "ล้าง",
"historical_dialogue": "ยังไม่มีบทสนทนาย้อนหลัง",
"rename_a_workspace": "เปลี่ยนชื่อพื้นที่ทำงาน",
"return_to_workspace": "กลับไปยังพื้นที่ทำงาน",
"there_are": "มี ",
"2_dashboards": "แดชบอร์ด {msg} รายการ",
"smart_data_centers": "การสอบถามข้อมูลอัจฉริยะ {msg} รายการ",
"confirm_to_delete": "เมื่อลบแหล่งข้อมูลแล้ว จะไม่สามารถสอบถามข้อมูลที่เกี่ยวข้องได้อีก และแผนภูมิในแดชบอร์ดจะแสดงผลไม่ถูกต้อง โปรดดำเนินการด้วยความระมัดระวัง!",
"id_account_to_add": "ค้นหาชื่อผู้ใช้/บัญชีเพื่อเพิ่ม",
"find_user": "ค้นหาผู้ใช้",
"add_successfully": "เพิ่มสำเร็จ",
"member_management": "การจัดการสมาชิก",
"permission_configuration": "การกำหนดค่าสิทธิ์",
"set": "ตั้งค่า",
"operate_with_caution": "เมื่อลบแล้ว ผู้ใช้ภายใต้พื้นที่ทำงานนี้จะถูกนำออก และทรัพยากรทั้งหมดจะถูกลบด้วย โปรดดำเนินการด้วยความระมัดระวัง"
},
"permission": {
"search_field": "ค้นหาฟิลด์",
"search_rule_group": "ค้นหากลุ่มกฎ",
"add_rule_group": "เพิ่มกลุ่มกฎ",
"permission_rule": "กฎสิทธิ์",
"restricted_user": "ผู้ใช้ที่ถูกจำกัด",
"set_rule": "กำหนดกฎ",
"set_user": "กำหนดผู้ใช้",
"2": "{msg} รายการ",
"238_people": "{msg} คน",
"no_permission_rule": "ยังไม่มีกฎสิทธิ์",
"set_permission_rule": "กำหนดกฎสิทธิ์",
"basic_information": "ข้อมูลพื้นฐาน",
"rule_group_name": "ชื่อกลุ่มกฎ",
"rule_name": "ชื่อกฎ",
"type": "ชนิด",
"data_source": "แหล่งข้อมูล",
"data_table": "ตารางข้อมูล",
"select_restricted_user": "เลือกผู้ใช้ที่ถูกจำกัด",
"rule_group_1": "ยืนยันการลบกลุ่มกฎ: {msg} หรือไม่?",
"no_rule": "ยังไม่มีกฎ",
"row_permission": "สิทธิ์ระดับแถว",
"column_permission": "สิทธิ์ระดับคอลัมน์",
"rule_rule_1": "ยืนยันการลบกฎ: {msg} หรือไม่?",
"no_content": "ยังไม่มีเนื้อหา",
"edit_column_permission": "แก้ไขสิทธิ์ระดับคอลัมน์",
"edit_row_permission": "แก้ไขสิทธิ์ระดับแถว",
"add_column_permission": "เพิ่มสิทธิ์ระดับคอลัมน์",
"add_row_permission": "เพิ่มสิทธิ์ระดับแถว",
"no_fields_yet": "ยังไม่มีฟิลด์",
"filter_eq": "เท่ากับ",
"filter_not_eq": "ไม่เท่ากับ",
"filter_lt": "น้อยกว่า",
"filter_le": "น้อยกว่าหรือเท่ากับ",
"filter_gt": "มากกว่า",
"filter_ge": "มากกว่าหรือเท่ากับ",
"filter_null": "เป็นค่าว่าง (null)",
"filter_not_null": "ไม่เป็นค่าว่าง (null)",
"filter_empty": "สตริงว่าง",
"filter_not_empty": "สตริงไม่ว่าง",
"filter_include": "มี",
"filter_not_include": "ไม่มี",
"conditional_filtering": "กรองตามเงื่อนไข",
"add_conditions": "เพิ่มเงื่อนไข",
"add_relationships": "เพิ่มความสัมพันธ์",
"cannot_be_empty_": "ฟิลด์ตัวกรองต้องไม่ว่าง",
"cannot_be_empty_de_ruler": "เงื่อนไขของกฎต้องไม่ว่าง",
"filter_value_can_null": "ค่าตัวกรองต้องไม่ว่าง",
"filter_like": "มี",
"filter_not_like": "ไม่มี",
"filter_in": "อยู่ใน",
"filter_not_in": "ไม่อยู่ใน",
"enter_a_question": "โปรดกรอกคำถาม",
"new_conversation": "บทสนทนาใหม่",
"send": "ส่ง",
"stop_replying": "หยุดตอบกลับ",
"i_am_sqlbot": "สวัสดี ฉันคือ SQLBot",
"predict_data_etc": "ฉันสามารถสอบถามข้อมูล สร้างแผนภูมิ วิเคราะห์ข้อมูล คาดการณ์ข้อมูล ฯลฯ",
"intelligent_data_query": "รีบเริ่มใช้งานการสอบถามข้อมูลอัจฉริยะเลย~"
},
"embedded": {
"delete_10_apps": "ยืนยันการลบ {msg} แอปพลิเคชันหรือไม่?",
"click_to_show": "คลิกเพื่อแสดง",
"click_to_hide": "คลิกเพื่อซ่อน",
"your_app_secret": "ยืนยันการอัปเดต APP Secret หรือไม่?",
"proceed_with_caution": "เมื่อรีเซ็ตแล้ว App Secret ที่มีอยู่จะใช้ไม่ได้ทันที โปรดดำเนินการด้วยความระมัดระวัง",
"password_length": "ความยาวรหัสผ่าน",
"edit_app": "แก้ไขแอปพลิเคชัน",
"embedded_management": "การจัดการการฝัง",
"embedded_assistant": "การฝังผู้ช่วย",
"embedded_page": "การฝังหน้าเว็บ",
"no_application": "ยังไม่มีแอปพลิเคชัน",
"create_application": "สร้างแอปพลิเคชัน",
"basic_application": "แอปพลิเคชันพื้นฐาน",
"advanced_application": "แอปพลิเคชันขั้นสูง",
"embed_third_party": "ฝังในระบบภายนอก",
"support_is_required": "เหมาะสำหรับกรณีที่ไม่ต้องตรวจสอบข้อมูล เพียงฝังโค้ดลงในโค้ดของระบบภายนอก โดยไม่ต้องมีการสนับสนุนเพิ่มเติม",
"data_permissions_etc": "เหมาะสำหรับกรณีที่ต้องตรวจสอบข้อมูล โดยระบบภายนอกต้องมีอินเทอร์เฟซแหล่งข้อมูล อินเทอร์เฟซผู้ใช้ สิทธิ์ข้อมูล ฯลฯ",
"create_basic_application": "สร้างแอปพลิเคชันพื้นฐาน",
"set_data_source": "กำหนดแหล่งข้อมูล",
"basic_information": "ข้อมูลพื้นฐาน",
"application_name": "ชื่อแอปพลิเคชัน",
"application_description": "คำอธิบายแอปพลิเคชัน",
"cross_domain_settings": "การตั้งค่าข้ามโดเมน",
"enableCustomModel": "ใช้โมเดลที่กำหนดเอง",
"useModel": "ใช้โมเดล",
"defaultModel": "โมเดลเริ่มต้น",
"customModel": "โมเดลที่กำหนดเอง",
"third_party_address": "โปรดกรอกที่อยู่ของระบบภายนอกที่จะฝัง หากมีหลายรายการให้คั่นด้วยเครื่องหมายอัฒภาค (;)",
"set_to_private": "ตั้งเป็นส่วนตัว",
"set_to_public": "ตั้งเป็นสาธารณะ",
"public": "สาธารณะ",
"private": "ส่วนตัว",
"configure_interface": "กำหนดค่าอินเทอร์เฟซ",
"interface_url": "URL อินเทอร์เฟซ",
"format_is_incorrect": "รูปแบบไม่ถูกต้อง{msg}",
"domain_format_incorrect": "ต้องขึ้นต้นด้วย http หรือ https ไม่ลงท้ายด้วย / และคั่นหลายโดเมนด้วยอัฒภาคครึ่งวงเล็บ (;)",
"interface_url_incorrect": "โปรดกรอกเส้นทางสัมพัทธ์ที่ขึ้นต้นด้วย / หรือเส้นทางเต็มที่ขึ้นต้นด้วย http หรือ https",
"aes_enable": "เปิดใช้งานการเข้ารหัส AES",
"aes_enable_tips": "ฟิลด์ที่เข้ารหัส (host, user, password, dataBase, schema) ใช้การเข้ารหัสแบบ AES-CBC-PKCS5Padding",
"bit": "บิต",
"creating_advanced_applications": "สร้างแอปพลิเคชันขั้นสูง",
"credential_acquisition_method": "วิธีรับข้อมูลรับรอง",
"table_notes": "หมายเหตุตาราง",
"system_credential_type": "ชนิดข้อมูลรับรองของระบบต้นทาง",
"credential_name": "ชื่อข้อมูลรับรอง",
"target_credential_location": "ตำแหน่งข้อมูลรับรองปลายทาง",
"target_credential_name": "ชื่อข้อมูลรับรองปลายทาง",
"target_credential": "ข้อมูลรับรองปลายทาง",
"edit_advanced_applications": "แก้ไขแอปพลิเคชันขั้นสูง",
"edit_basic_applications": "แก้ไขแอปพลิเคชันพื้นฐาน",
"delete": "ยืนยันการลบ: {msg} หรือไม่?",
"code_to_embed": "คัดลอกโค้ดด้านล่างนี้เพื่อฝัง",
"floating_window_mode": "โหมดหน้าต่างลอย",
"copy_successful": "คัดลอกสำเร็จ",
"copy_failed": "คัดลอกล้มเหลว",
"open_the_query": "แหล่งข้อมูลสาธารณะอนุญาตให้ผู้ใช้ทุกคนเริ่มสอบถามข้อมูลได้ ส่วนแหล่งข้อมูลส่วนตัว ผู้ใช้ที่เข้าสู่ระบบแล้วสามารถเริ่มสอบถามข้อมูลได้",
"add_interface_credentials": "เพิ่มข้อมูลรับรองอินเทอร์เฟซ",
"edit_interface_credentials": "แก้ไขข้อมูลรับรองอินเทอร์เฟซ",
"duplicate_name": "ชื่อซ้ำ",
"duplicate_name_": "ชื่อจริงซ้ำ",
"duplicate_account": "บัญชีซ้ำ",
"duplicate_email": "อีเมลซ้ำ",
"repeating_parameters": "พารามิเตอร์ซ้ำ",
"interface_credentials": "ข้อมูลรับรองอินเทอร์เฟซ",
"no_credentials_yet": "ยังไม่มีข้อมูลรับรอง",
"intelligent_customer_service": "ผู้ช่วยบริการอัจฉริยะ SQLBot",
"enter_a_question": "โปรดกรอกคำถาม",
"new_conversation": "สร้างบทสนทนาใหม่",
"send": "ส่ง",
"stop_replying": "หยุดตอบกลับ",
"i_am_sqlbot": "สวัสดี ฉันคือ SQLBot",
"predict_data_etc": "ฉันสามารถสอบถามข้อมูล สร้างแผนภูมิ ตรวจจับความผิดปกติของข้อมูล คาดการณ์ข้อมูล ฯลฯ",
"intelligent_data_query": "รีบเริ่มใช้งานการสอบถามข้อมูลอัจฉริยะเลย~",
"origin_format_error": "รูปแบบไม่ถูกต้อง ต้องขึ้นต้นด้วย http หรือ https และไม่ลงท้ายด้วย /",
"display_settings": "การตั้งค่าการแสดงผล",
"header_text_color": "สีข้อความส่วนหัว",
"app_logo": "โลโก้แอปพลิเคชัน",
"maximum_size_10mb": "ขนาดที่แนะนำ 32 x 32 รองรับไฟล์ JPG, PNG ขนาดไม่เกิน 10MB",
"replace": "แทนที่",
"default_icon_position": "ตำแหน่งเริ่มต้นของไอคอน",
"draggable_position": "ตำแหน่งที่ลากวางได้",
"up": "บน",
"down": "ล่าง",
"left": "ซ้าย",
"right": "ขวา",
"welcome_description": "คำอธิบายคำต้อนรับ",
"data_analysis_now": "ฉันสามารถสอบถามข้อมูล สร้างแผนภูมิ ตรวจจับความผิดปกติของข้อมูล คาดการณ์ข้อมูล ฯลฯ รีบเริ่มใช้งานการสอบถามข้อมูลอัจฉริยะเลย~",
"window_entrance_icon": "ไอคอนทางเข้าหน้าต่างลอย",
"preview_error": "หน้าเว็บนี้ห้ามฝังด้วย Iframe!",
"assistant_app": "แอปพลิเคชันผู้ช่วย",
"auto_select_ds": "เลือกแหล่งข้อมูลอัตโนมัติ"
},
"chat": {
"type": "ชนิดแผนภูมิ",
"chart_type": {
"table": "ตารางรายละเอียด",
"bar": "แผนภูมิแท่งแนวนอน",
"column": "แผนภูมิแท่ง",
"line": "แผนภูมิเส้น",
"pie": "แผนภูมิวงกลม"
},
"hide_label": "ซ่อนป้ายกำกับ",
"show_label": "แสดงป้ายกำกับ",
"sort_asc": "เรียงจากน้อยไปมาก",
"sort_desc": "เรียงจากมากไปน้อย",
"sort_none": "ไม่เรียงลำดับ",
"show_sql": "ดู SQL",
"export_to": "ส่งออกเป็น",
"excel": "Excel",
"picture": "รูปภาพ",
"add_to_dashboard": "เพิ่มไปยังแดชบอร์ด",
"full_screen": "เต็มหน้าจอ",
"exit_full_screen": "ออกจากโหมดเต็มหน้าจอ",
"sql_generation": "สร้าง SQL",
"chart_generation": "สร้างแผนภูมิ",
"inference_process": "กระบวนการคิด",
"thinking": "กำลังคิด",
"data_analysis": "การวิเคราะห์ข้อมูล",
"data_predict": "การคาดการณ์ข้อมูล",
"data_over_limit": "ข้อมูลมีจำนวนมากเกินไป แสดงเพียง {0} รายการแรก",
"ds_is_invalid": "แหล่งข้อมูลไม่ถูกต้อง",
"error": "ข้อผิดพลาด",
"exec-sql-err": "ดำเนินการคำสั่ง SQL ล้มเหลว",
"no_data": "ยังไม่มีข้อมูล",
"loading_data": "กำลังโหลด...",
"show_error_detail": "ดูข้อมูลเพิ่มเติม",
"thousands_separator_setting": "การตั้งค่าตัวคั่นหลักพัน",
"thousands_separator_display": "แสดงตัวคั่นหลักพัน",
"log": {
"GENERATE_SQL": "สร้าง SQL",
"GENERATE_CHART": "สร้างโครงสร้างแผนภูมิ",
"ANALYSIS": "วิเคราะห์",
"PREDICT_DATA": "คาดการณ์",
"GENERATE_SQL_WITH_PERMISSIONS": "รวม SQL ตามสิทธิ์ระดับแถว",
"CHOOSE_DATASOURCE": "จับคู่แหล่งข้อมูล",
"GENERATE_DYNAMIC_SQL": "สร้าง SQL แบบไดนามิก",
"CHOOSE_TABLE": "จับคู่ตารางข้อมูล (Schema)",
"FILTER_TERMS": "จับคู่คำศัพท์",
"EXTRACT_KEYWORDS": "ดึงคีย์เวิร์ด",
"FILTER_SQL_EXAMPLE": "จับคู่ตัวอย่าง SQL",
"FILTER_CUSTOM_PROMPT": "จับคู่พรอมป์ต์ที่กำหนดเอง",
"EXECUTE_SQL": "ดำเนินการ SQL",
"GENERATE_PICTURE": "สร้างรูปภาพ"
},
"log_system": "เทมเพลตบทสนทนา",
"log_question": "คำถามครั้งนี้",
"log_answer": "คำตอบจาก AI",
"log_history": "ประวัติ",
"find_term_title": "จับคู่ได้ {0} คำศัพท์",
"find_sql_sample_title": "จับคู่ได้ {0} ตัวอย่าง SQL",
"find_custom_prompt_title": "จับคู่ได้ {0} พรอมป์ต์ที่กำหนดเอง",
"query_count_title": "ค้นหาได้ {0} รายการ",
"generate_picture_success": "สร้างรูปภาพแล้ว"
},
"about": {
"title": "เกี่ยวกับ",
"auth_to": "อนุญาตให้",
"invalid_license": "License ไม่ถูกต้อง",
"update_license": "อัปเดต License",
"expiration_time": "เวลาหมดอายุ",
"expirationed": "(หมดอายุแล้ว)",
"auth_num": "จำนวนที่อนุญาต",
"version": "เวอร์ชัน",
"version_num": "หมายเลขเวอร์ชัน",
"standard": "เวอร์ชันชุมชน",
"enterprise": "เวอร์ชันองค์กร",
"Professional": "เวอร์ชันมืออาชีพ",
"Embedded": "เวอร์ชันฝังระบบ",
"support": "รับการสนับสนุนทางเทคนิค",
"update_success": "อัปเดตสำเร็จ โปรดเข้าสู่ระบบอีกครั้ง",
"serial_no": "หมายเลขซีเรียล",
"remark": "หมายเหตุ",
"back_community": "กลับไปยังเวอร์ชันชุมชน",
"confirm_tips": "ยืนยันการกลับไปยังเวอร์ชันชุมชนหรือไม่?"
},
"license": {
"error_tips": "ยืนยันการรีเฟรชหน้าเว็บหรือไม่?",
"offline_tips": "บริการออฟไลน์แล้ว โปรดติดต่อผู้ดูแลระบบเพื่อรีสตาร์ทบริการ!"
},
"system": {
"system_settings": "การตั้งค่าระบบ",
"appearance_settings": "การตั้งค่ารูปลักษณ์",
"authentication_settings": "การยืนยันตัวตนเข้าสู่ระบบ",
"platform_display_theme": "ธีมการแสดงผลของแพลตฟอร์ม",
"default_turquoise": "ค่าเริ่มต้น (เขียวเทอร์ควอยซ์)",
"tech_blue": "น้ำเงินเทคโนโลยี",
"custom": "กำหนดเอง",
"platform_login_settings": "การตั้งค่าการเข้าสู่ระบบของแพลตฟอร์ม",
"page_preview": "ดูตัวอย่างหน้าเว็บ",
"restore_default": "กลับค่าเริ่มต้น",
"website_logo": "โลโก้เว็บไซต์",
"tab": "แท็บ",
"replace_image": "แทนที่รูปภาพ",
"larger_than_200kb": "โลโก้ที่แสดงด้านบนของเว็บไซต์ ขนาดที่แนะนำ 48 x 48 รองรับไฟล์ JPG, PNG ขนาดไม่เกิน 200KB",
"login_logo": "โลโก้ระบบ",
"larger_than_200kb_de": "โลโก้ด้านขวาของหน้าเข้าสู่ระบบ ขนาดที่แนะนำ 204*52 รองรับไฟล์ JPG, PNG ขนาดไม่เกิน 200KB",
"login_background_image": "ภาพพื้นหลังหน้าเข้าสู่ระบบ",
"larger_than_5mb": "ภาพพื้นหลังด้านซ้าย ขนาดที่แนะนำสำหรับภาพเวกเตอร์ 576*900 ภาพบิตแมป 1152*1800 รองรับไฟล์ JPG, PNG ขนาดไม่เกิน 5MB",
"website_name": "ชื่อเว็บไซต์",
"on_webpage_tabs": "ชื่อแพลตฟอร์มที่แสดงบนแท็บของหน้าเว็บ",
"welcome_message": "แสดงคำต้อนรับ",
"the_product_logo": "คำต้อนรับใต้โลโก้ผลิตภัณฑ์",
"screen_customization_supported": "ค่าเริ่มต้นคือหน้าเข้าสู่ระบบของ SQLBot รองรับการกำหนดเอง",
"screen_customization_settings": "ค่าเริ่มต้นคือหน้าปกของแพลตฟอร์ม SQLBot รองรับการกำหนดเอง",
"platform_settings": "การตั้งค่าแพลตฟอร์ม",
"help_documentation": "เอกสารช่วยเหลือ",
"show_about": "แสดงหน้าเกี่ยวกับ",
"abort_update": "ยกเลิกการอัปเดต",
"save_and_apply": "บันทึกและนำไปใช้",
"setting_successfully": "ตั้งค่าสำเร็จ",
"customize_theme_color": "กำหนดสีธีมเอง"
},
"platform": {
"title": "การเชื่อมต่อแพลตฟอร์ม",
"status_open": "เปิดอยู่",
"status_close": "ปิดอยู่",
"access_in": "เชื่อมต่อ",
"can_enable_it": "สามารถเปิดใช้งานได้หลังจากทดสอบการเชื่อมต่อสำเร็จ"
},
"authentication": {
"invalid": "ไม่ถูกต้อง",
"valid": "ถูกต้อง",
"cas_settings": "การตั้งค่า CAS",
"callback_domain_name": "ที่อยู่เรียกกลับ",
"callback_domain_name_error": "ที่อยู่เรียกกลับต้องเป็นโดเมนที่ใช้เข้าถึงอยู่ในปัจจุบัน",
"field_mapping": "การจับคู่คุณสมบัติผู้ใช้",
"field_mapping_placeholder": "เช่น {'{'}\"account\": \"saml2Account\", \"name\": \"saml2Name\", \"email\": \"email\"{'}'}",
"incorrect_please_re_enter": "รูปแบบไม่ถูกต้อง โปรดกรอกใหม่",
"in_json_format": "โปรดกรอกในรูปแบบ json",
"authorize_url": "ที่อยู่การอนุญาต",
"client_id": "Client ID",
"client_secret": "Client Secret",
"redirect_url": "ที่อยู่เรียกกลับ",
"logout_redirect_url": "ที่อยู่เรียกกลับเมื่อออกจากระบบ",
"logout_redirect_url_placeholder": "หลังออกจากระบบ โดยค่าเริ่มต้นจะไปที่หน้าเข้าสู่ระบบของ SQLBot สามารถกำหนดที่อยู่ปลายทางหลังออกจากระบบได้เอง",
"oauth2_settings": "การตั้งค่า OAuth2",
"scope": "ขอบเขตการอนุญาต",
"userinfo_url": "ที่อยู่ข้อมูลผู้ใช้",
"token_url": "ที่อยู่โทเคน",
"revoke_url": "ที่อยู่การเพิกถอน",
"oauth2_field_mapping_placeholder": "เช่น {'{'}\"account\": \"oauth2Account\", \"name\": \"oauth2Name\", \"email\": \"email\"{'}'}",
"token_auth_method": "วิธียืนยันตัวตนด้วย Token",
"userinfo_auth_method": "วิธียืนยันตัวตนข้อมูลผู้ใช้",
"oidc_settings": "การตั้งค่า OIDC",
"metadata_url": "ที่อยู่เมตาดาต้า",
"realm": "Realm",
"oidc_field_mapping_placeholder": "เช่น {'{'}\"account\": \"oidcAccount\", \"name\": \"oidcName\", \"email\": \"email\"{'}'}",
"ldap_settings": "การตั้งค่า LDAP",
"server_address": "ที่อยู่เซิร์ฟเวอร์",
"server_address_placeholder": "เช่น ldap://ldap.example.com:389",
"bind_dn": "Bind DN",
"bind_dn_placeholder": "เช่น cn=admin,dc=example,dc=com",
"bind_pwd": "รหัสผ่าน Bind",
"ou": "OU ของผู้ใช้",
"ou_placeholder": "เช่น ou=users,dc=example,dc=com",
"user_filter": "ตัวกรองผู้ใช้",
"user_filter_placeholder": "เช่น uid หรือ uid {0} email คั่นหลายคุณสมบัติด้วย {1}",
"ldap_field_mapping_placeholder": "เช่น {'{'}\"account\": \"ldapAccount\", \"name\": \"ldapName\", \"email\": \"mail\"{'}'}",
"be_turned_on": "สามารถเปิดใช้งานได้หลังจากทดสอบการเชื่อมต่อสำเร็จ"
},
"login": {
"default_login": "ค่าเริ่มต้น",
"ldap_login": "เข้าสู่ระบบด้วย LDAP",
"account_login": "เข้าสู่ระบบด้วยบัญชี",
"force_change_pwd_title": "เปลี่ยนรหัสผ่านเริ่มต้น",
"force_change_pwd_tips": "รหัสผ่านปัจจุบันเป็นรหัสผ่านเริ่มต้นของระบบ โปรดเปลี่ยนรหัสผ่านก่อนเข้าสู่ระบบ",
"force_change_pwd_success": "เปลี่ยนรหัสผ่านสำเร็จ",
"other_login": "วิธีเข้าสู่ระบบอื่น ๆ",
"pwd_invalid_error": "รหัสผ่านหมดอายุแล้ว โปรดติดต่อผู้ดูแลระบบเพื่อเปลี่ยนหรือรีเซ็ต",
"pwd_exp_tips": "รหัสผ่านจะหมดอายุในอีก {0} วัน โปรดเปลี่ยนรหัสผ่านโดยเร็ว",
"qr_code": "คิวอาร์โค้ด",
"platform_disable": "การตั้งค่า{0}ยังไม่เปิดใช้งาน!",
"input_account": "โปรดกรอกบัญชี",
"redirect_2_auth": "กำลังเปลี่ยนไปยังการยืนยันตัวตน {0} ในอีก {1} วินาที...",
"redirect_immediately": "เปลี่ยนทันที",
"permission_invalid": "การยืนยันตัวตนไม่ถูกต้อง【บัญชีปัจจุบันมีสิทธิ์ไม่เพียงพอ】",
"scan_qr_login": "เข้าสู่ระบบด้วยการสแกนคิวอาร์โค้ด",
"no_auth_error": "ยังไม่ได้ยืนยันตัวตน กำลังไปยังหน้าเข้าสู่ระบบในอีก {0} วินาที..."
},
"supplier": {
"alibaba_cloud_bailian": "Alibaba Cloud Bailian",
"qianfan_model": "Qianfan Model",
"deepseek": "DeepSeek",
"tencent_hunyuan": "Tencent Hunyuan",
"iflytek_spark": "iFlytek Spark",
"gemini": "Gemini",
"openai": "OpenAI",
"kimi": "Kimi",
"tencent_cloud": "Tencent Cloud",
"volcano_engine": "Volcano Engine",
"minimax": "MiniMax",
"generic_openai": "OpenAI แบบทั่วไป"
},
"modelType": {
"llm": "โมเดลภาษาขนาดใหญ่"
},
"audit": {
"system_log": "บันทึกการดำเนินการ",
"search_log": "ค้นหาบันทึก",
"operation_type": "ชนิดการดำเนินการ",
"operation_details": "รายละเอียดการดำเนินการ",
"operation_user_name": "ผู้ดำเนินการ",
"operation_status": "สถานะการดำเนินการ",
"user_name": "บันทึกการดำเนินการ",
"oid_name": "พื้นที่ทำงาน",
"ip_address": "ที่อยู่ IP",
"create_time": "เวลาที่สร้าง",
"no_log": "ยังไม่มีบันทึก",
"all_236_terms": "ยืนยันการส่งออกบันทึกทั้งหมด {msg} รายการหรือไม่?",
"export_hint": "ยืนยันการส่งออกบันทึกทั้งหมดหรือไม่?",
"export": "ส่งออก",
"success": "สำเร็จ",
"failed": "ล้มเหลว",
"failed_info": "รายละเอียดความล้มเหลวของการดำเนินการ",
"opt_time": "เวลาที่ดำเนินการ"
},
"api_key": {
"info_tips": "API Key คือกุญแจสำหรับเข้าถึง SQLBot API ของคุณ มีสิทธิ์เต็มที่เท่ากับบัญชีของคุณ โปรดเก็บรักษาอย่างระมัดระวัง! อย่าเปิดเผย API Key ผ่านช่องทางภายนอกใด ๆ เพื่อป้องกันไม่ให้ผู้อื่นนำไปใช้จนก่อเหตุคุกคามด้านความปลอดภัย",
"create": "สร้าง",
"to_doc": "ดู API",
"trigger_limit": "รองรับการสร้าง API Key ได้สูงสุด {0} คีย์"
}
}
+1
View File
@@ -209,6 +209,7 @@
"reset": "重置",
"simplified_chinese": "简体中文",
"korean": "한국어",
"thai": "ไทย",
"traditional_chinese": "繁體中文",
"help": "帮助",
"language": "语言",
+1
View File
@@ -209,6 +209,7 @@
"reset": "重設",
"simplified_chinese": "簡體中文",
"korean": "한국어",
"thai": "ไทย",
"traditional_chinese": "繁體中文",
"help": "說明",
"language": "語言",
+2
View File
@@ -184,6 +184,8 @@ export const UserStore = defineStore('user', {
language = 'zh-TW'
} else if (language === 'ko_KR') {
language = 'ko-KR'
} else if (language === 'th_TH') {
language = 'th-TH'
}
wsCache.set('user.language', language)
this.language = language
+3
View File
@@ -52,6 +52,9 @@ export const getBrowserLocale = () => {
const temp = language.toLowerCase().replace('_', '-')
return temp === 'zh' ? 'zh-CN' : temp === 'zh-cn' ? 'zh-CN' : 'zh-TW'
}
if (language.toLowerCase().startsWith('th')) {
return 'th-TH'
}
return language
}
export const getLocale = () => {