Tài liệu tham khảo API Transliterate

Chuyển ngữ đơn giản

Phương pháp sau cho phép bạn thực hiện việc chuyển tự đơn giản mà không cần giao diện người dùng bằng cách thao tác JavaScript.

Phương thức Mô tả

google.language.transliterate(wordsArray, srcLang, destLang, callback)

google.language.transliterate(wordsArray, srcLang, destLang, callback) là một phương thức toàn cầu chuyển ngữ văn bản đã cho từ ngôn ngữ nguồn sang ngôn ngữ đích. API trả về kết quả không đồng bộ với hàm callback đã cho dưới dạng đối tượng result. Các thông số cho phương thức này là:

  • wordsArray cung cấp văn bản để chuyển tự dưới dạng mảng.
  • srcLang cung cấp ngôn ngữ nguồn dưới dạng mã ngôn ngữ. Xem enum LanguageCode để biết ví dụ.
  • destLang cung cấp ngôn ngữ đích dưới dạng mã ngôn ngữ. Xem enum LanguageCode để biết ví dụ.
  • callback là hàm callback sẽ nhận result.

google.language.transliterate() không có giá trị trả về.

Phương thức chuyển đổi được đơn giản hóa này sử dụng vùng chứa tên google.language.transliterate (chứ không phải google.elements.transliteration) – đó là vùng chứa tên cho mọi phương thức khác trong API Transliterate.

google.language.transliterate() xuất đối tượng result.

Các đối tượng kết quả được tạo bằng cách sử dụng phương thức mã hóa JSON của các yêu cầu máy chủ. Do đó, chúng ta đã chọn không triển khai các đối tượng JavaScript chính thức và thay vào đó, đã tạo động các đối tượng result từ biểu mẫu tuần tự.

Mặc dù không có hoạt động triển khai chính thức nào, nhưng các đối tượng đó lại tồn tại và chúng tôi ghi lại như thể có hoạt động triển khai JavaScript dự phòng. Tác động của tất cả những việc này là rất nhỏ. Tất cả điều đó có nghĩa là không có hàm dựng nào được đặt tên. Đối với mỗi kết quả, đó là hệ thống gọi là Object (mới) và sau đó đặt thuộc tính chính thức trên đối tượng đó. Dưới đây là các thuộc tính này.

  • <result>
    • error?
      Trình bày nếu có lỗi trong quá trình chuyển tự.
    • transliterations
      Một mảng có kích thước bằng với kích thước của mục nhập wordsArray.
      • transliteratedWords
        Một mảng có kích thước tối đa 5, với bản chuyển tự cho từ tương ứng trong wordsArray.

Tham chiếu JavaScript kiểm soát chuyển ngữ

Hàm dựng và phương thức sau cho phép bạn thực hiện việc chuyển tự trong giao diện người dùng do API cung cấp.

Hàm dựng – google.elements.transliteration.TransliterationControl(options)

Hàm dựng Mô tả

google.elements.transliteration.
TransliterationControl(options)

.TransliterationControl(options) cho phép chuyển tự trên một tập hợp các phần tử DOM HTML có thể chỉnh sửa và cung cấp một số phương pháp cho phép bạn kiểm soát việc chuyển tự trong các phần tử đó. Đối số options có thể có các trường sau:

  • sourceLanguage là một chuỗi bắt buộc chỉ định ngôn ngữ nguồn bằng LanguageCode enum (như trong google.elements.transliteration.ENGLISH). Hiện tại, tiếng Anh là ngôn ngữ nguồn duy nhất được hỗ trợ.
  • destinationLanguage là một mảng bắt buộc chỉ định ngôn ngữ đích bằng LanguageCode enum như trong (như trong google.elements.transliteration.HINDI ).

    Trong giao diện người dùng, các ngôn ngữ đích có sẵn sẽ xuất hiện trong trình đơn, với ngôn ngữ đầu tiên trong mảng được chọn theo mặc định. Vui lòng tham khảo getDestinationLanguage để biết thêm chi tiết về các ngôn ngữ đích hợp lệ cho ngôn ngữ nguồn đã chọn.
  • transliterationEnabled là trường không bắt buộc để xác định có bật tính năng chuyển tự theo mặc định hay không. Nếu bạn muốn bật tính năng chuyển tự theo mặc định, hãy chỉ định trường này với giá trị true. Giá trị mặc định là false.
  • shortcutKey là một trường chuỗi không bắt buộc chỉ định phím tắt để bật hoặc tắt tính năng chuyển tự. Để chỉ định phím tắt, hãy chỉ định một chuỗi chứa các từ khóa bổ sung như ×39;Ctrl#39; ×30;Alt#39; hoặc 'Shift#39; cùng với một chữ cái. Ví dụ: thô?

    Lưu ý: Bạn không thể dùng Shift làm từ khóa bổ trợ duy nhất; tuy nhiên, bạn có thể sử dụng phím tắt này cùng với phím Alt hoặc Control.

Phương thức này tạo ra các ngoại lệ trong những trường hợp sau:

  • sourceLanguage hoặc destinationLanguage không hợp lệ
  • Ngôn ngữ không được hỗ trợ trong cặp ngôn ngữ sourceLangaugedestinationLanguage
  • Tổ hợp phím tắt không hợp lệ

Đoạn mã sau đây minh họa cách tạo một phiên bản của tùy chọn kiểm soát chuyển tự:

function onLoad() {
  var options = {
    sourceLanguage: 'en',
    destinationLanguage: ['hi'],
    shortcutKey: 'ctrl+g',
    transliterationEnabled: true
  };

  // Create an instance on TransliterationControl with the required
  // options.
  var control = new google.elements.transliteration.TransliterationControl(options);
}

Phương pháp chuyển ngữ

Các phương thức sau đây được triển khai trên vùng chứa tên google.elements.transliteration.TransliterationControl.

Phương thức Mô tả

.addEventListener(eventType, listener, opt_listenerScope)

.addEventListener(eventType, listener, opt_listenerScope) thêm một trình nghe vào tùy chọn kiểm soát chuyển tự cho loại sự kiện đã chỉ định. Khi loại sự kiện cụ thể được kích hoạt, trình nghe sẽ được gọi cùng với đối tượng sự kiện. Nội dung của đối tượng sự kiện phụ thuộc vào loại sự kiện. Các thông số cho phương thức này là:

  • eventType là sự kiện sẽ thêm trình nghe. Đối số này lấy giá trị từ enum eventType (chẳng hạn như google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener cung cấp chức năng trình xử lý cho sự kiện.
  • opt_listenerScope gọi trình nghe có this được đặt thành đối tượng được chỉ định trong opt_listenerScope.

.addEventListener() không có giá trị trả về.

.disableTransliteration()

.disableTransliteration() tắt tính năng chuyển tự trong chế độ điều khiển chuyển ngữ. Phương thức này không có đối số và không có giá trị trả về.

.enableTransliteration()

.enableTransliteration() bật tính năng chuyển tự trong chế độ điều khiển chuyển ngữ. Phương thức này không có đối số và không có giá trị trả về.

.isTransliterationEnabled()

.isTransliterationEnabled() không có đối số và trả về boolean cho biết liệu tính năng chuyển tự có được bật trong tùy chọn kiểm soát chuyển tự hay không.

.makeTransliteratable(elementIds, opt_options)

.makeTransliteratable(elementIds, opt_options) bật tính năng chuyển tự trên(các) phần tử HTML đã cung cấp. Các thông số cho phương thức này là:

  • elementIds là một mảng chứa các chuỗi phần tử có thể chỉnh sửa hoặc tham chiếu phần tử mà bạn muốn bật tính năng chuyển tự. Phần tử có thể chỉnh sửa có thể là:

    • Một trường văn bản
    • Vùng văn bản
    • A <div> với contentEditable="true"
    • &<iframe> với designMode="on"
    • iFrame với nội dung contentEditable="true". Đảm bảo iFrame được tải trước khi bật tính năng chuyển tự.
  • opt_options là một đối số không bắt buộc, cung cấp các tùy chọn áp dụng cho các phần tử này. Đối số này có thể chứa các trường sau:
    • adjustElementStyle là trường boolean không bắt buộc kiểm soát việc API có tự động điều chỉnh thành phần và kích thước phông chữ cho phù hợp một cách tối ưu với các ký tự ngôn ngữ đích hay không. Giá trị mặc định là true. Tùy chọn này chỉ ảnh hưởng đến các thành phần văn bản thuần túy.
    • adjustElementDirection là trường boolean tùy chọn kiểm soát hướng của phần tử có thể chỉnh sửa tùy thuộc vào hướng của destinationLanguage. Giá trị mặc định là true.

Đối với các hệ thống viết từ phải sang trái như tiếng Ả Rập, API tự động điều chỉnh hướng của thành phần đầu vào theo hướng của tập lệnh đã viết và nội dung của thành phần đầu vào. Bạn có thể đặt hướng văn bản trong phần tử nhập bằng HTML và JavaScript với direction. Giá trị này có thể có giá trị là 'ltr' (từ trái sang phải) hoặc 'rtl' (từ phải sang trái). Khi dùng phương thức này, con trỏ và căn chỉnh văn bản trong vùng nhập sẽ bị ảnh hưởng.

Bạn có thể xem ví dụ về việc hỗ trợ API cho những ngôn ngữ từ phải sang trái trong ví dụ về bản chuyển tự tiếng Ả Rập.

Phương thức này tạo ra các ngoại lệ nếu bất kỳ elementIds nào được chỉ định không hợp lệ.

.makeTransliteratable() không có giá trị trả về.

.removeEventListener(eventType, listener, opt_listenerScope)

.removeEventListener(eventType, listener, opt_listenerScope) xóa một trình xử lý sự kiện khỏi bộ điều khiển chuyển ngữ, trong đó:

  • Đối số này lấy giá trị từ enum eventType (chẳng hạn như google.elements.transliteration.TransliterationControl. EventType.STATE_CHANGED)).
  • listener là hàm dành cho sự kiện cần bị xóa.
  • opt_listenerScope là phạm vi mà trình nghe được đăng ký tại thời điểm thêm trình nghe.

.removeEventListener() không có giá trị trả về.

.setLanguagePair(sourceLanguage, destinationLanguage)

.setLanguagePair(sourceLanguage, destinationLanguage) cho phép bạn tự động thay đổi cặp ngôn ngữ mà tùy chọn kiểm soát chuyển ngữ sử dụng, trong đó:

  • sourceLanguage cung cấp loại ngôn ngữ cần chuyển tự. Đối số này lấy giá trị từ enum LanguageCode (chẳng hạn như google.elements.transliteration.TransliterationControl. LanguageCode.ENGLISH)).
  • DestinationLanguage cung cấp loại ngôn ngữ cho văn bản đã chuyển tự.

.setLanguagePair() trả về một giá trị boolean cho biết hành động setLanguage có thành công hay không.

.showControl(divElement)

.showControl(divElement) cho biết quyền kiểm soát chuyển tự trong DIV được chỉ định, trong đó divElement là mã nhận dạng của DIV. Phương thức này không có giá trị trả về.

.toggleTransliteration()

.toggleTransliteration() bật hoặc tắt tính năng chuyển tự trong chế độ điều khiển chuyển ngữ. Phương thức này không có đối số và không có giá trị trả về.

Phương thức tĩnh

Phương thức tĩnh sau đây được triển khai trên vùng chứa tên google.language.

Phương thức tĩnh Mô tả

.setOnLoadCallback(callback)

.setOnLoadCallback(callback) là một hàm tĩnh đăng ký hàm trình xử lý đã chỉ định sẽ được gọi sau khi trang chứa lệnh gọi này tải, trong đó callback là một hàm bắt buộc được gọi khi tài liệu chứa chứa được tải và API đã sẵn sàng sử dụng (ví dụ: sau onLoad). Hàm này được triển khai trên vùng chứa tên google (tức là google.setOnLoadCallback(callback);)

.setOnLoadCallback() không có giá trị trả về.

Lưu ý: Tài liệu trước đây đề xuất bạn sử dụng thuộc tính onload của phần tử nội dung (<body onload="OnLoad()">). Mặc dù đây là cách hay để bạn kiểm soát hoàn toàn trang và tất cả mã do trang tải, nhưng phương pháp này có thể gây ra sự cố với một số thời gian chạy phá hủy trình xử lý của bạn. body.onload. setOnLoadCallback() không gặp vấn đề này nên bạn nên đăng ký một lệnh gọi lại để gọi mã khi API được tải đầy đủ và sẵn sàng sử dụng.

Phương thức tĩnh sau đây được triển khai trên vùng chứa tên google.elements.transliteration.

Phương thức tĩnh Mô tả

.getDestinationLanguages(sourceLanguage)

.getDestinationLanguages(sourceLanguage) là phương thức toàn cầu trả về bản đồ ngôn ngữ đích mà tính năng chuyển tự được hỗ trợ cho sourceLanguage đã cho. Bản đồ được trả lại chứa các ngôn ngữ đích được hỗ trợ, trong đó khóa là tên ngôn ngữ và giá trị là mã ngôn ngữ. Bản đồ được trả về tương tự như bản đồ được mô tả trong LanguageCode liệt kê.

Enum

Loại sự kiện

Bảng liệt kê google.elements.transliteration.TransliterationControl.EventType liệt kê các sự kiện có thể xảy ra trong quá trình chuyển ngữ. Bạn có thể cung cấp trình xử lý tùy chỉnh cho các sự kiện này trong mã của mình.

var google.elements.transliteration.TransliterationControl.EventType = {
   STATE_CHANGED : 'state_changed',
   LANGUAGE_CHANGED : 'language_changed',
   SERVER_REACHABLE : 'server_reachable',
   SERVER_UNREACHABLE : 'server_unreachable'
};
  • google.elements.transliteration.TransliterationControl.EventType.STATE_CHANGED: Kết quả khi tính năng chuyển tự được bật hoặc tắt trong tùy chọn điều khiển chuyển ngữ qua:
    • Phím tắt
    • Phương thức enableTransliteration, disableTransliteration, hoặc toggleTransliteration
    • Hãy nhấp chuột vào tùy chọn điều khiển chuyển ngữ được vẽ bằng phương thức showControl.
    Đối tượng sự kiện được chuyển đến trình nghe có chứa trường transliterationEnabled. Trường này là đúng nếu chuyển ngữ là \39;on#39; nếu không thì sẽ là sai.
  • google.elements.transliteration.TransliterationControl.EventType.LANGUAGE_CHANGED: Kết quả khi cặp ngôn ngữ chuyển ngữ được thay đổi trong tùy chọn kiểm soát chuyển tự thông qua:
    • Phương thức setLanguagePair
    • Điều khiển chuyển ngữ được vẽ bằng phương thức showControl
    Đối tượng sự kiện được chuyển đến trình nghe chứa các trường sourceLanguagedestinationLanguage.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_REACHABLE: Kết quả khi bạn liên hệ thành công với máy chủ để chuyển văn bản.
  • google.elements.transliteration.TransliterationControl.EventType.SERVER_UNREACHABLE xảy ra lỗi khi cố liên lạc với máy chủ để chuyển văn bản.

Ngôn ngữ mã hóa

google.elements.transliteration.LanguageCode liên kết tên hằng số với mã ngôn ngữ mà bạn có thể dùng để chỉ định ngôn ngữ nguồn và ngôn ngữ đích trong phương thức chuyển ngữ.

var google.elements.transliteration.LanguageCode = {
    ENGLISH: 'en',
    AMHARIC: 'am',
    ARABIC: 'ar',
    BENGALI: 'bn',
    CHINESE: 'zh',
    GREEK: 'el',
    GUJARATI: 'gu',
    HINDI: 'hi',
    KANNADA: 'kn',
    MALAYALAM: 'ml',
    MARATHI: 'mr',
    NEPALI: 'ne',
    ORIYA: 'or',
    PERSIAN: 'fa',
    PUNJABI: 'pa',
    RUSSIAN: 'ru',
    SANSKRIT: 'sa',
    SINHALESE: 'si',
    SERBIAN: 'sr',
    TAMIL: 'ta',
    TELUGU: 'te',
    TIGRINYA: 'ti',
    URDU: 'ur'
};

Hỗ trợ DestinationLanguage enum

google.elements.transliteration.SupportedDestinationLanguages liệt kê tên hằng số với các mảng mã ngôn ngữ mà bạn có thể sử dụng để chỉ định các nhóm ngôn ngữ đích trong bộ điều khiển chuyển ngữ.

var google.elements.transliteration.SupportedDestinationLanguages = {
    // ALL includes all languages supported in the Transliterate API.
    // As support for more languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    ALL: [
        google.elements.transliteration.LanguageCode.AMHARIC,
        google.elements.transliteration.LanguageCode.ARABIC,
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.CHINESE,
        google.elements.transliteration.LanguageCode.GREEK,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PERSIAN,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.RUSSIAN,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SERBIAN,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.TIGRINYA,
        google.elements.transliteration.LanguageCode.URDU],
 
    // INDIC includes all Indic languages supported in the Transliterate API.
    // As support for more Indic languages becomes available, this enum will be
    // automatically updated to include the new languages transparently.
    INDIC: [
        google.elements.transliteration.LanguageCode.BENGALI,
        google.elements.transliteration.LanguageCode.GUJARATI,
        google.elements.transliteration.LanguageCode.HINDI,
        google.elements.transliteration.LanguageCode.KANNADA,
        google.elements.transliteration.LanguageCode.MALAYALAM,
        google.elements.transliteration.LanguageCode.MARATHI,
        google.elements.transliteration.LanguageCode.NEPALI,
        google.elements.transliteration.LanguageCode.ORIYA,
        google.elements.transliteration.LanguageCode.PUNJABI,
        google.elements.transliteration.LanguageCode.SANSKRIT,
        google.elements.transliteration.LanguageCode.SINHALESE,
        google.elements.transliteration.LanguageCode.TAMIL,
        google.elements.transliteration.LanguageCode.TELUGU,
        google.elements.transliteration.LanguageCode.URDU]
};

Khắc phục sự cố

Nếu bạn gặp phải sự cố, hãy làm như sau:

  • Tìm lỗi chính tả. Xin lưu ý rằng JavaScript là ngôn ngữ có phân biệt chữ hoa chữ thường.
  • Sử dụng trình gỡ lỗi JavaScript. Google Chrome có đầy đủ các công cụ dành cho nhà phát triển. Trong Firefox, bạn có thể sử dụng bảng điều khiển JavaScript hoặc Firebug. Trong IE, bạn có thể sử dụng Microsoft Script Debugger.
  • Tìm kiếm nhóm thảo luận. Nếu bạn không tìm thấy bài đăng có câu trả lời cho câu hỏi của mình, hãy đăng câu hỏi lên nhóm cùng với đường liên kết đến trang web mô tả vấn đề.