Doctranslate.io

API ການແປສຽງ: ພາສາອັງກິດເປັນພາສາເຢຍລະມັນທັນທີ | ຄູ່ມືສຳລັບນັກພັດທະນາ

Đăng bởi

vào

ເປັນຫຍັງການແປສຽງຜ່ານ API ຈຶ່ງເປັນສິ່ງທ້າທາຍທີ່ซับซ้อน

ການເຊື່ອມໂຍງ API ການແປສຽງສຳລັບເນື້ອຫາພາສາອັງກິດເປັນພາສາເຢຍລະມັນກ່ຽວຂ້ອງກັບຫຼາຍກວ່າການສົ່ງໄຟລ໌ ແລະ ຮັບຂໍ້ຄວາມ.
ຂະບວນການທີ່ຢູ່ເບື້ອງຫຼັງເຕັມໄປດ້ວຍຄວາມຫຍຸ້ງຍາກທາງດ້ານເຕັກນິກທີ່ສາມາດເຮັດໃຫ້ໂຄງການລົ້ມເຫຼວໄດ້ງ່າຍ.
ການເຂົ້າໃຈສິ່ງທ້າທາຍເຫຼົ່ານີ້ຊີ້ໃຫ້ເຫັນເຖິງຄຸນຄ່າຂອງການແກ້ໄຂທີ່ແຂງແກ່ນ ແລະ ທັນສະໄໝທີ່ຈັດການກັບຄວາມซັບซ้อนໃຫ້ທ່ານ.

ນັກພັດທະນາຕ້ອງຮັບມືກັບຮູບແບບສຽງ ແລະ ການເຂົ້າລະຫັດທີ່ຫຼາກຫຼາຍ, ຕັ້ງແຕ່ MP3 ແລະ WAV ໄປຈົນເຖິງ FLAC ແລະ OGG.
ແຕ່ລະຮູບແບບມີຂໍ້ມູນສະເພາະຂອງຕົນເອງສຳລັບ bitrate, sample rate, ແລະ ຊ່ອງສຽງ, ເຊິ່ງສາມາດສົ່ງຜົນກະທົບຕໍ່ຄຸນນະພາບຂອງການຮັບຮູ້ສຽງເວົ້າ.
ການປະມວນຜົນໄຟລ໌ເຫຼົ່ານີ້ລ່ວງໜ້າໃຫ້ເປັນຮູບແບບມາດຕະຖານມັກຈະເປັນຂັ້ນຕອນທຳອິດທີ່ຈຳເປັນແຕ່ໃຊ້ເວລາດົນໃນຂະບວນການເຮັດວຽກທົ່ວໄປ.

ຄວາມซັບซ້ອນຂອງໂຄງສ້າງໄຟລ໌ສຽງ ແລະ ການເຂົ້າລະຫັດ

ອຸປະສັກໃຫຍ່ທຳອິດແມ່ນຄວາມຫຼາກຫຼາຍຂອງຂໍ້ມູນສຽງເອງ.
API ການແປສຽງທີ່ມີປະສິດທິພາບຕ້ອງສາມາດຮັບໄຟລ໌ໄດ້ຫຼາຍປະເພດໂດຍບໍ່ມີຂໍ້ຜິດພາດ ຫຼື ການເສື່ອມຄຸນນະພາບ.
ສິ່ງນີ້ຕ້ອງການເຄື່ອງມືຮັບຂໍ້ມູນທີ່ยืดหยุ่นທີ່ສາມາດປັບກະແສສຽງໃຫ້ເປັນມາດຕະຖານກ່ອນທີ່ມັນຈະໄປເຖິງຕົວແບບການຖອດຄວາມ, ເພື່ອຮັບປະກັນຄວາມສອດຄ່ອງ.
ຖ້າບໍ່ມີຄວາມສາມາດນີ້, ນັກພັດທະນາຈະຖືກບັງຄັບໃຫ້ສ້າງ ແລະ ຮັກສາເຫດຜົນການແປງສຽງຂອງຕົນເອງ, ເຊິ່ງເພີ່ມພາລະທີ່ສຳຄັນໃຫ້ກັບແອັບພລິເຄຊັນຂອງພວກເຂົາ.

ນອກຈາກນີ້, ປັດໄຈຕ່າງໆເຊັ່ນ: ສຽງລົບກວນພື້ນຫຼັງ, ຜູ້ເວົ້າຫຼາຍຄົນຊ້ອນກັນ, ແລະ ສໍານຽງທີ່ແຕກຕ່າງກັນກໍເພີ່ມຊັ້ນຂອງຄວາມซັບซ้อนຂຶ້ນ.
ຕົວແບບການຖອດຄວາມແບບງ່າຍໆອາດຈະບໍ່ສາມາດຈໍາແນກລະຫວ່າງສຽງເວົ້າຫຼັກ ແລະ ສຽງແວດລ້ອມໄດ້, ເຊິ່ງນໍາໄປສູ່ຜົນລັບທີ່ບໍ່ຖືກຕ້ອງ ຫຼື ບໍ່ມີຄວາມໝາຍ.
ລະບົບທີ່ກ້າວໜ້າໃຊ້ການຍົກເລີກສຽງລົບກວນທີ່ທັນສະໄໝ ແລະ ການແຍກຜູ້ເວົ້າ (ການລະບຸວ່າໃຜກໍາລັງເວົ້າ) ເພື່ອຜະລິດບົດຖອດຄວາມທີ່ສະອາດ, ອ່ານງ່າຍ ແລະ ພ້ອມສໍາລັບການແປທີ່ຖືກຕ້ອງ.

ຈາກການຖອດຄວາມທີ່ຖືກຕ້ອງໄປສູ່ການແປທີ່ມີຄວາມໝາຍ

ເມື່ອທ່ານມີກະແສສຽງທີ່ສະອາດແລ້ວ, ສິ່ງທ້າທາຍຕໍ່ໄປແມ່ນການບັນລຸການຖອດຄວາມທີ່ຖືກຕ້ອງສູງ.
ນີ້ຄືພື້ນຖານຂອງຂະບວນການທັງໝົດ; ຄວາມຜິດພາດໃນຂໍ້ຄວາມທີ່ຖອດຄວາມຈະນໍາໄປສູ່ຄວາມຜິດພາດໃນການແປສຸດທ້າຍຢ່າງຫຼີກລ່ຽງບໍ່ໄດ້.
API ການແປສຽງຊັ້ນນໍາອາໄສຕົວແບບການຮັບຮູ້ສຽງເວົ້າອັດຕະໂນມັດ (ASR) ທີ່ທັນສະໄໝທີ່ຖືກຝຶກອົບຮົມດ້ວຍຊຸດຂໍ້ມູນຂະໜາດໃຫຍ່ເພື່ອເຂົ້າໃຈບໍລິບົດ, ຄໍາສັບສະເພາະ, ແລະ ຊື່.
ຄຸນນະພາບຂອງອົງປະກອບ ASR ນີ້ອາດຈະເປັນປັດໄຈທີ່ສໍາຄັນທີ່ສຸດໃນຂະບວນການແປທັງໝົດ.

ພຽງແຕ່ການແປງສຽງເວົ້າເປັນຂໍ້ຄວາມບໍ່ພຽງພໍສໍາລັບຜົນສໍາເລັດ.
ການແປຕໍ່ມາຕ້ອງເກັບກໍາຄວາມໝາຍຕົ້ນສະບັບ, ນໍ້າສຽງ, ແລະ ຄວາມແຕກຕ່າງທາງດ້ານວັດທະນະທໍາ, ເຊິ່ງເປັນເລື່ອງຍາກໂດຍສະເພາະເມື່ອແປຈາກພາສາອັງກິດເປັນພາສາເຢຍລະມັນ.
ການແປແບບຄໍາຕໍ່ຄໍາແບບຊື່ໆຈະສົ່ງຜົນໃຫ້ເກີດການໃຊ້ຄໍາທີ່ບໍ່ເປັນທໍາມະຊາດ ແລະ ຄວາມຜິດພາດທາງໄວຍາກອນ, ເຮັດໃຫ້ຜົນລັບບໍ່ມີປະໂຫຍດສໍາລັບການນໍາໃຊ້ໃນລະດັບມືອາຊີບ.

ຂໍແນະນຳ Doctranslate API: ການແກ້ໄຂແບບຄົບວົງຈອນ

API ການແປສຽງຂອງ Doctranslate ຖືກອອກແບບມາເພື່ອແກ້ໄຂສິ່ງທ້າທາຍເຫຼົ່ານີ້ໂດຍການສະໜອງ endpoint ດຽວທີ່ລຽບງ່າຍສໍາລັບຂະບວນການເຮັດວຽກທັງໝົດ.
ມັນປິດບັງຂະບວນການຫຼາຍຂັ້ນຕອນທີ່ซັບซ້ອນຂອງການປັບສຽງໃຫ້ເປັນມາດຕະຖານ, ການຖອດຄວາມ, ແລະ ການແປ ໃຫ້ຢູ່ໃນການເອີ້ນ API ງ່າຍໆພຽງຄັ້ງດຽວ.
ສິ່ງນີ້ຊ່ວຍໃຫ້ນັກພັດທະນາສາມາດສຸມໃສ່ການສ້າງຄຸນສົມບັດຫຼັກຂອງແອັບພລິເຄຊັນຂອງພວກເຂົາແທນທີ່ຈະຕ້ອງຫຍຸ້ງຍາກກັບຄວາມซັບຊ້ອນຂອງການປະມວນຜົນສຽງ ແລະ ຂະບວນການແປດ້ວຍເຄື່ອງຈັກ.

ໃນແກນຫຼັກຂອງມັນ, Doctranslate ໃຊ້ REST API ແບບ asynchronous ທີ່ມີປະສິດທິພາບ, ເຊິ່ງງ່າຍຕໍ່ການເຊື່ອມໂຍງເຂົ້າກັບຊຸດເທັກໂນໂລຢີທີ່ທັນສະໄໝໃດກໍໄດ້.
ທ່ານພຽງແຕ່ສົ່ງໄຟລ໌ສຽງຂອງທ່ານ, ແລະ API ຈະຈັດການສ່ວນທີ່ເຫຼືອ, ສົ່ງຄືນ ການຕອບສະໜອງ JSON ທີ່ສະອາດ, ມີໂຄງສ້າງ ພ້ອມກັບຂໍ້ຄວາມທີ່ແປແລ້ວ.
ແພລດຟອມນີ້ສະໜອງຂະບວນການເຮັດວຽກທີ່ລຽບງ່າຍທີ່ທ່ານສາມາດ ຖອດຄວາມ ແລະ ແປໄຟລ໌ສຽງຂອງທ່ານໂດຍອັດຕະໂນມັດ ດ້ວຍການເອີ້ນ API ພຽງຄັ້ງດຽວ, ເຊິ່ງກໍາຈັດຄວາມຈໍາເປັນໃນການເຊື່ອມຕໍ່ບໍລິການຫຼາຍຢ່າງເຂົ້າດ້ວຍກັນ.

RESTful API ທີ່ອອກແບບມາເພື່ອປະສິດທິພາບຂອງນັກພັດທະນາ

ຄວາມງ່າຍດາຍ ແລະ ການຄາດເດົາໄດ້ເປັນສິ່ງສໍາຄັນສໍາລັບເຄື່ອງມືໃດກໍຕາມທີ່ເນັ້ນໃສ່ນັກພັດທະນາ.
Doctranslate API ປະຕິບັດຕາມຫຼັກການ RESTful, ເຮັດໃຫ້ມັນເຂົ້າໃຈງ່າຍສໍາລັບທຸກຄົນທີ່ຄຸ້ນເຄີຍກັບການເຊື່ອມໂຍງບໍລິການເວັບມາດຕະຖານ.
Endpoints ຖືກກໍານົດຢ່າງຊັດເຈນ, ການຢືນຢັນຕົວຕົນແມ່ນກົງໄປກົງມາໂດຍໃຊ້ bearer tokens, ແລະ ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດກໍມີລາຍລະອຽດ ແລະ ເປັນປະໂຫຍດ.
ການສຸມໃສ່ປະສົບການຂອງນັກພັດທະນານີ້ຊ່ວຍຫຼຸດເວລາໃນການເຊື່ອມໂຍງ ແລະ ຄ່າໃຊ້ຈ່າຍໃນການບໍາລຸງຮັກສາໄລຍະຍາວໄດ້ຢ່າງຫຼວງຫຼາຍ.

ລັກສະນະ asynchronous ຂອງ API ມີປະໂຫຍດໂດຍສະເພາະເມື່ອຈັດການກັບໄຟລ໌ສຽງ, ເຊິ່ງອາດຈະມີຂະໜາດໃຫຍ່ ແລະ ໃຊ້ເວລາໃນການປະມວນຜົນ.
ແທນທີ່ຈະເປັນການຮ້ອງຂໍທີ່ດົນນານ ແລະ ຂັດຂວາງ, API ຈະສົ່ງຄືນ ID ວຽກທັນທີ.
ຈາກນັ້ນ, ແອັບພລິເຄຊັນຂອງທ່ານສາມາດສອບຖາມ endpoint ສະຖານະເປັນໄລຍະໆ ເພື່ອກວດສອບຄວາມຄືບໜ້າ ແລະ ດຶງເອົາຜົນລັບເມື່ອວຽກສໍາເລັດ, ເພື່ອຮັບປະກັນວ່າບໍລິການຂອງທ່ານຍັງຄົງຕອບສະໜອງ ແລະ ມີປະສິດທິພາບ.

ຄູ່ມືຂັ້ນຕອນຕໍ່ຂັ້ນຕອນ: ການເຊື່ອມໂຍງ API ສຽງພາສາອັງກິດເປັນພາສາເຢຍລະມັນ

ຄູ່ມືນີ້ຈະນໍາພາທ່ານຜ່ານຂະບວນການແປໄຟລ໌ສຽງພາສາອັງກິດເປັນຂໍ້ຄວາມພາສາເຢຍລະມັນໂດຍໃຊ້ Doctranslate API ພ້ອມກັບຕົວຢ່າງ Python ທີ່ໃຊ້ໄດ້ຈິງ.
ພວກເຮົາຈະກວມເອົາການຂໍຮັບລະຫັດ API ຂອງທ່ານ, ການຕັ້ງຄ່າການຮ້ອງຂໍ, ການອັບໂຫຼດໄຟລ໌, ແລະ ການຈັດການການຕອບສະໜອງແບບ asynchronous.
ໃນຕອນທ້າຍຂອງພາກນີ້, ທ່ານຈະມີສະຄຣິບທີ່ໃຊ້ງານໄດ້ເພື່ອເຊື່ອມໂຍງຟັງຊັນທີ່ມີປະສິດທິພາບນີ້ເຂົ້າໃນໂຄງການຂອງທ່ານ.

ຂັ້ນຕອນທີ 1: ຂໍຮັບລະຫັດ API ຂອງ Doctranslate ຂອງທ່ານ

ກ່ອນທີ່ຈະທໍາການເອີ້ນ API ໃດໆ, ທ່ານຈໍາເປັນຕ້ອງໄດ້ຮັບລະຫັດ API ທີ່ເປັນເອກະລັກຂອງທ່ານ.
ລະຫັດນີ້ຢືນຢັນການຮ້ອງຂໍຂອງທ່ານ ແລະ ເຊື່ອມໂຍງພວກມັນກັບບັນຊີຂອງທ່ານ.
ທ່ານສາມາດໄດ້ຮັບລະຫັດຂອງທ່ານໂດຍການລົງທະບຽນໃນພໍທັນນັກພັດທະນາຂອງ Doctranslate ແລະ ໄປທີ່ພາກການຕັ້ງຄ່າ API ໃນແຜງຄວບຄຸມບັນຊີຂອງທ່ານ.
ຈົ່ງຈື່ໄວ້ວ່າໃຫ້ເກັບລະຫັດນີ້ເປັນຄວາມລັບ ແລະ ເກັບຮັກສາມັນໄວ້ຢ່າງປອດໄພ, ຕົວຢ່າງ, ເປັນຕົວແປສະພາບແວດລ້ອມໃນແອັບພລິເຄຊັນຂອງທ່ານ.

ຂັ້ນຕອນທີ 2: ຕັ້ງຄ່າສະພາບແວດລ້ອມ Python ຂອງທ່ານ

ສໍາລັບຕົວຢ່າງນີ້, ພວກເຮົາຈະໃຊ້ไลบรารี `requests` ທີ່ນິຍົມໃນ Python ເພື່ອຈັດການກັບການຮ້ອງຂໍ HTTP.
ຖ້າທ່ານຍັງບໍ່ໄດ້ຕິດຕັ້ງມັນ, ທ່ານສາມາດເພີ່ມມັນເຂົ້າໃນສະພາບແວດລ້ອມຂອງທ່ານໄດ້ງ່າຍໆໂດຍໃຊ້ pip.
ເປີດ terminal ຫຼື command prompt ຂອງທ່ານ ແລະ ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງແພັກເກດທີ່ຈໍາເປັນ.
ການຕັ້ງຄ່າງ່າຍໆນີ້ແມ່ນທັງໝົດທີ່ທ່ານຕ້ອງການເພື່ອເລີ່ມຕົ້ນການໂຕ້ຕອບກັບ API.

pip install requests

ຂັ້ນຕອນທີ 3: ສ້າງຄໍາຮ້ອງຂໍ API ເພື່ອແປໄຟລ໌

ຕອນນີ້, ໃຫ້ຂຽນລະຫັດ Python ເພື່ອອັບໂຫຼດໄຟລ໌ສຽງພາສາອັງກິດ ແລະ ຮ້ອງຂໍການແປເປັນພາສາເຢຍລະມັນ.
ສະຄຣິບຈະເປີດໄຟລ໌ສຽງໃນໂໝດ binary ແລະ ສົ່ງມັນເປັນ `multipart/form-data` ໄປຍັງ endpoint `/v3/translate/file`.
ພວກເຮົາລະບຸ `source_language` ເປັນ ‘en’ ແລະ `target_language` ເປັນ ‘de’ ໃນ payload ຂອງຄໍາຮ້ອງຂໍ.

import requests
import time
import os

# ລະຫັດ API ຂອງທ່ານຈາກພໍທັນນັກພັດທະນາຂອງ Doctranslate
API_KEY = os.getenv("DOCTRANSLATE_API_KEY", "ລະຫັດ_API_ຂອງທ່ານ_ຢູ່ບ່ອນນີ້")
API_URL = "https://developer.doctranslate.io"

# ເສັ້ນທາງໄປຫາໄຟລ໌ສຽງທີ່ທ່ານຕ້ອງການແປ
file_path = "path/to/your/english_audio.mp3"

def translate_audio_file(path):
    headers = {
        "Authorization": f"Bearer {API_KEY}"
    }
    
    # ພາຣາມິເຕີສຳລັບວຽກການແປ
    payload = {
        "source_language": "en",
        "target_language": "de",
    }
    
    try:
        with open(path, "rb") as audio_file:
            files = {
                "file": (os.path.basename(path), audio_file, "audio/mpeg")
            }
            
            # ສ້າງຄໍາຮ້ອງຂໍເບື້ອງຕົ້ນເພື່ອເລີ່ມວຽກການແປ
            print("ກຳລັງອັບໂຫລດໄຟລ໌ ແລະ ເລີ່ມການແປ...")
            response = requests.post(f"{API_URL}/v3/translate/file", headers=headers, data=payload, files=files)
            response.raise_for_status() # ສົ່ງຂໍ້ຍົກເວັ້ນສຳລັບລະຫັດສະຖານະທີ່ບໍ່ດີ
            
            # ການຕອບສະໜອງເບື້ອງຕົ້ນມີ job_id
            job_info = response.json()
            job_id = job_info.get("job_id")
            
            if not job_id:
                print("ຜິດພາດ: ບໍ່ສາມາດດຶງເອົາ ID ວຽກໄດ້.")
                print(job_info)
                return None
                
            print(f"ເລີ່ມວຽກສຳເລັດແລ້ວດ້ວຍ ID: {job_id}")
            return job_id

    except FileNotFoundError:
        print(f"ຜິດພາດ: ບໍ່ພົບໄຟລ໌ທີ່ {path}.")
        return None
    except requests.exceptions.RequestException as e:
        print(f"ເກີດຂໍ້ຜິດພາດ API: {e}")
        return None

# ຕົວຢ່າງການນຳໃຊ້:
job_id = translate_audio_file(file_path)

ຂັ້ນຕອນທີ 4: ສອບຖາມສະຖານະວຽກ ແລະ ດຶງເອົາຜົນລັບ

ເນື່ອງຈາກການແປສຽງອາດຈະໃຊ້ເວລາ, API ຈຶ່ງເຮັດວຽກແບບ asynchronous.
ຫຼັງຈາກສົ່ງໄຟລ໌, ທ່ານຈະໄດ້ຮັບ `job_id`.
ຈາກນັ້ນ, ທ່ານຕ້ອງສອບຖາມ endpoint `/v3/translate/file/{job_id}` ຈົນກວ່າ `status` ຂອງວຽກຈະປ່ຽນເປັນ ‘completed’, ເຊິ່ງໃນຈຸດນັ້ນການຕອບສະໜອງຈະມີຂໍ້ຄວາມທີ່ແປແລ້ວ.

ສະຄຣິບຕໍ່ໄປນີ້ສະແດງວິທີການຈັດຕັ້ງປະຕິບັດເຫດຜົນການສອບຖາມນີ້.
ມັນກວດສອບສະຖານະວຽກທຸກໆ 10 ວິນາທີ ແລະ ພິມການແປພາສາເຢຍລະມັນສຸດທ້າຍເມື່ອມັນພ້ອມແລ້ວ.
ກົນໄກການສອບຖາມນີ້ແມ່ນສິ່ງຈໍາເປັນສໍາລັບການສ້າງແອັບພລິເຄຊັນທີ່ແຂງແກ່ນທີ່ສາມາດຈັດການວຽກທີ່ດົນນານໂດຍບໍ່ມີການໝົດເວລາ.

def check_job_status_and_get_result(job_id):
    if not job_id:
        return

    headers = {
        "Authorization": f"Bearer {API_KEY}"
    }
    
    status_url = f"{API_URL}/v3/translate/file/{job_id}"
    
    while True:
        try:
            print("ກຳລັງກວດສອບສະຖານະວຽກ...")
            response = requests.get(status_url, headers=headers)
            response.raise_for_status()
            
            status_info = response.json()
            job_status = status_info.get("status")
            
            print(f"ສະຖານະປັດຈຸບັນ: {job_status}")
            
            if job_status == "completed":
                # ເມື່ອສຳເລັດ, ການຕອບສະໜອງຈະມີເນື້ອຫາທີ່ແປແລ້ວ
                translated_text = status_info.get("translated_text")
                print("n--- ການແປສຳເລັດ ---")
                print(translated_text)
                break
            elif job_status == "failed":
                print("ວຽກລົ້ມເຫຼວ.")
                print(status_info.get("error"))
                break
            
            # ລໍຖ້າ 10 ວິນາທີກ່ອນທີ່ຈະສອບຖາມອີກຄັ້ງ
            time.sleep(10)
            
        except requests.exceptions.RequestException as e:
            print(f"ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ກວດສອບສະຖານະ: {e}")
            break

# ສືບຕໍ່ຈາກຂັ້ນຕອນກ່ອນໜ້າ
if job_id:
    check_job_status_and_get_result(job_id)

ຂໍ້ຄວນພິຈາລະນາທີ່ສຳຄັນໃນການຈັດການກັບຄວາມສະເພາະຂອງພາສາເຢຍລະມັນ

ການແປເນື້ອຫາເປັນພາສາເຢຍລະມັນຕ້ອງການຫຼາຍກວ່າການແປຄໍາສັບ; ມັນຮຽກຮ້ອງໃຫ້ມີຄວາມເຂົ້າໃຈກ່ຽວກັບຄວາມແຕກຕ່າງທາງດ້ານພາສາ ແລະ ວັດທະນະທໍາຢ່າງເລິກເຊິ່ງ.
API ການແປທີ່ມີຄຸນນະພາບສູງຕ້ອງຖືກຝຶກອົບຮົມດ້ວຍຕົວແບບທີ່ສາມາດຈັດການກັບຄວາມซັບຊ້ອນເຫຼົ່ານີ້ເພື່ອຜະລິດຜົນລັບທີ່ຟັງເປັນທໍາມະຊາດ ແລະ ເປັນມືອາຊີບສໍາລັບຜູ້ເວົ້າພື້ນເມືອງ.
ເມື່ອປະເມີນ API, ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະພິຈາລະນາວ່າມັນຈັດການກັບບັນຫາຕ່າງໆເຊັ່ນ: ຄວາມເປັນທາງການ, ຄໍານາມປະສົມ, ແລະ ເພດທາງໄວຍາກອນແນວໃດ.

ການຈັດການກັບຄວາມເປັນທາງການ: The

Để lại bình luận

chat