<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh-CN" sourcelanguage="en">
  <context>
    <name>AboutDialog</name>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="24"/>
      <source>About</source>
      <translation>关于</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="41"/>
      <source>Licenses</source>
      <translation>许可协议</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="55"/>
      <source>Environment</source>
      <translation>环境</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="102"/>
      <source>Icon directories</source>
      <translation>图标目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="170"/>
      <source>Form directories</source>
      <translation>表单目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="187"/>
      <source>SQLite extension directories</source>
      <translation>SQLite 扩展目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="140"/>
      <source>Plugin directories</source>
      <translation>插件目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="14"/>
      <source>About Letos and licenses</source>
      <translation>关于 Letos 和许可证</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;免费、开源、跨平台的 SQLite 数据库管理器。&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;作者和活跃维护者：&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>配置文件目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="150"/>
      <source>Application directory</source>
      <translation>应用程序目录</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="85"/>
      <source>Qt version:</source>
      <translation>Qt 版本：</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.ui" line="160"/>
      <source>SQLite 3 version:</source>
      <translation>SQLite 3 版本：</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.cpp" line="42"/>
      <source>Portable distribution.</source>
      <translation>便携版。</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.cpp" line="45"/>
      <source>MacOS X application bundle distribution.</source>
      <translation>MacOS X 应用程序捆绑分发。</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.cpp" line="48"/>
      <source>Operating system managed distribution.</source>
      <translation>系统提供版。</translation>
    </message>
    <message>
      <location filename="../dialogs/aboutdialog.cpp" line="102"/>
      <source>&lt;h3&gt;Table of contents:&lt;/h3&gt;&lt;ol&gt;%2&lt;/ol&gt;</source>
      <translation>&lt;h3&gt;目录：&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>查询参数</translation>
    </message>
    <message>
      <location filename="../dialogs/bindparamsdialog.ui" line="26"/>
      <source>Please provide values for query parameters</source>
      <translation>请提供一个值作为查询参数</translation>
    </message>
    <message>
      <location filename="../dialogs/bindparamsdialog.ui" line="68"/>
      <source>Advanced mode</source>
      <translation>高级模式</translation>
    </message>
  </context>
  <context>
    <name>CellRendererTable</name>
    <message>
      <location filename="../configwidgets/cellrenderertable.cpp" line="33"/>
      <source>Default</source>
      <translation>默认</translation>
    </message>
  </context>
  <context>
    <name>CodeSnippetEditor</name>
    <message>
      <location filename="../windows/codesnippeteditor.ui" line="84"/>
      <source>Filter snippets</source>
      <translation>筛选代码片段</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;可选快捷键，仅在激活的代码助手窗口中使用。它允许用户使用组合键，否则会与其他快捷键发生冲突。将代码助手窗口作为所需的上下文，可以使按键的选择更加灵活。&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;代码片段的名称将显示在代码助手中。要访问片段列表，用户必须点击两次代码助手快捷键。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.ui" line="207"/>
      <source>Snippet name</source>
      <translation>代码片段名称</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.ui" line="224"/>
      <source>Code assistant shortcut</source>
      <translation>代码助手快捷键</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.ui" line="240"/>
      <source>Snippet code</source>
      <translation>代码片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="50"/>
      <source>Code Snippets editor window has uncommitted modifications.</source>
      <translation>代码片段编辑器窗口有未提交的修改。</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="71"/>
      <source>Code Snippets editor</source>
      <translation>代码片段编辑器</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="76"/>
      <source>Commit all snippet changes</source>
      <translation>提交所有片段更改</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="77"/>
      <source>Rollback all snippet changes</source>
      <translation>回滚所有片段更改</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="79"/>
      <source>Create new snippet</source>
      <translation>创建新的片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="80"/>
      <source>Delete selected snippet</source>
      <translation>删除所选代码片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="82"/>
      <source>Move the snippet up</source>
      <translation>向上移动代码片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="83"/>
      <source>Move the snippet down</source>
      <translation>向下移动代码片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="85"/>
      <source>Import snippets from file</source>
      <translation>从文件中导入代码片段</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="86"/>
      <source>Export snippets to file</source>
      <translation>导出代码片段到文件</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="87"/>
      <source>Code snippets manual</source>
      <translation>代码片段手册</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="325"/>
      <source>Enter a non-empty, unique name of the snippet.</source>
      <translation>输入一个非空、唯一的片段名称。</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="328"/>
      <source>Enter a non-empty snippet content.</source>
      <translation>输入非空的片段内容。</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.cpp" line="332"/>
      <source>This hotkey is not unique in context of a code assistant.</source>
      <translation>在代码助手中，这个热键并不是唯一的。</translation>
    </message>
  </context>
  <context>
    <name>CodeSnippetEditorModel</name>
    <message>
      <location filename="../windows/codesnippeteditormodel.cpp" line="253"/>
      <source>Name:</source>
      <translation>名称：</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditormodel.cpp" line="254"/>
      <source>Hotkey:</source>
      <translation>热键：</translation>
    </message>
  </context>
  <context>
    <name>CodeSnippetsPanel</name>
    <message>
      <location filename="../codesnippetspanel.ui" line="17"/>
      <source>Code Snippets</source>
      <translation>代码片段</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;将代码片段拖到 SQL 编辑器中即可使用。&lt;/p&gt;&lt;p&gt;在此处放置任何代码（或文本）即可添加新的代码片段。&lt;/p&gt;&lt;p&gt;双击即可编辑代码片段。&lt;/p&gt;&lt;p&gt;代码片段也可在代码助手中使用。调用两次代码助手即可显示代码片段。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../codesnippetspanel.ui" line="69"/>
      <source>Preview</source>
      <translation>预览</translation>
    </message>
    <message>
      <location filename="../codesnippetspanel.cpp" line="69"/>
      <source>Add code snippet</source>
      <translation>添加代码片段</translation>
    </message>
    <message>
      <location filename="../codesnippetspanel.cpp" line="69"/>
      <source>Enter a name for the new code snippet:</source>
      <translation>请输入新代码片段的名称：</translation>
    </message>
    <message>
      <location filename="../codesnippetspanel.cpp" line="97"/>
      <source>Filter by name</source>
      <translation>按名称过滤</translation>
    </message>
  </context>
  <context>
    <name>CollationsEditor</name>
    <message>
      <location filename="../windows/collationseditor.ui" line="84"/>
      <source>Filter collations</source>
      <translation>筛选字符序</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="163"/>
      <source>Databases</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="169"/>
      <source>Register in all databases</source>
      <translation>在所有数据库中注册</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="176"/>
      <source>Register in following databases:</source>
      <translation>在下列数据库中注册：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="197"/>
      <source>Implementation code:</source>
      <translation>实现代码：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="229"/>
      <source>Collation name:</source>
      <translation>字符序名称：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="239"/>
      <source>Collation type:</source>
      <translation>排序类型：</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;使用脚本语言直接在 Letos 中实现比较逻辑。选择此类型可以创建完全自定义的排序和比较规则，而无需外部 SQLite 扩展。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="251"/>
      <source>Function-based</source>
      <translation>基于函数</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;使用 SQLite 扩展或外部库实现的排序规则。当比较逻辑已存在于 Letos 之外时，例如在 ICU 或其他 SQLite 扩展中，请选择此类型。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="261"/>
      <source>Extension-based</source>
      <translation>基于扩展</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.ui" line="270"/>
      <source>Implementation language:</source>
      <translation>实现语言：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="56"/>
      <source>Collations editor</source>
      <translation>字符序编辑器</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="61"/>
      <source>Commit all collation changes</source>
      <translation>提交全部字符序更改</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="62"/>
      <source>Rollback all collation changes</source>
      <translation>回滚所有字符序更改</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="64"/>
      <source>Create new collation</source>
      <translation>创建新字符序</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="65"/>
      <source>Delete selected collation</source>
      <translation>删除选中字符序</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="67"/>
      <source>Import collations from file</source>
      <translation>从文件导入排序</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="68"/>
      <source>Export collations to file</source>
      <translation>导出排序到文件</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="69"/>
      <source>Editing collations manual</source>
      <translation>手动编辑字符序</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="322"/>
      <source>Enter a non-empty, unique name of the collation.</source>
      <translation>请为字符序输入一个非空且唯一的名称。</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="332"/>
      <source>Pick the implementation language.</source>
      <translation>选择实现语言。</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="337"/>
      <source>Registration code</source>
      <translation>注册代码</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="338"/>
      <source>Enter a non-empty registration code.</source>
      <translation>输入非空的注册码。</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="346"/>
      <source>Implementation code</source>
      <translation>实现代码</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="347"/>
      <source>Enter a non-empty implementation code.</source>
      <translation>请输入非空的实现代码。</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.cpp" line="506"/>
      <source>Collations editor window has uncommitted modifications.</source>
      <translation>字符序编辑器有未提交的修改。</translation>
    </message>
  </context>
  <context>
    <name>CollationsEditorModel</name>
    <message>
      <location filename="../windows/collationseditormodel.cpp" line="219"/>
      <source>all databases</source>
      <translation>所有数据库</translation>
    </message>
    <message>
      <location filename="../windows/collationseditormodel.cpp" line="224"/>
      <source>Collation:</source>
      <translation>排序：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditormodel.cpp" line="225"/>
      <source>Type:</source>
      <translation>类型：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditormodel.cpp" line="226"/>
      <source>Language:</source>
      <translation>语言：</translation>
    </message>
    <message>
      <location filename="../windows/collationseditormodel.cpp" line="227"/>
      <source>Registered in:</source>
      <translation>注册于：</translation>
    </message>
  </context>
  <context>
    <name>ColorButton</name>
    <message>
      <location filename="../common/colorbutton.cpp" line="29"/>
      <source>Pick a color</source>
      <translation>选择一种颜色</translation>
    </message>
  </context>
  <context>
    <name>ColorPickerPopup</name>
    <message>
      <location filename="../common/colorpickerpopup.cpp" line="58"/>
      <source>Clear</source>
      <translation>清除</translation>
    </message>
    <message>
      <location filename="../common/colorpickerpopup.cpp" line="65"/>
      <source>Custom colors</source>
      <translation>自定义颜色</translation>
    </message>
    <message>
      <location filename="../common/colorpickerpopup.cpp" line="73"/>
      <source>Add custom color</source>
      <translation>添加自定义颜色</translation>
    </message>
    <message>
      <location filename="../common/colorpickerpopup.cpp" line="219"/>
      <source>Select color</source>
      <translation>选择颜色</translation>
    </message>
  </context>
  <context>
    <name>ColumnCollatePanel</name>
    <message>
      <location filename="../constraints/columncollatepanel.ui" line="41"/>
      <source>Collation name:</source>
      <translation>字符序名称：</translation>
    </message>
    <message>
      <location filename="../constraints/columncollatepanel.ui" line="73"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/columncollatepanel.cpp" line="80"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入约束的名称。</translation>
    </message>
    <message>
      <location filename="../constraints/columncollatepanel.cpp" line="81"/>
      <source>Enter a collation name.</source>
      <translation>输入字符序的名称。</translation>
    </message>
  </context>
  <context>
    <name>ColumnDefaultPanel</name>
    <message>
      <location filename="../constraints/columndefaultpanel.ui" line="20"/>
      <source>Default value:</source>
      <translation>默认值：</translation>
    </message>
    <message>
      <location filename="../constraints/columndefaultpanel.ui" line="35"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/columndefaultpanel.cpp" line="39"/>
      <source>Enter a default value expression.</source>
      <translation>输入默认值表达式。</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>无效的默认值表达式：%1。如果你想使用简单的字符串作为值，记得用引号将其框起来。</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>无效的默认值表达式。如果你想使用简单的字符串作为值，记得用引号将其框起来。</translation>
    </message>
    <message>
      <location filename="../constraints/columndefaultpanel.cpp" line="92"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入约束名：</translation>
    </message>
  </context>
  <context>
    <name>ColumnDialog</name>
    <message>
      <location filename="../dialogs/columndialog.ui" line="20"/>
      <source>Column</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="29"/>
      <source>Name and type</source>
      <translation>名称和类型</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="41"/>
      <source>Scale</source>
      <translation>小数位数</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="61"/>
      <source>Precision</source>
      <translation>精度</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="68"/>
      <source>Data type:</source>
      <translation>数据类型：</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="75"/>
      <source>Column name:</source>
      <translation>列名：</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="85"/>
      <source>Size:</source>
      <translation>大小：</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="108"/>
      <source>Constraints</source>
      <translation>约束</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>此列是复合主键的一部分。复合约束在“结构”选项卡的底部进行配置。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="141"/>
      <source>Composite Primary Key</source>
      <translation>复合主键</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>此列是复合外键的一部分。复合约束在“结构”选项卡的底部进行配置。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="164"/>
      <source>Composite Foreign Key</source>
      <translation>复合外键</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="209"/>
      <source>Generated value</source>
      <translation>生成的值</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="223"/>
      <source>Unique</source>
      <translation>唯一</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>配置</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="258"/>
      <source>Foreign Key</source>
      <translation>外键</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="237"/>
      <source>Collate</source>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="265"/>
      <source>Not NULL</source>
      <translation>非空</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="128"/>
      <source>Check condition</source>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="230"/>
      <source>Primary Key</source>
      <translation>主键</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="174"/>
      <source>Default</source>
      <translation>默认</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="188"/>
      <source>Autoincrement</source>
      <translation>自动递增</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>此列是复合唯一约束的一部分。复合约束在“结构”选项卡的底部进行配置。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="278"/>
      <source>Composite Unique</source>
      <translation>复合型独特</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.ui" line="345"/>
      <source>Advanced mode</source>
      <translation>高级模式</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="85"/>
      <source>Add constraint</source>
      <comment>column dialog</comment>
      <translation>添加约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="86"/>
      <source>Edit constraint</source>
      <comment>column dialog</comment>
      <translation>编辑约束</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>删除约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="88"/>
      <source>Move constraint up</source>
      <comment>column dialog</comment>
      <translation>上移约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="89"/>
      <source>Move constraint down</source>
      <comment>column dialog</comment>
      <translation>下移约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="91"/>
      <source>Add a primary key</source>
      <comment>column dialog</comment>
      <translation>添加主键</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="92"/>
      <source>Add a foreign key</source>
      <comment>column dialog</comment>
      <translation>添加外键</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="93"/>
      <source>Add an unique constraint</source>
      <comment>column dialog</comment>
      <translation>添加唯一约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="94"/>
      <source>Add a check constraint</source>
      <comment>column dialog</comment>
      <translation>添加条件约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="95"/>
      <source>Add a not null constraint</source>
      <comment>column dialog</comment>
      <translation>添加非空约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="96"/>
      <source>Add a collate constraint</source>
      <comment>column dialog</comment>
      <translation>添加字符序约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="97"/>
      <source>Add a generated value constraint</source>
      <comment>column dialog</comment>
      <translation>添加生成的值约束</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="98"/>
      <source>Add a default constraint</source>
      <comment>column dialog</comment>
      <translation>添加默认约束</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>确定要删除约束“%1”吗？</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="316"/>
      <source>Correct the constraint&apos;s configuration.</source>
      <translation>请纠正约束配置。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="386"/>
      <source>Scale is not allowed for INTEGER PRIMARY KEY columns.</source>
      <translation>INTEGER PRIMARY KEY 列中不允许小数位数。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="387"/>
      <source>Precision cannot be defined without the scale.</source>
      <translation>有小数位数才能定义精度。</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>主键（PRIMARY KEY）已启用自动递增（AUTOINCREMENT），不能使用 INTEGER 以外的类型。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="389"/>
      <source>INTEGER type was enforced due to enabled AUTOINCREMENT in PRIMARY KEY.</source>
      <translation>主键（PRIMARY KEY）已启用自动递增（AUTOINCREMENT），强制使用 INTEGER 类型。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="411"/>
      <source>Precision is not allowed for INTEGER PRIMARY KEY columns.</source>
      <translation>不允许对整型主键（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>引用的列类型 (%1) 与此列中声明的类型不同。这可能会在插入或更新数据时导致问题。</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialog.cpp" line="771"/>
      <source>Could not match valid STRICT table datatype from declared type: %1.</source>
      <translation>无法从声明的类型中匹配有效的 STRICT 表数据类型：%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>类型</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialogconstraintsmodel.cpp" line="342"/>
      <source>Name</source>
      <comment>column dialog constraints</comment>
      <translation>名称</translation>
    </message>
    <message>
      <location filename="../dialogs/columndialogconstraintsmodel.cpp" line="344"/>
      <source>Details</source>
      <comment>column dialog constraints</comment>
      <translation>详情</translation>
    </message>
  </context>
  <context>
    <name>ColumnForeignKeyPanel</name>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="29"/>
      <source>Referenced table:</source>
      <translation>引用表：</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="45"/>
      <source>Referenced column:</source>
      <translation>引用列：</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="58"/>
      <source>Reactions</source>
      <translation>响应</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="97"/>
      <source>Deferred foreign key</source>
      <translation>延迟外键约束</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="115"/>
      <source>Named constraint</source>
      <translation>命名的约束</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.ui" line="122"/>
      <source>Constraint name</source>
      <translation>约束名称</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.cpp" line="40"/>
      <source>Pick the foreign table.</source>
      <translation>选择一个外部表。</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.cpp" line="41"/>
      <source>Pick the foreign column.</source>
      <translation>选择一个外部字段。</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.cpp" line="42"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入约束名称</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.cpp" line="56"/>
      <source>The referenced column should be a PRIMARY KEY or UNIQUE.</source>
      <translation>引用的列应该是主键或唯一键。</translation>
    </message>
    <message>
      <location filename="../constraints/columnforeignkeypanel.cpp" line="162"/>
      <source>Column with the same name</source>
      <translation>同名列</translation>
    </message>
  </context>
  <context>
    <name>ColumnGeneratedPanel</name>
    <message>
      <location filename="../constraints/columngeneratedpanel.ui" line="20"/>
      <source>Generating code:</source>
      <translation>生成代码：</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.ui" line="35"/>
      <source>Explicit type:</source>
      <translation>显式类型：</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.ui" line="58"/>
      <source>Use &quot;GENERATED ALWAYS&quot; keywords</source>
      <translation>使用 &quot;GENERATED ALWAYS&quot; 关键字</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.ui" line="71"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.cpp" line="40"/>
      <source>Enter the column value generating expression.</source>
      <translation>请输入列值生成表达式。</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.cpp" line="87"/>
      <source>Invalid value generating expression: %1.</source>
      <translation>无效的值生成表达式：%1。</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.cpp" line="93"/>
      <source>Invalid value generating expression.</source>
      <translation>无效的值生成表达式。</translation>
    </message>
    <message>
      <location filename="../constraints/columngeneratedpanel.cpp" line="96"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入约束名称。</translation>
    </message>
  </context>
  <context>
    <name>ColumnPrimaryKeyPanel</name>
    <message>
      <location filename="../constraints/columnprimarykeypanel.ui" line="26"/>
      <source>Autoincrement</source>
      <translation>自动递增</translation>
    </message>
    <message>
      <location filename="../constraints/columnprimarykeypanel.ui" line="48"/>
      <source>Sort order:</source>
      <translation>排序：</translation>
    </message>
    <message>
      <location filename="../constraints/columnprimarykeypanel.ui" line="83"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/columnprimarykeypanel.ui" line="111"/>
      <source>On conflict:</source>
      <translation>当冲突时：</translation>
    </message>
    <message>
      <location filename="../constraints/columnprimarykeypanel.cpp" line="88"/>
      <source>Enter a name of the constraint.</source>
      <translation>请输入约束名称。</translation>
    </message>
    <message>
      <location filename="../constraints/columnprimarykeypanel.cpp" line="97"/>
      <source>Descending order is not allowed with AUTOINCREMENT.</source>
      <translation>自增不允许降序。</translation>
    </message>
  </context>
  <context>
    <name>ColumnUniqueAndNotNullPanel</name>
    <message>
      <location filename="../constraints/columnuniqueandnotnullpanel.ui" line="41"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/columnuniqueandnotnullpanel.ui" line="69"/>
      <source>On conflict:</source>
      <translation>当冲突时：</translation>
    </message>
    <message>
      <location filename="../constraints/columnuniqueandnotnullpanel.cpp" line="73"/>
      <source>Enter a name of the constraint.</source>
      <translation>请输入约束名称。</translation>
    </message>
  </context>
  <context>
    <name>CommandPalette</name>
    <message>
      <location filename="../commandpalette/commandpalette.cpp" line="53"/>
      <source>Search anything...</source>
      <translation>搜索任何内容……</translation>
    </message>
  </context>
  <context>
    <name>CompleterWindow</name>
    <message>
      <location filename="../completer/completerwindow.cpp" line="95"/>
      <source>Press / to filter snippets</source>
      <translation>按 / 键筛选片段</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="95"/>
      <source>Press / to use hotkeys</source>
      <translation>按 / 键使用快捷键</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="310"/>
      <source>Column: %1</source>
      <comment>completer statusbar</comment>
      <translation>列：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="312"/>
      <source>Table: %1</source>
      <comment>completer statusbar</comment>
      <translation>表：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="314"/>
      <source>Index: %1</source>
      <comment>completer statusbar</comment>
      <translation>索引：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="316"/>
      <source>Trigger: %1</source>
      <comment>completer statusbar</comment>
      <translation>触发器：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="318"/>
      <source>View: %1</source>
      <comment>completer statusbar</comment>
      <translation>视图：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="320"/>
      <source>Database: %1</source>
      <comment>completer statusbar</comment>
      <translation>数据库：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="332"/>
      <source>Keyword: %1</source>
      <comment>completer statusbar</comment>
      <translation>关键字：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="334"/>
      <source>Function: %1</source>
      <comment>completer statusbar</comment>
      <translation>函数：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="336"/>
      <source>Operator: %1</source>
      <comment>completer statusbar</comment>
      <translation>操作符：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="338"/>
      <source>String</source>
      <comment>completer statusbar</comment>
      <translation>字符串</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="340"/>
      <source>Number</source>
      <comment>completer statusbar</comment>
      <translation>数值</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="342"/>
      <source>Binary data</source>
      <comment>completer statusbar</comment>
      <translation>二进制数据</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="344"/>
      <source>Collation: %1</source>
      <comment>completer statusbar</comment>
      <translation>字符序：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="346"/>
      <source>Pragma function: %1</source>
      <comment>completer statusbar</comment>
      <translation>PRAGMA 函数：%1</translation>
    </message>
    <message>
      <location filename="../completer/completerwindow.cpp" line="348"/>
      <source>Join condition: %1</source>
      <comment>completer statusbar</comment>
      <translation>加入条件： %1</translation>
    </message>
  </context>
  <context>
    <name>ConfigDialog</name>
    <message>
      <location filename="../dialogs/configdialog.ui" line="14"/>
      <location filename="../dialogs/configdialog.ui" line="3244"/>
      <source>Configuration</source>
      <translation>配置</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="63"/>
      <source>Search</source>
      <translation>搜索</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="100"/>
      <source>General</source>
      <translation>通用</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="108"/>
      <source>Keyboard shortcuts</source>
      <translation>快捷键</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="116"/>
      <source>Look &amp; feel</source>
      <translation>外观</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="123"/>
      <source>Style</source>
      <translation>风格</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="131"/>
      <source>Fonts</source>
      <translation>字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="139"/>
      <source>Code colors</source>
      <translation>代码颜色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="156"/>
      <location filename="../dialogs/configdialog.ui" line="229"/>
      <source>Database list</source>
      <translation>数据库列表</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1302"/>
      <source>Code assistant</source>
      <translation>代码助手</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="164"/>
      <source>Data browsing</source>
      <translation>浏览数据</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="148"/>
      <location filename="../dialogs/configdialog.ui" line="1215"/>
      <source>SQL Editor</source>
      <translation>SQL 编辑器</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="171"/>
      <source>Data editors</source>
      <translation>数据编辑器</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="188"/>
      <source>Plugins</source>
      <translation>插件</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="195"/>
      <source>Code formatters</source>
      <translation>代码格式化器</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="203"/>
      <source>Scripting languages</source>
      <translation>脚本语言</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="258"/>
      <source>If switched off, then columns will be sorted in the order they are typed in CREATE TABLE statement.</source>
      <translation>如果关闭，列将按照 CREATE TABLE 中的顺序排序。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="261"/>
      <source>Sort table columns alphabetically</source>
      <translation>按字母顺序列出表的列</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="297"/>
      <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;附加标签是显示在数据库列表的名称旁边的文本标签（除非另有配置，否则为蓝色）。启用此选项将为数据库、无效数据库和聚合节点（列组、索引组、触发器组）显示标签。更多标签见下方选项。&lt;p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="300"/>
      <source>Display additional labels on the list</source>
      <translation>在列表中显示附加标签</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="331"/>
      <source>Display labels for regular tables</source>
      <translation>为普通表显示标签</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="341"/>
      <source>Virtual tables will be marked with a &apos;virtual&apos; label.</source>
      <translation>虚拟表将附以“虚拟”标签。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="344"/>
      <source>Display labels for virtual tables</source>
      <translation>为虚拟表显示标签</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="284"/>
      <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>如果关闭此选项，则对象将按照 sqlite_master 表中的顺序（即它们被创建的顺序）排列</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="287"/>
      <source>Sort objects (tables, indexes, triggers and views) alphabetically</source>
      <translation>按字母顺序排列对象（表、索引、触发器及视图）</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="360"/>
      <source>Display system tables and indexes on the list</source>
      <translation>在列表中显示系统表和索引</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="383"/>
      <source>Database dialog window</source>
      <translation>数据库对话框窗口</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="389"/>
      <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;添加新的数据库时，默认会将其标记为“永久”（存储在配置文件中）。选中此选项则新添加的数据库将默认不标记为“永久”。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="392"/>
      <source>Do not mark database to be &quot;permanent&quot; by default</source>
      <translation>默认不将新添加的数据库标为“永久”</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="450"/>
      <source>Data browsing and editing</source>
      <translation>浏览和编辑数据</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="456"/>
      <location filename="../dialogs/configdialog.ui" line="469"/>
      <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;在配置文件中存储，“表填充”对话框中的最大数量。值 100 应已足够。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="472"/>
      <source>Number of memorized table populating configurations</source>
      <translation>表填充配置中的默认填充行数</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="547"/>
      <source>Use scientific notation for very small real numbers in the grid view</source>
      <translation>在网格视图中，对于非常小的实数，请使用科学计数法。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="586"/>
      <source>Data column width</source>
      <translation>数据列宽度</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="592"/>
      <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;当用户在列中输入新值，且该值大于当前列宽时，应用程序将放大该列以适应新值，但宽度不得超过上述选项中定义的限制。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="595"/>
      <source>Enlarge column when entering value longer than current width</source>
      <translation>当输入的数值长于当前宽度时，放大列</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="611"/>
      <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;当数据被加载到网格视图时，列宽会自动调整。此值限制初始化时的列宽度，之后您仍可以手动调整列宽，不受此限制。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="537"/>
      <source>Number of data rows per page:</source>
      <translation>每页数据行数：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="570"/>
      <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;此项启用后，用户鼠标悬停在任意数据视图（查询结果、表数据、视图数据）的单元格上时，工具提示将显示该单元格的详细信息——包括列数据类型、约束、ROWID 等。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="573"/>
      <source>Show column and row details tooltip in data view</source>
      <translation>在数据视图中展示列与行的详细信息</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="479"/>
      <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;编辑一个过去为 NULL 值的单元格且新输入的值为空字符串时，此选项启用则该单元格的值保持 NULL 不变，此选项未启用则空字符串覆盖原 NULL 值。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="482"/>
      <source>Keep NULL value when entering empty value</source>
      <translation>当输入空值时保持 NULL 值</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="560"/>
      <source>Limit number of rows for in case of dozens of columns</source>
      <translation>列数过多时限制每页显示的行数</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="691"/>
      <source>Inserting new row in data grid</source>
      <translation>网格视图中插入新行时</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="697"/>
      <source>Before currently selected row</source>
      <translation>在选中行之前</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="713"/>
      <source>After currently selected row</source>
      <translation>在选中行之后</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="726"/>
      <source>At the end of data view</source>
      <translation>在数据视图的末尾</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="742"/>
      <source>Table windows</source>
      <translation>表窗口</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="748"/>
      <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;启用后，表窗口将显示数据选项卡，而不是结构选项卡。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="751"/>
      <source>Open Table Windows with the data tab for start</source>
      <translation>打开表窗口时显示“数据”选项卡</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="761"/>
      <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;启用后，“数据”选项卡将作为第一个选项卡放置在每个表窗口中，而不是位于第二位。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="764"/>
      <source>Place data tab as first tab in a Table Window</source>
      <translation>将数据作为表窗口的第一项</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="777"/>
      <source>View windows</source>
      <translation>视图窗口</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="783"/>
      <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;启用后，视图窗口将显示数据选项卡，而不是结构选项卡。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="786"/>
      <source>Open View Windows with the data tab for start</source>
      <translation>打开视图窗口时显示“数据”选项卡</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="796"/>
      <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;启用后，“数据”选项卡将作为第一个选项卡放置在每个视图窗口中，而不是位于第二个位置。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="799"/>
      <source>Place data tab as first tab in a View Window</source>
      <translation>将“数据”选项卡放置为视图窗口的首个选项卡</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="843"/>
      <source>Data types</source>
      <translation>数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="896"/>
      <source>Available editors:</source>
      <translation>可用的编辑器：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1013"/>
      <source>Schema editing</source>
      <translation>结构编辑</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1025"/>
      <source>Number of DDL changes kept in history.</source>
      <translation>DDL 变更历史的记录数量。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1038"/>
      <source>DDL history size:</source>
      <translation>DDL 历史大小：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1045"/>
      <source>Don&apos;t show DDL preview dialog when committing schema changes</source>
      <translation>提交结构更改时不显示 DDL 预览对话框</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1343"/>
      <location filename="../dialogs/configdialog.ui" line="1359"/>
      <source>Number of queries kept in the history.</source>
      <translation>查询历史记录数量。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1289"/>
      <source>Execute only the query under the cursor</source>
      <translation>只执行输入符所在行的语句</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1375"/>
      <source>Number of memorized query parameters</source>
      <translation>默认的查询参数数量</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="630"/>
      <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;数据读入网格视图时，列宽会自动调整。该值限制了调整的初始宽度，但用户仍可手动调整列宽，使其超过该限制。当用户输入新的、更长的值时，该值也会用于扩大列宽（请参阅下面的选项）。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="633"/>
      <source>Limit automatic data column width to (in pixels):</source>
      <translation>限制自动数据列宽度为（像素）：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="640"/>
      <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;数据列的初始宽度将至少设置为在标题中显示列的完整名称。这仍然可以被以像素为单位指定的列宽初始限制（上述设置）所覆盖。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="643"/>
      <source>Keep at least the width to show complete column name</source>
      <translation>至少保持显示完整列名的宽度</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1253"/>
      <source>Wrap lines in SQL editor</source>
      <translation>在 SQL 编辑器中换行</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1276"/>
      <source>Highlight current query</source>
      <translation>高亮当前查询</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1058"/>
      <source>Updates</source>
      <translation>更新</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1064"/>
      <source>Automatically check for updates at startup</source>
      <translation>启动时自动检查更新</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1077"/>
      <source>Session</source>
      <translation>会话</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1083"/>
      <source>Restore last session (active MDI windows) after startup</source>
      <translation>启动后恢复上一次会话</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1093"/>
      <source>Allow multiple instances of the application at the same time</source>
      <translation>允许同时打开多个此程序</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1106"/>
      <source>Status Field</source>
      <translation>状态栏</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1115"/>
      <source>Always open Status panel when new message is printed</source>
      <translation>有新消息输出时就打开状态面板</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1440"/>
      <source>Code syntax colors</source>
      <translation>代码语法颜色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1626"/>
      <source>Keyword foreground</source>
      <translation>关键字前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1446"/>
      <source>Regular foreground</source>
      <translation>常规前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1536"/>
      <source>String foreground</source>
      <translation>字符串前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1806"/>
      <source>Comment foreground</source>
      <translation>注释前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1896"/>
      <source>Valid objects foreground</source>
      <translation>有效对象前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2207"/>
      <source>Current query background</source>
      <translation>当前查询背景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2076"/>
      <source>Bind parameter foreground</source>
      <translation>绑定参数前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2166"/>
      <source>Current line background</source>
      <translation>当前行背景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2251"/>
      <source>Matched parenthesis background</source>
      <translation>匹配括号背景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2235"/>
      <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;您可以在常规设置页面完全禁用当前查询高亮显示。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="179"/>
      <source>Data renderers</source>
      <translation>数据渲染器</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="235"/>
      <source>Expand tables when connected to a database</source>
      <translation>连接到数据库时展开表</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="370"/>
      <source>Expand views when connected to a database</source>
      <translation>连接到数据库时展开视图</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="271"/>
      <source>Expanding a table or view also expands the Columns, Indexes and Triggers nodes to show their contents.</source>
      <translation>展开表格或视图时，列、索引和触发器节点也会展开以显示其内容。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="245"/>
      <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;默认情况下，数据库模式使用&lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt; 表名访问。&lt;br/&gt;旧版本的 SQLite 使用&lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_master&lt;/span&gt; 表名，该表名仍可用作别名。&lt;br/&gt;您可以在此处切换到使用旧版名称。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="248"/>
      <source>Prefer sqlite_master over sqlite_schema table name</source>
      <translation>优先使用 sqlite_master 表名而不是 sqlite_schema 表名</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="274"/>
      <source>Expand columns, indexes and triggers together with the table</source>
      <translation>将列、索引和触发器与表一起展开</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="315"/>
      <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;展开“列”节点时，在列旁边显示数据类型。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="318"/>
      <source>Display column data types</source>
      <translation>显示列数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="328"/>
      <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;在每个表名旁边显示列数、索引数和触发器数。&lt;/p&gt;&lt;p&gt;需要加载所有表的完整架构。对于包含成百上千个表的数据库，这可能会显著影响性能。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="357"/>
      <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;默认情况下，系统表和索引在列表中隐藏。&lt;br/&gt;启用此选项可显示内部 SQLite 对象，例如 &lt;span style=&quot; font-family:&apos;Courier New&apos;;&quot;&gt;sqlite_schema&lt;/span&gt; 和自动生成的索引。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="402"/>
      <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;启用后，添加数据库文件时不会显示标准数据库对话框。如果使用默认选项打开数据库失败（例如，数据库已加密或需要不同的驱动程序），则会显示对话框以便调整选项。禁用后，将始终显示对话框。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="405"/>
      <source>Skip the dialog when possible</source>
      <translation>尽可能跳过对话</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="912"/>
      <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;定义在 &lt;span style=&quot; font-weight:700;&quot;&gt;表单视图&lt;/span&gt; 和 &lt;span style=&quot; font-weight:700;&quot;&gt;弹出式编辑器对话框&lt;/span&gt;.中，哪些数据编辑器可用于特定列类型。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="931"/>
      <source>Preview of editors for this data type (drag to reorder):</source>
      <translation>此数据类型的编辑器预览（拖动可重新排序）：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="955"/>
      <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;您可以为表格列中声明的特定数据类型（不区分大小写）定义使用哪些单元格渲染器。如果未为给定类型定义渲染器，则使用默认渲染器。&lt;/p&gt;&lt;p&gt;可选插件可以提供额外的渲染器并为数据类型设置自己的默认映射，您仍然可以在此处覆盖这些映射。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="984"/>
      <source>Data type</source>
      <translation>数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="989"/>
      <source>Renderer</source>
      <translation>渲染器</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1286"/>
      <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;当存在多个查询时，仅执行光标下的查询。&lt;br/&gt;如果禁用此功能，则执行所有查询。&lt;br/&gt;您还可以执行选定的查询或使用快捷键（%1 执行单个查询，%2 执行所有查询）。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1273"/>
      <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;突出显示光标下的查询 - 使用 &lt;span style=&quot; font-style:italic;&quot;&gt;执行查询&lt;/span&gt;时将执行的相同查询。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="544"/>
      <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;启用后，Letos 会自动将非常小的实数（例如 &lt;span style=&quot; font-style:italic;&quot;&gt;5.3e-21&lt;/span&gt;）转换为科学计数法。&lt;br/&gt;对于数值大小允许以可读的十进制表示的值，则使用十进制表示法。&lt;/p&gt;&lt;p&gt;禁用后，实数始终以十进制表示法显示，即使这会导致小数部分非常长。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="524"/>
      <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;编辑单元格时，按下 Enter 键将确认输入值，并移动至下一行的同一列。&lt;br/&gt;若禁用此功能，光标将停留在当前单元格。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="527"/>
      <source>After editing, Enter moves to the next row</source>
      <translation>编辑完成后，按 Enter 键移至下一行</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="557"/>
      <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;如果查询结果包含数十列（甚至数百列），则很可能一次性加载数 GB 的数据，从而耗尽计算机的可用内存。在这种情况下，Letos 可能会尝试限制每页显示的结果数量，以保护您的计算机。如果您确定数据库中的数据量不大，则可以禁用此限制，这样您始终可以看到每页定义的行数。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="492"/>
      <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;按下 Enter 键移动到下一行单元格后，自动开始编辑该单元格。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="495"/>
      <source>Start editing after moving to the next row</source>
      <translation>移至下一行后开始编辑</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="656"/>
      <source>Column header actions</source>
      <translation>列标题操作</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="662"/>
      <source>Single-click selects column data; double-click sorts by column</source>
      <translation>单击选择列数据；双击按列排序</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="675"/>
      <source>Single-click sorts by column; Alt+click selects column data</source>
      <translation>单击按列排序；按住 Alt 键并单击选择列数据</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1112"/>
      <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;当用户手动关闭状态面板时，此选项可确保状态面板中如有新消息打印，则会自动重新打开。如果此选项被禁用，则用户只能通过“视图”菜单手动打开状态面板。&lt;/p&gt;&lt;p&gt;您始终可以使用 Esc 键隐藏状态面板。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1125"/>
      <source>Older status messages</source>
      <translation>旧的状态消息</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1131"/>
      <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;旧的状态消息保持不变。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1134"/>
      <source>Keep messages</source>
      <translation>保留消息</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1147"/>
      <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;旧的状态消息仍然可见，但会变暗，以便突出显示最新消息。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1150"/>
      <source>Dim older messages</source>
      <translation>旧消息变暗</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1163"/>
      <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;较旧的状态消息将自动从状态字段中删除。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1166"/>
      <source>Remove older messages</source>
      <translation>删除旧消息</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1182"/>
      <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;偶尔显示一条状态消息，提供有关支持 Letos 项目的信息。这些提醒很少出现，并且可随时禁用。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1185"/>
      <source>Show occasional project support reminders</source>
      <translation>显示偶尔出现的项目支持提醒</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1221"/>
      <location filename="../dialogs/configdialog.ui" line="1237"/>
      <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;指定查询执行时间显示的最大小数位数。最多可配置 9 位（纳秒）。末尾的零会自动去除。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1224"/>
      <source>Execution time precision (decimal places)</source>
      <translation>执行时间精度（小数位数）</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1250"/>
      <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;如果启用，超过编辑器宽度的行将自动换行，因此无需水平滚动。&lt;/p&gt;&lt;p&gt;此选项定义全局默认值，而各个 SQL 编辑器窗口可以在本地覆盖它。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1263"/>
      <source>Disable blinking text cursor</source>
      <translation>禁用闪烁的文本光标</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1311"/>
      <source>Trigger assistant after typing a dot</source>
      <translation>输入句点后触发助手</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1321"/>
      <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>启用此功能后，在空白编辑器中调用代码补全功能时，会首先显示代码片段而不是语法建议。再次调用代码补全功能则会切换回语法建议（反之亦然）。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1324"/>
      <source>Prefer snippets in empty editor</source>
      <translation>优先在空白编辑器中使用代码片段</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1337"/>
      <source>History</source>
      <translation>历史</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1346"/>
      <source>Query history size:</source>
      <translation>查询历史记录大小：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1372"/>
      <location filename="../dialogs/configdialog.ui" line="1382"/>
      <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;历史记录中存储的查询参数（:param、@param、$param、?）的最大数量。当您重复使用名称/位置相同的参数时，Letos 会使用最近一次记忆的值预先初始化它（您仍然可以更改它）。1000 这个值应该足够了。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1716"/>
      <source>Number foreground</source>
      <translation>数字前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1986"/>
      <source>BLOB value foreground</source>
      <translation>BLOB 值前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2292"/>
      <source>Matched parenthesis foreground</source>
      <translation>匹配括号前景色</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2400"/>
      <location filename="../dialogs/configdialog.ui" line="2508"/>
      <source>Reset to defaults</source>
      <translation>重置为默认值</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2426"/>
      <source>Filter shortcuts by name or key combination</source>
      <translation>以名称或按键组合筛选快捷键</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2470"/>
      <source>Action</source>
      <translation>操作</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2475"/>
      <source>Key combination</source>
      <translation>按键组合</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2549"/>
      <location filename="../dialogs/configdialog.ui" line="3234"/>
      <source>Language</source>
      <translation>语言</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2555"/>
      <source>Changing language requires application restart to take effect.</source>
      <translation>语言变更在程序重启后生效。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2575"/>
      <source>User interface</source>
      <translation>用户界面</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2581"/>
      <location filename="../dialogs/configdialog.ui" line="2591"/>
      <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Adjusts the scale of the application interface. Changes take effect after restarting the application.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
      <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;调整应用程序界面的缩放比例。更改将在重启应用程序后生效。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2584"/>
      <source>Interface scale</source>
      <translation>界面缩放</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2601"/>
      <source>Toolbar icon size</source>
      <translation>工具栏图标大小</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2621"/>
      <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;紧凑布局会将界面中的边框与留白减至最小，然后用这些区域展示更多数据。这会使界面看起来有一点不美观，但将可以同时展示更多的数据。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2624"/>
      <source>Use compact layout</source>
      <translation>使用紧凑布局</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2640"/>
      <source>Icon set</source>
      <translation>图标集</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2646"/>
      <source>License</source>
      <translation>许可协议</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2653"/>
      <source>Choose icon set (requires restart)</source>
      <translation>选择图标集（需要重启）</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2725"/>
      <source>Description</source>
      <translation>描述</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2735"/>
      <source>Author</source>
      <translation>作者</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2749"/>
      <source>URL</source>
      <translation>URL</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2783"/>
      <source>Main window dock areas</source>
      <translation>主窗口停靠区域</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2789"/>
      <source>Left and right areas occupy corners</source>
      <translation>左右布局</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2805"/>
      <source>Top and bottom areas occupy corners</source>
      <translation>上下布局</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2598"/>
      <location filename="../dialogs/configdialog.ui" line="2608"/>
      <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;以默认大小的百分比表示。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2958"/>
      <source>Hide built-in plugins</source>
      <translation>隐藏内置插件</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2987"/>
      <source>Current style:</source>
      <translation>当前风格：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2742"/>
      <location filename="../dialogs/configdialog.ui" line="3004"/>
      <source>Preview</source>
      <translation>预览</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2821"/>
      <source>Window menu layout</source>
      <translation>窗口菜单布局</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2827"/>
      <source>Separate &quot;Windows&quot; menu</source>
      <translation>单独的 &quot;窗口&quot; 菜单</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="2840"/>
      <source>&quot;Window List&quot; under &quot;View&quot;</source>
      <translation>&quot;窗口列表&quot; 在 &quot;视图&quot;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3014"/>
      <source>Enabled</source>
      <translation>已启用</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3190"/>
      <source>Disabled</source>
      <translation>已禁用</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3239"/>
      <source>Active formatter plugin</source>
      <translation>启用格式化插件</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3277"/>
      <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;提示：&lt;/span&gt; 除了此处提供的设置外，您还可以通过按住 &lt;span style=&quot; font-weight:700;&quot;&gt;Ctrl&lt;/span&gt; 并滚动 &lt;span style=&quot; font-weight:700;&quot;&gt;鼠标滚轮&lt;/span&gt; 在要更改字体大小的元素上，动态调整大多数界面元素的字体大小。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3296"/>
      <source>SQL editor font</source>
      <translation>SQL 编辑器字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3312"/>
      <source>Database list font</source>
      <translation>数据库列表字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3328"/>
      <source>Database list additional label font</source>
      <translation>数据库列表额外信息字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3344"/>
      <source>Data view font</source>
      <translation>数据视图字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="3360"/>
      <source>Status field font</source>
      <translation>状态栏字体</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.ui" line="1308"/>
      <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;如果启用该选项，当用户键入例如 &lt;span style=&quot; font-weight:700;&quot;&gt;tableName.&lt;/span&gt; 到提出表格的列。 如果禁用该选项，用户就必须明确点击助手热键。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="470"/>
      <source>The new interface scale will be applied after restarting Letos.</source>
      <translation>新的界面缩放将在重启 Letos 后应用。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="829"/>
      <source>Restart the application to apply the new icon set.</source>
      <translation>重启应用程序以应用新的图标集。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1179"/>
      <source>Description:</source>
      <comment>plugin details</comment>
      <translation>描述：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1180"/>
      <source>Category:</source>
      <comment>plugin details</comment>
      <translation>分类：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1181"/>
      <source>Version:</source>
      <comment>plugin details</comment>
      <translation>版本：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1182"/>
      <source>Author:</source>
      <comment>plugin details</comment>
      <translation>作者：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1184"/>
      <source>Internal name:</source>
      <comment>plugin details</comment>
      <translation>内部名称：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1185"/>
      <source>Dependencies:</source>
      <comment>plugin details</comment>
      <translation>依赖：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1186"/>
      <source>Conflicts:</source>
      <comment>plugin details</comment>
      <translation>冲突：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1187"/>
      <source>File:</source>
      <comment>plugin details</comment>
      <translation>文件：</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1192"/>
      <source>Plugin details</source>
      <translation>插件详情</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1892"/>
      <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>切换时插件会立即加载/卸载。但此列表的修改仅在点击确定按钮后被保存。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1950"/>
      <source>%1 (built-in)</source>
      <comment>plugins manager in configuration dialog</comment>
      <translation>%1（内置）</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="1992"/>
      <source>Details</source>
      <translation>详情</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2006"/>
      <source>No plugins in this category.</source>
      <translation>没有此分类下的插件。</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2106"/>
      <location filename="../dialogs/configdialog.cpp" line="2135"/>
      <source>Add new data type</source>
      <translation>添加新的数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2110"/>
      <location filename="../dialogs/configdialog.cpp" line="2139"/>
      <source>Rename selected data type</source>
      <translation>重命名所选数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2114"/>
      <location filename="../dialogs/configdialog.cpp" line="2143"/>
      <source>Delete selected data type</source>
      <translation>删除所选数据类型</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2227"/>
      <source>Clear hotkey for this action</source>
      <translation>清除该操作的热键</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2239"/>
      <source>Restore original hotkey for this action</source>
      <translation>恢复此操作的原始热键</translation>
    </message>
    <message>
      <location filename="../dialogs/configdialog.cpp" line="2281"/>
      <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>您可以在此配置代码语法高亮的颜色。这些颜色在不同语言中共享，不仅适用于 SQL，也适用于 JavaScript 和其他语言。默认情况下使用基于主题的颜色。要定义自己的颜色，请选择特定颜色旁边的复选框，启用自定义颜色。</translation>
    </message>
  </context>
  <context>
    <name>ConstraintCheckPanel</name>
    <message>
      <location filename="../constraints/constraintcheckpanel.ui" line="20"/>
      <source>The condition</source>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../constraints/constraintcheckpanel.ui" line="35"/>
      <source>Named constraint:</source>
      <translation>命名的约束：</translation>
    </message>
    <message>
      <location filename="../constraints/constraintcheckpanel.ui" line="51"/>
      <source>On conflict</source>
      <translation>当冲突时</translation>
    </message>
    <message>
      <location filename="../constraints/constraintcheckpanel.cpp" line="46"/>
      <source>Enter a valid condition.</source>
      <translation>输入一个有效的条件。</translation>
    </message>
    <message>
      <location filename="../constraints/constraintcheckpanel.cpp" line="47"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入一个约束名称。</translation>
    </message>
  </context>
  <context>
    <name>ConstraintDialog</name>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="62"/>
      <source>New constraint</source>
      <comment>constraint dialog</comment>
      <translation>新建约束</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="63"/>
      <source>Create</source>
      <comment>constraint dialog</comment>
      <translation>创建</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="66"/>
      <source>Edit constraint</source>
      <comment>dialog window</comment>
      <translation>编辑约束</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="67"/>
      <source>Apply</source>
      <comment>constraint dialog</comment>
      <translation>应用</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="174"/>
      <source>Primary key</source>
      <comment>table constraints</comment>
      <translation>主键</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="178"/>
      <source>Foreign key</source>
      <comment>table constraints</comment>
      <translation>外键</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="182"/>
      <source>Unique</source>
      <comment>table constraints</comment>
      <translation>唯一</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="186"/>
      <source>Not NULL</source>
      <comment>table constraints</comment>
      <translation>非空</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="190"/>
      <source>Check</source>
      <comment>table constraints</comment>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="194"/>
      <source>Generated</source>
      <comment>table constraints</comment>
      <translation>生成</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="198"/>
      <source>Collate</source>
      <comment>table constraints</comment>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../dialogs/constraintdialog.cpp" line="202"/>
      <source>Default</source>
      <comment>table constraints</comment>
      <translation>默认</translation>
    </message>
  </context>
  <context>
    <name>ConstraintTabModel</name>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="67"/>
      <source>Table</source>
      <comment>table constraints</comment>
      <translation>表</translation>
    </message>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="108"/>
      <source>Column (%1)</source>
      <comment>table constraints</comment>
      <translation>列（%1）</translation>
    </message>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="152"/>
      <source>Scope</source>
      <comment>table constraints</comment>
      <translation>作用域</translation>
    </message>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="154"/>
      <source>Type</source>
      <comment>table constraints</comment>
      <translation>类型</translation>
    </message>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="156"/>
      <source>Details</source>
      <comment>table constraints</comment>
      <translation>详情</translation>
    </message>
    <message>
      <location filename="../windows/constrainttabmodel.cpp" line="158"/>
      <source>Name</source>
      <comment>table constraints</comment>
      <translation>名称</translation>
    </message>
  </context>
  <context>
    <name>CpConfigDialogProvider</name>
    <message>
      <location filename="../commandpalette/cpconfigdialogprovider.cpp" line="52"/>
      <source>Configure hotkey: %1 (%2)</source>
      <translation>配置热键：%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>打开 &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>配置：%1</translation>
    </message>
  </context>
  <context>
    <name>CssDebugDialog</name>
    <message>
      <location filename="../dialogs/cssdebugdialog.ui" line="14"/>
      <source>Letos CSS console</source>
      <translation>Letos CSS 控制台</translation>
    </message>
  </context>
  <context>
    <name>DataView</name>
    <message>
      <location filename="../dataview.cpp" line="125"/>
      <source>Filter data</source>
      <comment>data view</comment>
      <translation>筛选数据</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="126"/>
      <source>Filter by value in any column</source>
      <comment>data view</comment>
      <translation>按任意列的值进行筛选</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="135"/>
      <source>Grid view</source>
      <translation>网格视图</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="136"/>
      <source>Form view</source>
      <translation>表单视图</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="239"/>
      <source>Find in data</source>
      <comment>data view</comment>
      <translation>在数据中查找</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="240"/>
      <source>Refresh table data</source>
      <comment>data view</comment>
      <translation>刷新表数据</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="256"/>
      <source>First page</source>
      <comment>data view</comment>
      <translation>第一页</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="257"/>
      <source>Previous page</source>
      <comment>data view</comment>
      <translation>上一页</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="259"/>
      <source>Next page</source>
      <comment>data view</comment>
      <translation>下一页</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="260"/>
      <source>Last page</source>
      <comment>data view</comment>
      <translation>最后一页</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="274"/>
      <source>Show grid view of results</source>
      <comment>data view</comment>
      <translation>显示结果的网格视图</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="275"/>
      <source>Show form view of results</source>
      <comment>data view</comment>
      <translation>显示结果的表格视图</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="524"/>
      <source>Rows available on current page: %1 - %2</source>
      <comment>data view</comment>
      <translation>当前页码可用行数：%1 - %2</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="811"/>
      <source>Sum: %1</source>
      <translation>总计：%1</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="964"/>
      <source>Total pages available: %1</source>
      <translation>总计可用页数：%1</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="974"/>
      <source>Total rows loaded: %1</source>
      <translation>已加载行数：%1</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1370"/>
      <source>Filter by text (if contains)</source>
      <comment>data view</comment>
      <translation>按文本筛选（如果包含）</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1371"/>
      <source>Filter strictly by text (if equals)</source>
      <comment>data view</comment>
      <translation>严格按文本筛选（如果相等）</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="382"/>
      <source>Tabs on top</source>
      <comment>data view</comment>
      <translation>顶部标签</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="54"/>
      <source>Sum of values in selected cells</source>
      <comment>data view</comment>
      <translation>所选单元格中的值之和</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="105"/>
      <source>Row:</source>
      <translation>行：</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="383"/>
      <source>Tabs at bottom</source>
      <comment>data view</comment>
      <translation>底部标签</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="408"/>
      <source>Place new rows above selected row</source>
      <comment>data view</comment>
      <translation>放置新行于选中行之上</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="409"/>
      <source>Place new rows below selected row</source>
      <comment>data view</comment>
      <translation>放置新行于选中行之下</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>放置新行于数据视图末尾</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>正在统计总行数。
请在此操作完成后再浏览其他页面。</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1337"/>
      <source>Filter</source>
      <translation>筛选</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>按回车键或点击工具栏上的“应用筛选”按钮来应用新值。</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1372"/>
      <source>Filter by the Regular Expression</source>
      <comment>data view</comment>
      <translation>以正则表达式筛选</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1373"/>
      <source>Filter by SQL expression</source>
      <comment>data view</comment>
      <translation>以 SQL 表达式筛选</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1392"/>
      <source>Show filter inputs per column</source>
      <comment>data view</comment>
      <translation>在每个列上展示筛选器输入框</translation>
    </message>
    <message>
      <location filename="../dataview.cpp" line="1396"/>
      <source>Apply filter</source>
      <comment>data view</comment>
      <translation>应用筛选器</translation>
    </message>
  </context>
  <context>
    <name>DbDialog</name>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="23"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="29"/>
      <source>Database type</source>
      <translation>数据库类型</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="35"/>
      <source>Database driver</source>
      <translation>数据库驱动</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="45"/>
      <location filename="../dialogs/dbdialog.cpp" line="196"/>
      <source>File</source>
      <translation>文件</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="51"/>
      <source>Select an existing database file</source>
      <translation>选择现有的数据库文件</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="61"/>
      <source>Create a new database file</source>
      <translation>创建一个新的数据库文件</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="85"/>
      <source>Name (on the list)</source>
      <translation>名称（显示在列表中）</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="113"/>
      <source>Change</source>
      <translation>更改</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="123"/>
      <source>Options</source>
      <translation>选项</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="129"/>
      <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;如果您希望将数据库存储在配置文件中，并在每次启动 Letos 时恢复数据库，请启用此选项。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="132"/>
      <source>Permanent (keep it in configuration)</source>
      <translation>记住此数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.ui" line="176"/>
      <source>Test connection</source>
      <translation>测试连接</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="357"/>
      <source>Browse</source>
      <translation>浏览</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="530"/>
      <source>Database type not selected.</source>
      <translation>未选择数据库类型。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="537"/>
      <source>Database path not specified.</source>
      <translation>未指定数据库路径。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="570"/>
      <source>Enter an unique database name.</source>
      <translation>请输入一个唯一的数据库名称。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="580"/>
      <source>This name is already in use. Please enter unique name.</source>
      <translation>此名称已被使用，请输入一个未被占用的名称。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="587"/>
      <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;名称已手动编辑，自动命名已禁用。清空名称栏中的内容将恢复自动命名。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="596"/>
      <source>Enter a database file path.</source>
      <translation>输入一个数据库文件的路径。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="602"/>
      <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>你是&apos;使用相对的文件路径， 根据应用程序&apos;s 工作目录，它们将被解析为 &quot;%1&quot; 。&apos;总是更好地使用绝对文件路径来避免意外的数据库位置。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="612"/>
      <source>This database is already on the list under name: %1</source>
      <translation>该数据库已在列表中，名为：%1</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="634"/>
      <source>Select a database type.</source>
      <translation>请选择一个数据库类型。</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="659"/>
      <source>Automatic</source>
      <comment>database name</comment>
      <translation>自动</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="660"/>
      <source>Change</source>
      <comment>database name</comment>
      <translation>更改</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="669"/>
      <source>(empty)</source>
      <translation>(空)</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="839"/>
      <source>Choose a location for the new database file</source>
      <translation>选择新数据库文件的位置</translation>
    </message>
    <message>
      <location filename="../dialogs/dbdialog.cpp" line="840"/>
      <source>Browse for existing database file on local computer</source>
      <translation>浏览本地计算机上的现有数据库文件</translation>
    </message>
  </context>
  <context>
    <name>DbObjectDialogs</name>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="176"/>
      <source>Delete table</source>
      <translation>删除表</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="177"/>
      <source>Are you sure you want to delete table %1?</source>
      <translation>确定要删除表“%1”吗？</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="181"/>
      <source>Delete index</source>
      <translation>删除索引</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="182"/>
      <source>Are you sure you want to delete index %1?</source>
      <translation>确定要删除索引“%1”吗？</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="186"/>
      <source>Delete trigger</source>
      <translation>删除触发器</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="187"/>
      <source>Are you sure you want to delete trigger %1?</source>
      <translation>确定要删除触发器“%1”吗？</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="191"/>
      <source>Delete view</source>
      <translation>删除视图</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="192"/>
      <source>Are you sure you want to delete view %1?</source>
      <translation>确定要删除视图“%1”吗？</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="214"/>
      <location filename="../dbobjectdialogs.cpp" line="346"/>
      <source>Error while dropping %1: %2</source>
      <translation>丢弃 %1 时出错： %2</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="322"/>
      <source>Delete objects</source>
      <translation>删除对象</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="323"/>
      <source>Are you sure you want to delete following objects:
%1</source>
      <translation>您确认要删除以下对象吗：
%1</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="330"/>
      <source>Cannot start transaction. Details: %1</source>
      <translation>无法开始事务。详情：%1</translation>
    </message>
    <message>
      <location filename="../dbobjectdialogs.cpp" line="357"/>
      <source>Cannot commit transaction. Details: %1</source>
      <translation>无法提交事务。详情：%1</translation>
    </message>
  </context>
  <context>
    <name>DbTree</name>
    <message>
      <location filename="../dbtree/dbtree.ui" line="20"/>
      <source>Databases</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2566"/>
      <source>Filter by name</source>
      <translation>按名称过滤</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="143"/>
      <source>Copy</source>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="144"/>
      <source>Paste</source>
      <translation>粘贴</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="145"/>
      <source>Select all</source>
      <translation>全选</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="146"/>
      <source>Create a group</source>
      <translation>创建分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="147"/>
      <source>Delete the group</source>
      <translation>删除分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="148"/>
      <source>Rename the group</source>
      <translation>重命名分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="153"/>
      <source>&amp;Edit the database</source>
      <translation>编辑数据库(&amp;E)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="155"/>
      <source>&amp;Remove the database</source>
      <translation>移除数据库(&amp;R)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="156"/>
      <source>&amp;Connect to the database</source>
      <translation>连接到数据库(&amp;C)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="157"/>
      <source>&amp;Disconnect from the database</source>
      <translation>断开数据库连接(&amp;D)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="160"/>
      <source>Vac&amp;uum</source>
      <translation>释放空闲占用（VACUUM）(&amp;U)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="161"/>
      <source>&amp;Integrity check</source>
      <translation>检查完整性(&amp;I)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="162"/>
      <source>Create a &amp;table</source>
      <translation>新建表(&amp;T)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="163"/>
      <source>Edit the t&amp;able</source>
      <translation>编辑表(&amp;A)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="165"/>
      <source>Delete the ta&amp;ble</source>
      <translation>删除表(&amp;B)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="166"/>
      <source>Export the table</source>
      <translation>导出表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="167"/>
      <source>Import into the table</source>
      <translation>导入到表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="169"/>
      <source>Populate table</source>
      <translation>填充表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="170"/>
      <source>Create similar table</source>
      <translation>创建相似的表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="171"/>
      <source>Reset autoincrement sequence</source>
      <translation>重置自动递增序列</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="172"/>
      <source>Create an &amp;index</source>
      <translation>创建索引(&amp;I)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="173"/>
      <source>Edit the i&amp;ndex</source>
      <translation>编辑索引(&amp;N)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="175"/>
      <source>Delete the in&amp;dex</source>
      <translation>删除索引(&amp;D)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="176"/>
      <source>Create a trig&amp;ger</source>
      <translation>创建触发器(&amp;G)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="177"/>
      <source>Edit the trigg&amp;er</source>
      <translation>编辑触发器(&amp;E)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="179"/>
      <source>Delete the trigge&amp;r</source>
      <translation>删除触发器(&amp;R)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="180"/>
      <source>Create a &amp;view</source>
      <translation>创建视图(&amp;V)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="181"/>
      <source>Edit the v&amp;iew</source>
      <translation>编辑视图(&amp;I)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="183"/>
      <source>Delete the vi&amp;ew</source>
      <translation>删除视图(&amp;E)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="184"/>
      <source>Add a column</source>
      <translation>添加字段</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="185"/>
      <source>Edit the column</source>
      <translation>编辑字段</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="187"/>
      <source>Delete the column</source>
      <translation>删除字段</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="188"/>
      <source>Delete selected items</source>
      <translation>删除已选项目</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="208"/>
      <source>Clear filter</source>
      <translation>清除过滤器</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="189"/>
      <source>&amp;Refresh all database schemas</source>
      <translation>刷新全部数据库结构(&amp;R)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="149"/>
      <source>&amp;Create new database</source>
      <translation>创建新数据库(&amp;C)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="150"/>
      <source>&amp;Open existing database</source>
      <translation>打开现有数据库(&amp;O)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="151"/>
      <source>&amp;Open existing database or SQL file</source>
      <translation>打开现有数据库或 SQL 文件(&amp;O)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="152"/>
      <source>Add a database</source>
      <translation>添加一个数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="154"/>
      <source>Rename the database</source>
      <translation>重命名数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="158"/>
      <source>&amp;Import</source>
      <translation>导入(&amp;I)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="159"/>
      <source>&amp;Export</source>
      <translation>导出(&amp;E)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="164"/>
      <source>Rename the table</source>
      <translation>重命名表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="168"/>
      <source>Export the view</source>
      <translation>导出视图</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="174"/>
      <source>Rename the index</source>
      <translation>重命名索引</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="178"/>
      <source>Rename the trigger</source>
      <translation>重命名触发器</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="182"/>
      <source>Rename the view</source>
      <translation>重命名视图</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="186"/>
      <source>Rename the column</source>
      <translation>重命名列</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="190"/>
      <source>Re&amp;fresh selected database schema</source>
      <translation>刷新已选数据库结构(&amp;F)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="191"/>
      <location filename="../dbtree/dbtree.cpp" line="1948"/>
      <source>Erase table data</source>
      <translation>擦除表数据</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="193"/>
      <location filename="../dbtree/dbtree.cpp" line="196"/>
      <location filename="../dbtree/dbtree.cpp" line="199"/>
      <source>Drag</source>
      <comment>dbtree table action shortcut</comment>
      <translation>拖动</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="202"/>
      <source>Open file&apos;s directory</source>
      <translation>打开文件所在目录</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="203"/>
      <source>Execute SQL from file</source>
      <translation>从文件执行 SQL</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="204"/>
      <source>Increase font size</source>
      <comment>database list</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="205"/>
      <source>Decrease font size</source>
      <comment>database list</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="418"/>
      <location filename="../dbtree/dbtree.cpp" line="425"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="437"/>
      <source>Grouping</source>
      <translation>分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="442"/>
      <source>Generate query for table</source>
      <translation>生成对表的查询</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="448"/>
      <source>Generate query for view</source>
      <translation>生成视图查询</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1335"/>
      <location filename="../dbtree/dbtree.cpp" line="1338"/>
      <source>Create group</source>
      <translation>创建分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1335"/>
      <source>Group name</source>
      <translation>分组名</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1338"/>
      <source>Entry with name %1 already exists in group %2.</source>
      <translation>名称 %1 在分组 %2 中已存在。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1375"/>
      <source>Delete group</source>
      <translation>删除分组</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1376"/>
      <source>Are you sure you want to delete groups: %1?
All objects from these groups will be moved to respective parent groups.</source>
      <translation>您确定要删除组：%1 吗？
这些组中的所有对象都将被移动到各自的父组。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1508"/>
      <source>Are you sure you want to remove database &apos;%1&apos; from the list?</source>
      <translation>确定要移除数据库 %1 吗？</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1516"/>
      <source>Are you sure you want to remove following databases from the list:
%1</source>
      <translation>确定要从列表中移除下列数据库吗：
%1</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1518"/>
      <source>Remove database</source>
      <translation>移除数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1573"/>
      <location filename="../dbtree/dbtree.cpp" line="1778"/>
      <source>Cannot import, because no import plugin is loaded.</source>
      <translation>无法导入，没有加载导入插件。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1593"/>
      <location filename="../dbtree/dbtree.cpp" line="1753"/>
      <location filename="../dbtree/dbtree.cpp" line="1823"/>
      <source>Cannot export, because no export plugin is loaded.</source>
      <translation>无法导出，没有加载导出插件。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1869"/>
      <source>Vacuum (%1)</source>
      <translation>释放空闲占用（VACUUM）(%1)</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1883"/>
      <source>Integrity check (%1)</source>
      <translation>完整性检查（%1）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1919"/>
      <source>Reset autoincrement</source>
      <translation>重置自动递增</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1919"/>
      <source>Are you sure you want to reset autoincrement value for table &apos;%1&apos;?</source>
      <translation>您确定要重置表“%1”的自动递增值吗？</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1926"/>
      <source>An error occurred while trying to reset autoincrement value for table &apos;%1&apos;: %2</source>
      <translation>重置表“%1”的自动递增值时出错：%2</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1928"/>
      <source>Autoincrement value for table &apos;%1&apos; has been reset successfully.</source>
      <translation>成功重置表“%1”的自动递增值。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1948"/>
      <source>Are you sure you want to delete all data from table(s): %1?</source>
      <translation>您确定要删除表 %1 的所有数据吗？</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1960"/>
      <source>An error occurred while trying to delete data from table &apos;%1&apos;: %2</source>
      <translation>删除表“%1”中的数据时出错：%2</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="1964"/>
      <source>All data has been deleted for table &apos;%1&apos;.</source>
      <translation>表“%1”中的全部数据已被删除。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2103"/>
      <source>Following objects will be deleted: %1.</source>
      <translation>下列对象将被删除：%1。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2106"/>
      <source>Following databases will be removed from list: %1.</source>
      <translation>下列数据库将从列表中移除：%1。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2109"/>
      <source>Remainig objects from deleted group will be moved in place where the group used to be.</source>
      <translation>已删除分组中的剩余对象将被移开。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2111"/>
      <source>%1&lt;br&gt;&lt;br&gt;Are you sure you want to continue?</source>
      <translation>%1&lt;br&gt;&lt;br&gt;确定继续？</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2113"/>
      <source>Delete objects</source>
      <translation>删除对象</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2294"/>
      <source>&lt;html&gt;&lt;body&gt;&lt;p&gt;List sync enabled.&lt;/p&gt;&lt;p&gt;Click to disable.&lt;/p&gt;&lt;p&gt;The list follows the active window and automatically selects and reveals the corresponding database object.&lt;/p&gt;&lt;/body&gt;&lt;/html</source>
      <translation>&lt;html&gt;&lt;body&gt;&lt;p&gt;列表同步已启用。&lt;/p&gt;&lt;p&gt;单击以禁用。&lt;/p&gt;&lt;p&gt;该列表会跟随活动窗口，并自动选择和显示对应的数据库对象。&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2309"/>
      <source>&lt;html&gt;&lt;body&gt;&lt;p&gt;List sync disabled.&lt;/p&gt;&lt;p&gt;Click to enable.&lt;/p&gt;&lt;p&gt;When enabled, the object tree will follow the active editor and automatically select the corresponding database object.&lt;/p&gt;&lt;/body&gt;&lt;/html</source>
      <translation>&lt;html&gt;&lt;body&gt;&lt;p&gt;列表同步已禁用。&lt;/p&gt;&lt;p&gt;单击以启用。&lt;/p&gt;&lt;p&gt;启用后，对象树将跟随活动编辑器，并自动选择对应的数据库对象。&lt;/p&gt;&lt;/body&gt;&lt;/html</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2592"/>
      <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;已连接。.&lt;/p&gt;&lt;p&gt;点击此处断开连接，或单击数据库的鼠标中键。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.cpp" line="2600"/>
      <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;已断开连接。.&lt;/p&gt;&lt;p&gt;点击此处连接，或双击数据库。&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>错误</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemdelegate.cpp" line="114"/>
      <source>(system table)</source>
      <comment>database tree label</comment>
      <translation>（系统表）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemdelegate.cpp" line="132"/>
      <source>(virtual)</source>
      <comment>virtual table label</comment>
      <translation>（虚拟）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemdelegate.cpp" line="144"/>
      <source>(system index)</source>
      <comment>database tree label</comment>
      <translation>（系统索引）</translation>
    </message>
  </context>
  <context>
    <name>DbTreeModel</name>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="494"/>
      <source>Database: %1</source>
      <comment>dbtree tooltip</comment>
      <translation>数据库：%1</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="495"/>
      <source>URI:</source>
      <comment>dbtree tooltip</comment>
      <translation>URI：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="499"/>
      <source>Format:</source>
      <comment>dbtree tooltip</comment>
      <translation>格式：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="502"/>
      <source>File size:</source>
      <comment>dbtree tooltip</comment>
      <translation>文件大小：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="505"/>
      <source>Encoding:</source>
      <comment>dbtree tooltip</comment>
      <translation>编码：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="510"/>
      <source>Error:</source>
      <comment>dbtree tooltip</comment>
      <translation>错误：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="514"/>
      <source>Double-click to edit this database</source>
      <comment>dbtree tooltip</comment>
      <translation>双击编辑此数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="516"/>
      <source>Double-click to connect to this database</source>
      <comment>dbtree tooltip</comment>
      <translation>双击以连接到此数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="526"/>
      <source>Table : %1</source>
      <comment>dbtree tooltip</comment>
      <translation>表：%1</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="549"/>
      <source>Columns (%1):</source>
      <comment>dbtree tooltip</comment>
      <translation>列（%1）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="552"/>
      <source>Indexes (%1):</source>
      <comment>dbtree tooltip</comment>
      <translation>索引（%1）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="555"/>
      <source>Triggers (%1):</source>
      <comment>dbtree tooltip</comment>
      <translation>触发器（%1）</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1343"/>
      <source>Copy</source>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1344"/>
      <source>Move</source>
      <translation>移动</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1346"/>
      <source>Include data</source>
      <translation>包含数据</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1347"/>
      <source>Include indexes</source>
      <translation>包含索引</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1348"/>
      <source>Include triggers</source>
      <translation>包含触发器</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1350"/>
      <source>Abort</source>
      <translation>中止</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1409"/>
      <source>Could not add dropped database file &apos;%1&apos; automatically. Manual setup is necessary.</source>
      <translation>无法自动添加拖放的数据库文件 &apos;%1&apos;。需要手动设置。</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1488"/>
      <source>Referenced tables</source>
      <translation>引用的表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1489"/>
      <source>Do you want to include following referenced tables as well:
%1</source>
      <translation>是否要包含以下引用的表：
%1</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1498"/>
      <source>Name conflict</source>
      <translation>名称冲突</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1499"/>
      <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>下列对象已存在于目标数据库。
请输入一个新的不重复的名称，或按下 &apos;%1&apos; 中止操作：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1512"/>
      <source>SQL statements conversion</source>
      <translation>SQL 语句转换</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1520"/>
      <source>Following error occurred while converting SQL statements to the target SQLite version:</source>
      <translation>将 SQL 语句转换为目标 SQLite 版本时发生以下错误：</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreemodel.cpp" line="1521"/>
      <source>Would you like to ignore those errors and proceed?</source>
      <translation>是否忽略错误并继续？</translation>
    </message>
  </context>
  <context>
    <name>DdlHistoryWindow</name>
    <message>
      <location filename="../windows/ddlhistorywindow.ui" line="35"/>
      <source>Filter by database:</source>
      <translation>按数据库过滤：</translation>
    </message>
    <message>
      <location filename="../windows/ddlhistorywindow.ui" line="55"/>
      <source>Clear entire history</source>
      <translation>清除全部历史记录</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>-- 在数据库 %1 (%2) 执行的查询
-- 执行日期和时间：%3
%4</translation>
    </message>
    <message>
      <location filename="../windows/ddlhistorywindow.cpp" line="97"/>
      <source>Clear history</source>
      <translation>清除历史记录</translation>
    </message>
    <message>
      <location filename="../windows/ddlhistorywindow.cpp" line="97"/>
      <source>Are you sure you want to erase entire DDL history?</source>
      <translation>你确定要清除全部 DDL 历史记录吗?</translation>
    </message>
    <message>
      <location filename="../windows/ddlhistorywindow.cpp" line="129"/>
      <source>DDL history</source>
      <translation>DDL 历史</translation>
    </message>
  </context>
  <context>
    <name>DdlPreviewDialog</name>
    <message>
      <location filename="../dialogs/ddlpreviewdialog.ui" line="14"/>
      <source>Queries to be executed</source>
      <translation>将要执行的语句</translation>
    </message>
    <message>
      <location filename="../dialogs/ddlpreviewdialog.ui" line="42"/>
      <source>Don&apos;t show again</source>
      <translation>不再显示</translation>
    </message>
    <message>
      <location filename="../dialogs/ddlpreviewdialog.ui" line="49"/>
      <source>Opens the DDL in the SQL Editor without executing it.</source>
      <translation>在 SQL 编辑器中打开 DDL 语句，但不执行它。</translation>
    </message>
    <message>
      <location filename="../dialogs/ddlpreviewdialog.ui" line="52"/>
      <source>Open in editor</source>
      <translation>在编辑器打开</translation>
    </message>
  </context>
  <context>
    <name>DebugConsole</name>
    <message>
      <location filename="../debugconsole.ui" line="14"/>
      <source>Letos Debug Console</source>
      <translation>Letos 调试控制台</translation>
    </message>
  </context>
  <context>
    <name>EditorWindow</name>
    <message>
      <location filename="../windows/editorwindow.ui" line="14"/>
      <source>SQL editor</source>
      <translation>SQL 编辑器</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.ui" line="43"/>
      <source>Query</source>
      <translation>查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.ui" line="134"/>
      <source>History</source>
      <translation>历史</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="203"/>
      <location filename="../windows/editorwindow.cpp" line="205"/>
      <source>SQL editor %1</source>
      <translation>SQL 编辑器 %1</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.ui" line="99"/>
      <location filename="../windows/editorwindow.cpp" line="420"/>
      <source>Results</source>
      <translation>结果</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="471"/>
      <source>Execute query</source>
      <translation>执行语句</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="472"/>
      <source>Explain query</source>
      <translation>解释查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="493"/>
      <source>Clear execution history</source>
      <comment>sql editor</comment>
      <translation>清除执行历史</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="499"/>
      <source>Focus results on the same tab</source>
      <comment>sql editor</comment>
      <translation>将焦点切换到同一选项卡中的结果</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="500"/>
      <source>Focus SQL editor on the same tab</source>
      <comment>sql editor</comment>
      <translation>将焦点切换到同一选项卡中的 SQL 编辑器</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="505"/>
      <source>Export results</source>
      <comment>sql editor</comment>
      <translation>导出结果</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="487"/>
      <source>Create view from query</source>
      <comment>sql editor</comment>
      <translation>从查询创建视图</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="474"/>
      <source>Commit</source>
      <translation>提交</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="475"/>
      <source>Rollback</source>
      <translation>回滚</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="489"/>
      <source>Previous database</source>
      <translation>前一个数据库</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="490"/>
      <source>Next database</source>
      <translation>后一个数据库</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="494"/>
      <source>Export execution history</source>
      <comment>sql editor</comment>
      <translation>导出执行历史记录</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="497"/>
      <source>Show next tab</source>
      <comment>sql editor</comment>
      <translation>显示下一个标签</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="498"/>
      <source>Show previous tab</source>
      <comment>sql editor</comment>
      <translation>显示上一个标签</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="501"/>
      <source>Export selected SQL history entries</source>
      <comment>sql editor</comment>
      <translation>导出所选的 SQL 历史记录条目</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="502"/>
      <source>Delete selected SQL history entries</source>
      <comment>sql editor</comment>
      <translation>删除选中的 SQL 历史记录项</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="503"/>
      <source>Execute single query under cursor</source>
      <translation>执行光标位置的单个查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="504"/>
      <source>Execute all queries in editor</source>
      <translation>在编辑器中执行所有查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="525"/>
      <source>Results layout: Separate tab</source>
      <comment>sql editor</comment>
      <translation>结果布局：单独的选项卡</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="526"/>
      <source>Results layout: Below editor</source>
      <comment>sql editor</comment>
      <translation>结果布局：编辑器下方</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="527"/>
      <source>Results layout: Right of editor</source>
      <comment>sql editor</comment>
      <translation>结果布局：编辑器右侧</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>解释模式：%1</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="563"/>
      <source>Auto-commit queries</source>
      <comment>sql editor</comment>
      <translation>自动提交查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="580"/>
      <source>Editor window settings</source>
      <comment>sql editor</comment>
      <translation>编辑器窗口设置</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="628"/>
      <source>Active database (%1/%2)</source>
      <translation>活动数据库 (%1/%2)</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="777"/>
      <source>Save to file</source>
      <translation>保存到文件</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="788"/>
      <source>Could not open file &apos;%1&apos; for writing: %2</source>
      <translation>无法以写模式打开文件 %1：%2</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="808"/>
      <source>Saved SQL contents to file: %1</source>
      <translation>保存 SQL 内容至文件：%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>无法将日志模式切换为 WAL。手动提交模式不可用。错误：%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>无法打开新的数据库连接。手动提交模式将不会启用。错误：%1</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="845"/>
      <source>The joirnal_mode will be switched back to %1.</source>
      <translation>joirnal_mode 将切换回 %1。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="969"/>
      <source>Query finished in %1 second(s). Rows affected: %2</source>
      <translation>查询用时 %1 秒。影响行数：%2</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="973"/>
      <source>Query finished in %1 second(s).</source>
      <translation>查询用时 %1 秒。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1104"/>
      <source>Clear execution history</source>
      <translation>清除执行历史</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>确定要删除全部的 SQL 执行历史吗？删除后不能恢复。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1142"/>
      <source>Cannot export, because no export plugin is loaded.</source>
      <translation>无法导出，没有加载导出插件。</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>查询自动提交功能已在以下位置启用：%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>查询自动提交功能已在以下位置禁用：%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>对交易进行更改</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>放弃数据视图中的更改</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1232"/>
      <source>Apply selected changes to the transaction</source>
      <translation>将选定的更改应用于交易</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1233"/>
      <source>Discard changes in selected cells</source>
      <translation>放弃对所选单元格的更改</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>在等待手动交易时无法更改数据库。请在更改数据库之前提交或回滚交易。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1314"/>
      <source>Manual transaction committed successfully.</source>
      <translation>手动提交交易成功。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1343"/>
      <source>Manual transaction rolled back.</source>
      <translation>手动回滚交易。</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>没有在 SQL 编辑器中选中数据库。无法为未知的数据库创建视图。</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="1436"/>
      <source>Editor window &quot;%1&quot; has uncommitted data.</source>
      <translation>编辑器窗口“%1”内有未提交的数据。</translation>
    </message>
  </context>
  <context>
    <name>ErrorsConfirmDialog</name>
    <message>
      <location filename="../dialogs/errorsconfirmdialog.ui" line="14"/>
      <source>Errors</source>
      <translation>错误</translation>
    </message>
    <message>
      <location filename="../dialogs/errorsconfirmdialog.ui" line="20"/>
      <source>Following errors occurred:</source>
      <translation>发生了以下错误：</translation>
    </message>
    <message>
      <location filename="../dialogs/errorsconfirmdialog.ui" line="34"/>
      <source>Would you like to proceed?</source>
      <translation>仍要继续吗？</translation>
    </message>
  </context>
  <context>
    <name>ExecFromFileDialog</name>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="14"/>
      <source>Execute SQL from file</source>
      <translation>从文件执行 SQL</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="23"/>
      <source>Input file</source>
      <translation>输入文件</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="29"/>
      <source>Path to file</source>
      <translation>文件路径</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="36"/>
      <source>Browse for file</source>
      <translation>浏览文件</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="53"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="65"/>
      <source>Options</source>
      <translation>选项</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="71"/>
      <source>File encoding</source>
      <translation>文件编码</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="81"/>
      <source>Skip failing SQL statements</source>
      <translation>跳过失败的 SQL 语句</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;任何不符合 SQL 规范的内容都会导致语句执行失败。&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;允许在文件中使用点命令（由官方 SQLite CLI 应用程序使用）。&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;允许在文件中使用点命令（官方 SQLite CLI 应用程序使用的命令），甚至会执行其中一些命令（例如 .print 和 .read）。所有其他点命令都将被忽略。&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>严格模式（仅允许 SQL 内容）</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="88"/>
      <source>Execution mode</source>
      <translation>执行模式</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="107"/>
      <source>Permissive (dot commands ignored)</source>
      <translation>宽松模式（忽略点命令）</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.ui" line="117"/>
      <source>Extended (dot commands executed)</source>
      <translation>扩展（执行点命令）</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.cpp" line="148"/>
      <source>SQL scripts (*.sql);;All files (*)</source>
      <translation>SQL 脚本 (*.sql);;所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.cpp" line="149"/>
      <source>Execute SQL file</source>
      <translation>执行 SQL 文件</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.cpp" line="164"/>
      <source>Please provide file to be executed.</source>
      <translation>请提供一个文件以供执行。</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.cpp" line="173"/>
      <source>Provided file does not exist or cannot be read.</source>
      <translation>提供的文件不存在或无法读取。</translation>
    </message>
    <message>
      <location filename="../dialogs/execfromfiledialog.cpp" line="185"/>
      <source>Select a database to execute the SQL file on.</source>
      <translation>选择要执行 SQL 文件的数据库。</translation>
    </message>
  </context>
  <context>
    <name>ExportDialog</name>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="14"/>
      <source>Export</source>
      <translation>导出</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="24"/>
      <source>What do you want to export?</source>
      <translation>您想导出什么？</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="39"/>
      <source>A database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="49"/>
      <source>A single table</source>
      <translation>一张表</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="56"/>
      <source>A single view</source>
      <translation>单个视图</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="63"/>
      <source>Query results</source>
      <translation>查询结果</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="75"/>
      <source>Table to export</source>
      <translation>要导出的表</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="110"/>
      <location filename="../dialogs/exportdialog.ui" line="234"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="117"/>
      <source>Table</source>
      <translation>表</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="134"/>
      <location filename="../dialogs/exportdialog.ui" line="258"/>
      <source>Options</source>
      <translation>选项</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>不选中此选项时，仅导出表的 DDL（CREATE TABLE 语句）。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="143"/>
      <source>Export table data</source>
      <translation>导出表的数据</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="153"/>
      <source>Export table indexes</source>
      <translation>导出表的索引</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="163"/>
      <source>Export table triggers</source>
      <translation>导出表的触发器</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>注意，某些输出格式可能不支持导出表索引和触发器。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="199"/>
      <source>View to export</source>
      <translation>视图导出</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="241"/>
      <source>View</source>
      <translation>视图</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="267"/>
      <source>Export view data</source>
      <translation>导出视图数据</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="277"/>
      <source>Export view triggers</source>
      <translation>导出视图触发器</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>请注意，某些输出格式可能不支持导出视图触发器。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="313"/>
      <source>Select database objects to export</source>
      <translation>选择要导出的数据库对象</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="319"/>
      <source>Export indexes (tables only)</source>
      <translation>导出索引（仅限表）</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="333"/>
      <source>Export data from tables</source>
      <translation>从表中导出数据</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="343"/>
      <source>Select all</source>
      <translation>全选</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="374"/>
      <source>Export data from views</source>
      <translation>从视图导出数据</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="326"/>
      <source>Deselect all</source>
      <translation>全不选</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="350"/>
      <source>Export triggers (tables and views)</source>
      <translation>导出触发器（表和视图）</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="360"/>
      <location filename="../dialogs/exportdialog.ui" line="394"/>
      <source>Database:</source>
      <translation>数据库：</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="382"/>
      <source>Query to export results for</source>
      <translation>导出结果所需的查询</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="401"/>
      <source>Query to be executed for results:</source>
      <translation>对导出结果执行的查询：</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="409"/>
      <source>Export format and options</source>
      <translation>导出格式和选项</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="463"/>
      <source>Export format</source>
      <translation>导出格式</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="475"/>
      <source>Output</source>
      <translation>输出</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="481"/>
      <source>Exported file path</source>
      <translation>导出文件路径</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="488"/>
      <source>Clipboard</source>
      <translation>剪贴板</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="502"/>
      <source>File</source>
      <translation>文件</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="527"/>
      <source>Exported text encoding:</source>
      <translation>导出文本编码：</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.ui" line="543"/>
      <source>Export format options</source>
      <translation>导出格式选项</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="70"/>
      <source>Cancel</source>
      <translation>取消</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="198"/>
      <location filename="../dialogs/exportdialog.cpp" line="222"/>
      <location filename="../dialogs/exportdialog.cpp" line="247"/>
      <location filename="../dialogs/exportdialog.cpp" line="272"/>
      <source>Select database to export.</source>
      <translation>选择要导出的数据库。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="199"/>
      <source>Select table to export.</source>
      <translation>选择要导出的表。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="223"/>
      <source>Select view to export.</source>
      <translation>选择要导出的视图。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="248"/>
      <source>Enter valid query to export.</source>
      <translation>输入要导出的有效查询。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="273"/>
      <source>Select at least one object to export.</source>
      <translation>至少选择一个对象进行导出。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="296"/>
      <source>You must provide a file name to export to.</source>
      <translation>您必须选择一个导出文件。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="303"/>
      <source>Path you provided is an existing directory. You cannot overwrite it.</source>
      <translation>您提供的路径是一个现存的目录，不能覆盖。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="309"/>
      <source>The directory &apos;%1&apos; does not exist.</source>
      <translation>目录 &apos;%1&apos; 不存在。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="315"/>
      <source>The file &apos;%1&apos; exists and will be overwritten.</source>
      <translation>文件“%1”存在且将被覆盖。</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="556"/>
      <source>All files (*)</source>
      <translation>所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="559"/>
      <source>Pick file to export to</source>
      <translation>选择文件导出到</translation>
    </message>
    <message>
      <location filename="../dialogs/exportdialog.cpp" line="986"/>
      <source>Internal error during export. This is a bug. Please report it.</source>
      <translation>导出时发生内部错误。这是一个 Bug，请反馈。</translation>
    </message>
  </context>
  <context>
    <name>FileExecErrorsDialog</name>
    <message>
      <location filename="../dialogs/fileexecerrorsdialog.ui" line="14"/>
      <source>Execution errors</source>
      <translation>执行错误</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>从文件执行 SQL 语句时遇到以下错误：</translation>
    </message>
    <message>
      <location filename="../dialogs/fileexecerrorsdialog.ui" line="49"/>
      <source>SQL</source>
      <translation>SQL</translation>
    </message>
    <message>
      <location filename="../dialogs/fileexecerrorsdialog.ui" line="54"/>
      <source>Error</source>
      <translation>错误</translation>
    </message>
    <message>
      <location filename="../dialogs/fileexecerrorsdialog.ui" line="68"/>
      <source>Statements that were executed successfully were commited.</source>
      <translation>成功执行的语句已提交。</translation>
    </message>
    <message>
      <location filename="../dialogs/fileexecerrorsdialog.ui" line="81"/>
      <source>Statements that were executed successfully were rolled back.</source>
      <translation>成功执行的语句已回滚。</translation>
    </message>
  </context>
  <context>
    <name>FkComboBox</name>
    <message>
      <location filename="../datagrid/fkcombobox.cpp" line="375"/>
      <source>Cannot edit this cell. Details: %1</source>
      <translation>无法编辑此单元格。详情：%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>选择字体</translation>
    </message>
  </context>
  <context>
    <name>Form</name>
    <message>
      <location filename="../forms/sqlformatterplugin.ui" line="20"/>
      <source>Active SQL formatter plugin</source>
      <translation>激活 SQL 语句格式化插件</translation>
    </message>
  </context>
  <context>
    <name>FormView</name>
    <message>
      <location filename="../formview.cpp" line="287"/>
      <source>Commit row</source>
      <comment>form view</comment>
      <translation>提交行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="288"/>
      <source>Rollback row</source>
      <comment>form view</comment>
      <translation>回滚行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="289"/>
      <source>First row</source>
      <comment>form view</comment>
      <translation>首行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="290"/>
      <source>Previous row</source>
      <comment>form view</comment>
      <translation>上一行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="291"/>
      <source>Next row</source>
      <comment>form view</comment>
      <translation>下一行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="292"/>
      <source>Last row</source>
      <comment>form view</comment>
      <translation>末行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="293"/>
      <source>Insert new row</source>
      <comment>form view</comment>
      <translation>插入新行</translation>
    </message>
    <message>
      <location filename="../formview.cpp" line="294"/>
      <source>Delete current row</source>
      <comment>form view</comment>
      <translation>删除当前行</translation>
    </message>
  </context>
  <context>
    <name>FunctionsEditor</name>
    <message>
      <location filename="../windows/functionseditor.ui" line="84"/>
      <source>Filter functions</source>
      <translation>筛选函数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="172"/>
      <source>Input arguments</source>
      <translation>输入参数</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;您可以在此处定义函数参数。指定的名称在实现代码中可用作变量，并包含传递给函数的值。参数也可以通过语言的标准参数容器访问（例如，Tcl 中的 &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; 或 &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;者 &lt;/span&gt; JavaScript 中的 `arguments`).&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;表示该函数接受可变数量的参数。在此模式下，参数只能通过特定于语言的机制访问（例如，Tcl 中的 &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;$argv&lt;/span&gt; 或 JavaScript 中的 &lt;span style=&quot; font-family:&apos;monospace&apos;; font-weight:700;&quot;&gt;arguments&lt;/span&gt; 。).&lt;br/&gt;如果禁用此选项，参数定义如下，其名称也可在实现代码中作为变量使用，同时仍然可以通过语言的标准参数容器访问。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="210"/>
      <source>Undefined</source>
      <translation>未定义</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="226"/>
      <source>Databases</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="232"/>
      <source>Register in all databases</source>
      <translation>在所有数据库中注册</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="239"/>
      <source>Register in following databases:</source>
      <translation>在下列数据库中注册：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="274"/>
      <source>Type:</source>
      <translation>类型：</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;选择用于实现函数的语言。所选语言决定了函数代码的解释方式，以及实现块中可用的语法、变量和运行时环境。&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;选择要实现的函数类型。所选类型决定了 SQLite 如何调用该函数以及必须提供哪些实现块：标量函数使用单个代码块，聚合函数使用基于步骤的处理，窗口聚合函数则需要额外的窗口框架处理（包括反向步骤）。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="295"/>
      <source>Function name:</source>
      <translation>函数名：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="305"/>
      <source>Implementation language:</source>
      <translation>实现语言：</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;表示对于相同的输入参数，该函数始终返回相同的结果。某些模式表达式（例如 CHECK 约束、部分索引、表达式索引、生成列）需要此属性，并且可能允许 SQLite 应用额外的优化。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="315"/>
      <source>Deterministic</source>
      <translation>确定</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="336"/>
      <source>Function code</source>
      <translation>功能代码</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;函数被调用时执行的代码。它接收函数参数，并必须计算并返回结果。参数值以与声明的函数参数同名的变量形式提供。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="353"/>
      <source>Initialization</source>
      <translation>初始化</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;这段代码在第一次聚合步骤之前执行一次。它用于初始化存储聚合状态的变量。参数值以与声明的函数参数同名的变量形式提供。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="370"/>
      <source>Step</source>
      <translation>步骤</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;针对每一行输入执行的代码。它应该使用当前参数更新聚合状态。参数值以与声明的函数参数同名的变量形式提供。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="387"/>
      <source>Inverse</source>
      <translation>反向</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;当一行离开窗口框架时执行的代码。参数值对应于从窗口中移除的行，用于从聚合状态中减去其贡献。参数值以与声明的函数参数同名的变量形式提供。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.ui" line="404"/>
      <source>Aggregated value</source>
      <translation>汇总值</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;根据当前聚合状态计算并返回聚合结果的代码。在窗口函数中，它可以多次执行以返回当前窗口值。在常规聚合函数中，它作为最终函数调用一次。参数值以与声明的函数参数同名的变量形式提供。&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>SQL 函数编辑器</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="67"/>
      <source>Commit all function changes</source>
      <translation>提交所有对函数的更改</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="68"/>
      <source>Rollback all function changes</source>
      <translation>回滚所有对函数的更改</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="70"/>
      <source>Create new function</source>
      <translation>新建函数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="71"/>
      <source>Delete selected function</source>
      <translation>删除已选函数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="73"/>
      <source>Import functions from file</source>
      <translation>从文件中导入函数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="74"/>
      <source>Export functions to file</source>
      <translation>导出函数到文件</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="75"/>
      <source>Custom SQL functions manual</source>
      <translation>自定义 SQL 函数手册</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="78"/>
      <source>Add function argument</source>
      <translation>添加函数参数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="79"/>
      <source>Rename function argument</source>
      <translation>重命名函数参数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="80"/>
      <source>Delete function argument</source>
      <translation>删除函数参数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="82"/>
      <source>Move function argument up</source>
      <translation>上移函数参数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="83"/>
      <source>Move function argument down</source>
      <translation>下移函数参数</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>输入唯一的非空函数名称。如果输入参数的数量不同，则允许名称重复。</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="551"/>
      <source>Pick the implementation language.</source>
      <translation>选择实现语言。</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>请输入非空的实现代码。</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="629"/>
      <source>argument</source>
      <comment>new function argument name in function editor window</comment>
      <translation>参数</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="733"/>
      <source>Function argument cannot be empty and it cannot have duplicated name.</source>
      <translation>函数参数不能为空且不能有重复的名称。</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.cpp" line="800"/>
      <source>Functions editor window has uncommitted modifications.</source>
      <translation>函数编辑器窗口有未提交的更改。</translation>
    </message>
  </context>
  <context>
    <name>FunctionsEditorModel</name>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="261"/>
      <source>all databases</source>
      <translation>所有数据库</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="266"/>
      <source>Function:</source>
      <translation>函数：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="267"/>
      <source>Type:</source>
      <translation>类型：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="268"/>
      <source>Deterministic:</source>
      <translation>确定性：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="268"/>
      <source>Yes</source>
      <translation>是</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="268"/>
      <source>No</source>
      <translation>否</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="269"/>
      <source>Language:</source>
      <translation>语言：</translation>
    </message>
    <message>
      <location filename="../windows/functionseditormodel.cpp" line="270"/>
      <source>Registered in:</source>
      <translation>注册于：</translation>
    </message>
  </context>
  <context>
    <name>IconManager</name>
    <message>
      <location filename="../iconmanager.cpp" line="295"/>
      <source>Mix of icons from various sources, including svgrepo.com and other open-source icon sets.</source>
      <translation>来自各种来源的混合图标，包括 svgrepo.com 和其他开源图标集。</translation>
    </message>
  </context>
  <context>
    <name>ImportDialog</name>
    <message>
      <location filename="../dialogs/importdialog.ui" line="14"/>
      <source>Import data</source>
      <translation>导入数据</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="171"/>
      <source>Table to import to</source>
      <translation>导入目标</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="186"/>
      <source>Table</source>
      <translation>表</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="193"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="24"/>
      <source>Data source to import from</source>
      <translation>导入数据源</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="69"/>
      <source>Data source type</source>
      <translation>数据源类型</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="81"/>
      <source>Options</source>
      <translation>选项</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="115"/>
      <source>Text encoding:</source>
      <translation>文本编码：</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="122"/>
      <source>Input file:</source>
      <translation>输入文件：</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;如果启用，则导入期间遇到的任何约束违背、无效数据格式（错误列数）或其他问题都将被忽略，导入不中止。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="135"/>
      <source>Ignore errors</source>
      <translation>忽略错误</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.ui" line="145"/>
      <source>Data source options</source>
      <translation>数据源选项</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="132"/>
      <source>Cancel</source>
      <translation>取消</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="163"/>
      <source>If you type table name that doesn&apos;t exist, it will be created.</source>
      <translation>如果您输入的表不存在，则将创建该表。</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="163"/>
      <source>Enter the table name</source>
      <translation>输入表名</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="181"/>
      <source>Select import plugin.</source>
      <translation>选择导入插件。</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="190"/>
      <source>You must provide a file to import from.</source>
      <translation>您必须提供一个导入源文件。</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="197"/>
      <source>The file &apos;%1&apos; does not exist.</source>
      <translation>文件“%1”不存在。</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="203"/>
      <source>Path you provided is a directory. A regular file is required.</source>
      <translation>您提供的是一个目录，而需要的是一个一般文件。</translation>
    </message>
    <message>
      <location filename="../dialogs/importdialog.cpp" line="396"/>
      <source>Pick file to import from</source>
      <translation>选择要导入的文件</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>索引</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="70"/>
      <source>Column</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="75"/>
      <source>Sort</source>
      <translation>排序</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="80"/>
      <source>Collation</source>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="88"/>
      <source>On table:</source>
      <translation>表：</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="98"/>
      <source>Delete selected indexed expression</source>
      <translation>删除选定的索引表达式</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>向上移动选中的索引，使它在索引中变得更重要。</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>向下移动选中的索引，使它在索引中变得不重要。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="128"/>
      <source>Partial index condition</source>
      <translation>部分索引条件</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="135"/>
      <source>Unique index</source>
      <translation>唯一索引</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="142"/>
      <source>Index name:</source>
      <translation>索引名：</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="149"/>
      <source>Edit selected indexed expression</source>
      <translation>编辑选定的索引表达式</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="169"/>
      <source>Add indexed expression</source>
      <translation>添加索引表达式</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.ui" line="180"/>
      <source>DDL</source>
      <translation>DDL</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="73"/>
      <source>Tried to open index dialog for closed or inexisting database.</source>
      <translation>试图打开已关闭或不存在的数据库的索引对话框。</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>无法正确处理索引 %1。无法打开索引对话框。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="196"/>
      <source>Pick the table for the index.</source>
      <translation>为索引选择一个表。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="197"/>
      <source>Select at least one column.</source>
      <translation>选择至少一个列。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="198"/>
      <source>Enter a valid condition.</source>
      <translation>输入一个有效的条件。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="270"/>
      <source>default</source>
      <comment>index dialog</comment>
      <translation>默认</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="274"/>
      <source>Sort order</source>
      <comment>table constraints</comment>
      <translation>排序</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>错误</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>无法创建唯一索引，因为选中的列中的值不是唯一的。您想要执行 SELECT 查询以查看有问题的值吗？</translation>
    </message>
    <message>
      <location filename="../dialogs/indexdialog.cpp" line="781"/>
      <source>An error occurred while executing SQL statements:
%1</source>
      <translation>在执行 SQL 语句时发生了错误：%1</translation>
    </message>
  </context>
  <context>
    <name>IndexExprColumnDialog</name>
    <message>
      <location filename="../dialogs/indexexprcolumndialog.ui" line="14"/>
      <source>Indexed expression</source>
      <translation>索引表达式</translation>
    </message>
    <message>
      <location filename="../dialogs/indexexprcolumndialog.ui" line="20"/>
      <source>Expression to index</source>
      <translation>索引表达式</translation>
    </message>
    <message>
      <location filename="../dialogs/indexexprcolumndialog.cpp" line="60"/>
      <source>This expression is already indexed by the index.</source>
      <translation>此表达式已被该索引所索引。</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>列应该直接索引而非通过表达式。扩展此表达式来包含列名称以外的内容，或者中止并在索引对话框中直接选择此列。</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>列 &apos;%1&apos; 不属于此索引所在的表。索引表达式只能引用索引表中的列。</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>索引表达式中禁止使用 &apos;SELECT&apos; 语句。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexexprcolumndialog.cpp" line="105"/>
      <source>Enter an indexed expression.</source>
      <translation>请输入一个索引表达式。</translation>
    </message>
    <message>
      <location filename="../dialogs/indexexprcolumndialog.cpp" line="119"/>
      <source>Invalid expression.</source>
      <translation>无效的表达式。</translation>
    </message>
  </context>
  <context>
    <name>LanguageDialog</name>
    <message>
      <location filename="../dialogs/languagedialog.ui" line="14"/>
      <source>Language</source>
      <translation>语言</translation>
    </message>
    <message>
      <location filename="../dialogs/languagedialog.ui" line="20"/>
      <source>Please choose language:</source>
      <translation>请选择一种语言：</translation>
    </message>
  </context>
  <context>
    <name>MainWindow</name>
    <message>
      <location filename="../mainwindow.ui" line="81"/>
      <source>Database toolbar</source>
      <translation>数据库工具栏</translation>
    </message>
    <message>
      <location filename="../mainwindow.ui" line="92"/>
      <source>Structure toolbar</source>
      <translation>结构工具栏</translation>
    </message>
    <message>
      <location filename="../mainwindow.ui" line="103"/>
      <source>Tools</source>
      <translation>工具</translation>
    </message>
    <message>
      <location filename="../mainwindow.ui" line="120"/>
      <source>Window list</source>
      <translation>窗口列表</translation>
    </message>
    <message>
      <location filename="../mainwindow.ui" line="134"/>
      <source>View toolbar</source>
      <translation>视图工具栏</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="145"/>
      <source>Configuration widgets</source>
      <translation>配置部件</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="146"/>
      <source>Syntax highlighting engines</source>
      <translation>语法高亮引擎</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="147"/>
      <source>Data editors</source>
      <translation>数据编辑器</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>正在以调试模式运行。按下 %1 或使用 帮助 - 打开调试控制台 菜单来打开调试控制台。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="162"/>
      <source>Running in debug mode. Debug messages are printed to the standard output.</source>
      <translation>正在以调试模式运行。调试信息将会被输出在标准输出中。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="272"/>
      <source>You need to restart application to make the language change take effect.</source>
      <translation>语言变更在程序重启后生效。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="317"/>
      <source>Open SQL &amp;editor</source>
      <translation>打开 SQL 编辑器(&amp;E)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="361"/>
      <source>Open DDL &amp;history</source>
      <translation>打开 DDL 历史(&amp;H)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="318"/>
      <source>Open SQL &amp;functions editor</source>
      <translation>打开 SQL 函数编辑器(&amp;F)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="319"/>
      <source>Open code &amp;snippets editor</source>
      <translation>打开代码片段编辑器</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="320"/>
      <source>Open &amp;collations editor</source>
      <translation>打开字符序编辑器(&amp;C)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="321"/>
      <source>Open ex&amp;tension manager</source>
      <translation>打开扩展管理器(&amp;T)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="323"/>
      <source>&amp;Import</source>
      <translation>导入(&amp;I)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="324"/>
      <source>E&amp;xport</source>
      <translation>导出(&amp;X)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="325"/>
      <source>Open confi&amp;guration dialog</source>
      <translation>打开配置对话框(&amp;G)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="327"/>
      <source>&amp;Tile windows</source>
      <translation>平铺窗口(&amp;T)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="328"/>
      <source>Tile windows &amp;horizontally</source>
      <translation>水平排列窗口(&amp;H)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="329"/>
      <source>Tile windows &amp;vertically</source>
      <translation>垂直排列窗口(&amp;V)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="330"/>
      <source>&amp;Cascade windows</source>
      <translation>层叠窗口(&amp;C)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="332"/>
      <source>Next window</source>
      <translation>下一个窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="331"/>
      <source>Previous window</source>
      <translation>上一个窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="335"/>
      <source>Hide status field</source>
      <translation>隐藏状态栏</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="339"/>
      <source>Close &amp;all windows</source>
      <translation>关闭全部窗口(&amp;A)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="342"/>
      <source>Re&amp;store recently closed window</source>
      <translation>还原最近关闭的窗口(&amp;S)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="337"/>
      <source>Close current &amp;window</source>
      <translation>关闭当前窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="148"/>
      <source>Data renderers</source>
      <translation>数据渲染器</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="338"/>
      <source>Close &amp;other windows</source>
      <translation>关闭其他窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="340"/>
      <source>Close windows on the &amp;left</source>
      <translation>关闭左侧窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="341"/>
      <source>Close windows on the &amp;right</source>
      <translation>关闭右侧窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="343"/>
      <source>Re&amp;name selected window</source>
      <translation>重命名选中窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="346"/>
      <source>Open Debug Console</source>
      <translation>打开调试终端</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="347"/>
      <source>Open CSS Console</source>
      <translation>打开 CSS 控制台</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="348"/>
      <source>Report a &amp;bug</source>
      <translation>提报 Bug (&amp;B)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="349"/>
      <source>D&amp;onate</source>
      <translation>捐赠(&amp;O)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="350"/>
      <source>Propose a new &amp;feature</source>
      <translation>提议新增功能(&amp;F)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="351"/>
      <source>&amp;About</source>
      <translation>关于(&amp;A)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="352"/>
      <source>&amp;Licenses</source>
      <translation>许可协议(&amp;L)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="353"/>
      <source>Open home &amp;page</source>
      <translation>访问主页(&amp;P)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="354"/>
      <source>User &amp;Manual</source>
      <translation>用户手册(&amp;M)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="355"/>
      <source>SQLite &amp;documentation</source>
      <translation>SQLite 文档(&amp;D)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="356"/>
      <source>Bugs and feature &amp;requests</source>
      <translation>Bug 与功能请求(&amp;R)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="357"/>
      <source>Quit</source>
      <translation>退出</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="359"/>
      <source>Check for &amp;updates</source>
      <translation>检查更新(&amp;U)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="390"/>
      <source>&amp;Database</source>
      <comment>menubar</comment>
      <translation>数据库(&amp;D)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="415"/>
      <source>&amp;Structure</source>
      <comment>menubar</comment>
      <translation>结构(&amp;S)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="794"/>
      <source>&amp;View</source>
      <comment>menubar</comment>
      <translation>视图(&amp;V)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1478"/>
      <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>丢弃的文件似乎是一个 SQLite 2 数据库，而此 Letos 版本不支持该数据库。最后一个支持 SQLite 2 的版本是 3.2.1。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="535"/>
      <source>Window list</source>
      <comment>menubar view menu</comment>
      <translation>窗口列表</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="333"/>
      <source>Move window earlier</source>
      <translation>提前移动窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="334"/>
      <source>Move window later</source>
      <translation>稍后移动窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="345"/>
      <source>Open Command Palette</source>
      <translation>打开命令面板</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="362"/>
      <source>Export configuration</source>
      <translation>导出配置</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="363"/>
      <source>Import configuration</source>
      <translation>导入配置</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="382"/>
      <source>arrange</source>
      <comment>command palette entry</comment>
      <translation>排列</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="469"/>
      <source>&amp;Tools</source>
      <comment>menubar</comment>
      <translation>工具(&amp;T)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="489"/>
      <source>&amp;Help</source>
      <translation>帮助(&amp;H)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="527"/>
      <source>&amp;Windows</source>
      <comment>menubar view menu</comment>
      <translation>窗口(&amp;W)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="731"/>
      <source>Could not set style: %1</source>
      <comment>main window</comment>
      <translation>未能设置风格：%1</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="968"/>
      <source>Cannot export, because no export plugin is loaded.</source>
      <translation>无法导出，没有加载导出插件。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="985"/>
      <source>Cannot import, because no import plugin is loaded.</source>
      <translation>无法导入，没有加载导入插件。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1028"/>
      <source>Rename window</source>
      <translation>重命名窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1028"/>
      <source>Enter new name for the window:</source>
      <translation>请输入窗口的新名称：</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1138"/>
      <source>New updates are available. &lt;a href=&quot;%1&quot;&gt;Click here for details&lt;/a&gt;.</source>
      <translation>有新更新 &lt;a href=&quot;%1&quot;&gt;点此查看更新详情&lt;/a&gt;.</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1144"/>
      <source>You&apos;re running the most recent version. No updates are available.</source>
      <translation>您使用的是最新版，不需要更新。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1199"/>
      <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 是免费开源软件。如果它对您的工作有所帮助，请考虑&lt;a href=&quot;%1&quot;&gt;支持该项目&lt;/a&gt;。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1284"/>
      <source>Toolbar &amp;icons</source>
      <comment>menubar</comment>
      <translation>工具栏图标(&amp;I)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1291"/>
      <source>Size: %1%</source>
      <comment>toolbar icons</comment>
      <translation>大小：1%</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1379"/>
      <source>Drop files to open them</source>
      <translation>拖放文件以打开这些文件</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1481"/>
      <source>The dropped file type is unsupported: %1 (%2)</source>
      <translation>丢弃的文件类型不受支持：%1 (%2)</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1491"/>
      <source>SQLite 3 database - add to database list and open</source>
      <translation>SQLite 3 数据库 - 添加到数据库列表并打开</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1493"/>
      <source>It may be an encrypted SQLite 3 database. You can try to open it.</source>
      <translation>这可能是一个加密的 SQLite 3 数据库。您可以尝试打开它。</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1495"/>
      <source>Empty file, but also empty SQLite 3 database - open as database</source>
      <translation>文件为空，但 SQLite 3 数据库也为空 - 以数据库模式打开</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1497"/>
      <source>SQL file - open in SQL Editor</source>
      <translation>SQL 文件 - 在 SQL 编辑器中打开</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1499"/>
      <source>Text file - open in SQL Editor</source>
      <translation>文本文件 - 在 SQL 编辑器中打开</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1501"/>
      <source>CSV file - import using Import Dialog</source>
      <translation>CSV 文件 - 使用导入对话框导入</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1503"/>
      <source>SQLite 2 database - not supported anymore</source>
      <translation>SQLite 2 数据库 - 已停止支持</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1505"/>
      <source>Unsupported file type</source>
      <translation>不支持的文件类型</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1604"/>
      <source>Database passed in command line parameters (%1) was already on the list under name: %2</source>
      <translation>命令行参数传递的数据库（%1）已在列表中，名为：%2</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1611"/>
      <source>Database passed in command line parameters (%1) has been temporarily added to the list under name: %2</source>
      <translation>命令行参数传递的数据库（%1）已临时添加到列表中，名为：%2</translation>
    </message>
    <message>
      <location filename="../mainwindow.cpp" line="1616"/>
      <source>Could not add database %1 to list.</source>
      <translation>未能将数据 %1 添加到列表</translation>
    </message>
  </context>
  <context>
    <name>ManualCommitPendingTxDialog</name>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="14"/>
      <source>Pending transaction</source>
      <translation>待处理事务</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="20"/>
      <source>Roll Back Transaction</source>
      <translation>回滚交易</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="23"/>
      <source>Discard changes made within the transaction and proceed</source>
      <translation>放弃交易过程中所做的更改并继续</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="30"/>
      <source>Commit Transaction</source>
      <translation>提交交易</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="33"/>
      <source>Save transaction changes and proceed</source>
      <translation>保存交易更改并继续</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="40"/>
      <source>Cancel</source>
      <translation>取消</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitpendingtxdialog.ui" line="43"/>
      <source>Keep the transaction open and stay with the current database</source>
      <translation>保持事务打开状态，并继续使用当前数据库</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;您想如何处理这笔交易？&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;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;) 有一个活动的手动事务，其中包含尚未提交的待处理更改。&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>手动提交的 WAL 模式</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;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;) 当前未使用 WAL（预写式日志）日志模式。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot; font-size:11pt; font-weight:700;&quot;&gt;手动提交模式需要启用 WAL 模式。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;WAL 模式允许其他连接和应用程序的其他部分在写入事务打开时继续读取数据库。如果没有 WAL 模式，打开的事务可能会阻塞模式刷新、数据浏览和其他数据库操作。&lt;/p&gt;&lt;p&gt;请注意：&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 模式会影响数据库文件本身，并且所有将来连接到此数据库的连接都将使用此模式，直到再次使用 PRAGMA journal_mode 进行更改。&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;即使在 WAL 模式下，SQLite 仍然一次只允许一个活动的写入事务。&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;阅读更多关于 WAL 的信息，请访问 &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>保持当前日志模式</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitwalmodedialog.ui" line="46"/>
      <source>and use auto-commits</source>
      <translation>并使用自动提交</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitwalmodedialog.ui" line="53"/>
      <source>Enable WAL mode</source>
      <translation>启用 WAL 模式</translation>
    </message>
    <message>
      <location filename="../dialogs/manualcommitwalmodedialog.ui" line="56"/>
      <source>and use manual commits</source>
      <translation>并使用手动提交</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;是否启用 WAL 模式并继续？&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>未提交的更改</translation>
    </message>
    <message>
      <location filename="../mdiwindow.cpp" line="209"/>
      <source>Close anyway</source>
      <translation>仍然关闭</translation>
    </message>
    <message>
      <location filename="../mdiwindow.cpp" line="211"/>
      <source>Don&apos;t close</source>
      <translation>不关闭</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>Null 值</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="80"/>
      <source>Save this value to a file</source>
      <translation>将此值保存到文件中</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="83"/>
      <source>Load this value from a file</source>
      <translation>从文件中加载此值</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="94"/>
      <source>Configure editors for this data type</source>
      <translation>为数据类型设置编辑器</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="102"/>
      <source>Open another tab</source>
      <translation>打开另一个选项卡</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="118"/>
      <source>Reset value</source>
      <translation>重置值</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="376"/>
      <source>Foreign Key</source>
      <translation>外键</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="434"/>
      <source>All files (*)</source>
      <translation>所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="436"/>
      <source>Text files (*.txt *.log *.csv *.tsv *.md *.json *.xml *.yaml *.yml)</source>
      <translation>文本文件（*.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>SQL 文件 (*.sql)</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="440"/>
      <source>Binary data (*.bin *.dat *.raw)</source>
      <translation>二进制数据（*.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>图像（*.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>压缩文件（*.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>文档（*.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>可执行文件（*.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>数据编辑器插件 &apos;%1&apos; 未加载，而它已被定义为编辑 &apos;%1&apos; 数据类型的编辑器。 {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>已删除</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="580"/>
      <source>Read only</source>
      <comment>multieditor</comment>
      <translation>只读</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="694"/>
      <source>Open</source>
      <translation>打开</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="703"/>
      <source>Could not open file %1 for reading.</source>
      <translation>无法打开文件 %1 进行读取。</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="719"/>
      <source>Save</source>
      <translation>保存</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="728"/>
      <source>Could not open file %1 for writting.</source>
      <translation>无法打开文件 %1 进行写入。</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditor.cpp" line="778"/>
      <source>Could not write data into the file %1</source>
      <translation>无法将数据写入文件 %1</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorBoolPlugin</name>
    <message>
      <location filename="../multieditor/multieditorbool.cpp" line="227"/>
      <source>Boolean</source>
      <translation>布尔</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorDatePlugin</name>
    <message>
      <location filename="../multieditor/multieditordate.cpp" line="89"/>
      <source>Date</source>
      <translation>日期</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorDateTimePlugin</name>
    <message>
      <location filename="../multieditor/multieditordatetime.cpp" line="276"/>
      <source>Date &amp; time</source>
      <translation>日期和时间</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorFk</name>
    <message>
      <location filename="../multieditor/multieditorfk.cpp" line="25"/>
      <source>Selected value preview</source>
      <translation>选定值预览</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorHexPlugin</name>
    <message>
      <location filename="../multieditor/multieditorhex.cpp" line="107"/>
      <source>Hex</source>
      <translation>十六进制</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>数值</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorText</name>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="126"/>
      <source>Tab changes focus</source>
      <translation>Tab 键更改焦点</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="127"/>
      <source>Cut</source>
      <translation>剪切</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="128"/>
      <source>Copy</source>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="129"/>
      <source>Paste</source>
      <translation>粘贴</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="130"/>
      <source>Delete</source>
      <translation>删除</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="131"/>
      <source>Undo</source>
      <translation>撤销</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="132"/>
      <source>Redo</source>
      <translation>重做</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorTextPlugin</name>
    <message>
      <location filename="../multieditor/multieditortext.cpp" line="309"/>
      <source>Text</source>
      <translation>文本</translation>
    </message>
  </context>
  <context>
    <name>MultiEditorTimePlugin</name>
    <message>
      <location filename="../multieditor/multieditortime.cpp" line="92"/>
      <source>Time</source>
      <translation>时间</translation>
    </message>
  </context>
  <context>
    <name>NewConstraintDialog</name>
    <message>
      <location filename="../dialogs/newconstraintdialog.ui" line="20"/>
      <source>New constraint</source>
      <translation>新约束</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>主键</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>外键</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>唯一</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>条件</translation>
    </message>
    <message>
      <location filename="../dialogs/newconstraintdialog.cpp" line="116"/>
      <source>Not NULL</source>
      <comment>new constraint dialog</comment>
      <translation>非空</translation>
    </message>
    <message>
      <location filename="../dialogs/newconstraintdialog.cpp" line="117"/>
      <source>Collate</source>
      <comment>new constraint dialog</comment>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../dialogs/newconstraintdialog.cpp" line="118"/>
      <source>Generated</source>
      <comment>new constraint dialog</comment>
      <translation>生成</translation>
    </message>
    <message>
      <location filename="../dialogs/newconstraintdialog.cpp" line="119"/>
      <source>Default</source>
      <comment>new constraint dialog</comment>
      <translation>默认</translation>
    </message>
  </context>
  <context>
    <name>NewVersionDialog</name>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="20"/>
      <source>Letos updates</source>
      <translation>Letos 更新</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="31"/>
      <source>New version is available!</source>
      <translation>有新版本可用！</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="57"/>
      <source>Download new version!</source>
      <translation>下载新版本</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>下载新版本程序包。将在准备就绪时提醒您安装。</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="77"/>
      <source>Open Letos home page.</source>
      <translation>打开 Letos 的主页。</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="90"/>
      <source>Read release notes &amp;&amp; download package yourself.</source>
      <translation>阅读发行说明和自行下载程序包。</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="110"/>
      <source>Just close this window.</source>
      <translation>关闭此窗口。</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="120"/>
      <source>Check for updates on startup</source>
      <translation>在启动时检查更新</translation>
    </message>
    <message>
      <location filename="../dialogs/newversiondialog.ui" line="97"/>
      <source>Not now.</source>
      <translation>暂不更新</translation>
    </message>
  </context>
  <context>
    <name>PasswordToggleHelper</name>
    <message>
      <location filename="../common/passwordtogglehelper.cpp" line="11"/>
      <source>Show / hide password</source>
      <translation>显示/隐藏密码</translation>
    </message>
  </context>
  <context>
    <name>PopulateConfigDialog</name>
    <message>
      <location filename="../dialogs/populateconfigdialog.ui" line="14"/>
      <source>Populating configuration</source>
      <translation>配置填充</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>给字段 &lt;b&gt;%2&lt;/b&gt; 配置 &lt;b&gt;%1&lt;/b&gt;</translation>
    </message>
  </context>
  <context>
    <name>PopulateDialog</name>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="14"/>
      <source>Populate table</source>
      <translation>填充表</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="84"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="102"/>
      <source>Table</source>
      <translation>表</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="139"/>
      <source>Select All</source>
      <translation>全选</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="152"/>
      <source>Deselect All</source>
      <translation>取消全选</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="48"/>
      <source>Columns</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.ui" line="20"/>
      <source>Number of rows to populate:</source>
      <translation>填充的行数：</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="52"/>
      <source>Populate</source>
      <comment>populate dialog button</comment>
      <translation>填充</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="67"/>
      <source>Abort</source>
      <translation>中止</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="204"/>
      <source>Configure</source>
      <translation>配置</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="311"/>
      <source>Populating configuration for this column is invalid or incomplete.</source>
      <translation>此列的填充配置无效或不完整。</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="342"/>
      <source>Select database with table to populate</source>
      <translation>选择要填充表的数据库</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="343"/>
      <source>Select table to populate</source>
      <translation>选择要填充的表</translation>
    </message>
    <message>
      <location filename="../dialogs/populatedialog.cpp" line="344"/>
      <source>You have to select at least one column.</source>
      <translation>您须选择至少一个字段。</translation>
    </message>
  </context>
  <context>
    <name>PrimaryKeyPanel</name>
    <message>
      <location filename="../constraints/tableprimarykeypanel.ui" line="20"/>
      <source>Column</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../constraints/tableprimarykeypanel.ui" line="49"/>
      <source>Autoincrement</source>
      <translation>自动递增</translation>
    </message>
    <message>
      <location filename="../constraints/tableprimarykeypanel.ui" line="62"/>
      <source>Named constraint</source>
      <translation>命名的约束</translation>
    </message>
    <message>
      <location filename="../constraints/tableprimarykeypanel.ui" line="81"/>
      <source>On conflict</source>
      <translation>当冲突时</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>无法编辑内联子查询的结果列。</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>无法编辑列，它是复合 %1 语句（包含 %2、%3 或 %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>查询执行机制提取 ROWID 的属性时遇到问题。这可能是软件中的 bug，您可以报告该问题。</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>请求的列是一个 SQL 表达式的结果，而非普通的列。不能编辑这些列。</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>请求的列属于受限制的 SQLite 表。这些表不能被直接编辑。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="84"/>
      <source>Cannot edit results of query other than %1.</source>
      <translation>无法编辑 %1 以外的查询结果。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="86"/>
      <source>Cannot edit columns that are result of aggregated %1 statements.</source>
      <translation>无法编辑列，它是聚合的 %1 语句的结果。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="88"/>
      <source>Cannot edit columns that are result of %1 statement.</source>
      <translation>无法编辑列，它是 %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>无法编辑列，它是通用表生成语句 %1 的结果。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="92"/>
      <source>Cannot edit table generated columns.</source>
      <translation>无法编辑表生成的列。</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>无法编辑此列，因为它是在另一个多级视图上执行查询的视图结果（即查询另一个视图的视图）。</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>当冲突时：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="493"/>
      <source>references table %1</source>
      <comment>data view tooltip</comment>
      <translation>引用表 %1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="495"/>
      <source>references table %1, column %2</source>
      <comment>data view tooltip</comment>
      <translation>引用表 %1，列 %2</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="562"/>
      <source>condition: %1</source>
      <comment>data view tooltip</comment>
      <translation>字符序：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodelcolumn.cpp" line="582"/>
      <source>collation name: %1</source>
      <comment>data view tooltip</comment>
      <translation>字符序名称：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="25"/>
      <source>Data grid view</source>
      <translation>数据网格视图</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="26"/>
      <source>Edit current cell inline</source>
      <translation>编辑当前单元格</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="27"/>
      <source>Cut cell(s) contents to clipboard</source>
      <translation>复制单元格内容至剪贴板</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="28"/>
      <source>Copy cell(s) contents to clipboard</source>
      <translation>复制单元格内容至剪贴板</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="29"/>
      <source>Copy cell(s) contents together with header to clipboard</source>
      <translation>复制单元格内容与表头至剪贴板</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="31"/>
      <source>Paste cell(s) contents from clipboard</source>
      <translation>粘贴剪贴板中的单元格内容</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="33"/>
      <source>Set empty value to selected cell(s)</source>
      <translation>设定选中单元格为空值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="34"/>
      <source>Set NULL value to selected cell(s)</source>
      <translation>设定选中单元格为 NULL 值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="35"/>
      <source>Commit changes to cell(s) contents</source>
      <translation>提交单元格内容更改</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="36"/>
      <source>Rollback changes to cell(s) contents</source>
      <translation>回滚单元格内容更改</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="37"/>
      <source>Delete selected data row</source>
      <translation>删除所选数据行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="38"/>
      <source>Insert new data row</source>
      <translation>插入新数据行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="39"/>
      <source>Open contents of selected cell in a separate editor</source>
      <translation>在单独编辑器中打开所选单元格的内容</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="40"/>
      <source>Toggle the height adjustment of rows</source>
      <translation>切换行的高度调整</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="41"/>
      <source>Increase font size</source>
      <comment>data view</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.h" line="42"/>
      <source>Decrease font size</source>
      <comment>data view</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="32"/>
      <source>Data view (both grid and form)</source>
      <translation>数据视图（网格 + 表格）</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="33"/>
      <source>Refresh data</source>
      <translation>刷新数据</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="34"/>
      <source>Find in data</source>
      <translation>在数据中查找</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="35"/>
      <source>Switch to grid view of the data</source>
      <translation>切换至数据的网格视图</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="36"/>
      <source>Switch to form view of the data</source>
      <translation>切换至数据的表单视图</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="31"/>
      <source>Database list</source>
      <translation>数据库列表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="32"/>
      <source>Delete selected item</source>
      <translation>删除选中项</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="33"/>
      <source>Clear filter contents</source>
      <translation>清空筛选器内容</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="34"/>
      <source>Refresh schema</source>
      <translation>刷新结构</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="35"/>
      <source>Refresh all schemas</source>
      <translation>刷新全部结构</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="36"/>
      <source>Create new database</source>
      <translation>创建新数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="37"/>
      <source>Open existing database or SQL file</source>
      <translation>打开现有数据库或 SQL 文件</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="38"/>
      <source>Edit selected database</source>
      <translation>编辑所选数据库</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="39"/>
      <source>Rename selected database</source>
      <translation>重命名所选数据类型</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="40"/>
      <source>Select all items</source>
      <translation>选中所有项</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="41"/>
      <source>Copy selected item(s)</source>
      <translation>复制选中项</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>从剪贴板粘贴</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="43"/>
      <source>Increase font size</source>
      <comment>database list</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtree.h" line="44"/>
      <source>Decrease font size</source>
      <comment>database list</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemfactory.cpp" line="53"/>
      <source>Tables</source>
      <translation>表</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemfactory.cpp" line="58"/>
      <source>Indexes</source>
      <translation>索引</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemfactory.cpp" line="63"/>
      <source>Triggers</source>
      <translation>触发器</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemfactory.cpp" line="68"/>
      <source>Views</source>
      <translation>视图</translation>
    </message>
    <message>
      <location filename="../dbtree/dbtreeitemfactory.cpp" line="73"/>
      <source>Columns</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../formview.h" line="15"/>
      <source>Data form view</source>
      <translation>数据表单视图</translation>
    </message>
    <message>
      <location filename="../formview.h" line="16"/>
      <source>Commit changes for current row</source>
      <translation>提交当前行的更改</translation>
    </message>
    <message>
      <location filename="../formview.h" line="17"/>
      <source>Rollback changes for current row</source>
      <translation>回滚当前行的更改</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>前往当前页的第一行</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="39"/>
      <location filename="../formview.h" line="19"/>
      <source>Go to next row</source>
      <translation>前往下一行</translation>
    </message>
    <message>
      <location filename="../dataview.h" line="38"/>
      <location filename="../formview.h" line="20"/>
      <source>Go to previous row</source>
      <translation>前往上一行</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>前往当前页的最后一行</translation>
    </message>
    <message>
      <location filename="../formview.h" line="22"/>
      <source>Insert new row</source>
      <translation>插入新行</translation>
    </message>
    <message>
      <location filename="../formview.h" line="23"/>
      <source>Delete current row</source>
      <translation>删除当前行</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="60"/>
      <source>Main window</source>
      <translation>主窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="61"/>
      <source>Open SQL editor</source>
      <translation>打开 SQL 编辑器</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="65"/>
      <source>Open DDL history window</source>
      <translation>打开DDL历史记录窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="67"/>
      <source>Open snippets editor window</source>
      <translation>打开代码片段编辑器窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="66"/>
      <source>Open function editor window</source>
      <translation>打开函数编辑器窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="62"/>
      <source>Restore recently closed window</source>
      <translation>恢复最近关闭的窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="63"/>
      <source>Open Export Dialog</source>
      <translation>打开导出对话框</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="64"/>
      <source>Open Import Dialog</source>
      <translation>打开导入对话框</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="68"/>
      <source>Open collation editor window</source>
      <translation>打开校验编辑器窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="69"/>
      <source>Open extension manager window</source>
      <translation>打开扩展管理窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="70"/>
      <source>Previous window</source>
      <translation>上一个窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="71"/>
      <source>Next window</source>
      <translation>下一个窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="72"/>
      <source>Move window earlier</source>
      <translation>提前移动窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="73"/>
      <source>Move window later</source>
      <translation>稍后移动窗口</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="74"/>
      <source>Hide status area</source>
      <translation>隐藏状态栏</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="75"/>
      <source>Open user manual</source>
      <translation>打开用户手册</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="76"/>
      <source>Open configuration dialog</source>
      <translation>打开配置对话框</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="77"/>
      <source>Open Debug Console</source>
      <translation>打开调试终端</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="78"/>
      <source>Open CSS Console</source>
      <translation>打开 CSS 控制台</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="79"/>
      <source>Open Command Palette</source>
      <translation>打开命令面板</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="80"/>
      <source>Open the About dialog</source>
      <translation>打开关于对话框</translation>
    </message>
    <message>
      <location filename="../mainwindow.h" line="81"/>
      <source>Quit the application</source>
      <translation>退出程序</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="12"/>
      <source>Cell text value editor</source>
      <translation>单元格文本值编辑器</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="13"/>
      <location filename="../sqleditor.h" line="33"/>
      <source>Cut selected text</source>
      <translation>剪切选中文本</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="14"/>
      <location filename="../sqleditor.h" line="34"/>
      <source>Copy selected text</source>
      <translation>复制选中文本</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="16"/>
      <location filename="../sqleditor.h" line="36"/>
      <source>Delete selected text</source>
      <translation>删除选中文本</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="17"/>
      <location filename="../sqleditor.h" line="38"/>
      <source>Undo</source>
      <translation>撤销</translation>
    </message>
    <message>
      <location filename="../multieditor/multieditortext.h" line="18"/>
      <location filename="../sqleditor.h" line="39"/>
      <source>Redo</source>
      <translation>重做</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="32"/>
      <source>SQL editor input field</source>
      <translation>SQL 编辑器输入框</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="37"/>
      <source>Select whole editor contents</source>
      <translation>选中整个编辑器的内容</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="40"/>
      <source>Save contents into a file</source>
      <translation>将内容保存至文件</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="41"/>
      <source>Find in text</source>
      <translation>查找文本</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="42"/>
      <source>Find next</source>
      <translation>查找下一个</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="43"/>
      <source>Find previous</source>
      <translation>查找上一个</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="44"/>
      <source>Replace in text</source>
      <translation>替换文本</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="45"/>
      <source>Delete current line</source>
      <translation>删除当前行</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="46"/>
      <source>Request code assistant</source>
      <translation>请求代码辅助</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="47"/>
      <source>Format contents</source>
      <translation>格式化内容</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="48"/>
      <source>Open the object at current position</source>
      <translation>以当前位置打开对象</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="49"/>
      <source>Move selected block of text one line down</source>
      <translation>选中文本块下移一行</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="50"/>
      <source>Move selected block of text one line up</source>
      <translation>选中文本块上移一行</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="51"/>
      <source>Copy selected block of text and paste it a line below</source>
      <translation>选中文本块复制并粘贴到下一行</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="52"/>
      <source>Copy selected block of text and paste it a line above</source>
      <translation>选中文本块复制并粘贴到上一行</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="53"/>
      <source>Toggle comment</source>
      <translation>切换注释</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="54"/>
      <source>Increase font size</source>
      <comment>sql editor</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../sqleditor.h" line="55"/>
      <source>Decrease font size</source>
      <comment>sql editor</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="779"/>
      <source>All files</source>
      <translation>所有文件</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="72"/>
      <source>Select database file</source>
      <translation>选择数据库文件</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="72"/>
      <source>Select new database file</source>
      <translation>选择新的数据库文件</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.cpp" line="778"/>
      <source>SQL files</source>
      <translation>SQL 文件</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="83"/>
      <location filename="../uiutils.cpp" line="96"/>
      <source>Select a file to open</source>
      <translation>选择要打开的文件</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="267"/>
      <source>Format SQL</source>
      <translation>格式化 SQL</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="56"/>
      <source>Select</source>
      <translation>选择</translation>
    </message>
    <message>
      <location filename="../uiutils.cpp" line="57"/>
      <source>File type</source>
      <translation>文件类型</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="30"/>
      <source>SQL editor window</source>
      <translation>SQL 编辑器窗口</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="31"/>
      <source>Execute query</source>
      <translation>执行语句</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="32"/>
      <source>Execute single query under cursor</source>
      <translation>执行光标位置的单个查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="33"/>
      <source>Execute all queries in editor</source>
      <translation>在编辑器中执行所有查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="34"/>
      <source>Execute EXPLAIN query</source>
      <translation>执行 EXPLAIN 查询</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="35"/>
      <source>Export query results</source>
      <translation>导出查询结果</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="36"/>
      <source>Switch current working database to previous on the list</source>
      <translation>切换当前工作数据库到列表中的上一个</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="37"/>
      <source>Switch current working database to next on the list</source>
      <translation>切换当前工作数据库到列表中的下一个</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="38"/>
      <source>Go to next editor tab</source>
      <translation>前往下一编辑器选项卡</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="39"/>
      <source>Go to previous editor tab</source>
      <translation>前往上一编辑器选项卡</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="40"/>
      <source>Move keyboard input focus to the results view below</source>
      <translation>将键盘输入焦点移动到下面的结果视图</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="41"/>
      <source>Move keyboard input focus to the SQL editor above</source>
      <translation>将键盘输入焦点移到上面的 SQL 编辑器</translation>
    </message>
    <message>
      <location filename="../windows/editorwindow.h" line="42"/>
      <source>Delete selected SQL history entries</source>
      <translation>删除选中的 SQL 历史记录</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="32"/>
      <source>Table window</source>
      <translation>表窗口</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="33"/>
      <source>Commit the table structure</source>
      <translation>提交表结构</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="34"/>
      <source>Rollback pending changes in the table structure</source>
      <translation>回滚表结构中未确认的更改</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="35"/>
      <source>Refresh table structure</source>
      <translation>刷新表结构</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="36"/>
      <source>Add new column</source>
      <translation>添加新列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="37"/>
      <source>Edit selected column</source>
      <translation>编辑选中列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="38"/>
      <source>Delete selected column</source>
      <translation>删除选中列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="39"/>
      <source>Export table data</source>
      <translation>导出表数据</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="40"/>
      <source>Import data to the table</source>
      <translation>导入数据至表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="41"/>
      <source>Add new table constraint</source>
      <translation>新增表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="42"/>
      <source>Edit selected table constraint</source>
      <translation>编辑选中表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="43"/>
      <source>Delete selected table constraint</source>
      <translation>删除选中表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="44"/>
      <source>Refresh table index list</source>
      <translation>刷新表索引列表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="45"/>
      <source>Add new index</source>
      <translation>新增索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="46"/>
      <source>Edit selected index</source>
      <translation>编辑选中索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="47"/>
      <source>Delete selected index</source>
      <translation>删除选中索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="48"/>
      <source>Refresh table trigger list</source>
      <translation>刷新表触发器列表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="49"/>
      <location filename="../windows/viewwindow.h" line="29"/>
      <source>Add new trigger</source>
      <translation>添加新触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="50"/>
      <location filename="../windows/viewwindow.h" line="30"/>
      <source>Edit selected trigger</source>
      <translation>编辑选中触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="51"/>
      <location filename="../windows/viewwindow.h" line="31"/>
      <source>Delete selected trigger</source>
      <translation>删除选中触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="52"/>
      <location filename="../windows/viewwindow.h" line="32"/>
      <source>Go to next tab</source>
      <translation>前往下一选项卡</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.h" line="53"/>
      <location filename="../windows/viewwindow.h" line="33"/>
      <source>Go to previous tab</source>
      <translation>前往上一选项卡</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="23"/>
      <source>A view window</source>
      <translation>视图窗口</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="24"/>
      <source>Commit the view&apos;s query</source>
      <translation>提交视图查询</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="25"/>
      <source>Rollback pending changes in the view&apos;s query</source>
      <translation>回滚视图查询中未确认的更改</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="26"/>
      <source>Refresh view trigger list</source>
      <translation>刷新视图触发器列表</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="27"/>
      <source>Execute the view&apos;s query</source>
      <translation>执行视图查询</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.h" line="28"/>
      <source>Export view data</source>
      <translation>导出视图数据</translation>
    </message>
    <message>
      <location filename="../windows/codesnippeteditor.h" line="17"/>
      <source>A code snippets editor window</source>
      <translation>代码片段编辑器窗口</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>提交未确认的更改</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>回滚未确认的更改</translation>
    </message>
    <message>
      <location filename="../windows/collationseditor.h" line="21"/>
      <source>A collation editor window</source>
      <translation>校验编辑器窗口</translation>
    </message>
    <message>
      <location filename="../windows/functionseditor.h" line="24"/>
      <source>A function editor window</source>
      <translation>函数编辑器窗口</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.h" line="21"/>
      <source>A SQLite extension editor window</source>
      <translation>SQLite 扩展编辑器窗口</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="38"/>
      <source>Edit database properties</source>
      <comment>command palette entry</comment>
      <translation>编辑数据库属性</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="67"/>
      <source>Open table</source>
      <comment>command palette entry</comment>
      <translation>打开表</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="68"/>
      <source>Edit index</source>
      <comment>command palette entry</comment>
      <translation>编辑索引</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="69"/>
      <source>Edit trigger</source>
      <comment>command palette entry</comment>
      <translation>编辑触发器</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpdbobjectsprovider.cpp" line="70"/>
      <source>Open view</source>
      <comment>command palette entry</comment>
      <translation>打开视图</translation>
    </message>
    <message>
      <location filename="../commandpalette/cpmdiwindowsprovider.cpp" line="21"/>
      <source>Bring the window to front</source>
      <comment>command palette entry</comment>
      <translation>将窗口置于前端</translation>
    </message>
  </context>
  <context>
    <name>QuitConfirmDialog</name>
    <message>
      <location filename="../dialogs/quitconfirmdialog.ui" line="14"/>
      <source>Uncommitted changes</source>
      <translation>未提交的更改</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;您确定要退出此应用吗？&lt;/span&gt;&lt;/p&gt;&lt;p&gt;以下项目处于待处理状态：&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>查找与替换</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="88"/>
      <source>Find:</source>
      <translation>查找：</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="31"/>
      <source>Case sensitive</source>
      <translation>区分大小写</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="38"/>
      <source>Search backwards</source>
      <translation>反向搜索</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="45"/>
      <source>Regular expression matching</source>
      <translation>正则表达式匹配</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;已到达文档末尾。&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>替换并查找下一项</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="65"/>
      <source>Replace with:</source>
      <translation>替换为：</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="55"/>
      <source>Replace all</source>
      <translation>全部替换</translation>
    </message>
    <message>
      <location filename="../dialogs/searchtextdialog.ui" line="75"/>
      <source>Find</source>
      <translation>查找</translation>
    </message>
  </context>
  <context>
    <name>SettingsExportDialog</name>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="14"/>
      <source>Export configuration</source>
      <translation>导入配置</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>输出 JSON 文件</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="29"/>
      <source>JSON file (*.json);;All files (*)</source>
      <translation>JSON 文件 (*.json)；所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="45"/>
      <source>What to export?</source>
      <translation>导出什么？</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="51"/>
      <source>User-defined SQL functions</source>
      <translation>用户自定义 SQL 函数</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="65"/>
      <source>User-defined collation sequences</source>
      <translation>用户自定义排序序列</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="79"/>
      <source>User-defined code snippets</source>
      <translation>用户自定义代码片段</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsexportdialog.ui" line="93"/>
      <source>Configured SQLite extensions</source>
      <translation>已配置的 SQLite 扩展</translation>
    </message>
  </context>
  <context>
    <name>SettingsImportDialog</name>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="14"/>
      <source>Import configuration</source>
      <translation>导入配置</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>输出 JSON 文件</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="26"/>
      <source>JSON file (*.json);;All files (*)</source>
      <translation>JSON 文件 (*.json)；所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="39"/>
      <source>What to import?</source>
      <translation>导出什么？</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="45"/>
      <source>User-defined SQL functions</source>
      <translation>用户自定义 SQL 函数</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="56"/>
      <source>User-defined collation sequences</source>
      <translation>用户自定义排序序列</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="67"/>
      <source>User-defined code snippets</source>
      <translation>用户自定义代码片段</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="78"/>
      <source>Configured SQLite extensions</source>
      <translation>已配置的 SQLite 扩展</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="92"/>
      <source>Import mode</source>
      <translation>导入模式</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>导入选定的项目，而不修改或删除当前配置中已存在的项目。</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="101"/>
      <source>Add to existing items</source>
      <translation>添加到现有项目</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>删除所选类别中的所有现有项目，然后从文件中导入新项目。此操作无法撤销！</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.ui" line="114"/>
      <source>Replace existing items</source>
      <translation>替换现有项目</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.cpp" line="42"/>
      <source>Invalid input file to import: %1</source>
      <translation>导入的输入文件无效：%1</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.cpp" line="53"/>
      <source>Selected file does not contain functions to import.</source>
      <translation>所选文件不包含要导入的函数。</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.cpp" line="62"/>
      <source>Selected file does not contain collation sequences to import.</source>
      <translation>所选文件不包含要导入的排序序列。</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.cpp" line="70"/>
      <source>Selected file does not contain code snippets to import.</source>
      <translation>所选文件不包含要导入的代码片段。</translation>
    </message>
    <message>
      <location filename="../dialogs/settingsimportdialog.cpp" line="78"/>
      <source>Selected file does not contain SQLite extensions to import.</source>
      <translation>所选文件不包含要导入的 SQLite 扩展名。</translation>
    </message>
  </context>
  <context>
    <name>SortDialog</name>
    <message>
      <location filename="../dialogs/sortdialog.ui" line="14"/>
      <source>Sort by columns</source>
      <translation>按列排序</translation>
    </message>
    <message>
      <location filename="../dialogs/sortdialog.ui" line="45"/>
      <location filename="../dialogs/sortdialog.cpp" line="47"/>
      <source>Column</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../dialogs/sortdialog.ui" line="50"/>
      <location filename="../dialogs/sortdialog.cpp" line="47"/>
      <source>Order</source>
      <translation>排序</translation>
    </message>
    <message>
      <location filename="../dialogs/sortdialog.cpp" line="177"/>
      <source>Sort by: %1</source>
      <translation>排序按照 %1</translation>
    </message>
    <message>
      <location filename="../dialogs/sortdialog.cpp" line="241"/>
      <source>Move column up</source>
      <translation>上移列</translation>
    </message>
    <message>
      <location filename="../dialogs/sortdialog.cpp" line="242"/>
      <source>Move column down</source>
      <translation>下移列</translation>
    </message>
  </context>
  <context>
    <name>SqlDataSourceQueryModel</name>
    <message>
      <location filename="../datagrid/sqldatasourcequerymodel.cpp" line="123"/>
      <source>Error while committing new row: %1</source>
      <translation>提交新行时发生错误：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqldatasourcequerymodel.cpp" line="171"/>
      <source>Error while deleting row from %1: %2</source>
      <translation>从 %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>折行</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="158"/>
      <source>Cut</source>
      <comment>sql editor</comment>
      <translation>剪切</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="159"/>
      <source>Copy</source>
      <comment>sql editor</comment>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="160"/>
      <source>Paste</source>
      <comment>sql editor</comment>
      <translation>粘贴</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="161"/>
      <source>Delete</source>
      <comment>sql editor</comment>
      <translation>删除</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="162"/>
      <source>Select all</source>
      <comment>sql editor</comment>
      <translation>全选</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="163"/>
      <source>Undo</source>
      <comment>sql editor</comment>
      <translation>撤销</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="164"/>
      <source>Redo</source>
      <comment>sql editor</comment>
      <translation>重做</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="166"/>
      <source>Complete</source>
      <comment>sql editor</comment>
      <translation>完成</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="167"/>
      <source>Format SQL</source>
      <comment>sql editor</comment>
      <translation>格式化 SQL</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="168"/>
      <source>Save SQL to file</source>
      <comment>sql editor</comment>
      <translation>保存 SQL 到文件</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="169"/>
      <source>Select file to save SQL</source>
      <comment>sql editor</comment>
      <translation>选择 SQL 要保存到的文件</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="170"/>
      <source>Load SQL from file</source>
      <comment>sql editor</comment>
      <translation>从文件加载 SQL</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="171"/>
      <source>Delete line</source>
      <comment>sql editor</comment>
      <translation>删除行</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="172"/>
      <source>Move block down</source>
      <comment>sql editor</comment>
      <translation>整块下移</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="173"/>
      <source>Move block up</source>
      <comment>sql editor</comment>
      <translation>整块上移</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="174"/>
      <source>Copy block down</source>
      <comment>sql editor</comment>
      <translation>副本贴上方</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="175"/>
      <source>Copy up down</source>
      <comment>sql editor</comment>
      <translation>副本贴下方</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="176"/>
      <source>Find or replace</source>
      <comment>sql editor</comment>
      <translation>查找与替换</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="177"/>
      <source>Find next</source>
      <comment>sql editor</comment>
      <translation>查找下一个</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="178"/>
      <source>Find previous</source>
      <comment>sql editor</comment>
      <translation>查找上一个</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="179"/>
      <source>Replace</source>
      <comment>sql editor</comment>
      <translation>替换</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="180"/>
      <source>Toggle comment</source>
      <comment>sql editor</comment>
      <translation>切换注释</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="181"/>
      <source>Increase font size</source>
      <comment>sql editor</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="182"/>
      <source>Decrease font size</source>
      <comment>sql editor</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="297"/>
      <source>Could not open file &apos;%1&apos; for writing: %2</source>
      <translation>无法以写模式打开文件 %1：%2</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="306"/>
      <source>Saved SQL contents to file: %1</source>
      <translation>保存 SQL 内容至文件：%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>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>SQL 编辑器有大量内容，因此错误检测和现有对象的高亮显示功能被暂时禁用。</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="1212"/>
      <source>Save to file</source>
      <translation>保存到文件</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="1227"/>
      <source>SQL scripts (*.sql);;All files (*)</source>
      <translation>SQL文件 (*.sql);;所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="1228"/>
      <location filename="../sqleditor.cpp" line="1259"/>
      <source>Open file</source>
      <translation>打开文件</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>此文件非常大（超过 %1 MB）。您确定要将其加载到 SQL 查询编辑器中吗？</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="1274"/>
      <source>Could not open file &apos;%1&apos; for reading: %2</source>
      <translation>无法以读模式打开文件 %1：%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>已到文档底部。再次点击查找将从头开始搜索。</translation>
    </message>
    <message>
      <location filename="../sqleditor.cpp" line="1740"/>
      <source>Ctrl+click to open this table or view</source>
      <translation>按住 Ctrl 键并单击以打开此表格或视图</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>提交出错：</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitem.cpp" line="264"/>
      <source>Column:</source>
      <comment>data view tooltip</comment>
      <translation>列：</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitem.cpp" line="265"/>
      <source>Data type:</source>
      <comment>data view</comment>
      <translation>数据类型：</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitem.cpp" line="268"/>
      <source>Table:</source>
      <comment>data view tooltip</comment>
      <translation>表：</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitem.cpp" line="304"/>
      <source>Constraints:</source>
      <comment>data view tooltip</comment>
      <translation>约束：</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="317"/>
      <source>Cannot edit this cell. Details: %1</source>
      <translation>无法编辑此单元格。详情：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="63"/>
      <source>The row is marked for deletion.</source>
      <translation>该行已被标记为删除。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="75"/>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="317"/>
      <source>Structure of this table has changed since last data was loaded. Reload the data to proceed.</source>
      <translation>在上次加载数据后，此表的结构已更改。重新加载数据以继续。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="81"/>
      <source>ROWID is not available for this cell.</source>
      <translation>ROWID 不适用于此单元格。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="259"/>
      <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>在内联单元格编辑器中编辑庞大的内容并不是一个好主意。它可能会变得缓慢而不方便。它&apos;s 最好在表单视图或弹出编辑器（右键菜单下可用）中编辑这些大内容。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="284"/>
      <source>Reset to DEFAULT value</source>
      <translation>重置为默认值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="286"/>
      <source>Reset to PRIMARY KEY AUTOINCREMENT value</source>
      <translation>重置为主键自增值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="288"/>
      <source>Reset value</source>
      <translation>重置值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryitemdelegate.cpp" line="309"/>
      <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>列 %2 的外键有超过 %1 个可能的值。这太多而不能显示在下拉列表。您需要手动编辑值。</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>只允许同时执行一条查询。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="111"/>
      <source>Cannot execute query on undefined or invalid database.</source>
      <translation>无法执行语句，因为数据库无效或未定义。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="118"/>
      <source>Cannot execute empty query.</source>
      <translation>无法执行空的查询。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="126"/>
      <source>Uncommitted data</source>
      <translation>未提交的数据</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>存在未提交的数据更改。是否仍要继续？所有未提交的更改都将丢失。</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>无法从单元格中加载数据，因为它引用了已经被关闭的数据库。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="619"/>
      <source>Could not begin transaction on the database. Details: %1</source>
      <translation>无法在此数据库上开始事务。详细信息：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="652"/>
      <source>An error occurred while committing the transaction: %1</source>
      <translation>在提交事务时发生错误：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="685"/>
      <source>An error occurred while rolling back the transaction: %1</source>
      <translation>在回滚事务时发生错误：%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>尝试提交不可编辑的单元格！（本应该无法编辑）这是一个错误，请报告。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="923"/>
      <source>An error occurred while committing the data: %1</source>
      <translation>在提交数据时发生错误：%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>数据视图中，已因列数（%2）将每页行数减小（%1）。</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>在数据库“%1”执行 SQL 查询时发生错误：%2</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="1528"/>
      <source>Error while loading query results: %1</source>
      <translation>在加载查询结果时出错：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2022"/>
      <source>Insert multiple rows</source>
      <translation>插入多行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2022"/>
      <source>Number of rows to insert:</source>
      <translation>要插入的行数：</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2079"/>
      <source>Delete rows</source>
      <translation>删除行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2080"/>
      <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>您即将删除未提交的新插入的行。行数：%1
删除不能撤销，确定删除吗？</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2207"/>
      <source>Single-click sorts by the column.&lt;br&gt;Alt+click selects data in the column.</source>
      <translation>单击按列排序。&lt;br&gt;按住 Alt 键并单击选择列中的数据。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2209"/>
      <source>Single-click selects data in the column.&lt;br&gt;Double-click sorts by the column.</source>
      <translation>单击选中该列中的数据。&lt;br&gt;双击按该列排序。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2214"/>
      <source>Middle-click resets sorting.</source>
      <translation>单击鼠标中键可重置排序。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlquerymodel.cpp" line="2215"/>
      <source>More options are available in the context menu.</source>
      <translation>上下文菜单中提供了更多选项。</translation>
    </message>
  </context>
  <context>
    <name>SqlQueryView</name>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="58"/>
      <source>Go to referenced row in...</source>
      <translation>转到引用的行...</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="147"/>
      <source>Cut</source>
      <translation>剪切</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="148"/>
      <source>Copy</source>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="149"/>
      <source>Copy with headers</source>
      <translation>带表头复制</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="150"/>
      <source>Copy as...</source>
      <translation>复制为...</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="151"/>
      <source>Paste</source>
      <translation>粘贴</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="152"/>
      <source>Paste as...</source>
      <translation>粘贴为...</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="153"/>
      <source>Set NULL value</source>
      <translation>设为 NULL 值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="154"/>
      <source>Erase value</source>
      <translation>擦除值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="155"/>
      <source>Reset value</source>
      <translation>重置值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="157"/>
      <source>Commit</source>
      <translation>提交</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="158"/>
      <source>Rollback</source>
      <translation>回滚</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="159"/>
      <source>Commit selected cells</source>
      <translation>提交选中单元格</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="160"/>
      <source>Rollback selected cells</source>
      <translation>回滚选中单元格</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="161"/>
      <source>Edit current cell inline</source>
      <translation>编辑当前单元格</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="166"/>
      <source>Define columns to sort by</source>
      <translation>定义列排序方式</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="167"/>
      <source>Remove custom sorting (Middle click)</source>
      <translation>移除自定义排序（中键单击）</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="168"/>
      <source>Insert row</source>
      <translation>插入行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="169"/>
      <source>Insert multiple rows</source>
      <translation>插入多行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="170"/>
      <source>Delete selected row</source>
      <translation>删除已选行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="171"/>
      <source>Adjust height of rows</source>
      <translation>调整行高</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="174"/>
      <source>Next row on Enter</source>
      <translation>按 Enter 切换至下一行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="178"/>
      <source>Increase font size</source>
      <comment>data view</comment>
      <translation>增大字号</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="179"/>
      <source>Decrease font size</source>
      <comment>data view</comment>
      <translation>减小字号</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="180"/>
      <source>Invert selection</source>
      <comment>data view</comment>
      <translation>反向选取</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="230"/>
      <source>Edit value in editor</source>
      <translation>在编辑器中编辑数值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="230"/>
      <source>Show value in a viewer</source>
      <translation>在查看器中显示值</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="256"/>
      <source>Generate query for selected cells</source>
      <translation>为选中单元格生成查询</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="622"/>
      <source>No items selected to paste clipboard contents to.</source>
      <translation>没有选择用来粘贴剪贴板内容的项。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="628"/>
      <source>Cannot paste data. Details: %1</source>
      <translation>无法粘贴数据。详情：%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>至少一个表的结构在上次的数据加载后已变更。重新加载数据以继续。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="698"/>
      <source>Cannot paste to a cell. Details: %1</source>
      <translation>无法粘贴到单元格。详情：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="698"/>
      <source>The row is marked for deletion.</source>
      <translation>该行已被标记为删除。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="709"/>
      <source>Cannot paste to column %1. Details: %2</source>
      <translation>无法粘贴到列 %1。详情：%2</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="727"/>
      <source>Go to referenced row in table &apos;%1&apos;</source>
      <translation>转至表 &apos;%1&apos; 中的引用的行</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="739"/>
      <source>table &apos;%1&apos;</source>
      <translation>表“%1”</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="762"/>
      <source>Referenced row (%1)</source>
      <translation>引用的行（%1）</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1189"/>
      <source>Pin column</source>
      <translation>固定列</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1216"/>
      <source>Column renderer</source>
      <translation>列渲染器</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1223"/>
      <source>Default</source>
      <translation>默认</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1379"/>
      <source>Trim pasted text?</source>
      <translation>移除粘贴文本两端的空白？</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1380"/>
      <source>The pasted text contains leading or trailing white space. Trim it automatically?</source>
      <translation>粘贴的文本两端含有空白符号。自动移除？</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1388"/>
      <source>Paste &quot;NULL&quot; as null value?</source>
      <translation>将 &quot;NULL&quot; 粘贴为空值？</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1389"/>
      <source>The pasted text contains &quot;NULL&quot; literals. Do you want to consider them as NULL values?</source>
      <translation>粘贴的文本包含 &quot;NULL&quot; 字符。要将它们视为空值吗？</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlqueryview.cpp" line="1513"/>
      <source>Edit value</source>
      <translation>编辑值</translation>
    </message>
  </context>
  <context>
    <name>SqlViewModel</name>
    <message>
      <location filename="../datagrid/sqlviewmodel.cpp" line="129"/>
      <source>An error occurred while committing the data: %1</source>
      <translation>在提交数据时发生错误：%1</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlviewmodel.cpp" line="143"/>
      <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>第 %1 行：INSTEAD OF UPDATE 触发器修改了多于一行（%2）。该视图无法唯一标识已编辑的记录。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlviewmodel.cpp" line="193"/>
      <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>第 %1 行：INSTEAD OF DELETE 触发器删除了多于一行（%2）。该视图无法唯一标识已编辑的记录。</translation>
    </message>
    <message>
      <location filename="../datagrid/sqlviewmodel.cpp" line="218"/>
      <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>该视图具有处理编辑的 INSTEAD OF 触发器。建议在提交后刷新数据以查看实际更改，因为触发器可能会以意外方式修改数据。</translation>
    </message>
  </context>
  <context>
    <name>SqliteExtensionEditor</name>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="84"/>
      <source>Filter extensions</source>
      <translation>扩展筛选器</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="150"/>
      <source>Leave empty to use default function</source>
      <translation>留空则使用默认函数</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="171"/>
      <source>Extension file</source>
      <translation>扩展文件</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="178"/>
      <source>Initialization function</source>
      <translation>初始化函数</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="194"/>
      <source>Databases</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="200"/>
      <source>Register in all databases</source>
      <translation>在所有数据库中注册</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.ui" line="207"/>
      <source>Register in following databases:</source>
      <translation>在下列数据库中注册：</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="47"/>
      <source>Extension manager window has uncommitted modifications.</source>
      <translation>扩展管理窗口有未提交的更改。</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="68"/>
      <source>Extension manager</source>
      <translation>扩展管理器</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="73"/>
      <source>Commit all extension changes</source>
      <translation>提交所有扩展更改</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="74"/>
      <source>Rollback all extension changes</source>
      <translation>回滚所有扩展更改</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="76"/>
      <source>Add new extension</source>
      <translation>添加新扩展</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="77"/>
      <source>Remove selected extension</source>
      <translation>移除所选扩展</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="79"/>
      <source>Import extension list from file</source>
      <translation>从文件导入扩展名列表</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="80"/>
      <source>Export extension list file</source>
      <translation>导出扩展名列表文件</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="81"/>
      <source>Editing extensions manual</source>
      <translation>手动编辑扩展</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="277"/>
      <source>File with given path does not exist or is not readable.</source>
      <translation>指定路径的文件不存在或无法读取。</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="283"/>
      <source>Unable to load extension: %1</source>
      <translation>无法加载扩展：%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>初始化函数名无效。函数名只能包含字母数字字符和下划线。</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="472"/>
      <source>Dynamic link libraries (*.dll);;All files (*)</source>
      <translation>动态链接库 (*.dll);;所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="474"/>
      <source>Shared objects (*.so);;All files (*)</source>
      <translation>共享库 (*.so);;All files (*)</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="476"/>
      <source>Dynamic libraries (*.dylib);;All files (*)</source>
      <translation>动态库 (*.dylib);;所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="478"/>
      <source>All files (*)</source>
      <translation>所有文件 (*)</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditor.cpp" line="480"/>
      <source>Open file</source>
      <translation>打开文件</translation>
    </message>
  </context>
  <context>
    <name>SqliteExtensionEditorModel</name>
    <message>
      <location filename="../windows/sqliteextensioneditormodel.cpp" line="160"/>
      <source>all databases</source>
      <translation>所有数据库</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditormodel.cpp" line="164"/>
      <source>Extension:</source>
      <translation>扩展：</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditormodel.cpp" line="165"/>
      <source>File:</source>
      <translation>文件：</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditormodel.cpp" line="166"/>
      <source>Init function:</source>
      <translation>Init 函数：</translation>
    </message>
    <message>
      <location filename="../windows/sqliteextensioneditormodel.cpp" line="167"/>
      <source>Registered in:</source>
      <translation>注册于：</translation>
    </message>
  </context>
  <context>
    <name>StatusField</name>
    <message>
      <location filename="../statusfield.ui" line="14"/>
      <source>Status</source>
      <translation>状态栏</translation>
    </message>
    <message>
      <location filename="../statusfield.cpp" line="191"/>
      <source>Copy</source>
      <translation>复制</translation>
    </message>
    <message>
      <location filename="../statusfield.cpp" line="198"/>
      <source>Clear</source>
      <translation>清除</translation>
    </message>
  </context>
  <context>
    <name>TableConstraintsModel</name>
    <message>
      <location filename="../windows/tableconstraintsmodel.cpp" line="74"/>
      <source>Type</source>
      <comment>table constraints</comment>
      <translation>类型</translation>
    </message>
    <message>
      <location filename="../windows/tableconstraintsmodel.cpp" line="76"/>
      <source>Details</source>
      <comment>table constraints</comment>
      <translation>详情</translation>
    </message>
    <message>
      <location filename="../windows/tableconstraintsmodel.cpp" line="78"/>
      <source>Name</source>
      <comment>table constraints</comment>
      <translation>名称</translation>
    </message>
  </context>
  <context>
    <name>TableForeignKeyPanel</name>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="42"/>
      <source>Columns</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="29"/>
      <source>Referenced table:</source>
      <translation>引用表：</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="56"/>
      <source>Referencing column</source>
      <translation>引用列</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="68"/>
      <source>Referenced column</source>
      <translation>引用列</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="104"/>
      <source>Reactions</source>
      <translation>响应</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="143"/>
      <source>Deferred foreign key</source>
      <translation>延迟外键约束</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="161"/>
      <source>Named constraint</source>
      <translation>命名的约束</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.ui" line="168"/>
      <source>Constraint name</source>
      <translation>约束名称</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="53"/>
      <source>Pick the foreign column.</source>
      <translation>选择一个外部列。</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="67"/>
      <source>Pick the foreign table.</source>
      <translation>选择一个外部表。</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="68"/>
      <source>Select at least one foreign column.</source>
      <translation>请至少选择一个外部列。</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="69"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入一个约束的名称。</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="178"/>
      <source>Column with the same name</source>
      <translation>同名列</translation>
    </message>
    <message>
      <location filename="../constraints/tableforeignkeypanel.cpp" line="217"/>
      <source>Foreign column</source>
      <comment>table constraints</comment>
      <translation>外部列</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>引用的列不是主键或唯一键。这可能会导致插入或更新数据时出现问题。</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>引用的列类型 (%1) 与本地列 (%2) 声明的类型不同。这可能会在插入或更新数据时导致问题。</translation>
    </message>
  </context>
  <context>
    <name>TablePrimaryKeyAndUniquePanel</name>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="32"/>
      <source>Columns</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="59"/>
      <source>Column</source>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="84"/>
      <source>Collation</source>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="109"/>
      <source>Sort</source>
      <translation>排序</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="142"/>
      <source>Valid only for a single column with INTEGER data type</source>
      <translation>仅对整数（INTEGER）数据类型的单个列有效</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="145"/>
      <source>Autoincrement</source>
      <translation>自动递增</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="167"/>
      <source>Named constraint</source>
      <translation>命名的约束</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="174"/>
      <source>Constraint name</source>
      <translation>约束名称</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.ui" line="199"/>
      <source>On conflict</source>
      <translation>当冲突时</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.cpp" line="87"/>
      <source>Collate</source>
      <comment>table constraints</comment>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.cpp" line="94"/>
      <source>Sort order</source>
      <comment>table constraints</comment>
      <translation>排序方式</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.cpp" line="170"/>
      <source>Select at least one column.</source>
      <translation>至少选择一个列。</translation>
    </message>
    <message>
      <location filename="../constraints/tablepkanduniquepanel.cpp" line="171"/>
      <source>Enter a name of the constraint.</source>
      <translation>输入一个约束的名称。</translation>
    </message>
  </context>
  <context>
    <name>TableStructureModel</name>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="322"/>
      <source>Name</source>
      <comment>table structure columns</comment>
      <translation>名称</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="324"/>
      <source>Data type</source>
      <comment>table structure columns</comment>
      <translation>数据类型</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="326"/>
      <source>Primary
Key</source>
      <comment>table structure columns</comment>
      <translation>主键</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="328"/>
      <source>Foreign
Key</source>
      <comment>table structure columns</comment>
      <translation>外键</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="330"/>
      <source>Unique</source>
      <comment>table structure columns</comment>
      <translation>唯一</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="332"/>
      <source>Check</source>
      <comment>table structure columns</comment>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="334"/>
      <source>Not
NULL</source>
      <comment>table structure columns</comment>
      <translation>非空</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="336"/>
      <source>Collate</source>
      <comment>table structure columns</comment>
      <translation>字符序</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="338"/>
      <source>Generated</source>
      <comment>table structure columns</comment>
      <translation>生成</translation>
    </message>
    <message>
      <location filename="../windows/tablestructuremodel.cpp" line="340"/>
      <source>Default value</source>
      <comment>table structure columns</comment>
      <translation>默认值</translation>
    </message>
  </context>
  <context>
    <name>TableWindow</name>
    <message>
      <location filename="../windows/tablewindow.ui" line="36"/>
      <source>Structure</source>
      <translation>结构</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.ui" line="70"/>
      <source>Table name:</source>
      <translation>表名：</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;启用/禁用表上的 WITHOUT ROWID 子句。此类表将不再具有 &amp;quot;rowid&amp;quot; 隐藏列。对于此类表，必须有明确的 PRIMARY KEY 列。有关详细信息，请参阅 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;启用/禁用表的 STRICT 子句。此类表将根据列的声明数据类型对列中存储的数据进行严格验证。这与大多数其他数据库引擎通常执行数据类型的方式类似。将其禁用可使用经典的 SQLite 行为（即不执行数据类型）。更多详情，请参阅 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>数据</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.ui" line="230"/>
      <source>Constraints</source>
      <translation>约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.ui" line="244"/>
      <source>Indexes</source>
      <translation>索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.ui" line="276"/>
      <source>Triggers</source>
      <translation>触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.ui" line="311"/>
      <source>DDL</source>
      <translation>DDL</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="243"/>
      <source>Export table</source>
      <comment>table window</comment>
      <translation>导出表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="244"/>
      <source>Populate table</source>
      <comment>table window</comment>
      <translation>填充表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="232"/>
      <source>Refresh structure</source>
      <comment>table window</comment>
      <translation>刷新结构</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="234"/>
      <source>Commit structure changes</source>
      <comment>table window</comment>
      <translation>提交结构更改</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="235"/>
      <source>Rollback structure changes</source>
      <comment>table window</comment>
      <translation>回滚结构更改</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="236"/>
      <source>Add column</source>
      <comment>table window</comment>
      <translation>添加列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="237"/>
      <source>Edit column</source>
      <comment>table window</comment>
      <translation>编辑列</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>删除列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="239"/>
      <source>Move column up</source>
      <comment>table window</comment>
      <translation>上移列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="240"/>
      <source>Move column down</source>
      <comment>table window</comment>
      <translation>下移列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="246"/>
      <source>Create similar table</source>
      <comment>table window</comment>
      <translation>创建相似的表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="247"/>
      <source>Reset autoincrement value</source>
      <comment>table window</comment>
      <translation>重置自动递增值</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="250"/>
      <source>Add table constraint</source>
      <comment>table window</comment>
      <translation>新增表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="251"/>
      <source>Edit table constraint</source>
      <comment>table window</comment>
      <translation>编辑表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="252"/>
      <source>Delete table constraint</source>
      <comment>table window</comment>
      <translation>删除表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="253"/>
      <source>Move table constraint up</source>
      <comment>table window</comment>
      <translation>向上移动表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="254"/>
      <source>Move table constraint down</source>
      <comment>table window</comment>
      <translation>向下一移动表约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="256"/>
      <source>Add table primary key</source>
      <comment>table window</comment>
      <translation>添加主键</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="257"/>
      <source>Add table foreign key</source>
      <comment>table window</comment>
      <translation>添加外键</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="258"/>
      <source>Add table unique constraint</source>
      <comment>table window</comment>
      <translation>添加表唯一约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="259"/>
      <source>Add table check constraint</source>
      <comment>table window</comment>
      <translation>添加表检查约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="242"/>
      <source>Import data to the table</source>
      <comment>table window</comment>
      <translation>导入数据至表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="277"/>
      <source>Refresh index list</source>
      <comment>table window</comment>
      <translation>刷新索引列表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="279"/>
      <source>Create index</source>
      <comment>table window</comment>
      <translation>创建索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="280"/>
      <source>Edit index</source>
      <comment>table window</comment>
      <translation>编辑索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="281"/>
      <source>Delete index</source>
      <comment>table window</comment>
      <translation>删除索引</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="287"/>
      <source>Refresh trigger list</source>
      <comment>table window</comment>
      <translation>刷新触发器列表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="289"/>
      <source>Create trigger</source>
      <comment>table window</comment>
      <translation>创建触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="290"/>
      <source>Edit trigger</source>
      <comment>table window</comment>
      <translation>编辑触发器</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="291"/>
      <source>Delete trigger</source>
      <comment>table window</comment>
      <translation>删除触发器</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>您确定要删除字段“%1”吗？</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>修改该表时将出现以下问题。
是否继续？</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="382"/>
      <source>Table modification</source>
      <comment>table window</comment>
      <translation>修改表</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="507"/>
      <source>Could not load data for table %1. Error details: %2</source>
      <translation>无法加载表 %1 的数据。错误详情：%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>无法正确处理表 %1。无法打开表窗口。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="679"/>
      <source>Database</source>
      <translation>数据库</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>无法还原窗口 %1，此窗口中没有存储数据库或表的会话。</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>无法还原窗口“%1”，此窗口中没有存储数据库或表的会话。</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>无法还原窗口“%1”，无法解析数据库 %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>无法还原窗口“%1”，数据库 %3 中不存在表 %2。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="775"/>
      <location filename="../windows/tablewindow.cpp" line="777"/>
      <source>New table %1</source>
      <translation>新表 %1</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="918"/>
      <source>Committed changes for table &apos;%1&apos; successfully.</source>
      <translation>成功提交表 &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>成功提交对表 &apos;%1&apos;（原名 &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>无法提交表结构。错误信息：%1</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="988"/>
      <source>Reset autoincrement</source>
      <translation>重置自动递增</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>您确定要重置表“%1”的自动递增值吗？</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>重置表“%1”的自动递增值时出错：%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>成功重置表“%1”的自动递增值。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1085"/>
      <source>Empty name</source>
      <translation>空名称</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>SQLite 允许为表使用空白名称，但不推荐使用空白名称。
您确定要创建一个空白名称的表？</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1094"/>
      <source>Cannot create a table without at least one column.</source>
      <translation>无法创建没有任何列的表。</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>无法创建表 %1，没有定义主键。取消选中 %2 或者定义一个主键。</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>使用 %1 语句时无法为主键使用自动递增。取消选中 %2，或者将一个主键设为自动递增。</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>以下列使用了不严格的数据类型：%1。请禁用此表的严格模式，或者修改列数据类型。有效的严格数据类型为：%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>您确定要删除表约束“%1”吗？</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1328"/>
      <source>Delete constraint</source>
      <comment>table window</comment>
      <translation>删除约束</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1383"/>
      <source>Cannot export, because no export plugin is loaded.</source>
      <translation>无法导出，没有加载导出插件。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1396"/>
      <source>Cannot import, because no import plugin is loaded.</source>
      <translation>无法导入，没有加载导入插件。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1430"/>
      <source>Uncommitted changes</source>
      <translation>未提交的更改</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1431"/>
      <source>There are uncommitted structure modifications.</source>
      <translation>存在未提交的结构修改。</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>在确定表结构之前，您无法浏览或编辑数据。
您想提交结构，还是想返回到结构选项卡？</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1437"/>
      <source>Commit modifications and browse data</source>
      <translation>提交修改并浏览数据</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1436"/>
      <source>Go back to structure tab</source>
      <translation>返回结构选项卡</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1644"/>
      <source>Name</source>
      <comment>table window indexes</comment>
      <translation>名称</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1645"/>
      <source>Unique</source>
      <comment>table window indexes</comment>
      <translation>唯一</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1646"/>
      <source>Columns</source>
      <comment>table window indexes</comment>
      <translation>列</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1647"/>
      <source>Partial index condition</source>
      <comment>table window indexes</comment>
      <translation>部分索引条件</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1703"/>
      <source>Name</source>
      <comment>table window triggers</comment>
      <translation>名称</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1704"/>
      <source>Event</source>
      <comment>table window triggers</comment>
      <translation>事件</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1705"/>
      <source>Condition</source>
      <comment>table window triggers</comment>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1706"/>
      <source>Details</source>
      <comment>table window triggers</comment>
      <translation>详情</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1820"/>
      <source>Table window &quot;%1&quot; has uncommitted structure modifications and data.</source>
      <translation>表窗口“%1”有未提交的结构更改与数据。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1822"/>
      <source>Table window &quot;%1&quot; has uncommitted data.</source>
      <translation>表窗口“%1”有未提交的数据。</translation>
    </message>
    <message>
      <location filename="../windows/tablewindow.cpp" line="1824"/>
      <source>Table window &quot;%1&quot; has uncommitted structure modifications.</source>
      <translation>表窗口“%1”有未提交的结构更改。</translation>
    </message>
  </context>
  <context>
    <name>TriggerColumnsDialog</name>
    <message>
      <location filename="../dialogs/triggercolumnsdialog.ui" line="14"/>
      <source>Trigger columns</source>
      <translation>触发器列</translation>
    </message>
    <message>
      <location filename="../dialogs/triggercolumnsdialog.ui" line="47"/>
      <source>Triggering columns:</source>
      <translation>触发列：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggercolumnsdialog.ui" line="115"/>
      <source>Select all</source>
      <translation>全选</translation>
    </message>
    <message>
      <location filename="../dialogs/triggercolumnsdialog.ui" line="128"/>
      <source>Deselect all</source>
      <translation>全不选</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>触发器</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="30"/>
      <source>On table:</source>
      <translation>表：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="40"/>
      <source>Action:</source>
      <translation>动作：</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;用来判断触发器代码是否执行的 SQL 条件表达式。如果条件返回 false，则触发器不会对该行生效。&lt;/p&gt;</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="59"/>
      <source>Pre-condition:</source>
      <translation>前提条件：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="66"/>
      <source>The scope is still not fully supported by the SQLite database.</source>
      <translation>SQLite 数据库仍未完全支持作用域。</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="73"/>
      <source>Trigger name:</source>
      <translation>触发器名称：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="80"/>
      <source>When:</source>
      <translation>当：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="87"/>
      <source>List of columns for UPDATE OF action.</source>
      <translation>UPDATE OF 动作的列列表</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="97"/>
      <source>Scope:</source>
      <translation>作用域：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="104"/>
      <source>Code:</source>
      <translation>代码：</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="111"/>
      <source>Trigger statements to be executed.</source>
      <translation>需要执行的触发器语句</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.ui" line="138"/>
      <source>DDL</source>
      <translation>DDL</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.cpp" line="154"/>
      <source>On view:</source>
      <translation>视图：</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>无法正确处理触发器 %1。无法打开触发器对话框。</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.cpp" line="349"/>
      <source>Enter a valid condition.</source>
      <translation>请输入一个有效的条件。</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.cpp" line="350"/>
      <source>Enter a valid trigger code.</source>
      <translation>请输入一个有效的触发器代码。</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.cpp" line="428"/>
      <source>Error</source>
      <comment>trigger dialog</comment>
      <translation>错误</translation>
    </message>
    <message>
      <location filename="../dialogs/triggerdialog.cpp" line="428"/>
      <source>An error occurred while executing SQL statements:
%1</source>
      <translation>执行下列 SQL 语句时出错：
%1</translation>
    </message>
  </context>
  <context>
    <name>VersionConvertSummaryDialog</name>
    <message>
      <location filename="../dialogs/versionconvertsummarydialog.ui" line="14"/>
      <source>Database version convert</source>
      <translation>数据库版本转换</translation>
    </message>
    <message>
      <location filename="../dialogs/versionconvertsummarydialog.ui" line="20"/>
      <source>Following changes to the SQL statements will be made:</source>
      <translation>SQL 语句变更如下：</translation>
    </message>
    <message>
      <location filename="../dialogs/versionconvertsummarydialog.cpp" line="10"/>
      <source>Before</source>
      <translation>之前</translation>
    </message>
    <message>
      <location filename="../dialogs/versionconvertsummarydialog.cpp" line="11"/>
      <source>After</source>
      <translation>之后</translation>
    </message>
  </context>
  <context>
    <name>ViewWindow</name>
    <message>
      <location filename="../windows/viewwindow.ui" line="36"/>
      <source>Query</source>
      <translation>查询</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.ui" line="70"/>
      <source>View name:</source>
      <translation>视图名称：</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.ui" line="123"/>
      <source>Output column names</source>
      <translation>输出列名称</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.ui" line="170"/>
      <location filename="../windows/viewwindow.cpp" line="939"/>
      <source>Data</source>
      <translation>数据</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.ui" line="180"/>
      <source>Triggers</source>
      <translation>触发器</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.ui" line="215"/>
      <source>DDL</source>
      <translation>DDL</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>无法还原窗口“%1”，此窗口中没有存储数据库或表的会话。</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>无法还原窗口“%1”，无法解析数据库 %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>无法还原窗口“%1”，数据库 %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>无法还原窗口“%1”，数据库 %3 中不存在视图 %2。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="169"/>
      <location filename="../windows/viewwindow.cpp" line="171"/>
      <source>New view %1</source>
      <translation>新视图 %1</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="294"/>
      <source>Database</source>
      <translation>数据库</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="349"/>
      <source>Refresh the view</source>
      <comment>view window</comment>
      <translation>刷新视图</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="351"/>
      <source>Commit the view changes</source>
      <comment>view window</comment>
      <translation>提交视图更改</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="352"/>
      <source>Rollback the view changes</source>
      <comment>view window</comment>
      <translation>回滚视图更改</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="356"/>
      <source>Explicit column names</source>
      <translation>明确列名称</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>基于视图的结果列自动生成输出列名称。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="363"/>
      <source>Add column</source>
      <comment>view window</comment>
      <translation>添加列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="364"/>
      <source>Edit column</source>
      <comment>view window</comment>
      <translation>编辑列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="365"/>
      <source>Delete column</source>
      <comment>view window</comment>
      <translation>删除列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="366"/>
      <source>Move column up</source>
      <comment>view window</comment>
      <translation>上移列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="367"/>
      <source>Move column down</source>
      <comment>view window</comment>
      <translation>下移列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="369"/>
      <source>Export view</source>
      <comment>view window</comment>
      <translation>导出视图</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="378"/>
      <source>Refresh trigger list</source>
      <comment>view window</comment>
      <translation>刷新触发器列表</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="380"/>
      <source>Create new trigger</source>
      <comment>view window</comment>
      <translation>创建新触发器</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="381"/>
      <source>Edit selected trigger</source>
      <comment>view window</comment>
      <translation>编辑选中触发器</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="382"/>
      <source>Delete selected trigger</source>
      <comment>view window</comment>
      <translation>删除选中触发器</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="403"/>
      <source>View window &quot;%1&quot; has uncommitted structure modifications and data.</source>
      <translation>视图“%1”有未提交的结构更改和数据。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="405"/>
      <source>View window &quot;%1&quot; has uncommitted data.</source>
      <translation>视图“%1”有未提交的数据。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="407"/>
      <source>View window &quot;%1&quot; has uncommitted structure modifications.</source>
      <translation>视图“%1”有未提交的结构更改。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="638"/>
      <source>Could not load data for view %1. Error details: %2</source>
      <translation>无法加载视图 %1 的数据。错误详情：%2</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="650"/>
      <source>Uncommitted changes</source>
      <translation>未提交的更改</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="651"/>
      <source>There are uncommitted structure modifications.</source>
      <translation>存在未提交的结构修改。</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>在确定视图结构之前，您无法浏览或编辑数据。
您是否要提交结构，还是要返回到结构选项卡？</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="657"/>
      <source>Commit modifications and browse data</source>
      <translation>提交修改并浏览数据</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>由于 Letos 内部错误，视图无法修改。请报告此错误！</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>视图代码无法正确解析执行。这是 Letos 的一个 bug。请提交报告。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="656"/>
      <source>Go back to structure tab</source>
      <translation>返回结构选项卡</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="709"/>
      <source>View &apos;%1&apos; was committed successfully.</source>
      <translation>成功提交视图“%1”。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="711"/>
      <source>Committed changes for view &apos;%1&apos; successfully.</source>
      <translation>成功提交对视图“%1”的更改。</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>成功提交对视图“%1”（原名“%2”）的更改。</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>无法提交视图更改。错误信息：%1</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="880"/>
      <source>Override columns</source>
      <translation>覆盖列</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="880"/>
      <source>Currently defined columns will be overriden. Do you want to continue?</source>
      <translation>当前定义的列将被覆盖。您要继续吗？</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>无法确定视图所返回的列。查询可能不完整或包含错误。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="922"/>
      <source>Cannot export, because no export plugin is loaded.</source>
      <translation>无法导出，没有加载导出插件。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="971"/>
      <source>Name</source>
      <comment>view window triggers</comment>
      <translation>名称</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="972"/>
      <source>Instead of</source>
      <comment>view window triggers</comment>
      <translation>而非</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="973"/>
      <source>Condition</source>
      <comment>view window triggers</comment>
      <translation>条件</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="974"/>
      <source>Details</source>
      <comment>table window triggers</comment>
      <translation>详情</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>无法正确处理视图 %1。无法打开视图窗口。</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="1065"/>
      <source>Empty name</source>
      <translation>空名称</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>SQLite 允许为视图使用空白名称，但不推荐使用空白名称。
您确定要创建一个空白名称的视图？</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>SELECT 语句解析失败。请更正查询并重试。
详情：%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>修改该视图时将出现以下问题。
是否继续？</translation>
    </message>
    <message>
      <location filename="../windows/viewwindow.cpp" line="1125"/>
      <source>View modification</source>
      <comment>view window</comment>
      <translation>视图更改</translation>
    </message>
  </context>
  <context>
    <name>WidgetCover</name>
    <message>
      <location filename="../common/widgetcover.cpp" line="242"/>
      <source>Interrupt</source>
      <translation>停止</translation>
    </message>
  </context>
</TS>
