<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="vi" sourcelanguage="en">
<context>
    <name>AboutDialog</name>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="24"/>
        <source>About</source>
        <translation>Giới thiệu</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="41"/>
        <source>Licenses</source>
        <translation>Giấy phép</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="55"/>
        <source>Environment</source>
        <translation>Môi trường</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="102"/>
        <source>Icon directories</source>
        <translation>Thư mục biểu tượng</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="170"/>
        <source>Form directories</source>
        <translation>Thư mục biểu mẫu</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="187"/>
        <source>SQLite extension directories</source>
        <translation>Thư mục phần mở rộng SQLite</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="140"/>
        <source>Plugin directories</source>
        <translation>Thư mục plugin</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="14"/>
        <source>About Letos and licenses</source>
        <translation>Giới thiệu Letos và giấy phép</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="30"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Letos v%1&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;Free, open-source, cross-platform SQLite database manager.&lt;br/&gt;&lt;a href=&quot;https://letos.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://letos.org&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;%2&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;Author and active maintainer:&lt;br/&gt;Paweł Salawa&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;Letos v%1&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;Trình quản lý cơ sở dữ liệu SQLite miễn phí, mã nguồn mở, đa nền tảng.&lt;br/&gt;&lt;a href=&quot;https://letos.org&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;https://letos.org&lt;/span&gt;&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;%2&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;Tác giả và người bảo trì hiện tại:&lt;br/&gt;Paweł Salawa&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="75"/>
        <source>Configuration directory</source>
        <translation>Thư mục cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="150"/>
        <source>Application directory</source>
        <translation>Thư mục ứng dụng</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="85"/>
        <source>Qt version:</source>
        <translation>Phiên bản Qt:</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.ui" line="160"/>
        <source>SQLite 3 version:</source>
        <translation>Phiên bản SQLite 3:</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.cpp" line="42"/>
        <source>Portable distribution.</source>
        <translation>Bản phân phối di động.</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.cpp" line="45"/>
        <source>MacOS X application bundle distribution.</source>
        <translation>Bản phân phối gói ứng dụng MacOS X.</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.cpp" line="48"/>
        <source>Operating system managed distribution.</source>
        <translation>Bản phân phối do hệ điều hành quản lý.</translation>
    </message>
    <message>
        <location filename="../dialogs/aboutdialog.cpp" line="98"/>
        <source>&lt;h3&gt;Table of contents:&lt;/h3&gt;&lt;ol&gt;%2&lt;/ol&gt;</source>
        <translation>&lt;h3&gt;Mục lục:&lt;/h3&gt;&lt;ol&gt;%2&lt;/ol&gt;</translation>
    </message>
</context>
<context>
    <name>BindParamsDialog</name>
    <message>
        <location filename="../dialogs/bindparamsdialog.ui" line="17"/>
        <source>Query parameters</source>
        <translation>Tham số truy vấn</translation>
    </message>
    <message>
        <location filename="../dialogs/bindparamsdialog.ui" line="26"/>
        <source>Please provide values for query parameters</source>
        <translation>Vui lòng cung cấp giá trị cho các tham số truy vấn</translation>
    </message>
    <message>
        <location filename="../dialogs/bindparamsdialog.ui" line="68"/>
        <source>Advanced mode</source>
        <translation>Chế độ nâng cao</translation>
    </message>
</context>
<context>
    <name>CellRendererTable</name>
    <message>
        <location filename="../configwidgets/cellrenderertable.cpp" line="33"/>
        <source>Default</source>
        <translation>Mặc định</translation>
    </message>
</context>
<context>
    <name>CodeSnippetEditor</name>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="84"/>
        <source>Filter snippets</source>
        <translation>Lọc đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="183"/>
        <location filename="../windows/codesnippeteditor.ui" line="221"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Optional shortcut, that will work only in context of the active code assistant window. It allows user to use key combinations, that would otherwise be conflicting with other shortcuts. Having the code assistant window as required context makes the choice of keys more versatile.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Phím tắt tùy chọn, chỉ hoạt động trong ngữ cảnh của cửa sổ trợ lý mã đang hoạt động. Nó cho phép người dùng sử dụng các tổ hợp phím vốn có thể xung đột với các phím tắt khác. Việc yêu cầu cửa sổ trợ lý mã làm ngữ cảnh giúp lựa chọn phím linh hoạt hơn.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="204"/>
        <location filename="../windows/codesnippeteditor.ui" line="214"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The name of the snippet will be displayed in the code assistant. To access the list of snippets user has to hit the code assistant shortcut twice.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Tên của đoạn mã sẽ được hiển thị trong trợ lý mã. Để truy cập danh sách đoạn mã, người dùng phải nhấn phím tắt trợ lý mã hai lần.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="207"/>
        <source>Snippet name</source>
        <translation>Tên đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="224"/>
        <source>Code assistant shortcut</source>
        <translation>Phím tắt trợ lý mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.ui" line="240"/>
        <source>Snippet code</source>
        <translation>Mã đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="50"/>
        <source>Code Snippets editor window has uncommitted modifications.</source>
        <translation>Cửa sổ trình biên tập Đoạn mã có các sửa đổi chưa được xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="71"/>
        <source>Code Snippets editor</source>
        <translation>Trình biên tập Đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="76"/>
        <source>Commit all snippet changes</source>
        <translation>Xác nhận tất cả thay đổi đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="77"/>
        <source>Rollback all snippet changes</source>
        <translation>Hoàn tác tất cả thay đổi đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="79"/>
        <source>Create new snippet</source>
        <translation>Tạo đoạn mã mới</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="80"/>
        <source>Delete selected snippet</source>
        <translation>Xóa đoạn mã đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="82"/>
        <source>Move the snippet up</source>
        <translation>Di chuyển đoạn mã lên</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="83"/>
        <source>Move the snippet down</source>
        <translation>Di chuyển đoạn mã xuống</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="85"/>
        <source>Import snippets from file</source>
        <translation>Nhập đoạn mã từ tệp</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="86"/>
        <source>Export snippets to file</source>
        <translation>Xuất đoạn mã ra tệp</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="87"/>
        <source>Code snippets manual</source>
        <translation>Sổ tay đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="325"/>
        <source>Enter a non-empty, unique name of the snippet.</source>
        <translation>Nhập tên đoạn mã không trống và duy nhất.</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="328"/>
        <source>Enter a non-empty snippet content.</source>
        <translation>Nhập nội dung đoạn mã không trống.</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.cpp" line="332"/>
        <source>This hotkey is not unique in context of a code assistant.</source>
        <translation>Phím nóng này không duy nhất trong ngữ cảnh của trợ lý mã.</translation>
    </message>
</context>
<context>
    <name>CodeSnippetEditorModel</name>
    <message>
        <location filename="../windows/codesnippeteditormodel.cpp" line="253"/>
        <source>Name:</source>
        <translation>Tên:</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditormodel.cpp" line="254"/>
        <source>Hotkey:</source>
        <translation>Phím nóng:</translation>
    </message>
</context>
<context>
    <name>CodeSnippetsPanel</name>
    <message>
        <location filename="../codesnippetspanel.ui" line="17"/>
        <source>Code Snippets</source>
        <translation>Đoạn mã</translation>
    </message>
    <message>
        <location filename="../codesnippetspanel.ui" line="43"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Drag to the SQL editor to use the snippet.&lt;/p&gt;&lt;p&gt;Drop any code (or a text) here to add a new code snippet.&lt;/p&gt;&lt;p&gt;Double-click to edit the snippet.&lt;/p&gt;&lt;p&gt;Code snippets are also available in Code Assistant. Invoke it twice to show snippets.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Kéo vào trình biên tập SQL để dùng đoạn mã.&lt;/p&gt;&lt;p&gt;Thả bất kỳ mã (hoặc văn bản) nào vào đây để thêm đoạn mã mới.&lt;/p&gt;&lt;p&gt;Nhấp đúp để sửa đoạn mã.&lt;/p&gt;&lt;p&gt;Đoạn mã cũng có trong Trợ lý mã. Gọi nó hai lần để hiển thị đoạn mã.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../codesnippetspanel.ui" line="69"/>
        <source>Preview</source>
        <translation>Xem trước</translation>
    </message>
    <message>
        <location filename="../codesnippetspanel.cpp" line="69"/>
        <source>Add code snippet</source>
        <translation>Thêm đoạn mã</translation>
    </message>
    <message>
        <location filename="../codesnippetspanel.cpp" line="69"/>
        <source>Enter a name for the new code snippet:</source>
        <translation>Nhập tên cho đoạn mã mới:</translation>
    </message>
    <message>
        <location filename="../codesnippetspanel.cpp" line="97"/>
        <source>Filter by name</source>
        <translation>Lọc theo tên</translation>
    </message>
</context>
<context>
    <name>CollationsEditor</name>
    <message>
        <location filename="../windows/collationseditor.ui" line="84"/>
        <source>Filter collations</source>
        <translation>Lọc collation</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="163"/>
        <source>Databases</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="169"/>
        <source>Register in all databases</source>
        <translation>Đăng ký trong tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="176"/>
        <source>Register in following databases:</source>
        <translation>Đăng ký trong các cơ sở dữ liệu sau:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="197"/>
        <source>Implementation code:</source>
        <translation>Mã triển khai:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="229"/>
        <source>Collation name:</source>
        <translation>Tên collation:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="239"/>
        <source>Collation type:</source>
        <translation>Kiểu collation:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="248"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Implements the comparison logic directly in Letos using a scripting language. Choose this type to create fully custom sorting and comparison rules without requiring external SQLite extensions.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Triển khai logic so sánh trực tiếp trong Letos bằng ngôn ngữ kịch bản. Chọn kiểu này để tạo các quy tắc sắp xếp và so sánh hoàn toàn tùy chỉnh mà không cần tiện ích mở rộng SQLite bên ngoài.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="251"/>
        <source>Function-based</source>
        <translation>Dựa trên hàm</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="258"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Uses a collation implemented by a SQLite extension or external library. Choose this type when the comparison logic already exists outside of Letos, for example in ICU or another SQLite extension.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Sử dụng collation được triển khai bởi tiện ích mở rộng SQLite hoặc thư viện bên ngoài. Chọn kiểu này khi logic so sánh đã tồn tại bên ngoài Letos, ví dụ trong ICU hoặc tiện ích mở rộng SQLite khác.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="261"/>
        <source>Extension-based</source>
        <translation>Dựa trên phần mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.ui" line="270"/>
        <source>Implementation language:</source>
        <translation>Ngôn ngữ triển khai:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="56"/>
        <source>Collations editor</source>
        <translation>Trình biên tập collation</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="61"/>
        <source>Commit all collation changes</source>
        <translation>Xác nhận tất cả thay đổi collation</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="62"/>
        <source>Rollback all collation changes</source>
        <translation>Hoàn tác tất cả thay đổi collation</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="64"/>
        <source>Create new collation</source>
        <translation>Tạo collation mới</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="65"/>
        <source>Delete selected collation</source>
        <translation>Xóa collation đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="67"/>
        <source>Import collations from file</source>
        <translation>Nhập collation từ tệp</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="68"/>
        <source>Export collations to file</source>
        <translation>Xuất collation ra tệp</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="69"/>
        <source>Editing collations manual</source>
        <translation>Sổ tay chỉnh sửa collation</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="322"/>
        <source>Enter a non-empty, unique name of the collation.</source>
        <translation>Nhập tên collation không trống và duy nhất.</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="332"/>
        <source>Pick the implementation language.</source>
        <translation>Chọn ngôn ngữ triển khai.</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="337"/>
        <source>Registration code</source>
        <translation>Mã đăng ký</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="338"/>
        <source>Enter a non-empty registration code.</source>
        <translation>Nhập mã đăng ký không trống.</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="346"/>
        <source>Implementation code</source>
        <translation>Mã triển khai</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="347"/>
        <source>Enter a non-empty implementation code.</source>
        <translation>Nhập mã triển khai không trống.</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.cpp" line="506"/>
        <source>Collations editor window has uncommitted modifications.</source>
        <translation>Cửa sổ trình biên tập collation có các sửa đổi chưa được xác nhận.</translation>
    </message>
</context>
<context>
    <name>CollationsEditorModel</name>
    <message>
        <location filename="../windows/collationseditormodel.cpp" line="219"/>
        <source>all databases</source>
        <translation>tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/collationseditormodel.cpp" line="224"/>
        <source>Collation:</source>
        <translation>Đối chiếu:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditormodel.cpp" line="225"/>
        <source>Type:</source>
        <translation>Kiểu:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditormodel.cpp" line="226"/>
        <source>Language:</source>
        <translation>Ngôn ngữ:</translation>
    </message>
    <message>
        <location filename="../windows/collationseditormodel.cpp" line="227"/>
        <source>Registered in:</source>
        <translation>Đã đăng ký trong:</translation>
    </message>
</context>
<context>
    <name>ColorButton</name>
    <message>
        <location filename="../common/colorbutton.cpp" line="29"/>
        <source>Pick a color</source>
        <translation>Chọn màu</translation>
    </message>
</context>
<context>
    <name>ColorPickerPopup</name>
    <message>
        <location filename="../common/colorpickerpopup.cpp" line="58"/>
        <source>Clear</source>
        <translation>Xóa</translation>
    </message>
    <message>
        <location filename="../common/colorpickerpopup.cpp" line="65"/>
        <source>Custom colors</source>
        <translation>Màu tùy chỉnh</translation>
    </message>
    <message>
        <location filename="../common/colorpickerpopup.cpp" line="73"/>
        <source>Add custom color</source>
        <translation>Thêm màu tùy chỉnh</translation>
    </message>
    <message>
        <location filename="../common/colorpickerpopup.cpp" line="219"/>
        <source>Select color</source>
        <translation>Chọn màu</translation>
    </message>
</context>
<context>
    <name>ColumnCollatePanel</name>
    <message>
        <location filename="../constraints/columncollatepanel.ui" line="41"/>
        <source>Collation name:</source>
        <translation>Tên collation:</translation>
    </message>
    <message>
        <location filename="../constraints/columncollatepanel.ui" line="73"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/columncollatepanel.cpp" line="80"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
    <message>
        <location filename="../constraints/columncollatepanel.cpp" line="81"/>
        <source>Enter a collation name.</source>
        <translation>Nhập tên collation.</translation>
    </message>
</context>
<context>
    <name>ColumnDefaultPanel</name>
    <message>
        <location filename="../constraints/columndefaultpanel.ui" line="20"/>
        <source>Default value:</source>
        <translation>Giá trị mặc định:</translation>
    </message>
    <message>
        <location filename="../constraints/columndefaultpanel.ui" line="35"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/columndefaultpanel.cpp" line="39"/>
        <source>Enter a default value expression.</source>
        <translation>Nhập biểu thức giá trị mặc định.</translation>
    </message>
    <message>
        <location filename="../constraints/columndefaultpanel.cpp" line="78"/>
        <source>Invalid default value expression: %1. If you want to use simple string as value, remember to surround it with quote characters.</source>
        <translation>Biểu thức giá trị mặc định không hợp lệ: %1. Nếu bạn muốn dùng chuỗi đơn giản làm giá trị, hãy nhớ bao quanh nó bằng ký tự trích dẫn.</translation>
    </message>
    <message>
        <location filename="../constraints/columndefaultpanel.cpp" line="89"/>
        <source>Invalid default value expression. If you want to use simple string as value, remember to surround it with quote characters.</source>
        <translation>Biểu thức giá trị mặc định không hợp lệ. Nếu bạn muốn dùng chuỗi đơn giản làm giá trị, hãy nhớ bao quanh nó bằng ký tự trích dẫn.</translation>
    </message>
    <message>
        <location filename="../constraints/columndefaultpanel.cpp" line="92"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
</context>
<context>
    <name>ColumnDialog</name>
    <message>
        <location filename="../dialogs/columndialog.ui" line="20"/>
        <source>Column</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="29"/>
        <source>Name and type</source>
        <translation>Tên và kiểu</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="41"/>
        <source>Scale</source>
        <translation>Tỷ lệ</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="61"/>
        <source>Precision</source>
        <translation>Độ chính xác</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="68"/>
        <source>Data type:</source>
        <translation>Kiểu dữ liệu:</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="75"/>
        <source>Column name:</source>
        <translation>Tên cột:</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="85"/>
        <source>Size:</source>
        <translation>Kích thước:</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="108"/>
        <source>Constraints</source>
        <translation>Ràng buộc</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="138"/>
        <source>This column is part of a composite primary key. Composite constraints are configured in the bottom part of Structure tab.</source>
        <translation>Cột này là một phần của khóa chính tổng hợp. Các ràng buộc tổng hợp được cấu hình ở phần dưới của thẻ Cấu trúc.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="141"/>
        <source>Composite Primary Key</source>
        <translation>Khóa chính tổng hợp</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="161"/>
        <source>This column is part of a composite foreign key. Composite constraints are configured in the bottom part of Structure tab.</source>
        <translation>Cột này là một phần của khóa ngoại tổng hợp. Các ràng buộc tổng hợp được cấu hình ở phần dưới của thẻ Cấu trúc.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="164"/>
        <source>Composite Foreign Key</source>
        <translation>Khóa ngoại tổng hợp</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="209"/>
        <source>Generated value</source>
        <translation>Giá trị được tạo</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="223"/>
        <source>Unique</source>
        <translation>Duy nhất</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="121"/>
        <location filename="../dialogs/columndialog.ui" line="151"/>
        <location filename="../dialogs/columndialog.ui" line="181"/>
        <location filename="../dialogs/columndialog.ui" line="195"/>
        <location filename="../dialogs/columndialog.ui" line="202"/>
        <location filename="../dialogs/columndialog.ui" line="216"/>
        <location filename="../dialogs/columndialog.ui" line="244"/>
        <location filename="../dialogs/columndialog.ui" line="251"/>
        <source>Configure</source>
        <translation>Cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="258"/>
        <source>Foreign Key</source>
        <translation>Khóa ngoại</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="237"/>
        <source>Collate</source>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="265"/>
        <source>Not NULL</source>
        <translation>Không NULL</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="128"/>
        <source>Check condition</source>
        <translation>Điều kiện kiểm tra</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="230"/>
        <source>Primary Key</source>
        <translation>Khóa chính</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="174"/>
        <source>Default</source>
        <translation>Mặc định</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="188"/>
        <source>Autoincrement</source>
        <translation>Tự tăng</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="275"/>
        <source>This column is part of a composite unique constraint. Composite constraints are configured in the bottom part of Structure tab.</source>
        <translation>Cột này là một phần của ràng buộc duy nhất tổng hợp. Các ràng buộc tổng hợp được cấu hình ở phần dưới của thẻ Cấu trúc.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="278"/>
        <source>Composite Unique</source>
        <translation>Duy nhất tổng hợp</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.ui" line="345"/>
        <source>Advanced mode</source>
        <translation>Chế độ nâng cao</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="85"/>
        <source>Add constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="86"/>
        <source>Edit constraint</source>
        <comment>column dialog</comment>
        <translation>Sửa ràng buộc</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="87"/>
        <location filename="../dialogs/columndialog.cpp" line="252"/>
        <source>Delete constraint</source>
        <comment>column dialog</comment>
        <translation>Xóa ràng buộc</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="88"/>
        <source>Move constraint up</source>
        <comment>column dialog</comment>
        <translation>Di chuyển ràng buộc lên</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="89"/>
        <source>Move constraint down</source>
        <comment>column dialog</comment>
        <translation>Di chuyển ràng buộc xuống</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="91"/>
        <source>Add a primary key</source>
        <comment>column dialog</comment>
        <translation>Thêm khóa chính</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="92"/>
        <source>Add a foreign key</source>
        <comment>column dialog</comment>
        <translation>Thêm khóa ngoại</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="93"/>
        <source>Add an unique constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc duy nhất</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="94"/>
        <source>Add a check constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc kiểm tra</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="95"/>
        <source>Add a not null constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc không null</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="96"/>
        <source>Add a collate constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc collate</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="97"/>
        <source>Add a generated value constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc giá trị được tạo</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="98"/>
        <source>Add a default constraint</source>
        <comment>column dialog</comment>
        <translation>Thêm ràng buộc mặc định</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="251"/>
        <source>Are you sure you want to delete constraint &apos;%1&apos;?</source>
        <comment>column dialog</comment>
        <translation>Bạn có chắc muốn xóa ràng buộc &apos;%1&apos; không?</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="316"/>
        <source>Correct the constraint&apos;s configuration.</source>
        <translation>Sửa cấu hình của ràng buộc&apos;.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="386"/>
        <source>Scale is not allowed for INTEGER PRIMARY KEY columns.</source>
        <translation>Tỷ lệ không được phép đối với các cột INTEGER PRIMARY KEY.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="387"/>
        <source>Precision cannot be defined without the scale.</source>
        <translation>Không thể định nghĩa độ chính xác khi không có tỷ lệ.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="388"/>
        <source>Cannot use type other than INTEGER if AUTOINCREMENT is enabled in PRIMARY KEY.</source>
        <translation>Không thể dùng kiểu khác INTEGER nếu AUTOINCREMENT được bật trong PRIMARY KEY.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="389"/>
        <source>INTEGER type was enforced due to enabled AUTOINCREMENT in PRIMARY KEY.</source>
        <translation>Kiểu INTEGER đã được áp đặt do AUTOINCREMENT được bật trong PRIMARY KEY.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="411"/>
        <source>Precision is not allowed for INTEGER PRIMARY KEY columns.</source>
        <translation>Độ chính xác không được phép đối với các cột INTEGER PRIMARY KEY.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="459"/>
        <source>Referenced column type (%1) is different than type declared in this column. It may cause issues while inserting or updating data.</source>
        <translation>Kiểu cột được tham chiếu (%1) khác với kiểu được khai báo trong cột này. Điều này có thể gây sự cố khi chèn hoặc cập nhật dữ liệu.</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialog.cpp" line="771"/>
        <source>Could not match valid STRICT table datatype from declared type: %1.</source>
        <translation>Không thể khớp kiểu dữ liệu bảng STRICT hợp lệ từ kiểu đã khai báo: %1.</translation>
    </message>
</context>
<context>
    <name>ColumnDialogConstraintsModel</name>
    <message>
        <location filename="../dialogs/columndialogconstraintsmodel.cpp" line="340"/>
        <source>Type</source>
        <comment>column dialog constraints</comment>
        <translation>Kiểu</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialogconstraintsmodel.cpp" line="342"/>
        <source>Name</source>
        <comment>column dialog constraints</comment>
        <translation>Tên</translation>
    </message>
    <message>
        <location filename="../dialogs/columndialogconstraintsmodel.cpp" line="344"/>
        <source>Details</source>
        <comment>column dialog constraints</comment>
        <translation>Chi tiết</translation>
    </message>
</context>
<context>
    <name>ColumnForeignKeyPanel</name>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="29"/>
        <source>Referenced table:</source>
        <translation>Bảng được tham chiếu:</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="45"/>
        <source>Referenced column:</source>
        <translation>Cột được tham chiếu:</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="58"/>
        <source>Reactions</source>
        <translation>Phản ứng</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="97"/>
        <source>Deferred foreign key</source>
        <translation>Khóa ngoại hoãn lại</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="115"/>
        <source>Named constraint</source>
        <translation>Ràng buộc có tên</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.ui" line="122"/>
        <source>Constraint name</source>
        <translation>Tên ràng buộc</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.cpp" line="40"/>
        <source>Pick the foreign table.</source>
        <translation>Chọn bảng ngoại.</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.cpp" line="41"/>
        <source>Pick the foreign column.</source>
        <translation>Chọn cột ngoại.</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.cpp" line="42"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.cpp" line="56"/>
        <source>The referenced column should be a PRIMARY KEY or UNIQUE.</source>
        <translation>Cột được tham chiếu nên là PRIMARY KEY hoặc UNIQUE.</translation>
    </message>
    <message>
        <location filename="../constraints/columnforeignkeypanel.cpp" line="162"/>
        <source>Column with the same name</source>
        <translation>Cột có cùng tên</translation>
    </message>
</context>
<context>
    <name>ColumnGeneratedPanel</name>
    <message>
        <location filename="../constraints/columngeneratedpanel.ui" line="20"/>
        <source>Generating code:</source>
        <translation>Mã tạo:</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.ui" line="35"/>
        <source>Explicit type:</source>
        <translation>Kiểu tường minh:</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.ui" line="58"/>
        <source>Use &quot;GENERATED ALWAYS&quot; keywords</source>
        <translation>Dùng từ khóa &quot;GENERATED ALWAYS&quot;</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.ui" line="71"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.cpp" line="40"/>
        <source>Enter the column value generating expression.</source>
        <translation>Nhập biểu thức tạo giá trị cột.</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.cpp" line="87"/>
        <source>Invalid value generating expression: %1.</source>
        <translation>Biểu thức tạo giá trị không hợp lệ: %1.</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.cpp" line="93"/>
        <source>Invalid value generating expression.</source>
        <translation>Biểu thức tạo giá trị không hợp lệ.</translation>
    </message>
    <message>
        <location filename="../constraints/columngeneratedpanel.cpp" line="96"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
</context>
<context>
    <name>ColumnPrimaryKeyPanel</name>
    <message>
        <location filename="../constraints/columnprimarykeypanel.ui" line="26"/>
        <source>Autoincrement</source>
        <translation>Tự tăng</translation>
    </message>
    <message>
        <location filename="../constraints/columnprimarykeypanel.ui" line="48"/>
        <source>Sort order:</source>
        <translation>Thứ tự sắp xếp:</translation>
    </message>
    <message>
        <location filename="../constraints/columnprimarykeypanel.ui" line="83"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/columnprimarykeypanel.ui" line="111"/>
        <source>On conflict:</source>
        <translation>Khi xung đột:</translation>
    </message>
    <message>
        <location filename="../constraints/columnprimarykeypanel.cpp" line="88"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
    <message>
        <location filename="../constraints/columnprimarykeypanel.cpp" line="97"/>
        <source>Descending order is not allowed with AUTOINCREMENT.</source>
        <translation>Thứ tự giảm dần không được phép với AUTOINCREMENT.</translation>
    </message>
</context>
<context>
    <name>ColumnUniqueAndNotNullPanel</name>
    <message>
        <location filename="../constraints/columnuniqueandnotnullpanel.ui" line="41"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/columnuniqueandnotnullpanel.ui" line="69"/>
        <source>On conflict:</source>
        <translation>Khi xung đột:</translation>
    </message>
    <message>
        <location filename="../constraints/columnuniqueandnotnullpanel.cpp" line="73"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
</context>
<context>
    <name>CommandPalette</name>
    <message>
        <location filename="../commandpalette/commandpalette.cpp" line="53"/>
        <source>Search anything...</source>
        <translation>Tìm kiếm bất cứ thứ gì...</translation>
    </message>
</context>
<context>
    <name>CompleterWindow</name>
    <message>
        <location filename="../completer/completerwindow.cpp" line="95"/>
        <source>Press / to filter snippets</source>
        <translation>Nhấn / để lọc đoạn mã</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="95"/>
        <source>Press / to use hotkeys</source>
        <translation>Nhấn / để dùng phím nóng</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="310"/>
        <source>Column: %1</source>
        <comment>completer statusbar</comment>
        <translation>Cột: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="312"/>
        <source>Table: %1</source>
        <comment>completer statusbar</comment>
        <translation>Bảng: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="314"/>
        <source>Index: %1</source>
        <comment>completer statusbar</comment>
        <translation>Chỉ mục: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="316"/>
        <source>Trigger: %1</source>
        <comment>completer statusbar</comment>
        <translation>Trình kích hoạt: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="318"/>
        <source>View: %1</source>
        <comment>completer statusbar</comment>
        <translation>Khung nhìn: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="320"/>
        <source>Database: %1</source>
        <comment>completer statusbar</comment>
        <translation>Cơ sở dữ liệu: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="332"/>
        <source>Keyword: %1</source>
        <comment>completer statusbar</comment>
        <translation>Từ khóa: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="334"/>
        <source>Function: %1</source>
        <comment>completer statusbar</comment>
        <translation>Hàm: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="336"/>
        <source>Operator: %1</source>
        <comment>completer statusbar</comment>
        <translation>Toán tử: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="338"/>
        <source>String</source>
        <comment>completer statusbar</comment>
        <translation>Chuỗi</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="340"/>
        <source>Number</source>
        <comment>completer statusbar</comment>
        <translation>Số</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="342"/>
        <source>Binary data</source>
        <comment>completer statusbar</comment>
        <translation>Dữ liệu nhị phân</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="344"/>
        <source>Collation: %1</source>
        <comment>completer statusbar</comment>
        <translation>Đối chiếu: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="346"/>
        <source>Pragma function: %1</source>
        <comment>completer statusbar</comment>
        <translation>Hàm pragma: %1</translation>
    </message>
    <message>
        <location filename="../completer/completerwindow.cpp" line="348"/>
        <source>Join condition: %1</source>
        <comment>completer statusbar</comment>
        <translation>Điều kiện join: %1</translation>
    </message>
</context>
<context>
    <name>ConfigDialog</name>
    <message>
        <location filename="../dialogs/configdialog.ui" line="14"/>
        <location filename="../dialogs/configdialog.ui" line="3114"/>
        <source>Configuration</source>
        <translation>Cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="63"/>
        <source>Search</source>
        <translation>Tìm kiếm</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="100"/>
        <source>General</source>
        <translation>Chung</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="112"/>
        <source>Keyboard shortcuts</source>
        <translation>Phím tắt bàn phím</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="124"/>
        <source>Look &amp; feel</source>
        <translation>Giao diện &amp; cảm giác</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="135"/>
        <source>Style</source>
        <translation>Kiểu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="147"/>
        <source>Fonts</source>
        <translation>Phông chữ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="159"/>
        <source>Code colors</source>
        <translation>Màu mã</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="184"/>
        <location filename="../dialogs/configdialog.ui" line="277"/>
        <source>Database list</source>
        <translation>Danh sách cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1350"/>
        <source>Code assistant</source>
        <translation>Trợ lý mã</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="196"/>
        <source>Data browsing</source>
        <translation>Duyệt dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="172"/>
        <location filename="../dialogs/configdialog.ui" line="1263"/>
        <source>SQL Editor</source>
        <translation>Trình biên tập SQL</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="207"/>
        <source>Data editors</source>
        <translation>Trình biên tập dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="232"/>
        <source>Plugins</source>
        <translation>Plugin</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="243"/>
        <source>Code formatters</source>
        <translation>Trình định dạng mã</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="251"/>
        <source>Scripting languages</source>
        <translation>Ngôn ngữ kịch bản</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="306"/>
        <source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
        <translation>Nếu tắt, các cột sẽ được sắp xếp theo thứ tự chúng được nhập trong câu lệnh CREATE TABLE.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="309"/>
        <source>Sort table columns alphabetically</source>
        <translation>Sắp xếp cột bảng theo bảng chữ cái</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="345"/>
        <source>&lt;p&gt;Additional labels are those displayed next to the names on the databases list (they are blue, unless configured otherwise). Enabling this option will result in labels for databases, invalid databases and aggregated nodes (column group, index group, trigger group). For more labels see options below.&lt;p&gt;</source>
        <translation>&lt;p&gt;Nhãn bổ sung là các nhãn hiển thị bên cạnh tên trong danh sách cơ sở dữ liệu (chúng có màu xanh dương, trừ khi được cấu hình khác). Bật tùy chọn này sẽ tạo nhãn cho cơ sở dữ liệu, cơ sở dữ liệu không hợp lệ và các nút gộp (nhóm cột, nhóm chỉ mục, nhóm trigger). Để có thêm nhãn, xem các tùy chọn bên dưới.&lt;p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="348"/>
        <source>Display additional labels on the list</source>
        <translation>Hiển thị nhãn bổ sung trên danh sách</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="379"/>
        <source>Display labels for regular tables</source>
        <translation>Hiển thị nhãn cho bảng thông thường</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="389"/>
        <source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
        <translation>Bảng ảo sẽ được đánh dấu bằng nhãn &apos;ảo&apos;.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="392"/>
        <source>Display labels for virtual tables</source>
        <translation>Hiển thị nhãn cho bảng ảo</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="332"/>
        <source>If this option is switched off, then objects will be sorted in order they appear in sqlite_master table (which is in order they were created)</source>
        <translation>Nếu tùy chọn này bị tắt, các đối tượng sẽ được sắp xếp theo thứ tự chúng xuất hiện trong bảng sqlite_master (tức là theo thứ tự chúng được tạo)</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="335"/>
        <source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
        <translation>Sắp xếp đối tượng (bảng, chỉ mục, trigger và khung nhìn) theo bảng chữ cái</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="408"/>
        <source>Display system tables and indexes on the list</source>
        <translation>Hiển thị bảng và chỉ mục hệ thống trong danh sách</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="431"/>
        <source>Database dialog window</source>
        <translation>Cửa sổ hộp thoại cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="437"/>
        <source>&lt;p&gt;When adding new database it is marked to be &quot;permanent&quot; (stored in configuration) by default. Checking this option makes every new database to NOT be &quot;permanent&quot; by default.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi thêm cơ sở dữ liệu mới, theo mặc định nó được đánh dấu là &quot;vĩnh viễn&quot; (được lưu trong cấu hình). Chọn tùy chọn này khiến mọi cơ sở dữ liệu mới mặc định KHÔNG là &quot;vĩnh viễn&quot;.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="440"/>
        <source>Do not mark database to be &quot;permanent&quot; by default</source>
        <translation>Không đánh dấu cơ sở dữ liệu là &quot;vĩnh viễn&quot; theo mặc định</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="498"/>
        <source>Data browsing and editing</source>
        <translation>Duyệt và chỉnh sửa dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="504"/>
        <location filename="../dialogs/configdialog.ui" line="517"/>
        <source>&lt;p&gt;Maximum number of configurations of Populate Table dialog stored in configuration. Value of 100 should be sufficient.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Số cấu hình tối đa của hộp thoại Điền dữ liệu vào bảng được lưu trong cấu hình. Giá trị 100 nên là đủ.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="520"/>
        <source>Number of memorized table populating configurations</source>
        <translation>Số cấu hình điền dữ liệu bảng được ghi nhớ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="595"/>
        <source>Use scientific notation for very small real numbers in the grid view</source>
        <translation>Dùng ký hiệu khoa học cho các số thực rất nhỏ trong khung nhìn lưới</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="634"/>
        <source>Data column width</source>
        <translation>Độ rộng cột dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="640"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When user enters new value into column and the value is bigger than the current column width, the application will enlarge the column to fit the new value, but not wider than the limit defined in the option above.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi người dùng nhập giá trị mới vào cột và giá trị lớn hơn độ rộng cột hiện tại, ứng dụng sẽ mở rộng cột để vừa với giá trị mới, nhưng không rộng hơn giới hạn được định nghĩa trong tùy chọn phía trên.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="643"/>
        <source>Enlarge column when entering value longer than current width</source>
        <translation>Mở rộng cột khi nhập giá trị dài hơn độ rộng hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="659"/>
        <source>&lt;p&gt;When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi dữ liệu được đọc vào khung nhìn lưới, độ rộng cột được tự động điều chỉnh. Giá trị này giới hạn độ rộng ban đầu cho việc điều chỉnh, nhưng người dùng vẫn có thể đổi kích thước cột thủ công vượt quá giới hạn này.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="585"/>
        <source>Number of data rows per page:</source>
        <translation>Số hàng dữ liệu trên mỗi trang:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="618"/>
        <source>&lt;p&gt;When this is enabled and user holds mouse pointer over a cell in any data view (query results, a table data, a view data) a tooltip will appear with details about the cell - it includes details like column data type, constraints, ROWID and others.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi bật tùy chọn này và người dùng giữ con trỏ chuột trên một ô trong bất kỳ khung nhìn dữ liệu nào (kết quả truy vấn, dữ liệu bảng, dữ liệu khung nhìn), một chú giải công cụ sẽ xuất hiện với chi tiết về ô - bao gồm các chi tiết như kiểu dữ liệu cột, ràng buộc, ROWID và những thứ khác.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="621"/>
        <source>Show column and row details tooltip in data view</source>
        <translation>Hiển thị chú giải chi tiết cột và hàng trong khung nhìn dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="527"/>
        <source>&lt;p&gt;When editing a cell which used to have NULL value and entering empty string as new value, then this option determinates whether the new value should remain NULL (have this option enabled), or should it be overwritten with empty string value (have this option disabled).&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi chỉnh sửa một ô từng có giá trị NULL và nhập chuỗi rỗng làm giá trị mới, tùy chọn này xác định giá trị mới nên vẫn là NULL (khi bật tùy chọn này), hay nên bị ghi đè bằng giá trị chuỗi rỗng (khi tắt tùy chọn này).&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="530"/>
        <source>Keep NULL value when entering empty value</source>
        <translation>Giữ giá trị NULL khi nhập giá trị rỗng</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="608"/>
        <source>Limit number of rows for in case of dozens of columns</source>
        <translation>Giới hạn số hàng trong trường hợp có hàng chục cột</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="739"/>
        <source>Inserting new row in data grid</source>
        <translation>Chèn hàng mới trong lưới dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="745"/>
        <source>Before currently selected row</source>
        <translation>Trước hàng hiện đang chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="761"/>
        <source>After currently selected row</source>
        <translation>Sau hàng hiện đang chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="774"/>
        <source>At the end of data view</source>
        <translation>Ở cuối khung nhìn dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="790"/>
        <source>Table windows</source>
        <translation>Cửa sổ bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="796"/>
        <source>&lt;p&gt;When enabled, Table Windows will show up with the data tab, instead of the structure tab.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi bật, Cửa sổ bảng sẽ hiển thị với thẻ dữ liệu thay vì thẻ cấu trúc.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="799"/>
        <source>Open Table Windows with the data tab for start</source>
        <translation>Mở Cửa sổ bảng với thẻ dữ liệu lúc bắt đầu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="809"/>
        <source>&lt;p&gt;When enabled the &quot;Data&quot; tab will be placed as first tab in every Table Window, instead of being at second place.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi bật, thẻ &quot;Dữ liệu&quot; sẽ được đặt làm thẻ đầu tiên trong mọi Cửa sổ bảng, thay vì ở vị trí thứ hai.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="812"/>
        <source>Place data tab as first tab in a Table Window</source>
        <translation>Đặt thẻ dữ liệu làm thẻ đầu tiên trong Cửa sổ bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="825"/>
        <source>View windows</source>
        <translation>Cửa sổ khung nhìn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="831"/>
        <source>&lt;p&gt;When enabled, View Windows will show up with the data tab, instead of the structure tab.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi bật, Cửa sổ khung nhìn sẽ hiển thị với thẻ dữ liệu thay vì thẻ cấu trúc.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="834"/>
        <source>Open View Windows with the data tab for start</source>
        <translation>Mở Cửa sổ khung nhìn với thẻ dữ liệu lúc bắt đầu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="844"/>
        <source>&lt;p&gt;When enabled the &quot;Data&quot; tab will be placed as first tab in every View Window, instead of being at second place.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Khi bật, thẻ &quot;Dữ liệu&quot; sẽ được đặt làm thẻ đầu tiên trong mọi Cửa sổ khung nhìn, thay vì ở vị trí thứ hai.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="847"/>
        <source>Place data tab as first tab in a View Window</source>
        <translation>Đặt thẻ dữ liệu làm thẻ đầu tiên trong Cửa sổ khung nhìn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="891"/>
        <source>Data types</source>
        <translation>Kiểu dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="944"/>
        <source>Available editors:</source>
        <translation>Trình biên tập có sẵn:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1061"/>
        <source>Schema editing</source>
        <translation>Chỉnh sửa lược đồ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1073"/>
        <source>Number of DDL changes kept in history.</source>
        <translation>Số thay đổi DDL được giữ trong lịch sử.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1086"/>
        <source>DDL history size:</source>
        <translation>Kích thước lịch sử DDL:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1093"/>
        <source>Don&apos;t show DDL preview dialog when committing schema changes</source>
        <translation>Không&apos; hiển thị hộp thoại xem trước DDL khi xác nhận thay đổi lược đồ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1391"/>
        <location filename="../dialogs/configdialog.ui" line="1407"/>
        <source>Number of queries kept in the history.</source>
        <translation>Số truy vấn được giữ trong lịch sử.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1337"/>
        <source>Execute only the query under the cursor</source>
        <translation>Chỉ thực thi truy vấn dưới con trỏ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1423"/>
        <source>Number of memorized query parameters</source>
        <translation>Số tham số truy vấn được ghi nhớ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="678"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When the data is read into grid view columns width is automatically adjusted. This value limits the initial width for the adjustment, but user can still resize the column manually over this limit. This value is also used when enlarging column upon new, longer value entered by the user (see option below).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi dữ liệu được đọc vào khung nhìn lưới, độ rộng cột được tự động điều chỉnh. Giá trị này giới hạn độ rộng ban đầu cho việc điều chỉnh, nhưng người dùng vẫn có thể đổi kích thước cột thủ công vượt quá giới hạn này. Giá trị này cũng được dùng khi mở rộng cột sau khi người dùng nhập giá trị mới dài hơn (xem tùy chọn bên dưới).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="681"/>
        <source>Limit automatic data column width to (in pixels):</source>
        <translation>Giới hạn độ rộng cột dữ liệu tự động thành (theo pixel):</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="688"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Initial width of data columns will be set to at least show complete name of the column in the header. This can still be overwritten by the initial limit of column width specified in pixels (the setting above).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Độ rộng ban đầu của các cột dữ liệu sẽ được đặt ít nhất đủ để hiển thị tên cột đầy đủ trong tiêu đề. Điều này vẫn có thể bị ghi đè bởi giới hạn ban đầu của độ rộng cột được chỉ định bằng pixel (thiết lập phía trên).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="691"/>
        <source>Keep at least the width to show complete column name</source>
        <translation>Giữ ít nhất độ rộng để hiển thị tên cột đầy đủ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1301"/>
        <source>Wrap lines in SQL editor</source>
        <translation>Ngắt dòng trong trình biên tập SQL</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1324"/>
        <source>Highlight current query</source>
        <translation>Tô sáng truy vấn hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1106"/>
        <source>Updates</source>
        <translation>Cập nhật</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1112"/>
        <source>Automatically check for updates at startup</source>
        <translation>Tự động kiểm tra cập nhật khi khởi động</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1125"/>
        <source>Session</source>
        <translation>Phiên</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1131"/>
        <source>Restore last session (active MDI windows) after startup</source>
        <translation>Khôi phục phiên cuối (các cửa sổ MDI đang hoạt động) sau khi khởi động</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1141"/>
        <source>Allow multiple instances of the application at the same time</source>
        <translation>Cho phép nhiều phiên bản của ứng dụng cùng lúc</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1154"/>
        <source>Status Field</source>
        <translation>Trường trạng thái</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1163"/>
        <source>Always open Status panel when new message is printed</source>
        <translation>Luôn mở bảng Trạng thái khi thông báo mới được in</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1488"/>
        <source>Code syntax colors</source>
        <translation>Màu cú pháp mã</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1674"/>
        <source>Keyword foreground</source>
        <translation>Màu chữ từ khóa</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1494"/>
        <source>Regular foreground</source>
        <translation>Màu chữ thông thường</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1584"/>
        <source>String foreground</source>
        <translation>Màu chữ chuỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1854"/>
        <source>Comment foreground</source>
        <translation>Màu chữ chú thích</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1944"/>
        <source>Valid objects foreground</source>
        <translation>Màu chữ đối tượng hợp lệ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2255"/>
        <source>Current query background</source>
        <translation>Màu nền truy vấn hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2124"/>
        <source>Bind parameter foreground</source>
        <translation>Màu chữ tham số bind</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2214"/>
        <source>Current line background</source>
        <translation>Màu nền dòng hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2299"/>
        <source>Matched parenthesis background</source>
        <translation>Màu nền ngoặc khớp</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2283"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can disable current query highlighting entirely on the General settings page.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bạn có thể tắt hoàn toàn việc tô sáng truy vấn hiện tại trên trang thiết lập Chung.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="219"/>
        <source>Data renderers</source>
        <translation>Trình kết xuất dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="283"/>
        <source>Expand tables when connected to a database</source>
        <translation>Mở rộng bảng khi kết nối tới cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="418"/>
        <source>Expand views when connected to a database</source>
        <translation>Mở rộng khung nhìn khi kết nối tới cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="319"/>
        <source>Expanding a table or view also expands the Columns, Indexes and Triggers nodes to show their contents.</source>
        <translation>Mở rộng một bảng hoặc khung nhìn cũng mở rộng các nút Cột, Chỉ mục và Trigger để hiển thị nội dung của chúng.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="293"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;By default, the database schema is accessed using the &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt; table name.&lt;br/&gt;Older SQLite versions used the &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_master&lt;/span&gt; name, which is still supported as an alias.&lt;br/&gt;You can switch here to use the legacy name instead.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Theo mặc định, lược đồ cơ sở dữ liệu được truy cập bằng tên bảng &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt;.&lt;br/&gt;Các phiên bản SQLite cũ hơn dùng tên &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_master&lt;/span&gt;, tên này vẫn được hỗ trợ như một bí danh.&lt;br/&gt;Bạn có thể chuyển ở đây để dùng tên kế thừa thay thế.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="296"/>
        <source>Prefer sqlite_master over sqlite_schema table name</source>
        <translation>Ưu tiên tên bảng sqlite_master hơn sqlite_schema</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="322"/>
        <source>Expand columns, indexes and triggers together with the table</source>
        <translation>Mở rộng cột, chỉ mục và trigger cùng với bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="363"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Shows data type next to the column when Columns node is expanded.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Hiển thị kiểu dữ liệu bên cạnh cột khi nút Cột được mở rộng.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="366"/>
        <source>Display column data types</source>
        <translation>Hiển thị kiểu dữ liệu cột</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="376"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Shows number of columns, indexes and triggers next to each table name.&lt;/p&gt;&lt;p&gt;Requires loading full schema for all tables. For databases with hundreds or thousands of tables, this can significantly impact performance.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Hiển thị số lượng cột, chỉ mục và trigger bên cạnh tên mỗi bảng.&lt;/p&gt;&lt;p&gt;Yêu cầu tải lược đồ đầy đủ cho tất cả bảng. Với các cơ sở dữ liệu có hàng trăm hoặc hàng nghìn bảng, điều này có thể ảnh hưởng đáng kể đến hiệu năng.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="405"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;By default, system tables and indexes are hidden from the list.&lt;br/&gt;Enable this option to display internal SQLite objects, such as &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt; and auto-generated indexes.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Theo mặc định, bảng và chỉ mục hệ thống bị ẩn khỏi danh sách.&lt;br/&gt;Bật tùy chọn này để hiển thị các đối tượng SQLite nội bộ, chẳng hạn như &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt; và các chỉ mục được tự động tạo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="450"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When enabled, database files will be added without showing the standard database dialog. If opening the database with default options fails (e.g. encrypted database or different driver required), the dialog will be shown so the options can be adjusted. When disabled, the dialog will always be shown.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi bật, các tệp cơ sở dữ liệu sẽ được thêm mà không hiển thị hộp thoại cơ sở dữ liệu tiêu chuẩn. Nếu mở cơ sở dữ liệu với tùy chọn mặc định thất bại (ví dụ: cơ sở dữ liệu được mã hóa hoặc cần driver khác), hộp thoại sẽ được hiển thị để có thể điều chỉnh tùy chọn. Khi tắt, hộp thoại sẽ luôn được hiển thị.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="453"/>
        <source>Skip the dialog when possible</source>
        <translation>Bỏ qua hộp thoại khi có thể</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="960"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Define which data editors are available for specific column types in &lt;span style=&quot; font-weight:700;&quot;&gt;Form View&lt;/span&gt; and the &lt;span style=&quot; font-weight:700;&quot;&gt;popup editor dialog&lt;/span&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Xác định những trình biên tập dữ liệu nào khả dụng cho các kiểu cột cụ thể trong &lt;span style=&quot; font-weight:700;&quot;&gt;Khung nhìn biểu mẫu&lt;/span&gt; và &lt;span style=&quot; font-weight:700;&quot;&gt;hộp thoại trình biên tập bật lên&lt;/span&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="979"/>
        <source>Preview of editors for this data type (drag to reorder):</source>
        <translation>Xem trước trình biên tập cho kiểu dữ liệu này (kéo để sắp xếp lại):</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1003"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can define which cell renderers are used for specific data types declared on table columns (case-insensitive). If no renderer is defined for a given type, the default renderer is used.&lt;/p&gt;&lt;p&gt;Optional plugins may provide additional renderers and set their own default mappings for data types, which you can still override here.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bạn có thể xác định trình kết xuất ô nào được dùng cho các kiểu dữ liệu cụ thể được khai báo trên cột bảng (không phân biệt chữ hoa/thường). Nếu không có trình kết xuất nào được định nghĩa cho một kiểu nhất định, trình kết xuất mặc định sẽ được dùng.&lt;/p&gt;&lt;p&gt;Các plugin tùy chọn có thể cung cấp thêm trình kết xuất và đặt ánh xạ mặc định riêng của chúng cho kiểu dữ liệu, bạn vẫn có thể ghi đè tại đây.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1032"/>
        <source>Data type</source>
        <translation>Kiểu dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1037"/>
        <source>Renderer</source>
        <translation>Trình kết xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1334"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When multiple queries are present, executes only the query under the cursor.&lt;br/&gt;When disabled, all queries are executed.&lt;br/&gt;You can also execute selected queries or use shortcuts (%1 for single, %2 for all).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi có nhiều truy vấn, chỉ thực thi truy vấn dưới con trỏ.&lt;br/&gt;Khi tắt, tất cả truy vấn sẽ được thực thi.&lt;br/&gt;Bạn cũng có thể thực thi các truy vấn đã chọn hoặc dùng phím tắt (%1 cho một truy vấn, %2 cho tất cả).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1321"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Highlights the query under the cursor - the same query that will be executed when using &lt;span style=&quot; font-style:italic;&quot;&gt;Execute query&lt;/span&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Tô sáng truy vấn dưới con trỏ - cùng truy vấn sẽ được thực thi khi dùng &lt;span style=&quot; font-style:italic;&quot;&gt;Thực thi truy vấn&lt;/span&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="592"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When enabled, Letos automatically switches to scientific notation for very small real numbers (e.g. &lt;span style=&quot; font-style:italic;&quot;&gt;5.3e-21&lt;/span&gt;).&lt;br/&gt;Decimal notation is used for values whose magnitude allows a readable decimal representation.&lt;/p&gt;&lt;p&gt;When disabled, real numbers are always displayed using decimal notation, even if this results in very long fractional parts.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi bật, Letos tự động chuyển sang ký hiệu khoa học cho các số thực rất nhỏ (ví dụ: &lt;span style=&quot; font-style:italic;&quot;&gt;5.3e-21&lt;/span&gt;).&lt;br/&gt;Ký hiệu thập phân được dùng cho các giá trị có độ lớn cho phép biểu diễn thập phân dễ đọc.&lt;/p&gt;&lt;p&gt;Khi tắt, số thực luôn được hiển thị bằng ký hiệu thập phân, ngay cả khi điều này tạo ra phần thập phân rất dài.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="572"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When editing a cell, pressing Enter accepts the value and moves to the same column in the next row.&lt;br/&gt;If disabled, the selection stays on the current cell.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi chỉnh sửa một ô, nhấn Enter sẽ chấp nhận giá trị và chuyển đến cùng cột ở hàng tiếp theo.&lt;br/&gt;Nếu tắt, vùng chọn vẫn ở ô hiện tại.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="575"/>
        <source>After editing, Enter moves to the next row</source>
        <translation>Sau khi chỉnh sửa, Enter chuyển đến hàng tiếp theo</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="605"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If query results contain dozens (or hundreds) of columns, it is more likely that it will exhaust free memory of your computer by loading several gigabytes of data at once. Letos may try to limit number of results displayed on one page in such cases to protect your computer. If you know that you don&apos;t work with big values in database, you can disable this limit and you will always see as many rows as defined per page.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nếu kết quả truy vấn chứa hàng chục (hoặc hàng trăm) cột, nhiều khả năng việc tải vài gigabyte dữ liệu cùng lúc sẽ làm cạn bộ nhớ trống của máy tính. Letos có thể cố gắng giới hạn số kết quả hiển thị trên một trang trong các trường hợp như vậy để bảo vệ máy tính của bạn. Nếu bạn biết rằng mình không&apos; làm việc với các giá trị lớn trong cơ sở dữ liệu, bạn có thể tắt giới hạn này và sẽ luôn thấy số hàng đúng như được định nghĩa cho mỗi trang.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="540"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Automatically starts editing the cell in the next row after moving to it with Enter.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Tự động bắt đầu chỉnh sửa ô ở hàng tiếp theo sau khi chuyển đến đó bằng Enter.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="543"/>
        <source>Start editing after moving to the next row</source>
        <translation>Bắt đầu chỉnh sửa sau khi chuyển đến hàng tiếp theo</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="704"/>
        <source>Column header actions</source>
        <translation>Hành động tiêu đề cột</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="710"/>
        <source>Single-click selects column data; double-click sorts by column</source>
        <translation>Nhấp một lần chọn dữ liệu cột; nhấp đúp sắp xếp theo cột</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="723"/>
        <source>Single-click sorts by column; Alt+click selects column data</source>
        <translation>Nhấp một lần sắp xếp theo cột; Alt+nhấp chọn dữ liệu cột</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1160"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;When user manually closes the Status panel, this option makes sure that if any new message is printed in the Status panel it will be reopened. If it&apos;s disabled, then Status panel can only be open manually by the user from the &amp;quot;View&amp;quot; menu.&lt;/p&gt;&lt;p&gt;You can always hide the Status panel with the Esc key.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Khi người dùng đóng bảng Trạng thái theo cách thủ công, tùy chọn này đảm bảo rằng nếu có bất kỳ thông báo mới nào được in trong bảng Trạng thái thì bảng sẽ được mở lại. Nếu tùy chọn này&apos; bị tắt, bảng Trạng thái chỉ có thể được người dùng mở thủ công từ menu &amp;quot;Xem&amp;quot;.&lt;/p&gt;&lt;p&gt;Bạn luôn có thể ẩn bảng Trạng thái bằng phím Esc.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1173"/>
        <source>Older status messages</source>
        <translation>Thông báo trạng thái cũ hơn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1179"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Older status messages are kept unchanged.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Các thông báo trạng thái cũ hơn được giữ nguyên.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1182"/>
        <source>Keep messages</source>
        <translation>Giữ thông báo</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1195"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Older status messages remain visible, but are visually dimmed to make recent messages stand out.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Các thông báo trạng thái cũ hơn vẫn hiển thị, nhưng được làm mờ trực quan để thông báo gần đây nổi bật hơn.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1198"/>
        <source>Dim older messages</source>
        <translation>Làm mờ thông báo cũ hơn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1211"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Older status messages are automatically removed from the status field.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Các thông báo trạng thái cũ hơn được tự động xóa khỏi trường trạng thái.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1214"/>
        <source>Remove older messages</source>
        <translation>Xóa thông báo cũ hơn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1230"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Occasionally show a status message with information about supporting the Letos project. These reminders appear infrequently and can be disabled at any time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Thỉnh thoảng hiển thị thông báo trạng thái với thông tin về việc hỗ trợ dự án Letos. Những lời nhắc này xuất hiện không thường xuyên và có thể được tắt bất kỳ lúc nào.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1233"/>
        <source>Show occasional project support reminders</source>
        <translation>Thỉnh thoảng hiển thị lời nhắc hỗ trợ dự án</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1269"/>
        <location filename="../dialogs/configdialog.ui" line="1285"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Specifies the maximum number of decimal places shown for query execution time. Up to 9 digits (nanoseconds) can be configured. Trailing zeros are automatically trimmed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Chỉ định số chữ số thập phân tối đa được hiển thị cho thời gian thực thi truy vấn. Có thể cấu hình tối đa 9 chữ số (nano giây). Các số không ở cuối được tự động cắt bỏ.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1272"/>
        <source>Execution time precision (decimal places)</source>
        <translation>Độ chính xác thời gian thực thi (chữ số thập phân)</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1298"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If enabled, lines longer than the editor width will be wrapped, so horizontal scrolling will not be needed.&lt;/p&gt;&lt;p&gt;This option defines the global default, while individual SQL editor windows can override it locally.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nếu được bật, các dòng dài hơn chiều rộng của trình soạn thảo sẽ được ngắt dòng, vì vậy sẽ không cần cuộn ngang.&lt;/p&gt;&lt;p&gt;Tùy chọn này xác định mặc định toàn cục, trong khi từng cửa sổ trình soạn thảo SQL có thể ghi đè cục bộ.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1311"/>
        <source>Disable blinking text cursor</source>
        <translation>Tắt con trỏ văn bản nhấp nháy</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1359"/>
        <source>Trigger assistant after typing a dot</source>
        <translation>Kích hoạt trợ lý sau khi gõ dấu chấm</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1369"/>
        <source>When enabled, invoking code completion in an empty editor shows code snippets first instead of syntax suggestions. Invoking code completion again switches to syntax suggestions (and vice versa).</source>
        <translation>Khi bật, việc gọi hoàn thành mã trong trình biên tập trống sẽ hiển thị đoạn mã trước thay vì gợi ý cú pháp. Gọi hoàn thành mã lần nữa sẽ chuyển sang gợi ý cú pháp (và ngược lại).</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1372"/>
        <source>Prefer snippets in empty editor</source>
        <translation>Ưu tiên đoạn mã trong trình biên tập trống</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1385"/>
        <source>History</source>
        <translation>Lịch sử</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1394"/>
        <source>Query history size:</source>
        <translation>Kích thước lịch sử truy vấn:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1420"/>
        <location filename="../dialogs/configdialog.ui" line="1430"/>
        <source>&lt;p&gt;Maximum number of query parameters (:param, @param, $param, ?) stored in history. When you re-use parameter with the same name/position, Letos will pre-initialize it with most recent memorized value (you will still be able to change it). Value of 1000 should be sufficient.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Số lượng tối đa các tham số truy vấn (:param, @param, $param, ?) được lưu trong lịch sử. Khi bạn dùng lại tham số có cùng tên/vị trí, Letos sẽ khởi tạo sẵn tham số đó bằng giá trị được ghi nhớ gần đây nhất (bạn vẫn có thể thay đổi giá trị này). Giá trị 1000 là đủ dùng.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1764"/>
        <source>Number foreground</source>
        <translation>Màu chữ số</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2034"/>
        <source>BLOB value foreground</source>
        <translation>Màu chữ giá trị BLOB</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2340"/>
        <source>Matched parenthesis foreground</source>
        <translation>Màu chữ dấu ngoặc khớp</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2448"/>
        <location filename="../dialogs/configdialog.ui" line="2556"/>
        <source>Reset to defaults</source>
        <translation>Đặt lại về mặc định</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2474"/>
        <source>Filter shortcuts by name or key combination</source>
        <translation>Lọc phím tắt theo tên hoặc tổ hợp phím</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2518"/>
        <source>Action</source>
        <translation>Hành động</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2523"/>
        <source>Key combination</source>
        <translation>Tổ hợp phím</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2597"/>
        <location filename="../dialogs/configdialog.ui" line="3104"/>
        <source>Language</source>
        <translation>Ngôn ngữ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2603"/>
        <source>Changing language requires application restart to take effect.</source>
        <translation>Việc thay đổi ngôn ngữ yêu cầu khởi động lại ứng dụng để có hiệu lực.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2623"/>
        <source>Compact layout</source>
        <translation>Bố cục gọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2629"/>
        <source>&lt;p&gt;Compact layout reduces all margins and spacing on the UI to minimum, making space for displaying more data. It makes the interface a little bit less aesthetic, but allows to display more data at once.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Bố cục gọn giảm tất cả lề và khoảng cách trên giao diện người dùng xuống mức tối thiểu, tạo thêm không gian để hiển thị nhiều dữ liệu hơn. Điều này làm giao diện kém thẩm mỹ hơn một chút, nhưng cho phép hiển thị nhiều dữ liệu hơn cùng lúc.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2632"/>
        <source>Use compact layout</source>
        <translation>Sử dụng bố cục gọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2648"/>
        <source>Main window dock areas</source>
        <translation>Vùng neo của cửa sổ chính</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2654"/>
        <source>Left and right areas occupy corners</source>
        <translation>Vùng trái và phải chiếm các góc</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2674"/>
        <source>Top and bottom areas occupy corners</source>
        <translation>Vùng trên và dưới chiếm các góc</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2694"/>
        <source>Toolbars</source>
        <translation>Thanh công cụ</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2700"/>
        <location filename="../dialogs/configdialog.ui" line="2710"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Expressed in percentage of default size.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Được biểu thị bằng phần trăm của kích thước mặc định.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2703"/>
        <source>Icon size</source>
        <translation>Kích thước biểu tượng</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2828"/>
        <source>Hide built-in plugins</source>
        <translation>Ẩn plugin tích hợp</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2857"/>
        <source>Current style:</source>
        <translation>Kiểu hiện tại:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2874"/>
        <source>Preview</source>
        <translation>Xem trước</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="2884"/>
        <source>Enabled</source>
        <translation>Đã bật</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3060"/>
        <source>Disabled</source>
        <translation>Đã tắt</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3109"/>
        <source>Active formatter plugin</source>
        <translation>Plugin định dạng đang hoạt động</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3147"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;Tip:&lt;/span&gt; In addition to the settings available here, font sizes can also be adjusted dynamically in most interface elements by holding &lt;span style=&quot; font-weight:700;&quot;&gt;Ctrl&lt;/span&gt; and scrolling the &lt;span style=&quot; font-weight:700;&quot;&gt;mouse wheel&lt;/span&gt; over the element whose font size you want to change.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;Mẹo:&lt;/span&gt; Ngoài các thiết lập có sẵn tại đây, kích thước phông chữ cũng có thể được điều chỉnh động trong hầu hết các thành phần giao diện bằng cách giữ &lt;span style=&quot; font-weight:700;&quot;&gt;Ctrl&lt;/span&gt; và cuộn &lt;span style=&quot; font-weight:700;&quot;&gt;bánh xe chuột&lt;/span&gt; trên thành phần có kích thước phông chữ bạn muốn thay đổi.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3166"/>
        <source>SQL editor font</source>
        <translation>Phông chữ trình soạn thảo SQL</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3182"/>
        <source>Database list font</source>
        <translation>Phông chữ danh sách cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3198"/>
        <source>Database list additional label font</source>
        <translation>Phông chữ nhãn bổ sung của danh sách cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3214"/>
        <source>Data view font</source>
        <translation>Phông chữ khung xem dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="3230"/>
        <source>Status field font</source>
        <translation>Phông chữ trường trạng thái</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.ui" line="1356"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If this option is enabled, the code assistant will be triggered in cases, when user types for example &lt;span style=&quot; font-weight:700;&quot;&gt;tableName.&lt;/span&gt; to propose columns of the table. If the option is disabled, user will have to hit the assistant hotkey explicitly.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Nếu tùy chọn này được bật, trợ lý mã sẽ được kích hoạt trong các trường hợp người dùng nhập, ví dụ &lt;span style=&quot; font-weight:700;&quot;&gt;tableName.&lt;/span&gt; để đề xuất các cột của bảng. Nếu tùy chọn này bị tắt, người dùng sẽ phải nhấn rõ phím tắt của trợ lý.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1122"/>
        <source>Description:</source>
        <comment>plugin details</comment>
        <translation>Mô tả:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1123"/>
        <source>Category:</source>
        <comment>plugin details</comment>
        <translation>Danh mục:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1124"/>
        <source>Version:</source>
        <comment>plugin details</comment>
        <translation>Phiên bản:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1125"/>
        <source>Author:</source>
        <comment>plugin details</comment>
        <translation>Tác giả:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1127"/>
        <source>Internal name:</source>
        <comment>plugin details</comment>
        <translation>Tên nội bộ:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1128"/>
        <source>Dependencies:</source>
        <comment>plugin details</comment>
        <translation>Phụ thuộc:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1129"/>
        <source>Conflicts:</source>
        <comment>plugin details</comment>
        <translation>Xung đột:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1130"/>
        <source>File:</source>
        <comment>plugin details</comment>
        <translation>Tệp:</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1135"/>
        <source>Plugin details</source>
        <translation>Chi tiết plugin</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1756"/>
        <source>Plugins are loaded/unloaded immediately when checked/unchecked, but modified list of plugins to load at startup is not saved until you commit the whole configuration dialog.</source>
        <translation>Plugin được tải/gỡ tải ngay lập tức khi được chọn/bỏ chọn, nhưng danh sách plugin đã sửa đổi để tải khi khởi động sẽ không được lưu cho đến khi bạn xác nhận toàn bộ hộp thoại cấu hình.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1814"/>
        <source>%1 (built-in)</source>
        <comment>plugins manager in configuration dialog</comment>
        <translation>%1 (tích hợp)</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1856"/>
        <source>Details</source>
        <translation>Chi tiết</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1870"/>
        <source>No plugins in this category.</source>
        <translation>Không có plugin nào trong danh mục này.</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1970"/>
        <location filename="../dialogs/configdialog.cpp" line="1999"/>
        <source>Add new data type</source>
        <translation>Thêm kiểu dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1974"/>
        <location filename="../dialogs/configdialog.cpp" line="2003"/>
        <source>Rename selected data type</source>
        <translation>Đổi tên kiểu dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="1978"/>
        <location filename="../dialogs/configdialog.cpp" line="2007"/>
        <source>Delete selected data type</source>
        <translation>Xóa kiểu dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="2091"/>
        <source>Clear hotkey for this action</source>
        <translation>Xóa phím nóng cho hành động này</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="2103"/>
        <source>Restore original hotkey for this action</source>
        <translation>Khôi phục phím nóng gốc cho hành động này</translation>
    </message>
    <message>
        <location filename="../dialogs/configdialog.cpp" line="2145"/>
        <source>Here you can configure colors for code syntax highlighting. They are shared across different languages - not only for SQL, but also JavaScript and others. By default a theme-based color is used. To define your own color, enable a custom color by selecting a checkbox next to a particular color.</source>
        <translation>Tại đây bạn có thể cấu hình màu cho tô sáng cú pháp mã. Chúng được dùng chung giữa các ngôn ngữ khác nhau - không chỉ SQL mà còn JavaScript và các ngôn ngữ khác. Theo mặc định, màu dựa trên chủ đề được sử dụng. Để định nghĩa màu riêng, hãy bật màu tùy chỉnh bằng cách chọn hộp kiểm cạnh màu cụ thể.</translation>
    </message>
</context>
<context>
    <name>ConstraintCheckPanel</name>
    <message>
        <location filename="../constraints/constraintcheckpanel.ui" line="20"/>
        <source>The condition</source>
        <translation>Điều kiện</translation>
    </message>
    <message>
        <location filename="../constraints/constraintcheckpanel.ui" line="35"/>
        <source>Named constraint:</source>
        <translation>Ràng buộc có tên:</translation>
    </message>
    <message>
        <location filename="../constraints/constraintcheckpanel.ui" line="51"/>
        <source>On conflict</source>
        <translation>Khi xung đột</translation>
    </message>
    <message>
        <location filename="../constraints/constraintcheckpanel.cpp" line="46"/>
        <source>Enter a valid condition.</source>
        <translation>Nhập điều kiện hợp lệ.</translation>
    </message>
    <message>
        <location filename="../constraints/constraintcheckpanel.cpp" line="47"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
</context>
<context>
    <name>ConstraintDialog</name>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="62"/>
        <source>New constraint</source>
        <comment>constraint dialog</comment>
        <translation>Ràng buộc mới</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="63"/>
        <source>Create</source>
        <comment>constraint dialog</comment>
        <translation>Tạo</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="66"/>
        <source>Edit constraint</source>
        <comment>dialog window</comment>
        <translation>Sửa ràng buộc</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="67"/>
        <source>Apply</source>
        <comment>constraint dialog</comment>
        <translation>Áp dụng</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="174"/>
        <source>Primary key</source>
        <comment>table constraints</comment>
        <translation>Khóa chính</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="178"/>
        <source>Foreign key</source>
        <comment>table constraints</comment>
        <translation>Khóa ngoại</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="182"/>
        <source>Unique</source>
        <comment>table constraints</comment>
        <translation>Duy nhất</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="186"/>
        <source>Not NULL</source>
        <comment>table constraints</comment>
        <translation>Không NULL</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="190"/>
        <source>Check</source>
        <comment>table constraints</comment>
        <translation>Kiểm tra</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="194"/>
        <source>Generated</source>
        <comment>table constraints</comment>
        <translation>Được tạo</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="198"/>
        <source>Collate</source>
        <comment>table constraints</comment>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../dialogs/constraintdialog.cpp" line="202"/>
        <source>Default</source>
        <comment>table constraints</comment>
        <translation>Mặc định</translation>
    </message>
</context>
<context>
    <name>ConstraintTabModel</name>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="67"/>
        <source>Table</source>
        <comment>table constraints</comment>
        <translation>Bảng</translation>
    </message>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="108"/>
        <source>Column (%1)</source>
        <comment>table constraints</comment>
        <translation>Cột (%1)</translation>
    </message>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="152"/>
        <source>Scope</source>
        <comment>table constraints</comment>
        <translation>Phạm vi</translation>
    </message>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="154"/>
        <source>Type</source>
        <comment>table constraints</comment>
        <translation>Kiểu</translation>
    </message>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="156"/>
        <source>Details</source>
        <comment>table constraints</comment>
        <translation>Chi tiết</translation>
    </message>
    <message>
        <location filename="../windows/constrainttabmodel.cpp" line="158"/>
        <source>Name</source>
        <comment>table constraints</comment>
        <translation>Tên</translation>
    </message>
</context>
<context>
    <name>CpConfigDialogProvider</name>
    <message>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="52"/>
        <source>Configure hotkey: %1 (%2)</source>
        <translation>Cấu hình phím nóng: %1 (%2)</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="53"/>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="70"/>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="87"/>
        <source>Open configuration on the &quot;%1&quot; page</source>
        <translation>Mở cấu hình tại trang &quot;%1&quot;</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="69"/>
        <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="86"/>
        <source>Configure: %1</source>
        <translation>Cấu hình: %1</translation>
    </message>
</context>
<context>
    <name>CssDebugDialog</name>
    <message>
        <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
        <source>Letos CSS console</source>
        <translation>Bảng điều khiển CSS Letos</translation>
    </message>
</context>
<context>
    <name>DataView</name>
    <message>
        <location filename="../dataview.cpp" line="125"/>
        <source>Filter data</source>
        <comment>data view</comment>
        <translation>Lọc dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="126"/>
        <source>Filter by value in any column</source>
        <comment>data view</comment>
        <translation>Lọc theo giá trị trong bất kỳ cột nào</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="135"/>
        <source>Grid view</source>
        <translation>Dạng lưới</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="136"/>
        <source>Form view</source>
        <translation>Dạng biểu mẫu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="239"/>
        <source>Find in data</source>
        <comment>data view</comment>
        <translation>Tìm trong dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="240"/>
        <source>Refresh table data</source>
        <comment>data view</comment>
        <translation>Làm mới dữ liệu bảng</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="256"/>
        <source>First page</source>
        <comment>data view</comment>
        <translation>Trang đầu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="257"/>
        <source>Previous page</source>
        <comment>data view</comment>
        <translation>Trang trước</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="259"/>
        <source>Next page</source>
        <comment>data view</comment>
        <translation>Trang tiếp</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="260"/>
        <source>Last page</source>
        <comment>data view</comment>
        <translation>Trang cuối</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="274"/>
        <source>Show grid view of results</source>
        <comment>data view</comment>
        <translation>Hiển thị kết quả dạng lưới</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="275"/>
        <source>Show form view of results</source>
        <comment>data view</comment>
        <translation>Hiển thị kết quả dạng biểu mẫu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="524"/>
        <source>Rows available on current page: %1 - %2</source>
        <comment>data view</comment>
        <translation>Các hàng có sẵn trên trang hiện tại: %1 - %2</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="811"/>
        <source>Sum: %1</source>
        <translation>Tổng: %1</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="964"/>
        <source>Total pages available: %1</source>
        <translation>Tổng số trang có sẵn: %1</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="974"/>
        <source>Total rows loaded: %1</source>
        <translation>Tổng số hàng đã tải: %1</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1370"/>
        <source>Filter by text (if contains)</source>
        <comment>data view</comment>
        <translation>Lọc theo văn bản (nếu chứa)</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1371"/>
        <source>Filter strictly by text (if equals)</source>
        <comment>data view</comment>
        <translation>Lọc chính xác theo văn bản (nếu bằng)</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="382"/>
        <source>Tabs on top</source>
        <comment>data view</comment>
        <translation>Thẻ ở trên</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="54"/>
        <source>Sum of values in selected cells</source>
        <comment>data view</comment>
        <translation>Tổng các giá trị trong ô đã chọn</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="105"/>
        <source>Row:</source>
        <translation>Hàng:</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="383"/>
        <source>Tabs at bottom</source>
        <comment>data view</comment>
        <translation>Thẻ ở dưới</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="408"/>
        <source>Place new rows above selected row</source>
        <comment>data view</comment>
        <translation>Đặt hàng mới phía trên hàng đã chọn</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="409"/>
        <source>Place new rows below selected row</source>
        <comment>data view</comment>
        <translation>Đặt hàng mới phía dưới hàng đã chọn</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="410"/>
        <source>Place new rows at the end of the data view</source>
        <comment>data view</comment>
        <translation>Đặt hàng mới ở cuối khung xem dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="987"/>
        <source>Total number of rows is being counted.
Browsing other pages will be possible after the row counting is done.</source>
        <translation>Đang đếm tổng số hàng.
Có thể duyệt các trang khác sau khi việc đếm hàng hoàn tất.</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1337"/>
        <source>Filter</source>
        <translation>Lọc</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1340"/>
        <source>Hit Enter key or press &quot;Apply filter&quot; button on toolbar to apply new value.</source>
        <translation>Nhấn phím Enter hoặc nhấn nút &quot;Áp dụng bộ lọc&quot; trên thanh công cụ để áp dụng giá trị mới.</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1372"/>
        <source>Filter by the Regular Expression</source>
        <comment>data view</comment>
        <translation>Lọc bằng biểu thức chính quy</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1373"/>
        <source>Filter by SQL expression</source>
        <comment>data view</comment>
        <translation>Lọc bằng biểu thức SQL</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1392"/>
        <source>Show filter inputs per column</source>
        <comment>data view</comment>
        <translation>Hiển thị ô nhập bộ lọc cho từng cột</translation>
    </message>
    <message>
        <location filename="../dataview.cpp" line="1396"/>
        <source>Apply filter</source>
        <comment>data view</comment>
        <translation>Áp dụng bộ lọc</translation>
    </message>
</context>
<context>
    <name>DbDialog</name>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="23"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="29"/>
        <source>Database type</source>
        <translation>Kiểu cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="35"/>
        <source>Database driver</source>
        <translation>Trình điều khiển cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="45"/>
        <location filename="../dialogs/dbdialog.cpp" line="194"/>
        <source>File</source>
        <translation>Tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="51"/>
        <source>Select an existing database file</source>
        <translation>Chọn một tệp cơ sở dữ liệu hiện có</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="61"/>
        <source>Create a new database file</source>
        <translation>Tạo cơ sở dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="89"/>
        <source>Name (on the list)</source>
        <translation>Tên (trên danh sách)</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="117"/>
        <source>Change</source>
        <translation>Thay đổi</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="127"/>
        <source>Options</source>
        <translation>Tùy chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="133"/>
        <source>&lt;p&gt;Enable this if you want the database to be stored in configuration file and restored every time Letos is started.&lt;/p&gt;</source>
        <extracomment>aasfd</extracomment>
        <translation>&lt;p&gt;Bật tùy chọn này nếu bạn muốn cơ sở dữ liệu được lưu trong tệp cấu hình và được khôi phục mỗi khi Letos khởi động.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="136"/>
        <source>Permanent (keep it in configuration)</source>
        <translation>Lâu dài (giữ trong cấu hình)</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.ui" line="180"/>
        <source>Test connection</source>
        <translation>Kiểm tra kết nối</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="355"/>
        <source>Browse</source>
        <translation>Duyệt</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="528"/>
        <source>Database type not selected.</source>
        <translation>Chưa chọn kiểu cơ sở dữ liệu.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="535"/>
        <source>Database path not specified.</source>
        <translation>Chưa chỉ định đường dẫn cơ sở dữ liệu.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="568"/>
        <source>Enter an unique database name.</source>
        <translation>Nhập một tên cơ sở dữ liệu duy nhất.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="578"/>
        <source>This name is already in use. Please enter unique name.</source>
        <translation>Tên này đã được sử dụng. Vui lòng nhập tên duy nhất.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="585"/>
        <source>&lt;p&gt;Automatic name generation was disabled, because the name was edited manually. To restore automatic generation please erase contents of the name field.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Tạo tên tự động đã bị tắt vì tên đã được chỉnh sửa thủ công. Để khôi phục tạo tự động, vui lòng xóa nội dung của trường tên.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="594"/>
        <source>Enter a database file path.</source>
        <translation>Nhập đường dẫn tệp cơ sở dữ liệu.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="600"/>
        <source>You&apos;re using a relative file path, which will be resolved to &quot;%1&quot; according to the application&apos;s working directory. It&apos;s always better to use absolute file path to avoid unexpected database location.</source>
        <translation>Bạn&apos; đang sử dụng đường dẫn tệp tương đối, đường dẫn này sẽ được phân giải thành &quot;%1&quot; theo thư mục làm việc của ứng dụng&apos;. Luôn&apos; tốt hơn khi dùng đường dẫn tệp tuyệt đối để tránh vị trí cơ sở dữ liệu ngoài ý muốn.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="610"/>
        <source>This database is already on the list under name: %1</source>
        <translation>Cơ sở dữ liệu này đã có trong danh sách dưới tên: %1</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="632"/>
        <source>Select a database type.</source>
        <translation>Chọn một kiểu cơ sở dữ liệu.</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="657"/>
        <source>Automatic</source>
        <comment>database name</comment>
        <translation>Tự động</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="658"/>
        <source>Change</source>
        <comment>database name</comment>
        <translation>Thay đổi</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="667"/>
        <source>(empty)</source>
        <translation>(trống)</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="837"/>
        <source>Choose a location for the new database file</source>
        <translation>Chọn vị trí cho tệp cơ sở dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../dialogs/dbdialog.cpp" line="838"/>
        <source>Browse for existing database file on local computer</source>
        <translation>Duyệt tìm tệp cơ sở dữ liệu hiện có trên máy tính cục bộ</translation>
    </message>
</context>
<context>
    <name>DbObjectDialogs</name>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="176"/>
        <source>Delete table</source>
        <translation>Xóa bảng</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="177"/>
        <source>Are you sure you want to delete table %1?</source>
        <translation>Bạn có chắc chắn muốn xóa bảng %1 không?</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="181"/>
        <source>Delete index</source>
        <translation>Xóa chỉ mục</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="182"/>
        <source>Are you sure you want to delete index %1?</source>
        <translation>Bạn có chắc chắn muốn xóa chỉ mục %1 không?</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="186"/>
        <source>Delete trigger</source>
        <translation>Xóa trigger</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="187"/>
        <source>Are you sure you want to delete trigger %1?</source>
        <translation>Bạn có chắc chắn muốn xóa trigger %1 không?</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="191"/>
        <source>Delete view</source>
        <translation>Xóa view</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="192"/>
        <source>Are you sure you want to delete view %1?</source>
        <translation>Bạn có chắc chắn muốn xóa view %1 không?</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="214"/>
        <location filename="../dbobjectdialogs.cpp" line="346"/>
        <source>Error while dropping %1: %2</source>
        <translation>Lỗi khi xóa %1: %2</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="322"/>
        <source>Delete objects</source>
        <translation>Xóa đối tượng</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="323"/>
        <source>Are you sure you want to delete following objects:
%1</source>
        <translation>Bạn có chắc chắn muốn xóa các đối tượng sau:
%1</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="330"/>
        <source>Cannot start transaction. Details: %1</source>
        <translation>Không thể bắt đầu transaction. Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../dbobjectdialogs.cpp" line="357"/>
        <source>Cannot commit transaction. Details: %1</source>
        <translation>Không thể commit transaction. Chi tiết: %1</translation>
    </message>
</context>
<context>
    <name>DbTree</name>
    <message>
        <location filename="../dbtree/dbtree.ui" line="20"/>
        <source>Databases</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2556"/>
        <source>Filter by name</source>
        <translation>Lọc theo tên</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="142"/>
        <source>Copy</source>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="143"/>
        <source>Paste</source>
        <translation>Dán</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="144"/>
        <source>Select all</source>
        <translation>Chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="145"/>
        <source>Create a group</source>
        <translation>Tạo nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="146"/>
        <source>Delete the group</source>
        <translation>Xóa nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="147"/>
        <source>Rename the group</source>
        <translation>Đổi tên nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="152"/>
        <source>&amp;Edit the database</source>
        <translation>&amp;Chỉnh sửa cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="154"/>
        <source>&amp;Remove the database</source>
        <translation>&amp;Xóa cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="155"/>
        <source>&amp;Connect to the database</source>
        <translation>&amp;Kết nối tới cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="156"/>
        <source>&amp;Disconnect from the database</source>
        <translation>&amp;Ngắt kết nối khỏi cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="159"/>
        <source>Vac&amp;uum</source>
        <translation>Hút ch&amp;ân không</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="160"/>
        <source>&amp;Integrity check</source>
        <translation>&amp;Kiểm tra tính toàn vẹn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="161"/>
        <source>Create a &amp;table</source>
        <translation>Tạo &amp;bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="162"/>
        <source>Edit the t&amp;able</source>
        <translation>Sửa bả&amp;ng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="164"/>
        <source>Delete the ta&amp;ble</source>
        <translation>Xóa bả&amp;ng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="165"/>
        <source>Export the table</source>
        <translation>Xuất bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="166"/>
        <source>Import into the table</source>
        <translation>Nhập vào bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="168"/>
        <source>Populate table</source>
        <translation>Điền dữ liệu bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="169"/>
        <source>Create similar table</source>
        <translation>Tạo bảng tương tự</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="170"/>
        <source>Reset autoincrement sequence</source>
        <translation>Đặt lại chuỗi autoincrement</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="171"/>
        <source>Create an &amp;index</source>
        <translation>Tạo &amp;chỉ mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="172"/>
        <source>Edit the i&amp;ndex</source>
        <translation>Sửa chỉ &amp;mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="174"/>
        <source>Delete the in&amp;dex</source>
        <translation>Xóa chỉ &amp;mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="175"/>
        <source>Create a trig&amp;ger</source>
        <translation>Tạo tri&amp;gger</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="176"/>
        <source>Edit the trigg&amp;er</source>
        <translation>Sửa tri&amp;gger</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="178"/>
        <source>Delete the trigge&amp;r</source>
        <translation>Xóa trigge&amp;r</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="179"/>
        <source>Create a &amp;view</source>
        <translation>Tạo &amp;view</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="180"/>
        <source>Edit the v&amp;iew</source>
        <translation>Sửa v&amp;iew</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="182"/>
        <source>Delete the vi&amp;ew</source>
        <translation>Xóa vi&amp;ew</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="183"/>
        <source>Add a column</source>
        <translation>Thêm cột</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="184"/>
        <source>Edit the column</source>
        <translation>Sửa cột</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="186"/>
        <source>Delete the column</source>
        <translation>Xóa cột</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="187"/>
        <source>Delete selected items</source>
        <translation>Xóa các mục đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="207"/>
        <source>Clear filter</source>
        <translation>Xóa bộ lọc</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="188"/>
        <source>&amp;Refresh all database schemas</source>
        <translation>&amp;Làm mới tất cả schema cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="148"/>
        <source>&amp;Create new database</source>
        <translation>&amp;Tạo cơ sở dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="149"/>
        <source>&amp;Open existing database</source>
        <translation>&amp;Mở cơ sở dữ liệu hiện có</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="150"/>
        <source>&amp;Open existing database or SQL file</source>
        <translation>&amp;Mở cơ sở dữ liệu hoặc tệp SQL hiện có</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="151"/>
        <source>Add a database</source>
        <translation>Thêm cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="153"/>
        <source>Rename the database</source>
        <translation>Đổi tên cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="157"/>
        <source>&amp;Import</source>
        <translation>&amp;Nhập</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="158"/>
        <source>&amp;Export</source>
        <translation>&amp;Xuất</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="163"/>
        <source>Rename the table</source>
        <translation>Đổi tên bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="167"/>
        <source>Export the view</source>
        <translation>Xuất view</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="173"/>
        <source>Rename the index</source>
        <translation>Đổi tên chỉ mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="177"/>
        <source>Rename the trigger</source>
        <translation>Đổi tên trigger</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="181"/>
        <source>Rename the view</source>
        <translation>Đổi tên view</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="185"/>
        <source>Rename the column</source>
        <translation>Đổi tên cột</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="189"/>
        <source>Re&amp;fresh selected database schema</source>
        <translation>Làm &amp;mới schema cơ sở dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="190"/>
        <location filename="../dbtree/dbtree.cpp" line="1938"/>
        <source>Erase table data</source>
        <translation>Xóa dữ liệu bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="192"/>
        <location filename="../dbtree/dbtree.cpp" line="195"/>
        <location filename="../dbtree/dbtree.cpp" line="198"/>
        <source>Drag</source>
        <comment>dbtree table action shortcut</comment>
        <translation>Kéo</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="201"/>
        <source>Open file&apos;s directory</source>
        <translation>Mở thư mục của tệp&apos;</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="202"/>
        <source>Execute SQL from file</source>
        <translation>Thực thi SQL từ tệp</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="203"/>
        <source>Increase font size</source>
        <comment>database list</comment>
        <translation>Tăng kích thước phông chữ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="204"/>
        <source>Decrease font size</source>
        <comment>database list</comment>
        <translation>Giảm kích thước phông chữ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="417"/>
        <location filename="../dbtree/dbtree.cpp" line="424"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="436"/>
        <source>Grouping</source>
        <translation>Nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="441"/>
        <source>Generate query for table</source>
        <translation>Tạo truy vấn cho bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="447"/>
        <source>Generate query for view</source>
        <translation>Tạo truy vấn cho view</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1326"/>
        <location filename="../dbtree/dbtree.cpp" line="1329"/>
        <source>Create group</source>
        <translation>Tạo nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1326"/>
        <source>Group name</source>
        <translation>Tên nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1329"/>
        <source>Entry with name %1 already exists in group %2.</source>
        <translation>Mục có tên %1 đã tồn tại trong nhóm %2.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1366"/>
        <source>Delete group</source>
        <translation>Xóa nhóm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1367"/>
        <source>Are you sure you want to delete groups: %1?
All objects from these groups will be moved to respective parent groups.</source>
        <translation>Bạn có chắc chắn muốn xóa các nhóm: %1 không?
Tất cả đối tượng từ các nhóm này sẽ được chuyển vào các nhóm cha tương ứng.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1499"/>
        <source>Are you sure you want to remove database &apos;%1&apos; from the list?</source>
        <translation>Bạn có chắc chắn muốn gỡ cơ sở dữ liệu &apos;%1&apos; khỏi danh sách không?</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1507"/>
        <source>Are you sure you want to remove following databases from the list:
%1</source>
        <translation>Bạn có chắc chắn muốn gỡ các cơ sở dữ liệu sau khỏi danh sách:
%1</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1509"/>
        <source>Remove database</source>
        <translation>Xóa cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1564"/>
        <location filename="../dbtree/dbtree.cpp" line="1769"/>
        <source>Cannot import, because no import plugin is loaded.</source>
        <translation>Không thể nhập vì không có plugin nhập nào được tải.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1584"/>
        <location filename="../dbtree/dbtree.cpp" line="1744"/>
        <location filename="../dbtree/dbtree.cpp" line="1813"/>
        <source>Cannot export, because no export plugin is loaded.</source>
        <translation>Không thể xuất vì không có plugin xuất nào được tải.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1859"/>
        <source>Vacuum (%1)</source>
        <translation>Hút chân không (%1)</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1873"/>
        <source>Integrity check (%1)</source>
        <translation>Kiểm tra tính toàn vẹn (%1)</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1909"/>
        <source>Reset autoincrement</source>
        <translation>Đặt lại autoincrement</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1909"/>
        <source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
        <translation>Bạn có chắc chắn muốn đặt lại giá trị autoincrement cho bảng &apos;%1&apos; không?</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1916"/>
        <source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
        <translation>Đã xảy ra lỗi khi cố đặt lại giá trị autoincrement cho bảng &apos;%1&apos;: %2</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1918"/>
        <source>Autoincrement value for table &apos;%1&apos; has been reset successfully.</source>
        <translation>Giá trị autoincrement cho bảng &apos;%1&apos; đã được đặt lại thành công.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1938"/>
        <source>Are you sure you want to delete all data from table(s): %1?</source>
        <translation>Bạn có chắc chắn muốn xóa tất cả dữ liệu khỏi (các) bảng: %1 không?</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1950"/>
        <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
        <translation>Đã xảy ra lỗi khi cố xóa dữ liệu khỏi bảng &apos;%1&apos;: %2</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="1954"/>
        <source>All data has been deleted for table &apos;%1&apos;.</source>
        <translation>Tất cả dữ liệu đã được xóa khỏi bảng &apos;%1&apos;.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2093"/>
        <source>Following objects will be deleted: %1.</source>
        <translation>Các đối tượng sau sẽ bị xóa: %1.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2096"/>
        <source>Following databases will be removed from list: %1.</source>
        <translation>Các cơ sở dữ liệu sau sẽ bị gỡ khỏi danh sách: %1.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2099"/>
        <source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
        <translation>Các đối tượng còn lại từ nhóm đã xóa sẽ được chuyển đến vị trí trước đây của nhóm đó.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2101"/>
        <source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
        <translation>%1&lt;br&gt;&lt;br&gt;Bạn có chắc chắn muốn tiếp tục không?</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2103"/>
        <source>Delete objects</source>
        <translation>Xóa đối tượng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2582"/>
        <source>&lt;html&gt;&lt;body&gt;&lt;p&gt;Connected.&lt;/p&gt;&lt;p&gt;Click here to disconnect, or middle-click on the database.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;body&gt;&lt;p&gt;Đã kết nối.&lt;/p&gt;&lt;p&gt;Nhấp vào đây để ngắt kết nối, hoặc nhấp chuột giữa vào cơ sở dữ liệu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.cpp" line="2590"/>
        <source>&lt;html&gt;&lt;body&gt;&lt;p&gt;Disconnected.&lt;/p&gt;&lt;p&gt;Click here to connect, or double-click on the database.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;body&gt;&lt;p&gt;Đã ngắt kết nối.&lt;/p&gt;&lt;p&gt;Nhấp vào đây để kết nối, hoặc nhấp đúp vào cơ sở dữ liệu.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
</context>
<context>
    <name>DbTreeItemDelegate</name>
    <message>
        <location filename="../dbtree/dbtreeitemdelegate.cpp" line="97"/>
        <source>error</source>
        <comment>dbtree labels</comment>
        <translation>lỗi</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemdelegate.cpp" line="114"/>
        <source>(system table)</source>
        <comment>database tree label</comment>
        <translation>(bảng hệ thống)</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemdelegate.cpp" line="132"/>
        <source>(virtual)</source>
        <comment>virtual table label</comment>
        <translation>(ảo)</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemdelegate.cpp" line="144"/>
        <source>(system index)</source>
        <comment>database tree label</comment>
        <translation>(chỉ mục hệ thống)</translation>
    </message>
</context>
<context>
    <name>DbTreeModel</name>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="493"/>
        <source>Database: %1</source>
        <comment>dbtree tooltip</comment>
        <translation>Cơ sở dữ liệu: %1</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="494"/>
        <source>URI:</source>
        <comment>dbtree tooltip</comment>
        <translation>URI (định danh tài nguyên):</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="498"/>
        <source>Format:</source>
        <comment>dbtree tooltip</comment>
        <translation>Định dạng:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="501"/>
        <source>File size:</source>
        <comment>dbtree tooltip</comment>
        <translation>Kích thước tệp:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="504"/>
        <source>Encoding:</source>
        <comment>dbtree tooltip</comment>
        <translation>Mã hóa:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="509"/>
        <source>Error:</source>
        <comment>dbtree tooltip</comment>
        <translation>Lỗi:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="513"/>
        <source>Double-click to edit this database</source>
        <comment>dbtree tooltip</comment>
        <translation>Nhấp đúp để sửa cơ sở dữ liệu này</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="515"/>
        <source>Double-click to connect to this database</source>
        <comment>dbtree tooltip</comment>
        <translation>Nhấp đúp để kết nối tới cơ sở dữ liệu này</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="525"/>
        <source>Table : %1</source>
        <comment>dbtree tooltip</comment>
        <translation>Bảng : %1</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="548"/>
        <source>Columns (%1):</source>
        <comment>dbtree tooltip</comment>
        <translation>Cột (%1):</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="551"/>
        <source>Indexes (%1):</source>
        <comment>dbtree tooltip</comment>
        <translation>Chỉ mục (%1):</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="554"/>
        <source>Triggers (%1):</source>
        <comment>dbtree tooltip</comment>
        <translation>Trigger (%1):</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1342"/>
        <source>Copy</source>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1343"/>
        <source>Move</source>
        <translation>Di chuyển</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1345"/>
        <source>Include data</source>
        <translation>Bao gồm dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1346"/>
        <source>Include indexes</source>
        <translation>Bao gồm chỉ mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1347"/>
        <source>Include triggers</source>
        <translation>Bao gồm trigger</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1349"/>
        <source>Abort</source>
        <translation>Hủy bỏ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1408"/>
        <source>Could not add dropped database file &apos;%1&apos; automatically. Manual setup is necessary.</source>
        <translation>Không thể tự động thêm tệp cơ sở dữ liệu được thả &apos;%1&apos;. Cần thiết lập thủ công.</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1487"/>
        <source>Referenced tables</source>
        <translation>Bảng được tham chiếu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1488"/>
        <source>Do you want to include following referenced tables as well:
%1</source>
        <translation>Bạn có muốn bao gồm cả các bảng được tham chiếu sau không:
%1</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1497"/>
        <source>Name conflict</source>
        <translation>Xung đột tên</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1498"/>
        <source>Following object already exists in the target database.
Please enter new, unique name, or press &apos;%1&apos; to abort the operation:</source>
        <translation>Đối tượng sau đã tồn tại trong cơ sở dữ liệu đích.
Vui lòng nhập tên mới, duy nhất, hoặc nhấn &apos;%1&apos; để hủy thao tác:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1511"/>
        <source>SQL statements conversion</source>
        <translation>Chuyển đổi câu lệnh SQL</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1519"/>
        <source>Following error occurred while converting SQL statements to the target SQLite version:</source>
        <translation>Lỗi sau đã xảy ra khi chuyển đổi các câu lệnh SQL sang phiên bản SQLite đích:</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreemodel.cpp" line="1520"/>
        <source>Would you like to ignore those errors and proceed?</source>
        <translation>Bạn có muốn bỏ qua các lỗi đó và tiếp tục không?</translation>
    </message>
</context>
<context>
    <name>DdlHistoryWindow</name>
    <message>
        <location filename="../windows/ddlhistorywindow.ui" line="35"/>
        <source>Filter by database:</source>
        <translation>Lọc theo cơ sở dữ liệu:</translation>
    </message>
    <message>
        <location filename="../windows/ddlhistorywindow.ui" line="55"/>
        <source>Clear entire history</source>
        <translation>Xóa toàn bộ lịch sử</translation>
    </message>
    <message>
        <location filename="../windows/ddlhistorywindow.cpp" line="71"/>
        <source>-- Queries executed on database %1 (%2)
-- Date and time of execution: %3
%4</source>
        <translation>-- Các truy vấn đã thực thi trên cơ sở dữ liệu %1 (%2)
-- Ngày và giờ thực thi: %3
%4</translation>
    </message>
    <message>
        <location filename="../windows/ddlhistorywindow.cpp" line="97"/>
        <source>Clear history</source>
        <translation>Xóa lịch sử</translation>
    </message>
    <message>
        <location filename="../windows/ddlhistorywindow.cpp" line="97"/>
        <source>Are you sure you want to erase entire DDL history?</source>
        <translation>Bạn có chắc chắn muốn xóa toàn bộ lịch sử DDL không?</translation>
    </message>
    <message>
        <location filename="../windows/ddlhistorywindow.cpp" line="129"/>
        <source>DDL history</source>
        <translation>Lịch sử DDL</translation>
    </message>
</context>
<context>
    <name>DdlPreviewDialog</name>
    <message>
        <location filename="../dialogs/ddlpreviewdialog.ui" line="14"/>
        <source>Queries to be executed</source>
        <translation>Truy vấn sẽ được thực thi</translation>
    </message>
    <message>
        <location filename="../dialogs/ddlpreviewdialog.ui" line="42"/>
        <source>Don&apos;t show again</source>
        <translation>Không&apos; hiển thị lại</translation>
    </message>
    <message>
        <location filename="../dialogs/ddlpreviewdialog.ui" line="49"/>
        <source>Opens the DDL in the SQL Editor without executing it.</source>
        <translation>Mở DDL trong Trình soạn thảo SQL mà không thực thi.</translation>
    </message>
    <message>
        <location filename="../dialogs/ddlpreviewdialog.ui" line="52"/>
        <source>Open in editor</source>
        <translation>Mở trong trình soạn thảo</translation>
    </message>
</context>
<context>
    <name>DebugConsole</name>
    <message>
        <location filename="../debugconsole.ui" line="14"/>
        <source>Letos Debug Console</source>
        <translation>Bảng điều khiển gỡ lỗi Letos</translation>
    </message>
</context>
<context>
    <name>EditorWindow</name>
    <message>
        <location filename="../windows/editorwindow.ui" line="14"/>
        <source>SQL editor</source>
        <translation>Trình soạn thảo SQL</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.ui" line="43"/>
        <source>Query</source>
        <translation>Truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.ui" line="134"/>
        <source>History</source>
        <translation>Lịch sử</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="203"/>
        <location filename="../windows/editorwindow.cpp" line="205"/>
        <source>SQL editor %1</source>
        <translation>Trình soạn thảo SQL %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.ui" line="99"/>
        <location filename="../windows/editorwindow.cpp" line="420"/>
        <source>Results</source>
        <translation>Kết quả</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="471"/>
        <source>Execute query</source>
        <translation>Thực thi truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="472"/>
        <source>Explain query</source>
        <translation>Giải thích truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="493"/>
        <source>Clear execution history</source>
        <comment>sql editor</comment>
        <translation>Xóa lịch sử thực thi</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="499"/>
        <source>Focus results on the same tab</source>
        <comment>sql editor</comment>
        <translation>Đưa tiêu điểm vào kết quả trên cùng thẻ</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="500"/>
        <source>Focus SQL editor on the same tab</source>
        <comment>sql editor</comment>
        <translation>Đưa tiêu điểm vào trình soạn thảo SQL trên cùng thẻ</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="505"/>
        <source>Export results</source>
        <comment>sql editor</comment>
        <translation>Xuất kết quả</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="487"/>
        <source>Create view from query</source>
        <comment>sql editor</comment>
        <translation>Tạo view từ truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="474"/>
        <source>Commit</source>
        <translation>Xác nhận</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="475"/>
        <source>Rollback</source>
        <translation>Hoàn tác</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="489"/>
        <source>Previous database</source>
        <translation>Cơ sở dữ liệu trước</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="490"/>
        <source>Next database</source>
        <translation>Cơ sở dữ liệu tiếp theo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="494"/>
        <source>Export execution history</source>
        <comment>sql editor</comment>
        <translation>Xuất lịch sử thực thi</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="497"/>
        <source>Show next tab</source>
        <comment>sql editor</comment>
        <translation>Hiển thị thẻ tiếp theo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="498"/>
        <source>Show previous tab</source>
        <comment>sql editor</comment>
        <translation>Hiển thị thẻ trước</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="501"/>
        <source>Export selected SQL history entries</source>
        <comment>sql editor</comment>
        <translation>Xuất các mục lịch sử SQL đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="502"/>
        <source>Delete selected SQL history entries</source>
        <comment>sql editor</comment>
        <translation>Xóa các mục lịch sử SQL đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="503"/>
        <source>Execute single query under cursor</source>
        <translation>Thực thi truy vấn đơn dưới con trỏ</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="504"/>
        <source>Execute all queries in editor</source>
        <translation>Thực thi tất cả truy vấn trong trình soạn thảo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="525"/>
        <source>Results layout: Separate tab</source>
        <comment>sql editor</comment>
        <translation>Bố cục kết quả: Thẻ riêng</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="526"/>
        <source>Results layout: Below editor</source>
        <comment>sql editor</comment>
        <translation>Bố cục kết quả: Bên dưới trình soạn thảo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="527"/>
        <source>Results layout: Right of editor</source>
        <comment>sql editor</comment>
        <translation>Bố cục kết quả: Bên phải trình soạn thảo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="542"/>
        <location filename="../windows/editorwindow.cpp" line="543"/>
        <source>Explain mode: %1</source>
        <comment>sql editor</comment>
        <translation>Chế độ giải thích: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="563"/>
        <source>Auto-commit queries</source>
        <comment>sql editor</comment>
        <translation>Tự động xác nhận truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="580"/>
        <source>Editor window settings</source>
        <comment>sql editor</comment>
        <translation>Thiết lập cửa sổ trình soạn thảo</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="628"/>
        <source>Active database (%1/%2)</source>
        <translation>Cơ sở dữ liệu hoạt động (%1/%2)</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="777"/>
        <source>Save to file</source>
        <translation>Lưu vào tệp</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="788"/>
        <source>Could not open file &apos;%1&apos; for writing: %2</source>
        <translation>Không thể mở tệp &apos;%1&apos; để ghi: %2</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="808"/>
        <source>Saved SQL contents to file: %1</source>
        <translation>Đã lưu nội dung SQL vào tệp: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="831"/>
        <source>Failed to switch journal_mode to WAL. Manual commit mode is unavailable. Error: %1</source>
        <translation>Không thể chuyển journal_mode sang WAL. Chế độ xác nhận thủ công không khả dụng. Lỗi: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="842"/>
        <source>Failed to open new database connection. Manual commit mode will not be enabled. Error: %1</source>
        <translation>Không thể mở kết nối cơ sở dữ liệu mới. Chế độ xác nhận thủ công sẽ không được bật. Lỗi: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="845"/>
        <source>The joirnal_mode will be switched back to %1.</source>
        <translation>Chế độ joirnal_mode sẽ được chuyển lại về %1.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="969"/>
        <source>Query finished in %1 second(s). Rows affected: %2</source>
        <translation>Truy vấn hoàn tất trong %1 giây(s). Số hàng bị ảnh hưởng: %2</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="973"/>
        <source>Query finished in %1 second(s).</source>
        <translation>Truy vấn hoàn tất trong %1 giây(s).</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1104"/>
        <source>Clear execution history</source>
        <translation>Xóa lịch sử thực thi</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1104"/>
        <source>Are you sure you want to erase the entire SQL execution history? This cannot be undone.</source>
        <translation>Bạn có chắc chắn muốn xóa toàn bộ lịch sử thực thi SQL không? Thao tác này không thể hoàn tác.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1142"/>
        <source>Cannot export, because no export plugin is loaded.</source>
        <translation>Không thể xuất vì không có plugin xuất nào được tải.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1170"/>
        <source>Query auto-commit is now enabled in: %1</source>
        <comment>sql editor</comment>
        <translation>Tự động commit truy vấn hiện đã được bật trong: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1172"/>
        <source>Query auto-commit is now disabled in: %1</source>
        <comment>sql editor</comment>
        <translation>Tự động commit truy vấn hiện đã bị tắt trong: %1</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1230"/>
        <location filename="../windows/editorwindow.cpp" line="1234"/>
        <source>Apply changes to the transaction</source>
        <translation>Áp dụng thay đổi vào giao dịch</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1231"/>
        <location filename="../windows/editorwindow.cpp" line="1235"/>
        <source>Discard changes in data view</source>
        <translation>Hủy bỏ thay đổi trong khung nhìn dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1232"/>
        <source>Apply selected changes to the transaction</source>
        <translation>Áp dụng các thay đổi đã chọn vào giao dịch</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1233"/>
        <source>Discard changes in selected cells</source>
        <translation>Hủy bỏ thay đổi trong các ô đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1274"/>
        <source>Cannot change database while having pending manual transaction. Please commit or rollback the transaction before changing the database.</source>
        <translation>Không thể thay đổi cơ sở dữ liệu khi có giao dịch thủ công đang chờ. Vui lòng commit hoặc rollback giao dịch trước khi thay đổi cơ sở dữ liệu.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1314"/>
        <source>Manual transaction committed successfully.</source>
        <translation>Giao dịch thủ công đã được commit thành công.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1343"/>
        <source>Manual transaction rolled back.</source>
        <translation>Giao dịch thủ công đã được rollback.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1386"/>
        <source>No database selected in the SQL editor. Cannot create a view for unknown database.</source>
        <translation>Chưa chọn cơ sở dữ liệu trong trình soạn thảo SQL. Không thể tạo view cho cơ sở dữ liệu không xác định.</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="1436"/>
        <source>Editor window &quot;%1&quot; has uncommitted data.</source>
        <translation>Cửa sổ trình soạn thảo &quot;%1&quot; có dữ liệu chưa commit.</translation>
    </message>
</context>
<context>
    <name>ErrorsConfirmDialog</name>
    <message>
        <location filename="../dialogs/errorsconfirmdialog.ui" line="14"/>
        <source>Errors</source>
        <translation>Lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/errorsconfirmdialog.ui" line="20"/>
        <source>Following errors occurred:</source>
        <translation>Đã xảy ra các lỗi sau:</translation>
    </message>
    <message>
        <location filename="../dialogs/errorsconfirmdialog.ui" line="34"/>
        <source>Would you like to proceed?</source>
        <translation>Bạn có muốn tiếp tục không?</translation>
    </message>
</context>
<context>
    <name>ExecFromFileDialog</name>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="14"/>
        <source>Execute SQL from file</source>
        <translation>Thực thi SQL từ tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="23"/>
        <source>Input file</source>
        <translation>Tệp đầu vào</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="29"/>
        <source>Path to file</source>
        <translation>Đường dẫn tới tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="36"/>
        <source>Browse for file</source>
        <translation>Duyệt tìm tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="53"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="65"/>
        <source>Options</source>
        <translation>Tùy chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="71"/>
        <source>File encoding</source>
        <translation>Mã hóa tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="81"/>
        <source>Skip failing SQL statements</source>
        <translation>Bỏ qua các câu lệnh SQL lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="94"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Any content that is not valid SQL will cause a statement to fail.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bất kỳ nội dung nào không phải SQL hợp lệ sẽ khiến câu lệnh thất bại.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="104"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Allows dot commands (used by official SQLite CLI application) in the file.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cho phép các lệnh dấu chấm (được ứng dụng SQLite CLI chính thức sử dụng) trong tệp.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="114"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Allows dot commands (used by official SQLite CLI application) in the file and even executes some of them (i.e. .print and .read). All other dot commands are ignored.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cho phép các lệnh dấu chấm (được ứng dụng SQLite CLI chính thức sử dụng) trong tệp và thậm chí thực thi một số lệnh trong đó (ví dụ .print và .read). Tất cả lệnh dấu chấm khác bị bỏ qua.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="97"/>
        <source>Strict (only SQL content allowed)</source>
        <translation>Nghiêm ngặt (chỉ cho phép nội dung SQL)</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="88"/>
        <source>Execution mode</source>
        <translation>Chế độ thực thi</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="107"/>
        <source>Permissive (dot commands ignored)</source>
        <translation>Dễ dãi (bỏ qua lệnh dấu chấm)</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.ui" line="117"/>
        <source>Extended (dot commands executed)</source>
        <translation>Mở rộng (thực thi lệnh dấu chấm)</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.cpp" line="148"/>
        <source>SQL scripts (*.sql);;All files (*)</source>
        <translation>Tập lệnh SQL (*.sql);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.cpp" line="149"/>
        <source>Execute SQL file</source>
        <translation>Thực thi tệp SQL</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.cpp" line="164"/>
        <source>Please provide file to be executed.</source>
        <translation>Vui lòng cung cấp tệp cần thực thi.</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.cpp" line="173"/>
        <source>Provided file does not exist or cannot be read.</source>
        <translation>Tệp đã cung cấp không tồn tại hoặc không thể đọc.</translation>
    </message>
    <message>
        <location filename="../dialogs/execfromfiledialog.cpp" line="185"/>
        <source>Select a database to execute the SQL file on.</source>
        <translation>Chọn cơ sở dữ liệu để thực thi tệp SQL trên đó.</translation>
    </message>
</context>
<context>
    <name>ExportDialog</name>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="14"/>
        <source>Export</source>
        <translation>Xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="24"/>
        <source>What do you want to export?</source>
        <translation>Bạn muốn xuất gì?</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="39"/>
        <source>A database</source>
        <translation>Một cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="49"/>
        <source>A single table</source>
        <translation>Một bảng đơn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="56"/>
        <source>A single view</source>
        <translation>Một view đơn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="63"/>
        <source>Query results</source>
        <translation>Kết quả truy vấn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="75"/>
        <source>Table to export</source>
        <translation>Bảng cần xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="110"/>
        <location filename="../dialogs/exportdialog.ui" line="234"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="117"/>
        <source>Table</source>
        <translation>Bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="134"/>
        <location filename="../dialogs/exportdialog.ui" line="258"/>
        <source>Options</source>
        <translation>Tùy chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="140"/>
        <location filename="../dialogs/exportdialog.ui" line="264"/>
        <source>When this option is unchecked, then only table DDL (CREATE TABLE statement) is exported.</source>
        <translation>Khi tùy chọn này không được chọn, chỉ DDL của bảng (câu lệnh CREATE TABLE) được xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="143"/>
        <source>Export table data</source>
        <translation>Xuất dữ liệu bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="153"/>
        <source>Export table indexes</source>
        <translation>Xuất chỉ mục bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="163"/>
        <source>Export table triggers</source>
        <translation>Xuất trigger bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="185"/>
        <source>Note, that exporting table indexes and triggers may be unsupported by some output formats.</source>
        <translation>Lưu ý rằng việc xuất chỉ mục và trigger của bảng có thể không được một số định dạng đầu ra hỗ trợ.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="199"/>
        <source>View to export</source>
        <translation>View cần xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="241"/>
        <source>View</source>
        <translation>Khung nhìn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="267"/>
        <source>Export view data</source>
        <translation>Xuất dữ liệu view</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="277"/>
        <source>Export view triggers</source>
        <translation>Xuất trigger view</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="299"/>
        <source>Note, that exporting view triggers may be unsupported by some output formats.</source>
        <translation>Lưu ý rằng việc xuất trigger của view có thể không được một số định dạng đầu ra hỗ trợ.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="313"/>
        <source>Select database objects to export</source>
        <translation>Chọn đối tượng cơ sở dữ liệu để xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="319"/>
        <source>Export indexes (tables only)</source>
        <translation>Xuất chỉ mục (chỉ bảng)</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="333"/>
        <source>Export data from tables</source>
        <translation>Xuất dữ liệu từ bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="343"/>
        <source>Select all</source>
        <translation>Chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="374"/>
        <source>Export data from views</source>
        <translation>Xuất dữ liệu từ view</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="326"/>
        <source>Deselect all</source>
        <translation>Bỏ chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="350"/>
        <source>Export triggers (tables and views)</source>
        <translation>Xuất trigger (bảng và view)</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="360"/>
        <location filename="../dialogs/exportdialog.ui" line="394"/>
        <source>Database:</source>
        <translation>Cơ sở dữ liệu:</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="382"/>
        <source>Query to export results for</source>
        <translation>Truy vấn để xuất kết quả</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="401"/>
        <source>Query to be executed for results:</source>
        <translation>Truy vấn sẽ được thực thi cho kết quả:</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="409"/>
        <source>Export format and options</source>
        <translation>Định dạng xuất và tùy chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="463"/>
        <source>Export format</source>
        <translation>Định dạng xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="475"/>
        <source>Output</source>
        <translation>Đầu ra</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="481"/>
        <source>Exported file path</source>
        <translation>Đường dẫn tệp đã xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="488"/>
        <source>Clipboard</source>
        <translation>Bảng tạm</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="502"/>
        <source>File</source>
        <translation>Tệp</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="527"/>
        <source>Exported text encoding:</source>
        <translation>Mã hóa văn bản đã xuất:</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.ui" line="543"/>
        <source>Export format options</source>
        <translation>Tùy chọn định dạng xuất</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="69"/>
        <source>Cancel</source>
        <translation>Hủy</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="197"/>
        <location filename="../dialogs/exportdialog.cpp" line="221"/>
        <location filename="../dialogs/exportdialog.cpp" line="246"/>
        <location filename="../dialogs/exportdialog.cpp" line="271"/>
        <source>Select database to export.</source>
        <translation>Chọn cơ sở dữ liệu để xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="198"/>
        <source>Select table to export.</source>
        <translation>Chọn bảng để xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="222"/>
        <source>Select view to export.</source>
        <translation>Chọn view để xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="247"/>
        <source>Enter valid query to export.</source>
        <translation>Nhập truy vấn hợp lệ để xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="272"/>
        <source>Select at least one object to export.</source>
        <translation>Chọn ít nhất một đối tượng để xuất.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="295"/>
        <source>You must provide a file name to export to.</source>
        <translation>Bạn phải cung cấp tên tệp để xuất vào.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="302"/>
        <source>Path you provided is an existing directory. You cannot overwrite it.</source>
        <translation>Đường dẫn bạn cung cấp là một thư mục hiện có. Bạn không thể ghi đè lên nó.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="308"/>
        <source>The directory &apos;%1&apos; does not exist.</source>
        <translation>Thư mục &apos;%1&apos; không tồn tại.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="314"/>
        <source>The file &apos;%1&apos; exists and will be overwritten.</source>
        <translation>Tệp &apos;%1&apos; tồn tại và sẽ bị ghi đè.</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="555"/>
        <source>All files (*)</source>
        <translation>Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="558"/>
        <source>Pick file to export to</source>
        <translation>Chọn tệp để xuất vào</translation>
    </message>
    <message>
        <location filename="../dialogs/exportdialog.cpp" line="985"/>
        <source>Internal error during export. This is a bug. Please report it.</source>
        <translation>Lỗi nội bộ trong khi xuất. Đây là lỗi phần mềm. Vui lòng báo cáo lỗi này.</translation>
    </message>
</context>
<context>
    <name>FileExecErrorsDialog</name>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="14"/>
        <source>Execution errors</source>
        <translation>Lỗi thực thi</translation>
    </message>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="26"/>
        <source>Following errors were encountered during execution of SQL statements from the file:</source>
        <translation>Đã gặp các lỗi sau trong khi thực thi các câu lệnh SQL từ tệp:</translation>
    </message>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="49"/>
        <source>SQL</source>
        <translation>Mã SQL</translation>
    </message>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="54"/>
        <source>Error</source>
        <translation>Lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="68"/>
        <source>Statements that were executed successfully were commited.</source>
        <translation>Các câu lệnh đã thực thi thành công đã được commit.</translation>
    </message>
    <message>
        <location filename="../dialogs/fileexecerrorsdialog.ui" line="81"/>
        <source>Statements that were executed successfully were rolled back.</source>
        <translation>Các câu lệnh đã thực thi thành công đã được rollback.</translation>
    </message>
</context>
<context>
    <name>FkComboBox</name>
    <message>
        <location filename="../datagrid/fkcombobox.cpp" line="375"/>
        <source>Cannot edit this cell. Details: %1</source>
        <translation>Không thể sửa ô này. Chi tiết: %1</translation>
    </message>
</context>
<context>
    <name>FontEdit</name>
    <message>
        <location filename="../common/fontedit.cpp" line="61"/>
        <source>Choose font</source>
        <comment>font configuration</comment>
        <translation>Chọn phông chữ</translation>
    </message>
</context>
<context>
    <name>Form</name>
    <message>
        <location filename="../forms/sqlformatterplugin.ui" line="20"/>
        <source>Active SQL formatter plugin</source>
        <translation>Plugin định dạng SQL đang hoạt động</translation>
    </message>
</context>
<context>
    <name>FormView</name>
    <message>
        <location filename="../formview.cpp" line="287"/>
        <source>Commit row</source>
        <comment>form view</comment>
        <translation>Commit hàng</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="288"/>
        <source>Rollback row</source>
        <comment>form view</comment>
        <translation>Rollback hàng</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="289"/>
        <source>First row</source>
        <comment>form view</comment>
        <translation>Hàng đầu tiên</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="290"/>
        <source>Previous row</source>
        <comment>form view</comment>
        <translation>Hàng trước</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="291"/>
        <source>Next row</source>
        <comment>form view</comment>
        <translation>Hàng tiếp theo</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="292"/>
        <source>Last row</source>
        <comment>form view</comment>
        <translation>Hàng cuối</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="293"/>
        <source>Insert new row</source>
        <comment>form view</comment>
        <translation>Chèn hàng mới</translation>
    </message>
    <message>
        <location filename="../formview.cpp" line="294"/>
        <source>Delete current row</source>
        <comment>form view</comment>
        <translation>Xóa hàng hiện tại</translation>
    </message>
</context>
<context>
    <name>FunctionsEditor</name>
    <message>
        <location filename="../windows/functionseditor.ui" line="84"/>
        <source>Filter functions</source>
        <translation>Lọc hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="172"/>
        <source>Input arguments</source>
        <translation>Đối số đầu vào</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="178"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You can define the function parameters here. The specified names are available as variables in the implementation code and contain the values passed to the function. Arguments are also accessible through the language’s standard argument container (e.g. &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; in Tcl or &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;arguments&lt;/span&gt; in JavaScript).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bạn có thể định nghĩa các tham số của hàm tại đây. Các tên đã chỉ định có sẵn dưới dạng biến trong mã triển khai và chứa các giá trị được truyền vào hàm. Đối số cũng có thể truy cập thông qua bộ chứa đối số chuẩn của ngôn ngữ (ví dụ &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; trong Tcl hoặc &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;arguments&lt;/span&gt; trong JavaScript).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="207"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicates that the function accepts a variable number of arguments. In this mode arguments are available only through the language-specific mechanism (e.g. &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; in Tcl or &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;arguments&lt;/span&gt; in JavaScript).&lt;br/&gt;If disabled, arguments are defined below and their names are also available as variables in the implementation code, while still remaining accessible through the language’s standard argument container.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cho biết hàm chấp nhận số lượng đối số biến đổi. Trong chế độ này, đối số chỉ có sẵn thông qua cơ chế riêng của ngôn ngữ (ví dụ &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; trong Tcl hoặc &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;arguments&lt;/span&gt; trong JavaScript).&lt;br/&gt;Nếu bị tắt, đối số được định nghĩa bên dưới và tên của chúng cũng có sẵn dưới dạng biến trong mã triển khai, đồng thời vẫn có thể truy cập thông qua bộ chứa đối số chuẩn của ngôn ngữ.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="210"/>
        <source>Undefined</source>
        <translation>Chưa xác định</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="226"/>
        <source>Databases</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="232"/>
        <source>Register in all databases</source>
        <translation>Đăng ký trong tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="239"/>
        <source>Register in following databases:</source>
        <translation>Đăng ký trong các cơ sở dữ liệu sau:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="274"/>
        <source>Type:</source>
        <translation>Kiểu:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="281"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Selects the language used to implement the function. The chosen language determines how the function code is interpreted and which syntax, variables, and runtime environment are available in the implementation blocks.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Chọn ngôn ngữ dùng để triển khai hàm. Ngôn ngữ đã chọn xác định cách diễn giải mã hàm cũng như cú pháp, biến và môi trường chạy nào có sẵn trong các khối triển khai.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="288"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Selects the type of function being implemented. The selected type determines how SQLite invokes the function and which implementation blocks must be provided: a single code block for scalar functions, step-based processing for aggregate functions, or additional window-frame handling (including inverse step) for window aggregate functions.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Chọn kiểu hàm đang được triển khai. Kiểu đã chọn xác định cách SQLite gọi hàm và các khối triển khai phải được cung cấp: một khối mã duy nhất cho hàm scalar, xử lý theo bước cho hàm aggregate, hoặc xử lý khung cửa sổ bổ sung (bao gồm bước đảo ngược) cho hàm window aggregate.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="295"/>
        <source>Function name:</source>
        <translation>Tên hàm:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="305"/>
        <source>Implementation language:</source>
        <translation>Ngôn ngữ triển khai:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="312"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Indicates that the function always returns the same result for the same input arguments. Required for use in some schema expressions (e.g. CHECK constraints, partial indexes, expression indexes, generated columns) and may allow SQLite to apply additional optimizations.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cho biết rằng hàm luôn trả về cùng một kết quả cho cùng các đối số đầu vào. Bắt buộc để sử dụng trong một số biểu thức lược đồ (ví dụ: ràng buộc CHECK, chỉ mục một phần, chỉ mục biểu thức, cột được tạo) và có thể cho phép SQLite áp dụng các tối ưu hóa bổ sung.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="315"/>
        <source>Deterministic</source>
        <translation>Tất định</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="336"/>
        <source>Function code</source>
        <translation>Mã hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="342"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Code executed when the function is called. It receives the function arguments and must compute and return the result. Parameter values are available as variables named the same as the declared function parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Mã được thực thi khi hàm được gọi. Nó nhận các đối số của hàm và phải tính toán rồi trả về kết quả. Giá trị tham số có sẵn dưới dạng các biến được đặt tên giống với các tham số hàm đã khai báo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="353"/>
        <source>Initialization</source>
        <translation>Khởi tạo</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="359"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Code executed once before the first aggregation step. Use it to initialize variables that store the aggregation state. Parameter values are available as variables named the same as the declared function parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Mã được thực thi một lần trước bước tổng hợp đầu tiên. Dùng nó để khởi tạo các biến lưu trữ trạng thái tổng hợp. Giá trị tham số có sẵn dưới dạng các biến được đặt tên giống với các tham số hàm đã khai báo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="370"/>
        <source>Step</source>
        <translation>Bước</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="376"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Code executed for each input row. It should update the aggregation state using the current arguments. Parameter values are available as variables named the same as the declared function parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Mã được thực thi cho mỗi hàng đầu vào. Nó nên cập nhật trạng thái tổng hợp bằng các đối số hiện tại. Giá trị tham số có sẵn dưới dạng các biến được đặt tên giống với các tham số hàm đã khai báo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="387"/>
        <source>Inverse</source>
        <translation>Đảo ngược</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="393"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Code executed when a row leaves the window frame. The parameter values correspond to the row being removed from the window and should be used to subtract its contribution from the aggregation state. Parameter values are available as variables named the same as the declared function parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Mã được thực thi khi một hàng rời khỏi khung cửa sổ. Các giá trị tham số tương ứng với hàng đang bị loại khỏi cửa sổ và nên được dùng để trừ phần đóng góp của hàng đó khỏi trạng thái tổng hợp. Giá trị tham số có sẵn dưới dạng các biến được đặt tên giống với các tham số hàm đã khai báo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="404"/>
        <source>Aggregated value</source>
        <translation>Giá trị đã tổng hợp</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.ui" line="410"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Code that computes and returns the aggregated result based on the current aggregation state. In window functions it may be executed multiple times to return the current window value. In regular aggregate functions it is called once as the final function. Parameter values are available as variables named the same as the declared function parameters.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Mã tính toán và trả về kết quả đã tổng hợp dựa trên trạng thái tổng hợp hiện tại. Trong các hàm cửa sổ, nó có thể được thực thi nhiều lần để trả về giá trị cửa sổ hiện tại. Trong các hàm tổng hợp thông thường, nó được gọi một lần như hàm cuối cùng. Giá trị tham số có sẵn dưới dạng các biến được đặt tên giống với các tham số hàm đã khai báo.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="62"/>
        <source>SQL functions editor</source>
        <translation>Trình chỉnh sửa hàm SQL</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="67"/>
        <source>Commit all function changes</source>
        <translation>Xác nhận tất cả thay đổi hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="68"/>
        <source>Rollback all function changes</source>
        <translation>Hoàn tác tất cả thay đổi hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="70"/>
        <source>Create new function</source>
        <translation>Tạo hàm mới</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="71"/>
        <source>Delete selected function</source>
        <translation>Xóa hàm đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="73"/>
        <source>Import functions from file</source>
        <translation>Nhập hàm từ tệp</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="74"/>
        <source>Export functions to file</source>
        <translation>Xuất hàm ra tệp</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="75"/>
        <source>Custom SQL functions manual</source>
        <translation>Hướng dẫn hàm SQL tùy chỉnh</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="78"/>
        <source>Add function argument</source>
        <translation>Thêm đối số hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="79"/>
        <source>Rename function argument</source>
        <translation>Đổi tên đối số hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="80"/>
        <source>Delete function argument</source>
        <translation>Xóa đối số hàm</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="82"/>
        <source>Move function argument up</source>
        <translation>Di chuyển đối số hàm lên</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="83"/>
        <source>Move function argument down</source>
        <translation>Di chuyển đối số hàm xuống</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="540"/>
        <source>Enter a unique, non-empty function name. Duplicate names are allowed if the number of input parameters differs.</source>
        <translation>Nhập tên hàm duy nhất, không trống. Cho phép trùng tên nếu số lượng tham số đầu vào khác nhau.</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="551"/>
        <source>Pick the implementation language.</source>
        <translation>Chọn ngôn ngữ triển khai.</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="569"/>
        <location filename="../windows/functionseditor.cpp" line="579"/>
        <location filename="../windows/functionseditor.cpp" line="580"/>
        <source>Enter a non-empty implementation code.</source>
        <translation>Nhập mã triển khai không trống.</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="629"/>
        <source>argument</source>
        <comment>new function argument name in function editor window</comment>
        <translation>đối số</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="733"/>
        <source>Function argument cannot be empty and it cannot have duplicated name.</source>
        <translation>Đối số hàm không được để trống và không được có tên trùng lặp.</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.cpp" line="800"/>
        <source>Functions editor window has uncommitted modifications.</source>
        <translation>Cửa sổ trình chỉnh sửa hàm có các sửa đổi chưa được xác nhận.</translation>
    </message>
</context>
<context>
    <name>FunctionsEditorModel</name>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="261"/>
        <source>all databases</source>
        <translation>tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="266"/>
        <source>Function:</source>
        <translation>Hàm:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="267"/>
        <source>Type:</source>
        <translation>Kiểu:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="268"/>
        <source>Deterministic:</source>
        <translation>Tất định:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="268"/>
        <source>Yes</source>
        <translation>Có</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="268"/>
        <source>No</source>
        <translation>Không</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="269"/>
        <source>Language:</source>
        <translation>Ngôn ngữ:</translation>
    </message>
    <message>
        <location filename="../windows/functionseditormodel.cpp" line="270"/>
        <source>Registered in:</source>
        <translation>Được đăng ký trong:</translation>
    </message>
</context>
<context>
    <name>ImportDialog</name>
    <message>
        <location filename="../dialogs/importdialog.ui" line="14"/>
        <source>Import data</source>
        <translation>Nhập dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="171"/>
        <source>Table to import to</source>
        <translation>Bảng để nhập vào</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="186"/>
        <source>Table</source>
        <translation>Bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="193"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="24"/>
        <source>Data source to import from</source>
        <translation>Nguồn dữ liệu để nhập từ</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="69"/>
        <source>Data source type</source>
        <translation>Kiểu nguồn dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="81"/>
        <source>Options</source>
        <translation>Tùy chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="115"/>
        <source>Text encoding:</source>
        <translation>Mã hóa văn bản:</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="122"/>
        <source>Input file:</source>
        <translation>Tệp đầu vào:</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="132"/>
        <source>&lt;p&gt;If enabled, any constraint violation, or invalid data format (wrong column count), or any other problem encountered during import will be ignored and the importing will be continued.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Nếu được bật, mọi vi phạm ràng buộc, định dạng dữ liệu không hợp lệ (sai số cột), hoặc bất kỳ vấn đề nào khác gặp phải trong khi nhập sẽ bị bỏ qua và việc nhập sẽ tiếp tục.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="135"/>
        <source>Ignore errors</source>
        <translation>Bỏ qua lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.ui" line="145"/>
        <source>Data source options</source>
        <translation>Tùy chọn nguồn dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="131"/>
        <source>Cancel</source>
        <translation>Hủy</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="162"/>
        <source>If you type table name that doesn&apos;t exist, it will be created.</source>
        <translation>Nếu bạn nhập tên bảng không&apos; tồn tại, bảng đó sẽ được tạo.</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="162"/>
        <source>Enter the table name</source>
        <translation>Nhập tên bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="180"/>
        <source>Select import plugin.</source>
        <translation>Chọn plugin nhập.</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="189"/>
        <source>You must provide a file to import from.</source>
        <translation>Bạn phải cung cấp tệp để nhập từ đó.</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="196"/>
        <source>The file &apos;%1&apos; does not exist.</source>
        <translation>Tệp &apos;%1&apos; không tồn tại.</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="202"/>
        <source>Path you provided is a directory. A regular file is required.</source>
        <translation>Đường dẫn bạn cung cấp là một thư mục. Cần một tệp thông thường.</translation>
    </message>
    <message>
        <location filename="../dialogs/importdialog.cpp" line="395"/>
        <source>Pick file to import from</source>
        <translation>Chọn tệp để nhập từ đó</translation>
    </message>
</context>
<context>
    <name>IndexDialog</name>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="20"/>
        <location filename="../dialogs/indexdialog.ui" line="30"/>
        <source>Index</source>
        <translation>Chỉ mục</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="70"/>
        <source>Column</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="75"/>
        <source>Sort</source>
        <translation>Sắp xếp</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="80"/>
        <source>Collation</source>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="88"/>
        <source>On table:</source>
        <translation>Trên bảng:</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="98"/>
        <source>Delete selected indexed expression</source>
        <translation>Xóa biểu thức được lập chỉ mục đã chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="108"/>
        <source>Moves selected index column up in the order, making it more significant in the index.</source>
        <translation>Di chuyển cột chỉ mục đã chọn lên trong thứ tự, làm cho nó quan trọng hơn trong chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="118"/>
        <source>Moves selected index column down in the order, making it less significant in the index.</source>
        <translation>Di chuyển cột chỉ mục đã chọn xuống trong thứ tự, làm cho nó ít quan trọng hơn trong chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="128"/>
        <source>Partial index condition</source>
        <translation>Điều kiện chỉ mục một phần</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="135"/>
        <source>Unique index</source>
        <translation>Chỉ mục duy nhất</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="142"/>
        <source>Index name:</source>
        <translation>Tên chỉ mục:</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="149"/>
        <source>Edit selected indexed expression</source>
        <translation>Sửa biểu thức được lập chỉ mục đã chọn</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="169"/>
        <source>Add indexed expression</source>
        <translation>Thêm biểu thức được lập chỉ mục</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.ui" line="180"/>
        <source>DDL</source>
        <translation>DDL (định nghĩa dữ liệu)</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="73"/>
        <source>Tried to open index dialog for closed or inexisting database.</source>
        <translation>Đã cố mở hộp thoại chỉ mục cho cơ sở dữ liệu đã đóng hoặc không tồn tại.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="143"/>
        <source>Could not process index %1 correctly. Unable to open an index dialog.</source>
        <translation>Không thể xử lý đúng chỉ mục %1. Không thể mở hộp thoại chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="196"/>
        <source>Pick the table for the index.</source>
        <translation>Chọn bảng cho chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="197"/>
        <source>Select at least one column.</source>
        <translation>Chọn ít nhất một cột.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="198"/>
        <source>Enter a valid condition.</source>
        <translation>Nhập một điều kiện hợp lệ.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="270"/>
        <source>default</source>
        <comment>index dialog</comment>
        <translation>mặc định</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="274"/>
        <source>Sort order</source>
        <comment>table constraints</comment>
        <translation>Thứ tự sắp xếp</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="768"/>
        <location filename="../dialogs/indexdialog.cpp" line="781"/>
        <source>Error</source>
        <comment>index dialog</comment>
        <translation>Lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="769"/>
        <source>Cannot create unique index, because values in selected columns are not unique. Would you like to execute SELECT query to see problematic values?</source>
        <translation>Không thể tạo chỉ mục duy nhất vì các giá trị trong những cột đã chọn không duy nhất. Bạn có muốn thực thi truy vấn SELECT để xem các giá trị gây vấn đề không?</translation>
    </message>
    <message>
        <location filename="../dialogs/indexdialog.cpp" line="781"/>
        <source>An error occurred while executing SQL statements:
%1</source>
        <translation>Đã xảy ra lỗi khi thực thi các câu lệnh SQL:
%1</translation>
    </message>
</context>
<context>
    <name>IndexExprColumnDialog</name>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.ui" line="14"/>
        <source>Indexed expression</source>
        <translation>Biểu thức được lập chỉ mục</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.ui" line="20"/>
        <source>Expression to index</source>
        <translation>Biểu thức để lập chỉ mục</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="60"/>
        <source>This expression is already indexed by the index.</source>
        <translation>Biểu thức này đã được lập chỉ mục bởi chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="66"/>
        <source>Column should be indexed directly, not by expression. Either extend this expression to contain something more than just column name, or abort and select this column in index dialog directly.</source>
        <translation>Cột nên được lập chỉ mục trực tiếp, không phải bằng biểu thức. Hãy mở rộng biểu thức này để chứa nhiều hơn chỉ tên cột, hoặc hủy và chọn trực tiếp cột này trong hộp thoại chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="76"/>
        <source>Column &apos;%1&apos; does not belong to the table covered by this index. Indexed expressions can refer only to columns from the indexed table.</source>
        <translation>Cột &apos;%1&apos; không thuộc bảng được chỉ mục này bao phủ. Biểu thức được lập chỉ mục chỉ có thể tham chiếu đến các cột từ bảng được lập chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="84"/>
        <source>It&apos;s forbidden to use &apos;SELECT&apos; statements in indexed expressions.</source>
        <translation>Không&apos; được phép dùng các câu lệnh &apos;SELECT&apos; trong biểu thức được lập chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="105"/>
        <source>Enter an indexed expression.</source>
        <translation>Nhập một biểu thức được lập chỉ mục.</translation>
    </message>
    <message>
        <location filename="../dialogs/indexexprcolumndialog.cpp" line="119"/>
        <source>Invalid expression.</source>
        <translation>Biểu thức không hợp lệ.</translation>
    </message>
</context>
<context>
    <name>LanguageDialog</name>
    <message>
        <location filename="../dialogs/languagedialog.ui" line="14"/>
        <source>Language</source>
        <translation>Ngôn ngữ</translation>
    </message>
    <message>
        <location filename="../dialogs/languagedialog.ui" line="20"/>
        <source>Please choose language:</source>
        <translation>Vui lòng chọn ngôn ngữ:</translation>
    </message>
</context>
<context>
    <name>MainWindow</name>
    <message>
        <location filename="../mainwindow.ui" line="81"/>
        <source>Database toolbar</source>
        <translation>Thanh công cụ cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.ui" line="92"/>
        <source>Structure toolbar</source>
        <translation>Thanh công cụ cấu trúc</translation>
    </message>
    <message>
        <location filename="../mainwindow.ui" line="103"/>
        <source>Tools</source>
        <translation>Công cụ</translation>
    </message>
    <message>
        <location filename="../mainwindow.ui" line="120"/>
        <source>Window list</source>
        <translation>Danh sách cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.ui" line="134"/>
        <source>View toolbar</source>
        <translation>Thanh công cụ xem</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="145"/>
        <source>Configuration widgets</source>
        <translation>Tiện ích cấu hình</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="146"/>
        <source>Syntax highlighting engines</source>
        <translation>Bộ máy tô sáng cú pháp</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="147"/>
        <source>Data editors</source>
        <translation>Trình chỉnh sửa dữ liệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="160"/>
        <source>Running in debug mode. Press %1 or use &apos;Help / Open debug console&apos; menu entry to open the debug console.</source>
        <translation>Đang chạy ở chế độ gỡ lỗi. Nhấn %1 hoặc dùng mục menu &apos;Trợ giúp / Mở bảng điều khiển gỡ lỗi&apos; để mở bảng điều khiển gỡ lỗi.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="162"/>
        <source>Running in debug mode. Debug messages are printed to the standard output.</source>
        <translation>Đang chạy ở chế độ gỡ lỗi. Thông báo gỡ lỗi được in ra đầu ra chuẩn.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="272"/>
        <source>You need to restart application to make the language change take effect.</source>
        <translation>Bạn cần khởi động lại ứng dụng để thay đổi ngôn ngữ có hiệu lực.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="317"/>
        <source>Open SQL &amp;editor</source>
        <translation>Mở trình chỉnh sửa &amp;SQL</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="361"/>
        <source>Open DDL &amp;history</source>
        <translation>Mở &amp;lịch sử DDL</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="318"/>
        <source>Open SQL &amp;functions editor</source>
        <translation>Mở trình chỉnh sửa &amp;hàm SQL</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="319"/>
        <source>Open code &amp;snippets editor</source>
        <translation>Mở trình chỉnh sửa đoạn &amp;mã</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="320"/>
        <source>Open &amp;collations editor</source>
        <translation>Mở trình chỉnh sửa đối &amp;chiếu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="321"/>
        <source>Open ex&amp;tension manager</source>
        <translation>Mở trình quản lý phần mở &amp;rộng</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="323"/>
        <source>&amp;Import</source>
        <translation>&amp;Nhập</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="324"/>
        <source>E&amp;xport</source>
        <translation>&amp;Xuất</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="325"/>
        <source>Open confi&amp;guration dialog</source>
        <translation>Mở hộp thoại &amp;cấu hình</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="327"/>
        <source>&amp;Tile windows</source>
        <translation>&amp;Xếp lát cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="328"/>
        <source>Tile windows &amp;horizontally</source>
        <translation>Xếp lát cửa sổ theo &amp;ngang</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="329"/>
        <source>Tile windows &amp;vertically</source>
        <translation>Xếp lát cửa sổ theo &amp;dọc</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="330"/>
        <source>&amp;Cascade windows</source>
        <translation>Xếp &amp;chồng cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="332"/>
        <source>Next window</source>
        <translation>Cửa sổ kế tiếp</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="331"/>
        <source>Previous window</source>
        <translation>Cửa sổ trước</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="335"/>
        <source>Hide status field</source>
        <translation>Ẩn trường trạng thái</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="339"/>
        <source>Close &amp;all windows</source>
        <translation>Đóng &amp;tất cả cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="342"/>
        <source>Re&amp;store recently closed window</source>
        <translation>Khôi phục cửa sổ vừa &amp;đóng</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="337"/>
        <source>Close current &amp;window</source>
        <translation>Đóng cửa sổ &amp;hiện tại</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="148"/>
        <source>Data renderers</source>
        <translation>Bộ hiển thị dữ liệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="338"/>
        <source>Close &amp;other windows</source>
        <translation>Đóng các cửa sổ &amp;khác</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="340"/>
        <source>Close windows on the &amp;left</source>
        <translation>Đóng cửa sổ ở bên &amp;trái</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="341"/>
        <source>Close windows on the &amp;right</source>
        <translation>Đóng cửa sổ ở bên &amp;phải</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="343"/>
        <source>Re&amp;name selected window</source>
        <translation>Đổi &amp;tên cửa sổ đã chọn</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="346"/>
        <source>Open Debug Console</source>
        <translation>Mở bảng điều khiển gỡ lỗi</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="347"/>
        <source>Open CSS Console</source>
        <translation>Mở bảng điều khiển CSS</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="348"/>
        <source>Report a &amp;bug</source>
        <translation>Báo cáo &amp;lỗi</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="349"/>
        <source>D&amp;onate</source>
        <translation>&amp;Quyên góp</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="350"/>
        <source>Propose a new &amp;feature</source>
        <translation>Đề xuất &amp;tính năng mới</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="351"/>
        <source>&amp;About</source>
        <translation>&amp;Giới thiệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="352"/>
        <source>&amp;Licenses</source>
        <translation>&amp;Giấy phép</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="353"/>
        <source>Open home &amp;page</source>
        <translation>Mở trang &amp;chủ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="354"/>
        <source>User &amp;Manual</source>
        <translation>&amp;Hướng dẫn người dùng</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="355"/>
        <source>SQLite &amp;documentation</source>
        <translation>&amp;Tài liệu SQLite</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="356"/>
        <source>Bugs and feature &amp;requests</source>
        <translation>Lỗi và yêu cầu &amp;tính năng</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="357"/>
        <source>Quit</source>
        <translation>Thoát</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="359"/>
        <source>Check for &amp;updates</source>
        <translation>Kiểm tra &amp;cập nhật</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="390"/>
        <source>&amp;Database</source>
        <comment>menubar</comment>
        <translation>&amp;Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="415"/>
        <source>&amp;Structure</source>
        <comment>menubar</comment>
        <translation>&amp;Cấu trúc</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="766"/>
        <source>&amp;View</source>
        <comment>menubar</comment>
        <translation>&amp;Xem</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1450"/>
        <source>The dropped file appears to be a SQLite 2 database, which is not supported by this Letos version. Last version supporting SQLite 2 was 3.2.1.</source>
        <translation>Tệp được thả có vẻ là cơ sở dữ liệu SQLite 2, không được phiên bản Letos này hỗ trợ. Phiên bản cuối cùng hỗ trợ SQLite 2 là 3.2.1.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="441"/>
        <source>Window list</source>
        <comment>menubar view menu</comment>
        <translation>Danh sách cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="333"/>
        <source>Move window earlier</source>
        <translation>Di chuyển cửa sổ lên trước</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="334"/>
        <source>Move window later</source>
        <translation>Di chuyển cửa sổ về sau</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="345"/>
        <source>Open Command Palette</source>
        <translation>Mở Bảng lệnh</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="362"/>
        <source>Export configuration</source>
        <translation>Xuất cấu hình</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="363"/>
        <source>Import configuration</source>
        <translation>Nhập cấu hình</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="382"/>
        <source>arrange</source>
        <comment>command palette entry</comment>
        <translation>sắp xếp</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="471"/>
        <source>&amp;Tools</source>
        <comment>menubar</comment>
        <translation>&amp;Công cụ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="491"/>
        <source>&amp;Help</source>
        <translation>&amp;Trợ giúp</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="703"/>
        <source>Could not set style: %1</source>
        <comment>main window</comment>
        <translation>Không thể đặt kiểu: %1</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="940"/>
        <source>Cannot export, because no export plugin is loaded.</source>
        <translation>Không thể xuất vì chưa tải plugin xuất nào.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="957"/>
        <source>Cannot import, because no import plugin is loaded.</source>
        <translation>Không thể nhập vì chưa tải plugin nhập nào.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1000"/>
        <source>Rename window</source>
        <translation>Đổi tên cửa sổ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1000"/>
        <source>Enter new name for the window:</source>
        <translation>Nhập tên mới cho cửa sổ:</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1110"/>
        <source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
        <translation>Có bản cập nhật mới. &lt;a href=&quot;%1&quot;&gt;Nhấp vào đây để xem chi tiết&lt;/a&gt;.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1116"/>
        <source>You&apos;re running the most recent version. No updates are available.</source>
        <translation>Bạn&apos; đang chạy phiên bản mới nhất. Không có bản cập nhật nào.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1171"/>
        <source>Letos is free and open source. If it helps with your work, consider &lt;a href=&quot;%1&quot;&gt;supporting the project&lt;/a&gt;.</source>
        <translation>Letos là phần mềm miễn phí và mã nguồn mở. Nếu ứng dụng này hữu ích cho công việc của bạn, hãy cân nhắc &lt;a href=&quot;%1&quot;&gt;hỗ trợ dự án&lt;/a&gt;.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1256"/>
        <source>Toolbar &amp;icons</source>
        <comment>menubar</comment>
        <translation>Biểu tượng thanh &amp;công cụ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1263"/>
        <source>Size: %1%</source>
        <comment>toolbar icons</comment>
        <translation>Kích thước: %1%</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1351"/>
        <source>Drop files to open them</source>
        <translation>Thả tệp để mở chúng</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1453"/>
        <source>The dropped file type is unsupported: %1 (%2)</source>
        <translation>Kiểu tệp được thả không được hỗ trợ: %1 (%2)</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1463"/>
        <source>SQLite 3 database - add to database list and open</source>
        <translation>Cơ sở dữ liệu SQLite 3 - thêm vào danh sách cơ sở dữ liệu và mở</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1465"/>
        <source>It may be an encrypted SQLite 3 database. You can try to open it.</source>
        <translation>Đó có thể là cơ sở dữ liệu SQLite 3 được mã hóa. Bạn có thể thử mở nó.</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1467"/>
        <source>Empty file, but also empty SQLite 3 database - open as database</source>
        <translation>Tệp trống, nhưng cũng là cơ sở dữ liệu SQLite 3 trống - mở dưới dạng cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1469"/>
        <source>SQL file - open in SQL Editor</source>
        <translation>Tệp SQL - mở trong Trình chỉnh sửa SQL</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1471"/>
        <source>Text file - open in SQL Editor</source>
        <translation>Tệp văn bản - mở trong Trình chỉnh sửa SQL</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1473"/>
        <source>CSV file - import using Import Dialog</source>
        <translation>Tệp CSV - nhập bằng Hộp thoại nhập</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1475"/>
        <source>SQLite 2 database - not supported anymore</source>
        <translation>Cơ sở dữ liệu SQLite 2 - không còn được hỗ trợ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1477"/>
        <source>Unsupported file type</source>
        <translation>Kiểu tệp không được hỗ trợ</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1576"/>
        <source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
        <translation>Cơ sở dữ liệu được truyền trong tham số dòng lệnh (%1) đã có trong danh sách dưới tên: %2</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1583"/>
        <source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
        <translation>Cơ sở dữ liệu được truyền trong tham số dòng lệnh (%1) đã tạm thời được thêm vào danh sách dưới tên: %2</translation>
    </message>
    <message>
        <location filename="../mainwindow.cpp" line="1588"/>
        <source>Could not add database %1 to list.</source>
        <translation>Không thể thêm cơ sở dữ liệu %1 vào danh sách.</translation>
    </message>
</context>
<context>
    <name>ManualCommitPendingTxDialog</name>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="14"/>
        <source>Pending transaction</source>
        <translation>Giao dịch đang chờ</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="20"/>
        <source>Roll Back Transaction</source>
        <translation>Hoàn tác giao dịch</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="23"/>
        <source>Discard changes made within the transaction and proceed</source>
        <translation>Hủy bỏ các thay đổi được thực hiện trong giao dịch và tiếp tục</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="30"/>
        <source>Commit Transaction</source>
        <translation>Xác nhận giao dịch</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="33"/>
        <source>Save transaction changes and proceed</source>
        <translation>Lưu thay đổi giao dịch và tiếp tục</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="40"/>
        <source>Cancel</source>
        <translation>Hủy</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="43"/>
        <source>Keep the transaction open and stay with the current database</source>
        <translation>Giữ giao dịch mở và ở lại với cơ sở dữ liệu hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="50"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;What would you like to do with this transaction?&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;Bạn muốn làm gì với giao dịch này?&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="64"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;The current database connection (&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;%1&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;) has an active manual transaction with pending changes that have not been committed yet.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Kết nối cơ sở dữ liệu hiện tại (&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;%1&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;) có một giao dịch thủ công đang hoạt động với các thay đổi đang chờ chưa được commit.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
</context>
<context>
    <name>ManualCommitWalModeDialog</name>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="14"/>
        <source>WAL mode for manual commits</source>
        <translation>Chế độ WAL cho commit thủ công</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="20"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;This database (&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;%1&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;) is not currently using WAL (Write-Ahead Logging) journal mode.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;Manual commit mode requires WAL mode to be enabled.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;WAL mode allows other connections and parts of the application to continue reading the database while a write transaction is open. Without WAL mode, an open transaction could block schema refreshes, data browsing and other database operations.&lt;/p&gt;&lt;p&gt;Please note:&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;WAL mode affects the database file itself and will be used by all future connections to this database until changed again with &lt;span style=&quot; font-family:&apos;monospace&apos;;&quot;&gt;PRAGMA journal_mode&lt;/span&gt;.&lt;/li&gt;&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;SQLite still allows only one active write transaction at a time, even in WAL mode.&lt;/li&gt;&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Read more about WAL at &lt;a href=&quot;https://sqlite.org/wal.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#1d99f3;&quot;&gt;https://sqlite.org/wal.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;Cơ sở dữ liệu này (&lt;/span&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;%1&lt;/span&gt;&lt;span style=&quot; font-size:11pt;&quot;&gt;) hiện không sử dụng chế độ nhật ký WAL (Write-Ahead Logging).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;Chế độ commit thủ công yêu cầu bật chế độ WAL.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Chế độ WAL cho phép các kết nối khác và các phần khác của ứng dụng tiếp tục đọc cơ sở dữ liệu trong khi một giao dịch ghi đang mở. Nếu không có chế độ WAL, một giao dịch đang mở có thể chặn việc làm mới lược đồ, duyệt dữ liệu và các thao tác cơ sở dữ liệu khác.&lt;/p&gt;&lt;p&gt;Lưu ý:&lt;/p&gt;&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Chế độ WAL ảnh hưởng đến chính tệp cơ sở dữ liệu và sẽ được mọi kết nối sau này tới cơ sở dữ liệu này sử dụng cho đến khi được thay đổi lại bằng &lt;span style=&quot; font-family:&apos;monospace&apos;;&quot;&gt;PRAGMA journal_mode&lt;/span&gt;.&lt;/li&gt;&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;SQLite vẫn chỉ cho phép một giao dịch ghi đang hoạt động tại một thời điểm, ngay cả trong chế độ WAL.&lt;/li&gt;&lt;li style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Đọc thêm về WAL tại &lt;a href=&quot;https://sqlite.org/wal.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#1d99f3;&quot;&gt;https://sqlite.org/wal.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="43"/>
        <source>Keep current journal mode</source>
        <translation>Giữ chế độ nhật ký hiện tại</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="46"/>
        <source>and use auto-commits</source>
        <translation>và dùng tự động commit</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="53"/>
        <source>Enable WAL mode</source>
        <translation>Bật chế độ WAL</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="56"/>
        <source>and use manual commits</source>
        <translation>và dùng commit thủ công</translation>
    </message>
    <message>
        <location filename="../dialogs/manualcommitwalmodedialog.ui" line="63"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;Do you want to enable WAL mode and continue?&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;Bạn có muốn bật chế độ WAL và tiếp tục không?&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
</context>
<context>
    <name>MdiWindow</name>
    <message>
        <location filename="../mdiwindow.cpp" line="204"/>
        <source>Uncommitted changes</source>
        <translation>Thay đổi chưa được xác nhận</translation>
    </message>
    <message>
        <location filename="../mdiwindow.cpp" line="209"/>
        <source>Close anyway</source>
        <translation>Vẫn đóng</translation>
    </message>
    <message>
        <location filename="../mdiwindow.cpp" line="211"/>
        <source>Don&apos;t close</source>
        <translation>Không&apos; đóng</translation>
    </message>
</context>
<context>
    <name>MultiEditor</name>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="70"/>
        <location filename="../multieditor/multieditor.cpp" line="590"/>
        <source>Null value</source>
        <comment>multieditor</comment>
        <translation>Giá trị Null</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="80"/>
        <source>Save this value to a file</source>
        <translation>Lưu giá trị này vào tệp</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="83"/>
        <source>Load this value from a file</source>
        <translation>Tải giá trị này từ tệp</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="94"/>
        <source>Configure editors for this data type</source>
        <translation>Cấu hình trình chỉnh sửa cho kiểu dữ liệu này</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="102"/>
        <source>Open another tab</source>
        <translation>Mở thẻ khác</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="118"/>
        <source>Reset value</source>
        <translation>Đặt lại giá trị</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="376"/>
        <source>Foreign Key</source>
        <translation>Khóa ngoại</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="434"/>
        <source>All files (*)</source>
        <translation>Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="436"/>
        <source>Text files (*.txt *.log *.csv *.tsv *.md *.json *.xml *.yaml *.yml)</source>
        <translation>Tệp văn bản (*.txt *.log *.csv *.tsv *.md *.json *.xml *.yaml *.yml)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="438"/>
        <source>SQL files (*.sql)</source>
        <translation>Tệp SQL (*.sql)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="440"/>
        <source>Binary data (*.bin *.dat *.raw)</source>
        <translation>Dữ liệu nhị phân (*.bin *.dat *.raw)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="442"/>
        <source>Images (*.jpeg *.jpg *.png *.bmp *.gif *.tiff *.jp2 *.svg *.tga *.icns *.webp *.wbmp *.mng)</source>
        <translation>Hình ảnh (*.jpeg *.jpg *.png *.bmp *.gif *.tiff *.jp2 *.svg *.tga *.icns *.webp *.wbmp *.mng)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="444"/>
        <source>Archives (*.zip *.7z *.rar *.tar *.gz *.bz2 *.xz)</source>
        <translation>Tệp nén (*.zip *.7z *.rar *.tar *.gz *.bz2 *.xz)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="446"/>
        <source>Documents (*.pdf *.rtf *.doc *.docx *.odt *.xls *.xlsx *.ods)</source>
        <translation>Tài liệu (*.pdf *.rtf *.doc *.docx *.odt *.xls *.xlsx *.ods)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="448"/>
        <source>Executables (*.exe *.dll *.so *.dylib)</source>
        <translation>Tệp thực thi (*.exe *.dll *.so *.dylib)</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="472"/>
        <source>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%2&apos; data type.</source>
        <translation>Data editor plugin &apos;%1&apos; not loaded, while it is defined for editing &apos;%1&apos; data type. {1&apos;?} {2&apos;?} {1&apos; or 2&apos;?}</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="578"/>
        <source>Deleted</source>
        <comment>multieditor</comment>
        <translation>Đã xóa</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="580"/>
        <source>Read only</source>
        <comment>multieditor</comment>
        <translation>Chỉ đọc</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="694"/>
        <source>Open</source>
        <translation>Mở</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="703"/>
        <source>Could not open file %1 for reading.</source>
        <translation>Không thể mở tệp %1 để đọc.</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="719"/>
        <source>Save</source>
        <translation>Lưu</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="728"/>
        <source>Could not open file %1 for writting.</source>
        <translation>Không thể mở tệp %1 để ghi.</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditor.cpp" line="778"/>
        <source>Could not write data into the file %1</source>
        <translation>Không thể ghi dữ liệu vào tệp %1</translation>
    </message>
</context>
<context>
    <name>MultiEditorBoolPlugin</name>
    <message>
        <location filename="../multieditor/multieditorbool.cpp" line="227"/>
        <source>Boolean</source>
        <translation>Luận lý</translation>
    </message>
</context>
<context>
    <name>MultiEditorDatePlugin</name>
    <message>
        <location filename="../multieditor/multieditordate.cpp" line="89"/>
        <source>Date</source>
        <translation>Ngày</translation>
    </message>
</context>
<context>
    <name>MultiEditorDateTimePlugin</name>
    <message>
        <location filename="../multieditor/multieditordatetime.cpp" line="276"/>
        <source>Date &amp; time</source>
        <translation>Ngày &amp; giờ</translation>
    </message>
</context>
<context>
    <name>MultiEditorFk</name>
    <message>
        <location filename="../multieditor/multieditorfk.cpp" line="25"/>
        <source>Selected value preview</source>
        <translation>Xem trước giá trị đã chọn</translation>
    </message>
</context>
<context>
    <name>MultiEditorHexPlugin</name>
    <message>
        <location filename="../multieditor/multieditorhex.cpp" line="107"/>
        <source>Hex</source>
        <translation>Thập lục phân</translation>
    </message>
</context>
<context>
    <name>MultiEditorNumericPlugin</name>
    <message>
        <location filename="../multieditor/multieditornumeric.cpp" line="112"/>
        <source>Number</source>
        <comment>numeric multi editor tab name</comment>
        <translation>Số</translation>
    </message>
</context>
<context>
    <name>MultiEditorText</name>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="126"/>
        <source>Tab changes focus</source>
        <translation>Tab thay đổi tiêu điểm</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="127"/>
        <source>Cut</source>
        <translation>Cắt</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="128"/>
        <source>Copy</source>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="129"/>
        <source>Paste</source>
        <translation>Dán</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="130"/>
        <source>Delete</source>
        <translation>Xóa</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="131"/>
        <source>Undo</source>
        <translation>Hoàn tác</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="132"/>
        <source>Redo</source>
        <translation>Làm lại</translation>
    </message>
</context>
<context>
    <name>MultiEditorTextPlugin</name>
    <message>
        <location filename="../multieditor/multieditortext.cpp" line="309"/>
        <source>Text</source>
        <translation>Văn bản</translation>
    </message>
</context>
<context>
    <name>MultiEditorTimePlugin</name>
    <message>
        <location filename="../multieditor/multieditortime.cpp" line="92"/>
        <source>Time</source>
        <translation>Thời gian</translation>
    </message>
</context>
<context>
    <name>NewConstraintDialog</name>
    <message>
        <location filename="../dialogs/newconstraintdialog.ui" line="20"/>
        <source>New constraint</source>
        <translation>Ràng buộc mới</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="104"/>
        <location filename="../dialogs/newconstraintdialog.cpp" line="112"/>
        <source>Primary Key</source>
        <comment>new constraint dialog</comment>
        <translation>Khóa chính</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="105"/>
        <location filename="../dialogs/newconstraintdialog.cpp" line="113"/>
        <source>Foreign Key</source>
        <comment>new constraint dialog</comment>
        <translation>Khóa ngoại</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="106"/>
        <location filename="../dialogs/newconstraintdialog.cpp" line="114"/>
        <source>Unique</source>
        <comment>new constraint dialog</comment>
        <translation>Duy nhất</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="107"/>
        <location filename="../dialogs/newconstraintdialog.cpp" line="115"/>
        <source>Check</source>
        <comment>new constraint dialog</comment>
        <translation>Kiểm tra</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="116"/>
        <source>Not NULL</source>
        <comment>new constraint dialog</comment>
        <translation>Không NULL</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="117"/>
        <source>Collate</source>
        <comment>new constraint dialog</comment>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="118"/>
        <source>Generated</source>
        <comment>new constraint dialog</comment>
        <translation>Được tạo</translation>
    </message>
    <message>
        <location filename="../dialogs/newconstraintdialog.cpp" line="119"/>
        <source>Default</source>
        <comment>new constraint dialog</comment>
        <translation>Mặc định</translation>
    </message>
</context>
<context>
    <name>NewVersionDialog</name>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="20"/>
        <source>Letos updates</source>
        <translation>Cập nhật Letos</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="31"/>
        <source>New version is available!</source>
        <translation>Có phiên bản mới!</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="57"/>
        <source>Download new version!</source>
        <translation>Tải xuống phiên bản mới!</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="70"/>
        <source>New version package will be downloaded. It will be up to you to install it whenever you&apos;re ready.</source>
        <translation>Gói phiên bản mới sẽ được tải xuống. Việc cài đặt gói đó khi bạn&apos; sẵn sàng là tùy bạn.</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="77"/>
        <source>Open Letos home page.</source>
        <translation>Mở trang chủ Letos.</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="90"/>
        <source>Read release notes &amp;&amp; download package yourself.</source>
        <translation>Tự đọc ghi chú phát hành &amp;&amp; tải xuống gói.</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="110"/>
        <source>Just close this window.</source>
        <translation>Chỉ đóng cửa sổ này.</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="120"/>
        <source>Check for updates on startup</source>
        <translation>Kiểm tra cập nhật khi khởi động</translation>
    </message>
    <message>
        <location filename="../dialogs/newversiondialog.ui" line="97"/>
        <source>Not now.</source>
        <translation>Không phải bây giờ.</translation>
    </message>
</context>
<context>
    <name>PasswordToggleHelper</name>
    <message>
        <location filename="../common/passwordtogglehelper.cpp" line="11"/>
        <source>Show / hide password</source>
        <translation>Hiện / ẩn mật khẩu</translation>
    </message>
</context>
<context>
    <name>PopulateConfigDialog</name>
    <message>
        <location filename="../dialogs/populateconfigdialog.ui" line="14"/>
        <source>Populating configuration</source>
        <translation>Cấu hình điền dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/populateconfigdialog.cpp" line="57"/>
        <source>Configuring &lt;b&gt;%1&lt;/b&gt; for column &lt;b&gt;%2&lt;/b&gt;</source>
        <translation>Đang cấu hình &lt;b&gt;%1&lt;/b&gt; cho cột &lt;b&gt;%2&lt;/b&gt;</translation>
    </message>
</context>
<context>
    <name>PopulateDialog</name>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="14"/>
        <source>Populate table</source>
        <translation>Điền dữ liệu vào bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="84"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="102"/>
        <source>Table</source>
        <translation>Bảng</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="139"/>
        <source>Select All</source>
        <translation>Chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="152"/>
        <source>Deselect All</source>
        <translation>Bỏ chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="48"/>
        <source>Columns</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.ui" line="20"/>
        <source>Number of rows to populate:</source>
        <translation>Số hàng cần điền:</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="52"/>
        <source>Populate</source>
        <comment>populate dialog button</comment>
        <translation>Điền dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="67"/>
        <source>Abort</source>
        <translation>Hủy bỏ</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="204"/>
        <source>Configure</source>
        <translation>Cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="311"/>
        <source>Populating configuration for this column is invalid or incomplete.</source>
        <translation>Cấu hình điền dữ liệu cho cột này không hợp lệ hoặc chưa hoàn chỉnh.</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="342"/>
        <source>Select database with table to populate</source>
        <translation>Chọn cơ sở dữ liệu có bảng cần điền dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="343"/>
        <source>Select table to populate</source>
        <translation>Chọn bảng cần điền dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/populatedialog.cpp" line="344"/>
        <source>You have to select at least one column.</source>
        <translation>Bạn phải chọn ít nhất một cột.</translation>
    </message>
</context>
<context>
    <name>PrimaryKeyPanel</name>
    <message>
        <location filename="../constraints/tableprimarykeypanel.ui" line="20"/>
        <source>Column</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../constraints/tableprimarykeypanel.ui" line="49"/>
        <source>Autoincrement</source>
        <translation>Tự động tăng</translation>
    </message>
    <message>
        <location filename="../constraints/tableprimarykeypanel.ui" line="62"/>
        <source>Named constraint</source>
        <translation>Ràng buộc có tên</translation>
    </message>
    <message>
        <location filename="../constraints/tableprimarykeypanel.ui" line="81"/>
        <source>On conflict</source>
        <translation>Khi xung đột</translation>
    </message>
</context>
<context>
    <name>QObject</name>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="73"/>
        <source>Cannot edit columns that are result of an inline subquery.</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của truy vấn con nội tuyến.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="75"/>
        <source>Cannot edit columns that are result of compound %1 statements (one that includes %2, %3 or %4 keywords).</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của các câu lệnh %1 phức hợp (câu lệnh bao gồm các từ khóa %2, %3 hoặc %4).</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="78"/>
        <source>The query execution mechanism had problems with extracting ROWID&apos;s properly. This might be a bug in the application. You may want to report this.</source>
        <translation>Cơ chế thực thi truy vấn gặp sự cố khi trích xuất ROWID&apos;s đúng cách. Đây có thể là lỗi trong ứng dụng. Bạn có thể muốn báo cáo lỗi này.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="80"/>
        <source>Requested column is a result of SQL expression, instead of a simple column selection. Such columns cannot be edited.</source>
        <translation>Cột được yêu cầu là kết quả của biểu thức SQL, thay vì một lựa chọn cột đơn giản. Không thể chỉnh sửa những cột như vậy.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="82"/>
        <source>Requested column belongs to restricted SQLite table. Those tables cannot be edited directly.</source>
        <translation>Cột được yêu cầu thuộc bảng SQLite bị hạn chế. Những bảng đó không thể được chỉnh sửa trực tiếp.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="84"/>
        <source>Cannot edit results of query other than %1.</source>
        <translation>Không thể chỉnh sửa kết quả của truy vấn khác %1.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="86"/>
        <source>Cannot edit columns that are result of aggregated %1 statements.</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của các câu lệnh %1 tổng hợp.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="88"/>
        <source>Cannot edit columns that are result of %1 statement.</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của câu lệnh %1.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="90"/>
        <source>Cannot edit columns that are result of common table expression statement (%1).</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của câu lệnh biểu thức bảng chung (%1).</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="92"/>
        <source>Cannot edit table generated columns.</source>
        <translation>Không thể chỉnh sửa các cột được tạo của bảng.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="94"/>
        <source>Cannot edit columns that are result of a view if the executed query reads from any multilevel views (i.e. a view that queries another view).</source>
        <translation>Không thể chỉnh sửa các cột là kết quả của một view nếu truy vấn được thực thi đọc từ bất kỳ view đa cấp nào (tức là một view truy vấn view khác).</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="467"/>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="511"/>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="529"/>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="565"/>
        <source>on conflict: %1</source>
        <comment>data view tooltip</comment>
        <translation>khi xung đột: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="493"/>
        <source>references table %1</source>
        <comment>data view tooltip</comment>
        <translation>tham chiếu bảng %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="495"/>
        <source>references table %1, column %2</source>
        <comment>data view tooltip</comment>
        <translation>tham chiếu bảng %1, cột %2</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="562"/>
        <source>condition: %1</source>
        <comment>data view tooltip</comment>
        <translation>điều kiện: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="582"/>
        <source>collation name: %1</source>
        <comment>data view tooltip</comment>
        <translation>tên đối chiếu: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="25"/>
        <source>Data grid view</source>
        <translation>Chế độ xem lưới dữ liệu</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="26"/>
        <source>Edit current cell inline</source>
        <translation>Chỉnh sửa ô hiện tại tại chỗ</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="27"/>
        <source>Cut cell(s) contents to clipboard</source>
        <translation>Cắt nội dung (các) ô vào bảng tạm</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="28"/>
        <source>Copy cell(s) contents to clipboard</source>
        <translation>Sao chép nội dung (các) ô vào bảng tạm</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="29"/>
        <source>Copy cell(s) contents together with header to clipboard</source>
        <translation>Sao chép nội dung (các) ô cùng với tiêu đề vào bảng tạm</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="31"/>
        <source>Paste cell(s) contents from clipboard</source>
        <translation>Dán nội dung (các) ô từ bảng tạm</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="33"/>
        <source>Set empty value to selected cell(s)</source>
        <translation>Đặt giá trị rỗng cho (các) ô đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="34"/>
        <source>Set NULL value to selected cell(s)</source>
        <translation>Đặt giá trị NULL cho (các) ô đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="35"/>
        <source>Commit changes to cell(s) contents</source>
        <translation>Xác nhận thay đổi đối với nội dung (các) ô</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="36"/>
        <source>Rollback changes to cell(s) contents</source>
        <translation>Hoàn tác thay đổi đối với nội dung (các) ô</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="37"/>
        <source>Delete selected data row</source>
        <translation>Xóa hàng dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="38"/>
        <source>Insert new data row</source>
        <translation>Chèn hàng dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="39"/>
        <source>Open contents of selected cell in a separate editor</source>
        <translation>Mở nội dung của ô đã chọn trong trình chỉnh sửa riêng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="40"/>
        <source>Toggle the height adjustment of rows</source>
        <translation>Bật/tắt điều chỉnh chiều cao hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="41"/>
        <source>Increase font size</source>
        <comment>data view</comment>
        <translation>Tăng cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.h" line="42"/>
        <source>Decrease font size</source>
        <comment>data view</comment>
        <translation>Giảm cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="32"/>
        <source>Data view (both grid and form)</source>
        <translation>Chế độ xem dữ liệu (cả lưới và biểu mẫu)</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="33"/>
        <source>Refresh data</source>
        <translation>Làm mới dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="34"/>
        <source>Find in data</source>
        <translation>Tìm trong dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="35"/>
        <source>Switch to grid view of the data</source>
        <translation>Chuyển sang chế độ xem lưới của dữ liệu</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="36"/>
        <source>Switch to form view of the data</source>
        <translation>Chuyển sang chế độ xem biểu mẫu của dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="31"/>
        <source>Database list</source>
        <translation>Danh sách cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="32"/>
        <source>Delete selected item</source>
        <translation>Xóa mục đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="33"/>
        <source>Clear filter contents</source>
        <translation>Xóa nội dung bộ lọc</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="34"/>
        <source>Refresh schema</source>
        <translation>Làm mới lược đồ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="35"/>
        <source>Refresh all schemas</source>
        <translation>Làm mới tất cả lược đồ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="36"/>
        <source>Create new database</source>
        <translation>Tạo cơ sở dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="37"/>
        <source>Open existing database or SQL file</source>
        <translation>Mở cơ sở dữ liệu hoặc tệp SQL hiện có</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="38"/>
        <source>Edit selected database</source>
        <translation>Chỉnh sửa cơ sở dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="39"/>
        <source>Rename selected database</source>
        <translation>Đổi tên cơ sở dữ liệu đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="40"/>
        <source>Select all items</source>
        <translation>Chọn tất cả mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="41"/>
        <source>Copy selected item(s)</source>
        <translation>Sao chép (các) mục đã chọn</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="42"/>
        <location filename="../multieditor/multieditortext.h" line="15"/>
        <location filename="../sqleditor.h" line="35"/>
        <source>Paste from clipboard</source>
        <translation>Dán từ bảng tạm</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="43"/>
        <source>Increase font size</source>
        <comment>database list</comment>
        <translation>Tăng cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtree.h" line="44"/>
        <source>Decrease font size</source>
        <comment>database list</comment>
        <translation>Giảm cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemfactory.cpp" line="53"/>
        <source>Tables</source>
        <translation>Bảng</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemfactory.cpp" line="58"/>
        <source>Indexes</source>
        <translation>Chỉ mục</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemfactory.cpp" line="63"/>
        <source>Triggers</source>
        <translation>Trigger</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemfactory.cpp" line="68"/>
        <source>Views</source>
        <translation>View</translation>
    </message>
    <message>
        <location filename="../dbtree/dbtreeitemfactory.cpp" line="73"/>
        <source>Columns</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../formview.h" line="15"/>
        <source>Data form view</source>
        <translation>Chế độ xem biểu mẫu dữ liệu</translation>
    </message>
    <message>
        <location filename="../formview.h" line="16"/>
        <source>Commit changes for current row</source>
        <translation>Xác nhận thay đổi cho hàng hiện tại</translation>
    </message>
    <message>
        <location filename="../formview.h" line="17"/>
        <source>Rollback changes for current row</source>
        <translation>Hoàn tác thay đổi cho hàng hiện tại</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="37"/>
        <location filename="../formview.h" line="18"/>
        <source>Go to first row on current page</source>
        <translation>Đi đến hàng đầu tiên trên trang hiện tại</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="39"/>
        <location filename="../formview.h" line="19"/>
        <source>Go to next row</source>
        <translation>Đi đến hàng kế tiếp</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="38"/>
        <location filename="../formview.h" line="20"/>
        <source>Go to previous row</source>
        <translation>Đi đến hàng trước</translation>
    </message>
    <message>
        <location filename="../dataview.h" line="40"/>
        <location filename="../formview.h" line="21"/>
        <source>Go to last row on current page</source>
        <translation>Đi đến hàng cuối cùng trên trang hiện tại</translation>
    </message>
    <message>
        <location filename="../formview.h" line="22"/>
        <source>Insert new row</source>
        <translation>Chèn hàng mới</translation>
    </message>
    <message>
        <location filename="../formview.h" line="23"/>
        <source>Delete current row</source>
        <translation>Xóa hàng hiện tại</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="60"/>
        <source>Main window</source>
        <translation>Cửa sổ chính</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="61"/>
        <source>Open SQL editor</source>
        <translation>Mở trình chỉnh sửa SQL</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="65"/>
        <source>Open DDL history window</source>
        <translation>Mở cửa sổ lịch sử DDL</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="67"/>
        <source>Open snippets editor window</source>
        <translation>Mở cửa sổ trình chỉnh sửa đoạn mã</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="66"/>
        <source>Open function editor window</source>
        <translation>Mở cửa sổ trình chỉnh sửa hàm</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="62"/>
        <source>Restore recently closed window</source>
        <translation>Khôi phục cửa sổ vừa đóng</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="63"/>
        <source>Open Export Dialog</source>
        <translation>Mở Hộp thoại xuất</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="64"/>
        <source>Open Import Dialog</source>
        <translation>Mở Hộp thoại nhập</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="68"/>
        <source>Open collation editor window</source>
        <translation>Mở cửa sổ trình chỉnh sửa đối chiếu</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="69"/>
        <source>Open extension manager window</source>
        <translation>Mở cửa sổ trình quản lý phần mở rộng</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="70"/>
        <source>Previous window</source>
        <translation>Cửa sổ trước</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="71"/>
        <source>Next window</source>
        <translation>Cửa sổ kế tiếp</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="72"/>
        <source>Move window earlier</source>
        <translation>Di chuyển cửa sổ lên trước</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="73"/>
        <source>Move window later</source>
        <translation>Di chuyển cửa sổ về sau</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="74"/>
        <source>Hide status area</source>
        <translation>Ẩn vùng trạng thái</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="75"/>
        <source>Open user manual</source>
        <translation>Mở hướng dẫn người dùng</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="76"/>
        <source>Open configuration dialog</source>
        <translation>Mở hộp thoại cấu hình</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="77"/>
        <source>Open Debug Console</source>
        <translation>Mở bảng điều khiển gỡ lỗi</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="78"/>
        <source>Open CSS Console</source>
        <translation>Mở bảng điều khiển CSS</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="79"/>
        <source>Open Command Palette</source>
        <translation>Mở Bảng lệnh</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="80"/>
        <source>Open the About dialog</source>
        <translation>Mở hộp thoại Giới thiệu</translation>
    </message>
    <message>
        <location filename="../mainwindow.h" line="81"/>
        <source>Quit the application</source>
        <translation>Thoát ứng dụng</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="12"/>
        <source>Cell text value editor</source>
        <translation>Trình chỉnh sửa giá trị văn bản ô</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="13"/>
        <location filename="../sqleditor.h" line="33"/>
        <source>Cut selected text</source>
        <translation>Cắt văn bản đã chọn</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="14"/>
        <location filename="../sqleditor.h" line="34"/>
        <source>Copy selected text</source>
        <translation>Sao chép văn bản đã chọn</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="16"/>
        <location filename="../sqleditor.h" line="36"/>
        <source>Delete selected text</source>
        <translation>Xóa văn bản đã chọn</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="17"/>
        <location filename="../sqleditor.h" line="38"/>
        <source>Undo</source>
        <translation>Hoàn tác</translation>
    </message>
    <message>
        <location filename="../multieditor/multieditortext.h" line="18"/>
        <location filename="../sqleditor.h" line="39"/>
        <source>Redo</source>
        <translation>Làm lại</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="32"/>
        <source>SQL editor input field</source>
        <translation>Trường nhập trình chỉnh sửa SQL</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="37"/>
        <source>Select whole editor contents</source>
        <translation>Chọn toàn bộ nội dung trình chỉnh sửa</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="40"/>
        <source>Save contents into a file</source>
        <translation>Lưu nội dung vào tệp</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="41"/>
        <source>Find in text</source>
        <translation>Tìm trong văn bản</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="42"/>
        <source>Find next</source>
        <translation>Tìm tiếp</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="43"/>
        <source>Find previous</source>
        <translation>Tìm trước</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="44"/>
        <source>Replace in text</source>
        <translation>Thay thế trong văn bản</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="45"/>
        <source>Delete current line</source>
        <translation>Xóa dòng hiện tại</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="46"/>
        <source>Request code assistant</source>
        <translation>Yêu cầu trợ lý mã</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="47"/>
        <source>Format contents</source>
        <translation>Định dạng nội dung</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="48"/>
        <source>Open the object at current position</source>
        <translation>Mở đối tượng tại vị trí hiện tại</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="49"/>
        <source>Move selected block of text one line down</source>
        <translation>Di chuyển khối văn bản đã chọn xuống một dòng</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="50"/>
        <source>Move selected block of text one line up</source>
        <translation>Di chuyển khối văn bản đã chọn lên một dòng</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="51"/>
        <source>Copy selected block of text and paste it a line below</source>
        <translation>Sao chép khối văn bản đã chọn và dán nó vào dòng bên dưới</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="52"/>
        <source>Copy selected block of text and paste it a line above</source>
        <translation>Sao chép khối văn bản đã chọn và dán nó vào dòng bên trên</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="53"/>
        <source>Toggle comment</source>
        <translation>Bật/tắt chú thích</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="54"/>
        <source>Increase font size</source>
        <comment>sql editor</comment>
        <translation>Tăng cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../sqleditor.h" line="55"/>
        <source>Decrease font size</source>
        <comment>sql editor</comment>
        <translation>Giảm cỡ phông chữ</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="779"/>
        <source>All files</source>
        <translation>Tất cả tệp</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="72"/>
        <source>Select database file</source>
        <translation>Chọn tệp cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="72"/>
        <source>Select new database file</source>
        <translation>Chọn tệp cơ sở dữ liệu mới</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.cpp" line="778"/>
        <source>SQL files</source>
        <translation>Tệp SQL</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="83"/>
        <location filename="../uiutils.cpp" line="96"/>
        <source>Select a file to open</source>
        <translation>Chọn tệp để mở</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="267"/>
        <source>Format SQL</source>
        <translation>Định dạng SQL</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="56"/>
        <source>Select</source>
        <translation>Chọn</translation>
    </message>
    <message>
        <location filename="../uiutils.cpp" line="57"/>
        <source>File type</source>
        <translation>Kiểu tệp</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="30"/>
        <source>SQL editor window</source>
        <translation>Cửa sổ trình chỉnh sửa SQL</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="31"/>
        <source>Execute query</source>
        <translation>Thực thi truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="32"/>
        <source>Execute single query under cursor</source>
        <translation>Thực thi truy vấn đơn dưới con trỏ</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="33"/>
        <source>Execute all queries in editor</source>
        <translation>Thực thi tất cả truy vấn trong trình chỉnh sửa</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="34"/>
        <source>Execute EXPLAIN query</source>
        <translation>Thực thi truy vấn EXPLAIN</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="35"/>
        <source>Export query results</source>
        <translation>Xuất kết quả truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="36"/>
        <source>Switch current working database to previous on the list</source>
        <translation>Chuyển cơ sở dữ liệu làm việc hiện tại sang cơ sở dữ liệu trước trong danh sách</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="37"/>
        <source>Switch current working database to next on the list</source>
        <translation>Chuyển cơ sở dữ liệu làm việc hiện tại sang cơ sở dữ liệu kế tiếp trong danh sách</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="38"/>
        <source>Go to next editor tab</source>
        <translation>Đi đến thẻ trình chỉnh sửa kế tiếp</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="39"/>
        <source>Go to previous editor tab</source>
        <translation>Đi đến thẻ trình chỉnh sửa trước</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="40"/>
        <source>Move keyboard input focus to the results view below</source>
        <translation>Chuyển tiêu điểm nhập bàn phím đến chế độ xem kết quả bên dưới</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="41"/>
        <source>Move keyboard input focus to the SQL editor above</source>
        <translation>Chuyển tiêu điểm nhập bàn phím đến trình chỉnh sửa SQL bên trên</translation>
    </message>
    <message>
        <location filename="../windows/editorwindow.h" line="42"/>
        <source>Delete selected SQL history entries</source>
        <translation>Xóa các mục lịch sử SQL đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="32"/>
        <source>Table window</source>
        <translation>Cửa sổ bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="33"/>
        <source>Commit the table structure</source>
        <translation>Xác nhận cấu trúc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="34"/>
        <source>Rollback pending changes in the table structure</source>
        <translation>Hoàn tác các thay đổi đang chờ trong cấu trúc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="35"/>
        <source>Refresh table structure</source>
        <translation>Làm mới cấu trúc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="36"/>
        <source>Add new column</source>
        <translation>Thêm cột mới</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="37"/>
        <source>Edit selected column</source>
        <translation>Chỉnh sửa cột đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="38"/>
        <source>Delete selected column</source>
        <translation>Xóa cột đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="39"/>
        <source>Export table data</source>
        <translation>Xuất dữ liệu bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="40"/>
        <source>Import data to the table</source>
        <translation>Nhập dữ liệu vào bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="41"/>
        <source>Add new table constraint</source>
        <translation>Thêm ràng buộc bảng mới</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="42"/>
        <source>Edit selected table constraint</source>
        <translation>Chỉnh sửa ràng buộc bảng đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="43"/>
        <source>Delete selected table constraint</source>
        <translation>Xóa ràng buộc bảng đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="44"/>
        <source>Refresh table index list</source>
        <translation>Làm mới danh sách chỉ mục bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="45"/>
        <source>Add new index</source>
        <translation>Thêm chỉ mục mới</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="46"/>
        <source>Edit selected index</source>
        <translation>Chỉnh sửa chỉ mục đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="47"/>
        <source>Delete selected index</source>
        <translation>Xóa chỉ mục đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="48"/>
        <source>Refresh table trigger list</source>
        <translation>Làm mới danh sách trigger của bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="49"/>
        <location filename="../windows/viewwindow.h" line="29"/>
        <source>Add new trigger</source>
        <translation>Thêm trigger mới</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="50"/>
        <location filename="../windows/viewwindow.h" line="30"/>
        <source>Edit selected trigger</source>
        <translation>Chỉnh sửa trigger đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="51"/>
        <location filename="../windows/viewwindow.h" line="31"/>
        <source>Delete selected trigger</source>
        <translation>Xóa trigger đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="52"/>
        <location filename="../windows/viewwindow.h" line="32"/>
        <source>Go to next tab</source>
        <translation>Đi đến thẻ kế tiếp</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.h" line="53"/>
        <location filename="../windows/viewwindow.h" line="33"/>
        <source>Go to previous tab</source>
        <translation>Đi đến thẻ trước</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="23"/>
        <source>A view window</source>
        <translation>Một cửa sổ view</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="24"/>
        <source>Commit the view&apos;s query</source>
        <translation>Xác nhận truy vấn của khung nhìn&apos;</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="25"/>
        <source>Rollback pending changes in the view&apos;s query</source>
        <translation>Hoàn tác các thay đổi đang chờ trong truy vấn của khung nhìn&apos;</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="26"/>
        <source>Refresh view trigger list</source>
        <translation>Làm mới danh sách trigger của view</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="27"/>
        <source>Execute the view&apos;s query</source>
        <translation>Thực thi truy vấn của khung nhìn&apos;</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.h" line="28"/>
        <source>Export view data</source>
        <translation>Xuất dữ liệu view</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.h" line="17"/>
        <source>A code snippets editor window</source>
        <translation>Một cửa sổ trình chỉnh sửa đoạn mã</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.h" line="18"/>
        <location filename="../windows/collationseditor.h" line="22"/>
        <location filename="../windows/functionseditor.h" line="25"/>
        <location filename="../windows/sqliteextensioneditor.h" line="22"/>
        <source>Commit the pending changes</source>
        <translation>Xác nhận các thay đổi đang chờ</translation>
    </message>
    <message>
        <location filename="../windows/codesnippeteditor.h" line="19"/>
        <location filename="../windows/collationseditor.h" line="23"/>
        <location filename="../windows/functionseditor.h" line="26"/>
        <location filename="../windows/sqliteextensioneditor.h" line="23"/>
        <source>Rollback the pending changes</source>
        <translation>Hoàn tác các thay đổi đang chờ</translation>
    </message>
    <message>
        <location filename="../windows/collationseditor.h" line="21"/>
        <source>A collation editor window</source>
        <translation>Một cửa sổ trình chỉnh sửa đối chiếu</translation>
    </message>
    <message>
        <location filename="../windows/functionseditor.h" line="24"/>
        <source>A function editor window</source>
        <translation>Một cửa sổ trình chỉnh sửa hàm</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.h" line="21"/>
        <source>A SQLite extension editor window</source>
        <translation>Một cửa sổ trình chỉnh sửa phần mở rộng SQLite</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="38"/>
        <source>Edit database properties</source>
        <comment>command palette entry</comment>
        <translation>Chỉnh sửa thuộc tính cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="67"/>
        <source>Open table</source>
        <comment>command palette entry</comment>
        <translation>Mở bảng</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="68"/>
        <source>Edit index</source>
        <comment>command palette entry</comment>
        <translation>Chỉnh sửa chỉ mục</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="69"/>
        <source>Edit trigger</source>
        <comment>command palette entry</comment>
        <translation>Chỉnh sửa trigger</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="70"/>
        <source>Open view</source>
        <comment>command palette entry</comment>
        <translation>Mở khung nhìn</translation>
    </message>
    <message>
        <location filename="../commandpalette/cpmdiwindowsprovider.cpp" line="21"/>
        <source>Bring the window to front</source>
        <comment>command palette entry</comment>
        <translation>Đưa cửa sổ lên trước</translation>
    </message>
</context>
<context>
    <name>QuitConfirmDialog</name>
    <message>
        <location filename="../dialogs/quitconfirmdialog.ui" line="14"/>
        <source>Uncommitted changes</source>
        <translation>Thay đổi chưa được xác nhận</translation>
    </message>
    <message>
        <location filename="../dialogs/quitconfirmdialog.ui" line="20"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt; font-weight:700;&quot;&gt;Are you sure you want to quit the application?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Following items are pending:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:10pt; font-weight:700;&quot;&gt;Bạn có chắc muốn thoát ứng dụng không?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Các mục sau đang chờ xử lý:&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
</context>
<context>
    <name>SearchTextDialog</name>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="14"/>
        <source>Find or replace</source>
        <translation>Tìm hoặc thay thế</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="88"/>
        <source>Find:</source>
        <translation>Tìm:</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="31"/>
        <source>Case sensitive</source>
        <translation>Phân biệt chữ hoa/thường</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="38"/>
        <source>Search backwards</source>
        <translation>Tìm ngược</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="45"/>
        <source>Regular expression matching</source>
        <translation>Khớp biểu thức chính quy</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="113"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#aa0000;&quot;&gt;Reached the end of document.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; color:#aa0000;&quot;&gt;Đã đến cuối tài liệu.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="20"/>
        <source>Replace &amp;&amp;
find next</source>
        <translation>Thay thế &amp;&amp;
tìm tiếp</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="65"/>
        <source>Replace with:</source>
        <translation>Thay thế bằng:</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="55"/>
        <source>Replace all</source>
        <translation>Thay thế tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/searchtextdialog.ui" line="75"/>
        <source>Find</source>
        <translation>Tìm</translation>
    </message>
</context>
<context>
    <name>SettingsExportDialog</name>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="14"/>
        <source>Export configuration</source>
        <translation>Xuất cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="20"/>
        <location filename="../dialogs/settingsexportdialog.ui" line="32"/>
        <location filename="../dialogs/settingsexportdialog.cpp" line="24"/>
        <source>Output JSON file</source>
        <translation>Tệp JSON đầu ra</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="29"/>
        <source>JSON file (*.json);;All files (*)</source>
        <translation>Tệp JSON (*.json);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="45"/>
        <source>What to export?</source>
        <translation>Xuất những gì?</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="51"/>
        <source>User-defined SQL functions</source>
        <translation>Hàm SQL do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="65"/>
        <source>User-defined collation sequences</source>
        <translation>Chuỗi đối chiếu do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="79"/>
        <source>User-defined code snippets</source>
        <translation>Đoạn mã do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsexportdialog.ui" line="93"/>
        <source>Configured SQLite extensions</source>
        <translation>Phần mở rộng SQLite đã cấu hình</translation>
    </message>
</context>
<context>
    <name>SettingsImportDialog</name>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="14"/>
        <source>Import configuration</source>
        <translation>Nhập cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="20"/>
        <location filename="../dialogs/settingsimportdialog.ui" line="29"/>
        <location filename="../dialogs/settingsimportdialog.cpp" line="31"/>
        <source>Input JSON file</source>
        <translation>Tệp JSON đầu vào</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="26"/>
        <source>JSON file (*.json);;All files (*)</source>
        <translation>Tệp JSON (*.json);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="39"/>
        <source>What to import?</source>
        <translation>Nhập những gì?</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="45"/>
        <source>User-defined SQL functions</source>
        <translation>Hàm SQL do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="56"/>
        <source>User-defined collation sequences</source>
        <translation>Chuỗi đối chiếu do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="67"/>
        <source>User-defined code snippets</source>
        <translation>Đoạn mã do người dùng định nghĩa</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="78"/>
        <source>Configured SQLite extensions</source>
        <translation>Phần mở rộng SQLite đã cấu hình</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="92"/>
        <source>Import mode</source>
        <translation>Chế độ nhập</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="98"/>
        <source>Imports selected items without modifying or removing ones existing in your current configuration.</source>
        <translation>Nhập các mục đã chọn mà không sửa đổi hoặc xóa các mục hiện có trong cấu hình hiện tại của bạn.</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="101"/>
        <source>Add to existing items</source>
        <translation>Thêm vào các mục hiện có</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="111"/>
        <source>Removes all existing items in the selected categories, then imports the new ones from the file. This action cannot be undone!</source>
        <translation>Xóa tất cả mục hiện có trong các danh mục đã chọn, rồi nhập các mục mới từ tệp. Không thể hoàn tác thao tác này!</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.ui" line="114"/>
        <source>Replace existing items</source>
        <translation>Thay thế các mục hiện có</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.cpp" line="42"/>
        <source>Invalid input file to import: %1</source>
        <translation>Tệp đầu vào để nhập không hợp lệ: %1</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.cpp" line="53"/>
        <source>Selected file does not contain functions to import.</source>
        <translation>Tệp đã chọn không chứa hàm để nhập.</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.cpp" line="62"/>
        <source>Selected file does not contain collation sequences to import.</source>
        <translation>Tệp đã chọn không chứa chuỗi đối chiếu để nhập.</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.cpp" line="70"/>
        <source>Selected file does not contain code snippets to import.</source>
        <translation>Tệp đã chọn không chứa đoạn mã để nhập.</translation>
    </message>
    <message>
        <location filename="../dialogs/settingsimportdialog.cpp" line="78"/>
        <source>Selected file does not contain SQLite extensions to import.</source>
        <translation>Tệp đã chọn không chứa phần mở rộng SQLite để nhập.</translation>
    </message>
</context>
<context>
    <name>SortDialog</name>
    <message>
        <location filename="../dialogs/sortdialog.ui" line="14"/>
        <source>Sort by columns</source>
        <translation>Sắp xếp theo cột</translation>
    </message>
    <message>
        <location filename="../dialogs/sortdialog.ui" line="45"/>
        <location filename="../dialogs/sortdialog.cpp" line="47"/>
        <source>Column</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../dialogs/sortdialog.ui" line="50"/>
        <location filename="../dialogs/sortdialog.cpp" line="47"/>
        <source>Order</source>
        <translation>Thứ tự</translation>
    </message>
    <message>
        <location filename="../dialogs/sortdialog.cpp" line="177"/>
        <source>Sort by: %1</source>
        <translation>Sắp xếp theo: %1</translation>
    </message>
    <message>
        <location filename="../dialogs/sortdialog.cpp" line="241"/>
        <source>Move column up</source>
        <translation>Di chuyển cột lên</translation>
    </message>
    <message>
        <location filename="../dialogs/sortdialog.cpp" line="242"/>
        <source>Move column down</source>
        <translation>Di chuyển cột xuống</translation>
    </message>
</context>
<context>
    <name>SqlDataSourceQueryModel</name>
    <message>
        <location filename="../datagrid/sqldatasourcequerymodel.cpp" line="122"/>
        <source>Error while committing new row: %1</source>
        <translation>Lỗi khi commit hàng mới: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqldatasourcequerymodel.cpp" line="170"/>
        <source>Error while deleting row from %1: %2</source>
        <translation>Lỗi khi xóa hàng khỏi %1: %2</translation>
    </message>
</context>
<context>
    <name>SqlEditor</name>
    <message>
        <location filename="../sqleditor.cpp" line="194"/>
        <source>Wrap words</source>
        <comment>sql editor</comment>
        <translation>Tự động xuống dòng theo từ</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="158"/>
        <source>Cut</source>
        <comment>sql editor</comment>
        <translation>Cắt</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="159"/>
        <source>Copy</source>
        <comment>sql editor</comment>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="160"/>
        <source>Paste</source>
        <comment>sql editor</comment>
        <translation>Dán</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="161"/>
        <source>Delete</source>
        <comment>sql editor</comment>
        <translation>Xóa</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="162"/>
        <source>Select all</source>
        <comment>sql editor</comment>
        <translation>Chọn tất cả</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="163"/>
        <source>Undo</source>
        <comment>sql editor</comment>
        <translation>Hoàn tác</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="164"/>
        <source>Redo</source>
        <comment>sql editor</comment>
        <translation>Làm lại</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="166"/>
        <source>Complete</source>
        <comment>sql editor</comment>
        <translation>Hoàn tất</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="167"/>
        <source>Format SQL</source>
        <comment>sql editor</comment>
        <translation>Định dạng SQL</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="168"/>
        <source>Save SQL to file</source>
        <comment>sql editor</comment>
        <translation>Lưu SQL vào tệp</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="169"/>
        <source>Select file to save SQL</source>
        <comment>sql editor</comment>
        <translation>Chọn tệp để lưu SQL</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="170"/>
        <source>Load SQL from file</source>
        <comment>sql editor</comment>
        <translation>Tải SQL từ tệp</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="171"/>
        <source>Delete line</source>
        <comment>sql editor</comment>
        <translation>Xóa dòng</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="172"/>
        <source>Move block down</source>
        <comment>sql editor</comment>
        <translation>Di chuyển khối xuống</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="173"/>
        <source>Move block up</source>
        <comment>sql editor</comment>
        <translation>Di chuyển khối lên</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="174"/>
        <source>Copy block down</source>
        <comment>sql editor</comment>
        <translation>Sao chép khối xuống</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="175"/>
        <source>Copy up down</source>
        <comment>sql editor</comment>
        <translation>Sao chép khối lên</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="176"/>
        <source>Find or replace</source>
        <comment>sql editor</comment>
        <translation>Tìm hoặc thay thế</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="177"/>
        <source>Find next</source>
        <comment>sql editor</comment>
        <translation>Tìm tiếp</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="178"/>
        <source>Find previous</source>
        <comment>sql editor</comment>
        <translation>Tìm trước đó</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="179"/>
        <source>Replace</source>
        <comment>sql editor</comment>
        <translation>Thay thế</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="180"/>
        <source>Toggle comment</source>
        <comment>sql editor</comment>
        <translation>Bật/tắt chú thích</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="181"/>
        <source>Increase font size</source>
        <comment>sql editor</comment>
        <translation>Tăng cỡ chữ</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="182"/>
        <source>Decrease font size</source>
        <comment>sql editor</comment>
        <translation>Giảm cỡ chữ</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="297"/>
        <source>Could not open file &apos;%1&apos; for writing: %2</source>
        <translation>Không thể mở tệp &apos;%1&apos; để ghi: %2</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="306"/>
        <source>Saved SQL contents to file: %1</source>
        <translation>Đã lưu nội dung SQL vào tệp: %1</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="562"/>
        <source>Syntax completion can be used only when a valid database is set for the SQL editor.</source>
        <translation>Chỉ có thể dùng hoàn tất cú pháp khi một cơ sở dữ liệu hợp lệ được đặt cho trình soạn thảo SQL.</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1183"/>
        <source>Contents of the SQL editor are huge, so errors detecting and existing objects highlighting are temporarily disabled.</source>
        <translation>Nội dung của trình soạn thảo SQL rất lớn, nên việc phát hiện lỗi và tô sáng các đối tượng hiện có tạm thời bị tắt.</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1212"/>
        <source>Save to file</source>
        <translation>Lưu vào tệp</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1227"/>
        <source>SQL scripts (*.sql);;All files (*)</source>
        <translation>Tập lệnh SQL (*.sql);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1228"/>
        <location filename="../sqleditor.cpp" line="1259"/>
        <source>Open file</source>
        <translation>Mở tệp</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1260"/>
        <source>This file is huge (over %1 MB). Are you sure you want to load it into SQL query editor?</source>
        <translation>Tệp này rất lớn (hơn %1 MB). Bạn có chắc muốn tải nó vào trình soạn thảo truy vấn SQL không?</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1274"/>
        <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="../sqleditor.cpp" line="1468"/>
        <source>Reached the end of document. Hit the find again to restart the search.</source>
        <translation>Đã đến cuối tài liệu. Nhấn tìm lại để bắt đầu lại tìm kiếm.</translation>
    </message>
    <message>
        <location filename="../sqleditor.cpp" line="1740"/>
        <source>Ctrl+click to open this table or view</source>
        <translation>Ctrl+nhấp để mở bảng hoặc khung nhìn này</translation>
    </message>
</context>
<context>
    <name>SqlQueryItem</name>
    <message>
        <location filename="../datagrid/sqlqueryitem.cpp" line="260"/>
        <source>Committing error:</source>
        <comment>data view tooltip</comment>
        <translation>Lỗi khi xác nhận:</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitem.cpp" line="264"/>
        <source>Column:</source>
        <comment>data view tooltip</comment>
        <translation>Cột:</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitem.cpp" line="265"/>
        <source>Data type:</source>
        <comment>data view</comment>
        <translation>Kiểu dữ liệu:</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitem.cpp" line="268"/>
        <source>Table:</source>
        <comment>data view tooltip</comment>
        <translation>Bảng:</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitem.cpp" line="304"/>
        <source>Constraints:</source>
        <comment>data view tooltip</comment>
        <translation>Ràng buộc:</translation>
    </message>
</context>
<context>
    <name>SqlQueryItemDelegate</name>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="63"/>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="69"/>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="75"/>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="81"/>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="316"/>
        <source>Cannot edit this cell. Details: %1</source>
        <translation>Không thể chỉnh sửa ô này. Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="63"/>
        <source>The row is marked for deletion.</source>
        <translation>Hàng được đánh dấu để xóa.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="75"/>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="316"/>
        <source>Structure of this table has changed since last data was loaded. Reload the data to proceed.</source>
        <translation>Cấu trúc của bảng này đã thay đổi kể từ lần tải dữ liệu gần nhất. Tải lại dữ liệu để tiếp tục.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="81"/>
        <source>ROWID is not available for this cell.</source>
        <translation>ROWID không khả dụng cho ô này.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="258"/>
        <source>Editing a huge contents in an inline cell editor is not a good idea. It can become slow and inconvenient. It&apos;s better to edit such big contents in a Form View, or in popup editor (available under right-click menu).</source>
        <translation>Chỉnh sửa nội dung rất lớn trong trình chỉnh sửa ô nội tuyến không phải là ý hay. Việc này có thể trở nên chậm và bất tiện. Tốt hơn&apos; là chỉnh sửa nội dung lớn như vậy trong Khung nhìn biểu mẫu hoặc trong trình chỉnh sửa bật lên (có trong menu nhấp chuột phải).</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="283"/>
        <source>Reset to DEFAULT value</source>
        <translation>Đặt lại về giá trị DEFAULT</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="285"/>
        <source>Reset to PRIMARY KEY AUTOINCREMENT value</source>
        <translation>Đặt lại về giá trị PRIMARY KEY AUTOINCREMENT</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="287"/>
        <source>Reset value</source>
        <translation>Đặt lại giá trị</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="308"/>
        <source>Foreign key for column %2 has more than %1 possible values. It&apos;s too much to display in drop down list. You need to edit value manually.</source>
        <translation>Khóa ngoại cho cột %2 có nhiều hơn %1 giá trị có thể. Quá nhiều&apos; để hiển thị trong danh sách thả xuống. Bạn cần chỉnh sửa giá trị thủ công.</translation>
    </message>
</context>
<context>
    <name>SqlQueryModel</name>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="93"/>
        <location filename="../datagrid/sqlquerymodel.cpp" line="724"/>
        <source>Only one query can be executed simultaneously.</source>
        <translation>Chỉ có thể thực thi đồng thời một truy vấn.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="111"/>
        <source>Cannot execute query on undefined or invalid database.</source>
        <translation>Không thể thực thi truy vấn trên cơ sở dữ liệu chưa xác định hoặc không hợp lệ.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="118"/>
        <source>Cannot execute empty query.</source>
        <translation>Không thể thực thi truy vấn trống.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="126"/>
        <source>Uncommitted data</source>
        <translation>Dữ liệu chưa xác nhận</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="127"/>
        <source>There are uncommitted data changes. Do you want to proceed anyway? All uncommitted changes will be lost.</source>
        <translation>Có các thay đổi dữ liệu chưa được xác nhận. Bạn vẫn muốn tiếp tục không? Tất cả thay đổi chưa xác nhận sẽ bị mất.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="599"/>
        <source>Cannot commit the data for a cell that refers to the already closed database.</source>
        <translation>Không thể xác nhận dữ liệu cho ô tham chiếu đến cơ sở dữ liệu đã đóng.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="619"/>
        <source>Could not begin transaction on the database. Details: %1</source>
        <translation>Không thể bắt đầu giao dịch trên cơ sở dữ liệu. Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="652"/>
        <source>An error occurred while committing the transaction: %1</source>
        <translation>Đã xảy ra lỗi khi xác nhận giao dịch: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="685"/>
        <source>An error occurred while rolling back the transaction: %1</source>
        <translation>Đã xảy ra lỗi khi hoàn tác giao dịch: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="897"/>
        <source>Tried to commit a cell which is not editable (yet modified and waiting for commit)! This is a bug. Please report it.</source>
        <translation>Đã cố xác nhận một ô không thể chỉnh sửa (nhưng đã bị sửa đổi và đang chờ xác nhận)! Đây là lỗi. Vui lòng báo cáo.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="923"/>
        <source>An error occurred while committing the data: %1</source>
        <translation>Đã xảy ra lỗi khi xác nhận dữ liệu: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1057"/>
        <source>Number of rows per page was decreased to %1 due to number of columns (%2) in the data view.</source>
        <translation>Số hàng trên mỗi trang đã được giảm xuống %1 do số cột (%2) trong khung nhìn dữ liệu.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1466"/>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1482"/>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1531"/>
        <source>Error while executing SQL query on database &apos;%1&apos;: %2</source>
        <translation>Lỗi khi thực thi truy vấn SQL trên cơ sở dữ liệu &apos;%1&apos;: %2</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1528"/>
        <source>Error while loading query results: %1</source>
        <translation>Lỗi khi tải kết quả truy vấn: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="1695"/>
        <source>There are less columns in the new query, sort order has been reset.</source>
        <translation>Truy vấn mới có ít cột hơn, thứ tự sắp xếp đã được đặt lại.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2024"/>
        <source>Insert multiple rows</source>
        <translation>Chèn nhiều hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2024"/>
        <source>Number of rows to insert:</source>
        <translation>Số hàng cần chèn:</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2081"/>
        <source>Delete rows</source>
        <translation>Xóa hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2082"/>
        <source>You&apos;re about to delete newly inserted rows that are not committed yet. Row numbers: %1
Such deletion will be permanent. Are you sure you want to delete them?</source>
        <translation>Bạn&apos; sắp xóa các hàng mới được chèn nhưng chưa được xác nhận. Số hàng: %1
Việc xóa này sẽ là vĩnh viễn. Bạn có chắc chắn muốn xóa chúng không?</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2209"/>
        <source>Single-click sorts by the column.&lt;br&gt;Alt+click selects data in the column.</source>
        <translation>Nhấp một lần để sắp xếp theo cột.&lt;br&gt;Alt+nhấp để chọn dữ liệu trong cột.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2211"/>
        <source>Single-click selects data in the column.&lt;br&gt;Double-click sorts by the column.</source>
        <translation>Nhấp một lần để chọn dữ liệu trong cột.&lt;br&gt;Nhấp đúp để sắp xếp theo cột.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2216"/>
        <source>Middle-click resets sorting.</source>
        <translation>Nhấp chuột giữa để đặt lại sắp xếp.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlquerymodel.cpp" line="2217"/>
        <source>More options are available in the context menu.</source>
        <translation>Có thêm tùy chọn trong menu ngữ cảnh.</translation>
    </message>
</context>
<context>
    <name>SqlQueryView</name>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="58"/>
        <source>Go to referenced row in...</source>
        <translation>Đi đến hàng được tham chiếu trong...</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="147"/>
        <source>Cut</source>
        <translation>Cắt</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="148"/>
        <source>Copy</source>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="149"/>
        <source>Copy with headers</source>
        <translation>Sao chép kèm tiêu đề</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="150"/>
        <source>Copy as...</source>
        <translation>Sao chép dưới dạng...</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="151"/>
        <source>Paste</source>
        <translation>Dán</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="152"/>
        <source>Paste as...</source>
        <translation>Dán dưới dạng...</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="153"/>
        <source>Set NULL value</source>
        <translation>Đặt giá trị NULL</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="154"/>
        <source>Erase value</source>
        <translation>Xóa giá trị</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="155"/>
        <source>Reset value</source>
        <translation>Đặt lại giá trị</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="157"/>
        <source>Commit</source>
        <translation>Xác nhận</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="158"/>
        <source>Rollback</source>
        <translation>Hoàn tác</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="159"/>
        <source>Commit selected cells</source>
        <translation>Xác nhận các ô đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="160"/>
        <source>Rollback selected cells</source>
        <translation>Hoàn tác các ô đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="161"/>
        <source>Edit current cell inline</source>
        <translation>Chỉnh sửa ô hiện tại tại chỗ</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="166"/>
        <source>Define columns to sort by</source>
        <translation>Xác định các cột để sắp xếp theo</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="167"/>
        <source>Remove custom sorting (Middle click)</source>
        <translation>Gỡ sắp xếp tùy chỉnh (nhấp chuột giữa)</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="168"/>
        <source>Insert row</source>
        <translation>Chèn hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="169"/>
        <source>Insert multiple rows</source>
        <translation>Chèn nhiều hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="170"/>
        <source>Delete selected row</source>
        <translation>Xóa hàng đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="171"/>
        <source>Adjust height of rows</source>
        <translation>Điều chỉnh chiều cao hàng</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="174"/>
        <source>Next row on Enter</source>
        <translation>Hàng tiếp theo khi nhấn Enter</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="178"/>
        <source>Increase font size</source>
        <comment>data view</comment>
        <translation>Tăng cỡ chữ</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="179"/>
        <source>Decrease font size</source>
        <comment>data view</comment>
        <translation>Giảm cỡ chữ</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="180"/>
        <source>Invert selection</source>
        <comment>data view</comment>
        <translation>Đảo vùng chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="230"/>
        <source>Edit value in editor</source>
        <translation>Chỉnh sửa giá trị trong trình soạn thảo</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="230"/>
        <source>Show value in a viewer</source>
        <translation>Hiển thị giá trị trong trình xem</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="256"/>
        <source>Generate query for selected cells</source>
        <translation>Tạo truy vấn cho các ô đã chọn</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="622"/>
        <source>No items selected to paste clipboard contents to.</source>
        <translation>Không có mục nào được chọn để dán nội dung bảng nhớ tạm vào.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="628"/>
        <source>Cannot paste data. Details: %1</source>
        <translation>Không thể dán dữ liệu. Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="628"/>
        <source>Structure of at least one table used has changed since last data was loaded. Reload the data to proceed.</source>
        <translation>Cấu trúc của ít nhất một bảng được dùng đã thay đổi kể từ lần tải dữ liệu gần nhất. Tải lại dữ liệu để tiếp tục.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="698"/>
        <source>Cannot paste to a cell. Details: %1</source>
        <translation>Không thể dán vào ô. Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="698"/>
        <source>The row is marked for deletion.</source>
        <translation>Hàng được đánh dấu để xóa.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="709"/>
        <source>Cannot paste to column %1. Details: %2</source>
        <translation>Không thể dán vào cột %1. Chi tiết: %2</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="727"/>
        <source>Go to referenced row in table &apos;%1&apos;</source>
        <translation>Đi đến hàng được tham chiếu trong bảng &apos;%1&apos;</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="739"/>
        <source>table &apos;%1&apos;</source>
        <translation>bảng &apos;%1&apos;</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="762"/>
        <source>Referenced row (%1)</source>
        <translation>Hàng được tham chiếu (%1)</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1192"/>
        <source>Pin column</source>
        <translation>Ghim cột</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1219"/>
        <source>Column renderer</source>
        <translation>Bộ kết xuất cột</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1226"/>
        <source>Default</source>
        <translation>Mặc định</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1382"/>
        <source>Trim pasted text?</source>
        <translation>Cắt khoảng trắng văn bản đã dán?</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1383"/>
        <source>The pasted text contains leading or trailing white space. Trim it automatically?</source>
        <translation>Văn bản đã dán chứa khoảng trắng ở đầu hoặc cuối. Tự động cắt bỏ chúng không?</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1391"/>
        <source>Paste &quot;NULL&quot; as null value?</source>
        <translation>Dán &quot;NULL&quot; dưới dạng giá trị null?</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1392"/>
        <source>The pasted text contains &quot;NULL&quot; literals. Do you want to consider them as NULL values?</source>
        <translation>Văn bản đã dán chứa các literal &quot;NULL&quot;. Bạn có muốn coi chúng là giá trị NULL không?</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlqueryview.cpp" line="1520"/>
        <source>Edit value</source>
        <translation>Chỉnh sửa giá trị</translation>
    </message>
</context>
<context>
    <name>SqlViewModel</name>
    <message>
        <location filename="../datagrid/sqlviewmodel.cpp" line="127"/>
        <source>An error occurred while committing the data: %1</source>
        <translation>Đã xảy ra lỗi khi commit dữ liệu: %1</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlviewmodel.cpp" line="141"/>
        <source>Row %1: the INSTEAD OF UPDATE trigger modified more than one row (%2). The view does not uniquely identify the edited record.</source>
        <translation>Hàng %1: trigger INSTEAD OF UPDATE đã sửa đổi nhiều hơn một hàng (%2). Khung nhìn không định danh duy nhất bản ghi đã chỉnh sửa.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlviewmodel.cpp" line="188"/>
        <source>Row %1: the INSTEAD OF DELETE trigger deleted more than one row (%2). The view does not uniquely identify the edited record.</source>
        <translation>Hàng %1: trigger INSTEAD OF DELETE đã xóa nhiều hơn một hàng (%2). Khung nhìn không định danh duy nhất bản ghi đã chỉnh sửa.</translation>
    </message>
    <message>
        <location filename="../datagrid/sqlviewmodel.cpp" line="213"/>
        <source>The view has INSTEAD OF trigger(s) that handle editing. It&apos;s recommended to refresh data after commit to see the actual changes, because triggers may modify data in an unexpected way.</source>
        <translation>Khung nhìn có (các) trình kích hoạt INSTEAD OF xử lý việc chỉnh sửa. Nên&apos; làm mới dữ liệu sau khi xác nhận để xem các thay đổi thực tế, vì trình kích hoạt có thể sửa đổi dữ liệu theo cách không mong muốn.</translation>
    </message>
</context>
<context>
    <name>SqliteExtensionEditor</name>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="84"/>
        <source>Filter extensions</source>
        <translation>Lọc tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="150"/>
        <source>Leave empty to use default function</source>
        <translation>Để trống để dùng hàm mặc định</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="171"/>
        <source>Extension file</source>
        <translation>Tệp tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="178"/>
        <source>Initialization function</source>
        <translation>Hàm khởi tạo</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="194"/>
        <source>Databases</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="200"/>
        <source>Register in all databases</source>
        <translation>Đăng ký trong tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.ui" line="207"/>
        <source>Register in following databases:</source>
        <translation>Đăng ký trong các cơ sở dữ liệu sau:</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="47"/>
        <source>Extension manager window has uncommitted modifications.</source>
        <translation>Cửa sổ trình quản lý tiện ích mở rộng có các sửa đổi chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="68"/>
        <source>Extension manager</source>
        <translation>Trình quản lý tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="73"/>
        <source>Commit all extension changes</source>
        <translation>Xác nhận tất cả thay đổi tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="74"/>
        <source>Rollback all extension changes</source>
        <translation>Hoàn tác tất cả thay đổi tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="76"/>
        <source>Add new extension</source>
        <translation>Thêm tiện ích mở rộng mới</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="77"/>
        <source>Remove selected extension</source>
        <translation>Gỡ tiện ích mở rộng đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="79"/>
        <source>Import extension list from file</source>
        <translation>Nhập danh sách tiện ích mở rộng từ tệp</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="80"/>
        <source>Export extension list file</source>
        <translation>Xuất tệp danh sách tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="81"/>
        <source>Editing extensions manual</source>
        <translation>Hướng dẫn chỉnh sửa tiện ích mở rộng</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="277"/>
        <source>File with given path does not exist or is not readable.</source>
        <translation>Tệp với đường dẫn đã cho không tồn tại hoặc không thể đọc.</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="283"/>
        <source>Unable to load extension: %1</source>
        <translation>Không thể tải tiện ích mở rộng: %1</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="403"/>
        <source>Invalid initialization function name. Function name can contain only alpha-numeric characters and underscore.</source>
        <translation>Tên hàm khởi tạo không hợp lệ. Tên hàm chỉ có thể chứa ký tự chữ-số và dấu gạch dưới.</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="472"/>
        <source>Dynamic link libraries (*.dll);;All files (*)</source>
        <translation>Thư viện liên kết động (*.dll);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="474"/>
        <source>Shared objects (*.so);;All files (*)</source>
        <translation>Đối tượng chia sẻ (*.so);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="476"/>
        <source>Dynamic libraries (*.dylib);;All files (*)</source>
        <translation>Thư viện động (*.dylib);;Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="478"/>
        <source>All files (*)</source>
        <translation>Tất cả tệp (*)</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditor.cpp" line="480"/>
        <source>Open file</source>
        <translation>Mở tệp</translation>
    </message>
</context>
<context>
    <name>SqliteExtensionEditorModel</name>
    <message>
        <location filename="../windows/sqliteextensioneditormodel.cpp" line="160"/>
        <source>all databases</source>
        <translation>tất cả cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditormodel.cpp" line="164"/>
        <source>Extension:</source>
        <translation>Tiện ích mở rộng:</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditormodel.cpp" line="165"/>
        <source>File:</source>
        <translation>Tệp:</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditormodel.cpp" line="166"/>
        <source>Init function:</source>
        <translation>Hàm khởi tạo:</translation>
    </message>
    <message>
        <location filename="../windows/sqliteextensioneditormodel.cpp" line="167"/>
        <source>Registered in:</source>
        <translation>Đã đăng ký trong:</translation>
    </message>
</context>
<context>
    <name>StatusField</name>
    <message>
        <location filename="../statusfield.ui" line="14"/>
        <source>Status</source>
        <translation>Trạng thái</translation>
    </message>
    <message>
        <location filename="../statusfield.cpp" line="190"/>
        <source>Copy</source>
        <translation>Sao chép</translation>
    </message>
    <message>
        <location filename="../statusfield.cpp" line="197"/>
        <source>Clear</source>
        <translation>Xóa sạch</translation>
    </message>
</context>
<context>
    <name>TableConstraintsModel</name>
    <message>
        <location filename="../windows/tableconstraintsmodel.cpp" line="74"/>
        <source>Type</source>
        <comment>table constraints</comment>
        <translation>Kiểu</translation>
    </message>
    <message>
        <location filename="../windows/tableconstraintsmodel.cpp" line="76"/>
        <source>Details</source>
        <comment>table constraints</comment>
        <translation>Chi tiết</translation>
    </message>
    <message>
        <location filename="../windows/tableconstraintsmodel.cpp" line="78"/>
        <source>Name</source>
        <comment>table constraints</comment>
        <translation>Tên</translation>
    </message>
</context>
<context>
    <name>TableForeignKeyPanel</name>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="42"/>
        <source>Columns</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="29"/>
        <source>Referenced table:</source>
        <translation>Bảng được tham chiếu:</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="56"/>
        <source>Referencing column</source>
        <translation>Cột tham chiếu</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="68"/>
        <source>Referenced column</source>
        <translation>Cột được tham chiếu</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="104"/>
        <source>Reactions</source>
        <translation>Phản ứng</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="143"/>
        <source>Deferred foreign key</source>
        <translation>Khóa ngoại hoãn</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="161"/>
        <source>Named constraint</source>
        <translation>Ràng buộc có tên</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.ui" line="168"/>
        <source>Constraint name</source>
        <translation>Tên ràng buộc</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="53"/>
        <source>Pick the foreign column.</source>
        <translation>Chọn cột ngoại.</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="67"/>
        <source>Pick the foreign table.</source>
        <translation>Chọn bảng ngoại.</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="68"/>
        <source>Select at least one foreign column.</source>
        <translation>Chọn ít nhất một cột ngoại.</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="69"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="178"/>
        <source>Column with the same name</source>
        <translation>Cột có cùng tên</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="217"/>
        <source>Foreign column</source>
        <comment>table constraints</comment>
        <translation>Cột ngoại</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="427"/>
        <source>Referenced column is not PRIMARY KEY or UNIQUE. It may cause issues while inserting or updating data.</source>
        <translation>Cột được tham chiếu không phải PRIMARY KEY hoặc UNIQUE. Điều này có thể gây sự cố khi chèn hoặc cập nhật dữ liệu.</translation>
    </message>
    <message>
        <location filename="../constraints/tableforeignkeypanel.cpp" line="450"/>
        <source>Referenced column type (%1) is different than type declared for local column (%2). It may cause issues while inserting or updating data.</source>
        <translation>Kiểu cột được tham chiếu (%1) khác với kiểu đã khai báo cho cột cục bộ (%2). Điều này có thể gây sự cố khi chèn hoặc cập nhật dữ liệu.</translation>
    </message>
</context>
<context>
    <name>TablePrimaryKeyAndUniquePanel</name>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="32"/>
        <source>Columns</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="59"/>
        <source>Column</source>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="84"/>
        <source>Collation</source>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="109"/>
        <source>Sort</source>
        <translation>Sắp xếp</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="142"/>
        <source>Valid only for a single column with INTEGER data type</source>
        <translation>Chỉ hợp lệ cho một cột duy nhất có kiểu dữ liệu INTEGER</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="145"/>
        <source>Autoincrement</source>
        <translation>Tự động tăng</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="167"/>
        <source>Named constraint</source>
        <translation>Ràng buộc có tên</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="174"/>
        <source>Constraint name</source>
        <translation>Tên ràng buộc</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.ui" line="199"/>
        <source>On conflict</source>
        <translation>Khi xung đột</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.cpp" line="87"/>
        <source>Collate</source>
        <comment>table constraints</comment>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.cpp" line="94"/>
        <source>Sort order</source>
        <comment>table constraints</comment>
        <translation>Thứ tự sắp xếp</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.cpp" line="170"/>
        <source>Select at least one column.</source>
        <translation>Chọn ít nhất một cột.</translation>
    </message>
    <message>
        <location filename="../constraints/tablepkanduniquepanel.cpp" line="171"/>
        <source>Enter a name of the constraint.</source>
        <translation>Nhập tên của ràng buộc.</translation>
    </message>
</context>
<context>
    <name>TableStructureModel</name>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="322"/>
        <source>Name</source>
        <comment>table structure columns</comment>
        <translation>Tên</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="324"/>
        <source>Data type</source>
        <comment>table structure columns</comment>
        <translation>Kiểu dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="326"/>
        <source>Primary
Key</source>
        <comment>table structure columns</comment>
        <translation>Khóa
chính</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="328"/>
        <source>Foreign
Key</source>
        <comment>table structure columns</comment>
        <translation>Khóa
ngoại</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="330"/>
        <source>Unique</source>
        <comment>table structure columns</comment>
        <translation>Duy nhất</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="332"/>
        <source>Check</source>
        <comment>table structure columns</comment>
        <translation>Kiểm tra</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="334"/>
        <source>Not
NULL</source>
        <comment>table structure columns</comment>
        <translation>Không
NULL</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="336"/>
        <source>Collate</source>
        <comment>table structure columns</comment>
        <translation>Đối chiếu</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="338"/>
        <source>Generated</source>
        <comment>table structure columns</comment>
        <translation>Được tạo</translation>
    </message>
    <message>
        <location filename="../windows/tablestructuremodel.cpp" line="340"/>
        <source>Default value</source>
        <comment>table structure columns</comment>
        <translation>Giá trị mặc định</translation>
    </message>
</context>
<context>
    <name>TableWindow</name>
    <message>
        <location filename="../windows/tablewindow.ui" line="36"/>
        <source>Structure</source>
        <translation>Cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="70"/>
        <source>Table name:</source>
        <translation>Tên bảng:</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="87"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables/disabled the WITHOUT ROWID clause on the table. Such table will no longer have the &amp;quot;rowid&amp;quot; hidden column. For such table an explicit PRIMARY KEY column is mandatory. You can read more details on this in SQLite official documentation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bật/tắt mệnh đề WITHOUT ROWID trên bảng. Bảng như vậy sẽ không còn cột ẩn &amp;quot;rowid&amp;quot;. Với bảng như vậy, một cột PRIMARY KEY tường minh là bắt buộc. Bạn có thể đọc thêm chi tiết về điều này trong tài liệu chính thức của SQLite.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="97"/>
        <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables/disables the STRICT clause for the table. Such table makes strict verification of data stored in columns against declared data types for these columns. This is similar to how data types are usually enforced in most other database engines. Keep it disabled to use the classical SQLite bahavior (i.e. no data type enforcement). You can find more details in the official SQLite documentation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
        <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Bật/tắt mệnh đề STRICT cho bảng. Bảng như vậy sẽ kiểm tra nghiêm ngặt dữ liệu được lưu trong các cột so với kiểu dữ liệu đã khai báo cho các cột đó. Điều này tương tự cách kiểu dữ liệu thường được cưỡng chế trong hầu hết các hệ quản trị cơ sở dữ liệu khác. Giữ tắt để dùng hành vi SQLite cổ điển (tức là không cưỡng chế kiểu dữ liệu). Bạn có thể tìm thêm chi tiết trong tài liệu chính thức của SQLite.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="213"/>
        <location filename="../windows/tablewindow.cpp" line="1778"/>
        <source>Data</source>
        <translation>Dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="230"/>
        <source>Constraints</source>
        <translation>Ràng buộc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="244"/>
        <source>Indexes</source>
        <translation>Chỉ mục</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="276"/>
        <source>Triggers</source>
        <translation>Trigger</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.ui" line="311"/>
        <source>DDL</source>
        <translation>DDL (định nghĩa dữ liệu)</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="243"/>
        <source>Export table</source>
        <comment>table window</comment>
        <translation>Xuất bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="244"/>
        <source>Populate table</source>
        <comment>table window</comment>
        <translation>Điền dữ liệu vào bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="232"/>
        <source>Refresh structure</source>
        <comment>table window</comment>
        <translation>Làm mới cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="234"/>
        <source>Commit structure changes</source>
        <comment>table window</comment>
        <translation>Xác nhận thay đổi cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="235"/>
        <source>Rollback structure changes</source>
        <comment>table window</comment>
        <translation>Hoàn tác thay đổi cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="236"/>
        <source>Add column</source>
        <comment>table window</comment>
        <translation>Thêm cột</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="237"/>
        <source>Edit column</source>
        <comment>table window</comment>
        <translation>Chỉnh sửa cột</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="238"/>
        <location filename="../windows/tablewindow.cpp" line="330"/>
        <source>Delete column</source>
        <comment>table window</comment>
        <translation>Xóa cột</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="239"/>
        <source>Move column up</source>
        <comment>table window</comment>
        <translation>Di chuyển cột lên</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="240"/>
        <source>Move column down</source>
        <comment>table window</comment>
        <translation>Di chuyển cột xuống</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="246"/>
        <source>Create similar table</source>
        <comment>table window</comment>
        <translation>Tạo bảng tương tự</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="247"/>
        <source>Reset autoincrement value</source>
        <comment>table window</comment>
        <translation>Đặt lại giá trị tự động tăng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="250"/>
        <source>Add table constraint</source>
        <comment>table window</comment>
        <translation>Thêm ràng buộc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="251"/>
        <source>Edit table constraint</source>
        <comment>table window</comment>
        <translation>Chỉnh sửa ràng buộc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="252"/>
        <source>Delete table constraint</source>
        <comment>table window</comment>
        <translation>Xóa ràng buộc bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="253"/>
        <source>Move table constraint up</source>
        <comment>table window</comment>
        <translation>Di chuyển ràng buộc bảng lên</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="254"/>
        <source>Move table constraint down</source>
        <comment>table window</comment>
        <translation>Di chuyển ràng buộc bảng xuống</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="256"/>
        <source>Add table primary key</source>
        <comment>table window</comment>
        <translation>Thêm khóa chính bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="257"/>
        <source>Add table foreign key</source>
        <comment>table window</comment>
        <translation>Thêm khóa ngoại bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="258"/>
        <source>Add table unique constraint</source>
        <comment>table window</comment>
        <translation>Thêm ràng buộc duy nhất cho bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="259"/>
        <source>Add table check constraint</source>
        <comment>table window</comment>
        <translation>Thêm ràng buộc kiểm tra cho bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="242"/>
        <source>Import data to the table</source>
        <comment>table window</comment>
        <translation>Nhập dữ liệu vào bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="277"/>
        <source>Refresh index list</source>
        <comment>table window</comment>
        <translation>Làm mới danh sách chỉ mục</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="279"/>
        <source>Create index</source>
        <comment>table window</comment>
        <translation>Tạo chỉ mục</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="280"/>
        <source>Edit index</source>
        <comment>table window</comment>
        <translation>Chỉnh sửa chỉ mục</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="281"/>
        <source>Delete index</source>
        <comment>table window</comment>
        <translation>Xóa chỉ mục</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="287"/>
        <source>Refresh trigger list</source>
        <comment>table window</comment>
        <translation>Làm mới danh sách trigger</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="289"/>
        <source>Create trigger</source>
        <comment>table window</comment>
        <translation>Tạo trigger</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="290"/>
        <source>Edit trigger</source>
        <comment>table window</comment>
        <translation>Chỉnh sửa trigger</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="291"/>
        <source>Delete trigger</source>
        <comment>table window</comment>
        <translation>Xóa trigger</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="329"/>
        <source>Are you sure you want to delete column &apos;%1&apos;?</source>
        <comment>table window</comment>
        <translation>Bạn có chắc muốn xóa cột &apos;%1&apos; không?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="380"/>
        <source>Following problems will take place while modifying the table.
Would you like to proceed?</source>
        <comment>table window</comment>
        <translation>Các vấn đề sau sẽ xảy ra khi sửa đổi bảng.
Bạn có muốn tiếp tục không?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="382"/>
        <source>Table modification</source>
        <comment>table window</comment>
        <translation>Sửa đổi bảng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="507"/>
        <source>Could not load data for table %1. Error details: %2</source>
        <translation>Không thể tải dữ liệu cho bảng %1. Chi tiết lỗi: %2</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="655"/>
        <source>Could not process the %1 table correctly. Unable to open a table window.</source>
        <translation>Không thể xử lý đúng bảng %1. Không thể mở cửa sổ bảng.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="679"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="722"/>
        <source>Could not restore window %1, because no database or table was stored in session for this window.</source>
        <translation>Không thể khôi phục cửa sổ %1, vì không có cơ sở dữ liệu hoặc bảng nào được lưu trong phiên cho cửa sổ này.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="728"/>
        <source>Could not restore window &apos;%1&apos;, because no database or table was stored in session for this window.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì không có cơ sở dữ liệu hoặc bảng nào được lưu trong phiên cho cửa sổ này.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="735"/>
        <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì không thể phân giải cơ sở dữ liệu %2.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="744"/>
        <source>Could not restore window &apos;%1&apos;, because the table %2 doesn&apos;t exist in the database %3.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì bảng %2 không&apos; tồn tại trong cơ sở dữ liệu %3.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="775"/>
        <location filename="../windows/tablewindow.cpp" line="777"/>
        <source>New table %1</source>
        <translation>Bảng mới %1</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="918"/>
        <source>Committed changes for table &apos;%1&apos; successfully.</source>
        <translation>Đã xác nhận thành công các thay đổi cho bảng &apos;%1&apos;.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="922"/>
        <source>Committed changes for table &apos;%1&apos; (named before &apos;%2&apos;) successfully.</source>
        <translation>Đã xác nhận thành công các thay đổi cho bảng &apos;%1&apos; (trước đây có tên &apos;%2&apos;).</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="962"/>
        <source>Could not commit table structure. Error message: %1</source>
        <comment>table window</comment>
        <translation>Không thể xác nhận cấu trúc bảng. Thông báo lỗi: %1</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="988"/>
        <source>Reset autoincrement</source>
        <translation>Đặt lại tự động tăng</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="988"/>
        <source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
        <translation>Bạn có chắc muốn đặt lại giá trị tự động tăng cho bảng &apos;%1&apos; không?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="995"/>
        <source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
        <translation>Đã xảy ra lỗi khi cố đặt lại giá trị tự động tăng cho bảng &apos;%1&apos;: %2</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="997"/>
        <source>Autoincrement value for table &apos;%1&apos; has been reset successfully.</source>
        <translation>Giá trị tự động tăng cho bảng &apos;%1&apos; đã được đặt lại thành công.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1085"/>
        <source>Empty name</source>
        <translation>Tên trống</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1085"/>
        <source>A blank name for the table is allowed in SQLite, but it is not recommended.
Are you sure you want to create a table with blank name?</source>
        <translation>Tên trống cho bảng được SQLite cho phép, nhưng không được khuyến nghị.
Bạn có chắc muốn tạo bảng với tên trống không?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1094"/>
        <source>Cannot create a table without at least one column.</source>
        <translation>Không thể tạo bảng nếu không có ít nhất một cột.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1119"/>
        <source>Cannot create table %1, if it has no primary key defined. Either uncheck the %2, or define a primary key.</source>
        <translation>Không thể tạo bảng %1 nếu chưa định nghĩa khóa chính. Hãy bỏ chọn %2 hoặc định nghĩa một khóa chính.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1126"/>
        <source>Cannot use autoincrement for primary key when %1 clause is used. Either uncheck the %2, or the autoincrement in a primary key.</source>
        <translation>Không thể dùng tự động tăng cho khóa chính khi mệnh đề %1 được dùng. Hãy bỏ chọn %2 hoặc bỏ tự động tăng trong khóa chính.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1145"/>
        <source>Following columns have non-strict data type: %1. Either disable strict mode of the table, or fix column data types. Valid strict data types are: %2</source>
        <translation>Các cột sau có kiểu dữ liệu không nghiêm ngặt: %1. Hãy tắt chế độ nghiêm ngặt của bảng hoặc sửa kiểu dữ liệu cột. Các kiểu dữ liệu nghiêm ngặt hợp lệ là: %2</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1327"/>
        <source>Are you sure you want to delete table constraint &apos;%1&apos;?</source>
        <comment>table window</comment>
        <translation>Bạn có chắc muốn xóa ràng buộc bảng &apos;%1&apos; không?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1328"/>
        <source>Delete constraint</source>
        <comment>table window</comment>
        <translation>Xóa ràng buộc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1383"/>
        <source>Cannot export, because no export plugin is loaded.</source>
        <translation>Không thể xuất, vì chưa tải plugin xuất nào.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1396"/>
        <source>Cannot import, because no import plugin is loaded.</source>
        <translation>Không thể nhập, vì chưa tải plugin nhập nào.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1430"/>
        <source>Uncommitted changes</source>
        <translation>Thay đổi chưa xác nhận</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1431"/>
        <source>There are uncommitted structure modifications.</source>
        <translation>Có các sửa đổi cấu trúc chưa được xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1433"/>
        <source>You cannot browse or edit data until you have table structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
        <translation>Bạn không thể duyệt hoặc chỉnh sửa dữ liệu cho đến khi cấu trúc bảng được ổn định.
Bạn muốn xác nhận cấu trúc hay quay lại thẻ cấu trúc?</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1437"/>
        <source>Commit modifications and browse data</source>
        <translation>Xác nhận sửa đổi và duyệt dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1436"/>
        <source>Go back to structure tab</source>
        <translation>Quay lại thẻ cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1644"/>
        <source>Name</source>
        <comment>table window indexes</comment>
        <translation>Tên</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1645"/>
        <source>Unique</source>
        <comment>table window indexes</comment>
        <translation>Duy nhất</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1646"/>
        <source>Columns</source>
        <comment>table window indexes</comment>
        <translation>Cột</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1647"/>
        <source>Partial index condition</source>
        <comment>table window indexes</comment>
        <translation>Điều kiện chỉ mục một phần</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1703"/>
        <source>Name</source>
        <comment>table window triggers</comment>
        <translation>Tên</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1704"/>
        <source>Event</source>
        <comment>table window triggers</comment>
        <translation>Sự kiện</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1705"/>
        <source>Condition</source>
        <comment>table window triggers</comment>
        <translation>Điều kiện</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1706"/>
        <source>Details</source>
        <comment>table window triggers</comment>
        <translation>Chi tiết</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1820"/>
        <source>Table window &quot;%1&quot; has uncommitted structure modifications and data.</source>
        <translation>Cửa sổ bảng &quot;%1&quot; có các sửa đổi cấu trúc và dữ liệu chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1822"/>
        <source>Table window &quot;%1&quot; has uncommitted data.</source>
        <translation>Cửa sổ bảng &quot;%1&quot; có dữ liệu chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/tablewindow.cpp" line="1824"/>
        <source>Table window &quot;%1&quot; has uncommitted structure modifications.</source>
        <translation>Cửa sổ bảng &quot;%1&quot; có các sửa đổi cấu trúc chưa xác nhận.</translation>
    </message>
</context>
<context>
    <name>TriggerColumnsDialog</name>
    <message>
        <location filename="../dialogs/triggercolumnsdialog.ui" line="14"/>
        <source>Trigger columns</source>
        <translation>Cột trigger</translation>
    </message>
    <message>
        <location filename="../dialogs/triggercolumnsdialog.ui" line="47"/>
        <source>Triggering columns:</source>
        <translation>Cột kích hoạt:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggercolumnsdialog.ui" line="115"/>
        <source>Select all</source>
        <translation>Chọn tất cả</translation>
    </message>
    <message>
        <location filename="../dialogs/triggercolumnsdialog.ui" line="128"/>
        <source>Deselect all</source>
        <translation>Bỏ chọn tất cả</translation>
    </message>
</context>
<context>
    <name>TriggerDialog</name>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="14"/>
        <location filename="../dialogs/triggerdialog.ui" line="24"/>
        <source>Trigger</source>
        <translation>Trình kích hoạt</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="30"/>
        <source>On table:</source>
        <translation>Trên bảng:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="40"/>
        <source>Action:</source>
        <translation>Hành động:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="56"/>
        <location filename="../dialogs/triggerdialog.ui" line="127"/>
        <source>&lt;p&gt;SQL condition that will be evaluated before the actual trigger code. In case the condition returns false, the trigger will not be fired for that row.&lt;/p&gt;</source>
        <translation>&lt;p&gt;Điều kiện SQL sẽ được đánh giá trước mã trigger thực tế. Nếu điều kiện trả về false, trigger sẽ không được kích hoạt cho hàng đó.&lt;/p&gt;</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="59"/>
        <source>Pre-condition:</source>
        <translation>Điều kiện trước:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="66"/>
        <source>The scope is still not fully supported by the SQLite database.</source>
        <translation>Phạm vi vẫn chưa được cơ sở dữ liệu SQLite hỗ trợ đầy đủ.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="73"/>
        <source>Trigger name:</source>
        <translation>Tên trigger:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="80"/>
        <source>When:</source>
        <translation>Khi:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="87"/>
        <source>List of columns for UPDATE OF action.</source>
        <translation>Danh sách cột cho hành động UPDATE OF.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="97"/>
        <source>Scope:</source>
        <translation>Phạm vi:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="104"/>
        <source>Code:</source>
        <translation>Mã:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="111"/>
        <source>Trigger statements to be executed.</source>
        <translation>Các câu lệnh trigger sẽ được thực thi.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.ui" line="138"/>
        <source>DDL</source>
        <translation>DDL (định nghĩa dữ liệu)</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="154"/>
        <source>On view:</source>
        <translation>Trên khung nhìn:</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="178"/>
        <source>Could not process trigger %1 correctly. Unable to open a trigger dialog.</source>
        <translation>Không thể xử lý đúng trigger %1. Không thể mở hộp thoại trigger.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="349"/>
        <source>Enter a valid condition.</source>
        <translation>Nhập một điều kiện hợp lệ.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="350"/>
        <source>Enter a valid trigger code.</source>
        <translation>Nhập mã trigger hợp lệ.</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="428"/>
        <source>Error</source>
        <comment>trigger dialog</comment>
        <translation>Lỗi</translation>
    </message>
    <message>
        <location filename="../dialogs/triggerdialog.cpp" line="428"/>
        <source>An error occurred while executing SQL statements:
%1</source>
        <translation>Đã xảy ra lỗi khi thực thi các câu lệnh SQL:
%1</translation>
    </message>
</context>
<context>
    <name>VersionConvertSummaryDialog</name>
    <message>
        <location filename="../dialogs/versionconvertsummarydialog.ui" line="14"/>
        <source>Database version convert</source>
        <translation>Chuyển đổi phiên bản cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../dialogs/versionconvertsummarydialog.ui" line="20"/>
        <source>Following changes to the SQL statements will be made:</source>
        <translation>Các thay đổi sau sẽ được thực hiện với các câu lệnh SQL:</translation>
    </message>
    <message>
        <location filename="../dialogs/versionconvertsummarydialog.cpp" line="10"/>
        <source>Before</source>
        <translation>Trước</translation>
    </message>
    <message>
        <location filename="../dialogs/versionconvertsummarydialog.cpp" line="11"/>
        <source>After</source>
        <translation>Sau</translation>
    </message>
</context>
<context>
    <name>ViewWindow</name>
    <message>
        <location filename="../windows/viewwindow.ui" line="36"/>
        <source>Query</source>
        <translation>Truy vấn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.ui" line="70"/>
        <source>View name:</source>
        <translation>Tên khung nhìn:</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.ui" line="123"/>
        <source>Output column names</source>
        <translation>Tên cột đầu ra</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.ui" line="170"/>
        <location filename="../windows/viewwindow.cpp" line="939"/>
        <source>Data</source>
        <translation>Dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.ui" line="180"/>
        <source>Triggers</source>
        <translation>Trigger</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.ui" line="215"/>
        <source>DDL</source>
        <translation>DDL (định nghĩa dữ liệu)</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="110"/>
        <location filename="../windows/viewwindow.cpp" line="116"/>
        <source>Could not restore window &apos;%1&apos;, because no database or view was stored in session for this window.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì không có cơ sở dữ liệu hoặc khung nhìn nào được lưu trong phiên cho cửa sổ này.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="123"/>
        <source>Could not restore window &apos;%1&apos;, because database %2 could not be resolved.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì không thể phân giải cơ sở dữ liệu %2.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="129"/>
        <source>Could not restore window &apos;%1&apos;, because database %2 could not be open.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì không thể mở cơ sở dữ liệu %2.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="138"/>
        <source>Could not restore window &apos;%1&apos;, because the view %2 doesn&apos;t exist in the database %3.</source>
        <translation>Không thể khôi phục cửa sổ &apos;%1&apos;, vì khung nhìn %2 không&apos; tồn tại trong cơ sở dữ liệu %3.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="169"/>
        <location filename="../windows/viewwindow.cpp" line="171"/>
        <source>New view %1</source>
        <translation>Khung nhìn mới %1</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="294"/>
        <source>Database</source>
        <translation>Cơ sở dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="349"/>
        <source>Refresh the view</source>
        <comment>view window</comment>
        <translation>Làm mới khung nhìn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="351"/>
        <source>Commit the view changes</source>
        <comment>view window</comment>
        <translation>Xác nhận thay đổi khung nhìn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="352"/>
        <source>Rollback the view changes</source>
        <comment>view window</comment>
        <translation>Hoàn tác thay đổi khung nhìn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="356"/>
        <source>Explicit column names</source>
        <translation>Tên cột tường minh</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="362"/>
        <source>Generate output column names automatically basing on result columns of the view.</source>
        <translation>Tự động tạo tên cột đầu ra dựa trên các cột kết quả của khung nhìn.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="363"/>
        <source>Add column</source>
        <comment>view window</comment>
        <translation>Thêm cột</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="364"/>
        <source>Edit column</source>
        <comment>view window</comment>
        <translation>Chỉnh sửa cột</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="365"/>
        <source>Delete column</source>
        <comment>view window</comment>
        <translation>Xóa cột</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="366"/>
        <source>Move column up</source>
        <comment>view window</comment>
        <translation>Di chuyển cột lên</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="367"/>
        <source>Move column down</source>
        <comment>view window</comment>
        <translation>Di chuyển cột xuống</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="369"/>
        <source>Export view</source>
        <comment>view window</comment>
        <translation>Xuất khung nhìn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="378"/>
        <source>Refresh trigger list</source>
        <comment>view window</comment>
        <translation>Làm mới danh sách trigger</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="380"/>
        <source>Create new trigger</source>
        <comment>view window</comment>
        <translation>Tạo trigger mới</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="381"/>
        <source>Edit selected trigger</source>
        <comment>view window</comment>
        <translation>Chỉnh sửa trigger đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="382"/>
        <source>Delete selected trigger</source>
        <comment>view window</comment>
        <translation>Xóa trigger đã chọn</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="403"/>
        <source>View window &quot;%1&quot; has uncommitted structure modifications and data.</source>
        <translation>Cửa sổ khung nhìn &quot;%1&quot; có các sửa đổi cấu trúc và dữ liệu chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="405"/>
        <source>View window &quot;%1&quot; has uncommitted data.</source>
        <translation>Cửa sổ khung nhìn &quot;%1&quot; có dữ liệu chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="407"/>
        <source>View window &quot;%1&quot; has uncommitted structure modifications.</source>
        <translation>Cửa sổ khung nhìn &quot;%1&quot; có các sửa đổi cấu trúc chưa xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="638"/>
        <source>Could not load data for view %1. Error details: %2</source>
        <translation>Không thể tải dữ liệu cho khung nhìn %1. Chi tiết lỗi: %2</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="650"/>
        <source>Uncommitted changes</source>
        <translation>Thay đổi chưa xác nhận</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="651"/>
        <source>There are uncommitted structure modifications.</source>
        <translation>Có các sửa đổi cấu trúc chưa được xác nhận.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="653"/>
        <source>You cannot browse or edit data until you have the view structure settled.
Do you want to commit the structure, or do you want to go back to the structure tab?</source>
        <translation>Bạn không thể duyệt hoặc chỉnh sửa dữ liệu cho đến khi cấu trúc khung nhìn được ổn định.
Bạn muốn xác nhận cấu trúc hay quay lại thẻ cấu trúc?</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="657"/>
        <source>Commit modifications and browse data</source>
        <translation>Xác nhận sửa đổi và duyệt dữ liệu</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1085"/>
        <source>The view could not be modified due to internal Letos error. Please report this!</source>
        <translation>Không thể sửa đổi khung nhìn do lỗi nội bộ của Letos. Vui lòng báo cáo lỗi này!</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1111"/>
        <source>The view code could not be parsed properly for execution. This is a Letos&apos;s bug. Please report it.</source>
        <translation>Không thể phân tích đúng mã khung nhìn để thực thi. Đây là lỗi Letos&apos;s. Vui lòng báo cáo lỗi này.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="656"/>
        <source>Go back to structure tab</source>
        <translation>Quay lại thẻ cấu trúc</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="709"/>
        <source>View &apos;%1&apos; was committed successfully.</source>
        <translation>Khung nhìn &apos;%1&apos; đã được xác nhận thành công.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="711"/>
        <source>Committed changes for view &apos;%1&apos; successfully.</source>
        <translation>Đã xác nhận thành công các thay đổi cho khung nhìn &apos;%1&apos;.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="713"/>
        <source>Committed changes for view &apos;%1&apos; (named before &apos;%2&apos;) successfully.</source>
        <translation>Đã xác nhận thành công các thay đổi cho khung nhìn &apos;%1&apos; (trước đây có tên &apos;%2&apos;).</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="736"/>
        <source>Could not commit view changes. Error message: %1</source>
        <comment>view window</comment>
        <translation>Không thể xác nhận thay đổi khung nhìn. Thông báo lỗi: %1</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="880"/>
        <source>Override columns</source>
        <translation>Ghi đè cột</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="880"/>
        <source>Currently defined columns will be overriden. Do you want to continue?</source>
        <translation>Các cột hiện được định nghĩa sẽ bị ghi đè. Bạn có muốn tiếp tục không?</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="903"/>
        <source>Could not determinate columns returned from the view. The query is problably incomplete or contains errors.</source>
        <translation>Không thể xác định các cột được trả về từ khung nhìn. Truy vấn có thể chưa hoàn chỉnh hoặc chứa lỗi.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="922"/>
        <source>Cannot export, because no export plugin is loaded.</source>
        <translation>Không thể xuất, vì chưa tải plugin xuất nào.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="971"/>
        <source>Name</source>
        <comment>view window triggers</comment>
        <translation>Tên</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="972"/>
        <source>Instead of</source>
        <comment>view window triggers</comment>
        <translation>Thay vì</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="973"/>
        <source>Condition</source>
        <comment>view window triggers</comment>
        <translation>Điều kiện</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="974"/>
        <source>Details</source>
        <comment>table window triggers</comment>
        <translation>Chi tiết</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1018"/>
        <source>Could not process the %1 view correctly. Unable to open a view window.</source>
        <translation>Không thể xử lý đúng khung nhìn %1. Không thể mở cửa sổ khung nhìn.</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1065"/>
        <source>Empty name</source>
        <translation>Tên trống</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1065"/>
        <source>A blank name for the view is allowed in SQLite, but it is not recommended.
Are you sure you want to create a view with blank name?</source>
        <translation>Tên trống cho khung nhìn được SQLite cho phép, nhưng không được khuyến nghị.
Bạn có chắc muốn tạo khung nhìn với tên trống không?</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1077"/>
        <source>The SELECT statement could not be parsed. Please correct the query and retry.
Details: %1</source>
        <translation>Không thể phân tích câu lệnh SELECT. Vui lòng sửa truy vấn và thử lại.
Chi tiết: %1</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1123"/>
        <source>Following problems will take place while modifying the view.
Would you like to proceed?</source>
        <comment>view window</comment>
        <translation>Các vấn đề sau sẽ xảy ra khi sửa đổi khung nhìn.
Bạn có muốn tiếp tục không?</translation>
    </message>
    <message>
        <location filename="../windows/viewwindow.cpp" line="1125"/>
        <source>View modification</source>
        <comment>view window</comment>
        <translation>Sửa đổi khung nhìn</translation>
    </message>
</context>
<context>
    <name>WidgetCover</name>
    <message>
        <location filename="../common/widgetcover.cpp" line="242"/>
        <source>Interrupt</source>
        <translation>Ngắt</translation>
    </message>
</context>
</TS>
