From 523449f9722f8a7597536fc1679ba06b87cfcc00 Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Tue, 10 Mar 2026 00:37:02 +0700 Subject: [PATCH 1/2] feat: ship Oracle and ClickHouse as downloadable plugins --- .github/workflows/build-plugin.yml | 81 + CHANGELOG.md | 4 + TablePro.xcodeproj/project.pbxproj | 4 - TablePro/Core/Database/DatabaseDriver.swift | 3 + TablePro/Core/Plugins/PluginError.swift | 3 + TablePro/Core/Plugins/PluginManager.swift | 29 + .../Plugins/Registry/RegistryModels.swift | 1 + .../Connection/DatabaseConnection.swift | 7 + TablePro/Resources/Localizable.xcstrings | 21629 ++++++++-------- .../Views/Connection/ConnectionFormView.swift | 101 +- .../Views/Connection/WelcomeWindowView.swift | 44 +- docs/databases/clickhouse.mdx | 8 + docs/databases/oracle.mdx | 8 + docs/vi/databases/clickhouse.mdx | 8 + docs/vi/databases/oracle.mdx | 8 + scripts/build-plugin.sh | 157 + 16 files changed, 11265 insertions(+), 10830 deletions(-) create mode 100644 .github/workflows/build-plugin.yml create mode 100755 scripts/build-plugin.sh diff --git a/.github/workflows/build-plugin.yml b/.github/workflows/build-plugin.yml new file mode 100644 index 00000000..fed1fddc --- /dev/null +++ b/.github/workflows/build-plugin.yml @@ -0,0 +1,81 @@ +name: Build Plugin + +on: + push: + tags: ["plugin-*-v*"] + +env: + XCODE_PROJECT: TablePro.xcodeproj + +jobs: + build-plugin: + name: Build Plugin + runs-on: self-hosted + timeout-minutes: 30 + + steps: + - name: Extract plugin info from tag + id: plugin-info + run: | + TAG="${GITHUB_REF#refs/tags/}" + # Tag format: plugin--v + # e.g., plugin-oracle-v1.0.0 -> OracleDriverPlugin + PLUGIN_NAME=$(echo "$TAG" | sed -E 's/^plugin-([a-z]+)-v.*$/\1/') + VERSION=$(echo "$TAG" | sed -E 's/^plugin-[a-z]+-v(.*)$/\1/') + + # Map short name to Xcode target + case "$PLUGIN_NAME" in + oracle) TARGET="OracleDriverPlugin" ;; + clickhouse) TARGET="ClickHouseDriverPlugin" ;; + *) echo "Unknown plugin: $PLUGIN_NAME"; exit 1 ;; + esac + + echo "target=$TARGET" >> "$GITHUB_OUTPUT" + echo "version=$VERSION" >> "$GITHUB_OUTPUT" + echo "plugin_name=$PLUGIN_NAME" >> "$GITHUB_OUTPUT" + echo "Building $TARGET v$VERSION" + + - name: Install Git LFS + run: brew list git-lfs &>/dev/null || brew install git-lfs; git lfs install + + - name: Checkout code + uses: actions/checkout@v4 + with: + lfs: true + + - name: Pull LFS files + run: git lfs pull + + - name: Build plugin (ARM64) + run: ./scripts/build-plugin.sh "${{ steps.plugin-info.outputs.target }}" arm64 + + - name: Build plugin (x86_64) + run: ./scripts/build-plugin.sh "${{ steps.plugin-info.outputs.target }}" x86_64 + + - name: Notarize + if: env.NOTARIZE == 'true' + env: + NOTARIZE: "true" + run: | + for zip in build/Plugins/*.zip; do + xcrun notarytool submit "$zip" \ + --apple-id "$APPLE_ID" \ + --team-id "D7HJ5TFYCU" \ + --keychain-profile "notarytool-profile" \ + --wait + done + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + name: "${{ steps.plugin-info.outputs.target }} v${{ steps.plugin-info.outputs.version }}" + body: | + ## ${{ steps.plugin-info.outputs.target }} v${{ steps.plugin-info.outputs.version }} + + Plugin release for TablePro. + + ### Installation + Download the ZIP for your architecture and install via **Settings > Plugins > Install from File**. + files: build/Plugins/*.zip + draft: false + prerelease: false diff --git a/CHANGELOG.md b/CHANGELOG.md index f7977bcd..9b12ac93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Import plugin system: SQL import extracted into a `.tableplugin` bundle, matching the export plugin architecture - `ImportFormatPlugin` protocol in TableProPluginKit for building custom import format plugins - SQLImportPlugin as the first import format plugin (SQL files and .gz compressed SQL) +- Oracle and ClickHouse shipped as downloadable plugins, reducing app bundle size for most users +- Plugin install prompt when connecting to a database whose driver plugin is not installed +- `databaseTypeIds` field on registry plugins for mapping registry entries to database types +- `build-plugin.sh` script and `build-plugin.yml` CI workflow for building standalone plugin releases ## [0.16.1] - 2026-03-09 diff --git a/TablePro.xcodeproj/project.pbxproj b/TablePro.xcodeproj/project.pbxproj index 64c0a943..946c59d1 100644 --- a/TablePro.xcodeproj/project.pbxproj +++ b/TablePro.xcodeproj/project.pbxproj @@ -9,11 +9,9 @@ /* Begin PBXBuildFile section */ 5A860000A00000000 /* TableProPluginKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5A861000A00000000 /* TableProPluginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; }; - 5A861000D00000000 /* OracleDriver.tableplugin in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = 5A861000100000000 /* OracleDriver.tableplugin */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5A862000A00000000 /* TableProPluginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; }; 5A862000D00000000 /* SQLiteDriver.tableplugin in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = 5A862000100000000 /* SQLiteDriver.tableplugin */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5A863000A00000000 /* TableProPluginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; }; - 5A863000D00000000 /* ClickHouseDriver.tableplugin in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = 5A863000100000000 /* ClickHouseDriver.tableplugin */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5A864000A00000000 /* TableProPluginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; }; 5A864000D00000000 /* MSSQLDriver.tableplugin in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = 5A864000100000000 /* MSSQLDriver.tableplugin */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5A865000A00000000 /* TableProPluginKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5A860000100000000 /* TableProPluginKit.framework */; }; @@ -166,9 +164,7 @@ dstPath = ""; dstSubfolderSpec = 13; files = ( - 5A861000D00000000 /* OracleDriver.tableplugin in Copy Plug-Ins */, 5A862000D00000000 /* SQLiteDriver.tableplugin in Copy Plug-Ins */, - 5A863000D00000000 /* ClickHouseDriver.tableplugin in Copy Plug-Ins */, 5A864000D00000000 /* MSSQLDriver.tableplugin in Copy Plug-Ins */, 5A865000D00000000 /* MySQLDriver.tableplugin in Copy Plug-Ins */, 5A866000D00000000 /* MongoDBDriver.tableplugin in Copy Plug-Ins */, diff --git a/TablePro/Core/Database/DatabaseDriver.swift b/TablePro/Core/Database/DatabaseDriver.swift index c06d52c3..1b3edea1 100644 --- a/TablePro/Core/Database/DatabaseDriver.swift +++ b/TablePro/Core/Database/DatabaseDriver.swift @@ -301,6 +301,9 @@ enum DatabaseDriverFactory { PluginManager.shared.loadPendingPlugins() } guard let plugin = PluginManager.shared.driverPlugins[pluginId] else { + if connection.type.isDownloadablePlugin { + throw PluginError.pluginNotInstalled(connection.type.rawValue) + } throw DatabaseError.connectionFailed( "\(pluginId) driver plugin not loaded. The plugin may be disabled or missing from the PlugIns directory." ) diff --git a/TablePro/Core/Plugins/PluginError.swift b/TablePro/Core/Plugins/PluginError.swift index 52963931..5a877850 100644 --- a/TablePro/Core/Plugins/PluginError.swift +++ b/TablePro/Core/Plugins/PluginError.swift @@ -17,6 +17,7 @@ enum PluginError: LocalizedError { case pluginConflict(existingName: String) case appVersionTooOld(minimumRequired: String, currentApp: String) case downloadFailed(String) + case pluginNotInstalled(String) case incompatibleWithCurrentApp(minimumRequired: String) var errorDescription: String? { @@ -43,6 +44,8 @@ enum PluginError: LocalizedError { return String(localized: "Plugin requires app version \(minimumRequired) or later, but current version is \(currentApp)") case .downloadFailed(let reason): return String(localized: "Plugin download failed: \(reason)") + case .pluginNotInstalled(let databaseType): + return String(localized: "The \(databaseType) plugin is not installed. You can download it from the plugin marketplace.") case .incompatibleWithCurrentApp(let minimumRequired): return String(localized: "This plugin requires TablePro \(minimumRequired) or later") } diff --git a/TablePro/Core/Plugins/PluginManager.swift b/TablePro/Core/Plugins/PluginManager.swift index 9a919f8c..7a61ed27 100644 --- a/TablePro/Core/Plugins/PluginManager.swift +++ b/TablePro/Core/Plugins/PluginManager.swift @@ -282,6 +282,35 @@ final class PluginManager { } } + // MARK: - Driver Availability + + func isDriverAvailable(for databaseType: DatabaseType) -> Bool { + loadPendingPlugins() + return driverPlugins[databaseType.pluginTypeId] != nil + } + + func installMissingPlugin( + for databaseType: DatabaseType, + progress: @escaping @MainActor @Sendable (Double) -> Void + ) async throws { + let registryClient = RegistryClient.shared + await registryClient.fetchManifest() + + guard let manifest = registryClient.manifest else { + throw PluginError.downloadFailed(String(localized: "Could not fetch plugin registry")) + } + + let pluginTypeId = databaseType.pluginTypeId + guard let registryPlugin = manifest.plugins.first(where: { plugin in + plugin.databaseTypeIds?.contains(pluginTypeId) == true + }) else { + throw PluginError.notFound + } + + let entry = try await installFromRegistry(registryPlugin, progress: progress) + Self.logger.info("Installed missing plugin '\(entry.name)' for database type '\(databaseType.rawValue)'") + } + // MARK: - Enable / Disable func setEnabled(_ enabled: Bool, pluginId: String) { diff --git a/TablePro/Core/Plugins/Registry/RegistryModels.swift b/TablePro/Core/Plugins/Registry/RegistryModels.swift index 912bdb96..08441379 100644 --- a/TablePro/Core/Plugins/Registry/RegistryModels.swift +++ b/TablePro/Core/Plugins/Registry/RegistryModels.swift @@ -18,6 +18,7 @@ struct RegistryPlugin: Codable, Sendable, Identifiable { let author: RegistryAuthor let homepage: String? let category: RegistryCategory + let databaseTypeIds: [String]? let downloadURL: String let sha256: String let minAppVersion: String? diff --git a/TablePro/Models/Connection/DatabaseConnection.swift b/TablePro/Models/Connection/DatabaseConnection.swift index 16620162..6e58343c 100644 --- a/TablePro/Models/Connection/DatabaseConnection.swift +++ b/TablePro/Models/Connection/DatabaseConnection.swift @@ -226,6 +226,13 @@ enum DatabaseType: String, CaseIterable, Identifiable, Codable { } } + var isDownloadablePlugin: Bool { + switch self { + case .oracle, .clickhouse: return true + default: return false + } + } + /// Asset name for each database type icon var iconName: String { switch self { diff --git a/TablePro/Resources/Localizable.xcstrings b/TablePro/Resources/Localizable.xcstrings index ec57621d..a614fa91 100644 --- a/TablePro/Resources/Localizable.xcstrings +++ b/TablePro/Resources/Localizable.xcstrings @@ -1,17169 +1,17196 @@ { - "sourceLanguage": "en", - "strings": { - "": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "" + "sourceLanguage" : "en", + "strings" : { + "" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "" } } } }, - "--": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "--" + "--" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "--" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "--" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "--" } } } }, - "—": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "—" + "—" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "—" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "—" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "—" } } } }, - ".%@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": ".%@" + ".%@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : ".%@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": ".%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : ".%@" } } } }, - "·": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "·" + "·" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "·" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "·" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "·" } } } }, - "''": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "''" + "''" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "''" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "''" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "''" } } } }, - "\"%@\" will be removed from your system. This action cannot be undone.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "\"%@\" sẽ bị xoá khỏi hệ thống. Hành động này không thể hoàn tác." + "\"%@\" will be removed from your system. This action cannot be undone." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "\"%@\" sẽ bị xoá khỏi hệ thống. Hành động này không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "\"%@\" 将从您的系统中移除。此操作无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "\"%@\" 将从您的系统中移除。此操作无法撤销。" } } } }, - "(%@)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "(%@)" + "(%@)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%@)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "(%@)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%@)" } } } }, - "(%lld %@)": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "(%1$lld %2$@)" + "(%lld %@)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "(%1$lld %2$@)" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "(%1$lld %2$@)" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%1$lld %2$@)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "(%lld %@)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%lld %@)" } } } }, - "(%lld active)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "(%lld đang hoạt động)" + "(%lld active)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%lld đang hoạt động)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "(%lld 活跃)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%lld 活跃)" } } } }, - "(%lld)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "(%lld)" + "(%lld)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%lld)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "(%lld)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "(%lld)" } } } }, - "(optional)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "(tùy chọn)" + "(optional)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "(tùy chọn)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "(可选)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "(可选)" } } } }, - "/path/to/agent.sock": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "/path/to/agent.sock" + "/path/to/agent.sock" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "/path/to/agent.sock" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "/path/to/agent.sock" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "/path/to/agent.sock" } } } }, - "/path/to/ca-cert.pem": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "/đường/dẫn/tới/ca-cert.pem" + "/path/to/ca-cert.pem" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "/đường/dẫn/tới/ca-cert.pem" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "/path/to/ca-cert.pem" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "/path/to/ca-cert.pem" } } } }, - "/path/to/database.sqlite": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "/đường/dẫn/tới/database.sqlite" + "/path/to/database.sqlite" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "/đường/dẫn/tới/database.sqlite" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "/path/to/database.sqlite" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "/path/to/database.sqlite" } } } }, - "%@ (%lld/%lld)": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@ (%2$lld/%3$lld)" + "%@ (%lld/%lld)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ (%2$lld/%3$lld)" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$@ (%2$lld/%3$lld)" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ (%2$lld/%3$lld)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ (%lld/%lld)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ (%lld/%lld)" } } } }, - "%@ cannot be empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ không được để trống" + "%@ cannot be empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ không được để trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 不能为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 不能为空" } } } }, - "%@ cannot be negative": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ không được là số âm" + "%@ cannot be negative" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ không được là số âm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 不能为负数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 不能为负数" } } } }, - "%@ is already assigned to \"%@\". Reassigning will remove it from that action.": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@ is already assigned to \"%2$@\". Reassigning will remove it from that action." + "%@ is already assigned to \"%@\". Reassigning will remove it from that action." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ is already assigned to \"%2$@\". Reassigning will remove it from that action." } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$@ đã được gán cho \"%2$@\". Gán lại sẽ xóa phím tắt khỏi hành động đó." + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ đã được gán cho \"%2$@\". Gán lại sẽ xóa phím tắt khỏi hành động đó." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 已分配给 \"%@\"。重新分配将从该操作中移除它。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 已分配给 \"%@\"。重新分配将从该操作中移除它。" } } } }, - "%@ ms": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ ms" + "%@ ms" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ ms" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ ms" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ ms" } } } }, - "%@ must be %lld characters or less": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@ must be %2$lld characters or less" + "%@ must be %lld characters or less" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ must be %2$lld characters or less" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$@ phải có %2$lld ký tự trở xuống" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ phải có %2$lld ký tự trở xuống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 必须为 %lld 个字符或更少" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 必须为 %lld 个字符或更少" } } } }, - "%@ must be between %@ and %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@ must be between %2$@ and %3$@" + "%@ must be between %@ and %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ must be between %2$@ and %3$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$@ phải nằm trong khoảng %2$@ đến %3$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ phải nằm trong khoảng %2$@ đến %3$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 必须在 %@ 和 %@ 之间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 必须在 %@ 和 %@ 之间" } } } }, - "%@ rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ dòng" + "%@ rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 行" } } } }, - "%@ s": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ giây" + "%@ s" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ giây" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 秒" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 秒" } } } }, - "%@ seconds": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ giây" + "%@ seconds" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ giây" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ 秒" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 秒" } } } }, - "%@, %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@, %2$@" + "%@, %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@, %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@, %@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@, %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@, %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@, %@" } } } }, - "%@.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@." + "%@." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } } } }, - "%@/%@ rows": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$@/%2$@ rows" + "%@/%@ rows" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@/%2$@ rows" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$@/%2$@ dòng" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@/%2$@ dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@/%@ 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@/%@ 行" } } } }, - "%@ms": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@ms" + "%@ms" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ms" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@ms" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ms" } } } }, - "%@s": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%@s" + "%@s" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@s" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%@s" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@s" } } } }, - "%lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "%lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld" } } } }, - "%lld in · %lld out": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld in · %2$lld out" + "%lld in · %lld out" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld in · %2$lld out" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld vào · %lld ra" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld vào · %lld ra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 输入 · %lld 输出" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 输入 · %lld 输出" } } } }, - "%lld in / %lld out tokens": { - "extractionState": "stale", - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld in / %2$lld out tokens" + "%lld in / %lld out tokens" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld in / %2$lld out tokens" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$lld vào / %2$lld ra token" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld vào / %2$lld ra token" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 输入 / %lld 输出 token" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 输入 / %lld 输出 token" } } } }, - "%lld of %lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld of %2$lld" + "%lld of %lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld of %2$lld" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$lld / %2$lld" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld / %2$lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld / %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld / %lld" } } } }, - "%lld of %lld rows selected": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld of %2$lld rows selected" + "%lld of %lld rows selected" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld of %2$lld rows selected" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã chọn %1$lld trong %2$lld dòng" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã chọn %1$lld trong %2$lld dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已选择 %lld / %lld 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已选择 %lld / %lld 行" } } } }, - "%lld pt": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld pt" + "%lld pt" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld pt" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pt" } } } }, - "%lld row%@ affected": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld row%2$@ affected" + "%lld row%@ affected" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld row%2$@ affected" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld dòng%@ bị ảnh hưởng" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dòng%@ bị ảnh hưởng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 行%@受影响" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 行%@受影响" } } } }, - "%lld seconds": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld giây" + "%lld seconds" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld giây" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 秒" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 秒" } } } }, - "%lld skipped (no options)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld bị bỏ qua (không có tùy chọn)" + "%lld skipped (no options)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld bị bỏ qua (không có tùy chọn)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 已跳过(无选项)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 已跳过(无选项)" } } } }, - "%lld statements": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld câu lệnh" + "%lld statements" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld câu lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 条语句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 条语句" } } } }, - "%lld statements executed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã thực thi %lld câu lệnh" + "%lld statements executed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã thực thi %lld câu lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已执行 %lld 条语句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已执行 %lld 条语句" } } } }, - "%lld table%@ to export": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld table%2$@ to export" + "%lld table%@ to export" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld table%2$@ to export" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld bảng%@ để xuất" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld bảng%@ để xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 个表%@待导出" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 个表%@待导出" } } } }, - "%lld tables": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lld bảng" + "%lld tables" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld 个表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 个表" } } } }, - "%lld-%lld of %@ rows": { - "extractionState": "stale", - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld-%2$lld of %3$@ rows" + "%lld-%lld of %@ rows" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld-%2$lld of %3$@ rows" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$lld-%2$lld trong %3$@ dòng" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld-%2$lld trong %3$@ dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld-%lld / %@ 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld-%lld / %@ 行" } } } }, - "%lld-%lld of %@%@ rows": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lld-%2$lld of %3$@%4$@ rows" + "%lld-%lld of %@%@ rows" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lld-%2$lld of %3$@%4$@ rows" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$lld-%2$lld của %3$@%4$@ dòng" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld-%2$lld của %3$@%4$@ dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lld-%lld / %@%@ 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld-%lld / %@%@ 行" } } } }, - "%lldm %llds": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "%1$lldm %2$llds" + "%lldm %llds" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$lldm %2$llds" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%lldm %llds" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldm %llds" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "%lldm %llds" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lldm %llds" } } } }, - "•": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "•" + "•" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "•" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "•" } } } }, - "••••••••": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "••••••••" + "••••••••" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "••••••••" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "••••••••" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "••••••••" } } } }, - "© 2026 Ngo Quoc Dat.\n%@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "© 2026 Ngo Quoc Dat.\n%@" + "© 2026 Ngo Quoc Dat.\n%@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "© 2026 Ngo Quoc Dat.\n%@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "© 2026 Ngo Quoc Dat.\n%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "© 2026 Ngo Quoc Dat.\n%@" } } } }, - "<1ms": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "<1ms" + "<1ms" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "<1ms" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "<1ms" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "<1ms" } } } }, - "=": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "=" + "=" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "=" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "=" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "=" } } } }, - "~/.ssh/id_rsa": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "~/.ssh/id_rsa" + "~/.ssh/id_rsa" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "~/.ssh/id_rsa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "~/.ssh/id_rsa" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "~/.ssh/id_rsa" } } } }, - "⌘K": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "⌘K" + "⌘K" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "⌘K" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "⌘K" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "⌘K" } } } }, - "⌘T": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "⌘T" + "⌘T" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "⌘T" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "⌘T" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "⌘T" } } } }, - "0": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "0" + "0" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "0" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "0" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "0" } } } }, - "1": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "1" + "1" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "1" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "1" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "1" } } } }, - "1 (no batching)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "1 (không gom nhóm)" + "1 (no batching)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 (không gom nhóm)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "1(不分批)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "1(不分批)" } } } }, - "1 year": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "1 năm" + "1 year" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 năm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "1 年" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "1 年" } } } }, - "1,000": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "1,000" + "1,000" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "1,000" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "1,000" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "1,000" } } } }, - "1,000 rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "1.000 dòng" + "1,000 rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "1.000 dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "1,000 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "1,000 行" } } } }, - "2": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "2" + "2" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "2" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "2" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "2" } } } }, - "2 spaces": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "2 dấu cách" + "2 spaces" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 dấu cách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "2 个空格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "2 个空格" } } } }, - "3": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "3" + "3" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "3" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "3" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "3" } } } }, - "4 spaces": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "4 dấu cách" + "4 spaces" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 dấu cách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "4 个空格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "4 个空格" } } } }, - "5,000": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "5,000" + "5,000" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "5,000" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "5,000" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "5,000" } } } }, - "5,000 rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "5.000 dòng" + "5,000 rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "5.000 dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "5,000 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "5,000 行" } } } }, - "7 days": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "7 ngày" + "7 days" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "7 ngày" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "7 天" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "7 天" } } } }, - "8 spaces": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "8 dấu cách" + "8 spaces" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 dấu cách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "8 个空格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "8 个空格" } } } }, - "10,000": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "10,000" + "10,000" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "10,000" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "10,000" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "10,000" } } } }, - "10,000 rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "10.000 dòng" + "10,000 rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "10.000 dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "10,000 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "10,000 行" } } } }, - "22": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "22" + "22" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "22" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "22" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "22" } } } }, - "30 days": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "30 ngày" + "30 days" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "30 ngày" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "30 天" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "30 天" } } } }, - "90 days": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "90 ngày" + "90 days" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "90 ngày" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "90 天" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "90 天" } } } }, - "100": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "100" + "100" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "100" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "100" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "100" } } } }, - "100 rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "100 dòng" + "100 rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "100 dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "100 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "100 行" } } } }, - "500": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "500" + "500" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "500" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "500" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "500" } } } }, - "500 rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "500 dòng" + "500 rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "500 dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "500 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "500 行" } } } }, - "A built-in plugin \"%@\" already provides this bundle ID": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin tích hợp \"%@\" đã cung cấp bundle ID này" + "A built-in plugin \"%@\" already provides this bundle ID" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin tích hợp \"%@\" đã cung cấp bundle ID này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "内置插件 \"%@\" 已提供此 bundle ID" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "内置插件 \"%@\" 已提供此 bundle ID" } } } }, - "A fast, lightweight native macOS database client": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ứng dụng quản lý cơ sở dữ liệu gốc macOS nhanh và nhẹ" + "A fast, lightweight native macOS database client" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ứng dụng quản lý cơ sở dữ liệu gốc macOS nhanh và nhẹ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "快速、轻量的原生 macOS 数据库客户端" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "快速、轻量的原生 macOS 数据库客户端" } } } }, - "About TablePro": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giới thiệu TablePro" + "About TablePro" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giới thiệu TablePro" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关于 TablePro" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关于 TablePro" } } } }, - "Accent Color:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Màu nhấn:" + "Accent Color:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Màu nhấn:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "强调色:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "强调色:" } } } }, - "Activate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích hoạt" + "Activate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích hoạt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "激活" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "激活" } } } }, - "Activation Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích hoạt thất bại" + "Activation Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích hoạt thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "激活失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "激活失败" } } } }, - "Active": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang hoạt động" + "Active" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang hoạt động" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "活跃" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "活跃" } } } }, - "Active Connections": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối đang hoạt động" + "Active Connections" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối đang hoạt động" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "活跃连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "活跃连接" } } } }, - "ACTIVE CONNECTIONS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "KẾT NỐI ĐANG HOẠT ĐỘNG" + "ACTIVE CONNECTIONS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "KẾT NỐI ĐANG HOẠT ĐỘNG" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "活跃连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "活跃连接" } } } }, - "Add Check Constraint": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm ràng buộc kiểm tra" + "Add Check Constraint" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm ràng buộc kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加检查约束" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加检查约束" } } } }, - "Add Column": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm cột" + "Add Column" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加列" } } } }, - "Add columns first": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm cột trước" + "Add columns first" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm cột trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "请先添加列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请先添加列" } } } }, - "Add filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm bộ lọc" + "Add filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加筛选" } } } }, - "Add Filter (Cmd+Shift+F)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm bộ lọc (Cmd+Shift+F)" + "Add Filter (Cmd+Shift+F)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm bộ lọc (Cmd+Shift+F)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加筛选 (Cmd+Shift+F)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加筛选 (Cmd+Shift+F)" } } } }, - "Add Foreign Key": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm khóa ngoại" + "Add Foreign Key" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm khóa ngoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加外键" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加外键" } } } }, - "Add Index": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm chỉ mục" + "Add Index" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加索引" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加索引" } } } }, - "Add indexes to improve query performance on frequently searched columns": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm chỉ mục để cải thiện hiệu suất truy vấn trên các cột thường xuyên tìm kiếm" + "Add indexes to improve query performance on frequently searched columns" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm chỉ mục để cải thiện hiệu suất truy vấn trên các cột thường xuyên tìm kiếm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加索引以提升常用搜索列的查询性能" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加索引以提升常用搜索列的查询性能" } } } }, - "Add Jump Host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm Jump Host" + "Add Jump Host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm Jump Host" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加跳板机" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加跳板机" } } } }, - "Add Provider": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm nhà cung cấp" + "Add Provider" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm nhà cung cấp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加提供商" } } } }, - "Add Row": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm dòng" + "Add Row" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加行" } } } }, - "Add validation rules to ensure data integrity": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thêm quy tắc xác thực để đảm bảo tính toàn vẹn dữ liệu" + "Add validation rules to ensure data integrity" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm quy tắc xác thực để đảm bảo tính toàn vẹn dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "添加验证规则以确保数据完整性" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加验证规则以确保数据完整性" } } } }, - "admin": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "admin" + "admin" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "admin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "admin" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "admin" } } } }, - "Agent Socket": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Agent Socket" + "Agent Socket" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agent Socket" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Agent Socket" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agent Socket" } } } }, - "AI": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "AI" + "AI" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI" } } } }, - "AI Chat": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "AI Chat" + "AI Chat" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI Chat" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 对话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 对话" } } } }, - "AI is disabled for this connection.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "AI bị tắt cho kết nối này." + "AI is disabled for this connection." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI bị tắt cho kết nối này." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此连接已禁用 AI。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此连接已禁用 AI。" } } } }, - "AI Policy": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chính sách AI" + "AI Policy" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chính sách AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 策略" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 策略" } } } }, - "AI Provider": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhà cung cấp AI" + "AI Provider" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhà cung cấp AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 提供商" } } } }, - "AI-powered SQL completions appear as ghost text while typing. Press Tab to accept, Escape to dismiss.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gợi ý SQL bằng AI xuất hiện dưới dạng văn bản mờ khi gõ. Nhấn Tab để chấp nhận, Escape để bỏ qua." + "AI-powered SQL completions appear as ghost text while typing. Press Tab to accept, Escape to dismiss." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gợi ý SQL bằng AI xuất hiện dưới dạng văn bản mờ khi gõ. Nhấn Tab để chấp nhận, Escape để bỏ qua." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 驱动的 SQL 补全在输入时以虚影文本显示。按 Tab 接受,按 Escape 关闭。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 驱动的 SQL 补全在输入时以虚影文本显示。按 Tab 接受,按 Escape 关闭。" } } } }, - "All %lld rows selected": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã chọn tất cả %lld dòng" + "All %lld rows selected" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã chọn tất cả %lld dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已选择全部 %lld 行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已选择全部 %lld 行" } } } }, - "All columns": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tất cả cột" + "All columns" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tất cả cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "所有列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "所有列" } } } }, - "ALL DATABASES": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TẤT CẢ CƠ SỞ DỮ LIỆU" + "ALL DATABASES" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TẤT CẢ CƠ SỞ DỮ LIỆU" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "所有数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "所有数据库" } } } }, - "All rights reserved.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã đăng ký bản quyền." + "All rights reserved." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã đăng ký bản quyền." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保留所有权利。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保留所有权利。" } } } }, - "ALL SCHEMAS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TẤT CẢ SCHEMA" + "ALL SCHEMAS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TẤT CẢ SCHEMA" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "所有 SCHEMA" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "所有 SCHEMA" } } } }, - "All Time": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tất cả" + "All Time" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "所有时间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "所有时间" } } } }, - "Allow": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cho phép" + "Allow" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cho phép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "允许" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "允许" } } } }, - "Allow AI Access": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cho phép truy cập AI" + "Allow AI Access" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cho phép truy cập AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "允许 AI 访问" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "允许 AI 访问" } } } }, - "Also handles:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cũng hỗ trợ:" + "Also handles:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cũng hỗ trợ:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "还支持:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "还支持:" } } } }, - "Always": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Luôn luôn" + "Always" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luôn luôn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "始终" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "始终" } } } }, - "Always Allow": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Luôn cho phép" + "Always Allow" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luôn cho phép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "始终允许" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "始终允许" } } } }, - "and": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "và" + "and" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "và" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "和" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "和" } } } }, - "AND": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "AND" + "AND" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "AND" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AND" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AND" } } } }, - "API Key": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "API Key" + "API Key" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "API Key" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "API Key" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "API Key" } } } }, - "Appearance": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giao diện" + "Appearance" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giao diện" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "外观" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "外观" } } } }, - "Appearance:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giao diện:" + "Appearance:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giao diện:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "外观:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "外观:" } } } }, - "Apply All": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Áp dụng tất cả" + "Apply All" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Áp dụng tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "全部应用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "全部应用" } } } }, - "Apply Changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Áp dụng thay đổi" + "Apply Changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Áp dụng thay đổi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "应用更改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "应用更改" } } } }, - "Apply this filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Áp dụng bộ lọc này" + "Apply this filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Áp dụng bộ lọc này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "应用此筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "应用此筛选" } } } }, - "Apply This Filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Áp dụng bộ lọc này" + "Apply This Filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Áp dụng bộ lọc này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "应用此筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "应用此筛选" } } } }, - "Are you sure you want to delete \"%@\"?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có chắc muốn xóa \"%@\" không?" + "Are you sure you want to delete \"%@\"?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có chắc muốn xóa \"%@\" không?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "确定要删除 \"%@\" 吗?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "确定要删除 \"%@\" 吗?" } } } }, - "Are you sure you want to disconnect from this database?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có chắc muốn ngắt kết nối khỏi cơ sở dữ liệu này không?" + "Are you sure you want to disconnect from this database?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có chắc muốn ngắt kết nối khỏi cơ sở dữ liệu này không?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "确定要断开与此数据库的连接吗?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "确定要断开与此数据库的连接吗?" } } } }, - "Ask about your database...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hỏi về cơ sở dữ liệu của bạn..." + "Ask about your database..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hỏi về cơ sở dữ liệu của bạn..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "询问您的数据库..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "询问您的数据库..." } } } }, - "Ask AI about your database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hỏi AI về cơ sở dữ liệu của bạn" + "Ask AI about your database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hỏi AI về cơ sở dữ liệu của bạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "向 AI 询问您的数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "向 AI 询问您的数据库" } } } }, - "Ask AI to Fix": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhờ AI sửa lỗi" + "Ask AI to Fix" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhờ AI sửa lỗi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "让 AI 修复" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "让 AI 修复" } } } }, - "Ask Each Time": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hỏi mỗi lần" + "Ask Each Time" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hỏi mỗi lần" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每次询问" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每次询问" } } } }, - "Auth": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực" + "Auth" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "认证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "认证" } } } }, - "Authentication": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực" + "Authentication" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "身份验证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "身份验证" } } } }, - "Authentication failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực thất bại: %@" + "Authentication failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "身份验证失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "身份验证失败:%@" } } } }, - "Authentication failed. Check your API key.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực thất bại. Kiểm tra API key của bạn." + "Authentication failed. Check your API key." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực thất bại. Kiểm tra API key của bạn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "身份验证失败。请检查您的 API key。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "身份验证失败。请检查您的 API key。" } } } }, - "AUTO": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TỰ ĐỘNG" + "AUTO" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TỰ ĐỘNG" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自动" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动" } } } }, - "Auto cleanup on startup": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động dọn dẹp khi khởi động" + "Auto cleanup on startup" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động dọn dẹp khi khởi động" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启动时自动清理" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启动时自动清理" } } } }, - "Auto Inc": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự tăng" + "Auto Inc" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự tăng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自增" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自增" } } } }, - "Auto Increment": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động tăng" + "Auto Increment" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động tăng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自动递增" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动递增" } } } }, - "Auto-indent": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động thụt lề" + "Auto-indent" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động thụt lề" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自动缩进" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动缩进" } } } }, - "Auto-show inspector on row select": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động hiện thanh kiểm tra khi chọn dòng" + "Auto-show inspector on row select" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động hiện thanh kiểm tra khi chọn dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选中行时自动显示检查器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选中行时自动显示检查器" } } } }, - "Automatically check for updates": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động kiểm tra cập nhật" + "Automatically check for updates" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động kiểm tra cập nhật" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自动检查更新" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动检查更新" } } } }, - "Avg Row": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TB dòng" + "Avg Row" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TB dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "平均行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "平均行" } } } }, - "bastion.example.com": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "bastion.example.com" + "bastion.example.com" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "bastion.example.com" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "bastion.example.com" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "bastion.example.com" } } } }, - "between": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "giữa" + "between" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "giữa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "介于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "介于" } } } }, - "Blue": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xanh dương" + "Blue" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xanh dương" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "蓝色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "蓝色" } } } }, - "Browse": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Duyệt" + "Browse" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duyệt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "浏览" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "浏览" } } } }, - "Browse...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Duyệt..." + "Browse..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duyệt..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "浏览..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "浏览..." } } } }, - "Built-in": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tích hợp sẵn" + "Built-in" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tích hợp sẵn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "内置" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "内置" } } } }, - "Built-in plugins cannot be uninstalled": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể gỡ cài đặt plugin tích hợp sẵn" + "Built-in plugins cannot be uninstalled" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể gỡ cài đặt plugin tích hợp sẵn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法卸载内置插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法卸载内置插件" } } } }, - "Bundle ID:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bundle ID:" + "Bundle ID:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bundle ID:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Bundle ID:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bundle ID:" } } } }, - "CA Cert": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chứng chỉ CA" + "CA Cert" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chứng chỉ CA" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CA 证书" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CA 证书" } } } }, - "CA Certificate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chứng chỉ CA" + "CA Certificate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chứng chỉ CA" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CA 证书" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CA 证书" } } } }, - "Cancel": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy" + "Cancel" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "取消" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消" } } } }, - "Cannot format empty SQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể định dạng SQL trống" + "Cannot format empty SQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể định dạng SQL trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法格式化空 SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法格式化空 SQL" } } } }, - "Capabilities:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tính năng:" + "Capabilities:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tính năng:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "功能:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "功能:" } } } }, - "Cascade": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cascade" + "Cascade" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cascade" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Cascade" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cascade" } } } }, - "Cell Renderer": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trình hiển thị ô" + "Cell Renderer" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trình hiển thị ô" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "单元格渲染器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "单元格渲染器" } } } }, - "Change Color": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đổi màu" + "Change Color" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đổi màu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "更改颜色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "更改颜色" } } } }, - "Change File": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đổi tệp" + "Change File" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đổi tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "更改文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "更改文件" } } } }, - "Change File...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đổi tệp..." + "Change File..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đổi tệp..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "更改文件..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "更改文件..." } } } }, - "Character Set": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bộ ký tự" + "Character Set" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ ký tự" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字符集" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字符集" } } } }, - "Charset (e.g., utf8mb4)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bộ ký tự (vd: utf8mb4)" + "Charset (e.g., utf8mb4)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ ký tự (vd: utf8mb4)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字符集(如 utf8mb4)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字符集(如 utf8mb4)" } } } }, - "Chat": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chat" + "Chat" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chat" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "对话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "对话" } } } }, - "Check for Updates...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểm tra cập nhật..." + "Check for Updates..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra cập nhật..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "检查更新..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "检查更新..." } } } }, - "Choose a query from the list\nto see its full content here.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn một truy vấn từ danh sách\nđể xem nội dung đầy đủ tại đây." + "Choose a query from the list\nto see its full content here." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn một truy vấn từ danh sách\nđể xem nội dung đầy đủ tại đây." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从列表中选择一个查询\n以在此处查看其完整内容。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从列表中选择一个查询\n以在此处查看其完整内容。" } } } }, - "Clear": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa" + "Clear" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除" } } } }, - "Clear All": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa tất cả" + "Clear All" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "全部清除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "全部清除" } } } }, - "Clear all history": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xoá toàn bộ lịch sử" + "Clear all history" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xoá toàn bộ lịch sử" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除全部历史" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除全部历史" } } } }, - "Clear All History?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa toàn bộ lịch sử?" + "Clear All History?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa toàn bộ lịch sử?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除全部历史?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除全部历史?" } } } }, - "Clear all query history": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa toàn bộ lịch sử truy vấn" + "Clear all query history" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa toàn bộ lịch sử truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除全部查询历史" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除全部查询历史" } } } }, - "Clear Conversation": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa hội thoại" + "Clear Conversation" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa hội thoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除对话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除对话" } } } }, - "Clear History...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa lịch sử..." + "Clear History..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa lịch sử..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除历史..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除历史..." } } } }, - "Clear Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xoá truy vấn" + "Clear Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xoá truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除查询" } } } }, - "Clear Query (⌘+Delete)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa truy vấn (⌘+Delete)" + "Clear Query (⌘+Delete)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa truy vấn (⌘+Delete)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除查询 (⌘+Delete)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除查询 (⌘+Delete)" } } } }, - "Clear Recents": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xoá gần đây" + "Clear Recents" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xoá gần đây" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除最近记录" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除最近记录" } } } }, - "Clear search": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa tìm kiếm" + "Clear search" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa tìm kiếm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除搜索" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除搜索" } } } }, - "Clear Search": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa tìm kiếm" + "Clear Search" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa tìm kiếm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除搜索" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除搜索" } } } }, - "Clear Selection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bỏ chọn" + "Clear Selection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bỏ chọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "取消选择" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消选择" } } } }, - "Clear table filter": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa bộ lọc bảng" + "Clear table filter" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa bộ lọc bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清除表筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清除表筛选" } } } }, - "Click + to add a relationship between this table and another": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấn + để thêm mối quan hệ giữa bảng này và bảng khác" + "Click + to add a relationship between this table and another" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấn + để thêm mối quan hệ giữa bảng này và bảng khác" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "点击 + 添加此表与其他表之间的关系" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "点击 + 添加此表与其他表之间的关系" } } } }, - "Click + to create your first connection": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấn + để tạo kết nối đầu tiên" + "Click + to create your first connection" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấn + để tạo kết nối đầu tiên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "点击 + 创建您的第一个连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "点击 + 创建您的第一个连接" } } } }, - "Click a table": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấn vào một bảng" + "Click a table" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấn vào một bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "点击一个表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "点击一个表" } } } }, - "Click to load models": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấp để tải danh sách model" + "Click to load models" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấp để tải danh sách model" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "点击加载模型" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "点击加载模型" } } } }, - "Click to show all tables with metadata": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấn để hiện tất cả bảng với siêu dữ liệu" + "Click to show all tables with metadata" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấn để hiện tất cả bảng với siêu dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "点击显示所有表及其元数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "点击显示所有表及其元数据" } } } }, - "Client Cert": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chứng chỉ máy khách" + "Client Cert" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chứng chỉ máy khách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "客户端证书" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "客户端证书" } } } }, - "Client Certificates (Optional)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chứng chỉ máy khách (Tùy chọn)" + "Client Certificates (Optional)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chứng chỉ máy khách (Tùy chọn)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "客户端证书(可选)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "客户端证书(可选)" } } } }, - "Client Key": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khóa máy khách" + "Client Key" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khóa máy khách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "客户端密钥" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "客户端密钥" } } } }, - "Clipboard is empty or contains no text data.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bộ nhớ tạm trống hoặc không chứa dữ liệu văn bản." + "Clipboard is empty or contains no text data." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ nhớ tạm trống hoặc không chứa dữ liệu văn bản." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "剪贴板为空或不包含文本数据。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "剪贴板为空或不包含文本数据。" } } } }, - "Close": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đóng" + "Close" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đóng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关闭" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关闭" } } } }, - "Close (ESC)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đóng (ESC)" + "Close (ESC)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đóng (ESC)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关闭 (ESC)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关闭 (ESC)" } } } }, - "Close Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đóng tab" + "Close Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đóng tab" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关闭标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关闭标签页" } } } }, - "Closing this tab will discard all unsaved changes.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đóng tab này sẽ hủy tất cả thay đổi chưa lưu." + "Closing this tab will discard all unsaved changes." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đóng tab này sẽ hủy tất cả thay đổi chưa lưu." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "关闭此标签页将丢弃所有未保存的更改。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关闭此标签页将丢弃所有未保存的更改。" } } } }, - "CMD": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CMD" + "CMD" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CMD" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CMD" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CMD" } } } }, - "Collation": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đối chiếu" + "Collation" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đối chiếu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "排序规则" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "排序规则" } } } }, - "Color": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Màu sắc" + "Color" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Màu sắc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "颜色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "颜色" } } } }, - "Color %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Màu %@" + "Color %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Màu %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "颜色 %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "颜色 %@" } } } }, - "Column": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột" + "Column" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列" } } } }, - "Column count mismatch on line %lld: expected %lld columns, found %lld.": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Column count mismatch on line %1$lld: expected %2$lld columns, found %3$lld." + "Column count mismatch on line %lld: expected %lld columns, found %lld." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Column count mismatch on line %1$lld: expected %2$lld columns, found %3$lld." } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số cột không khớp ở dòng %1$lld: mong đợi %2$lld cột, tìm thấy %3$lld." + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số cột không khớp ở dòng %1$lld: mong đợi %2$lld cột, tìm thấy %3$lld." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "第 %lld 行列数不匹配:期望 %lld 列,实际 %lld 列。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "第 %lld 行列数不匹配:期望 %lld 列,实际 %lld 列。" } } } }, - "Column Details": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chi tiết cột" + "Column Details" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chi tiết cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列详情" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列详情" } } } }, - "Column name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên cột" + "Column name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列名" } } } }, - "Column Name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên cột" + "Column Name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列名" } } } }, - "Column: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột: %@" + "Column: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列:%@" } } } }, - "Columns": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột" + "Columns" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列" } } } }, - "Columns (comma-separated)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Các cột (phân tách bằng dấu phẩy)" + "Columns (comma-separated)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Các cột (phân tách bằng dấu phẩy)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "列(逗号分隔)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "列(逗号分隔)" } } } }, - "Comfortable": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thoải mái" + "Comfortable" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thoải mái" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "舒适" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "舒适" } } } }, - "Command Preview": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước lệnh" + "Command Preview" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "命令预览" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "命令预览" } } } }, - "Comment": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ghi chú" + "Comment" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ghi chú" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "注释" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "注释" } } } }, - "Compact": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thu gọn" + "Compact" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thu gọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "紧凑" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "紧凑" } } } }, - "Compress the file using Gzip": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nén tệp bằng Gzip" + "Compress the file using Gzip" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nén tệp bằng Gzip" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "使用 Gzip 压缩文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "使用 Gzip 压缩文件" } } } }, - "Config Host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Máy chủ cấu hình" + "Config Host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máy chủ cấu hình" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "配置主机" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置主机" } } } }, - "Configure an AI provider in Settings to start chatting.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cấu hình nhà cung cấp AI trong Cài đặt để bắt đầu trò chuyện." + "Configure an AI provider in Settings to start chatting." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cấu hình nhà cung cấp AI trong Cài đặt để bắt đầu trò chuyện." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在设置中配置 AI 提供商以开始对话。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在设置中配置 AI 提供商以开始对话。" } } } }, - "Connect": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối" + "Connect" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接" } } } }, - "Connected": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã kết nối" + "Connected" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已连接" } } } }, - "Connecting": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang kết nối" + "Connecting" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接中" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接中" } } } }, - "Connecting...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang kết nối..." + "Connecting..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang kết nối..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接中..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接中..." } } } }, - "Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối" + "Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接" } } } }, - "Connection Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối thất bại" + "Connection Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接失败" } } } }, - "Connection lost": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mất kết nối" + "Connection lost" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mất kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接丢失" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接丢失" } } } }, - "Connection name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên kết nối" + "Connection name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接名称" } } } }, - "Connection Not Found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy kết nối" + "Connection Not Found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到连接" } } } }, - "Connection Status": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trạng thái kết nối" + "Connection Status" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trạng thái kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接状态" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接状态" } } } }, - "Connection successful": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối thành công" + "Connection successful" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối thành công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接成功" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接成功" } } } }, - "Connection Switcher": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển đổi kết nối" + "Connection Switcher" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển đổi kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换连接" } } } }, - "Connection test failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểm tra kết nối thất bại" + "Connection test failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra kết nối thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接测试失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接测试失败" } } } }, - "Connection URL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "URL kết nối" + "Connection URL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "URL kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接 URL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接 URL" } } } }, - "Connection URL cannot be empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "URL kết nối không được để trống" + "Connection URL cannot be empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "URL kết nối không được để trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接 URL 不能为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接 URL 不能为空" } } } }, - "Connection URL must include a host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "URL kết nối phải bao gồm host" + "Connection URL must include a host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "URL kết nối phải bao gồm host" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接 URL 必须包含主机" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接 URL 必须包含主机" } } } }, - "Constraint name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên ràng buộc" + "Constraint name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên ràng buộc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "约束名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "约束名称" } } } }, - "contains": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "chứa" + "contains" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "chứa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含" } } } }, - "Context": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ngữ cảnh" + "Context" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngữ cảnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上下文" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上下文" } } } }, - "Continue": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tiếp tục" + "Continue" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tiếp tục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "继续" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "继续" } } } }, - "Conversation History": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lịch sử hội thoại" + "Conversation History" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lịch sử hội thoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "对话历史" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "对话历史" } } } }, - "Convert line break to space": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển xuống dòng thành dấu cách" + "Convert line break to space" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển xuống dòng thành dấu cách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将换行转换为空格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将换行转换为空格" } } } }, - "Convert NULL to empty": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển NULL thành rỗng" + "Convert NULL to empty" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển NULL thành rỗng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将 NULL 转换为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将 NULL 转换为空" } } } }, - "Convert NULL to EMPTY": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển NULL thành RỖNG" + "Convert NULL to EMPTY" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển NULL thành RỖNG" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将 NULL 转换为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将 NULL 转换为空" } } } }, - "Copied": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã sao chép" + "Copied" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã sao chép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已复制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已复制" } } } }, - "Copied!": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã sao chép!" + "Copied!" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã sao chép!" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已复制!" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已复制!" } } } }, - "Copy": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép" + "Copy" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制" } } } }, - "Copy All": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép tất cả" + "Copy All" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "全部复制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "全部复制" } } } }, - "Copy as URL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép dạng URL" + "Copy as URL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép dạng URL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制为 URL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制为 URL" } } } }, - "Copy Cell Value": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép giá trị ô" + "Copy Cell Value" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép giá trị ô" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制单元格值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制单元格值" } } } }, - "Copy Column Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép tên cột" + "Copy Column Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép tên cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制列名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制列名" } } } }, - "Copy Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép tên" + "Copy Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép tên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制名称" } } } }, - "Copy Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép truy vấn" + "Copy Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制查询" } } } }, - "Copy SQL": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép SQL" + "Copy SQL" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制 SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制 SQL" } } } }, - "Copy this statement to clipboard": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép câu lệnh này vào bộ nhớ tạm" + "Copy this statement to clipboard" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép câu lệnh này vào bộ nhớ tạm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将此语句复制到剪贴板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将此语句复制到剪贴板" } } } }, - "Copy Value": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép giá trị" + "Copy Value" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép giá trị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制值" } } } }, - "Copy with Headers": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sao chép kèm tiêu đề" + "Copy with Headers" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sao chép kèm tiêu đề" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制(含表头)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制(含表头)" } } } }, - "Count all rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đếm tất cả hàng" + "Count all rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đếm tất cả hàng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "统计全部行数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "统计全部行数" } } } }, - "Counting...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang đếm..." + "Counting..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang đếm..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "统计中..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "统计中..." } } } }, - "Create": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo" + "Create" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建" } } } }, - "Create a connection to get started": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo kết nối để bắt đầu" + "Create a connection to get started" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo kết nối để bắt đầu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建连接以开始使用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建连接以开始使用" } } } }, - "Create a connection to get started with\nyour databases.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo kết nối để bắt đầu sử dụng\ncơ sở dữ liệu của bạn." + "Create a connection to get started with\nyour databases." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo kết nối để bắt đầu sử dụng\ncơ sở dữ liệu của bạn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建连接以开始使用\n您的数据库。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建连接以开始使用\n您的数据库。" } } } }, - "Create connection...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo kết nối..." + "Create connection..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo kết nối..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建连接..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建连接..." } } } }, - "Create Database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo cơ sở dữ liệu" + "Create Database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建数据库" } } } }, - "Create new database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo cơ sở dữ liệu mới" + "Create new database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo cơ sở dữ liệu mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新数据库" } } } }, - "Create New Group": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo nhóm mới" + "Create New Group" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo nhóm mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新分组" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新分组" } } } }, - "Create New Group...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo nhóm mới..." + "Create New Group..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo nhóm mới..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新分组..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新分组..." } } } }, - "Create New Tag": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo thẻ mới" + "Create New Tag" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo thẻ mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新标签" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新标签" } } } }, - "Create New Tag...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo thẻ mới..." + "Create New Tag..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo thẻ mới..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新标签..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新标签..." } } } }, - "Create New View...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo view mới..." + "Create New View..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo view mới..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建新视图..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建新视图..." } } } }, - "Created": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã tạo" + "Created" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã tạo" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已创建" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已创建" } } } }, - "Creating...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang tạo..." + "Creating..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tạo..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建中..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建中..." } } } }, - "CRITICAL: Transaction rollback failed - database may be in inconsistent state: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "NGHIÊM TRỌNG: Hoàn tác giao dịch thất bại - cơ sở dữ liệu có thể ở trạng thái không nhất quán: %@" + "CRITICAL: Transaction rollback failed - database may be in inconsistent state: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "NGHIÊM TRỌNG: Hoàn tác giao dịch thất bại - cơ sở dữ liệu có thể ở trạng thái không nhất quán: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "严重:事务回滚失败 - 数据库可能处于不一致状态:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "严重:事务回滚失败 - 数据库可能处于不一致状态:%@" } } } }, - "CURDATE()": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CURDATE()" + "CURDATE()" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURDATE()" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CURDATE()" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURDATE()" } } } }, - "current": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "hiện tại" + "current" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "hiện tại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "当前" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前" } } } }, - "Current database: %@ (⌘K to switch)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu hiện tại: %@ (⌘K để chuyển)" + "Current database: %@ (⌘K to switch)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu hiện tại: %@ (⌘K để chuyển)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "当前数据库:%@(⌘K 切换)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前数据库:%@(⌘K 切换)" } } } }, - "Current database: %@ (read-only, ⌘K to switch)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu hiện tại: %@ (chỉ đọc, ⌘K để chuyển)" + "Current database: %@ (read-only, ⌘K to switch)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu hiện tại: %@ (chỉ đọc, ⌘K để chuyển)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "当前数据库:%@(只读,⌘K 切换)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前数据库:%@(只读,⌘K 切换)" } } } }, - "Current schema: %@ (⌘K to switch)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Schema hiện tại: %@ (⌘K để chuyển)" + "Current schema: %@ (⌘K to switch)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema hiện tại: %@ (⌘K để chuyển)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "当前 schema:%@(⌘K 切换)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前 schema:%@(⌘K 切换)" } } } }, - "Current schema: %@ (read-only, ⌘K to switch)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Schema hiện tại: %@ (chỉ đọc, ⌘K để chuyển)" + "Current schema: %@ (read-only, ⌘K to switch)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema hiện tại: %@ (chỉ đọc, ⌘K để chuyển)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "当前 schema:%@(只读,⌘K 切换)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前 schema:%@(只读,⌘K 切换)" } } } }, - "CURRENT_TIMESTAMP()": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CURRENT_TIMESTAMP()" + "CURRENT_TIMESTAMP()" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURRENT_TIMESTAMP()" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CURRENT_TIMESTAMP()" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURRENT_TIMESTAMP()" } } } }, - "Cursor position %lld exceeds SQL length (%lld)": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Cursor position %1$lld exceeds SQL length (%2$lld)" + "Cursor position %lld exceeds SQL length (%lld)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Cursor position %1$lld exceeds SQL length (%2$lld)" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Vị trí con trỏ %1$lld vượt quá độ dài SQL (%2$lld)" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vị trí con trỏ %1$lld vượt quá độ dài SQL (%2$lld)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "光标位置 %lld 超出 SQL 长度(%lld)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "光标位置 %lld 超出 SQL 长度(%lld)" } } } }, - "CURTIME()": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CURTIME()" + "CURTIME()" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURTIME()" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "CURTIME()" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CURTIME()" } } } }, - "Custom": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tùy chỉnh" + "Custom" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chỉnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自定义" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义" } } } }, - "Custom Path": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đường dẫn tùy chỉnh" + "Custom Path" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường dẫn tùy chỉnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自定义路径" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义路径" } } } }, - "Cut": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cắt" + "Cut" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cắt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "剪切" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "剪切" } } } }, - "Dark": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tối" + "Dark" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "深色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "深色" } } } }, - "Data": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dữ liệu" + "Data" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据" } } } }, - "Data grid": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưới dữ liệu" + "Data grid" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưới dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据网格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据网格" } } } }, - "Data Grid": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưới dữ liệu" + "Data Grid" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưới dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据网格" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据网格" } } } }, - "Data Size": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước dữ liệu" + "Data Size" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据大小" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据大小" } } } }, - "Data Type:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểu dữ liệu:" + "Data Type:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểu dữ liệu:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据类型:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据类型:" } } } }, - "Database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu" + "Database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库" } } } }, - "Database Driver": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trình điều khiển cơ sở dữ liệu" + "Database Driver" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trình điều khiển cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库驱动" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库驱动" } } } }, - "Database Drivers": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trình điều khiển cơ sở dữ liệu" + "Database Drivers" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trình điều khiển cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库驱动" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库驱动" } } } }, - "Database File": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tệp cơ sở dữ liệu" + "Database File" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tệp cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库文件" } } } }, - "Database file not found: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy tệp cơ sở dữ liệu: %@" + "Database file not found: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy tệp cơ sở dữ liệu: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到数据库文件: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到数据库文件: %@" } } } }, - "Database Index: %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chỉ mục cơ sở dữ liệu: %lld" + "Database Index: %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ mục cơ sở dữ liệu: %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库索引: %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库索引: %lld" } } } }, - "Database Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên cơ sở dữ liệu" + "Database Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库名称" } } } }, - "Database Switch Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển cơ sở dữ liệu thất bại" + "Database Switch Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển cơ sở dữ liệu thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换数据库失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换数据库失败" } } } }, - "Database Switcher": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển đổi cơ sở dữ liệu" + "Database Switcher" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển đổi cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库切换器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库切换器" } } } }, - "Database Type:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Loại cơ sở dữ liệu:" + "Database Type:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loại cơ sở dữ liệu:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库类型:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库类型:" } } } }, - "Database type: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Loại cơ sở dữ liệu: %@" + "Database type: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loại cơ sở dữ liệu: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库类型: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库类型: %@" } } } }, - "database_name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "database_name" + "database_name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "database_name" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "database_name" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "database_name" } } } }, - "Database: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu: %@" + "Database: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库: %@" } } } }, - "Database/Schema:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu/Schema:" + "Database/Schema:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu/Schema:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库/Schema:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库/Schema:" } } } }, - "Databases": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu" + "Databases" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据库" } } } }, - "Date format:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng ngày:" + "Date format:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng ngày:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "日期格式:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日期格式:" } } } }, - "Deactivate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy kích hoạt" + "Deactivate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy kích hoạt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停用" } } } }, - "Deactivate License?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy kích hoạt giấy phép?" + "Deactivate License?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy kích hoạt giấy phép?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停用许可证?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停用许可证?" } } } }, - "Deactivate...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy kích hoạt..." + "Deactivate..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy kích hoạt..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停用..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停用..." } } } }, - "Deactivated": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã hủy kích hoạt" + "Deactivated" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã hủy kích hoạt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已停用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已停用" } } } }, - "Deactivation Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy kích hoạt thất bại" + "Deactivation Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy kích hoạt thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停用失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停用失败" } } } }, - "Decimal": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thập phân" + "Decimal" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thập phân" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "十进制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "十进制" } } } }, - "Default": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mặc định" + "Default" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认" } } } }, - "DEFAULT": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "MẶC ĐỊNH" + "DEFAULT" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "MẶC ĐỊNH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认" } } } }, - "Default Column": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột mặc định" + "Default Column" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认列" } } } }, - "Default connection policy": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chính sách kết nối mặc định" + "Default connection policy" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chính sách kết nối mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认连接策略" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认连接策略" } } } }, - "Default Operator": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Toán tử mặc định" + "Default Operator" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toán tử mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认运算符" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认运算符" } } } }, - "Default page size:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước trang mặc định:" + "Default page size:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước trang mặc định:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认页面大小:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认页面大小:" } } } }, - "Default Port:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cổng mặc định:" + "Default Port:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cổng mặc định:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认端口:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认端口:" } } } }, - "Default value": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị mặc định" + "Default value" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认值" } } } }, - "Default Value": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị mặc định" + "Default Value" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认值" } } } }, - "Default:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mặc định:" + "Default:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mặc định:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "默认:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "默认:" } } } }, - "Delete": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa" + "Delete" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除" } } } }, - "Delete \"%@\"": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa \"%@\"" + "Delete \"%@\"" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa \"%@\"" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除「%@」" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除「%@」" } } } }, - "Delete (⌫)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa (⌫)" + "Delete (⌫)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa (⌫)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除 (⌫)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除 (⌫)" } } } }, - "Delete Check Constraint": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa ràng buộc kiểm tra" + "Delete Check Constraint" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa ràng buộc kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除检查约束" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除检查约束" } } } }, - "Delete Column": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa cột" + "Delete Column" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除列" } } } }, - "Delete Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa kết nối" + "Delete Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除连接" } } } }, - "Delete Foreign Key": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa khóa ngoại" + "Delete Foreign Key" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa khóa ngoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除外键" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除外键" } } } }, - "Delete Group": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa nhóm" + "Delete Group" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa nhóm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除分组" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除分组" } } } }, - "Delete Index": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa chỉ mục" + "Delete Index" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除索引" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除索引" } } } }, - "Delete Preset": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa mẫu đặt trước" + "Delete Preset" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa mẫu đặt trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除预设" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除预设" } } } }, - "Delimiter": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dấu phân cách" + "Delimiter" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dấu phân cách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分隔符" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分隔符" } } } }, - "Details": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chi tiết" + "Details" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chi tiết" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "详情" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "详情" } } } }, - "Disable foreign key checks": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tắt kiểm tra khóa ngoại" + "Disable foreign key checks" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tắt kiểm tra khóa ngoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "禁用外键检查" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "禁用外键检查" } } } }, - "Disabled": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã tắt" + "Disabled" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã tắt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已禁用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已禁用" } } } }, - "Discard": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy bỏ" + "Discard" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy bỏ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "丢弃" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "丢弃" } } } }, - "Discard Changes?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy bỏ thay đổi?" + "Discard Changes?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy bỏ thay đổi?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "丢弃更改?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "丢弃更改?" } } } }, - "Discard Unsaved Changes?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hủy bỏ thay đổi chưa lưu?" + "Discard Unsaved Changes?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy bỏ thay đổi chưa lưu?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "丢弃未保存的更改?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "丢弃未保存的更改?" } } } }, - "Disconnect": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ngắt kết nối" + "Disconnect" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngắt kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "断开连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "断开连接" } } } }, - "Disconnected": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã ngắt kết nối" + "Disconnected" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã ngắt kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已断开连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已断开连接" } } } }, - "Display": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị" + "Display" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示" } } } }, - "Do you want to save changes?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có muốn lưu thay đổi?" + "Do you want to save changes?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có muốn lưu thay đổi?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "是否保存更改?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "是否保存更改?" } } } }, - "Documentation": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tài liệu" + "Documentation" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tài liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文档" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文档" } } } }, - "Don't Allow": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không cho phép" + "Don't Allow" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không cho phép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不允许" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不允许" } } } }, - "Don't Save": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không lưu" + "Don't Save" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không lưu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不保存" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不保存" } } } }, - "Don't show this again": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không hiện lại" + "Don't show this again" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không hiện lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不再显示" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不再显示" } } } }, - "Drop": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa" + "Drop" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除" } } } }, - "Drop %lld tables": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa %lld bảng" + "Drop %lld tables" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa %lld bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除 %lld 个表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除 %lld 个表" } } } }, - "Drop table '%@'": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa bảng '%@'" + "Drop table '%@'" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa bảng '%@'" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除表 '%@'" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除表 '%@'" } } } }, - "Drop View": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa view" + "Drop View" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa view" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除视图" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除视图" } } } }, - "Duplicate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân bản" + "Duplicate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân bản" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制" } } } }, - "Duplicate Existing Table": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân bản bảng hiện có" + "Duplicate Existing Table" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân bản bảng hiện có" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制现有表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制现有表" } } } }, - "Duplicate filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân đôi bộ lọc" + "Duplicate filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân đôi bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制筛选条件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制筛选条件" } } } }, - "Duplicate Filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân bản bộ lọc" + "Duplicate Filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân bản bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制筛选条件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制筛选条件" } } } }, - "Duplicate Row": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân bản dòng" + "Duplicate Row" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân bản dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制行" } } } }, - "Duplicate Table Structure": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhân bản cấu trúc bảng" + "Duplicate Table Structure" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhân bản cấu trúc bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制表结构" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制表结构" } } } }, - "Each SQLite file is a separate database.\nTo open a different database, create a new connection.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mỗi tệp SQLite là một cơ sở dữ liệu riêng.\nĐể mở cơ sở dữ liệu khác, hãy tạo kết nối mới." + "Each SQLite file is a separate database.\nTo open a different database, create a new connection." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mỗi tệp SQLite là một cơ sở dữ liệu riêng.\nĐể mở cơ sở dữ liệu khác, hãy tạo kết nối mới." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每个 SQLite 文件是一个独立的数据库。\n要打开其他数据库,请创建新连接。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每个 SQLite 文件是一个独立的数据库。\n要打开其他数据库,请创建新连接。" } } } }, - "Edit": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa" + "Edit" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑" } } } }, - "Edit Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa kết nối" + "Edit Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑连接" } } } }, - "Edit Details (Double-click)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa chi tiết (Nhấp đúp)" + "Edit Details (Double-click)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa chi tiết (Nhấp đúp)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑详情(双击)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑详情(双击)" } } } }, - "Edit Provider": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa nhà cung cấp" + "Edit Provider" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa nhà cung cấp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑提供商" } } } }, - "Edit Row": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa dòng" + "Edit Row" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑行" } } } }, - "Edit View Definition": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa định nghĩa view" + "Edit View Definition" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa định nghĩa view" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑视图定义" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑视图定义" } } } }, - "Editing": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang sửa" + "Editing" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang sửa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑中" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑中" } } } }, - "Editor": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trình soạn thảo" + "Editor" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trình soạn thảo" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编辑器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑器" } } } }, - "Email:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Email:" + "Email:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Email:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "邮箱:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "邮箱:" } } } }, - "Empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trống" + "Empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "空" } } } }, - "Empty Redis command": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lệnh Redis trống" + "Empty Redis command" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lệnh Redis trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Redis 命令为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redis 命令为空" } } } }, - "Enable inline suggestions": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật gợi ý trực tiếp" + "Enable inline suggestions" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật gợi ý trực tiếp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启用行内建议" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用行内建议" } } } }, - "Enable SSH Tunnel": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật đường hầm SSH" + "Enable SSH Tunnel" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật đường hầm SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启用 SSH 隧道" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用 SSH 隧道" } } } }, - "Enabled": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã bật" + "Enabled" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã bật" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已启用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已启用" } } } }, - "Encoding:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mã hóa:" + "Encoding:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mã hóa:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "编码:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编码:" } } } }, - "Endpoint": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Endpoint" + "Endpoint" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Endpoint" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Endpoint" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Endpoint" } } } }, - "ends with": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "kết thúc bằng" + "ends with" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "kết thúc bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "以...结尾" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "以...结尾" } } } }, - "Engine": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Engine" + "Engine" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Engine" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Engine" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Engine" } } } }, - "Engine (e.g., InnoDB)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Engine (vd: InnoDB)" + "Engine (e.g., InnoDB)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Engine (vd: InnoDB)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Engine(如 InnoDB)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Engine(如 InnoDB)" } } } }, - "Enter a name for this filter preset": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập tên cho mẫu bộ lọc này" + "Enter a name for this filter preset" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập tên cho mẫu bộ lọc này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "输入此筛选预设的名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入此筛选预设的名称" } } } }, - "Enter a new name for the group.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập tên mới cho nhóm." + "Enter a new name for the group." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập tên mới cho nhóm." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "输入分组的新名称。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入分组的新名称。" } } } }, - "Enter database name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập tên cơ sở dữ liệu" + "Enter database name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập tên cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "输入数据库名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入数据库名称" } } } }, - "equals": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "bằng" + "equals" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "等于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "等于" } } } }, - "Error": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi" + "Error" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "错误" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "错误" } } } }, - "Error Applying Changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi áp dụng thay đổi" + "Error Applying Changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi áp dụng thay đổi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "应用更改时出错" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "应用更改时出错" } } } }, - "Error:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi:" + "Error:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "错误:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "错误:" } } } }, - "Error: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi: %@" + "Error: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "错误: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "错误: %@" } } } }, - "Error: Selected path is not a regular file": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi: Đường dẫn đã chọn không phải tệp thông thường" + "Error: Selected path is not a regular file" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi: Đường dẫn đã chọn không phải tệp thông thường" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "错误: 所选路径不是常规文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "错误: 所选路径不是常规文件" } } } }, - "EU Long (31/12/2024 23:59:59)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Châu Âu dài (31/12/2024 23:59:59)" + "EU Long (31/12/2024 23:59:59)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Châu Âu dài (31/12/2024 23:59:59)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "欧洲长格式 (31/12/2024 23:59:59)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "欧洲长格式 (31/12/2024 23:59:59)" } } } }, - "EU Short (31/12/2024)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Châu Âu ngắn (31/12/2024)" + "EU Short (31/12/2024)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Châu Âu ngắn (31/12/2024)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "欧洲短格式 (31/12/2024)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "欧洲短格式 (31/12/2024)" } } } }, - "Every table needs at least one column. Click + to get started": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mỗi bảng cần ít nhất một cột. Nhấn + để bắt đầu" + "Every table needs at least one column. Click + to get started" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mỗi bảng cần ít nhất một cột. Nhấn + để bắt đầu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每个表至少需要一列。点击 + 开始添加" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每个表至少需要一列。点击 + 开始添加" } } } }, - "Execute": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thực thi" + "Execute" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thực thi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "执行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "执行" } } } }, - "Execute All": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thực thi tất cả" + "Execute All" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thực thi tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "全部执行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "全部执行" } } } }, - "Execute all statements in a single transaction. If any statement fails, all changes are rolled back.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thực thi tất cả câu lệnh trong một giao dịch. Nếu bất kỳ câu lệnh nào thất bại, tất cả thay đổi sẽ được hoàn tác." + "Execute all statements in a single transaction. If any statement fails, all changes are rolled back." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thực thi tất cả câu lệnh trong một giao dịch. Nếu bất kỳ câu lệnh nào thất bại, tất cả thay đổi sẽ được hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在单个事务中执行所有语句。如果任一语句失败,所有更改将回滚。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在单个事务中执行所有语句。如果任一语句失败,所有更改将回滚。" } } } }, - "Executed %lld statements": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã thực thi %lld câu lệnh" + "Executed %lld statements" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã thực thi %lld câu lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已执行 %lld 条语句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已执行 %lld 条语句" } } } }, - "Executing": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang thực thi" + "Executing" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang thực thi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "执行中" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "执行中" } } } }, - "Executing...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang thực thi..." + "Executing..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang thực thi..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在执行..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在执行..." } } } }, - "Expired": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hết hạn" + "Expired" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hết hạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已过期" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已过期" } } } }, - "Explain": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải thích" + "Explain" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải thích" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "解释" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解释" } } } }, - "Explain Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải thích truy vấn" + "Explain Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải thích truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "解释查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解释查询" } } } }, - "Explain this SQL query:\n\n```sql\n%@\n```": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải thích chi tiết câu truy vấn SQL sau:\n\n```sql\n%@\n```" + "Explain this SQL query:\n\n```sql\n%@\n```" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải thích chi tiết câu truy vấn SQL sau:\n\n```sql\n%@\n```" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "请解释以下 SQL 查询:\n\n```sql\n%@\n```" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请解释以下 SQL 查询:\n\n```sql\n%@\n```" } } } }, - "Explain with AI": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải thích với AI" + "Explain with AI" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải thích với AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 解释" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 解释" } } } }, - "export": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "xuất" + "export" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出" } } } }, - "Export": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất" + "Export" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出" } } } }, - "Export completed successfully": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất dữ liệu thành công" + "Export completed successfully" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất dữ liệu thành công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出成功" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出成功" } } } }, - "Export data": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất dữ liệu" + "Export data" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出数据" } } } }, - "Export Data": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất dữ liệu" + "Export Data" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出数据" } } } }, - "Export Data (⌘⇧E)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất dữ liệu (⌘⇧E)" + "Export Data (⌘⇧E)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất dữ liệu (⌘⇧E)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出数据 (⌘⇧E)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出数据 (⌘⇧E)" } } } }, - "Export Error": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi xuất dữ liệu" + "Export Error" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi xuất dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出错误" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出错误" } } } }, - "Export failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất thất bại: %@" + "Export failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出失败: %@" } } } }, - "Export Format": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng xuất" + "Export Format" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出格式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出格式" } } } }, - "Export format '%@' not found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy định dạng xuất '%@'" + "Export format '%@' not found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy định dạng xuất '%@'" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到导出格式 '%@'" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到导出格式 '%@'" } } } }, - "Export Formats": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng xuất" + "Export Formats" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出格式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出格式" } } } }, - "Export multiple tables": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất nhiều bảng" + "Export multiple tables" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất nhiều bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出多个表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出多个表" } } } }, - "Export table": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất bảng" + "Export table" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出表" } } } }, - "Export...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất..." + "Export..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导出..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出..." } } } }, - "Exports data as mongosh-compatible scripts. Drop, Indexes, and Data options are configured per collection in the collection list.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuất dữ liệu dưới dạng script tương thích mongosh. Tùy chọn Drop, Indexes và Data được cấu hình cho từng collection trong danh sách collection." + "Exports data as mongosh-compatible scripts. Drop, Indexes, and Data options are configured per collection in the collection list." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất dữ liệu dưới dạng script tương thích mongosh. Tùy chọn Drop, Indexes và Data được cấu hình cho từng collection trong danh sách collection." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将数据导出为 mongosh 兼容的脚本。Drop、Indexes 和 Data 选项可在集合列表中按集合配置。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将数据导出为 mongosh 兼容的脚本。Drop、Indexes 和 Data 选项可在集合列表中按集合配置。" } } } }, - "Expression (e.g., age >= 0)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Biểu thức (vd: age >= 0)" + "Expression (e.g., age >= 0)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Biểu thức (vd: age >= 0)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表达式(如 age >= 0)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表达式(如 age >= 0)" } } } }, - "Failed at line %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thất bại tại dòng %lld" + "Failed at line %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thất bại tại dòng %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在第 %lld 行失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在第 %lld 行失败" } } } }, - "Failed to compress data": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể nén dữ liệu" + "Failed to compress data" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể nén dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "压缩数据失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "压缩数据失败" } } } }, - "Failed to decompress .gz file": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải nén tệp .gz thất bại" + "Failed to decompress .gz file" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải nén tệp .gz thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "解压 .gz 文件失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解压 .gz 文件失败" } } } }, - "Failed to decompress file: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giải nén tệp thất bại: %@" + "Failed to decompress file: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giải nén tệp thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "解压文件失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解压文件失败: %@" } } } }, - "Failed to delete template: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa mẫu thất bại: %@" + "Failed to delete template: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa mẫu thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除模板失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除模板失败: %@" } } } }, - "Failed to encode content as UTF-8": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể mã hóa nội dung thành UTF-8" + "Failed to encode content as UTF-8" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể mã hóa nội dung thành UTF-8" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法将内容编码为 UTF-8" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法将内容编码为 UTF-8" } } } }, - "Failed to fetch table structure: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lấy cấu trúc bảng thất bại: %@" + "Failed to fetch table structure: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lấy cấu trúc bảng thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "获取表结构失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "获取表结构失败: %@" } } } }, - "Failed to import DDL: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập DDL thất bại: %@" + "Failed to import DDL: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập DDL thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入 DDL 失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入 DDL 失败: %@" } } } }, - "Failed to load databases": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải danh sách cơ sở dữ liệu thất bại" + "Failed to load databases" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải danh sách cơ sở dữ liệu thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载数据库列表失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载数据库列表失败" } } } }, - "Failed to load databases: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải danh sách cơ sở dữ liệu thất bại: %@" + "Failed to load databases: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải danh sách cơ sở dữ liệu thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载数据库列表失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载数据库列表失败: %@" } } } }, - "Failed to load plugin registry": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể tải danh sách plugin" + "Failed to load plugin registry" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải danh sách plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法加载插件注册表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法加载插件注册表" } } } }, - "Failed to load preview using encoding: %@. Try selecting a different text encoding from the encoding picker and reload the preview.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải bản xem trước thất bại với mã hóa: %@. Hãy thử chọn mã hóa văn bản khác và tải lại bản xem trước." + "Failed to load preview using encoding: %@. Try selecting a different text encoding from the encoding picker and reload the preview." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải bản xem trước thất bại với mã hóa: %@. Hãy thử chọn mã hóa văn bản khác và tải lại bản xem trước." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "使用编码 %@ 加载预览失败。请尝试从编码选择器中选择其他文本编码并重新加载预览。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "使用编码 %@ 加载预览失败。请尝试从编码选择器中选择其他文本编码并重新加载预览。" } } } }, - "Failed to load preview: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải bản xem trước thất bại: %@" + "Failed to load preview using encoding: %@. Try selecting a different text encoding." : { + + }, + "Failed to load preview: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải bản xem trước thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载预览失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载预览失败: %@" } } } }, - "Failed to load schemas": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể tải danh sách schema" + "Failed to load schemas" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải danh sách schema" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法加载 Schema 列表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法加载 Schema 列表" } } } }, - "Failed to load tables: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải danh sách bảng thất bại: %@" + "Failed to load tables: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải danh sách bảng thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载表列表失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载表列表失败: %@" } } } }, - "Failed to load template: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải mẫu thất bại: %@" + "Failed to load template: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải mẫu thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载模板失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载模板失败: %@" } } } }, - "Failed to parse any columns from table '%@'. Check console for debug info.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể phân tích cột từ bảng '%@'. Kiểm tra console để xem thông tin gỡ lỗi." + "Failed to parse any columns from table '%@'. Check console for debug info." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể phân tích cột từ bảng '%@'. Kiểm tra console để xem thông tin gỡ lỗi." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法从表 '%@' 解析任何列。请检查控制台获取调试信息。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法从表 '%@' 解析任何列。请检查控制台获取调试信息。" } } } }, - "Failed to parse plugin registry": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể phân tích danh sách plugin" + "Failed to parse plugin registry" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể phân tích danh sách plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无法解析插件注册表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法解析插件注册表" } } } }, - "Failed to parse statement at line %lld: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Failed to parse statement at line %1$lld: %2$@" + "Failed to parse statement at line %lld: %@" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Failed to parse statement at line %1$lld: %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phân tích câu lệnh thất bại tại dòng %1$lld: %2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phân tích câu lệnh thất bại tại dòng %1$lld: %2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在第 %lld 行解析语句失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在第 %lld 行解析语句失败: %@" } } } }, - "Failed to read file: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đọc tệp thất bại: %@" + "Failed to read file: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đọc tệp thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "读取文件失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "读取文件失败: %@" } } } }, - "Failed to Save Changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu thay đổi thất bại" + "Failed to Save Changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu thay đổi thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存更改失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存更改失败" } } } }, - "Failed to save template: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu mẫu thất bại: %@" + "Failed to save template: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu mẫu thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存模板失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存模板失败: %@" } } } }, - "Failed to write file: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không thể ghi tệp: %@" + "Failed to write file: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể ghi tệp: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "写入文件失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "写入文件失败: %@" } } } }, - "false": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "false" + "false" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "false" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "false" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "false" } } } }, - "FALSE": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "FALSE" + "FALSE" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "FALSE" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "FALSE" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "FALSE" } } } }, - "Feature Routing": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định tuyến tính năng" + "Feature Routing" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định tuyến tính năng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "功能路由" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "功能路由" } } } }, - "FIELDS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TRƯỜNG" + "FIELDS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TRƯỜNG" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字段" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字段" } } } }, - "FIELDS (%lld)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CÁC TRƯỜNG (%lld)" + "FIELDS (%lld)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CÁC TRƯỜNG (%lld)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字段 (%lld)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字段 (%lld)" } } } }, - "File": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tệp" + "File" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文件" } } } }, - "File name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên tệp" + "File name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文件名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文件名" } } } }, - "File not found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy tệp" + "File not found" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到文件" } } } }, - "File Path": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đường dẫn tệp" + "File Path" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường dẫn tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文件路径" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文件路径" } } } }, - "Filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bộ lọc" + "Filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选" } } } }, - "Filter column: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột lọc: %@" + "Filter column: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột lọc: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选列: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选列: %@" } } } }, - "Filter logic mode": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chế độ logic bộ lọc" + "Filter logic mode" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chế độ logic bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选逻辑模式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选逻辑模式" } } } }, - "Filter operator: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Toán tử lọc: %@" + "Filter operator: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toán tử lọc: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选运算符: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选运算符: %@" } } } }, - "Filter presets": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt sẵn bộ lọc" + "Filter presets" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt sẵn bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选预设" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选预设" } } } }, - "Filter settings": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt bộ lọc" + "Filter settings" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选设置" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选设置" } } } }, - "Filter Settings": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt bộ lọc" + "Filter Settings" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选设置" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选设置" } } } }, - "Filter with column": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lọc theo cột" + "Filter with column" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lọc theo cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "按列筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "按列筛选" } } } }, - "Filters": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bộ lọc" + "Filters" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "筛选条件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "筛选条件" } } } }, - "Fix Error": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sửa lỗi" + "Fix Error" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa lỗi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "修复错误" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "修复错误" } } } }, - "Font": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phông chữ" + "Font" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phông chữ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字体" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字体" } } } }, - "Font:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phông chữ:" + "Font:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phông chữ:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "字体:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "字体:" } } } }, - "Forever": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mãi mãi" + "Forever" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mãi mãi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "永久" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "永久" } } } }, - "Format Query (⌥⌘F)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng truy vấn (⌥⌘F)" + "Format Query (⌥⌘F)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng truy vấn (⌥⌘F)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "格式化查询 (⌥⌘F)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "格式化查询 (⌥⌘F)" } } } }, - "Formatter error: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi định dạng: %@" + "Format:" : { + + }, + "Formatter error: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi định dạng: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "格式化错误: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "格式化错误: %@" } } } }, - "Formatting not supported for %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không hỗ trợ định dạng cho %@" + "Formatting not supported for %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không hỗ trợ định dạng cho %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持 %@ 的格式化" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持 %@ 的格式化" } } } }, - "General": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tổng quát" + "General" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng quát" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "通用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通用" } } } }, - "Generated WHERE Clause": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mệnh đề WHERE đã tạo" + "Generated WHERE Clause" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mệnh đề WHERE đã tạo" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "生成的 WHERE 子句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "生成的 WHERE 子句" } } } }, - "Generation failed.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo phản hồi thất bại." + "Generation failed." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo phản hồi thất bại." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "生成失败。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "生成失败。" } } } }, - "Get help writing queries, explaining schemas, or fixing errors.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhận trợ giúp viết truy vấn, giải thích schema hoặc sửa lỗi." + "Get help writing queries, explaining schemas, or fixing errors." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhận trợ giúp viết truy vấn, giải thích schema hoặc sửa lỗi." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "获取编写查询、解释 Schema 或修复错误方面的帮助。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "获取编写查询、解释 Schema 或修复错误方面的帮助。" } } } }, - "Get Started": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bắt đầu" + "Get Started" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bắt đầu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "开始使用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "开始使用" } } } }, - "Go": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đi" + "Go" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "前往" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "前往" } } } }, - "Go to Settings…": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đi đến Cài đặt…" + "Go to Settings…" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đi đến Cài đặt…" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "前往设置…" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "前往设置…" } } } }, - "Graphite": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Than chì" + "Graphite" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Than chì" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "石墨" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "石墨" } } } }, - "Gray": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xám" + "Gray" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xám" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "灰色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "灰色" } } } }, - "greater or equal": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "lớn hơn hoặc bằng" + "greater or equal" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "lớn hơn hoặc bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "大于或等于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大于或等于" } } } }, - "greater than": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "lớn hơn" + "greater than" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "lớn hơn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "大于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大于" } } } }, - "Green": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xanh lá" + "Green" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xanh lá" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "绿色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "绿色" } } } }, - "Group": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhóm" + "Group" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhóm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分组" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分组" } } } }, - "Group name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên nhóm" + "Group name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên nhóm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分组名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分组名称" } } } }, - "Help improve TablePro by sharing anonymous usage statistics (no personal data or queries).": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giúp cải thiện TablePro bằng cách chia sẻ thống kê sử dụng ẩn danh (không có dữ liệu cá nhân hay truy vấn nào)." + "gunzip not found" : { + + }, + "Help improve TablePro by sharing anonymous usage statistics (no personal data or queries)." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giúp cải thiện TablePro bằng cách chia sẻ thống kê sử dụng ẩn danh (không có dữ liệu cá nhân hay truy vấn nào)." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "通过分享匿名使用统计数据帮助改进 TablePro(不包含个人数据或查询内容)。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通过分享匿名使用统计数据帮助改进 TablePro(不包含个人数据或查询内容)。" } } } }, - "Higher values create fewer INSERT statements, resulting in smaller files and faster imports": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị cao hơn tạo ít câu lệnh INSERT hơn, giúp tệp nhỏ hơn và nhập nhanh hơn" + "Higher values create fewer INSERT statements, resulting in smaller files and faster imports" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị cao hơn tạo ít câu lệnh INSERT hơn, giúp tệp nhỏ hơn và nhập nhanh hơn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "值越大,生成的 INSERT 语句越少,文件更小,导入更快" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "值越大,生成的 INSERT 语句越少,文件更小,导入更快" } } } }, - "Highlight current line": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đánh dấu dòng hiện tại" + "Highlight current line" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đánh dấu dòng hiện tại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "高亮当前行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "高亮当前行" } } } }, - "History": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lịch sử" + "History" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lịch sử" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "历史记录" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "历史记录" } } } }, - "history entries": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "mục lịch sử" + "history entries" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mục lịch sử" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "条历史记录" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "条历史记录" } } } }, - "history entry": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "mục lịch sử" + "history entry" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mục lịch sử" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "条历史记录" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "条历史记录" } } } }, - "Homepage": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trang chủ" + "Homepage" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trang chủ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "主页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "主页" } } } }, - "Host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Máy chủ" + "Host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máy chủ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "主机" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "主机" } } } }, - "Ignore foreign key checks": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bỏ qua kiểm tra khóa ngoại" + "Ignore foreign key checks" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bỏ qua kiểm tra khóa ngoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "忽略外键检查" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "忽略外键检查" } } } }, - "Import": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập" + "Import" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入" } } } }, - "Import cancelled by user": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Người dùng đã hủy nhập" + "Import cancelled by user" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Người dùng đã hủy nhập" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "用户已取消导入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "用户已取消导入" } } } }, - "Import data": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập dữ liệu" + "Import data" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入数据" } } } }, - "Import Data": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập dữ liệu" + "Import Data" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入数据" } } } }, - "Import Data (⌘⇧I)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập dữ liệu (⌘⇧I)" + "Import Data (⌘⇧I)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập dữ liệu (⌘⇧I)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入数据 (⌘⇧I)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入数据 (⌘⇧I)" } } } }, - "Import Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập thất bại" + "Import Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入失败" } } } }, - "Import failed at line %lld: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Import failed at line %1$lld: %2$@" + "Import failed at line %lld: %@" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Import failed at line %1$lld: %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập thất bại tại dòng %1$lld: %2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập thất bại tại dòng %1$lld: %2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在第 %lld 行导入失败: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在第 %lld 行导入失败: %@" } } } }, - "Import Format": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng nhập" + "Import Format" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng nhập" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入格式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入格式" } } } }, - "Import Formats": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng nhập" + "Import Formats" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng nhập" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入格式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入格式" } } } }, - "Import from DDL": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập từ DDL" + "Import from DDL" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập từ DDL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从 DDL 导入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从 DDL 导入" } } } }, - "Import from URL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập từ URL" + "Import from URL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập từ URL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从 URL 导入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从 URL 导入" } } } }, - "Import Not Supported": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không hỗ trợ nhập" + "Import Not Supported" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không hỗ trợ nhập" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持导入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持导入" } } } }, - "Import SQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập SQL" + "Import SQL" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入 SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入 SQL" } } } }, - "Import Successful": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập thành công" + "Import Successful" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập thành công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入成功" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入成功" } } } }, - "Import...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập..." + "Import..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入..." } } } }, - "in list": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "trong danh sách" + "Importing..." : { + + }, + "in list" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "trong danh sách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在列表中" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在列表中" } } } }, - "Include column headers": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bao gồm tiêu đề cột" + "Include column headers" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm tiêu đề cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含列标题" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含列标题" } } } }, - "Include current query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bao gồm truy vấn hiện tại" + "Include current query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm truy vấn hiện tại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含当前查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含当前查询" } } } }, - "Include database schema": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bao gồm schema cơ sở dữ liệu" + "Include database schema" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm schema cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含数据库 Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含数据库 Schema" } } } }, - "Include NULL values": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bao gồm giá trị NULL" + "Include NULL values" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm giá trị NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含 NULL 值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含 NULL 值" } } } }, - "Include query results": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bao gồm kết quả truy vấn" + "Include query results" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm kết quả truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包含查询结果" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包含查询结果" } } } }, - "INDEX": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CHỈ MỤC" + "INDEX" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CHỈ MỤC" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "索引" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "索引" } } } }, - "Index name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên chỉ mục" + "Index name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "索引名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "索引名称" } } } }, - "Index Size": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước chỉ mục" + "Index Size" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "索引大小" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "索引大小" } } } }, - "Indexes": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chỉ mục" + "Indexes" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "索引" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "索引" } } } }, - "Inline Suggestions": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gợi ý nội tuyến" + "Inline Suggestions" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gợi ý nội tuyến" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行内建议" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行内建议" } } } }, - "Insert": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chèn" + "Insert" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chèn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插入" } } } }, - "Inspector": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thanh kiểm tra" + "Inspector" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thanh kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "检查器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "检查器" } } } }, - "Install": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt" + "Install" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "安装" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "安装" } } } }, - "Install from File...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt từ tập tin..." + "Install from File..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt từ tập tin..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从文件安装..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从文件安装..." } } } }, - "Install Plugin": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt Plugin" + "Install Plugin" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt Plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "安装插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "安装插件" } } } }, - "Installation Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt thất bại" + "Installation Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "安装失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "安装失败" } } } }, - "Installed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã cài đặt" + "Installed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已安装" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已安装" } } } }, - "Installed Plugins": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin đã cài đặt" + "Installed Plugins" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin đã cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已安装的插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已安装的插件" } } } }, - "Invalid argument: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đối số không hợp lệ: %@" + "Invalid argument: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đối số không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的参数: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的参数: %@" } } } }, - "Invalid connection URL format": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng URL kết nối không hợp lệ" + "Invalid connection URL format" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng URL kết nối không hợp lệ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接 URL 格式无效" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接 URL 格式无效" } } } }, - "Invalid data format: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng dữ liệu không hợp lệ: %@" + "Invalid data format: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng dữ liệu không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "数据格式无效: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "数据格式无效: %@" } } } }, - "Invalid endpoint: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Endpoint không hợp lệ: %@" + "Invalid endpoint: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Endpoint không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的 Endpoint: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的 Endpoint: %@" } } } }, - "Invalid file encoding. Try a different encoding option.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mã hóa tệp không hợp lệ. Hãy thử tùy chọn mã hóa khác." + "Invalid file encoding. Try a different encoding option." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mã hóa tệp không hợp lệ. Hãy thử tùy chọn mã hóa khác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文件编码无效。请尝试其他编码选项。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文件编码无效。请尝试其他编码选项。" } } } }, - "Invalid JSON": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "JSON không hợp lệ" + "Invalid JSON" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "JSON không hợp lệ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的 JSON" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的 JSON" } } } }, - "Invalid JSON: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "JSON không hợp lệ: %@" + "Invalid JSON: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "JSON không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的 JSON: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的 JSON: %@" } } } }, - "Invalid MongoDB syntax: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cú pháp MongoDB không hợp lệ: %@" + "Invalid MongoDB syntax: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cú pháp MongoDB không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的 MongoDB 语法: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的 MongoDB 语法: %@" } } } }, - "Invalid plugin bundle: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin bundle không hợp lệ: %@" + "Invalid plugin bundle: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin bundle không hợp lệ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无效的插件包: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的插件包: %@" } } } }, - "Invalid username or password": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên đăng nhập hoặc mật khẩu không hợp lệ" + "Invalid username or password" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên đăng nhập hoặc mật khẩu không hợp lệ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "用户名或密码无效" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "用户名或密码无效" } } } }, - "is empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "trống" + "is empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "为空" } } } }, - "is not empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "không trống" + "is not empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "không trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不为空" } } } }, - "is not NULL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "không phải NULL" + "is not NULL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "không phải NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不为 NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不为 NULL" } } } }, - "is NULL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "là NULL" + "is NULL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "là NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "为 NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "为 NULL" } } } }, - "ISO 8601 (2024-12-31 23:59:59)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "ISO 8601 (2024-12-31 23:59:59)" + "ISO 8601 (2024-12-31 23:59:59)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "ISO 8601 (2024-12-31 23:59:59)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "ISO 8601 (2024-12-31 23:59:59)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "ISO 8601 (2024-12-31 23:59:59)" } } } }, - "ISO Date (2024-12-31)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "ISO ngày (2024-12-31)" + "ISO Date (2024-12-31)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "ISO ngày (2024-12-31)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "ISO 日期 (2024-12-31)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "ISO 日期 (2024-12-31)" } } } }, - "Items": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mục" + "Items" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "项目" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "项目" } } } }, - "Jump Hosts": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Jump Host" + "Jump Hosts" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump Host" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Jump Host" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump Host" } } } }, - "Jump hosts are connected in order before reaching the SSH server above. Only key and agent auth are supported for jumps.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Jump host được kết nối theo thứ tự trước khi đến SSH server phía trên. Chỉ hỗ trợ xác thực bằng khoá và agent cho các jump." + "Jump hosts are connected in order before reaching the SSH server above. Only key and agent auth are supported for jumps." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump host được kết nối theo thứ tự trước khi đến SSH server phía trên. Chỉ hỗ trợ xác thực bằng khoá và agent cho các jump." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Jump Host 按顺序连接后再连接到上方的 SSH 服务器。跳转仅支持密钥和 Agent 认证。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump Host 按顺序连接后再连接到上方的 SSH 服务器。跳转仅支持密钥和 Agent 认证。" } } } }, - "Keep entries for:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giữ mục trong:" + "Keep entries for:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giữ mục trong:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保留记录:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保留记录:" } } } }, - "Keep leading zeros in ZIP codes, phone numbers, and IDs by outputting all values as strings": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giữ số 0 đầu trong mã bưu chính, số điện thoại và ID bằng cách xuất tất cả giá trị dưới dạng chuỗi" + "Keep leading zeros in ZIP codes, phone numbers, and IDs by outputting all values as strings" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giữ số 0 đầu trong mã bưu chính, số điện thoại và ID bằng cách xuất tất cả giá trị dưới dạng chuỗi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "通过将所有值输出为字符串来保留邮编、电话号码和 ID 中的前导零" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通过将所有值输出为字符串来保留邮编、电话号码和 ID 中的前导零" } } } }, - "Key File": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tệp khóa" + "Key File" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tệp khóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "密钥文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "密钥文件" } } } }, - "Keyboard": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bàn phím" + "Keyboard" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bàn phím" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "键盘" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "键盘" } } } }, - "Keys are provided by the SSH agent (e.g. 1Password, ssh-agent).": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khóa được cung cấp bởi SSH agent (ví dụ: 1Password, ssh-agent)." + "Keys are provided by the SSH agent (e.g. 1Password, ssh-agent)." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khóa được cung cấp bởi SSH agent (ví dụ: 1Password, ssh-agent)." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "密钥由 SSH Agent 提供(如 1Password、ssh-agent)。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "密钥由 SSH Agent 提供(如 1Password、ssh-agent)。" } } } }, - "Language:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ngôn ngữ:" + "Language:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngôn ngữ:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "语言:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "语言:" } } } }, - "Last query execution summary": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tổng kết thực thi truy vấn gần nhất" + "Last query execution summary" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng kết thực thi truy vấn gần nhất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上次查询执行摘要" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上次查询执行摘要" } } } }, - "Last query execution time": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thời gian thực thi truy vấn gần nhất" + "Last query execution time" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thời gian thực thi truy vấn gần nhất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上次查询执行时间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上次查询执行时间" } } } }, - "Last query took %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn trước mất %@" + "Last query took %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn trước mất %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上次查询耗时 %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上次查询耗时 %@" } } } }, - "Last query: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn gần nhất: %@" + "Last query: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn gần nhất: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上次查询: %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上次查询: %@" } } } }, - "Latency: %lldms": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ trễ: %lldms" + "Latency: %lldms" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ trễ: %lldms" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "延迟: %lldms" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "延迟: %lldms" } } } }, - "Length": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ dài" + "Length" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ dài" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "长度" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "长度" } } } }, - "Length:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ dài:" + "Length:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ dài:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "长度:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "长度:" } } } }, - "less or equal": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "nhỏ hơn hoặc bằng" + "less or equal" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "nhỏ hơn hoặc bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "小于或等于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "小于或等于" } } } }, - "less than": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "nhỏ hơn" + "less than" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "nhỏ hơn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "小于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "小于" } } } }, - "License": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giấy phép" + "License" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giấy phép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "许可证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "许可证" } } } }, - "License Key:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mã giấy phép:" + "License Key:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mã giấy phép:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "许可证密钥:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "许可证密钥:" } } } }, - "Light": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sáng" + "Light" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sáng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "浅色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "浅色" } } } }, - "Limit": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giới hạn" + "Limit" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giới hạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "限制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "限制" } } } }, - "Line break": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xuống dòng" + "Line break" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuống dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "换行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "换行" } } } }, - "Load": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải" + "Load" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载" } } } }, - "Load in Editor": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải vào trình soạn thảo" + "Load in Editor" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải vào trình soạn thảo" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在编辑器中加载" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在编辑器中加载" } } } }, - "Load Table Template": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải mẫu bảng" + "Load Table Template" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải mẫu bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载表模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载表模板" } } } }, - "Load Template": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải mẫu" + "Load Template" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải mẫu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "加载模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "加载模板" } } } }, - "Loading databases...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang tải cơ sở dữ liệu..." + "Loading databases..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tải cơ sở dữ liệu..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在加载数据库..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在加载数据库..." } } } }, - "Loading plugins...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang tải plugin..." + "Loading plugins..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tải plugin..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在加载插件..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在加载插件..." } } } }, - "Loading schemas...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang tải schema..." + "Loading schemas..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tải schema..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在加载 Schema..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在加载 Schema..." } } } }, - "Loading tables...": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang tải danh sách bảng..." + "Loading tables..." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang tải danh sách bảng..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在加载表..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在加载表..." } } } }, - "localhost": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "localhost" + "localhost" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "localhost" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "localhost" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "localhost" } } } }, - "Maintenance": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảo trì" + "Maintenance" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảo trì" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "维护" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "维护" } } } }, - "Majority": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Majority" + "Majority" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Majority" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Majority" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Majority" } } } }, - "Manage Connections...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Quản lý kết nối..." + "Manage Connections..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quản lý kết nối..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "管理连接..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "管理连接..." } } } }, - "Manage Tags": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Quản lý thẻ" + "Manage Tags" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quản lý thẻ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "管理标签" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "管理标签" } } } }, - "Manual": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thủ công" + "Manual" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thủ công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "手动" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "手动" } } } }, - "Match ALL filters (AND) or ANY filter (OR)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khớp TẤT CẢ bộ lọc (AND) hoặc BẤT KỲ bộ lọc (OR)" + "Match ALL filters (AND) or ANY filter (OR)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khớp TẤT CẢ bộ lọc (AND) hoặc BẤT KỲ bộ lọc (OR)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "匹配所有筛选条件 (AND) 或任意筛选条件 (OR)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "匹配所有筛选条件 (AND) 或任意筛选条件 (OR)" } } } }, - "matches regex": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "khớp regex" + "matches regex" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "khớp regex" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "匹配正则" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "匹配正则" } } } }, - "Max %lld characters": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tối đa %lld ký tự" + "Max %lld characters" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tối đa %lld ký tự" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最多 %lld 个字符" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最多 %lld 个字符" } } } }, - "Max schema tables: %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số bảng tối đa: %lld" + "Max schema tables: %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số bảng tối đa: %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Schema 最大表数:%lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema 最大表数:%lld" } } } }, - "Maximum days cannot be negative": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số ngày tối đa không được là số âm" + "Maximum days cannot be negative" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số ngày tối đa không được là số âm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最大天数不能为负数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最大天数不能为负数" } } } }, - "Maximum entries cannot be negative": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số mục tối đa không được là số âm" + "Maximum entries cannot be negative" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số mục tối đa không được là số âm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最大条目数不能为负数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最大条目数不能为负数" } } } }, - "Maximum entries:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số mục tối đa:" + "Maximum entries:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số mục tối đa:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最大条目数:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最大条目数:" } } } }, - "Maximum time to wait for a query to complete. Set to 0 for no limit. Applied to new connections.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thời gian chờ tối đa để truy vấn hoàn thành. Đặt 0 để không giới hạn. Áp dụng cho kết nối mới." + "Maximum time to wait for a query to complete. Set to 0 for no limit. Applied to new connections." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thời gian chờ tối đa để truy vấn hoàn thành. Đặt 0 để không giới hạn. Áp dụng cho kết nối mới." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "等待查询完成的最长时间。设为 0 表示不限制。应用于新连接。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "等待查询完成的最长时间。设为 0 表示不限制。应用于新连接。" } } } }, - "METADATA": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SIÊU DỮ LIỆU" + "METADATA" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SIÊU DỮ LIỆU" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "元数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "元数据" } } } }, - "Method": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phương thức" + "Method" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phương thức" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "方法" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "方法" } } } }, - "Missing argument: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thiếu đối số: %@" + "Missing argument: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thiếu đối số: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "缺少参数:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "缺少参数:%@" } } } }, - "Model": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Model" + "Model" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Model" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Model" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Model" } } } }, - "Model not found: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy model: %@" + "Model not found: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy model: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到模型:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到模型:%@" } } } }, - "Modified": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã sửa đổi" + "Modified" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã sửa đổi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已修改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已修改" } } } }, - "MongoDB": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "MongoDB" + "MongoDB" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "MongoDB" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "MongoDB" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "MongoDB" } } } }, - "Move Down": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Di chuyển xuống" + "Move Down" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Di chuyển xuống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "下移" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "下移" } } } }, - "Move Down (⌘↓)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Di chuyển xuống (⌘↓)" + "Move Down (⌘↓)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Di chuyển xuống (⌘↓)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "下移 (⌘↓)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "下移 (⌘↓)" } } } }, - "Move Up": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Di chuyển lên" + "Move Up" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Di chuyển lên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上移" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上移" } } } }, - "Move Up (⌘↑)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Di chuyển lên (⌘↑)" + "Move Up (⌘↑)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Di chuyển lên (⌘↑)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上移 (⌘↑)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上移 (⌘↑)" } } } }, - "MQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "MQL" + "MQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "MQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQL" } } } }, - "MQL Preview": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước MQL" + "MQL Preview" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước MQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "MQL 预览" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "MQL 预览" } } } }, - "Multiple values": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhiều giá trị" + "Multiple values" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhiều giá trị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "多个值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "多个值" } } } }, - "Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên" + "Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "名称" } } } }, - "Navigate to referenced row": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đi đến dòng được tham chiếu" + "Navigate to referenced row" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đi đến dòng được tham chiếu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "跳转到引用行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "跳转到引用行" } } } }, - "Nearest": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nearest" + "Nearest" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nearest" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Nearest" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nearest" } } } }, - "Network error: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi mạng: %@" + "Network error: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi mạng: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "网络错误:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "网络错误:%@" } } } }, - "Never": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không bao giờ" + "Never" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không bao giờ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从不" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从不" } } } }, - "New Chat": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cuộc trò chuyện mới" + "New Chat" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuộc trò chuyện mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建对话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建对话" } } } }, - "New Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối mới" + "New Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建连接" } } } }, - "New Connection (⌘N)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối mới (⌘N)" + "New Connection (⌘N)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối mới (⌘N)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建连接 (⌘N)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建连接 (⌘N)" } } } }, - "New Connection...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối mới..." + "New Connection..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối mới..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建连接..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建连接..." } } } }, - "New Conversation": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hội thoại mới" + "New Conversation" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hội thoại mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建会话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建会话" } } } }, - "New Group": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhóm mới" + "New Group" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhóm mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建分组" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建分组" } } } }, - "New Jump Host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Jump Host mới" + "New Jump Host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jump Host mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建 Jump Host" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建 Jump Host" } } } }, - "New query tab": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab truy vấn mới" + "New query tab" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab truy vấn mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建查询标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建查询标签页" } } } }, - "New Query Tab": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab truy vấn mới" + "New Query Tab" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab truy vấn mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建查询标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建查询标签页" } } } }, - "New Query Tab (⌘T)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab truy vấn mới (⌘T)" + "New Query Tab (⌘T)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab truy vấn mới (⌘T)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建查询标签页 (⌘T)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建查询标签页 (⌘T)" } } } }, - "New Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab mới" + "New Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建标签页" } } } }, - "New View...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "View mới..." + "New View..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "View mới..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "新建视图..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "新建视图..." } } } }, - "Next Page (⌘])": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trang sau (⌘])" + "Next Page (⌘])" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trang sau (⌘])" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "下一页 (⌘])" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "下一页 (⌘])" } } } }, - "Next Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab tiếp" + "Next Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab tiếp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "下一个标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "下一个标签页" } } } }, - "Next Tab (Alt)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab tiếp theo (Alt)" + "Next Tab (Alt)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab tiếp theo (Alt)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "下一个标签页 (Alt)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "下一个标签页 (Alt)" } } } }, - "No active connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có kết nối đang hoạt động" + "No active connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có kết nối đang hoạt động" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无活动连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无活动连接" } } } }, - "No AI provider configured. Go to Settings > AI to add one.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa cấu hình nhà cung cấp AI. Vào Cài đặt > AI để thêm." + "No AI provider configured. Go to Settings > AI to add one." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa cấu hình nhà cung cấp AI. Vào Cài đặt > AI để thêm." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尚未配置 AI 提供商。前往设置 > AI 添加。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尚未配置 AI 提供商。前往设置 > AI 添加。" } } } }, - "No available local port for SSH tunnel": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có cổng nội bộ khả dụng cho đường hầm SSH" + "No available local port for SSH tunnel" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có cổng nội bộ khả dụng cho đường hầm SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "没有可用的本地端口用于 SSH 隧道" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有可用的本地端口用于 SSH 隧道" } } } }, - "No changes to preview": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có thay đổi để xem trước" + "No changes to preview" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có thay đổi để xem trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无可预览的更改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无可预览的更改" } } } }, - "No Check Constraints": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có ràng buộc kiểm tra" + "No Check Constraints" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có ràng buộc kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无检查约束" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无检查约束" } } } }, - "No Columns Defined": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có cột nào" + "No Columns Defined" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có cột nào" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尚未定义列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尚未定义列" } } } }, - "No Connections": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có kết nối" + "No Connections" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无连接" } } } }, - "No connections yet": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có kết nối nào" + "No connections yet" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có kết nối nào" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "暂无连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "暂无连接" } } } }, - "No database connection": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa kết nối cơ sở dữ liệu" + "No database connection" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa kết nối cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未连接数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未连接数据库" } } } }, - "No databases found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy cơ sở dữ liệu" + "No databases found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到数据库" } } } }, - "No databases match \"%@\"": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có cơ sở dữ liệu nào khớp \"%@\"" + "No databases match \"%@\"" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có cơ sở dữ liệu nào khớp \"%@\"" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "没有匹配 \"%@\" 的数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有匹配 \"%@\" 的数据库" } } } }, - "No DDL available": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có DDL" + "No DDL available" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có DDL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无可用 DDL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无可用 DDL" } } } }, - "No export formats available. Enable export plugins in Settings > Plugins.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có định dạng xuất khả dụng. Bật plugin xuất trong Cài đặt > Plugin." + "No export formats available. Enable export plugins in Settings > Plugins." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có định dạng xuất khả dụng. Bật plugin xuất trong Cài đặt > Plugin." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无可用的导出格式。请在设置 > 插件中启用导出插件。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无可用的导出格式。请在设置 > 插件中启用导出插件。" } } } }, - "No Foreign Keys Yet": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có khóa ngoại" + "No Foreign Keys Yet" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có khóa ngoại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尚无外键" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尚无外键" } } } }, - "No Indexes Defined": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có chỉ mục" + "No Indexes Defined" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có chỉ mục" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尚未定义索引" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尚未定义索引" } } } }, - "No limit": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không giới hạn" + "No limit" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không giới hạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不限制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不限制" } } } }, - "No matching connections": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có kết nối nào khớp" + "No matching connections" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có kết nối nào khớp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配连接" } } } }, - "No Matching Connections": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có kết nối phù hợp" + "No Matching Connections" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có kết nối phù hợp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配连接" } } } }, - "No matching databases": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có cơ sở dữ liệu nào khớp" + "No matching databases" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có cơ sở dữ liệu nào khớp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配数据库" } } } }, - "No matching fields": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có trường khớp" + "No matching fields" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có trường khớp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配字段" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配字段" } } } }, - "No Matching Queries": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có truy vấn phù hợp" + "No Matching Queries" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có truy vấn phù hợp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配查询" } } } }, - "No matching schemas": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có schema khớp" + "No matching schemas" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có schema khớp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配 Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配 Schema" } } } }, - "No matching tables": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có bảng nào khớp" + "No matching tables" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có bảng nào khớp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无匹配表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无匹配表" } } } }, - "No model selected": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa chọn model" + "No model selected" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa chọn model" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未选择模型" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未选择模型" } } } }, - "No models loaded": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa tải mô hình nào" + "No models loaded" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa tải mô hình nào" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未加载模型" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未加载模型" } } } }, - "No parts found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy phân vùng" + "No parts found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy phân vùng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到分区" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到分区" } } } }, - "No pending changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có thay đổi nào" + "No pending changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có thay đổi nào" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无待处理的更改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无待处理的更改" } } } }, - "No plugins found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy plugin" + "No plugins found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到插件" } } } }, - "No primary key selected (not recommended)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa chọn khóa chính (không khuyến nghị)" + "No primary key selected (not recommended)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa chọn khóa chính (không khuyến nghị)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未选择主键(不推荐)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未选择主键(不推荐)" } } } }, - "No providers configured": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa cấu hình nhà cung cấp" + "No providers configured" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa cấu hình nhà cung cấp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未配置提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未配置提供商" } } } }, - "No query executed yet": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa thực hiện truy vấn nào" + "No query executed yet" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa thực hiện truy vấn nào" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尚未执行查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尚未执行查询" } } } }, - "No Query History Yet": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có lịch sử truy vấn" + "No Query History Yet" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có lịch sử truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "暂无查询历史" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "暂无查询历史" } } } }, - "No rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có dòng" + "No rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无行" } } } }, - "No saved connection named \"%@\".": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có kết nối đã lưu tên \"%@\"." + "No saved connection named \"%@\"." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có kết nối đã lưu tên \"%@\"." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "没有名为 \"%@\" 的已保存连接。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有名为 \"%@\" 的已保存连接。" } } } }, - "No saved templates": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có mẫu đã lưu" + "No saved templates" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có mẫu đã lưu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无已保存的模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无已保存的模板" } } } }, - "No schemas found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy schema" + "No schemas found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy schema" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到 Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到 Schema" } } } }, - "No schemas match \"%@\"": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có schema khớp \"%@\"" + "No schemas match \"%@\"" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có schema khớp \"%@\"" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "没有匹配 \"%@\" 的 Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有匹配 \"%@\" 的 Schema" } } } }, - "No selection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa chọn" + "No selection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa chọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未选择" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未选择" } } } }, - "No Selection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa chọn" + "No Selection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa chọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未选择" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未选择" } } } }, - "No SSL encryption": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không mã hóa SSL" + "No SSL encryption" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không mã hóa SSL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无 SSL 加密" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无 SSL 加密" } } } }, - "No Tables": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có bảng" + "No Tables" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无表" } } } }, - "No tables selected for export": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có bảng nào được chọn để xuất" + "No tables selected for export" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có bảng nào được chọn để xuất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未选择要导出的表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未选择要导出的表" } } } }, - "No tabs open": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có tab nào mở" + "No tabs open" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có tab nào mở" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "没有打开的标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有打开的标签页" } } } }, - "No valid rows found in clipboard data.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy dòng hợp lệ trong dữ liệu bộ nhớ tạm." + "No valid rows found in clipboard data." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy dòng hợp lệ trong dữ liệu bộ nhớ tạm." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "剪贴板数据中未找到有效行。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "剪贴板数据中未找到有效行。" } } } }, - "No values found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy giá trị" + "No values found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy giá trị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到值" } } } }, - "None": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không" + "None" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无" } } } }, - "Normal": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bình thường" + "Normal" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bình thường" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正常" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正常" } } } }, - "Not connected": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa kết nối" + "Not connected" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未连接" } } } }, - "Not connected to ClickHouse": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa kết nối đến ClickHouse" + "Not connected to ClickHouse" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa kết nối đến ClickHouse" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未连接到 ClickHouse" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未连接到 ClickHouse" } } } }, - "Not connected to database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa kết nối cơ sở dữ liệu" + "Not connected to database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa kết nối cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未连接到数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未连接到数据库" } } } }, - "not contains": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "không chứa" + "not contains" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "không chứa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不包含" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不包含" } } } }, - "not equals": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "không bằng" + "not equals" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "không bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不等于" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不等于" } } } }, - "not in list": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "không trong danh sách" + "not in list" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "không trong danh sách" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不在列表中" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不在列表中" } } } }, - "NOT NULL": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "NOT NULL" + "NOT NULL" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "NOT NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NOT NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NOT NULL" } } } }, - "NOW()": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "NOW()" + "NOW()" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "NOW()" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NOW()" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NOW()" } } } }, - "NULL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "NULL" + "NULL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL" } } } }, - "NULL display cannot be empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị NULL không được để trống" + "NULL display cannot be empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị NULL không được để trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NULL 显示不能为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL 显示不能为空" } } } }, - "NULL display contains invalid characters (newlines/tabs)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị NULL chứa ký tự không hợp lệ (xuống dòng/tab)" + "NULL display contains invalid characters (newlines/tabs)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị NULL chứa ký tự không hợp lệ (xuống dòng/tab)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NULL 显示包含无效字符(换行符/制表符)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL 显示包含无效字符(换行符/制表符)" } } } }, - "NULL display must be %lld characters or less": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị NULL phải có %lld ký tự trở xuống" + "NULL display must be %lld characters or less" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị NULL phải có %lld ký tự trở xuống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NULL 显示不能超过 %lld 个字符" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL 显示不能超过 %lld 个字符" } } } }, - "NULL display:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị NULL:" + "NULL display:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị NULL:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "NULL 显示:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "NULL 显示:" } } } }, - "Nullable": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cho phép NULL" + "Nullable" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cho phép NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "允许 NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "允许 NULL" } } } }, - "Number of documents per insertMany statement. Higher values create fewer statements.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số lượng document cho mỗi câu lệnh insertMany. Giá trị cao hơn tạo ít câu lệnh hơn." + "Number of documents per insertMany statement. Higher values create fewer statements." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số lượng document cho mỗi câu lệnh insertMany. Giá trị cao hơn tạo ít câu lệnh hơn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每个 insertMany 语句的文档数量。值越大生成的语句越少。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每个 insertMany 语句的文档数量。值越大生成的语句越少。" } } } }, - "Offset": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Vị trí bắt đầu" + "Offset" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vị trí bắt đầu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "偏移量" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "偏移量" } } } }, - "OK": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "OK" + "OK" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "OK" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" } } } }, - "On Delete": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khi xóa" + "On Delete" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khi xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "删除时" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除时" } } } }, - "On Update": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khi cập nhật" + "On Update" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khi cập nhật" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "更新时" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "更新时" } } } }, - "Open": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở" + "Open" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开" } } } }, - "Open Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở kết nối" + "Open Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开连接" } } } }, - "Open containing folder": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở thư mục chứa" + "Open containing folder" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở thư mục chứa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开所在文件夹" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开所在文件夹" } } } }, - "Open database": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở cơ sở dữ liệu" + "Open database" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开数据库" } } } }, - "Open Database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở cơ sở dữ liệu" + "Open Database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开数据库" } } } }, - "Open Database (⌘K)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở cơ sở dữ liệu (⌘K)" + "Open Database (⌘K)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở cơ sở dữ liệu (⌘K)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开数据库 (⌘K)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开数据库 (⌘K)" } } } }, - "Open Database...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở cơ sở dữ liệu..." + "Open Database..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở cơ sở dữ liệu..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开数据库..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开数据库..." } } } }, - "Open MQL Editor": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở trình soạn MQL" + "Open MQL Editor" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở trình soạn MQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开 MQL 编辑器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开 MQL 编辑器" } } } }, - "Open Redis CLI": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở Redis CLI" + "Open Redis CLI" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở Redis CLI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开 Redis CLI" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开 Redis CLI" } } } }, - "Open Schema": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở Schema" + "Open Schema" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở Schema" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开 Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开 Schema" } } } }, - "Open SQL Editor": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở trình soạn SQL" + "Open SQL Editor" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở trình soạn SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "打开 SQL 编辑器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "打开 SQL 编辑器" } } } }, - "Optimize Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tối ưu truy vấn" + "Optimize Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tối ưu truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "优化查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "优化查询" } } } }, - "Optimize this SQL query for better performance:\n\n```sql\n%@\n```": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đề xuất tối ưu hóa cho câu truy vấn SQL sau:\n\n```sql\n%@\n```" + "Optimize this SQL query for better performance:\n\n```sql\n%@\n```" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đề xuất tối ưu hóa cho câu truy vấn SQL sau:\n\n```sql\n%@\n```" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "优化以下 SQL 查询以提升性能:\n\n```sql\n%@\n```" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "优化以下 SQL 查询以提升性能:\n\n```sql\n%@\n```" } } } }, - "Optimize with AI": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tối ưu với AI" + "Optimize with AI" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tối ưu với AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "AI 优化" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "AI 优化" } } } }, - "Optional description": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mô tả tùy chọn" + "Optional description" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mô tả tùy chọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "可选描述" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "可选描述" } } } }, - "Options": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tùy chọn" + "Options" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chọn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选项" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选项" } } } }, - "OR": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "OR" + "OR" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OR" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "OR" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "OR" } } } }, - "Oracle": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Oracle" + "Oracle" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oracle" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Oracle" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oracle" } } } }, - "Orange": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cam" + "Orange" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cam" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "橙色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "橙色" } } } }, - "Other": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khác" + "Other" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khác" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "其他" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "其他" } } } }, - "Page size must be between %@ and %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Page size must be between %1$@ and %2$@" + "Page size must be between %@ and %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Page size must be between %1$@ and %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước trang phải nằm trong khoảng %1$@ đến %2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước trang phải nằm trong khoảng %1$@ đến %2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "页面大小必须在 %@ 和 %@ 之间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "页面大小必须在 %@ 和 %@ 之间" } } } }, - "Pagination": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phân trang" + "Pagination" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phân trang" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分页" } } } }, - "Pagination Settings": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt phân trang" + "Pagination Settings" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt phân trang" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分页设置" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分页设置" } } } }, - "Panel State": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trạng thái bảng điều khiển" + "Panel State" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trạng thái bảng điều khiển" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "面板状态" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "面板状态" } } } }, - "Partition": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phân vùng" + "Partition" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phân vùng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "分区" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "分区" } } } }, - "Passphrase": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cụm mật khẩu" + "Passphrase" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cụm mật khẩu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "密码短语" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "密码短语" } } } }, - "Password": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mật khẩu" + "Password" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mật khẩu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "密码" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "密码" } } } }, - "Paste": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dán" + "Paste" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dán" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "粘贴" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "粘贴" } } } }, - "Paste a connection URL to auto-fill the form fields.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dán URL kết nối để tự động điền các trường trong biểu mẫu." + "Paste a connection URL to auto-fill the form fields." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dán URL kết nối để tự động điền các trường trong biểu mẫu." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "粘贴连接 URL 以自动填充表单字段。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "粘贴连接 URL 以自动填充表单字段。" } } } }, - "Paste your CREATE TABLE statement below:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dán câu lệnh CREATE TABLE bên dưới:" + "Paste your CREATE TABLE statement below:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dán câu lệnh CREATE TABLE bên dưới:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在下方粘贴 CREATE TABLE 语句:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在下方粘贴 CREATE TABLE 语句:" } } } }, - "pending delete": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "chờ xóa" + "pending delete" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "chờ xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "待删除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "待删除" } } } }, - "pending truncate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "chờ truncate" + "pending truncate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "chờ truncate" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "待清空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "待清空" } } } }, - "Pink": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hồng" + "Pink" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hồng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "粉色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "粉色" } } } }, - "Please select a column": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Vui lòng chọn một cột" + "Please select a column" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vui lòng chọn một cột" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "请选择一列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请选择一列" } } } }, - "Plugin checksum does not match expected value": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Checksum plugin không khớp với giá trị mong đợi" + "Plugin checksum does not match expected value" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Checksum plugin không khớp với giá trị mong đợi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件校验和与期望值不匹配" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件校验和与期望值不匹配" } } } }, - "Plugin code signature verification failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác minh chữ ký mã plugin thất bại: %@" + "Plugin code signature verification failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác minh chữ ký mã plugin thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件代码签名验证失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件代码签名验证失败:%@" } } } }, - "Plugin does not contain a compatible binary for this architecture": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin không chứa tập tin nhị phân tương thích cho kiến trúc này" + "Plugin does not contain a compatible binary for this architecture" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin không chứa tập tin nhị phân tương thích cho kiến trúc này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件不包含兼容此架构的二进制文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件不包含兼容此架构的二进制文件" } } } }, - "Plugin download failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tải plugin thất bại: %@" + "Plugin download failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tải plugin thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件下载失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件下载失败:%@" } } } }, - "Plugin Installation Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt Plugin thất bại" + "Plugin Installation Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt Plugin thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件安装失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件安装失败" } } } }, - "Plugin installation failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cài đặt plugin thất bại: %@" + "Plugin installation failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt plugin thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件安装失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件安装失败:%@" } } } }, - "Plugin not found": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy plugin" + "Plugin not found" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到插件" } } } }, - "Plugin requires app version %@ or later, but current version is %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Plugin requires app version %1$@ or later, but current version is %2$@" + "Plugin requires app version %@ or later, but current version is %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Plugin requires app version %1$@ or later, but current version is %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin yêu cầu ứng dụng phiên bản %@ trở lên, nhưng phiên bản hiện tại là %@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin yêu cầu ứng dụng phiên bản %@ trở lên, nhưng phiên bản hiện tại là %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件需要应用版本 %@ 或更高,但当前版本为 %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件需要应用版本 %@ 或更高,但当前版本为 %@" } } } }, - "Plugin requires PluginKit version %lld, but app provides version %lld": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Plugin requires PluginKit version %1$lld, but app provides version %2$lld" + "Plugin requires PluginKit version %lld, but app provides version %lld" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Plugin requires PluginKit version %1$lld, but app provides version %2$lld" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin yêu cầu PluginKit phiên bản %lld, nhưng ứng dụng cung cấp phiên bản %lld" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin yêu cầu PluginKit phiên bản %lld, nhưng ứng dụng cung cấp phiên bản %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件需要 PluginKit 版本 %lld,但应用提供的版本为 %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件需要 PluginKit 版本 %lld,但应用提供的版本为 %lld" } } } }, - "Plugins": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin" + "Plugins" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "插件" } } } }, - "Port": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cổng" + "Port" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cổng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "端口" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "端口" } } } }, - "postgresql://user:password@host:5432/database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "postgresql://user:password@host:5432/database" + "postgresql://user:password@host:5432/database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "postgresql://user:password@host:5432/database" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "postgresql://user:password@host:5432/database" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "postgresql://user:password@host:5432/database" } } } }, - "Potentially Dangerous Queries": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn có thể nguy hiểm" + "Potentially Dangerous Queries" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn có thể nguy hiểm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "潜在危险查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "潜在危险查询" } } } }, - "Potentially Dangerous Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn có thể nguy hiểm" + "Potentially Dangerous Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn có thể nguy hiểm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "潜在危险查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "潜在危险查询" } } } }, - "Precision": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ chính xác" + "Precision" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ chính xác" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "精度" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "精度" } } } }, - "Precision:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ chính xác:" + "Precision:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ chính xác:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "精度:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "精度:" } } } }, - "Preserve all values as strings": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giữ nguyên tất cả giá trị dưới dạng chuỗi" + "Preserve all values as strings" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giữ nguyên tất cả giá trị dưới dạng chuỗi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将所有值保留为字符串" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将所有值保留为字符串" } } } }, - "Preset Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên mẫu đặt trước" + "Preset Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên mẫu đặt trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预设名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预设名称" } } } }, - "Pretty Print": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Định dạng đẹp" + "Pretty Print" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Định dạng đẹp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "格式化输出" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "格式化输出" } } } }, - "Pretty print (formatted output)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "In đẹp (đầu ra có định dạng)" + "Pretty print (formatted output)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "In đẹp (đầu ra có định dạng)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "格式化输出(带格式)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "格式化输出(带格式)" } } } }, - "Prevent CSV formula injection by prefixing values starting with =, +, -, @ with a single quote": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ngăn chặn chèn công thức CSV bằng cách thêm dấu nháy đơn trước các giá trị bắt đầu bằng =, +, -, @" + "Prevent CSV formula injection by prefixing values starting with =, +, -, @ with a single quote" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngăn chặn chèn công thức CSV bằng cách thêm dấu nháy đơn trước các giá trị bắt đầu bằng =, +, -, @" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "通过在以 =、+、-、@ 开头的值前添加单引号来防止 CSV 公式注入" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通过在以 =、+、-、@ 开头的值前添加单引号来防止 CSV 公式注入" } } } }, - "Prevent write operations (INSERT, UPDATE, DELETE, DROP, etc.)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ngăn chặn thao tác ghi (INSERT, UPDATE, DELETE, DROP, v.v.)" + "Prevent write operations (INSERT, UPDATE, DELETE, DROP, etc.)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngăn chặn thao tác ghi (INSERT, UPDATE, DELETE, DROP, v.v.)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "禁止写操作(INSERT、UPDATE、DELETE、DROP 等)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "禁止写操作(INSERT、UPDATE、DELETE、DROP 等)" } } } }, - "Preview": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước" + "Preview" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览" } } } }, - "Preview Commands": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước lệnh" + "Preview Commands" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览命令" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览命令" } } } }, - "Preview Commands (⌘⇧P)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước lệnh (⌘⇧P)" + "Preview Commands (⌘⇧P)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước lệnh (⌘⇧P)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览命令 (⌘⇧P)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览命令 (⌘⇧P)" } } } }, - "Preview MQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước MQL" + "Preview MQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước MQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览 MQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览 MQL" } } } }, - "Preview MQL (⌘⇧P)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước MQL (⌘⇧P)" + "Preview MQL (⌘⇧P)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước MQL (⌘⇧P)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览 MQL (⌘⇧P)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览 MQL (⌘⇧P)" } } } }, - "Preview Schema Changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước thay đổi cấu trúc" + "Preview Schema Changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước thay đổi cấu trúc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览结构更改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览结构更改" } } } }, - "Preview SQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước SQL" + "Preview SQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览 SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览 SQL" } } } }, - "Preview SQL (⌘⇧P)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước SQL (⌘⇧P)" + "Preview SQL (⌘⇧P)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước SQL (⌘⇧P)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "预览 SQL (⌘⇧P)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预览 SQL (⌘⇧P)" } } } }, - "Previous Page (⌘[)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trang trước (⌘[)" + "Previous Page (⌘[)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trang trước (⌘[)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上一页 (⌘[)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上一页 (⌘[)" } } } }, - "Previous Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab trước" + "Previous Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上一个标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上一个标签页" } } } }, - "Previous Tab (Alt)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab trước (Alt)" + "Previous Tab (Alt)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab trước (Alt)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "上一个标签页 (Alt)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "上一个标签页 (Alt)" } } } }, - "Primary": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Primary" + "Primary" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primary" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Primary" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primary" } } } }, - "Primary Preferred": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Primary Preferred" + "Primary Preferred" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primary Preferred" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Primary Preferred" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primary Preferred" } } } }, - "Privacy": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Quyền riêng tư" + "Privacy" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quyền riêng tư" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "隐私" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "隐私" } } } }, - "Private Key": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khóa riêng tư" + "Private Key" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khóa riêng tư" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "私钥" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "私钥" } } } }, - "Providers": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhà cung cấp" + "Providers" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhà cung cấp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "提供商" } } } }, - "Purple": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tím" + "Purple" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tím" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "紫色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "紫色" } } } }, - "Put field names in the first row": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt tên trường ở dòng đầu tiên" + "Put field names in the first row" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt tên trường ở dòng đầu tiên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "将字段名放在第一行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "将字段名放在第一行" } } } }, - "Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn" + "Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询" } } } }, - "Query cancelled": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã hủy truy vấn" + "Query cancelled" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã hủy truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询已取消" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询已取消" } } } }, - "Query executed successfully": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn thực thi thành công" + "Query executed successfully" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn thực thi thành công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询执行成功" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询执行成功" } } } }, - "Query executing": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang thực hiện truy vấn" + "Query executing" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang thực hiện truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在执行查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在执行查询" } } } }, - "Query executing...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang thực thi truy vấn..." + "Query executing..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang thực thi truy vấn..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在执行查询..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在执行查询..." } } } }, - "Query Execution": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thực thi truy vấn" + "Query Execution" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thực thi truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询执行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询执行" } } } }, - "Query Execution Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thực thi truy vấn thất bại" + "Query Execution Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thực thi truy vấn thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询执行失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询执行失败" } } } }, - "Query timeout:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thời gian chờ truy vấn:" + "Query timeout:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thời gian chờ truy vấn:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "查询超时:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "查询超时:" } } } }, - "Quick search across all columns...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm kiếm nhanh trên tất cả các cột..." + "Quick search across all columns..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kiếm nhanh trên tất cả các cột..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "快速搜索所有列..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "快速搜索所有列..." } } } }, - "Quote": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dấu ngoặc kép" + "Quote" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dấu ngoặc kép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "引号" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "引号" } } } }, - "Quote if needed": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt trong ngoặc kép nếu cần" + "Quote if needed" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt trong ngoặc kép nếu cần" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "按需加引号" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "按需加引号" } } } }, - "Rate limited. Please try again later.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã vượt giới hạn tốc độ. Vui lòng thử lại sau." + "Rate limited. Please try again later." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã vượt giới hạn tốc độ. Vui lòng thử lại sau." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "请求频率超限。请稍后再试。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请求频率超限。请稍后再试。" } } } }, - "Raw SQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SQL thô" + "Raw SQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL thô" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "原始 SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "原始 SQL" } } } }, - "Raw SQL cannot be empty": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SQL thô không được để trống" + "Raw SQL cannot be empty" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL thô không được để trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "原始 SQL 不能为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "原始 SQL 不能为空" } } } }, - "Read Preference": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Read Preference" + "Read Preference" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Read Preference" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Read Preference" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Read Preference" } } } }, - "Read-only": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chỉ đọc" + "Read-only" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ đọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "只读" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "只读" } } } }, - "Read-Only": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chỉ đọc" + "Read-Only" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ đọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "只读" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "只读" } } } }, - "Read-only connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối chỉ đọc" + "Read-only connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối chỉ đọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "只读连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "只读连接" } } } }, - "Reassign": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gán lại" + "Reassign" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gán lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新分配" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新分配" } } } }, - "RECENT": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "GẦN ĐÂY" + "RECENT" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "GẦN ĐÂY" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最近" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最近" } } } }, - "Recent Conversations": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cuộc trò chuyện gần đây" + "Recent Conversations" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cuộc trò chuyện gần đây" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "最近的会话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最近的会话" } } } }, - "Reconnect": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối lại" + "Reconnect" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新连接" } } } }, - "Reconnect failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối lại thất bại: %@" + "Reconnect failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối lại thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新连接失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新连接失败:%@" } } } }, - "Reconnect to Database": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối lại cơ sở dữ liệu" + "Reconnect to Database" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối lại cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新连接数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新连接数据库" } } } }, - "Recording shortcut": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đang ghi phím tắt" + "Recording shortcut" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang ghi phím tắt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "正在录制快捷键" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "正在录制快捷键" } } } }, - "Red": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đỏ" + "Red" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đỏ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "红色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "红色" } } } }, - "Redis": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Redis" + "Redis" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redis" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Redis" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redis" } } } }, - "Redo": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm lại" + "Redo" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重做" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重做" } } } }, - "Ref Columns": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột tham chiếu" + "Ref Columns" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột tham chiếu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "引用列" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "引用列" } } } }, - "Ref Table": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảng tham chiếu" + "Ref Table" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảng tham chiếu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "引用表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "引用表" } } } }, - "Referenced columns (comma-separated)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cột tham chiếu (phân tách bằng dấu phẩy)" + "Referenced columns (comma-separated)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cột tham chiếu (phân tách bằng dấu phẩy)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "引用列(逗号分隔)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "引用列(逗号分隔)" } } } }, - "Referenced table": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảng tham chiếu" + "Referenced table" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảng tham chiếu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "引用表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "引用表" } } } }, - "Refresh": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm mới" + "Refresh" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "刷新" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "刷新" } } } }, - "Refresh (⌘R)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm mới (⌘R)" + "Refresh (⌘R)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm mới (⌘R)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "刷新 (⌘R)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "刷新 (⌘R)" } } } }, - "Refresh data": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm mới dữ liệu" + "Refresh data" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm mới dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "刷新数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "刷新数据" } } } }, - "Refresh database list": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm mới danh sách cơ sở dữ liệu" + "Refresh database list" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm mới danh sách cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "刷新数据库列表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "刷新数据库列表" } } } }, - "Refreshing will discard all unsaved changes.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm mới sẽ hủy tất cả thay đổi chưa lưu." + "Refreshing will discard all unsaved changes." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm mới sẽ hủy tất cả thay đổi chưa lưu." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "刷新将丢弃所有未保存的更改。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "刷新将丢弃所有未保存的更改。" } } } }, - "Regenerate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo lại" + "Regenerate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新生成" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新生成" } } } }, - "Remove filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa bộ lọc" + "Remove filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "移除筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "移除筛选" } } } }, - "Remove Filter": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xóa bộ lọc" + "Remove Filter" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "移除筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "移除筛选" } } } }, - "Remove license from this machine": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gỡ giấy phép khỏi máy này" + "Remove license from this machine" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gỡ giấy phép khỏi máy này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "从此设备移除许可证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "从此设备移除许可证" } } } }, - "Rename": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đổi tên" + "Rename" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đổi tên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重命名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重命名" } } } }, - "Rename Group": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đổi tên nhóm" + "Rename Group" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đổi tên nhóm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重命名分组" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重命名分组" } } } }, - "Reopen Last Session": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mở lại phiên làm việc trước" + "Reopen Last Session" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở lại phiên làm việc trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重新打开上次会话" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重新打开上次会话" } } } }, - "Replication lag: %llds": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ trễ sao chép: %llds" + "Replication lag: %llds" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ trễ sao chép: %llds" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复制延迟:%llds" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复制延迟:%llds" } } } }, - "Require SSL, skip verification": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Yêu cầu SSL, bỏ qua xác minh" + "Require SSL, skip verification" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yêu cầu SSL, bỏ qua xác minh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "要求 SSL,跳过验证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "要求 SSL,跳过验证" } } } }, - "Reset to Defaults": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khôi phục mặc định" + "Reset to Defaults" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khôi phục mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "恢复默认" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "恢复默认" } } } }, - "Restart TablePro for the language change to take full effect.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khởi động lại TablePro để thay đổi ngôn ngữ có hiệu lực hoàn toàn." + "Restart TablePro for the language change to take full effect." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khởi động lại TablePro để thay đổi ngôn ngữ có hiệu lực hoàn toàn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重启 TablePro 以使语言更改完全生效。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重启 TablePro 以使语言更改完全生效。" } } } }, - "Restart TablePro to fully unload removed plugins.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khởi động lại TablePro để gỡ hoàn toàn các plugin đã xoá." + "Restart TablePro to fully unload removed plugins." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khởi động lại TablePro để gỡ hoàn toàn các plugin đã xoá." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重启 TablePro 以完全卸载已移除的插件。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重启 TablePro 以完全卸载已移除的插件。" } } } }, - "Retention": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu giữ" + "Retention" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu giữ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保留" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保留" } } } }, - "Retry": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thử lại" + "Retry" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thử lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重试" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重试" } } } }, - "Reuse clean table tab": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tái sử dụng tab bảng trống" + "Reuse clean table tab" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tái sử dụng tab bảng trống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "复用空白表标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "复用空白表标签页" } } } }, - "Right-click to show all tables": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhấn chuột phải để hiện tất cả bảng" + "Right-click to show all tables" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhấn chuột phải để hiện tất cả bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "右键单击显示所有表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "右键单击显示所有表" } } } }, - "root": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "root" + "root" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "root" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "root" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "root" } } } }, - "Row %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hàng %lld" + "Row %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hàng %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行 %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行 %lld" } } } }, - "Row %lld, column %lld: %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Row %1$lld, column %2$lld: %3$@" + "Row %lld, column %lld: %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Row %1$lld, column %2$lld: %3$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hàng %lld, cột %lld: %@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hàng %lld, cột %lld: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行 %lld,列 %lld:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行 %lld,列 %lld:%@" } } } }, - "Row Details": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chi tiết dòng" + "Row Details" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chi tiết dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行详情" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行详情" } } } }, - "Row height:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chiều cao dòng:" + "Row height:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chiều cao dòng:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行高:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行高:" } } } }, - "Row number": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số hàng" + "Row number" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số hàng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行号" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行号" } } } }, - "Rows": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dòng" + "Rows" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "行" } } } }, - "Rows per INSERT": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dòng mỗi INSERT" + "Rows per INSERT" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dòng mỗi INSERT" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每条 INSERT 的行数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每条 INSERT 的行数" } } } }, - "Rows per insertMany": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Số dòng mỗi insertMany" + "Rows per insertMany" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số dòng mỗi insertMany" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "每条 insertMany 的行数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每条 insertMany 的行数" } } } }, - "Run a query to see execution time": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chạy truy vấn để xem thời gian thực thi" + "Run a query to see execution time" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chạy truy vấn để xem thời gian thực thi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "运行查询以查看执行时间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "运行查询以查看执行时间" } } } }, - "Run in New Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chạy trong tab mới" + "Run in New Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chạy trong tab mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "在新标签页中运行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在新标签页中运行" } } } }, - "Same options will be applied to all selected tables.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cùng tùy chọn sẽ được áp dụng cho tất cả bảng đã chọn." + "Same options will be applied to all selected tables." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cùng tùy chọn sẽ được áp dụng cho tất cả bảng đã chọn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "相同选项将应用于所有选中的表。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "相同选项将应用于所有选中的表。" } } } }, - "Sanitize formula-like values": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm sạch giá trị giống công thức" + "Sanitize formula-like values" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm sạch giá trị giống công thức" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清理类公式值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清理类公式值" } } } }, - "Save": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu" + "Save" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存" } } } }, - "Save and load filter presets": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu và tải mẫu bộ lọc" + "Save and load filter presets" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu và tải mẫu bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存和加载筛选预设" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存和加载筛选预设" } } } }, - "Save Anyway": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Vẫn lưu" + "Save Anyway" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vẫn lưu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "仍然保存" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "仍然保存" } } } }, - "Save as Preset...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu dưới dạng mẫu..." + "Save as Preset..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu dưới dạng mẫu..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "另存为预设..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "另存为预设..." } } } }, - "Save as Template": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu dưới dạng mẫu" + "Save as Template" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu dưới dạng mẫu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "另存为模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "另存为模板" } } } }, - "Save Changes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu thay đổi" + "Save Changes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu thay đổi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存更改" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存更改" } } } }, - "Save Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu thất bại" + "Save Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存失败" } } } }, - "Save Filter Preset": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu mẫu bộ lọc" + "Save Filter Preset" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu mẫu bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存筛选预设" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存筛选预设" } } } }, - "Save Table Template": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lưu mẫu bảng" + "Save Table Template" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lưu mẫu bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "保存表模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "保存表模板" } } } }, - "Saved Connections": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối đã lưu" + "Saved Connections" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối đã lưu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已保存的连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已保存的连接" } } } }, - "SAVED CONNECTIONS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "KẾT NỐI ĐÃ LƯU" + "SAVED CONNECTIONS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "KẾT NỐI ĐÃ LƯU" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已保存的连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已保存的连接" } } } }, - "Scale": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tỉ lệ" + "Scale" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tỉ lệ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "小数位数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "小数位数" } } } }, - "Scale:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tỉ lệ:" + "Scale:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tỉ lệ:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "小数位数:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "小数位数:" } } } }, - "Schema": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Schema" + "Schema" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema" } } } }, - "Schema Switch Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển schema thất bại" + "Schema Switch Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển schema thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换 Schema 失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换 Schema 失败" } } } }, - "Schemas": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Schema" + "Schemas" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Schema" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schema" } } } }, - "Search databases...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm cơ sở dữ liệu..." + "Search databases..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm cơ sở dữ liệu..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索数据库..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索数据库..." } } } }, - "Search for connection...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm kết nối..." + "Search for connection..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kết nối..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索连接..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索连接..." } } } }, - "Search for field...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm trường..." + "Search for field..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm trường..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索字段..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索字段..." } } } }, - "Search or type...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm kiếm hoặc nhập..." + "Search or type..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kiếm hoặc nhập..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索或输入..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索或输入..." } } } }, - "Search plugins...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm kiếm plugin..." + "Search plugins..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kiếm plugin..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索插件..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索插件..." } } } }, - "Search queries...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm truy vấn..." + "Search queries..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm truy vấn..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索查询..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索查询..." } } } }, - "Search schemas...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm schema..." + "Search schemas..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm schema..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索 Schema..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索 Schema..." } } } }, - "Search shortcuts...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm phím tắt..." + "Search shortcuts..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm phím tắt..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索快捷键..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索快捷键..." } } } }, - "Search...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tìm kiếm..." + "Search..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tìm kiếm..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "搜索..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "搜索..." } } } }, - "Second value is required for BETWEEN": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị thứ hai là bắt buộc cho BETWEEN" + "Second value is required for BETWEEN" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị thứ hai là bắt buộc cho BETWEEN" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "BETWEEN 需要第二个值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "BETWEEN 需要第二个值" } } } }, - "Secondary": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Secondary" + "Secondary" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secondary" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Secondary" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secondary" } } } }, - "Secondary Preferred": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Secondary Preferred" + "Secondary Preferred" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secondary Preferred" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Secondary Preferred" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Secondary Preferred" } } } }, - "SELECT * FROM users WHERE id = 1;": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SELECT * FROM users WHERE id = 1;" + "SELECT * FROM users WHERE id = 1;" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SELECT * FROM users WHERE id = 1;" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SELECT * FROM users WHERE id = 1;" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SELECT * FROM users WHERE id = 1;" } } } }, - "Select a Query": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn một truy vấn" + "Select a Query" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn một truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择一个查询" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择一个查询" } } } }, - "Select a row or table to view details": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn một hàng hoặc bảng để xem chi tiết" + "Select a row or table to view details" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn một hàng hoặc bảng để xem chi tiết" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择一行或一个表以查看详情" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择一行或一个表以查看详情" } } } }, - "Select a table to copy its structure:": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn bảng để sao chép cấu trúc:" + "Select a table to copy its structure:" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn bảng để sao chép cấu trúc:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择要复制结构的表:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择要复制结构的表:" } } } }, - "Select All": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn tất cả" + "Select All" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn tất cả" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "全选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "全选" } } } }, - "Select filter for %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn bộ lọc cho %@" + "Select filter for %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn bộ lọc cho %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "为 %@ 选择筛选条件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "为 %@ 选择筛选条件" } } } }, - "Select Plugin": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn Plugin" + "Select Plugin" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn Plugin" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择插件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择插件" } } } }, - "Select SQL File...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn tệp SQL..." + "Select SQL File..." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn tệp SQL..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择 SQL 文件..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择 SQL 文件..." } } } }, - "Select Tab %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chọn tab %lld" + "Select Tab %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chọn tab %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "选择标签页 %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择标签页 %lld" } } } }, - "Send Message": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gửi tin nhắn" + "Send Message" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gửi tin nhắn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "发送消息" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "发送消息" } } } }, - "Server": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Máy chủ" + "Server" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máy chủ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "服务器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "服务器" } } } }, - "Server error (%lld): %@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Server error (%1$lld): %2$@" + "Server error (%lld): %@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Server error (%1$lld): %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi máy chủ (%1$lld): %2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi máy chủ (%1$lld): %2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "服务器错误 (%lld):%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "服务器错误 (%lld):%@" } } } }, - "Service Name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên dịch vụ" + "Service Name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên dịch vụ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "服务名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "服务名称" } } } }, - "Set DEFAULT": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt DEFAULT" + "Set DEFAULT" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt DEFAULT" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设为 DEFAULT" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设为 DEFAULT" } } } }, - "Set EMPTY": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt TRỐNG" + "Set EMPTY" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt TRỐNG" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设为空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设为空" } } } }, - "Set NULL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt NULL" + "Set NULL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt NULL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设为 NULL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设为 NULL" } } } }, - "Set special value": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt giá trị đặc biệt" + "Set special value" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt giá trị đặc biệt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设置特殊值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设置特殊值" } } } }, - "Set Up AI Provider": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thiết lập nhà cung cấp AI" + "Set Up AI Provider" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thiết lập nhà cung cấp AI" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设置 AI 提供商" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设置 AI 提供商" } } } }, - "Set Value": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đặt giá trị" + "Set Value" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đặt giá trị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "设置值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "设置值" } } } }, - "Share anonymous usage data": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chia sẻ dữ liệu sử dụng ẩn danh" + "Share anonymous usage data" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chia sẻ dữ liệu sử dụng ẩn danh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "共享匿名使用数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "共享匿名使用数据" } } } }, - "Shortcut Conflict": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xung đột phím tắt" + "Shortcut Conflict" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xung đột phím tắt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "快捷键冲突" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "快捷键冲突" } } } }, - "Shortcut recorder": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Ghi phím tắt" + "Shortcut recorder" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ghi phím tắt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "快捷键录制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "快捷键录制" } } } }, - "Show All Collections": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị tất cả Collection" + "Show All Collections" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị tất cả Collection" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示所有集合" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示所有集合" } } } }, - "Show All Databases": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiển thị tất cả cơ sở dữ liệu" + "Show All Databases" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị tất cả cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示所有数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示所有数据库" } } } }, - "Show All Tables": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện tất cả bảng" + "Show All Tables" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện tất cả bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示所有表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示所有表" } } } }, - "Show alternate row backgrounds": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện nền xen kẽ dòng" + "Show alternate row backgrounds" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện nền xen kẽ dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示交替行背景" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示交替行背景" } } } }, - "Show line numbers": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện số dòng" + "Show line numbers" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện số dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示行号" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示行号" } } } }, - "Show Next Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện tab tiếp" + "Show Next Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện tab tiếp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示下一个标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示下一个标签页" } } } }, - "Show Previous Tab": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện tab trước" + "Show Previous Tab" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện tab trước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示上一个标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示上一个标签页" } } } }, - "Show Structure": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện cấu trúc" + "Show Structure" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện cấu trúc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示结构" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示结构" } } } }, - "Show Welcome Screen": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện màn hình chào mừng" + "Show Welcome Screen" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện màn hình chào mừng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示欢迎屏幕" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示欢迎屏幕" } } } }, - "Show Welcome Window": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hiện cửa sổ chào mừng" + "Show Welcome Window" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện cửa sổ chào mừng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "显示欢迎窗口" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示欢迎窗口" } } } }, - "Sidebar Panel": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thanh bên" + "Sidebar Panel" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thanh bên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "侧边栏" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "侧边栏" } } } }, - "Size": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước" + "Size" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "大小" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大小" } } } }, - "SIZE": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "KÍCH THƯỚC" + "SIZE" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "KÍCH THƯỚC" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "大小" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大小" } } } }, - "Size:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kích thước:" + "Size:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kích thước:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "大小:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大小:" } } } }, - "Skip": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bỏ qua" + "Skip" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bỏ qua" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "跳过" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "跳过" } } } }, - "Software Update": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cập nhật phần mềm" + "Software Update" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cập nhật phần mềm" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "软件更新" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "软件更新" } } } }, - "Source:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nguồn:" + "Source:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nguồn:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "来源:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "来源:" } } } }, - "Spacious": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Rộng rãi" + "Spacious" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rộng rãi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "宽松" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "宽松" } } } }, - "SQL": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SQL" + "SQL" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL" } } } }, - "SQL commands to run after connecting, e.g. SET time_zone = 'Asia/Ho_Chi_Minh'. One per line or separated by semicolons.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Các lệnh SQL chạy sau khi kết nối, ví dụ SET time_zone = 'Asia/Ho_Chi_Minh'. Mỗi dòng một lệnh hoặc phân cách bằng dấu chấm phẩy." + "SQL commands to run after connecting, e.g. SET time_zone = 'Asia/Ho_Chi_Minh'. One per line or separated by semicolons." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Các lệnh SQL chạy sau khi kết nối, ví dụ SET time_zone = 'Asia/Ho_Chi_Minh'. Mỗi dòng một lệnh hoặc phân cách bằng dấu chấm phẩy." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接后执行的 SQL 命令,例如 SET time_zone = 'Asia/Ho_Chi_Minh'。每行一条或用分号分隔。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接后执行的 SQL 命令,例如 SET time_zone = 'Asia/Ho_Chi_Minh'。每行一条或用分号分隔。" } } } }, - "SQL Dialect": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phương ngữ SQL" + "SQL Dialect" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phương ngữ SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQL 方言" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL 方言" } } } }, - "SQL Functions": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hàm SQL" + "SQL Functions" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hàm SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQL 函数" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL 函数" } } } }, - "SQL import is not supported for %@ connections.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập SQL không được hỗ trợ cho kết nối %@." + "SQL import is not supported for %@ connections." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập SQL không được hỗ trợ cho kết nối %@." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持对 %@ 连接进行 SQL 导入。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持对 %@ 连接进行 SQL 导入。" } } } }, - "SQL Preview": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem trước SQL" + "SQL Preview" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem trước SQL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQL 预览" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL 预览" } } } }, - "SQL Server": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SQL Server" + "SQL Server" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL Server" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQL Server" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQL Server" } } } }, - "SQLite is file-based": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SQLite dựa trên tệp" + "SQLite is file-based" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQLite dựa trên tệp" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SQLite 基于文件" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SQLite 基于文件" } } } }, - "SSH Agent": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SSH Agent" + "SSH Agent" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH Agent" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH Agent" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH Agent" } } } }, - "SSH authentication failed. Check your credentials or private key.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực SSH thất bại. Kiểm tra thông tin đăng nhập hoặc khóa riêng tư." + "SSH authentication failed. Check your credentials or private key." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực SSH thất bại. Kiểm tra thông tin đăng nhập hoặc khóa riêng tư." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 认证失败。请检查您的凭据或私钥。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 认证失败。请检查您的凭据或私钥。" } } } }, - "SSH command not found. Please ensure OpenSSH is installed.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không tìm thấy lệnh SSH. Vui lòng đảm bảo OpenSSH đã được cài đặt." + "SSH command not found. Please ensure OpenSSH is installed." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không tìm thấy lệnh SSH. Vui lòng đảm bảo OpenSSH đã được cài đặt." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未找到 SSH 命令。请确保已安装 OpenSSH。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未找到 SSH 命令。请确保已安装 OpenSSH。" } } } }, - "SSH connection timed out": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kết nối SSH đã hết thời gian" + "SSH connection timed out" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết nối SSH đã hết thời gian" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 连接超时" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 连接超时" } } } }, - "SSH Host": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Máy chủ SSH" + "SSH Host" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Máy chủ SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 主机" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 主机" } } } }, - "SSH Port": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cổng SSH" + "SSH Port" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cổng SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 端口" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 端口" } } } }, - "SSH Tunnel": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đường hầm SSH" + "SSH Tunnel" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường hầm SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 隧道" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 隧道" } } } }, - "SSH tunnel already exists for connection: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đường hầm SSH đã tồn tại cho kết nối: %@" + "SSH tunnel already exists for connection: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường hầm SSH đã tồn tại cho kết nối: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "连接已存在 SSH 隧道:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接已存在 SSH 隧道:%@" } } } }, - "SSH tunnel creation failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạo đường hầm SSH thất bại: %@" + "SSH tunnel creation failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạo đường hầm SSH thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "创建 SSH 隧道失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "创建 SSH 隧道失败:%@" } } } }, - "SSH User": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Người dùng SSH" + "SSH User" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Người dùng SSH" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSH 用户" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSH 用户" } } } }, - "ssh.example.com": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "ssh.example.com" + "ssh.example.com" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "ssh.example.com" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "ssh.example.com" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "ssh.example.com" } } } }, - "SSL Mode": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chế độ SSL" + "SSL Mode" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chế độ SSL" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSL 模式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSL 模式" } } } }, - "SSL/TLS": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "SSL/TLS" + "SSL/TLS" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSL/TLS" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "SSL/TLS" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "SSL/TLS" } } } }, - "starts with": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "bắt đầu bằng" + "starts with" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "bắt đầu bằng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "以...开头" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "以...开头" } } } }, - "Startup Commands": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lệnh khởi động" + "Startup Commands" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lệnh khởi động" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启动命令" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启动命令" } } } }, - "statement": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "câu lệnh" + "statement" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "câu lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "条语句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "条语句" } } } }, - "Statement %lld": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Câu lệnh %lld" + "Statement %lld" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Câu lệnh %lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "语句 %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "语句 %lld" } } } }, - "Statement %lld of %lld": { - "extractionState": "stale", - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Statement %1$lld of %2$lld" + "Statement %lld of %lld" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Statement %1$lld of %2$lld" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Câu lệnh %1$lld / %2$lld" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Câu lệnh %1$lld / %2$lld" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "语句 %lld / %lld" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "语句 %lld / %lld" } } } }, - "Statement:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Câu lệnh:" + "Statement:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Câu lệnh:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "语句:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "语句:" } } } }, - "statements": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "câu lệnh" + "statements" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "câu lệnh" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "条语句" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "条语句" } } } }, - "STATISTICS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "THỐNG KÊ" + "STATISTICS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "THỐNG KÊ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "统计信息" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "统计信息" } } } }, - "Stop": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dừng" + "Stop" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dừng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停止" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停止" } } } }, - "Stop Generating": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Dừng tạo phản hồi" + "Stop Generating" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dừng tạo phản hồi" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "停止生成" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "停止生成" } } } }, - "Streaming failed: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phát trực tuyến thất bại: %@" + "Streaming failed: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phát trực tuyến thất bại: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "流式传输失败:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "流式传输失败:%@" } } } }, - "Structure": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cấu trúc" + "Structure" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cấu trúc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "结构" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "结构" } } } }, - "Structure, Drop, and Data options are configured per table in the table list.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tùy chọn Cấu trúc, Xóa và Dữ liệu được cấu hình cho từng bảng trong danh sách bảng." + "Structure, Drop, and Data options are configured per table in the table list." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chọn Cấu trúc, Xóa và Dữ liệu được cấu hình cho từng bảng trong danh sách bảng." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "结构、删除和数据选项在表列表中按表单独配置。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "结构、删除和数据选项在表列表中按表单独配置。" } } } }, - "Success": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thành công" + "Success" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thành công" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "成功" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "成功" } } } }, - "Suspended": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạm ngưng" + "Suspended" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạm ngưng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已暂停" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已暂停" } } } }, - "Switch connection": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển kết nối" + "Switch connection" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换连接" } } } }, - "Switch Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển kết nối" + "Switch Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换连接" } } } }, - "Switch Connection (⌘⌥C)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển kết nối (⌘⌥C)" + "Switch Connection (⌘⌥C)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển kết nối (⌘⌥C)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换连接 (⌘⌥C)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换连接 (⌘⌥C)" } } } }, - "Switch Connection...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển kết nối..." + "Switch Connection..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển kết nối..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换连接..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换连接..." } } } }, - "Switch Database": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển cơ sở dữ liệu" + "Switch Database" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển cơ sở dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换数据库" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换数据库" } } } }, - "Switch Database (⌘K)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chuyển cơ sở dữ liệu (⌘K)" + "Switch Database (⌘K)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển cơ sở dữ liệu (⌘K)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换数据库 (⌘K)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换数据库 (⌘K)" } } } }, - "System": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hệ thống" + "System" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hệ thống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "系统" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "系统" } } } }, - "System Reserved Shortcut": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phím tắt hệ thống" + "System Reserved Shortcut" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phím tắt hệ thống" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "系统保留快捷键" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "系统保留快捷键" } } } }, - "Tab Behavior": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hành vi tab" + "Tab Behavior" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hành vi tab" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "标签页行为" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "标签页行为" } } } }, - "Tab width:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Độ rộng tab:" + "Tab width:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Độ rộng tab:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "制表符宽度:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "制表符宽度:" } } } }, - "Table '%@' has no columns or does not exist": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảng '%@' không có cột hoặc không tồn tại" + "Table '%@' has no columns or does not exist" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảng '%@' không có cột hoặc không tồn tại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表 '%@' 没有列或不存在" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表 '%@' 没有列或不存在" } } } }, - "Table creation options not available": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tùy chọn tạo bảng không khả dụng" + "Table creation options not available" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chọn tạo bảng không khả dụng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表创建选项不可用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表创建选项不可用" } } } }, - "Table Info": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thông tin bảng" + "Table Info" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thông tin bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表信息" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表信息" } } } }, - "Table Name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên bảng" + "Table Name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表名" } } } }, - "Table: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảng: %@" + "Table: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảng: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表:%@" } } } }, - "TablePro": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TablePro" + "TablePro" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TablePro" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "TablePro" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "TablePro" } } } }, - "Tables": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bảng" + "Tables" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表" } } } }, - "Tablespace": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tablespace" + "Tablespace" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tablespace" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "表空间" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "表空间" } } } }, - "Tabs": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tab" + "Tabs" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tab" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "标签页" } } } }, - "Tag": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhãn" + "Tag" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhãn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "标签" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "标签" } } } }, - "Tag name": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên thẻ" + "Tag name" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên thẻ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "标签名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "标签名称" } } } }, - "Tag: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thẻ: %@" + "Tag: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thẻ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "标签:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "标签:%@" } } } }, - "Template": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mẫu" + "Template" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mẫu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "模板" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "模板" } } } }, - "Template Name": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên mẫu" + "Template Name" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên mẫu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "模板名称" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "模板名称" } } } }, - "Temporarily disable foreign key constraints during import. Useful for importing data with circular dependencies.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tạm thời tắt ràng buộc khóa ngoại trong quá trình nhập. Hữu ích khi nhập dữ liệu có phụ thuộc vòng." + "Temporarily disable foreign key constraints during import. Useful for importing data with circular dependencies." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tạm thời tắt ràng buộc khóa ngoại trong quá trình nhập. Hữu ích khi nhập dữ liệu có phụ thuộc vòng." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "导入时临时禁用外键约束。适用于导入具有循环依赖的数据。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导入时临时禁用外键约束。适用于导入具有循环依赖的数据。" } } } }, - "Test": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểm tra" + "Test" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "测试" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "测试" } } } }, - "Test Connection": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểm tra kết nối" + "Test Connection" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra kết nối" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "测试连接" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "测试连接" } } } }, - "The following %lld queries may permanently modify or delete data. This action cannot be undone.\n\n%@": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "The following %1$lld queries may permanently modify or delete data. This action cannot be undone.\n\n%2$@" + "The following %lld queries may permanently modify or delete data. This action cannot be undone.\n\n%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "The following %1$lld queries may permanently modify or delete data. This action cannot be undone.\n\n%2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "%1$lld truy vấn sau có thể thay đổi hoặc xóa dữ liệu vĩnh viễn. Hành động này không thể hoàn tác.\n\n%2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$lld truy vấn sau có thể thay đổi hoặc xóa dữ liệu vĩnh viễn. Hành động này không thể hoàn tác.\n\n%2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "以下 %lld 个查询可能会永久修改或删除数据。此操作无法撤销。\n\n%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "以下 %lld 个查询可能会永久修改或删除数据。此操作无法撤销。\n\n%@" } } } }, - "The text is not valid JSON. Save anyway?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nội dung không phải JSON hợp lệ. Vẫn lưu?" + "The text is not valid JSON. Save anyway?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nội dung không phải JSON hợp lệ. Vẫn lưu?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "文本不是有效的 JSON。仍然保存?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "文本不是有效的 JSON。仍然保存?" } } } }, - "Themes": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giao diện" + "Themes" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giao diện" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "主题" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "主题" } } } }, - "This database has no tables yet.": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Cơ sở dữ liệu này chưa có bảng nào." + "This database has no tables yet." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cơ sở dữ liệu này chưa có bảng nào." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此数据库还没有表。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此数据库还没有表。" } } } }, - "This DELETE query has no WHERE clause and will delete ALL rows in the table. This action cannot be undone.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn DELETE này không có mệnh đề WHERE và sẽ xóa TẤT CẢ dòng trong bảng. Thao tác này không thể hoàn tác." + "This DELETE query has no WHERE clause and will delete ALL rows in the table. This action cannot be undone." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn DELETE này không có mệnh đề WHERE và sẽ xóa TẤT CẢ dòng trong bảng. Thao tác này không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此 DELETE 查询没有 WHERE 子句,将删除表中的所有行。此操作无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此 DELETE 查询没有 WHERE 子句,将删除表中的所有行。此操作无法撤销。" } } } }, - "This DROP query will permanently remove database objects. This action cannot be undone.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn DROP này sẽ xóa vĩnh viễn các đối tượng cơ sở dữ liệu. Thao tác này không thể hoàn tác." + "This DROP query will permanently remove database objects. This action cannot be undone." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn DROP này sẽ xóa vĩnh viễn các đối tượng cơ sở dữ liệu. Thao tác này không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此 DROP 查询将永久删除数据库对象。此操作无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此 DROP 查询将永久删除数据库对象。此操作无法撤销。" } } } }, - "This Month": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tháng này" + "This Month" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tháng này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "本月" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "本月" } } } }, - "This operation is not supported": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thao tác này không được hỗ trợ" + "This operation is not supported" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thao tác này không được hỗ trợ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持此操作" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持此操作" } } } }, - "This plugin requires TablePro %@ or later": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Plugin này yêu cầu TablePro %@ trở lên" + "This plugin requires TablePro %@ or later" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plugin này yêu cầu TablePro %@ trở lên" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此插件需要 TablePro %@ 或更高版本" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此插件需要 TablePro %@ 或更高版本" } } } }, - "This query may permanently modify or delete data.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn này có thể sửa đổi hoặc xóa dữ liệu vĩnh viễn." + "This query may permanently modify or delete data." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn này có thể sửa đổi hoặc xóa dữ liệu vĩnh viễn." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此查询可能会永久修改或删除数据。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此查询可能会永久修改或删除数据。" } } } }, - "This shortcut is reserved by macOS and cannot be assigned.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phím tắt này được macOS dành riêng và không thể gán." + "This shortcut is reserved by macOS and cannot be assigned." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phím tắt này được macOS dành riêng và không thể gán." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此快捷键已被 macOS 保留,无法分配。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此快捷键已被 macOS 保留,无法分配。" } } } }, - "This SQL query failed with an error. Please fix it.\n\nQuery:\n```sql\n%@\n```\n\nError: %@": { - "extractionState": "stale", - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "This SQL query failed with an error. Please fix it.\n\nQuery:\n```sql\n%1$@\n```\n\nError: %2$@" + "This SQL query failed with an error. Please fix it.\n\nQuery:\n```sql\n%@\n```\n\nError: %@" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "This SQL query failed with an error. Please fix it.\n\nQuery:\n```sql\n%1$@\n```\n\nError: %2$@" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Câu truy vấn SQL sau đã thất bại với lỗi. Vui lòng sửa lỗi.\n\nTruy vấn:\n```sql\n%1$@\n```\n\nLỗi: %2$@" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Câu truy vấn SQL sau đã thất bại với lỗi. Vui lòng sửa lỗi.\n\nTruy vấn:\n```sql\n%1$@\n```\n\nLỗi: %2$@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此 SQL 查询执行失败并报错。请修复。\n\n查询:\n```sql\n%@\n```\n\n错误:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此 SQL 查询执行失败并报错。请修复。\n\n查询:\n```sql\n%@\n```\n\n错误:%@" } } } }, - "This TRUNCATE query will permanently delete all rows in the table. This action cannot be undone.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truy vấn TRUNCATE này sẽ xóa vĩnh viễn tất cả dòng trong bảng. Thao tác này không thể hoàn tác." + "This TRUNCATE query will permanently delete all rows in the table. This action cannot be undone." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truy vấn TRUNCATE này sẽ xóa vĩnh viễn tất cả dòng trong bảng. Thao tác này không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此 TRUNCATE 查询将永久删除表中的所有行。此操作无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此 TRUNCATE 查询将永久删除表中的所有行。此操作无法撤销。" } } } }, - "This Week": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tuần này" + "This Week" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tuần này" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "本周" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "本周" } } } }, - "This will permanently delete %lld %@. This action cannot be undone.": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "This will permanently delete %1$lld %2$@. This action cannot be undone." + "This will permanently delete %lld %@. This action cannot be undone." : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "This will permanently delete %1$lld %2$@. This action cannot be undone." } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thao tác này sẽ xóa vĩnh viễn %1$lld %2$@. Không thể hoàn tác." + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thao tác này sẽ xóa vĩnh viễn %1$lld %2$@. Không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此操作将永久删除 %lld 个%@。无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此操作将永久删除 %lld 个%@。无法撤销。" } } } }, - "This will permanently delete all query history entries. This action cannot be undone.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thao tác này sẽ xóa vĩnh viễn toàn bộ lịch sử truy vấn. Không thể hoàn tác." + "This will permanently delete all query history entries. This action cannot be undone." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thao tác này sẽ xóa vĩnh viễn toàn bộ lịch sử truy vấn. Không thể hoàn tác." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此操作将永久删除所有查询历史记录。无法撤销。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此操作将永久删除所有查询历史记录。无法撤销。" } } } }, - "This will remove the license from this machine. You can reactivate later.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thao tác này sẽ gỡ giấy phép khỏi máy này. Bạn có thể kích hoạt lại sau." + "This will remove the license from this machine. You can reactivate later." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thao tác này sẽ gỡ giấy phép khỏi máy này. Bạn có thể kích hoạt lại sau." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "此操作将从本机移除许可证。您可以稍后重新激活。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "此操作将从本机移除许可证。您可以稍后重新激活。" } } } }, - "TIMESTAMPS": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "THỜI GIAN" + "TIMESTAMPS" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "THỜI GIAN" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "时间戳" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "时间戳" } } } }, - "to view data": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "để xem dữ liệu" + "to view data" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "để xem dữ liệu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "以查看数据" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "以查看数据" } } } }, - "Today": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hôm nay" + "Today" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hôm nay" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "今天" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "今天" } } } }, - "Toggle AI Chat": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt AI Chat" + "Toggle AI Chat" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt AI Chat" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换 AI 聊天" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换 AI 聊天" } } } }, - "Toggle AI Chat (⌘⇧L)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt AI Chat (⌘⇧L)" + "Toggle AI Chat (⌘⇧L)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt AI Chat (⌘⇧L)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换 AI 聊天 (⌘⇧L)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换 AI 聊天 (⌘⇧L)" } } } }, - "Toggle filters": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt bộ lọc" + "Toggle filters" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换筛选" } } } }, - "Toggle Filters": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt bộ lọc" + "Toggle Filters" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt bộ lọc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换筛选" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换筛选" } } } }, - "Toggle Filters (⌘F)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt bộ lọc (⌘F)" + "Toggle Filters (⌘F)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt bộ lọc (⌘F)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换筛选 (⌘F)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换筛选 (⌘F)" } } } }, - "Toggle Filters (Cmd+F)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt bộ lọc (Cmd+F)" + "Toggle Filters (Cmd+F)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt bộ lọc (Cmd+F)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换筛选 (Cmd+F)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换筛选 (Cmd+F)" } } } }, - "Toggle History": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt lịch sử" + "Toggle History" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt lịch sử" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换历史记录" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换历史记录" } } } }, - "Toggle inspector": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt thanh kiểm tra" + "Toggle inspector" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt thanh kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换检查器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换检查器" } } } }, - "Toggle Inspector": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt thanh kiểm tra" + "Toggle Inspector" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt thanh kiểm tra" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换检查器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换检查器" } } } }, - "Toggle Inspector (⌘⌥B)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt thanh kiểm tra (⌘⌥B)" + "Toggle Inspector (⌘⌥B)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt thanh kiểm tra (⌘⌥B)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换检查器 (⌘⌥B)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换检查器 (⌘⌥B)" } } } }, - "Toggle query history": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt lịch sử truy vấn" + "Toggle query history" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt lịch sử truy vấn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换查询历史" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换查询历史" } } } }, - "Toggle Query History (⌘⇧H)": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt lịch sử truy vấn (⌘⇧H)" + "Toggle Query History (⌘⇧H)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt lịch sử truy vấn (⌘⇧H)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换查询历史 (⌘⇧H)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换查询历史 (⌘⇧H)" } } } }, - "Toggle Query History (⌘Y)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt lịch sử truy vấn (⌘Y)" + "Toggle Query History (⌘Y)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt lịch sử truy vấn (⌘Y)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换查询历史 (⌘Y)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换查询历史 (⌘Y)" } } } }, - "Toggle Table Browser": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bật/tắt trình duyệt bảng" + "Toggle Table Browser" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bật/tắt trình duyệt bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "切换表浏览器" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "切换表浏览器" } } } }, - "Total Size": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tổng kích thước" + "Total Size" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng kích thước" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "总大小" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "总大小" } } } }, - "true": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "true" + "true" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "true" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "true" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "true" } } } }, - "TRUE": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "TRUE" + "TRUE" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "TRUE" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "TRUE" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "TRUE" } } } }, - "Truncate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truncate" + "Truncate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truncate" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清空" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清空" } } } }, - "Truncate %lld tables": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm trống %lld bảng" + "Truncate %lld tables" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm trống %lld bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清空 %lld 个表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清空 %lld 个表" } } } }, - "Truncate Table": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Truncate bảng" + "Truncate Table" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Truncate bảng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清空表" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清空表" } } } }, - "Truncate table '%@'": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Làm trống bảng '%@'" + "Truncate table '%@'" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Làm trống bảng '%@'" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "清空表 '%@'" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "清空表 '%@'" } } } }, - "Try a different search term": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thử từ khoá tìm kiếm khác" + "Try a different search term" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thử từ khoá tìm kiếm khác" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尝试其他搜索词" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尝试其他搜索词" } } } }, - "Try adjusting your search terms\nor date filter.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thử điều chỉnh từ khoá tìm kiếm\nhoặc bộ lọc ngày." + "Try adjusting your search terms\nor date filter." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thử điều chỉnh từ khoá tìm kiếm\nhoặc bộ lọc ngày." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "尝试调整搜索词\n或日期筛选。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "尝试调整搜索词\n或日期筛选。" } } } }, - "Try Again": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thử lại" + "Try Again" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thử lại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "重试" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "重试" } } } }, - "Type": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Kiểu" + "Type" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "类型" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "类型" } } } }, - "Type shortcut...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Nhập phím tắt..." + "Type shortcut..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập phím tắt..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "输入快捷键..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入快捷键..." } } } }, - "Undo": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hoàn tác" + "Undo" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoàn tác" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "撤销" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "撤销" } } } }, - "Undo Delete": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Hoàn tác xóa" + "Undo Delete" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoàn tác xóa" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "撤销删除" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "撤销删除" } } } }, - "Uninstall": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gỡ cài đặt" + "Uninstall" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gỡ cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "卸载" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "卸载" } } } }, - "Uninstall Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gỡ cài đặt thất bại" + "Uninstall Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gỡ cài đặt thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "卸载失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "卸载失败" } } } }, - "Uninstall Plugin?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Gỡ cài đặt Plugin?" + "Uninstall Plugin?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gỡ cài đặt Plugin?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "卸载插件?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "卸载插件?" } } } }, - "Unique": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Duy nhất" + "Unique" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duy nhất" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "唯一" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "唯一" } } } }, - "UNIQUE": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "UNIQUE" + "UNIQUE" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "UNIQUE" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "UNIQUE" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "UNIQUE" } } } }, - "Unknown error": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lỗi không xác định" + "Unknown error" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi không xác định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未知错误" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未知错误" } } } }, - "Unlicensed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chưa có giấy phép" + "Unlicensed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chưa có giấy phép" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未授权" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未授权" } } } }, - "Unlimited": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không giới hạn" + "Unlimited" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không giới hạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无限制" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无限制" } } } }, - "Unset": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bỏ đặt" + "Unset" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bỏ đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "取消设置" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消设置" } } } }, - "Unsigned": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không dấu" + "Unsigned" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không dấu" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "无符号" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无符号" } } } }, - "Unsupported database scheme: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Scheme cơ sở dữ liệu không được hỗ trợ: %@" + "Unsupported database scheme: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scheme cơ sở dữ liệu không được hỗ trợ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持的数据库方案:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持的数据库方案:%@" } } } }, - "Unsupported MongoDB method: %@": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phương thức MongoDB không được hỗ trợ: %@" + "Unsupported MongoDB method: %@" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phương thức MongoDB không được hỗ trợ: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "不支持的 MongoDB 方法:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "不支持的 MongoDB 方法:%@" } } } }, - "Untitled": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Không có tiêu đề" + "Untitled" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có tiêu đề" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "未命名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "未命名" } } } }, - "Updated": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã cập nhật" + "Updated" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã cập nhật" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已更新" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已更新" } } } }, - "US Long (12/31/2024 11:59:59 PM)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mỹ dài (12/31/2024 11:59:59 PM)" + "US Long (12/31/2024 11:59:59 PM)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mỹ dài (12/31/2024 11:59:59 PM)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "美式长格式 (12/31/2024 11:59:59 PM)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "美式长格式 (12/31/2024 11:59:59 PM)" } } } }, - "US Short (12/31/2024)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mỹ ngắn (12/31/2024)" + "US Short (12/31/2024)" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mỹ ngắn (12/31/2024)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "美式短格式 (12/31/2024)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "美式短格式 (12/31/2024)" } } } }, - "Use Default": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mặc định" + "Use Default" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mặc định" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "使用默认" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "使用默认" } } } }, - "Use SSL if available": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Sử dụng SSL nếu có" + "Use SSL if available" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sử dụng SSL nếu có" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "可用时使用 SSL" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "可用时使用 SSL" } } } }, - "User": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Người dùng" + "User" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Người dùng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "用户" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "用户" } } } }, - "User-installed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Người dùng cài đặt" + "User-installed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Người dùng cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "用户安装" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "用户安装" } } } }, - "username": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "username" + "username" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "username" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "username" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "username" } } } }, - "Username": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tên người dùng" + "Username" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tên người dùng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "用户名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "用户名" } } } }, - "UTC_TIMESTAMP()": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "UTC_TIMESTAMP()" + "UTC_TIMESTAMP()" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "UTC_TIMESTAMP()" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "UTC_TIMESTAMP()" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "UTC_TIMESTAMP()" } } } }, - "v%@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "v%@" + "v%@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "v%@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "v%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "v%@" } } } }, - "Validation Failed": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác thực thất bại" + "Validation Failed" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực thất bại" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "验证失败" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "验证失败" } } } }, - "Value": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị" + "Value" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "值" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "值" } } } }, - "Value is required": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Giá trị là bắt buộc" + "Value is required" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giá trị là bắt buộc" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "值为必填项" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "值为必填项" } } } }, - "Verified by TablePro": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Đã xác minh bởi TablePro" + "Verified by TablePro" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã xác minh bởi TablePro" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已通过 TablePro 验证" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已通过 TablePro 验证" } } } }, - "Verify certificate and hostname": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác minh chứng chỉ và tên máy chủ" + "Verify certificate and hostname" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác minh chứng chỉ và tên máy chủ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "验证证书和主机名" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "验证证书和主机名" } } } }, - "Verify server certificate": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xác minh chứng chỉ máy chủ" + "Verify server certificate" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác minh chứng chỉ máy chủ" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "验证服务器证书" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "验证服务器证书" } } } }, - "Version %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phiên bản %@" + "Version %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phiên bản %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "版本 %@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "版本 %@" } } } }, - "Version %@ (Build %@)": { - "localizations": { - "en": { - "stringUnit": { - "state": "new", - "value": "Version %1$@ (Build %2$@)" + "Version %@ (Build %@)" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Version %1$@ (Build %2$@)" } }, - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phiên bản %1$@ (Bản dựng %2$@)" + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phiên bản %1$@ (Bản dựng %2$@)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "版本 %@(构建 %@)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "版本 %@(构建 %@)" } } } }, - "Version:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Phiên bản:" + "Version:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phiên bản:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "版本:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "版本:" } } } }, - "View": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Xem" + "View" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xem" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "视图" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "视图" } } } }, - "View: %@": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chế độ xem: %@" + "View: %@" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chế độ xem: %@" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "视图:%@" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "视图:%@" } } } }, - "Vim mode": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chế độ Vim" + "Vim mode" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chế độ Vim" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Vim 模式" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vim 模式" } } } }, - "WARNING: Failed to re-enable foreign key checks: %@. Please manually verify FK constraints are enabled.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "CẢNH BÁO: Bật lại kiểm tra khóa ngoại thất bại: %@. Vui lòng kiểm tra thủ công rằng ràng buộc FK đã được bật." + "WARNING: Failed to re-enable foreign key checks: %@. Please manually verify FK constraints are enabled." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CẢNH BÁO: Bật lại kiểm tra khóa ngoại thất bại: %@. Vui lòng kiểm tra thủ công rằng ràng buộc FK đã được bật." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "警告:重新启用外键检查失败:%@。请手动验证外键约束已启用。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "警告:重新启用外键检查失败:%@。请手动验证外键约束已启用。" } } } }, - "Website": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Trang web" + "Website" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trang web" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "网站" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "网站" } } } }, - "Welcome to TablePro": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Chào mừng đến với TablePro" + "Welcome to TablePro" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chào mừng đến với TablePro" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "欢迎使用 TablePro" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "欢迎使用 TablePro" } } } }, - "What you can do": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có thể làm gì" + "What you can do" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có thể làm gì" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "您可以做什么" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您可以做什么" } } } }, - "When enabled, clicking a new table replaces the current clean table tab instead of opening a new tab": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khi bật, nhấp vào bảng mới sẽ thay thế tab bảng trống hiện tại thay vì mở tab mới" + "When enabled, clicking a new table replaces the current clean table tab instead of opening a new tab" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khi bật, nhấp vào bảng mới sẽ thay thế tab bảng trống hiện tại thay vì mở tab mới" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启用后,点击新表将替换当前空白表标签页,而不是打开新标签页" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用后,点击新表将替换当前空白表标签页,而不是打开新标签页" } } } }, - "When enabled, clicking a table in the sidebar will replace the current tab if it has no unsaved changes and you haven't interacted with it (sorted, filtered, etc.).": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khi bật, nhấp vào bảng trong thanh bên sẽ thay thế tab hiện tại nếu không có thay đổi chưa lưu và bạn chưa tương tác với nó (sắp xếp, lọc, v.v.)." + "When enabled, clicking a table in the sidebar will replace the current tab if it has no unsaved changes and you haven't interacted with it (sorted, filtered, etc.)." : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khi bật, nhấp vào bảng trong thanh bên sẽ thay thế tab hiện tại nếu không có thay đổi chưa lưu và bạn chưa tương tác với nó (sắp xếp, lọc, v.v.)." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "启用后,点击侧边栏中的表将替换当前标签页(如果没有未保存的更改且您未与之交互过,如排序、筛选等)。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用后,点击侧边栏中的表将替换当前标签页(如果没有未保存的更改且您未与之交互过,如排序、筛选等)。" } } } }, - "When TablePro starts:": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Khi TablePro khởi động:" + "When TablePro starts:" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khi TablePro khởi động:" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "TablePro 启动时:" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "TablePro 启动时:" } } } }, - "WHERE clause...": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Mệnh đề WHERE..." + "WHERE clause..." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mệnh đề WHERE..." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "WHERE 子句..." + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "WHERE 子句..." } } } }, - "Word wrap": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Tự động xuống dòng" + "Word wrap" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động xuống dòng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "自动换行" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动换行" } } } }, - "Wrap in transaction (BEGIN/COMMIT)": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bọc trong giao dịch (BEGIN/COMMIT)" + "Wrap in transaction (BEGIN/COMMIT)" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bọc trong giao dịch (BEGIN/COMMIT)" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "包裹在事务中 (BEGIN/COMMIT)" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "包裹在事务中 (BEGIN/COMMIT)" } } } }, - "Write Concern": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Write Concern" + "Write Concern" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Write Concern" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "Write Concern" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Write Concern" } } } }, - "Yellow": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Vàng" + "Yellow" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vàng" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "黄色" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "黄色" } } } }, - "You": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn" + "You" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "你" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "你" } } } }, - "You can re-enable this in Settings": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có thể bật lại trong Cài đặt" + "You can re-enable this in Settings" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có thể bật lại trong Cài đặt" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "您可以在设置中重新启用" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您可以在设置中重新启用" } } } }, - "You have unsaved changes to the table structure. Refreshing will discard these changes.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn có thay đổi chưa lưu trong cấu trúc bảng. Làm mới sẽ hủy các thay đổi này." + "You have unsaved changes to the table structure. Refreshing will discard these changes." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có thay đổi chưa lưu trong cấu trúc bảng. Làm mới sẽ hủy các thay đổi này." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "您有未保存的表结构更改。刷新将丢弃这些更改。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您有未保存的表结构更改。刷新将丢弃这些更改。" } } } }, - "You're all set!": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Bạn đã sẵn sàng!" + "You're all set!" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn đã sẵn sàng!" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "一切就绪!" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "一切就绪!" } } } }, - "Your changes will be lost if you don't save them.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Thay đổi của bạn sẽ bị mất nếu không lưu." + "Your changes will be lost if you don't save them." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thay đổi của bạn sẽ bị mất nếu không lưu." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "如果不保存,您的更改将会丢失。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如果不保存,您的更改将会丢失。" } } } }, - "Your database schema and query data will be sent to the AI provider for analysis. Allow for this connection?": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Lược đồ cơ sở dữ liệu và dữ liệu truy vấn sẽ được gửi đến nhà cung cấp AI để phân tích. Cho phép kết nối này?" + "Your database schema and query data will be sent to the AI provider for analysis. Allow for this connection?" : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lược đồ cơ sở dữ liệu và dữ liệu truy vấn sẽ được gửi đến nhà cung cấp AI để phân tích. Cho phép kết nối này?" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "您的数据库结构和查询数据将被发送给 AI 提供商进行分析。是否允许此连接?" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您的数据库结构和查询数据将被发送给 AI 提供商进行分析。是否允许此连接?" } } } }, - "Your executed queries will\nappear here for quick access.": { - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Các truy vấn đã thực thi sẽ\nxuất hiện ở đây để truy cập nhanh." + "Your executed queries will\nappear here for quick access." : { + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Các truy vấn đã thực thi sẽ\nxuất hiện ở đây để truy cập nhanh." } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "已执行的查询将\n显示在此处以便快速访问。" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已执行的查询将\n显示在此处以便快速访问。" } } } }, - "Zero Fill": { - "extractionState": "stale", - "localizations": { - "vi": { - "stringUnit": { - "state": "translated", - "value": "Điền số 0" + "Zero Fill" : { + "extractionState" : "stale", + "localizations" : { + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Điền số 0" } }, - "zh-Hans": { - "stringUnit": { - "state": "translated", - "value": "零填充" + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "零填充" } } } } }, - "version": "1.0" -} + "version" : "1.0" +} \ No newline at end of file diff --git a/TablePro/Views/Connection/ConnectionFormView.swift b/TablePro/Views/Connection/ConnectionFormView.swift index 7249d388..3068712c 100644 --- a/TablePro/Views/Connection/ConnectionFormView.swift +++ b/TablePro/Views/Connection/ConnectionFormView.swift @@ -24,19 +24,8 @@ struct ConnectionFormView: View { private var isNew: Bool { connectionId == nil } private var availableDatabaseTypes: [DatabaseType] { - let pluginManager = PluginManager.shared - pluginManager.loadPendingPlugins() - let enabled = DatabaseType.allCases.filter { dbType in - pluginManager.plugins.contains { entry in - entry.isEnabled && (entry.databaseTypeId == dbType.pluginTypeId - || entry.additionalTypeIds.contains(dbType.pluginTypeId)) - } - } - // When editing, always include the current type so the picker binding stays valid - if !isNew, !enabled.contains(type) { - return [type] + enabled - } - return enabled + PluginManager.shared.loadPendingPlugins() + return DatabaseType.allCases } @State private var name: String = "" @@ -99,6 +88,10 @@ struct ConnectionFormView: View { @State private var isTesting: Bool = false @State private var testResult: TestResult? + @State private var isInstallingPlugin = false + @State private var pluginInstallProgress: Double = 0 + @State private var showPluginInstallError: String? + // Tab selection @State private var selectedTab: FormTab = .general @@ -149,13 +142,16 @@ struct ConnectionFormView: View { loadConnectionData() loadSSHConfig() } - .onChange(of: type) { + .onChange(of: type) { _, newType in if hasLoadedData { - port = String(type.defaultPort) + port = String(newType.defaultPort) } - if type == .sqlite && (selectedTab == .ssh || selectedTab == .ssl) { + if newType == .sqlite && (selectedTab == .ssh || selectedTab == .ssl) { selectedTab = .general } + if newType.isDownloadablePlugin && !PluginManager.shared.isDriverAvailable(for: newType) { + installPluginForType(newType) + } } } @@ -195,7 +191,22 @@ struct ConnectionFormView: View { Section { Picker(String(localized: "Type"), selection: $type) { ForEach(availableDatabaseTypes) { t in - Text(t.rawValue).tag(t) + Label { + HStack { + Text(t.rawValue) + if t.isDownloadablePlugin && !PluginManager.shared.isDriverAvailable(for: t) { + Image(systemName: "arrow.down.circle") + .foregroundStyle(.secondary) + .font(.caption) + } + } + } icon: { + Image(t.iconName) + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 20, height: 20) + } + .tag(t) } } TextField( @@ -760,6 +771,24 @@ struct ConnectionFormView: View { } } + private func installPluginForType(_ databaseType: DatabaseType) { + isInstallingPlugin = true + pluginInstallProgress = 0 + showPluginInstallError = nil + + Task { + do { + try await PluginManager.shared.installMissingPlugin(for: databaseType) { progress in + pluginInstallProgress = progress + } + isInstallingPlugin = false + } catch { + isInstallingPlugin = false + showPluginInstallError = error.localizedDescription + } + } + } + private func loadConnectionData() { // If editing, load from storage if let id = connectionId, @@ -922,8 +951,42 @@ struct ConnectionFormView: View { do { try await dbManager.connectToSession(connection) } catch { - Self.logger.error( - "Failed to connect: \(error.localizedDescription, privacy: .public)") + if case PluginError.pluginNotInstalled = error { + Self.logger.info("Plugin not installed for \(connection.type.rawValue), prompting install") + handleMissingPlugin(connection: connection) + } else { + Self.logger.error( + "Failed to connect: \(error.localizedDescription, privacy: .public)") + } + } + } + } + + private func handleMissingPlugin(connection: DatabaseConnection) { + NSApplication.shared.closeWindows(withId: "main") + + let alert = NSAlert() + alert.messageText = String(localized: "Plugin Not Installed") + alert.informativeText = String( + localized: "The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?" + ) + alert.addButton(withTitle: String(localized: "Install")) + alert.addButton(withTitle: String(localized: "Cancel")) + alert.alertStyle = .informational + + let response = alert.runModal() + if response == .alertFirstButtonReturn { + Task { + do { + try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } + connectToDatabase(connection) + } catch { + AlertHelper.showErrorSheet( + title: String(localized: "Plugin Installation Failed"), + message: error.localizedDescription, + window: nil + ) + } } } } diff --git a/TablePro/Views/Connection/WelcomeWindowView.swift b/TablePro/Views/Connection/WelcomeWindowView.swift index 90869319..37b63d7c 100644 --- a/TablePro/Views/Connection/WelcomeWindowView.swift +++ b/TablePro/Views/Connection/WelcomeWindowView.swift @@ -468,24 +468,26 @@ struct WelcomeWindowView: View { openWindow(id: "main", value: EditorTabPayload(connectionId: connection.id)) NSApplication.shared.closeWindows(withId: "welcome") - // Connect in background - main window shows loading state Task { do { try await dbManager.connectToSession(connection) } catch { - Self.logger.error( - "Failed to connect: \(error.localizedDescription, privacy: .public)") - handleConnectionFailure(error: error) + if case PluginError.pluginNotInstalled = error { + Self.logger.info("Plugin not installed for \(connection.type.rawValue), prompting install") + handleMissingPlugin(connection: connection) + } else { + Self.logger.error( + "Failed to connect: \(error.localizedDescription, privacy: .public)") + handleConnectionFailure(error: error) + } } } } private func handleConnectionFailure(error: Error) { - // Close the main window first so macOS doesn't merge it with the welcome window NSApplication.shared.closeWindows(withId: "main") openWindow(id: "welcome") - // Show error as modal — welcome window is now the only window AlertHelper.showErrorSheet( title: String(localized: "Connection Failed"), message: error.localizedDescription, @@ -493,6 +495,36 @@ struct WelcomeWindowView: View { ) } + private func handleMissingPlugin(connection: DatabaseConnection) { + NSApplication.shared.closeWindows(withId: "main") + openWindow(id: "welcome") + + let alert = NSAlert() + alert.messageText = String(localized: "Plugin Not Installed") + alert.informativeText = String( + localized: "The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?" + ) + alert.addButton(withTitle: String(localized: "Install")) + alert.addButton(withTitle: String(localized: "Cancel")) + alert.alertStyle = .informational + + let response = alert.runModal() + if response == .alertFirstButtonReturn { + Task { + do { + try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } + connectToDatabase(connection) + } catch { + AlertHelper.showErrorSheet( + title: String(localized: "Plugin Installation Failed"), + message: error.localizedDescription, + window: nil + ) + } + } + } + } + private func deleteConnection(_ connection: DatabaseConnection) { connections.removeAll { $0.id == connection.id } storage.deleteConnection(connection) diff --git a/docs/databases/clickhouse.mdx b/docs/databases/clickhouse.mdx index 8ee6e474..81f72db1 100644 --- a/docs/databases/clickhouse.mdx +++ b/docs/databases/clickhouse.mdx @@ -7,6 +7,14 @@ description: Connect to ClickHouse databases with TablePro TablePro supports ClickHouse via its HTTP interface. ClickHouse is a column-oriented OLAP database built for real-time analytics on large datasets. TablePro connects over HTTP (port 8123 by default), not the native TCP protocol. +## Install Plugin + +The ClickHouse driver is available as a downloadable plugin. When you select ClickHouse in the connection form, TablePro will prompt you to install it automatically. You can also install it manually: + +1. Open **Settings** > **Plugins** > **Browse** +2. Find **ClickHouse Driver** and click **Install** +3. The plugin downloads and loads immediately - no restart needed + ## Quick Setup diff --git a/docs/databases/oracle.mdx b/docs/databases/oracle.mdx index 8af4bd47..f6b73557 100644 --- a/docs/databases/oracle.mdx +++ b/docs/databases/oracle.mdx @@ -11,6 +11,14 @@ TablePro supports Oracle Database 12c and later via Oracle Call Interface (OCI). Oracle Instant Client must be installed before connecting to Oracle Database. Download it from [Oracle's website](https://www.oracle.com/database/technologies/instant-client.html) and ensure the libraries are accessible. +## Install Plugin + +The Oracle driver is available as a downloadable plugin. When you select Oracle in the connection form, TablePro will prompt you to install it automatically. You can also install it manually: + +1. Open **Settings** > **Plugins** > **Browse** +2. Find **Oracle Driver** and click **Install** +3. The plugin downloads and loads immediately - no restart needed + ## Quick Setup diff --git a/docs/vi/databases/clickhouse.mdx b/docs/vi/databases/clickhouse.mdx index 9e5e682b..2b4be8b7 100644 --- a/docs/vi/databases/clickhouse.mdx +++ b/docs/vi/databases/clickhouse.mdx @@ -7,6 +7,14 @@ description: Kết nối cơ sở dữ liệu ClickHouse với TablePro TablePro hỗ trợ ClickHouse thông qua giao diện HTTP. ClickHouse là cơ sở dữ liệu OLAP hướng cột được xây dựng cho phân tích thời gian thực trên tập dữ liệu lớn. TablePro kết nối qua HTTP (cổng 8123 mặc định), không phải giao thức TCP gốc. +## Cài đặt Plugin + +Driver ClickHouse có sẵn dưới dạng plugin tải về. Khi bạn chọn ClickHouse trong form kết nối, TablePro sẽ tự động nhắc bạn cài đặt. Bạn cũng có thể cài đặt thủ công: + +1. Mở **Cài đặt** > **Plugin** > **Duyệt** +2. Tìm **ClickHouse Driver** và nhấn **Cài đặt** +3. Plugin được tải và kích hoạt ngay lập tức, không cần khởi động lại + ## Thiết lập Nhanh diff --git a/docs/vi/databases/oracle.mdx b/docs/vi/databases/oracle.mdx index be89731e..9a47aadd 100644 --- a/docs/vi/databases/oracle.mdx +++ b/docs/vi/databases/oracle.mdx @@ -11,6 +11,14 @@ TablePro hỗ trợ Oracle Database 12c và các phiên bản mới hơn thông Oracle Instant Client phải được cài đặt trước khi kết nối với Oracle Database. Tải về từ [trang web Oracle](https://www.oracle.com/database/technologies/instant-client.html) và đảm bảo các thư viện có thể truy cập được. +## Cài đặt Plugin + +Driver Oracle có sẵn dưới dạng plugin tải về. Khi bạn chọn Oracle trong form kết nối, TablePro sẽ tự động nhắc bạn cài đặt. Bạn cũng có thể cài đặt thủ công: + +1. Mở **Cài đặt** > **Plugin** > **Duyệt** +2. Tìm **Oracle Driver** và nhấn **Cài đặt** +3. Plugin được tải và kích hoạt ngay lập tức, không cần khởi động lại + ## Thiết lập nhanh diff --git a/scripts/build-plugin.sh b/scripts/build-plugin.sh new file mode 100755 index 00000000..1973a03a --- /dev/null +++ b/scripts/build-plugin.sh @@ -0,0 +1,157 @@ +#!/bin/bash +set -euo pipefail + +# Build script for creating standalone plugin bundles +# Usage: ./scripts/build-plugin.sh [arm64|x86_64|both] +# Example: ./scripts/build-plugin.sh OracleDriverPlugin arm64 + +PLUGIN_TARGET="${1:?Usage: $0 [arm64|x86_64|both]}" +ARCH="${2:-both}" +PROJECT="TablePro.xcodeproj" +CONFIG="Release" +BUILD_DIR="build/Plugins" +SIGN_IDENTITY="${SIGN_IDENTITY:-Developer ID Application: Dat Ngo Quoc (D7HJ5TFYCU)}" +TEAM_ID="D7HJ5TFYCU" +NOTARIZE="${NOTARIZE:-false}" +APPLE_ID="${APPLE_ID:-datngoquoc@icloud.com}" + +echo "Building plugin: $PLUGIN_TARGET for $ARCH" + +build_plugin() { + local arch=$1 + local build_dir="$BUILD_DIR/$arch" + + echo "" + echo "Building $PLUGIN_TARGET ($arch)..." + + # Persistent SPM package cache (speeds up CI on self-hosted runners) + SPM_CACHE_DIR="${HOME}/.spm-cache" + mkdir -p "$SPM_CACHE_DIR" + + if ! xcodebuild \ + -project "$PROJECT" \ + -target "$PLUGIN_TARGET" \ + -configuration "$CONFIG" \ + -arch "$arch" \ + ONLY_ACTIVE_ARCH=YES \ + CONFIGURATION_BUILD_DIR="$build_dir" \ + CODE_SIGN_IDENTITY="$SIGN_IDENTITY" \ + CODE_SIGN_STYLE=Manual \ + DEVELOPMENT_TEAM="$TEAM_ID" \ + -skipPackagePluginValidation \ + -clonedSourcePackagesDirPath "$SPM_CACHE_DIR" \ + build 2>&1 | tee "build-plugin-${arch}.log"; then + echo "FATAL: xcodebuild failed for $PLUGIN_TARGET ($arch)" + echo "Check build-plugin-${arch}.log for details" + exit 1 + fi + + # Find the built plugin bundle + local plugin_bundle + plugin_bundle=$(find "$build_dir" -name "*.tableplugin" -maxdepth 1 | head -1) + + if [ -z "$plugin_bundle" ]; then + echo "FATAL: No .tableplugin bundle found in $build_dir" + exit 1 + fi + + echo "Built: $plugin_bundle" + + # Strip the plugin binary to reduce size + local plugin_name + plugin_name=$(basename "$plugin_bundle" .tableplugin) + local plugin_binary="$plugin_bundle/Contents/MacOS/$plugin_name" + if [ -f "$plugin_binary" ]; then + local before after + before=$(ls -lh "$plugin_binary" | awk '{print $5}') + strip -x "$plugin_binary" + after=$(ls -lh "$plugin_binary" | awk '{print $5}') + echo "Stripped binary: $before -> $after" + fi + + # Code sign: sign the binary first, then the bundle (inside-out) + echo "Code signing with: $SIGN_IDENTITY" + if [ -f "$plugin_binary" ]; then + codesign -fs "$SIGN_IDENTITY" --force --options runtime --timestamp "$plugin_binary" + fi + codesign -fs "$SIGN_IDENTITY" --force --options runtime --timestamp "$plugin_bundle" + + if ! codesign --verify --deep --strict "$plugin_bundle" 2>&1; then + echo "FATAL: Code signature verification failed" + exit 1 + fi + echo "Code signature verified" + + echo "$plugin_bundle" +} + +create_zip() { + local plugin_path=$1 + local arch=$2 + local plugin_name + plugin_name=$(basename "$plugin_path" .tableplugin) + local zip_name="${plugin_name}-${arch}.zip" + local zip_path="$BUILD_DIR/$zip_name" + + echo "Creating ZIP: $zip_name" + ditto -c -k --keepParent "$plugin_path" "$zip_path" + + # Print SHA-256 for registry manifest + local sha256 + sha256=$(shasum -a 256 "$zip_path" | awk '{print $1}') + echo "ZIP created: $zip_path" + echo " SHA-256: $sha256" + echo " Size: $(ls -lh "$zip_path" | awk '{print $5}')" +} + +notarize_zip() { + local zip_path=$1 + + if [ "$NOTARIZE" != "true" ]; then + echo "Skipping notarization (set NOTARIZE=true to enable)" + return + fi + + echo "Submitting for notarization..." + if xcrun notarytool submit "$zip_path" \ + --apple-id "$APPLE_ID" \ + --team-id "$TEAM_ID" \ + --keychain-profile "notarytool-profile" \ + --wait; then + echo "Notarization complete" + else + echo "FATAL: Notarization failed for $zip_path" + exit 1 + fi +} + +# Clean build directory +rm -rf "$BUILD_DIR" +mkdir -p "$BUILD_DIR" + +case "$ARCH" in + arm64|x86_64) + plugin_path=$(build_plugin "$ARCH") + create_zip "$plugin_path" "$ARCH" + notarize_zip "$BUILD_DIR/$(basename "$plugin_path" .tableplugin)-${ARCH}.zip" + ;; + both) + arm64_path=$(build_plugin "arm64") + x86_path=$(build_plugin "x86_64") + + create_zip "$arm64_path" "arm64" + create_zip "$x86_path" "x86_64" + + notarize_zip "$BUILD_DIR/$(basename "$arm64_path" .tableplugin)-arm64.zip" + notarize_zip "$BUILD_DIR/$(basename "$x86_path" .tableplugin)-x86_64.zip" + ;; + *) + echo "Invalid architecture: $ARCH (use arm64, x86_64, or both)" + exit 1 + ;; +esac + +echo "" +echo "Plugin build complete!" +echo "Output: $BUILD_DIR/" +ls -lh "$BUILD_DIR/"*.zip 2>/dev/null || echo "No ZIP files found" From 824a79fc633c07f572d1c2beaa71647bac1b228b Mon Sep 17 00:00:00 2001 From: Ngo Quoc Dat Date: Tue, 10 Mar 2026 00:47:56 +0700 Subject: [PATCH 2/2] fix: address code review issues in downloadable plugins - Replace NSAlert.runModal() with SwiftUI state-driven .alert modifiers - Break infinite install-retry loop with separate connectAfterInstall path - Handle partial plugin install state (re-enable or reinstall stale entry) - Reopen welcome window in ConnectionFormView.handleMissingPlugin - Disable Test/Save buttons and show progress during plugin install - Sign nested frameworks inside-out in build-plugin.sh --- TablePro/Core/Plugins/PluginManager.swift | 19 ++- .../Views/Connection/ConnectionFormView.swift | 114 ++++++++++++++---- .../Views/Connection/WelcomeWindowView.swift | 84 +++++++++---- scripts/build-plugin.sh | 14 ++- 4 files changed, 182 insertions(+), 49 deletions(-) diff --git a/TablePro/Core/Plugins/PluginManager.swift b/TablePro/Core/Plugins/PluginManager.swift index 7a61ed27..79dce689 100644 --- a/TablePro/Core/Plugins/PluginManager.swift +++ b/TablePro/Core/Plugins/PluginManager.swift @@ -293,6 +293,24 @@ final class PluginManager { for databaseType: DatabaseType, progress: @escaping @MainActor @Sendable (Double) -> Void ) async throws { + let pluginTypeId = databaseType.pluginTypeId + + if let existingEntry = plugins.first(where: { entry in + entry.databaseTypeId == pluginTypeId || entry.additionalTypeIds.contains(pluginTypeId) + }) { + if !existingEntry.isEnabled { + setEnabled(true, pluginId: existingEntry.id) + } + if driverPlugins[pluginTypeId] != nil { + Self.logger.info("Re-enabled existing plugin '\(existingEntry.name)' for '\(databaseType.rawValue)'") + return + } + Self.logger.warning("Plugin '\(existingEntry.id)' exists but driver not registered, reinstalling") + if existingEntry.source == .userInstalled { + try? uninstallPlugin(id: existingEntry.id) + } + } + let registryClient = RegistryClient.shared await registryClient.fetchManifest() @@ -300,7 +318,6 @@ final class PluginManager { throw PluginError.downloadFailed(String(localized: "Could not fetch plugin registry")) } - let pluginTypeId = databaseType.pluginTypeId guard let registryPlugin = manifest.plugins.first(where: { plugin in plugin.databaseTypeIds?.contains(pluginTypeId) == true }) else { diff --git a/TablePro/Views/Connection/ConnectionFormView.swift b/TablePro/Views/Connection/ConnectionFormView.swift index 3068712c..205cbb0b 100644 --- a/TablePro/Views/Connection/ConnectionFormView.swift +++ b/TablePro/Views/Connection/ConnectionFormView.swift @@ -91,6 +91,8 @@ struct ConnectionFormView: View { @State private var isInstallingPlugin = false @State private var pluginInstallProgress: Double = 0 @State private var showPluginInstallError: String? + @State private var pluginInstallConnection: DatabaseConnection? + @State private var showPluginInstallFailed: String? // Tab selection @State private var selectedTab: FormTab = .general @@ -153,6 +155,42 @@ struct ConnectionFormView: View { installPluginForType(newType) } } + .alert( + String(localized: "Plugin Not Installed"), + isPresented: Binding( + get: { pluginInstallConnection != nil }, + set: { if !$0 { pluginInstallConnection = nil } } + ) + ) { + Button(String(localized: "Install")) { + if let connection = pluginInstallConnection { + pluginInstallConnection = nil + installAndConnect(connection) + } + } + Button(String(localized: "Cancel"), role: .cancel) { + pluginInstallConnection = nil + } + } message: { + if let connection = pluginInstallConnection { + Text("The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?") + } + } + .alert( + String(localized: "Plugin Installation Failed"), + isPresented: Binding( + get: { showPluginInstallFailed != nil }, + set: { if !$0 { showPluginInstallFailed = nil } } + ) + ) { + Button("OK", role: .cancel) { + showPluginInstallFailed = nil + } + } message: { + if let message = showPluginInstallFailed { + Text(message) + } + } } // MARK: - Tab Picker Helpers @@ -664,7 +702,18 @@ struct ConnectionFormView: View { private var footer: some View { VStack(alignment: .leading, spacing: 8) { - // Error message + if isInstallingPlugin { + HStack(spacing: 6) { + ProgressView() + .controlSize(.small) + Text("Installing plugin...") + .font(.caption) + .foregroundStyle(.secondary) + } + .padding(.horizontal, 16) + .padding(.top, 8) + } + if case .failure(let message) = testResult { HStack(alignment: .top, spacing: 6) { Image(systemName: "exclamationmark.triangle.fill") @@ -678,6 +727,19 @@ struct ConnectionFormView: View { .padding(.top, 8) } + if let pluginError = showPluginInstallError { + HStack(alignment: .top, spacing: 6) { + Image(systemName: "exclamationmark.triangle.fill") + .foregroundStyle(.red) + Text(pluginError) + .font(.caption) + .foregroundStyle(.red) + .fixedSize(horizontal: false, vertical: true) + } + .padding(.horizontal, 16) + .padding(.top, 8) + } + HStack { // Test connection Button(action: testConnection) { @@ -692,7 +754,7 @@ struct ConnectionFormView: View { Text("Test Connection") } } - .disabled(isTesting || !isValid) + .disabled(isTesting || isInstallingPlugin || !isValid) Spacer() @@ -714,7 +776,7 @@ struct ConnectionFormView: View { } .keyboardShortcut(.return) .buttonStyle(.borderedProminent) - .disabled(!isValid) + .disabled(!isValid || isInstallingPlugin) } .padding(.horizontal, 16) .padding(.vertical, 12) @@ -964,29 +1026,31 @@ struct ConnectionFormView: View { private func handleMissingPlugin(connection: DatabaseConnection) { NSApplication.shared.closeWindows(withId: "main") + openWindow(id: "welcome") + pluginInstallConnection = connection + } - let alert = NSAlert() - alert.messageText = String(localized: "Plugin Not Installed") - alert.informativeText = String( - localized: "The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?" - ) - alert.addButton(withTitle: String(localized: "Install")) - alert.addButton(withTitle: String(localized: "Cancel")) - alert.alertStyle = .informational - - let response = alert.runModal() - if response == .alertFirstButtonReturn { - Task { - do { - try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } - connectToDatabase(connection) - } catch { - AlertHelper.showErrorSheet( - title: String(localized: "Plugin Installation Failed"), - message: error.localizedDescription, - window: nil - ) - } + private func installAndConnect(_ connection: DatabaseConnection) { + Task { + do { + try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } + connectAfterInstall(connection) + } catch { + showPluginInstallFailed = error.localizedDescription + } + } + } + + private func connectAfterInstall(_ connection: DatabaseConnection) { + openWindow(id: "main", value: EditorTabPayload(connectionId: connection.id)) + NSApplication.shared.closeWindows(withId: "welcome") + + Task { + do { + try await dbManager.connectToSession(connection) + } catch { + Self.logger.error( + "Failed to connect after plugin install: \(error.localizedDescription, privacy: .public)") } } } diff --git a/TablePro/Views/Connection/WelcomeWindowView.swift b/TablePro/Views/Connection/WelcomeWindowView.swift index 37b63d7c..8abf5611 100644 --- a/TablePro/Views/Connection/WelcomeWindowView.swift +++ b/TablePro/Views/Connection/WelcomeWindowView.swift @@ -34,6 +34,8 @@ struct WelcomeWindowView: View { return Set(strings.compactMap { UUID(uuidString: $0) }) }() @State private var showNewGroupSheet = false + @State private var pluginInstallConnection: DatabaseConnection? + @State private var showPluginInstallFailed: String? @Environment(\.openWindow) private var openWindow @@ -116,6 +118,42 @@ struct WelcomeWindowView: View { groups = groupStorage.loadGroups() } } + .alert( + String(localized: "Plugin Not Installed"), + isPresented: Binding( + get: { pluginInstallConnection != nil }, + set: { if !$0 { pluginInstallConnection = nil } } + ) + ) { + Button(String(localized: "Install")) { + if let connection = pluginInstallConnection { + pluginInstallConnection = nil + installAndConnect(connection) + } + } + Button(String(localized: "Cancel"), role: .cancel) { + pluginInstallConnection = nil + } + } message: { + if let connection = pluginInstallConnection { + Text("The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?") + } + } + .alert( + String(localized: "Plugin Installation Failed"), + isPresented: Binding( + get: { showPluginInstallFailed != nil }, + set: { if !$0 { showPluginInstallFailed = nil } } + ) + ) { + Button("OK", role: .cancel) { + showPluginInstallFailed = nil + } + } message: { + if let message = showPluginInstallFailed { + Text(message) + } + } } private var welcomeContent: some View { @@ -498,29 +536,31 @@ struct WelcomeWindowView: View { private func handleMissingPlugin(connection: DatabaseConnection) { NSApplication.shared.closeWindows(withId: "main") openWindow(id: "welcome") + pluginInstallConnection = connection + } - let alert = NSAlert() - alert.messageText = String(localized: "Plugin Not Installed") - alert.informativeText = String( - localized: "The \(connection.type.rawValue) plugin is not installed. Would you like to download it from the plugin marketplace?" - ) - alert.addButton(withTitle: String(localized: "Install")) - alert.addButton(withTitle: String(localized: "Cancel")) - alert.alertStyle = .informational - - let response = alert.runModal() - if response == .alertFirstButtonReturn { - Task { - do { - try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } - connectToDatabase(connection) - } catch { - AlertHelper.showErrorSheet( - title: String(localized: "Plugin Installation Failed"), - message: error.localizedDescription, - window: nil - ) - } + private func installAndConnect(_ connection: DatabaseConnection) { + Task { + do { + try await PluginManager.shared.installMissingPlugin(for: connection.type) { _ in } + connectAfterInstall(connection) + } catch { + showPluginInstallFailed = error.localizedDescription + } + } + } + + private func connectAfterInstall(_ connection: DatabaseConnection) { + openWindow(id: "main", value: EditorTabPayload(connectionId: connection.id)) + NSApplication.shared.closeWindows(withId: "welcome") + + Task { + do { + try await dbManager.connectToSession(connection) + } catch { + Self.logger.error( + "Failed to connect after plugin install: \(error.localizedDescription, privacy: .public)") + handleConnectionFailure(error: error) } } } diff --git a/scripts/build-plugin.sh b/scripts/build-plugin.sh index 1973a03a..1a580841 100755 --- a/scripts/build-plugin.sh +++ b/scripts/build-plugin.sh @@ -69,11 +69,23 @@ build_plugin() { echo "Stripped binary: $before -> $after" fi - # Code sign: sign the binary first, then the bundle (inside-out) + # Code sign inside-out: nested frameworks/dylibs first, then binary, then bundle echo "Code signing with: $SIGN_IDENTITY" + + # Sign nested frameworks + if [ -d "$plugin_bundle/Contents/Frameworks" ]; then + find "$plugin_bundle/Contents/Frameworks" -name "*.framework" -o -name "*.dylib" | sort | while read -r nested; do + echo " Signing nested: $(basename "$nested")" + codesign -fs "$SIGN_IDENTITY" --force --options runtime --timestamp "$nested" + done + fi + + # Sign the main binary if [ -f "$plugin_binary" ]; then codesign -fs "$SIGN_IDENTITY" --force --options runtime --timestamp "$plugin_binary" fi + + # Sign the outer bundle codesign -fs "$SIGN_IDENTITY" --force --options runtime --timestamp "$plugin_bundle" if ! codesign --verify --deep --strict "$plugin_bundle" 2>&1; then