Trợ giúp cùng hồ sơ> Sản phẩm hồ sơ> Tự nhiên ngôn ngữ phiên dịch phục vụ > Android_SDK hồ sơ > thật khi giọng nói phiên dịch
Thật khi giọng nói phiên dịch

Thật khi giọng nói phiên dịch SDK tóm tắt

Tường thuật tóm lược

(1) khái niệm giải thích

Thật khi giọng nói phiên dịch: Nhưng thực hiện đối liên tục âm tần lưu thật khi phân biệt, thật khi phân biệt cùng phiên dịch giọng nói đưa vào nội dung, thay đổi thành văn bổn tin tức cũng phản hồi đối ứng văn tự lưu.

(2) thuyết minh

Hi, ngài hảo, hoan nghênh sử dụng có nói trí vân thật khi giọng nói phiên dịch Android SDK. Nếu ngài tưởng nhanh chóng thể nghiệm phục vụ, kiến nghị ngài đi trướcThật khi giọng nói phiên dịch thể nghiệm trung tâmHoặc là ở thể nghiệm trung tâm hữu hạ sườn tìm được tiểu trình tự mã QR, rà quét tiến hành thể nghiệm.

Bổn văn đương chủ yếu nhằm vào yêu cầu tổng thể thật khi giọng nói phiên dịch phục vụ Android SDK khai phá kỹ sư, kỹ càng tỉ mỉ miêu tả có nói trí vân thật khi giọng nói năng lực cập tổng thể quá trình.

Nếu ngài có cùng chúng ta thương vụ hợp tác nhu cầu, có thể thông qua một chút phương thức liên hệ chúng ta:

Thương vụ hộp thư:[email protected]

Nếu ngài đối hồ sơ nội dung có bất luận cái gì nghi vấn, có thể thông qua dưới vài loại phương thức liên hệ chúng ta:

Khách phục QQ: 1906538062

Trí vân phiên dịch kỹ thuật giao lưu QQ 1 đàn: 652880659

Trí vân phiên dịch kỹ thuật giao lưu QQ 2 đàn: 669384425

Trí vân phiên dịch kỹ thuật giao lưu QQ 3 đàn: 807539209

Trí vân phiên dịch kỹ thuật giao lưu QQ 4 đàn: 936752411

Liên hệ hộp thư:[email protected]

Ấm áp nhắc nhở:
Bổn văn đương chủ yếu nhằm vào khai phá nhân viên, tiếp nhập thí nghiệm trước yêu cầu ở hậu đài sáng tạo Android ứng dụng, cũng trói định thật khi giọng nói phiên dịch ví dụ thực tế; nếu ngài còn không có, thỉnh dựa theoTay mới chỉ namThao tác.
Ngôi cao hướng mỗi cái tài khoản đưa tặng 50 nguyên thể nghiệm kim, cung người dùng tổng thể trước thí nghiệm sở dụng, cụ thể tư phí quy tắc tường thấyThật khi giọng nói phiên dịch phục vụ báo giá.

Công năng giới thiệu

Có nói trí vân thật khi giọng nói phiên dịch SDK là có nói trí vân mở ra ngôi cao cung cấp vân phục vụ chi nhất, là có nói tại tuyến thật khi giọng nói phiên dịch tiếp lời một loại thực hiện, duy trì thật khi giọng nói phiên dịch cùng chỉnh câu phiên dịch.

Kiêm dung tính

Duy trì thiết bị: Vận hành Android 4.0.3 cập trở lên hệ thống Android thiết bị

Thật khi giọng nói phiên dịch SDK tổng thể chỉ nam

Tổng thể tiền đề

Bắt đầu tổng thể SDK phía trước khai phá giả yêu cầu đăng nhậpCó nói trí vân ngôi cao,Sáng tạo ứng dụng thu hoạch ứng dụng ID ( hoặc là thông qua hoạt động nhân viên thu hoạch ứng dụng ID ), để sử dụng thật khi giọng nói phiên dịch.

Tổng thể bước đi

1. SDK bao dẫn vào

Thỉnh đem ydasr-release.aar copy đến libs mục lục hạ, cũng đem dưới số hiệu tăng thêm đến app build.gradle trung:

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
...
repositories {
flatDir {
dirs 'libs'
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
...
implementation "android.arch.lifecycle:extensions:$lifecycleVersion"
implementation "android.arch.lifecycle:common-java8:$lifecycleVersion"
implementation "com.squareup.okhttp3:okhttp:$okHttpVersion"
implementation "com.google.code.gson:gson:$gsonVersion"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"

implementation (name:'ydasr-release', ext:'aar')

kapt "android.arch.lifecycle:compiler:$lifecycleVersion"
}
buildscript {
ext {
// App dependencies
gsonVersion = '2.8.5'
kotlinVersion = '1.3.0'
lifecycleVersion = '1.1.1'
okHttpVersion = '3.11.0'
}
dependencies {
...
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}

2.AndroidManifest phối trí

Tăng thêm quyền hạn

<uses-permission android:name= "android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name= "android.permission.INTERNET" />
<uses-permission android:name= "android.permission.RECORD_AUDIO" />
<uses-permission android:name= "android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name= "android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name= "android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name= "android.permission.BROADCAST_STICKY" />
<uses-permission android:name= "android.permission.BLUETOOTH" />

Trong đó RECORD_AUDIO cùng WRITE_EXTERNAL_STORAGE quyền hạn yêu cầu động thái xin

3. Số hiệu lẫn lộn phối trí

Số hiệu lẫn lộn văn kiện proguard-project.txt, tăng thêm như sau nội dung

# Gson
-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }

#okhttp3
-dontwarn com.squareup.okhttp3.**
-keep class com.squareup.okhttp3.** { *;}
-dontwarn okhttp3.**
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**

#lifecycle
-keep public class android.arch.lifecycle.** {
public protected *;
}
-keepclassmembers class ** {
@android.arch.lifecycle.OnLifecycleEvent public *;
}

#kotlin
-dontwarn kotlin.**

#AsrSdk
-keep class com.youdao.ydasr.** { *; }
-keep interface com.youdao.ydasr.** { *; }
-keep class com.youdao.audio.** { *; }
-keep interface com.youdao.audio.** { *; }

Sử dụng thuyết minh

// sáng tạo asr phản hồi tiếp lời, nếu không nghĩ thực hiện sở hữu tiếp lời, có thể sử dụng thực hiện OptionalAsrListener
private AsrListener mAsrListener = new AsrListener() {
// bắt đầu phân biệt hồi điều
@Override
public void onAsrStart() {}

// trọng liền sau lại lần nữa liên tiếp thành công hồi điều
@Override
public void onAsrRestart() {}

// kết thúc phân biệt hồi điều
@Override
public void onAsrStop() {}

// đang ở trọng liền nhắc nhở
@Override
public void onAsrReconnecting() {}

// sai lầm hồi điều
@Override
public void onAsrError(@NotNull AsrResultCode error) {

// ASR kết quả hồi điều phân biệt kết quả: result.getResult().getContext()
// phiên dịch kết quả: result.getResult().getTranContent()
@Override
public void onAsrNext(@NotNull AsrResult result, boolean isPartial) {}

// âm lượng biến hóa hồi điều
@Override
public void onAsrVolumeChange(float volume) {}

// sau điểm cuối tĩnh âm hồi điều
@Override
public void onAsrSilentEnd() {}

// đằng trước điểm tĩnh âm hồi điều
@Override
public void onAsrSilentStart() {}

// liên tiếp thượng Bluetooth microphone nhắc nhở
@Override
public void onBluetoothAudioConnected() {}

// Bluetooth microphone tách ra nhắc nhở
@Override
public void onBluetoothAudioDisconnected() {}
};

// ở onCreate trung thuyên chuyển, sáng tạo AsrManager, cũng đăng ký sinh mệnh chu kỳ quan sát
asrParams = new ASRParams.Builder()
.transPattern(transPattern) // phiên dịch hình thức duy trì thật khi (stream) cùng chỉnh câu (sentence) phiên dịch
.timeoutStart(5000L)
.timeoutEnd(10000L)
.sentenceTimeout(3000L)
.connectTimeout(10000L)
.isWaitServerDisconnect(true)
.build();
mAsrManager = AsrManager.getInstance(this, "your appKey", asrParams, mAsrListener);
getLifecycle().addObserver(mAsrManager);

// thiết trí hay không tăng thêm đầu văn kiện
mAsrManager.addWavHead = true;

// thiết trí nguyên ngôn ngữ cùng mục tiêu ngôn ngữ FROM nguyên ngôn ngữ, TO mục tiêu ngôn ngữ, trước mặt đã duy trì nhiều đạt 80 dư loại ngôn ngữ lẫn nhau dịch
mAsrManager.setASRLanguage(from, to);

// nếu là bản địa đã thu tốt văn kiện không cần thêm đầu, còn lại tình huống yêu cầu tăng thêm đầu văn kiện
mAsrManager.addWavHead = true;

// bắt đầu liên tiếp ( chú: Trước liên tiếp, sau cắm vào số liệu lưu )
mAsrManager.startConnect();

// đình chỉ phân biệt
mAsrManager.stop();

// số liệu thật khi phiên dịch
mAsrManager.insertAudioBytes(bytes);

Chú: Âm tần trước mắt chỉ duy trì 16k thu thập mẫu suất, thông qua di động ghi âm thu hoạch âm tần yêu cầu tăng thêm đầu văn kiện, bản địa văn kiện không cần đầu văn kiện

support library 26.1.0 dưới xử lý biện pháp

Nhằm vào support library 26.1.0 dưới, thỉnh sử dụng cái này phiên bảnĐi trừ lifecycle ỷ lại phiên bản

Đồng thời yêu cầu đi trừ lifecycle ỷ lại:

dependencies {
...
// implementation "android.arch.lifecycle:extensions:$lifecycleVersion"
// implementation "android.arch.lifecycle:common-java8:$lifecycleVersion"
implementation "com.squareup.okhttp3:okhttp:$okHttpVersion"
implementation "com.google.code.gson:gson:$gsonVersion"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
// implementation (name:'ydaudiosdk-release', ext:'aar')
implementation (name:'ydasrsdk-release', ext:'aar')
// kapt "android.arch.lifecycle:compiler:$lifecycleVersion"
}

Cũng ở thuyên chuyển trong quá trình đi trừ

// getLifecycle().addObserver(mAsrManager);

Cũng tăng thêm:

@Override
protected void onDestroy() {
mAsrManager.destroy();
super.onDestroy();
}

Phân biệt kết quả thuyết minh

Tham sốHàm nghĩaThuyết minh
bgPhân câu bắt đầu thời gianĐơn vị hào giây /ms
edPhân câu kết thúc thời gianĐơn vị hào giây /ms
contextPhân biệt kết quả
tranContentPhiên dịch kết quả
partialHay không là trung gian kết quảtrue: Trung gian kết quả; false: Hoàn chỉnh câu
segIdPhân câu idTừ 0 bắt đầu tăng lên

Duy trì ngôn ngữ

Số hiệuNgôn ngữ
zh-CHSGiản thể tiếng Trung
enThông dụng tiếng Anh
enzhTrung anh hỗn hợp
ar-ILTiếng Ảrập ( Israel )
ar-JOTiếng Ảrập ( Jordan )
ar-AETiếng Ảrập ( Các tiểu vương quốc Ả rập thống nhất )
ar-BHTiếng Ảrập ( ba lâm )
ar-DZTiếng Ảrập ( Algeria )
ar-SATiếng Ảrập ( Ả Rập Xê Út )
ar-IQTiếng Ảrập ( Iraq )
ar-KWTiếng Ảrập ( Kuwait )
ar-MATiếng Ảrập ( Ma Rốc )
ar-TNTiếng Ảrập ( Tunisia )
ar-OMTiếng Ảrập ( a mạn )
ar-PSTiếng Ảrập ( Palestine quốc )
ar-QATiếng Ảrập ( Qatar )
ar-LBTiếng Ảrập ( Li Băng )
ar-EGTiếng Ảrập ( Ai Cập )
plBa Lan ngữ ( Ba Lan )
daTiếng Đan Mạch ( Đan Mạch )
deTiếng Đức ( nước Đức )
ruTiếng Nga
frTiếng Pháp ( nước Pháp )
fr-CATiếng Pháp ( Canada )
fiPhần Lan ngữ ( Phần Lan )
koHàn ngữ ( Hàn Quốc )
nlHà Lan ngữ ( Hà Lan )
csTiệp Khắc ngữ ( Cộng hòa Séc )
hrCroatia ngữ ( Croatia )
lvLatvia ngữ ( Latvia )
roRumani ngữ ( Rumani )
msMã tới ngữ ( Malaysia )
pt-BRABồ Đào Nha ngữ ( Brazil )
ptBồ Đào Nha ngữ ( Bồ Đào Nha )
jaTiếng Nhật ( Nhật Bản )
svThuỵ Điển ngữ ( Thuỵ Điển )
teThái Lư cố ngữ ( Ấn Độ )
taThái mễ ngươi ngữ ( Ấn Độ )
ta-SGThái mễ ngươi ngữ ( Singapore )
ta-LKThái mễ ngươi ngữ ( Sri Lanka )
ta-MYThái mễ ngươi ngữ ( Malaysia )
thThái ngữ ( Thái Lan )
trThổ Nhĩ Kỳ ngữ ( Thổ Nhĩ Kỳ )
esTiếng Tây Ban Nha ( Tây Ban Nha )
es-ARTiếng Tây Ban Nha ( Argentina )
es-BOTiếng Tây Ban Nha ( Bolivia )
es-CLTiếng Tây Ban Nha ( Chi Lê )
es-COLTiếng Tây Ban Nha ( Columbia )
es-CRTiếng Tây Ban Nha ( Costa Rica )
es-ECTiếng Tây Ban Nha ( Ecuador )
es-SVTiếng Tây Ban Nha ( El Salvador )
es-USTiếng Tây Ban Nha ( nước Mỹ )
es-GTTiếng Tây Ban Nha ( Goa-tê-ma-la )
es-HNTiếng Tây Ban Nha ( Honduras )
es-MEXTiếng Tây Ban Nha ( Mexico )
es-NITiếng Tây Ban Nha ( Nicaragua )
es-PATiếng Tây Ban Nha ( Panama )
es-PYTiếng Tây Ban Nha ( Pa-ra-goay )
es-PETiếng Tây Ban Nha ( Peru )
es-PRTiếng Tây Ban Nha ( Puerto Rico )
es-DOTiếng Tây Ban Nha ( Dominica nước cộng hoà )
es-UYTiếng Tây Ban Nha ( Uruguay )
es-VETiếng Tây Ban Nha ( Venezuela )
itTiếng Ý ( Italy )
hiẤn mà ngữ ( Ấn Độ )
en-AUSTiếng Anh ( Australia )
en-CATiếng Anh ( Canada )
en-GHTiếng Anh ( Ghana )
en-GBRTiếng Anh ( Anh quốc )
en-INDTiếng Anh ( Ấn Độ )
en-IETiếng Anh ( Ireland )
en-KETiếng Anh ( Kenya )
en-NZTiếng Anh ( New Zealand )
en-NGTiếng Anh ( Nigeria )
en-PHTiếng Anh ( Philippines )
en-SGTiếng Anh ( Singapore )
en-ZAFTiếng Anh ( Nam Phi )
en-TZTiếng Anh ( Tanzania )
en-USTiếng Anh ( nước Mỹ )
viViệt Nam ngữ ( Việt Nam )
zh-TWNĐài Loan tiếng phổ thông ( Trung Quốc Đài Loan )
loLào ngữ ( Lào )
bnBangladesh ngữ ( Bangladesh )
bn-INBangladesh ngữ ( Ấn Độ )
tlPhilippines ngữ

Sai lầm số hiệu danh sách

Sai lầm mãHàm nghĩa
101Khuyết thiếu tất điền tham số
102Không duy trì ngôn ngữ loại hình
103Phiên dịch văn bản quá dài
104Không duy trì API loại hình
105Không duy trì ký tên loại hình
106Không duy trì hưởng ứng loại hình
107Không duy trì truyền mã hóa loại hình
108Ứng dụng ID không có hiệu quả, đăng ký tài khoản, đăng nhập hậu trường sáng tạo ứng dụng cùng ví dụ thực tế cũng hoàn thành trói định, nhưng đạt được ứng dụng ID cùng ứng dụng chìa khóa bí mật chờ tin tức
109batchLog cách thức không chính xác
110Vô tương quan phục vụ hữu hiệu ví dụ thực tế
111Khai phá giả tài khoản không có hiệu quả
113q không thể vì không
114Không duy trì hình ảnh truyền phương thức
201Giải mật thất bại, khả năng vì DES,BASE64,URLDecode sai lầm
202Ký tên kiểm nghiệm thất bại
203Phỏng vấn IP địa chỉ không ở nhưng phỏng vấn IP danh sách
205Thỉnh cầu tiếp lời cùng ứng dụng ngôi cao loại hình không nhất trí, như có nghi vấn thỉnh tham khảoNhập môn chỉ nam
206Bởi vì thời gian chọc không có hiệu quả dẫn tới ký tên kiểm tra thất bại
207Trọng phóng thỉnh cầu
301Từ điển tuần tra thất bại
302Phiên dịch tuần tra thất bại
303Phục vụ quả nhiên cái khác dị thường
304Hội thoại để đó không dùng lâu lắm siêu khi
401Tài khoản đã thiếu phí đình
402offlinesdk không thể dùng
411Phỏng vấn tần suất chịu hạn, thỉnh sau đó phỏng vấn
412Trường thỉnh cầu quá mức thường xuyên, thỉnh sau đó phỏng vấn
1001Không có hiệu quả OCR loại hình
1002Không duy trì OCR image loại hình
1003Không duy trì OCR Language loại hình
1004Phân biệt hình ảnh quá lớn
1201Hình ảnh base64 giải mật thất bại
1301OCR đoạn phân biệt thất bại
1411Phỏng vấn tần suất chịu hạn
1412Vượt qua lớn nhất phân biệt byte số
2003Không duy trì giọng nói thanh nói
2004Không duy trì giọng nói thượng truyền loại hình
2005Không duy trì ngôn ngữ loại hình
2006Không duy trì phân biệt loại hình
2201Phân biệt âm tần văn kiện quá lớn
2301Phân biệt âm tần khi trường quá dài
2411Không duy trì âm tần văn kiện loại hình
2412Không duy trì phát âm loại hình
3001Không duy trì giọng nói cách thức
3002Không duy trì giọng nói thu thập mẫu suất
3003Không duy trì giọng nói thanh nói
3004Không duy trì giọng nói thượng truyền loại hình
3005Không duy trì ngôn ngữ loại hình
3006Không duy trì phân biệt loại hình
3007Phân biệt âm tần văn kiện quá lớn
3008Phân biệt âm tần khi trường quá dài
3009Không duy trì âm tần văn kiện loại hình
3010Không duy trì phát âm loại hình
3201Giải mật thất bại
3301Giọng nói phân biệt thất bại
3302Giọng nói phiên dịch thất bại
3303Phục vụ dị thường
3411Phỏng vấn tần suất chịu hạn, thỉnh sau đó phỏng vấn
3412Vượt qua lớn nhất thỉnh cầu tự phù số
4001Không duy trì giọng nói phân biệt cách thức
4002Không duy trì giọng nói phân biệt thu thập mẫu suất
4003Không duy trì giọng nói phân biệt thanh nói
4004Không duy trì giọng nói thượng truyền loại hình
4005Không duy trì ngôn ngữ loại hình
4006Phân biệt âm tần văn kiện quá lớn
4007Phân biệt âm tần khi trường quá dài
4201Giải mật thất bại
4301Giọng nói phân biệt thất bại
4303Phục vụ dị thường
4411Phỏng vấn tần suất chịu hạn, thỉnh sau đó phỏng vấn
4412Vượt qua lớn nhất thỉnh cầu khi trường
5001Không có hiệu quả OCR loại hình
5002Không duy trì OCR image loại hình
5003Không duy trì ngôn ngữ loại hình
5004Phân biệt hình ảnh quá lớn
5005Không duy trì hình ảnh loại hình
5006Văn kiện vì không
5201Giải mật sai lầm, hình ảnh base64 giải mật thất bại
5301OCR đoạn phân biệt thất bại
5411Phỏng vấn tần suất chịu hạn
5412Vượt qua lớn nhất phân biệt lưu lượng
9001Không duy trì giọng nói cách thức
9002Không duy trì giọng nói thu thập mẫu suất
9003Không duy trì giọng nói thanh nói
9004Không duy trì giọng nói thượng truyền loại hình
9005Không duy trì giọng nói phân biệt Language loại hình
9301ASR phân biệt thất bại
9303Server bên trong sai lầm
9411Phỏng vấn tần suất chịu hạn ( vượt qua lớn nhất thuyên chuyển số lần )
9412Vượt qua lớn nhất xử lý giọng nói chiều dài
10001Không có hiệu quả OCR loại hình
10002Không duy trì OCR image loại hình
10004Phân biệt hình ảnh quá lớn
10201Hình ảnh base64 giải mật thất bại
10301OCR đoạn phân biệt thất bại
10411Phỏng vấn tần suất chịu hạn
10412Vượt qua lớn nhất phân biệt lưu lượng
11001Không duy trì giọng nói phân biệt cách thức
11002Không duy trì giọng nói phân biệt thu thập mẫu suất
11003Không duy trì giọng nói phân biệt thanh nói
11004Không duy trì giọng nói thượng truyền loại hình
11005Không duy trì ngôn ngữ loại hình
11006Phân biệt âm tần văn kiện quá lớn
11007Phân biệt âm tần khi trường quá dài, lớn nhất duy trì 30s
11201Giải mật thất bại
11301Giọng nói phân biệt thất bại
11303Phục vụ dị thường
11411Phỏng vấn tần suất chịu hạn, thỉnh sau đó phỏng vấn
11412Vượt qua lớn nhất thỉnh cầu khi trường
12001Hình ảnh kích cỡ quá lớn
12002Hình ảnh base64 giải mật thất bại
12003Động cơ server phản hồi sai lầm
12004Hình ảnh vì không
12005Không duy trì phân biệt hình ảnh loại hình
12006Hình ảnh vô cùng xứng kết quả
13001Không duy trì góc độ loại hình
13002Không duy trì văn kiện loại hình
13003Bảng biểu phân biệt hình ảnh quá lớn
13004Văn kiện vì không
13301Bảng biểu phân biệt thất bại
15001Yêu cầu hình ảnh
15002Hình ảnh quá lớn ( 1M )
15003Phục vụ thuyên chuyển thất bại
17001Yêu cầu hình ảnh
17002Hình ảnh quá lớn ( 1M )
17003Phân biệt loại hình không tìm được
17004Không duy trì phân biệt loại hình
17005Phục vụ thuyên chuyển thất bại
-1000Không biết sai lầm
-2000Tuần tra đưa vào vì không

Về Demo trung bản địa văn kiện phân biệt mệnh danh quy tắc thuyết minh

Đem wav hậu tố văn kiện chứa đựng đến di động tồn trữ ydasrDemo/temp mục lục hạ, đem văn kiện danh đổi thành đối ứng from ngôn ngữ đối ứng tham số khi, nhưng tự động căn cứ sở tuyển from ngôn ngữ chủng loại tự động lựa chọn tương đối ứng âm tần văn kiện.

Tỷ như: Nên mục lục còn dư ở da.wav âm tần văn kiện. Được tuyển chọn from ngôn ngữ vì tiếng Đan Mạch ( Đan Mạch ) khi, điểm đánh phiên dịch bản địa văn kiện cái nút sau, tự động bắt đầu phiên dịch da.wav văn kiện.

Phiên bản đổi mới ký lục

Thượng tuyến ngàyPhiên bản hàoĐổi mới nội dung
2019.06.20v1.0.0Duy trì thật khi giọng nói phiên dịch cùng chỉnh câu phiên dịch
2019.09.19v1.1.0Mở rộng tiểu loại ngôn ngữ