<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="vi" sourcelanguage="en">
  <context>
    <name>AbstractDb</name>
    <message>
      <location filename="../db/abstractdb.cpp" line="415"/>
      <location filename="../db/abstractdb.cpp" line="432"/>
      <source>Cannot execute query on closed database.</source>
      <translation>Không thể thực thi truy vấn trên cơ sở dữ liệu đã đóng.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb.cpp" line="858"/>
      <source>Error attaching database %1: %2</source>
      <translation>Lỗi khi đính kèm cơ sở dữ liệu %1: %2</translation>
    </message>
  </context>
  <context>
    <name>ChainExecutor</name>
    <message>
      <location filename="../db/chainexecutor.cpp" line="38"/>
      <source>The database for executing queries was not defined.</source>
      <comment>chain executor</comment>
      <translation>Chưa xác định cơ sở dữ liệu để thực thi truy vấn.</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="45"/>
      <source>The database for executing queries was not open.</source>
      <comment>chain executor</comment>
      <translation>Cơ sở dữ liệu để thực thi truy vấn chưa được mở.</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="58"/>
      <source>Could not disable foreign keys in the database. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Không thể tắt khóa ngoại trong cơ sở dữ liệu. Chi tiết: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="73"/>
      <source>Could not switch to legacy ALTER RENAME behavior in the database. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Không thể chuyển sang hành vi ALTER RENAME cũ trong cơ sở dữ liệu. Chi tiết: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="82"/>
      <source>Could not start a database transaction. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Không thể bắt đầu giao dịch cơ sở dữ liệu. Chi tiết: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="112"/>
      <source>Interrupted</source>
      <comment>chain executor</comment>
      <translation>Đã bị gián đoạn</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="180"/>
      <source>Could not commit a database transaction. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Không thể xác nhận giao dịch cơ sở dữ liệu. Chi tiết: %1</translation>
    </message>
  </context>
  <context>
    <name>CompletionHelper</name>
    <message>
      <location filename="../completionhelper.cpp" line="163"/>
      <source>New row reference</source>
      <translation>Tham chiếu hàng mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="170"/>
      <source>Old row reference</source>
      <translation>Tham chiếu hàng cũ</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="175"/>
      <source>New table name</source>
      <translation>Tên bảng mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="178"/>
      <source>New index name</source>
      <translation>Tên chỉ mục mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="181"/>
      <source>New view name</source>
      <translation>Tên khung nhìn mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="184"/>
      <source>New trigger name</source>
      <translation>Tên trình kích hoạt mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="187"/>
      <source>Table or column alias</source>
      <translation>Bí danh bảng hoặc cột</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="190"/>
      <source>transaction name</source>
      <translation>tên giao dịch</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="193"/>
      <source>New column name</source>
      <translation>Tên cột mới</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="196"/>
      <source>Column data type</source>
      <translation>Kiểu dữ liệu cột</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="199"/>
      <source>Constraint name</source>
      <translation>Tên ràng buộc</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="215"/>
      <source>Error message</source>
      <translation>Thông báo lỗi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="264"/>
      <source>Any word</source>
      <translation>Từ bất kỳ</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="267"/>
      <source>String</source>
      <translation>Chuỗi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="270"/>
      <location filename="../completionhelper.cpp" line="273"/>
      <source>Number</source>
      <translation>Số</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="285"/>
      <source>BLOB literal</source>
      <translation>Literal BLOB</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="445"/>
      <source>Default database</source>
      <translation>Cơ sở dữ liệu mặc định</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="446"/>
      <source>Temporary objects database</source>
      <translation>Cơ sở dữ liệu đối tượng tạm thời</translation>
    </message>
  </context>
  <context>
    <name>ConfigImpl</name>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="592"/>
      <source>Cannot export config to file %1: %2</source>
      <translation>Không thể xuất cấu hình ra tệp %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="597"/>
      <source>Config exported successfully to %1</source>
      <translation>Đã xuất cấu hình thành công tới %1</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="629"/>
      <source>Cannot import config from file %1: %2</source>
      <translation>Không thể nhập cấu hình từ tệp %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="648"/>
      <source>Config imported successfully from %1</source>
      <translation>Đã nhập cấu hình thành công từ %1</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="659"/>
      <source>Cannot read file %1: %2</source>
      <translation>Không thể đọc tệp %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1001"/>
      <source>Could not start database transaction for deleting SQL history, therefore it&apos;s not deleted.</source>
      <translation>Không thể bắt đầu giao dịch cơ sở dữ liệu để xóa lịch sử SQL, vì vậy lịch sử đó &apos;không được xóa&apos;.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1008"/>
      <source>Could not commit database transaction for deleting SQL history, therefore it&apos;s not deleted.</source>
      <translation>Không thể cam kết giao dịch cơ sở dữ liệu để xóa lịch sử SQL, vì vậy lịch sử đó &apos;không được xóa&apos;.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1366"/>
      <source>Configured hotkeys have been reset to their default settings following the update to version 4.0.0, where many shortcuts were revised to align with modern IDE standards.</source>
      <translation>Các phím tắt đã cấu hình đã được đặt lại về thiết lập mặc định sau khi cập nhật lên phiên bản 4.0.0, trong đó nhiều phím tắt đã được sửa đổi để phù hợp với các tiêu chuẩn IDE hiện đại.</translation>
    </message>
  </context>
  <context>
    <name>DbManagerImpl</name>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="63"/>
      <source>Could not add database %1: %2</source>
      <translation>Không thể thêm cơ sở dữ liệu %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="148"/>
      <source>Database %1 could not be updated, because of an error: %2</source>
      <translation>Không thể cập nhật cơ sở dữ liệu %1 do lỗi: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="385"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="414"/>
      <source>Database file doesn&apos;t exist.</source>
      <translation>Tệp cơ sở dữ liệu &apos;không tồn tại&apos;.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="387"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="416"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="632"/>
      <source>No supporting plugin loaded.</source>
      <translation>Chưa tải plugin hỗ trợ nào.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="550"/>
      <source>Database could not be initialized.</source>
      <translation>Không thể khởi tạo cơ sở dữ liệu.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="560"/>
      <source>No suitable database driver plugin found.</source>
      <translation>Không tìm thấy plugin trình điều khiển cơ sở dữ liệu phù hợp.</translation>
    </message>
  </context>
  <context>
    <name>DbObjectOrganizer</name>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="96"/>
      <location filename="../dbobjectorganizer.cpp" line="130"/>
      <location filename="../dbobjectorganizer.cpp" line="149"/>
      <source>An error occurred while trying to rename table &apos;%1&apos; to &apos;%2&apos;: %3</source>
      <translation>Đã xảy ra lỗi khi cố đổi tên bảng &apos;%1&apos; thành &apos;%2&apos;: %3</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="131"/>
      <source>Failed to parse object definition.</source>
      <translation>Không thể phân tích định nghĩa đối tượng.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="166"/>
      <source>An error occurred while trying to rename column &apos;%1&apos; of table &apos;%2&apos; to &apos;%3&apos;: %4</source>
      <translation>Đã xảy ra lỗi khi cố đổi tên cột &apos;%1&apos; của bảng &apos;%2&apos; thành &apos;%3&apos;: %4</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="462"/>
      <location filename="../dbobjectorganizer.cpp" line="493"/>
      <source>Error while creating table in target database: %1</source>
      <translation>Lỗi khi tạo bảng trong cơ sở dữ liệu đích: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="462"/>
      <source>Could not parse table.</source>
      <translation>Không thể phân tích bảng.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="507"/>
      <source>Database %1 could not be attached to database %2, so the data of table %3 will be copied with Letos as a mediator. This method can be slow for huge tables, so please be patient.</source>
      <translation>Không thể đính kèm cơ sở dữ liệu %1 vào cơ sở dữ liệu %2, vì vậy dữ liệu của bảng %3 sẽ được sao chép với Letos làm trung gian. Phương thức này có thể chậm đối với các bảng rất lớn, vui lòng kiên nhẫn.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="531"/>
      <source>Error while copying data for table %1: %2</source>
      <translation>Lỗi khi sao chép dữ liệu cho bảng %1: %2</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="550"/>
      <location filename="../dbobjectorganizer.cpp" line="557"/>
      <location filename="../dbobjectorganizer.cpp" line="584"/>
      <source>Error while copying data to table %1: %2</source>
      <translation>Lỗi khi sao chép dữ liệu vào bảng %1: %2</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="606"/>
      <source>Error while dropping source view %1: %2
Tables, indexes, triggers and views copied to database %3 will remain.</source>
      <translation>Lỗi khi xóa khung nhìn nguồn %1: %2
Các bảng, chỉ mục, trình kích hoạt và khung nhìn đã sao chép vào cơ sở dữ liệu %3 sẽ được giữ lại.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="613"/>
      <source>Error while creating view in target database: %1</source>
      <translation>Lỗi khi tạo khung nhìn trong cơ sở dữ liệu đích: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="618"/>
      <source>Error while creating index in target database: %1</source>
      <translation>Lỗi khi tạo chỉ mục trong cơ sở dữ liệu đích: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="623"/>
      <source>Error while creating trigger in target database: %1</source>
      <translation>Lỗi khi tạo trình kích hoạt trong cơ sở dữ liệu đích: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="763"/>
      <location filename="../dbobjectorganizer.cpp" line="770"/>
      <location filename="../dbobjectorganizer.cpp" line="779"/>
      <source>Could not parse object &apos;%1&apos; in order to move or copy it.</source>
      <translation>Không thể phân tích đối tượng &apos;%1&apos; để di chuyển hoặc sao chép nó.</translation>
    </message>
  </context>
  <context>
    <name>DdlHistoryModel</name>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="66"/>
      <source>Database name</source>
      <comment>ddl history header</comment>
      <translation>Tên cơ sở dữ liệu</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="68"/>
      <source>Database file</source>
      <comment>ddl history header</comment>
      <translation>Tệp cơ sở dữ liệu</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="70"/>
      <source>Date of execution</source>
      <comment>ddl history header</comment>
      <translation>Ngày thực thi</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="72"/>
      <source>Changes</source>
      <comment>ddl history header</comment>
      <translation>Thay đổi</translation>
    </message>
  </context>
  <context>
    <name>ExportManager</name>
    <message>
      <location filename="../services/exportmanager.cpp" line="74"/>
      <source>Export plugin %1 doesn&apos;t support exporing query results.</source>
      <translation>Plugin xuất %1 &apos;không hỗ trợ&apos; xuất kết quả truy vấn.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="100"/>
      <source>Export plugin %1 doesn&apos;t support exporing tables.</source>
      <translation>Plugin xuất %1 &apos;không hỗ trợ&apos; xuất bảng.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="126"/>
      <source>Export plugin %1 doesn&apos;t support exporing views.</source>
      <translation>Plugin xuất %1 &apos;không hỗ trợ&apos; xuất khung nhìn.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="150"/>
      <source>Export plugin %1 doesn&apos;t support exporing databases.</source>
      <translation>Plugin xuất %1 &apos;không hỗ trợ&apos; xuất cơ sở dữ liệu.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="183"/>
      <source>Export format &apos;%1&apos; is not supported. Supported formats are: %2.</source>
      <translation>Định dạng xuất &apos;%1&apos; không được hỗ trợ. Các định dạng được hỗ trợ là: %2.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="247"/>
      <source>Export to the clipboard was successful.</source>
      <translation>Đã xuất vào bảng tạm thành công.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="251"/>
      <source>Export to the file &apos;%1&apos; was successful.</source>
      <translation>Đã xuất vào tệp &apos;%1&apos; thành công.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="253"/>
      <source>Export was successful.</source>
      <translation>Đã xuất thành công.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="295"/>
      <source>Could not export to file %1. File cannot be open for writting.</source>
      <translation>Không thể xuất ra tệp %1. Không thể mở tệp để ghi.</translation>
    </message>
  </context>
  <context>
    <name>ExportWorker</name>
    <message>
      <location filename="../exportworker.cpp" line="136"/>
      <source>Error while exporting query results: %1</source>
      <translation>Lỗi khi xuất kết quả truy vấn: %1</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="222"/>
      <source>Error while counting data column width to export from query results: %1</source>
      <translation>Lỗi khi tính chiều rộng cột dữ liệu để xuất từ kết quả truy vấn: %1</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="366"/>
      <location filename="../exportworker.cpp" line="426"/>
      <location filename="../exportworker.cpp" line="545"/>
      <source>Could not parse %1 in order to export it. It will be excluded from the export output.</source>
      <translation>Không thể phân tích %1 để xuất. Mục này sẽ bị loại khỏi đầu ra xuất.</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="821"/>
      <source>Error while reading data to export from table or view %1: %2</source>
      <translation>Lỗi khi đọc dữ liệu để xuất từ bảng hoặc khung nhìn %1: %2</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="829"/>
      <source>Error while counting data to export from table or view %1: %2</source>
      <translation>Lỗi khi đếm dữ liệu để xuất từ bảng hoặc khung nhìn %1: %2</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="845"/>
      <source>Error while counting data column width to export from table or view %1: %2</source>
      <translation>Lỗi khi tính chiều rộng cột dữ liệu để xuất từ bảng hoặc khung nhìn %1: %2</translation>
    </message>
  </context>
  <context>
    <name>FunctionManager</name>
    <message>
      <location filename="../services/functionmanager.cpp" line="37"/>
      <source>Scalar</source>
      <translation>Vô hướng</translation>
    </message>
    <message>
      <location filename="../services/functionmanager.cpp" line="39"/>
      <source>Aggregate</source>
      <translation>Tổng hợp</translation>
    </message>
    <message>
      <location filename="../services/functionmanager.cpp" line="41"/>
      <source>Window</source>
      <translation>Cửa sổ</translation>
    </message>
  </context>
  <context>
    <name>FunctionManagerImpl</name>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="232"/>
      <source>Could not create scripting context, probably the plugin is not configured properly</source>
      <translation>Không thể tạo ngữ cảnh scripting, có thể plugin chưa được cấu hình đúng</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="281"/>
      <source>Invalid number of arguments to function &apos;%1&apos;. Expected %2, but got %3.</source>
      <translation>Số lượng đối số không hợp lệ cho hàm &apos;%1&apos;. Dự kiến %2, nhưng nhận được %3.</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="402"/>
      <source>No such function registered in Letos: %1(%2)</source>
      <translation>Không có hàm như vậy được đăng ký trong Letos: %1(%2)</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="408"/>
      <source>Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded.</source>
      <translation>Hàm %1(%2) đã được đăng ký với ngôn ngữ %3, nhưng plugin hỗ trợ ngôn ngữ đó hiện chưa được tải.</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="439"/>
      <source>Invalid regular expression pattern: %1</source>
      <translation>Mẫu biểu thức chính quy không hợp lệ: %1</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="458"/>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="491"/>
      <source>Could not open file %1 for reading: %2</source>
      <translation>Không thể mở tệp %1 để đọc: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="513"/>
      <source>Could not open file %1 for writting: %2</source>
      <translation>Không thể mở tệp %1 để ghi: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="533"/>
      <source>Error while writting to file %1: %2</source>
      <translation>Lỗi khi ghi vào tệp %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="551"/>
      <source>Unsupported scripting language: %1</source>
      <translation>Ngôn ngữ scripting không được hỗ trợ: %1</translation>
    </message>
  </context>
  <context>
    <name>GenericExportPlugin</name>
    <message>
      <location filename="../plugins/genericexportplugin.cpp" line="19"/>
      <source>Could not initialize text codec for exporting. Using default codec: %1</source>
      <translation>Không thể khởi tạo codec văn bản để xuất. Sử dụng codec mặc định: %1</translation>
    </message>
  </context>
  <context>
    <name>ImportManager</name>
    <message>
      <location filename="../services/importmanager.cpp" line="98"/>
      <source>Imported data to the table &apos;%1&apos; successfully. Number of imported rows: %2</source>
      <translation>Đã nhập dữ liệu vào bảng &apos;%1&apos; thành công. Số hàng đã nhập: %2</translation>
    </message>
  </context>
  <context>
    <name>ImportWorker</name>
    <message>
      <location filename="../importworker.cpp" line="24"/>
      <source>No columns provided by the import plugin.</source>
      <translation>Plugin nhập không cung cấp cột nào.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="31"/>
      <source>Could not start transaction in order to import a data: %1</source>
      <translation>Không thể bắt đầu giao dịch để nhập dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="54"/>
      <source>Could not commit transaction for imported data: %1</source>
      <translation>Không thể xác nhận giao dịch cho dữ liệu đã nhập: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="101"/>
      <source>Table &apos;%1&apos; has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source>
      <translation>Bảng &apos;%1&apos; có ít cột hơn số cột trong dữ liệu cần nhập. Các cột dữ liệu dư thừa sẽ bị bỏ qua.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="106"/>
      <source>Table &apos;%1&apos; has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source>
      <translation>Bảng &apos;%1&apos; có nhiều cột hơn số cột trong dữ liệu cần nhập. Một số cột trong bảng sẽ được để trống.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="125"/>
      <source>Could not create table to import to: %1</source>
      <translation>Không thể tạo bảng để nhập vào: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="134"/>
      <location filename="../importworker.cpp" line="181"/>
      <location filename="../importworker.cpp" line="188"/>
      <source>Error while importing data: %1</source>
      <translation>Lỗi khi nhập dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="134"/>
      <location filename="../importworker.cpp" line="188"/>
      <source>Interrupted.</source>
      <comment>import process status update</comment>
      <translation>Đã bị gián đoạn.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="176"/>
      <source>Could not import data row number %1. The row was ignored. Problem details: %2</source>
      <translation>Không thể nhập hàng dữ liệu số %1. Hàng này đã bị bỏ qua. Chi tiết sự cố: %2</translation>
    </message>
  </context>
  <context>
    <name>PluginManagerImpl</name>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="564"/>
      <source>Cannot load plugin %1, because it&apos;s in conflict with plugin %2.</source>
      <translation>Không thể tải plugin %1 vì plugin này &apos;xung đột&apos; với plugin %2.</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="575"/>
      <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source>
      <translation>Không thể tải plugin %1 vì phần phụ thuộc của nó chưa được tải: %2.</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="584"/>
      <source>Cannot load plugin %1. Error details: %2</source>
      <translation>Không thể tải plugin %1. Chi tiết lỗi: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="600"/>
      <source>Cannot load plugin %1 (error while initializing plugin).</source>
      <translation>Không thể tải plugin %1 (lỗi khi khởi tạo plugin).</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="761"/>
      <source>min: %1</source>
      <comment>plugin dependency version</comment>
      <translation>tối thiểu: %1</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="762"/>
      <source>max: %1</source>
      <comment>plugin dependency version</comment>
      <translation>tối đa: %1</translation>
    </message>
  </context>
  <context>
    <name>PopulateConstant</name>
    <message>
      <location filename="../plugins/populateconstant.cpp" line="9"/>
      <source>Constant</source>
      <comment>populate constant plugin name</comment>
      <translation>Hằng số</translation>
    </message>
  </context>
  <context>
    <name>PopulateConstantConfig</name>
    <message>
      <location filename="../plugins/populateconstant.ui" line="20"/>
      <source>Constant value:</source>
      <translation>Giá trị hằng:</translation>
    </message>
  </context>
  <context>
    <name>PopulateDictionary</name>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="16"/>
      <source>Dictionary</source>
      <comment>dictionary populating plugin name</comment>
      <translation>Từ điển</translation>
    </message>
  </context>
  <context>
    <name>PopulateDictionaryConfig</name>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="20"/>
      <source>Dictionary file</source>
      <translation>Tệp từ điển</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="29"/>
      <source>Pick dictionary file</source>
      <translation>Chọn tệp từ điển</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="39"/>
      <source>Word separator</source>
      <translation>Dấu phân tách từ</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="45"/>
      <source>Whitespace</source>
      <translation>Khoảng trắng</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="58"/>
      <source>Line break</source>
      <translation>Ngắt dòng</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="74"/>
      <source>Method of using words</source>
      <translation>Phương thức sử dụng từ</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="80"/>
      <source>Ordered</source>
      <translation>Theo thứ tự</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="93"/>
      <source>Randomly</source>
      <translation>Ngẫu nhiên</translation>
    </message>
  </context>
  <context>
    <name>PopulateManager</name>
    <message>
      <location filename="../services/populatemanager.cpp" line="89"/>
      <source>Table &apos;%1&apos; populated successfully.</source>
      <translation>Đã điền dữ liệu vào bảng &apos;%1&apos; thành công.</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandom</name>
    <message>
      <location filename="../plugins/populaterandom.cpp" line="12"/>
      <source>Random number</source>
      <translation>Số ngẫu nhiên</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomConfig</name>
    <message>
      <location filename="../plugins/populaterandom.ui" line="20"/>
      <source>Constant prefix</source>
      <translation>Tiền tố hằng</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="26"/>
      <source>No prefix</source>
      <translation>Không có tiền tố</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="39"/>
      <source>Minimum value</source>
      <translation>Giá trị tối thiểu</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="61"/>
      <source>Maximum value</source>
      <translation>Giá trị tối đa</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="86"/>
      <source>Constant suffix</source>
      <translation>Hậu tố hằng</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="92"/>
      <source>No suffix</source>
      <translation>Không có hậu tố</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomText</name>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="13"/>
      <source>Random text</source>
      <translation>Văn bản ngẫu nhiên</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomTextConfig</name>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="20"/>
      <source>Use characters from common sets:</source>
      <translation>Sử dụng ký tự từ các tập phổ biến:</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="36"/>
      <source>Minimum length</source>
      <translation>Độ dài tối thiểu</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="64"/>
      <source>Letters from a to z.</source>
      <translation>Các chữ cái từ a đến z.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="67"/>
      <source>Alpha</source>
      <translation>Chữ cái</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="77"/>
      <source>Numbers from 0 to 9.</source>
      <translation>Các số từ 0 đến 9.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="80"/>
      <source>Numeric</source>
      <translation>Số</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="90"/>
      <source>A whitespace, a tab and a new line character.</source>
      <translation>Một ký tự khoảng trắng, một tab và một ký tự xuống dòng.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="93"/>
      <source>Whitespace</source>
      <translation>Khoảng trắng</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="103"/>
      <source>Includes all above and all others.</source>
      <translation>Bao gồm tất cả các mục trên và tất cả các mục khác.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="106"/>
      <source>Binary</source>
      <translation>Nhị phân</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="119"/>
      <source>Use characters from my custom set:</source>
      <translation>Sử dụng ký tự từ tập tùy chỉnh của tôi:</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="132"/>
      <source>Maximum length</source>
      <translation>Độ dài tối đa</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="160"/>
      <source>If you type some character multiple times, it&apos;s more likely to be used.</source>
      <translation>Nếu bạn nhập một ký tự nhiều lần, ký tự đó &apos;có nhiều khả năng&apos; được sử dụng hơn.</translation>
    </message>
  </context>
  <context>
    <name>PopulateScript</name>
    <message>
      <location filename="../plugins/populatescript.cpp" line="33"/>
      <source>Script</source>
      <translation>Tập lệnh</translation>
    </message>
  </context>
  <context>
    <name>PopulateScriptConfig</name>
    <message>
      <location filename="../plugins/populatescript.ui" line="26"/>
      <source>Initialization code (optional)</source>
      <translation>Mã khởi tạo (tùy chọn)</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="45"/>
      <source>Per step code</source>
      <translation>Mã cho mỗi bước</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="70"/>
      <source>Language</source>
      <translation>Ngôn ngữ</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="89"/>
      <source>Help</source>
      <translation>Trợ giúp</translation>
    </message>
  </context>
  <context>
    <name>PopulateSequence</name>
    <message>
      <location filename="../plugins/populatesequence.cpp" line="12"/>
      <source>Sequence</source>
      <translation>Chuỗi tuần tự</translation>
    </message>
  </context>
  <context>
    <name>PopulateSequenceConfig</name>
    <message>
      <location filename="../plugins/populatesequence.ui" line="33"/>
      <source>Start value:</source>
      <translation>Giá trị bắt đầu:</translation>
    </message>
    <message>
      <location filename="../plugins/populatesequence.ui" line="56"/>
      <source>Step:</source>
      <translation>Bước:</translation>
    </message>
  </context>
  <context>
    <name>PopulateWorker</name>
    <message>
      <location filename="../populateworker.cpp" line="23"/>
      <source>Could not start transaction in order to perform table populating. Error details: %1</source>
      <translation>Không thể bắt đầu giao dịch để thực hiện điền dữ liệu vào bảng. Chi tiết lỗi: %1</translation>
    </message>
    <message>
      <location filename="../populateworker.cpp" line="69"/>
      <source>Error while populating table: %1</source>
      <translation>Lỗi khi điền dữ liệu vào bảng: %1</translation>
    </message>
    <message>
      <location filename="../populateworker.cpp" line="80"/>
      <source>Could not commit transaction after table populating. Error details: %1</source>
      <translation>Không thể xác nhận giao dịch sau khi điền dữ liệu vào bảng. Chi tiết lỗi: %1</translation>
    </message>
  </context>
  <context>
    <name>QObject</name>
    <message>
      <location filename="../common/utils.cpp" line="79"/>
      <source>SQLite database or SQL file</source>
      <translation>Cơ sở dữ liệu SQLite hoặc tệp SQL</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="81"/>
      <source>SQL files</source>
      <translation>Tệp SQL</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="82"/>
      <source>CSV files</source>
      <translation>Tệp CSV</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="83"/>
      <source>Text files</source>
      <translation>Tệp văn bản</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="84"/>
      <source>All files</source>
      <translation>Tất cả tệp</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="968"/>
      <source>Could not open file &apos;%1&apos; for reading: %2</source>
      <translation>Không thể mở tệp &apos;%1&apos; để đọc: %2</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="480"/>
      <source>Could not open database: %1</source>
      <translation>Không thể mở cơ sở dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="1388"/>
      <source>Result set expired or no row available.</source>
      <translation>Tập kết quả đã hết hạn hoặc không có hàng nào khả dụng.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="372"/>
      <location filename="../db/abstractdb3.h" line="376"/>
      <source>Could not load extension %1: %2</source>
      <translation>Không thể tải tiện ích mở rộng %1: %2</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="504"/>
      <source>Could not close database: %1</source>
      <translation>Không thể đóng cơ sở dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../impl/dbattacherimpl.cpp" line="121"/>
      <source>Could not attach database %1: %2</source>
      <translation>Không thể đính kèm cơ sở dữ liệu %1: %2</translation>
    </message>
    <message>
      <location filename="../parser/parsercontext.cpp" line="108"/>
      <location filename="../parser/parsercontext.cpp" line="110"/>
      <source>Incomplete query.</source>
      <translation>Truy vấn chưa hoàn chỉnh.</translation>
    </message>
    <message>
      <location filename="../parser/sqlite3_parse.cpp" line="2723"/>
      <source>Parser stack overflow</source>
      <translation>Tràn ngăn xếp bộ phân tích cú pháp</translation>
    </message>
    <message>
      <location filename="../parser/sqlite3_parse.cpp" line="6456"/>
      <source>Syntax error</source>
      <translation>Lỗi cú pháp</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="31"/>
      <source>Could not open dictionary file %1 for reading.</source>
      <translation>Không thể mở tệp từ điển %1 để đọc.</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="92"/>
      <source>Dictionary file must exist and be readable.</source>
      <translation>Tệp từ điển phải tồn tại và có thể đọc được.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.cpp" line="53"/>
      <source>Maximum value cannot be less than minimum value.</source>
      <translation>Giá trị tối đa không thể nhỏ hơn giá trị tối thiểu.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="78"/>
      <source>Maximum length cannot be less than minimum length.</source>
      <translation>Độ dài tối đa không thể nhỏ hơn độ dài tối thiểu.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="89"/>
      <source>Custom character set cannot be empty.</source>
      <translation>Tập ký tự tùy chỉnh không được để trống.</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="60"/>
      <source>Could not find plugin to support scripting language: %1</source>
      <translation>Không thể tìm thấy plugin để hỗ trợ ngôn ngữ scripting: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="69"/>
      <source>Could not get evaluation context, probably the %1 scripting plugin is not configured properly</source>
      <translation>Không thể lấy ngữ cảnh đánh giá, có thể plugin scripting %1 chưa được cấu hình đúng</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="83"/>
      <source>Error while executing populating initial code: %1</source>
      <translation>Lỗi khi thực thi mã khởi tạo điền dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="105"/>
      <source>Error while executing populating code: %1</source>
      <translation>Lỗi khi thực thi mã điền dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="137"/>
      <source>Select implementation language.</source>
      <translation>Chọn ngôn ngữ triển khai.</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="138"/>
      <source>Implementation code cannot be empty.</source>
      <translation>Mã triển khai không được để trống.</translation>
    </message>
    <message>
      <location filename="../selectresolver.cpp" line="329"/>
      <source>Could not resolve data source for column: %1</source>
      <translation>Không thể phân giải nguồn dữ liệu cho cột: %1</translation>
    </message>
    <message>
      <location filename="../selectresolver.cpp" line="462"/>
      <source>Could not resolve table for column &apos;%1&apos;.</source>
      <translation>Không thể phân giải bảng cho cột &apos;%1&apos;.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="876"/>
      <source>Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Unable to create a file at following locations: %1.</source>
      <translation>Không thể khởi tạo tệp cấu hình. Mọi thay đổi cấu hình và lịch sử truy vấn sẽ bị mất sau khi khởi động lại ứng dụng. Không thể tạo tệp tại các vị trí sau: %1.</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="365"/>
      <source>General purpose</source>
      <comment>plugin category name</comment>
      <translation>Mục đích chung</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="366"/>
      <source>Database support</source>
      <comment>plugin category name</comment>
      <translation>Hỗ trợ cơ sở dữ liệu</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="367"/>
      <source>Code formatter</source>
      <comment>plugin category name</comment>
      <translation>Trình định dạng mã</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="368"/>
      <source>Scripting languages</source>
      <comment>plugin category name</comment>
      <translation>Ngôn ngữ scripting</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="370"/>
      <source>Exporting</source>
      <comment>plugin category name</comment>
      <translation>Xuất</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="371"/>
      <source>Importing</source>
      <comment>plugin category name</comment>
      <translation>Nhập</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="372"/>
      <source>Table populating</source>
      <comment>plugin category name</comment>
      <translation>Điền dữ liệu vào bảng</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="286"/>
      <source>Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3.</source>
      <translation>Bảng %1 đang tham chiếu bảng %2, nhưng định nghĩa khóa ngoại sẽ không được cập nhật cho định nghĩa bảng mới do có vấn đề khi phân tích DDL của bảng %3.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="666"/>
      <source>All columns indexed by the index %1 are gone. The index will not be recreated after table modification.</source>
      <translation>Tất cả các cột được lập chỉ mục bởi chỉ mục %1 đã không còn. Chỉ mục này sẽ không được tạo lại sau khi sửa đổi bảng.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="710"/>
      <source>There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention.</source>
      <translation>Có vấn đề khi xử lý đúng trình kích hoạt %1. Sau đó nó có thể không được cập nhật đầy đủ và sẽ cần bạn chú ý.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="725"/>
      <source>All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification.</source>
      <translation>Tất cả các cột được trình kích hoạt %1 bao phủ đã không còn. Trình kích hoạt này sẽ không được tạo lại sau khi sửa đổi bảng.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="757"/>
      <source>Cannot not update trigger %1 according to table %2 modification.</source>
      <translation>Không thể cập nhật trình kích hoạt %1 theo sửa đổi của bảng %2.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="776"/>
      <source>Cannot not update view %1 according to table %2 modifications.
The view will remain as it is.</source>
      <translation>Không thể cập nhật khung nhìn %1 theo các sửa đổi của bảng %2.
Khung nhìn sẽ được giữ nguyên.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="961"/>
      <location filename="../tablemodifier.cpp" line="985"/>
      <location filename="../tablemodifier.cpp" line="1004"/>
      <source>There is a problem with updating an %1 statement within %2 trigger. One of the %1 substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary.</source>
      <translation>Có vấn đề khi cập nhật câu lệnh %1 trong trình kích hoạt %2. Một trong các câu lệnh con %1 có thể đang tham chiếu đến bảng %3 không thể được sửa đổi đúng cách. Có thể cần cập nhật thủ công trình kích hoạt.</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="23"/>
      <source>Could not parse DDL of the view to be created. Details: %1</source>
      <translation>Không thể phân tích DDL của khung nhìn cần tạo. Chi tiết: %1</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="32"/>
      <source>Parsed query is not CREATE VIEW. It&apos;s: %1</source>
      <translation>Truy vấn đã phân tích không phải là CREATE VIEW. Đó &apos;là&apos;: %1</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="80"/>
      <source>Letos was unable to resolve columns returned by the new view, therefore it won&apos;t be able to tell which triggers might fail during the recreation process.</source>
      <translation>Letos không thể phân giải các cột do khung nhìn mới trả về, vì vậy Letos &apos;sẽ không thể&apos; cho biết trình kích hoạt nào có thể thất bại trong quá trình tạo lại.</translation>
    </message>
    <message>
      <location filename="../services/collationmanager.h" line="48"/>
      <source>Function-based</source>
      <translation>Dựa trên hàm</translation>
    </message>
    <message>
      <location filename="../services/collationmanager.h" line="50"/>
      <source>Extension-based</source>
      <translation>Dựa trên tiện ích mở rộng</translation>
    </message>
  </context>
  <context>
    <name>QueryExecutor</name>
    <message>
      <location filename="../db/queryexecutor.cpp" line="203"/>
      <source>Execution interrupted.</source>
      <translation>Việc thực thi đã bị gián đoạn.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="245"/>
      <source>Database is not open.</source>
      <translation>Cơ sở dữ liệu chưa được mở.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="254"/>
      <source>Only one query can be executed simultaneously.</source>
      <translation>Chỉ có thể thực thi một truy vấn cùng lúc.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="363"/>
      <location filename="../db/queryexecutor.cpp" line="608"/>
      <source>An error occurred while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1</source>
      <translation>Đã xảy ra lỗi khi thực thi truy vấn count(*), do đó phân trang dữ liệu sẽ bị tắt. Chi tiết lỗi từ cơ sở dữ liệu: %1</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="525"/>
      <source>Letos was unable to extract metadata from the query. Results won&apos;t be editable.</source>
      <translation>Letos không thể trích xuất siêu dữ liệu từ truy vấn. Kết quả &apos;sẽ không thể&apos; chỉnh sửa.</translation>
    </message>
  </context>
  <context>
    <name>QueryExecutorSmartHints</name>
    <message>
      <location filename="../db/queryexecutorsteps/queryexecutorsmarthints.cpp" line="77"/>
      <source>Column %1 in table %2 is referencing column %3 in table %4, but these columns have different data types: %5 vs. %6. This may cause issues related to foreign key value matching.</source>
      <translation>Cột %1 trong bảng %2 đang tham chiếu cột %3 trong bảng %4, nhưng các cột này có kiểu dữ liệu khác nhau: %5 so với %6. Điều này có thể gây ra các vấn đề liên quan đến việc khớp giá trị khóa ngoại.</translation>
    </message>
  </context>
  <context>
    <name>ScriptingQtDbProxy</name>
    <message>
      <location filename="../plugins/scriptingqtdbproxy.cpp" line="48"/>
      <source>No database available in current context, while called JavaScript&apos;s %1 command.</source>
      <translation>Không có cơ sở dữ liệu khả dụng trong ngữ cảnh hiện tại khi gọi lệnh %1 &apos;của JavaScript&apos;.</translation>
    </message>
    <message>
      <location filename="../plugins/scriptingqtdbproxy.cpp" line="65"/>
      <source>Error from %1: %2</source>
      <translation>Lỗi từ %1: %2</translation>
    </message>
  </context>
  <context>
    <name>SqlFileExecutor</name>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="59"/>
      <source>Could not execute SQL, because application has failed to start transaction: %1</source>
      <translation>Không thể thực thi SQL vì ứng dụng không thể bắt đầu giao dịch: %1</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="90"/>
      <source>Execution from file cancelled. Any queries executed so far have been rolled back.</source>
      <translation>Đã hủy thực thi từ tệp. Mọi truy vấn đã thực thi cho đến nay đều đã được hoàn tác.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="106"/>
      <source>Could not open file &apos;%1&apos; for reading: %2</source>
      <translation>Không thể mở tệp &apos;%1&apos; để đọc: %2</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="151"/>
      <source>Could not execute SQL, because application has failed to commit the transaction: %1</source>
      <translation>Không thể thực thi SQL vì ứng dụng không thể xác nhận giao dịch: %1</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="156"/>
      <source>Finished executing %1 queries in %2 seconds. %3 were not executed due to errors.</source>
      <translation>Đã hoàn tất thực thi %1 truy vấn trong %2 giây. %3 truy vấn không được thực thi do lỗi.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="162"/>
      <source>Finished executing %1 queries in %2 seconds.</source>
      <translation>Đã hoàn tất thực thi %1 truy vấn trong %2 giây.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="169"/>
      <source>Could not execute SQL due to error.</source>
      <translation>Không thể thực thi SQL do lỗi.</translation>
    </message>
  </context>
  <context>
    <name>SqlHistoryModel</name>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="32"/>
      <source>Database</source>
      <comment>sql history header</comment>
      <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="34"/>
      <source>Execution date</source>
      <comment>sql history header</comment>
      <translation>Ngày thực thi</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="36"/>
      <source>Time spent</source>
      <comment>sql history header</comment>
      <translation>Thời gian đã dùng</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="38"/>
      <source>Rows affected</source>
      <comment>sql history header</comment>
      <translation>Hàng bị ảnh hưởng</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="40"/>
      <source>SQL</source>
      <comment>sql history header</comment>
      <translation>SQL</translation>
    </message>
  </context>
  <context>
    <name>T</name>
    <message>
      <location filename="../db/abstractdb3.h" line="714"/>
      <source>The database file &apos;%1&apos; has been modified by a newer version of SQLite (format %2), while the current application supports up to format %3. Some features may not work correctly.</source>
      <translation>Tệp cơ sở dữ liệu &apos;%1&apos; đã được sửa đổi bởi phiên bản SQLite mới hơn (định dạng %2), trong khi ứng dụng hiện tại chỉ hỗ trợ đến định dạng %3. Một số tính năng có thể không hoạt động đúng.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="1013"/>
      <source>Registered default collation on demand, under name: %1</source>
      <translation>Đã đăng ký đối chiếu mặc định theo yêu cầu, dưới tên: %1</translation>
    </message>
  </context>
  <context>
    <name>UpdateManager</name>
    <message>
      <location filename="../services/updatemanager.cpp" line="104"/>
      <source>Could not check for updates (%1).</source>
      <translation>Không thể kiểm tra cập nhật (%1).</translation>
    </message>
  </context>
</TS>
