@emqx/shared-ui-i18n 0.0.52 → 0.0.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/en/flow.d.ts CHANGED
@@ -31,4 +31,23 @@ export declare const enFlow: {
31
31
  incorrectInputOutputConnection: string;
32
32
  incorrectOutputNodeConnection: string;
33
33
  incorrectDefaultNodeConnection: string;
34
+ input: string;
35
+ systemPromptDesc: string;
36
+ model: string;
37
+ maxTokens: string;
38
+ anthropicVersion: string;
39
+ apiKey: string;
40
+ baseURL: string;
41
+ geminiBaseUrlTips: string;
42
+ aiOutputAlias: string;
43
+ aiOutputAliasDesc: string;
44
+ aliasDesc: string;
45
+ connectTimeout: string;
46
+ recvTimeout: string;
47
+ checkoutTimeout: string;
48
+ maxConn: string;
49
+ maxConnectionsDesc: string;
50
+ checkoutTimeoutDesc: string;
51
+ confirm: string;
52
+ baseURLDesc: string;
34
53
  };
package/dist/index.js CHANGED
@@ -1704,7 +1704,7 @@ HGETALL mqtt_acl:\${username}`
1704
1704
  time_interval: "在上传前将事件聚合到单个对象中的时间量。",
1705
1705
  content: "要存储的对象的内容。默认情况下,它是包含所有字段的 JSON 文本格式。支持如 ${'{'}payload{'}'} 的占位符设置。存储格式取决于变量的格式,支持二进制内容。",
1706
1706
  blob: "Azure Blob Storage blob 名称。",
1707
- container: "Azure Blob Storage 容器名称。"
1707
+ parameters_container: "Azure Blob Storage 容器名称。"
1708
1708
  },
1709
1709
  snowflake: {
1710
1710
  private_key: `为 Pipe User 配置的私钥。支持以下输入格式:
@@ -2139,7 +2139,7 @@ Default: 1, i.e., the primary shard.`,
2139
2139
  time_interval: "Amount of time events will be aggregated in a single object before uploading.",
2140
2140
  content: "The content of the object to be uploaded supports placeholders.",
2141
2141
  blob: "Azure Blob Storage blob name.",
2142
- container: "Azure Blob Storage container name."
2142
+ parameters_container: "Azure Blob Storage container name."
2143
2143
  },
2144
2144
  snowflake: {
2145
2145
  private_key: `The private key configured for the Pipe User. This supports the input formats below:
@@ -2799,7 +2799,26 @@ Default: 1, i.e., the primary shard.`,
2799
2799
  multipleFallbackWrong: "Flow 暂不支持编辑多层级备选动作",
2800
2800
  incorrectInputOutputConnection: "请确认所有 Source 节点均正确连接到同一数据处理节点",
2801
2801
  incorrectOutputNodeConnection: "请确认所有 Sink 节点均由同一数据处理节点输出",
2802
- incorrectDefaultNodeConnection: "请确认所有数据处理节点均按照顺序首尾相连"
2802
+ incorrectDefaultNodeConnection: "请确认所有数据处理节点均按照顺序首尾相连",
2803
+ input: "输入",
2804
+ systemPromptDesc: "系统消息,用于引导 AI 模型生成符合预期的输出。例:将输入的 JSON 数据中,值为数字的 value 相加起来,并输出,只需返回输出结果。",
2805
+ model: "模型",
2806
+ maxTokens: "最大令牌数",
2807
+ anthropicVersion: "Anthropic 版本",
2808
+ apiKey: "API 密钥",
2809
+ baseURL: "基础 URL",
2810
+ geminiBaseUrlTips: "当前 Gemini 通过兼容 OpenAI 的接口来与之通信,请输入兼容 OpenAI 的基础 URL。",
2811
+ aiOutputAlias: "输出结果别名",
2812
+ aiOutputAliasDesc: "输出结果别名,用户在动作或后续处理中引用输出结果。",
2813
+ aliasDesc: "别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号。",
2814
+ connectTimeout: "连接超时",
2815
+ recvTimeout: "接收数据超时时间",
2816
+ checkoutTimeout: "连接池超时时间",
2817
+ maxConn: "最大连接数",
2818
+ maxConnectionsDesc: "最大并发连接数",
2819
+ checkoutTimeoutDesc: "从连接池中为请求 AI 服务的请求分配的超时时间。",
2820
+ confirm: "确认",
2821
+ baseURLDesc: "默认值为 {url},您也可以输入其他兼容 {name} API 格式的模型基础 URL。"
2803
2822
  }, P = {
2804
2823
  guideSourceNodeLabel: "Source",
2805
2824
  guideSourceNodeDesc: "Drag in multiple nodes to select message and event inputs",
@@ -2832,7 +2851,26 @@ Default: 1, i.e., the primary shard.`,
2832
2851
  multipleFallbackWrong: "Flow does not support editing multi-level fallback actions",
2833
2852
  incorrectInputOutputConnection: "Please confirm that all source nodes are correctly connected to the same data processing node",
2834
2853
  incorrectOutputNodeConnection: "Please confirm that all sink nodes are output from the same data processing node",
2835
- incorrectDefaultNodeConnection: "Please confirm that all data processing nodes are connected in sequence from start to end"
2854
+ incorrectDefaultNodeConnection: "Please confirm that all data processing nodes are connected in sequence from start to end",
2855
+ input: "Input",
2856
+ systemPromptDesc: "System message, used to guide AI models to generate outputs that meet expectations. Example: Add up the values of numeric keys in the input JSON data and output the result, only return the output result.",
2857
+ model: "Model",
2858
+ maxTokens: "Max Tokens",
2859
+ anthropicVersion: "Anthropic Version",
2860
+ apiKey: "API Key",
2861
+ baseURL: "Base URL",
2862
+ geminiBaseUrlTips: "This Gemini connection uses an OpenAI-compatible API. Please enter a compatible Base URL.",
2863
+ aiOutputAlias: "Output Result Alias",
2864
+ aiOutputAliasDesc: "Output result alias, used to reference output results in actions or subsequent processing.",
2865
+ aliasDesc: "If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias.",
2866
+ connectTimeout: "Connect Timeout",
2867
+ recvTimeout: "Receive Timeout",
2868
+ checkoutTimeout: "Checkout Timeout",
2869
+ maxConn: "Max Connections",
2870
+ maxConnectionsDesc: "Maximum number of simultaneous connections to the AI provider.",
2871
+ checkoutTimeoutDesc: "Timeout for the checkout from connection pool for a request to the AI provider.",
2872
+ confirm: "Confirm",
2873
+ baseURLDesc: "The default value is {url}, or you can use any base URL that works with the {name} API format."
2836
2874
  }, x = {
2837
2875
  guideSourceNodeLabel: "ソース",
2838
2876
  guideSourceNodeDesc: "複数のノードをドラッグしてメッセージとイベント入力を選択",
@@ -2867,7 +2905,29 @@ Default: 1, i.e., the primary shard.`,
2867
2905
  multipleFallbackWrong: "フローは多段階のフォールバックアクションの編集をサポートしていません",
2868
2906
  incorrectInputOutputConnection: "すべてのソースノードが同じデータ処理ノードに正しく接続されていることを確認してください",
2869
2907
  incorrectOutputNodeConnection: "すべてのシンクノードが同じデータ処理ノードから出力されていることを確認してください",
2870
- incorrectDefaultNodeConnection: "すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください"
2908
+ incorrectDefaultNodeConnection: "すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください",
2909
+ input: "入力",
2910
+ systemPromptDesc: "システムメッセージ。AI モデルに期待どおりの出力を生成させるために使用します。例:入力 JSON データの数値キーの値を合計し、その結果のみを返す。",
2911
+ model: "モデル",
2912
+ maxTokens: "最大トークン数",
2913
+ anthropicVersion: "Anthropic バージョン",
2914
+ apiKey: "API キー",
2915
+ baseURL: "ベース URL",
2916
+ // TODO: ja
2917
+ geminiBaseUrlTips: "This Gemini connection uses an OpenAI-compatible API. Please enter a compatible Base URL.",
2918
+ aiOutputAlias: "出力結果のエイリアス",
2919
+ aiOutputAliasDesc: "出力結果のエイリアス。アクションや後続処理で出力結果を参照するために使用します",
2920
+ aliasDesc: "エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",
2921
+ // S - TODO: ja
2922
+ connectTimeout: "Connect Timeout",
2923
+ recvTimeout: "Receive Timeout",
2924
+ checkoutTimeout: "Checkout Timeout",
2925
+ maxConn: "Max Connections",
2926
+ maxConnectionsDesc: "Maximum number of simultaneous connections to the AI provider.",
2927
+ checkoutTimeoutDesc: "Timeout for the checkout from connection pool for a request to the AI provider.",
2928
+ // E - TODO: ja
2929
+ confirm: "確認",
2930
+ baseURLDesc: "デフォルト値は {url} です。{name} API 形式と互換性のある任意のベース URL を使用することもできます。"
2871
2931
  };
2872
2932
  export {
2873
2933
  e as SQLTemplates,
@@ -100,7 +100,7 @@ HGETALL mqtt_acl:\${username}`}},n={async:"Async",sync:"Sync",get:"GET",post:"PO
100
100
  <code>hybrid</code>:首先在内存中缓冲消息,当达到一定限制时(有关更多信息,请参阅<code>segment_bytes</code>配置),然后开始将消息转移到磁盘上,与<code>memory</code>模式一样,消息将会在 EMQX 节点重启时丢失。`,per_partition_limit:"每个 Azure Event Hubs 分区允许缓冲的字节数。当超过此限制时,旧消息将被删除以获得新消息的缓冲区配额。",segment_bytes:`在缓冲区模式设置为<code>disk</code>或<code>hybrid</code>时适用。
101
101
  此值用于指定每个磁盘缓冲文件的大小。`,partitions_limit:"限制生产者能够发送消息的最大分区数量。"},kinesis:{payload_template:"用于格式化输出消息的模板。如果未定义,将以 JSON 格式发送所有可用上下文。",aws_access_key_id:"用于连接到 Amazon Kinesis 的访问密钥 ID。",aws_secret_access_key:"用于连接到 Amazon Kinesis 的 AWS 秘密访问密钥。",endpoint:"Amazon Kinesis 端点的 URL。",stream_name:"要发布消息的 Amazon Kinesis 流。",partition_key:"与发布的消息关联的 Amazon Kinesis 分区键。支持 ${'{'}var{'}'} 格式的占位符。"},greptimedb:{server:"要连接的 IPv4 或 IPv6 地址或主机名。<br/>\n主机条目的格式为:`Host[:Port]`。",dbname:"GreptimeDB 数据库名称。",precision:"GreptimeDB 时间精度。",write_syntax:"GreptimeDB gRPC 协议写数据点的配置。写语法是一种基于文本的格式,提供数据点的测量、标签集、字段集和时间戳,支持占位符,与 InfluxDB 行协议相同。\n参考 [InfluxDB 2.3 行协议](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/line-protocol/) 和\n[InfluxDB 1.8 行协议](https://docs.influxdata.com/influxdb/v1.8/write_protocols/line_protocol_tutorial/) <br/>\n简而言之:<br/>\n```\n<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]\n```\n请注意,整数值的占位符必须使用后缀 `i` 进行注释。例如 `${'{'}payload.int_value{'}'}i`。",ttl:"GreptimeDB 自动创建的表的数据保留期限 (TTL)。"},syskeeper_proxy:{listen:"Syskeeper 代理服务器的监听地址",acceptors:"接收器的数量",handshake_timeout:"在创建连接时等待握手的最长时间"},syskeeper_forwarder:{server:"Syskeeper 代理服务器的地址",ack_mode:"指定代理服务器是否应该回复确认消息,可以是:<br/>- need_ack <br/>- no_ack <br/>",ack_timeout:"等待回复确认消息的最长时间",target_topic:"转发消息的主题",target_qos:"转发消息的服务质量(QoS),留空表示使用原始主题的 QoS",template:"消息模板, 支持占位符"},elasticsearch:{server:"ElasticSearch 服务的 REST 接口地址。",routing:"指定应将文档存储在索引的哪个分片中,留空则由 Elasticsearch 决定。",wait_for_active_shards:`在继续操作之前必须激活的分片副本数。
102
102
  设置为 all 或任何正整数,最多为索引中的总分片数(number_of_replicas+1)。
103
- 默认值:1,即主分片。`,index:"要执行操作的索引或索引别名的名称,支持 ${'{'}var{'}'} 格式的占位符。",id:"索引内文档的唯一标识符,支持 ${'{'}var{'}'} 格式的占位符。如果未指定 ID,则由 Elasticsearch 自动生成。",doc:"自定义文档模板,支持 ${'{'}var{'}'} 格式的占位符,要求必须可以被转换为 JSON 对象。\n 例如 `{'{'} \"field\": \"${'{'}payload.field{'}'}\" {'}'}`,或 `${'{'}payload{'}'}`。",overwrite:"当文档已经存在时覆盖文档,否则文档将写入失败。",enable_pipelining:"一个正整数。是否连续发送 HTTP 请求,当设置为 1 时,这意味着每次发送 HTTP 请求后,您需要等待服务器返回,然后继续发送下一个请求。",connect_timeout:"连接到 ElasticSearch 服务器时的超时时间。",doc_as_upsert:"尝试更新的文档不存在时,将更新操作当作一个插入操作,并将提供的文档当作新文档插入。"},s3:{acl:"上传的对象的访问权限。",content:"要存储的对象的内容。默认情况下,它是包含所有字段的 JSON 文本格式。支持如 ${'{'}payload{'}'} 的占位符设置。存储格式取决于变量的格式,支持二进制内容。",bucket:"将要上传文件的存储桶的名称。需要在 S3 中预先创建好,支持 ${'{'}var{'}'} 占位符格式。",key:"要存储的对象的键。支持如 ${'{'}var{'}'} 的占位符设置。",column_order:"在生成的 CSV 文件中首先按列排序的事件字段。<br/>无论此设置如何,生成的 CSV 都将包含聚合事件的所有字段,但此处未明确提及的所有列将按字典顺序排在这里列出的字段之后。",time_interval:"在上传前将事件聚合到单个对象中的时间量。"},azure_blob_storage:{column_order:"在生成的 CSV 文件中首先按列排序的事件字段。<br/>无论此设置如何,生成的 CSV 都将包含聚合事件的所有字段,但此处未明确提及的所有列将按字典顺序排在这里列出的字段之后。",time_interval:"在上传前将事件聚合到单个对象中的时间量。",content:"要存储的对象的内容。默认情况下,它是包含所有字段的 JSON 文本格式。支持如 ${'{'}payload{'}'} 的占位符设置。存储格式取决于变量的格式,支持二进制内容。",blob:"Azure Blob Storage blob 名称。",container:"Azure Blob Storage 容器名称。"},snowflake:{private_key:`为 Pipe User 配置的私钥。支持以下输入格式:
103
+ 默认值:1,即主分片。`,index:"要执行操作的索引或索引别名的名称,支持 ${'{'}var{'}'} 格式的占位符。",id:"索引内文档的唯一标识符,支持 ${'{'}var{'}'} 格式的占位符。如果未指定 ID,则由 Elasticsearch 自动生成。",doc:"自定义文档模板,支持 ${'{'}var{'}'} 格式的占位符,要求必须可以被转换为 JSON 对象。\n 例如 `{'{'} \"field\": \"${'{'}payload.field{'}'}\" {'}'}`,或 `${'{'}payload{'}'}`。",overwrite:"当文档已经存在时覆盖文档,否则文档将写入失败。",enable_pipelining:"一个正整数。是否连续发送 HTTP 请求,当设置为 1 时,这意味着每次发送 HTTP 请求后,您需要等待服务器返回,然后继续发送下一个请求。",connect_timeout:"连接到 ElasticSearch 服务器时的超时时间。",doc_as_upsert:"尝试更新的文档不存在时,将更新操作当作一个插入操作,并将提供的文档当作新文档插入。"},s3:{acl:"上传的对象的访问权限。",content:"要存储的对象的内容。默认情况下,它是包含所有字段的 JSON 文本格式。支持如 ${'{'}payload{'}'} 的占位符设置。存储格式取决于变量的格式,支持二进制内容。",bucket:"将要上传文件的存储桶的名称。需要在 S3 中预先创建好,支持 ${'{'}var{'}'} 占位符格式。",key:"要存储的对象的键。支持如 ${'{'}var{'}'} 的占位符设置。",column_order:"在生成的 CSV 文件中首先按列排序的事件字段。<br/>无论此设置如何,生成的 CSV 都将包含聚合事件的所有字段,但此处未明确提及的所有列将按字典顺序排在这里列出的字段之后。",time_interval:"在上传前将事件聚合到单个对象中的时间量。"},azure_blob_storage:{column_order:"在生成的 CSV 文件中首先按列排序的事件字段。<br/>无论此设置如何,生成的 CSV 都将包含聚合事件的所有字段,但此处未明确提及的所有列将按字典顺序排在这里列出的字段之后。",time_interval:"在上传前将事件聚合到单个对象中的时间量。",content:"要存储的对象的内容。默认情况下,它是包含所有字段的 JSON 文本格式。支持如 ${'{'}payload{'}'} 的占位符设置。存储格式取决于变量的格式,支持二进制内容。",blob:"Azure Blob Storage blob 名称。",parameters_container:"Azure Blob Storage 容器名称。"},snowflake:{private_key:`为 Pipe User 配置的私钥。支持以下输入格式:
104
104
  - 明文密钥:直接以字符串形式输入PEM格式的私钥内容。
105
105
  - 文件路径:指定包含私钥的文件路径。确保路径以<code>file://</code>开头。文件路径必须在集群的所有节点上相同。`,database:"包含 Snowflake 资源的数据库名称。",schema:"包含 Snowflake 资源的模式名称。",stage:"用于将数据文件加载到 Snowflake 的 Stage 名称。",pipe:"用于将数据摄取到表中的 Pipe 名称。",pipe_user:"具有使用 Pipe 权限的角色的用户名。最低要求的权限是`operate`和`monitor`。",proxy:"代理配置。当前仅支持 HTTP 代理(不支持 HTTPS)。",private_key_path:"用于 ODBC 连接的私钥的完整文件路径。此路径必须在集群的所有节点上保持一致。",private_key_password:"用于解密私钥的密码。如果私钥未加密,请不要设置此值。"},tablestore:{isint:"是否尝试将数值写为整数。默认为 false,表示将整数写为浮点数。",isbinary:"是否尝试将二进制值写为二进制类型。默认为 false,表示将二进制值写为字符串。"},disk_log:{filepath:"日志文件的基础路径。实际日志文件将采用 `filepath.N` 格式,其中 `N` 是 `1..max_file_number` 范围内的值。当前使用的文件可通过查找最近修改日期的文件来确定。注意,包含该文件的目录也必须对 EMQX 应用程序用户可写,因为目录中还会包含内部使用的额外文件(以 `.siz` 和 `.idx` 为后缀)。",max_file_size:"当前活动日志文件的最大大小。每个日志文件至少会写入一条记录,因此如果单条日志记录超过此值,最终文件大小可能会超过此最大值。",max_file_number:"要使用的最大日志文件数量。一旦达到最大文件数量且需要新的轮转时,最旧的文件将被截断并用作新的当前文件。",write_mode:"同步或异步写入日志到磁盘。",template:"写入的 JSON 对象的内容。支持模板。"},s3tables:{s_3_client_transport_options_request_timeout:"向 S3 服务发起单次 HTTP 请求的最大等待时间,超时后会重试或失败。"}},d={common:{auto_restart_interval:"The auto restart interval after the resource is disconnected.",batch_size:"Maximum batch count. If equal to 1, there's effectively no batching.",batch_time:"Maximum waiting interval when accumulating a batch at a low message rates for more efficient resource usage.",enable_queue:`Enable disk buffer queue (only applicable for egress bridges).
106
106
  When Enabled, messages will be buffered on disk when the bridge connection is down.
@@ -127,8 +127,8 @@ discovered partitions into account when dispatching messages per <code>partition
127
127
  <code>hybrid</code>: Buffer message in memory first, when up to certain limit (see <code>segment_bytes</code> config for more information), then start offloading messages to disk, Like <code>memory</code> mode, the messages will be lost in case of EMQX node restart.`,per_partition_limit:"Number of bytes allowed to buffer for each Azure Event Hubs partition. When this limit is exceeded, old messages will be dropped in a trade for credits for new messages to be buffered.",segment_bytes:`Applicable when buffer mode is set to <code>disk</code> or <code>hybrid</code>.
128
128
  This value is to specify the size of each on-disk buffer file.`,partitions_limit:"Limits the maximum number of partitions to which a producer can send messages."},kinesis:{payload_template:"The template for formatting the outgoing messages. If undefined, will send all the available context in JSON format.",aws_access_key_id:"Access Key ID for connecting to Amazon Kinesis.",aws_secret_access_key:"AWS Secret Access Key for connecting to Amazon Kinesis.",endpoint:"The url of Amazon Kinesis endpoint.",stream_name:"The Amazon Kinesis Stream to publish messages to.",partition_key:"The Amazon Kinesis Partition Key associated to published message. Placeholders in format of ${'{'}var{'}'} are supported."},greptimedb:{server:"The IPv4 or IPv6 address or the hostname to connect to. A host entry has the following form: `Host[:Port]`.",dbname:"GreptimeDB database.",precision:"GreptimeDB time precision.",write_syntax:"Conf of GreptimeDB gRPC protocol to write data points. Write syntax is a text-based format that provides the measurement, tag set, field set, and timestamp of a data point, and placeholder supported, which is the same as InfluxDB line protocol.\nSee also [InfluxDB 2.3 Line Protocol](https://docs.influxdata.com/influxdb/v2.3/reference/syntax/line-protocol/) and\n[InfluxDB 1.8 Line Protocol](https://docs.influxdata.com/influxdb/v1.8/write_protocols/line_protocol_tutorial/) <br/>\nTLDR:<br/>\n```\n<measurement>[,<tag_key>=<tag_value>[,<tag_key>=<tag_value>]] <field_key>=<field_value>[,<field_key>=<field_value>] [<timestamp>]\n```\nPlease note that a placeholder for an integer value must be annotated with a suffix `i`. For example `${'{'}payload.int_value{'}'}i`.",ttl:"The time-to-live setting for automatically created tables in GreptimeDB."},syskeeper_proxy:{listen:"The listening address for this Syskeeper proxy server",acceptors:"The number of the acceptors",handshake_timeout:"The maximum to wait for the handshake when a connection is created"},syskeeper_forwarder:{server:"The address of the Syskeeper proxy server",ack_mode:"Specify whether the proxy server should reply with an acknowledgement for the message forwarding, can be:<br/>- need_ack <br/>- no_ack <br/>",ack_timeout:"The maximum time to wait for an acknowledgement from the proxy server",target_topic:"The topic for the forwarded message",target_qos:"The QoS for the forwarded message, left blank for the original topic",template:"Message template. Placeholders supported."},elasticsearch:{server:"The REST server address of the ElasticSearch service.",routing:"Specifies the shard in the index where the document should be stored. If left blank, Elasticsearch decides.",wait_for_active_shards:`Number of shard replicas that must be active before proceeding.
129
129
  Set to "all" or any positive integer, up to the total number of shards in the index (number_of_replicas+1).
130
- Default: 1, i.e., the primary shard.`,index:"Name of the index or index alias to perform the operation on, supports ${'{'}var{'}'} format placeholders.",id:"Unique identifier for the document within the index, supports ${'{'}var{'}'} format placeholders. If ID is not specified, it is autogenerated by Elasticsearch.",doc:"Custom document template, supports ${'{'}var{'}'} format placeholders, must be convertible to a JSON object.\nFor example, `{'{'} \"field\": \"${'{'}payload.field{'}'}\" {'}'}`, or `${'{'}payload{'}'}`.",overwrite:"Overwrites the document if it already exists, otherwise the write will fail.",enable_pipelining:"A positive integer. Whether to send HTTP requests continuously, when set to 1, it means that after each HTTP request is sent, you need to wait for the server to return and then continue to send the next request.",connect_timeout:"The timeout when connecting to the ElasticSearch server.",doc_as_upsert:"Treat the update operation as an insert operation when the document to be updated does not exist, and insert the provided document as a new document."},s3:{acl:"The Access Control List (ACL) to use for the uploaded objects.",content:"The content of the object to be uploaded supports placeholders.",bucket:"The name of the bucket to which files will be uploaded. Needs to be pre-created in S3. Supports the ${'{'}var{'}'} placeholder format.",key:"The content of the object to be stored. By default, it is in JSON text format containing all fields. Supports placeholder settings such as ${'{'}payload{'}'}. The storage format depends on the format of the variable and can be stored in binary format.",column_order:"Event fields that will be ordered first as columns in the resulting CSV file.<br/>Regardless of this setting, resulting CSV will contain all the fields of aggregated events, but all the columns not explicitly mentioned here will be ordered after the ones listed here in the lexicographical order.",time_interval:"Amount of time events will be aggregated in a single object before uploading."},azure_blob_storage:{column_order:"Event fields that will be ordered first as columns in the resulting CSV file.<br/>Regardless of this setting, resulting CSV will contain all the fields of aggregated events, but all the columns not explicitly mentioned here will be ordered after the ones listed here in the lexicographical order.",time_interval:"Amount of time events will be aggregated in a single object before uploading.",content:"The content of the object to be uploaded supports placeholders.",blob:"Azure Blob Storage blob name.",container:"Azure Blob Storage container name."},snowflake:{private_key:`The private key configured for the Pipe User. This supports the input formats below:
130
+ Default: 1, i.e., the primary shard.`,index:"Name of the index or index alias to perform the operation on, supports ${'{'}var{'}'} format placeholders.",id:"Unique identifier for the document within the index, supports ${'{'}var{'}'} format placeholders. If ID is not specified, it is autogenerated by Elasticsearch.",doc:"Custom document template, supports ${'{'}var{'}'} format placeholders, must be convertible to a JSON object.\nFor example, `{'{'} \"field\": \"${'{'}payload.field{'}'}\" {'}'}`, or `${'{'}payload{'}'}`.",overwrite:"Overwrites the document if it already exists, otherwise the write will fail.",enable_pipelining:"A positive integer. Whether to send HTTP requests continuously, when set to 1, it means that after each HTTP request is sent, you need to wait for the server to return and then continue to send the next request.",connect_timeout:"The timeout when connecting to the ElasticSearch server.",doc_as_upsert:"Treat the update operation as an insert operation when the document to be updated does not exist, and insert the provided document as a new document."},s3:{acl:"The Access Control List (ACL) to use for the uploaded objects.",content:"The content of the object to be uploaded supports placeholders.",bucket:"The name of the bucket to which files will be uploaded. Needs to be pre-created in S3. Supports the ${'{'}var{'}'} placeholder format.",key:"The content of the object to be stored. By default, it is in JSON text format containing all fields. Supports placeholder settings such as ${'{'}payload{'}'}. The storage format depends on the format of the variable and can be stored in binary format.",column_order:"Event fields that will be ordered first as columns in the resulting CSV file.<br/>Regardless of this setting, resulting CSV will contain all the fields of aggregated events, but all the columns not explicitly mentioned here will be ordered after the ones listed here in the lexicographical order.",time_interval:"Amount of time events will be aggregated in a single object before uploading."},azure_blob_storage:{column_order:"Event fields that will be ordered first as columns in the resulting CSV file.<br/>Regardless of this setting, resulting CSV will contain all the fields of aggregated events, but all the columns not explicitly mentioned here will be ordered after the ones listed here in the lexicographical order.",time_interval:"Amount of time events will be aggregated in a single object before uploading.",content:"The content of the object to be uploaded supports placeholders.",blob:"Azure Blob Storage blob name.",parameters_container:"Azure Blob Storage container name."},snowflake:{private_key:`The private key configured for the Pipe User. This supports the input formats below:
131
131
  - Plain key: Enter the private key contents in PEM format directly as a string value.
132
132
  - File Path: Specify the path to a file that contains the private key. Ensure the path starts with <code>file://</code>. The file path must be the same on all nodes in the cluster.`,database:"Name of the Database that contains the Snowflake resources.",schema:"Name of the Schema that contains the Snowflake resources.",stage:"Name of the Stage that'll be used for loading data files into Snowflake.",pipe:"Name of the Pipe that'll be used to ingest data into the table.",pipe_user:"A username which has a role with permissions over the Pipe to be used. The minimum permissions are `operate` and `monitor`.",proxy:"Proxy configuration. Only HTTP proxies are currently supported (no HTTPS).",private_key_path:"Full file path to the private key to be used for the ODBC connection. This path must be the same on all nodes of the cluster.",private_key_password:"Password to decrypt the private key. Do not set this value if the private key is not encrypted."},tablestore:{isint:"Whether try to write numeric value as integer. Defaults to false, means that write integers as floats.",isbinary:"Whether try to write binary values as binary type. Defaults to false, means that write binary values as strings."},disk_log:{filepath:"Base file path to the log file to be written to. Actual log files will have the format `filepath.N`, where `N` is `1..max_file_number`. The currently used file can be found by taking the file with the most recent modification date. Note that the directory containing it must also be writable by the EMQX application user, as it'll also contain extra files for internal use (ending in `.siz` and `.idx`).",max_file_size:"Maximum size for the currently active log file. At least one entry is written to each log, so the final file size may exceed this maximum if a single log entry exceeds this value.",max_file_number:"Maximum number of log files to be used. Once the maximum number of files is reached and a new rotation is required, the oldest such file is truncated and used as the new current file.",write_mode:"Whether to write logs synchronously or asynchronously to disk.",template:"Content of the JSON object to be written. Supports templates."},s3tables:{s_3_client_transport_options_request_timeout:"The maximum time allowed for a single HTTP request to the S3 service. If exceeded, the request will be retried or fail."}},m={title:"Streaming (beta)",streams:"Streams",streamName:"Stream Name",partitionNum:"Number of Partitions",mqttTopic:"MQTT Topic Filter",mqttTopicTip:"MQTT messages matching this topic filter are saved to the corresponding default type Stream. The free type Stream is not associated with an MQTT topic filter.",streamNameTip:"The Kafka topic for a Kafka client is the same as the Stream name.",retention:"Retention Period",consumerGroups:"Consumer Groups",groupID:"Group ID",streamNum:"Number of Streams",consumerNum:"Number of Consumers",protocol:"Protocol",consumers:"Consumers",consumerID:"Consumer ID",partition:"Partition",startOffset:"Start Offset",endOffset:"End Offset",partitions:"Partitions",newStream:"New Stream",streamNameFormatTip:"Start with a letter or number and can include letters, numbers, _, . and -, up to 64 characters",maxStreamsTip:"Up to {num} streams can be created",summary:"EMQX Streaming is an innovative feature of EMQX Platform that allows users to persistently store MQTT messages as data streams and consume them directly using Kafka clients.",enableStreaming:"Enable Streaming (beta)",usingStreaming:"With EMQX Streaming, you can:",streamingBenefits:["Reliably store large amounts of MQTT message data","Directly use Kafka clients for historical data replay and real-time subscription","Seamlessly integrate with existing backend applications and big data systems","Directly interface with stream processors like Flink for data processing"],betaTip:"This feature is in beta.",needVPCTip:"Streaming requires intranet access, please create a {vpc} first.",mqttTopicFormatTip:"Can contain letters, numbers, special characters (_, -, /, +, #, $, %, {'@'}, &, :, {'{'}{'}'} and .) and mid-string spaces (no leading/trailing spaces), up to 128 characters",streamType:"Stream Type",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"The default type Stream is associated with an MQTT topic filter, and MQTT messages matching the topic filter are saved to the Stream. The free type Stream is not associated with an MQTT topic filter.",authType:"Authentication Mechanism",host:"Host",hostTip:"Fill in a Host IP address or use <code>*</code> to match all Hosts.<br/>If <code>Literal</code> pattern is selected, an IP address of a host should be provided.",aclResourceType:"Resource Type",aclResourceName:"Resource Selector",aclOperation:"Operation",prefixed:"Prefix",consumerGroupType:"Consumer Group",clusterType:"Cluster",literal:"Literal",matchAll:"All",allow:"Allow",deny:"Deny",aclOperationLabelDic:{ALL:"All",READ:"Read",WRITE:"Write",DESCRIBE:"Describe",CREATE:"Create",DELETE:"Delete",ALTER:"Alter"},usernameRule:"Can contain letters, numbers and some special characters (_, -, /, +, #, $, %, {'@'}, & and .), up to 128 characters",aclDescription:`It refers to the permission control of the resources that Kafka clients can manipulate, including topics, consumer groups and clusters.
133
133
  The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"Streams",partition_count:"Partitions",group_count:"Consumer Groups",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},u={title:"Streaming (beta)",streams:"Streams",streamName:"Stream 名称",partitionNum:"分区数量",mqttTopic:"MQTT 主题过滤器",mqttTopicTip:"匹配主题过滤器的 MQTT 消息会被保存到对应的 Default 类型的 Stream 中。Free 类型的 Stream 不与 MQTT 主题过滤器关联。",streamNameTip:"Kafka 客户端看到的 Kafka Topic 的名称和 Stream 名称相同。",retention:"保留天数",consumerGroups:"消费者组",groupID:"组 ID",streamNum:"Stream 数量",consumerNum:"消费者数量",protocol:"协议",consumers:"消费者列表",consumerID:"消费者 ID",partition:"分区",startOffset:"起始偏移量",endOffset:"结束偏移量",partitions:"分区列表",newStream:"新建 Stream",streamNameFormatTip:"以字母或数字开头,可包含字母、数字、下划线(_)、连字符(-)和点号(.),最长 64 个字符",maxStreamsTip:"最多可创建 {num} 个 Stream",summary:"EMQX Streaming 是 EMQX Platform 的一项创新特性,它允许用户将 MQTT 消息持久化存储为数据流,并直接使用 Kafka 客户端进行消费。",enableStreaming:"开通 Streaming (beta)",usingStreaming:"使用 EMQX Streaming,您可以:",streamingBenefits:["可靠地存储大量的 MQTT 消息数据","直接使用 Kafka 客户端进行历史数据回放和实时订阅","无缝集成现有的后端应用程序和大数据系统","直接与 Flink 等流处理器对接进行实时数据处理"],betaTip:"此功能目前处于公测阶段。",needVPCTip:"Streaming 功能需要内网访问,在开通前请先创建 {vpc}。",mqttTopicFormatTip:"可包含字母、数字、部分特殊字符(_、-、/、+、#、$、%、{'@'}、&、:、{'{'}{'}'} 和 .)及中间空格(无首尾空格),最长 128 个字符",streamType:"Stream 类型",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"Default 类型的 Stream 关联 MQTT 主题过滤器,且匹配主题过滤器的 MQTT 消息会被保存到 Stream 中。Free 类型的 Stream 不关联 MQTT 主题过滤器。",authType:"认证方式",host:"Host",hostTip:"填写 Host IP 地址或者使用 <code>*</code> 匹配所有 Host。<br/>如果您选择了 <code>精确匹配</code> 模式,则应提供一个 Host IP 地址。",aclResourceType:"资源类型",aclResourceName:"目标值",aclOperation:"操作类型",prefixed:"前缀匹配",consumerGroupType:"消费者组",clusterType:"集群",literal:"精确匹配",matchAll:"匹配所有",allow:"允许",deny:"不允许",aclOperationLabelDic:{ALL:"全部操作",READ:"读",WRITE:"写",DESCRIBE:"查看详情",CREATE:"创建",DELETE:"删除",ALTER:"更改"},usernameRule:"可包含字母、数字和部分特殊字符(_、-、/、+、#、$、%、{'@'}、& 和 .),最长 128 个字符",aclDescription:"是指对 Kafka 客户端所能操作的资源,包括主题、消费者组和集群等的权限控制。采用白名单模式,即只有在白名单中的条目才能通过,未在白名单中的则默认被拒绝。",networkType:"网络类型",securityProtocol:"安全协议",metricTitleDic:{stream_count:"Stream 数",partition_count:"分区数",group_count:"消费者组数",total_messages_in_rate:"消息流入速率",total_messages_out_rate:"消息流出速率"}},p={title:"ストリーミング(ベータ)",streams:"ストリーム",streamName:"ストリーム名",partitionNum:"パーティション数",mqttTopic:"MQTT トピックフィルタ",mqttTopicTip:"このトピックフィルターに一致する MQTT メッセージは、対応する「Default」タイプのストリームに保存されます。「Free」タイプのストリームは MQTT トピックフィルターと関連付けられていません。",streamNameTip:"Kafka クライアントで使用する Kafka トピックは、ストリーム名と同じです。",retention:"保持期間",consumerGroups:"コンシューマーグループ",groupID:"グループ ID",streamNum:"ストリーム数",consumerNum:"コンシューマー数",protocol:"プロトコル",consumers:"コンシューマー",consumerID:"コンシューマー ID",partition:"パーティション",startOffset:"開始オフセット",endOffset:"終了オフセット",partitions:"パーティション",newStream:"新規ストリーム",streamNameFormatTip:"文字または数字で始まり、文字、数字、「_」、「.」、「-」を含む最大 64 文字",maxStreamsTip:"最大 {num} 個のストリームを作成できます",summary:"「EMQX Streaming」は、EMQX プラットフォームの革新的な機能で、MQTT メッセージをデータストリームとして永続的に保存し、Kafka クライアントから直接コンシュームできます。",enableStreaming:"ストリーミングを有効にする(ベータ)",usingStreaming:"「EMQX Streaming」を使用すると、以下のことが可能です:",streamingBenefits:["大量の MQTT メッセージデータを確実に保存","Kafka クライアントを直接使用して履歴データの再生とリアルタイムサブスクリプション","既存のバックエンドアプリケーションやビッグデータシステムとのシームレスな統合","Flink などのストリームプロセッサとの直接インターフェース"],betaTip:"この機能はベータ版です。",needVPCTip:"ストリーミングを利用するには内部ネットワークへのアクセスが必要です。まず{vpc}を作成してください。",mqttTopicFormatTip:"アルファベット、数字、「_」、「-」、「/」、「+」、「#」、「$」、「%」、「{'@'}」、「&」、「:」、「{'{'}{'}'}」、中間の空白、および「.」のみ使え、最長 128 文字です",streamType:"ストリームタイプ",streamTypeLabel:{default:"Default",free:"Free"},streamTypeTip:"「Default」タイプのストリームは MQTT トピックフィルターと関連付けられており、そのフィルターに一致する MQTT メッセージがストリームに保存されます。Kafka クライアントからの「Free」タイプのストリームのは MQTT トピックフィルターと関連付けられていません。",authType:"認証方式",host:"Host",hostTip:"Fill in a Host IP address or use <code>*</code> to match all Hosts.<br/>If <code>Literal</code> pattern is selected, an IP address of a host should be provided.",aclResourceType:"リソースタイプ",aclResourceName:"リソース値",aclOperation:"操作",prefixed:"プレフィックス",consumerGroupType:"コンシューマーグループ",clusterType:"クラスタ",literal:"リテラル",matchAll:"すべて",allow:"許可",deny:"拒否",aclOperationLabelDic:{ALL:"すべて",READ:"読み取り",WRITE:"書き込み",DESCRIBE:"説明",CREATE:"作成",DELETE:"削除",ALTER:"変更する"},usernameRule:"アルファベット、数字、「_」、「-」、「/」、「+」、「#」、「$」、「%」、「{'@'}」、「&」および「.」のみ使え、最長 128 文字です",aclDescription:`It refers to the permission control of the resources that Kafka clients can manipulate, including topics, consumer groups and clusters.
134
- The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"ストリーム数",partition_count:"パーティション数",group_count:"コンシューマーグループ数",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},h={access:"Permission",topic:"Topic",username:"Username",password:"Password",cancel:"Cancel",back:"Back",generate:"Generate",field:"Field",pleaseChoose:"Required",pleaseEnter:"Required",add:"Add",actions:"Actions",transform:"Transform",alias:"Alias",name:"Name",colon:": "},_={access:"是否允许",topic:"主题",username:"用户名",password:"密码",cancel:"取消",back:"返回",generate:"生成",field:"字段",pleaseChoose:"请选择",pleaseEnter:"请输入",add:"添加",actions:"操作",transform:"转换",alias:"别名",name:"名称",colon:":"},f={access:"許可/拒否",topic:"トピック",username:"ユーザー名",password:"パスワード",cancel:"キャンセル",back:"戻り",generate:"生成",field:"フィールド",pleaseChoose:"選択してください",pleaseEnter:"入力してください",add:"追加",actions:"操作",transform:"変換",alias:"エイリアス",name:"名称",colon:":"},b={mathFunc:"Mathematical Functions",dataTypeJudgmentFunc:"Data Type Judgment Functions",dataTypeConversionFunc:"Data Type Conversion Functions",stringFunc:"String Functions",mapFunc:"Map Functions",arrFunc:"Array Functions",hashFunc:"Hash Functions",compressesAndUncompressesFunc:"Compression and Decompression Functions",bitFunc:"Bit Functions",decodingAndEncodingFunc:"Decoding and Encoding Functions",timeAndDateFunc:"Time and Date Functions",schemaRegistry:"Schema Registry",Value:"Value",Base:"Base",Exponent:"Exponent",Numer:"Numer",Denom:"Denom",Precision:"Precision",String:"String",StartPosition:"Start Position",Separator:"Separator",Direction:"Direction",String1:"String1",String2:"String2",PreserveCRLF:"Preserve CRLF",TotalLength:"Total Length",PaddingDirection:"Padding Direction",PaddingString:"Padding String",OldSubStr:"Old Sub Str",Replacement:"Replacement",ReplaceCount:"Replace Count",Pattern:"Pattern",Character:"Character",SubstringToBeFound:"Substring To Be Found",DirectionToFind:"Direction To Find",Key:"Key",Map:"Map",DefaultValue:"Default Value",Index:"Index",Array:"Array",StartIndex:"Start Index",Length:"Length",UnixTimestamp:"Unix Timestamp",TimeUnit:"Time Unit",RFC3339String:"RFC3339 Time String",TimeOffset:"Time Offset",DateFormat:"Date Format",Timestamp:"Timestamp",BinaryData:"Binary Data",BinaryStartIndex:"Start Index",DataType:"Data Type",Signedness:"Signedness",Endian:"Endian",SchemaName:"Schema",Data:"Data",Type:"Message Type",aliasDesc:"If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias",inputFieldRequiredError:"{name} is required",unusedField:"Unused field",aliasRequired:"Need to specify an alias",aliasFormatError:"Invalid alias format"},g={mathFunc:"数学函数",dataTypeJudgmentFunc:"数据类型判断函数",dataTypeConversionFunc:"数据类型转换函数",stringFunc:"字符串函数",mapFunc:"Map 函数",arrFunc:"数组函数",hashFunc:"哈希函数",compressesAndUncompressesFunc:"压缩解压缩函数",bitFunc:"比特操作函数",decodingAndEncodingFunc:"编解码函数",timeAndDateFunc:"时间与日期函数",schemaRegistry:"编解码",Value:"值",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"字符串",StartPosition:"起始位置",Separator:"分割符",Direction:"方向",String1:"左字符串",String2:"右字符串",PreserveCRLF:"是否保留换行符",TotalLength:"字符总长度",PaddingDirection:"补足方向",PaddingString:"补足字符",OldSubStr:"需要替换的字符串",Replacement:"替换值",ReplaceCount:"替换位置",Pattern:"正则表达式",Character:"字符",SubstringToBeFound:"要查找的子串",DirectionToFind:"查找方向",Key:"键",Map:"Map",DefaultValue:"默认值",Index:"索引",Array:"数组",StartIndex:"起始索引",Length:"截取长度",UnixTimestamp:"Unix 时间戳",TimeUnit:"时间单位",RFC3339String:"RFC 3339 时间字符串",TimeOffset:"时区偏移",DateFormat:"日期格式",Timestamp:"时间戳",BinaryData:"二进制数据",BinaryStartIndex:"起始位置的下标",DataType:"数据类型",Signedness:"符号性",Endian:"字节序",SchemaName:"Schema",Data:"数据",Type:"消息类型",aliasDesc:"别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号",inputFieldRequiredError:"请输入{name}",unusedField:"未被使用的字段",aliasRequired:"需指定一个别名",aliasFormatError:"格式错误的别名"},y={mathFunc:"数学関数",dataTypeJudgmentFunc:"データ型判定関数",dataTypeConversionFunc:"データ型変換関数",stringFunc:"文字列関数",mapFunc:"マップ関数",arrFunc:"配列関数",hashFunc:"ハッシュ関数",compressesAndUncompressesFunc:"圧縮・展開関数",bitFunc:"ビット関数",decodingAndEncodingFunc:"デコード・エンコード関数",timeAndDateFunc:"日時関数",schemaRegistry:"スキーマレジストリ",Value:"値",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"文字列",StartPosition:"開始位置",Separator:"区切り文字",Direction:"方向",String1:"文字列 1",String2:"文字列 2",PreserveCRLF:"改行保持(CRLF)",TotalLength:"全体の長さ",PaddingDirection:"パディング方向",PaddingString:"パディング文字",OldSubStr:"元の部分文字列",Replacement:"置換後の文字列",ReplaceCount:"置換回数",Pattern:"パターン",Character:"文字",SubstringToBeFound:"検索対象の部分文字列",DirectionToFind:"検索方向",Key:"キー",Map:"マップ",DefaultValue:"デフォルト値",Index:"インデックス",Array:"配列",StartIndex:"開始インデックス",Length:"長さ",UnixTimestamp:"Unix タイムスタンプ",TimeUnit:"時間単位",RFC3339String:"RFC3339 形式の時間文字列",TimeOffset:"時間オフセット",DateFormat:"日付形式",Timestamp:"タイムスタンプ",BinaryData:"バイナリデータ",BinaryStartIndex:"開始インデックス",DataType:"データ型",Signedness:"符号の有無",Endian:"エンディアン",SchemaName:"スキーマ",Data:"データ",Type:"メッセージタイプ",aliasDesc:"エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",inputFieldRequiredError:"{name} は必須項目です",unusedField:"未使用のフィールド",aliasRequired:"エイリアスを指定する必要があります",aliasFormatError:"エイリアスの形式が正しくありません"},v={generateSQLByAIBtn:"SQL Generator",generateSQLWithAI:"Generate SQL with AI",taskDescPlaceholder:'Enter a natural language task description, e.g., "Select all fields from t/#"',taskDesc:"Task Description",relatedTopics:"Related Topics",relatedTopicsDesc:'Supports a single topic, or multiple topics (comma-separated, with +/# support), e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'Please enter related topics, e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"Input Example (JSON)",sqlExampleInputDesc:"Provide an example JSON for the input message",sqlExampleOutput:"Output Example (JSON)",sqlExampleOutputDesc:"Provide an example JSON for the output result",applySQL:"Apply SQL",generatedSQLOutputTitle:"Generated SQL",generatedSQLOutputDesc:"Please review the AI-generated SQL. You can apply it directly, or return to modify the description and regenerate."},k={generateSQLByAIBtn:"SQL 生成器",generateSQLWithAI:"使用 AI 生成 SQL",taskDescPlaceholder:'请输入自然语言的任务描述,例如:"从 t/# 主题选择所有字段"',taskDesc:"任务描述",relatedTopics:"相关主题",relatedTopicsDesc:'支持单个主题,或多个主题(请使用逗号分隔,支持 +/#),例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'请输入相关主题,例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"输入示例(JSON)",sqlExampleInputDesc:"提供一个输入消息的 JSON 示例",sqlExampleOutput:"输出示例(JSON)",sqlExampleOutputDesc:"提供一个输出结果的 JSON 示例",applySQL:"应用 SQL",generatedSQLOutputTitle:"生成的 SQL",generatedSQLOutputDesc:"请检查 AI 生成的 SQL。可直接应用,或返回修改描述并重新生成。"},T={generateSQLByAIBtn:"SQL ジェネレーター",generateSQLWithAI:"AI で SQL を生成",taskDescPlaceholder:"自然言語でタスク説明を入力してください。例:「t/# からすべてのフィールドを選択」",taskDesc:"タスク説明",relatedTopics:"関連トピック",relatedTopicsDesc:"単一トピックまたは複数トピック(カンマ区切り、+/# をサポート)を指定できます。例:「t/a」または「t/a, t/b/#, t/c/+/d」",relatedTopicsPlaceholder:"関連トピックを入力してください。例:「t/a」または「t/a, t/b/#, t/c/+/d」",sqlExampleInput:"入力例(JSON)",sqlExampleInputDesc:"入力メッセージのサンプル JSON を指定してください",sqlExampleOutput:"出力例(JSON)",sqlExampleOutputDesc:"出力結果のサンプル JSON を指定してください",applySQL:"SQL を適用",generatedSQLOutputTitle:"生成された SQL",generatedSQLOutputDesc:"AI が生成した SQL を確認してください。直接適用することも、説明を修正して再生成することもできます。"},S={systemTitle:"Log Analysis AI Assistant",noMCPServers:"No MCP server is available, please configure the MCP server gateway.",configMCPServerGateway:"Configure MCP Server Gateway",mcpServerGatewayConfigs:"MCP Server Gateway Configurations",cancel:"Cancel",save:"Save",mqttHost:"MQTT Host",mqttPort:"MQTT Port",mqttUsername:"MQTT Username",mqttPassword:"MQTT Password",mqttClientId:"MQTT Client ID",mqttAppId:"MQTT App ID",saveSuccess:"Saved successfully",parseUserIntention:"Parse User Intention",loadLogEntries:"Load Log Entries",generalConversation:"General Conversation",extractAndExplainLogEntries:"Extract and Explain Log Entries",queryEmqxContext:"Query EMQX Context",genAnalysisReport:"Generate Analysis Report",completeReport:"Complete Report",funcCall:"Function Call",analysisResultTip:"The following is the report content:",responseConfirm:"Please confirm the result is ok?",yes:"Yes",no:"No",refreshConfirm:"There is a conversation in progress, confirm to clear the conversation and start a new one?",confirm:"Confirm",guidanceText:"Welcome to the Log Analysis AI Assistant. I will leverage technologies such as LLM and RAG,as well as utilize the MCP tool to query system status, to help you analyze EMQX-related logs and quickly identify and resolve issues. Here are some example questions you can ask,",querySample1:"Query the error/warning log messages from the past 5 minutes.",querySample2:"Query the latest 5 error/warning log messages.",querySample3:"Analyze log: ",noConfigStatus:"MCP server gateway not configured. Please configure the server gateway and connect to the server before proceeding with the analysis of server logs.",disconnectedStatus:"Cannot connect to your MCP servers, please check your settings or network.",selectServerRequired:"Please select the MCP server to connect.",funcName:"Function Name",funcArgs:"Function Arguments",funcOutput:"Function Output",permissionRequest:'Tool "{tool}" requires permission to access system resources.',deny:"Deny",allowOnce:"Allow Once",allowAlways:"Allow Always",reportGenerationCompleted:"Report generation completed.",userCancelled:"User cancelled the operation."},w={systemTitle:"日志分析 AI 助手",noMCPServers:"暂无可用 MCP 服务器,请先配置 MCP 服务器网关。",configMCPServerGateway:"配置 MCP 服务器网关",mcpServerGatewayConfigs:"MCP 服务器网关配置",cancel:"取消",save:"保存",mqttHost:"MQTT 主机",mqttPort:"MQTT 端口",mqttUsername:"MQTT 用户名",mqttPassword:"MQTT 密码",mqttClientId:"MQTT 客户端 ID",mqttAppId:"MQTT 应用 ID",saveSuccess:"保存成功",parseUserIntention:"分析用户意图",loadLogEntries:"加载日志条目",generalConversation:"通用对话",extractAndExplainLogEntries:"查找并解释日志数据",queryEmqxContext:"查询 EMQX 上下文",genAnalysisReport:"生成分析报告",completeReport:"完成报告",funcCall:"函数调用",analysisResultTip:"以下是报告内容:",responseConfirm:"请确认结果是否正确?",yes:"正确",no:"不正确",refreshConfirm:"当前页面有正在进行的对话,是否确认清空记录并开始新的对话?",confirm:"确认",guidanceText:"欢迎使用日志分析 AI 助手。我将利用 LLM 和 RAG 等技术,以及 MCP 工具查询系统状态,帮助您分析 EMQX 相关日志并快速识别和解决问题。以下是一些您可以询问的问题:",querySample1:"查询过去 5 分钟内的错误/警告日志消息。",querySample2:"查询最新的 5 条错误/警告日志消息。",querySample3:"分析日志:",noConfigStatus:"未配置 MCP 服务器网关,如需分析服务器日志,请先配置服务器网关,并连接服务器后再进行操作。",disconnectedStatus:"无法连接到 MCP 服务器,请检查您的设置或网络。",selectServerRequired:"请选择需要连接的 MCP 服务器。",funcName:"函数名称",funcArgs:"函数参数",funcOutput:"函数输出",permissionRequest:'工具 "{tool}" 需要权限访问系统资源。',deny:"拒绝",allowOnce:"允许一次",allowAlways:"始终允许",reportGenerationCompleted:"报告生成完成。",userCancelled:"用户取消操作。"},P={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"拖拽多个节点以选择消息与事件输入",guideProcessingNodeLabel:"Processing(可选)",guideProcessingNodeDesc:"拖拽节点以处理和过滤数据",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"拖拽多个节点以输出数据到外部数据集成",guideFallbackNodeLabel:"Fallback(可选)",guideFallbackNodeDesc:"拖拽节点以作为备选动作",actionAvailable:"可用",actionUnavailable:"不可用",connecting:"连接中",inconsistent:"集群中各节点不一致",disconnected:"已断开",message:"消息",event:"事件",dataProcessing:"数据处理",filter:"过滤器",consoleOutput:"控制台输出",republish:"消息重发布",condition:"个条件",systemPrompt:"系统消息",consoleFallbackWrong:"Console 不可作为备选动作",incorrectConnection:"错误的连线",filterFunctionsWrongOrder:"函数节点必须放置在过滤器节点之前,请调整节点位置。",flowEmptyError:"无法保存,Flow 中需要有至少一个 Sink 节点和一个 Source 节点",flowIntegrityError:"无法保存,Flow 中需要有至少一个 {missing} 节点",isolatedNodeError:"Flow 中有未连接的节点,请先连接或将其删除|Flow 中有未连接的节点,请先连接或将其删除",multipleFlowError:"每次仅允许创建一个 Flow",multipleFallbackWrong:"Flow 暂不支持编辑多层级备选动作",incorrectInputOutputConnection:"请确认所有 Source 节点均正确连接到同一数据处理节点",incorrectOutputNodeConnection:"请确认所有 Sink 节点均由同一数据处理节点输出",incorrectDefaultNodeConnection:"请确认所有数据处理节点均按照顺序首尾相连"},x={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"Drag in multiple nodes to select message and event inputs",guideProcessingNodeLabel:"Processing (optional)",guideProcessingNodeDesc:"Drag nodes to transform and filter data",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"Drag in multiple nodes to output data to external integrations",guideFallbackNodeLabel:"Fallback (optional)",guideFallbackNodeDesc:"Drag nodes as fallback actions",actionAvailable:"Available",actionUnavailable:"Unavailable",connecting:"Connecting",inconsistent:"Inconsistent for nodes in the cluster",disconnected:"Disconnected",message:"Message",event:"Event",dataProcessing:"Data Processing",filter:"Filter",consoleOutput:"Console Output",republish:"Republish",condition:"condition | conditions",systemPrompt:"System Message",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"Incorrect connection",filterFunctionsWrongOrder:"Function nodes must be placed before filter nodes. Please adjust node positions.",flowEmptyError:"Unable to save, there must be at least one Sink node and one Source node in the Flow",flowIntegrityError:"Unable to save, at least one {missing} node is required in the Flow",isolatedNodeError:"There are unconnected node in the flow. Please connect or delete them.|There are unconnected nodes in the flow. Please connect or delete them.",multipleFlowError:"Only one flow can be created at a time",multipleFallbackWrong:"Flow does not support editing multi-level fallback actions",incorrectInputOutputConnection:"Please confirm that all source nodes are correctly connected to the same data processing node",incorrectOutputNodeConnection:"Please confirm that all sink nodes are output from the same data processing node",incorrectDefaultNodeConnection:"Please confirm that all data processing nodes are connected in sequence from start to end"},M={guideSourceNodeLabel:"ソース",guideSourceNodeDesc:"複数のノードをドラッグしてメッセージとイベント入力を選択",guideProcessingNodeLabel:"処理(任意)",guideProcessingNodeDesc:"ノードをドラッグしてデータを変換・フィルター",guideSinkNodeLabel:"シンク",guideSinkNodeDesc:"複数のノードをドラッグして外部連携にデータを出力",guideFallbackNodeLabel:"フォールバック(任意)",guideFallbackNodeDesc:"ノードをドラッグしてフォールバックアクションとして設定します",actionAvailable:"利用可能",actionUnavailable:"利用不可",connecting:"接続中",inconsistent:"クラスタ内のノードで不一致",disconnected:"切断",message:"メッセージ",event:"イベント",dataProcessing:"データ処理",filter:"フィルター",consoleOutput:"Console Output",republish:"再パブリッシュ(Republish)",condition:"条件",systemPrompt:"システムメッセージ",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"不正な接続",filterFunctionsWrongOrder:"関数ノードはフィルターノードより前に配置する必要があります。ノードの位置を調整してください。",flowEmptyError:"保存できません。フローには少なくとも1つのシンクノードと1つのソースノードが必要です。",flowIntegrityError:"保存できません。フローには少なくとも 1 つの{missing}ノードが必要です。",isolatedNodeError:"フローに未接続のノードがあります。接続するか削除してください。",multipleFlowError:"一度に作成できるフローは1つだけです。",multipleFallbackWrong:"フローは多段階のフォールバックアクションの編集をサポートしていません",incorrectInputOutputConnection:"すべてのソースノードが同じデータ処理ノードに正しく接続されていることを確認してください",incorrectOutputNodeConnection:"すべてのシンクノードが同じデータ処理ノードから出力されていることを確認してください",incorrectDefaultNodeConnection:"すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください"};e.SQLTemplates=t,e.authHelpCodeMap=i,e.enActionsLabel=a,e.enAiLog=S,e.enCommon=h,e.enConnectorsLabel=r,e.enFlow=x,e.enIntegrationDesc=d,e.enRuleFunction=b,e.enRuleSQL=v,e.enStreaming=m,e.enSymbolLabel=n,e.jaCommon=f,e.jaFlow=M,e.jaRuleFunction=y,e.jaRuleSQL=T,e.jaStreaming=p,e.zhActionsLabel=o,e.zhAiLog=w,e.zhCommon=_,e.zhConnectorsLabel=s,e.zhFlow=P,e.zhIntegrationDesc=l,e.zhRuleFunction=g,e.zhRuleSQL=k,e.zhStreaming=u,e.zhSymbolLabel=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
134
+ The default mode is whitelist, meaning that entries added to the list are allowed through, while those not added are denied by default.`,networkType:"Network Type",securityProtocol:"Security Protocol",metricTitleDic:{stream_count:"ストリーム数",partition_count:"パーティション数",group_count:"コンシューマーグループ数",total_messages_in_rate:"Messages In",total_messages_out_rate:"Messages Out"}},h={access:"Permission",topic:"Topic",username:"Username",password:"Password",cancel:"Cancel",back:"Back",generate:"Generate",field:"Field",pleaseChoose:"Required",pleaseEnter:"Required",add:"Add",actions:"Actions",transform:"Transform",alias:"Alias",name:"Name",colon:": "},_={access:"是否允许",topic:"主题",username:"用户名",password:"密码",cancel:"取消",back:"返回",generate:"生成",field:"字段",pleaseChoose:"请选择",pleaseEnter:"请输入",add:"添加",actions:"操作",transform:"转换",alias:"别名",name:"名称",colon:":"},f={access:"許可/拒否",topic:"トピック",username:"ユーザー名",password:"パスワード",cancel:"キャンセル",back:"戻り",generate:"生成",field:"フィールド",pleaseChoose:"選択してください",pleaseEnter:"入力してください",add:"追加",actions:"操作",transform:"変換",alias:"エイリアス",name:"名称",colon:":"},b={mathFunc:"Mathematical Functions",dataTypeJudgmentFunc:"Data Type Judgment Functions",dataTypeConversionFunc:"Data Type Conversion Functions",stringFunc:"String Functions",mapFunc:"Map Functions",arrFunc:"Array Functions",hashFunc:"Hash Functions",compressesAndUncompressesFunc:"Compression and Decompression Functions",bitFunc:"Bit Functions",decodingAndEncodingFunc:"Decoding and Encoding Functions",timeAndDateFunc:"Time and Date Functions",schemaRegistry:"Schema Registry",Value:"Value",Base:"Base",Exponent:"Exponent",Numer:"Numer",Denom:"Denom",Precision:"Precision",String:"String",StartPosition:"Start Position",Separator:"Separator",Direction:"Direction",String1:"String1",String2:"String2",PreserveCRLF:"Preserve CRLF",TotalLength:"Total Length",PaddingDirection:"Padding Direction",PaddingString:"Padding String",OldSubStr:"Old Sub Str",Replacement:"Replacement",ReplaceCount:"Replace Count",Pattern:"Pattern",Character:"Character",SubstringToBeFound:"Substring To Be Found",DirectionToFind:"Direction To Find",Key:"Key",Map:"Map",DefaultValue:"Default Value",Index:"Index",Array:"Array",StartIndex:"Start Index",Length:"Length",UnixTimestamp:"Unix Timestamp",TimeUnit:"Time Unit",RFC3339String:"RFC3339 Time String",TimeOffset:"Time Offset",DateFormat:"Date Format",Timestamp:"Timestamp",BinaryData:"Binary Data",BinaryStartIndex:"Start Index",DataType:"Data Type",Signedness:"Signedness",Endian:"Endian",SchemaName:"Schema",Data:"Data",Type:"Message Type",aliasDesc:"If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias",inputFieldRequiredError:"{name} is required",unusedField:"Unused field",aliasRequired:"Need to specify an alias",aliasFormatError:"Invalid alias format"},g={mathFunc:"数学函数",dataTypeJudgmentFunc:"数据类型判断函数",dataTypeConversionFunc:"数据类型转换函数",stringFunc:"字符串函数",mapFunc:"Map 函数",arrFunc:"数组函数",hashFunc:"哈希函数",compressesAndUncompressesFunc:"压缩解压缩函数",bitFunc:"比特操作函数",decodingAndEncodingFunc:"编解码函数",timeAndDateFunc:"时间与日期函数",schemaRegistry:"编解码",Value:"值",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"字符串",StartPosition:"起始位置",Separator:"分割符",Direction:"方向",String1:"左字符串",String2:"右字符串",PreserveCRLF:"是否保留换行符",TotalLength:"字符总长度",PaddingDirection:"补足方向",PaddingString:"补足字符",OldSubStr:"需要替换的字符串",Replacement:"替换值",ReplaceCount:"替换位置",Pattern:"正则表达式",Character:"字符",SubstringToBeFound:"要查找的子串",DirectionToFind:"查找方向",Key:"键",Map:"Map",DefaultValue:"默认值",Index:"索引",Array:"数组",StartIndex:"起始索引",Length:"截取长度",UnixTimestamp:"Unix 时间戳",TimeUnit:"时间单位",RFC3339String:"RFC 3339 时间字符串",TimeOffset:"时区偏移",DateFormat:"日期格式",Timestamp:"时间戳",BinaryData:"二进制数据",BinaryStartIndex:"起始位置的下标",DataType:"数据类型",Signedness:"符号性",Endian:"字节序",SchemaName:"Schema",Data:"数据",Type:"消息类型",aliasDesc:"别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号",inputFieldRequiredError:"请输入{name}",unusedField:"未被使用的字段",aliasRequired:"需指定一个别名",aliasFormatError:"格式错误的别名"},y={mathFunc:"数学関数",dataTypeJudgmentFunc:"データ型判定関数",dataTypeConversionFunc:"データ型変換関数",stringFunc:"文字列関数",mapFunc:"マップ関数",arrFunc:"配列関数",hashFunc:"ハッシュ関数",compressesAndUncompressesFunc:"圧縮・展開関数",bitFunc:"ビット関数",decodingAndEncodingFunc:"デコード・エンコード関数",timeAndDateFunc:"日時関数",schemaRegistry:"スキーマレジストリ",Value:"値",Base:"基数",Exponent:"指数",Numer:"分子",Denom:"分母",Precision:"精度",String:"文字列",StartPosition:"開始位置",Separator:"区切り文字",Direction:"方向",String1:"文字列 1",String2:"文字列 2",PreserveCRLF:"改行保持(CRLF)",TotalLength:"全体の長さ",PaddingDirection:"パディング方向",PaddingString:"パディング文字",OldSubStr:"元の部分文字列",Replacement:"置換後の文字列",ReplaceCount:"置換回数",Pattern:"パターン",Character:"文字",SubstringToBeFound:"検索対象の部分文字列",DirectionToFind:"検索方向",Key:"キー",Map:"マップ",DefaultValue:"デフォルト値",Index:"インデックス",Array:"配列",StartIndex:"開始インデックス",Length:"長さ",UnixTimestamp:"Unix タイムスタンプ",TimeUnit:"時間単位",RFC3339String:"RFC3339 形式の時間文字列",TimeOffset:"時間オフセット",DateFormat:"日付形式",Timestamp:"タイムスタンプ",BinaryData:"バイナリデータ",BinaryStartIndex:"開始インデックス",DataType:"データ型",Signedness:"符号の有無",Endian:"エンディアン",SchemaName:"スキーマ",Data:"データ",Type:"メッセージタイプ",aliasDesc:"エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",inputFieldRequiredError:"{name} は必須項目です",unusedField:"未使用のフィールド",aliasRequired:"エイリアスを指定する必要があります",aliasFormatError:"エイリアスの形式が正しくありません"},v={generateSQLByAIBtn:"SQL Generator",generateSQLWithAI:"Generate SQL with AI",taskDescPlaceholder:'Enter a natural language task description, e.g., "Select all fields from t/#"',taskDesc:"Task Description",relatedTopics:"Related Topics",relatedTopicsDesc:'Supports a single topic, or multiple topics (comma-separated, with +/# support), e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'Please enter related topics, e.g., "t/a" or "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"Input Example (JSON)",sqlExampleInputDesc:"Provide an example JSON for the input message",sqlExampleOutput:"Output Example (JSON)",sqlExampleOutputDesc:"Provide an example JSON for the output result",applySQL:"Apply SQL",generatedSQLOutputTitle:"Generated SQL",generatedSQLOutputDesc:"Please review the AI-generated SQL. You can apply it directly, or return to modify the description and regenerate."},k={generateSQLByAIBtn:"SQL 生成器",generateSQLWithAI:"使用 AI 生成 SQL",taskDescPlaceholder:'请输入自然语言的任务描述,例如:"从 t/# 主题选择所有字段"',taskDesc:"任务描述",relatedTopics:"相关主题",relatedTopicsDesc:'支持单个主题,或多个主题(请使用逗号分隔,支持 +/#),例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',relatedTopicsPlaceholder:'请输入相关主题,例如:"t/a" 或 "t/a, t/b/#, t/c/+/d"',sqlExampleInput:"输入示例(JSON)",sqlExampleInputDesc:"提供一个输入消息的 JSON 示例",sqlExampleOutput:"输出示例(JSON)",sqlExampleOutputDesc:"提供一个输出结果的 JSON 示例",applySQL:"应用 SQL",generatedSQLOutputTitle:"生成的 SQL",generatedSQLOutputDesc:"请检查 AI 生成的 SQL。可直接应用,或返回修改描述并重新生成。"},T={generateSQLByAIBtn:"SQL ジェネレーター",generateSQLWithAI:"AI で SQL を生成",taskDescPlaceholder:"自然言語でタスク説明を入力してください。例:「t/# からすべてのフィールドを選択」",taskDesc:"タスク説明",relatedTopics:"関連トピック",relatedTopicsDesc:"単一トピックまたは複数トピック(カンマ区切り、+/# をサポート)を指定できます。例:「t/a」または「t/a, t/b/#, t/c/+/d」",relatedTopicsPlaceholder:"関連トピックを入力してください。例:「t/a」または「t/a, t/b/#, t/c/+/d」",sqlExampleInput:"入力例(JSON)",sqlExampleInputDesc:"入力メッセージのサンプル JSON を指定してください",sqlExampleOutput:"出力例(JSON)",sqlExampleOutputDesc:"出力結果のサンプル JSON を指定してください",applySQL:"SQL を適用",generatedSQLOutputTitle:"生成された SQL",generatedSQLOutputDesc:"AI が生成した SQL を確認してください。直接適用することも、説明を修正して再生成することもできます。"},S={systemTitle:"Log Analysis AI Assistant",noMCPServers:"No MCP server is available, please configure the MCP server gateway.",configMCPServerGateway:"Configure MCP Server Gateway",mcpServerGatewayConfigs:"MCP Server Gateway Configurations",cancel:"Cancel",save:"Save",mqttHost:"MQTT Host",mqttPort:"MQTT Port",mqttUsername:"MQTT Username",mqttPassword:"MQTT Password",mqttClientId:"MQTT Client ID",mqttAppId:"MQTT App ID",saveSuccess:"Saved successfully",parseUserIntention:"Parse User Intention",loadLogEntries:"Load Log Entries",generalConversation:"General Conversation",extractAndExplainLogEntries:"Extract and Explain Log Entries",queryEmqxContext:"Query EMQX Context",genAnalysisReport:"Generate Analysis Report",completeReport:"Complete Report",funcCall:"Function Call",analysisResultTip:"The following is the report content:",responseConfirm:"Please confirm the result is ok?",yes:"Yes",no:"No",refreshConfirm:"There is a conversation in progress, confirm to clear the conversation and start a new one?",confirm:"Confirm",guidanceText:"Welcome to the Log Analysis AI Assistant. I will leverage technologies such as LLM and RAG,as well as utilize the MCP tool to query system status, to help you analyze EMQX-related logs and quickly identify and resolve issues. Here are some example questions you can ask,",querySample1:"Query the error/warning log messages from the past 5 minutes.",querySample2:"Query the latest 5 error/warning log messages.",querySample3:"Analyze log: ",noConfigStatus:"MCP server gateway not configured. Please configure the server gateway and connect to the server before proceeding with the analysis of server logs.",disconnectedStatus:"Cannot connect to your MCP servers, please check your settings or network.",selectServerRequired:"Please select the MCP server to connect.",funcName:"Function Name",funcArgs:"Function Arguments",funcOutput:"Function Output",permissionRequest:'Tool "{tool}" requires permission to access system resources.',deny:"Deny",allowOnce:"Allow Once",allowAlways:"Allow Always",reportGenerationCompleted:"Report generation completed.",userCancelled:"User cancelled the operation."},w={systemTitle:"日志分析 AI 助手",noMCPServers:"暂无可用 MCP 服务器,请先配置 MCP 服务器网关。",configMCPServerGateway:"配置 MCP 服务器网关",mcpServerGatewayConfigs:"MCP 服务器网关配置",cancel:"取消",save:"保存",mqttHost:"MQTT 主机",mqttPort:"MQTT 端口",mqttUsername:"MQTT 用户名",mqttPassword:"MQTT 密码",mqttClientId:"MQTT 客户端 ID",mqttAppId:"MQTT 应用 ID",saveSuccess:"保存成功",parseUserIntention:"分析用户意图",loadLogEntries:"加载日志条目",generalConversation:"通用对话",extractAndExplainLogEntries:"查找并解释日志数据",queryEmqxContext:"查询 EMQX 上下文",genAnalysisReport:"生成分析报告",completeReport:"完成报告",funcCall:"函数调用",analysisResultTip:"以下是报告内容:",responseConfirm:"请确认结果是否正确?",yes:"正确",no:"不正确",refreshConfirm:"当前页面有正在进行的对话,是否确认清空记录并开始新的对话?",confirm:"确认",guidanceText:"欢迎使用日志分析 AI 助手。我将利用 LLM 和 RAG 等技术,以及 MCP 工具查询系统状态,帮助您分析 EMQX 相关日志并快速识别和解决问题。以下是一些您可以询问的问题:",querySample1:"查询过去 5 分钟内的错误/警告日志消息。",querySample2:"查询最新的 5 条错误/警告日志消息。",querySample3:"分析日志:",noConfigStatus:"未配置 MCP 服务器网关,如需分析服务器日志,请先配置服务器网关,并连接服务器后再进行操作。",disconnectedStatus:"无法连接到 MCP 服务器,请检查您的设置或网络。",selectServerRequired:"请选择需要连接的 MCP 服务器。",funcName:"函数名称",funcArgs:"函数参数",funcOutput:"函数输出",permissionRequest:'工具 "{tool}" 需要权限访问系统资源。',deny:"拒绝",allowOnce:"允许一次",allowAlways:"始终允许",reportGenerationCompleted:"报告生成完成。",userCancelled:"用户取消操作。"},P={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"拖拽多个节点以选择消息与事件输入",guideProcessingNodeLabel:"Processing(可选)",guideProcessingNodeDesc:"拖拽节点以处理和过滤数据",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"拖拽多个节点以输出数据到外部数据集成",guideFallbackNodeLabel:"Fallback(可选)",guideFallbackNodeDesc:"拖拽节点以作为备选动作",actionAvailable:"可用",actionUnavailable:"不可用",connecting:"连接中",inconsistent:"集群中各节点不一致",disconnected:"已断开",message:"消息",event:"事件",dataProcessing:"数据处理",filter:"过滤器",consoleOutput:"控制台输出",republish:"消息重发布",condition:"个条件",systemPrompt:"系统消息",consoleFallbackWrong:"Console 不可作为备选动作",incorrectConnection:"错误的连线",filterFunctionsWrongOrder:"函数节点必须放置在过滤器节点之前,请调整节点位置。",flowEmptyError:"无法保存,Flow 中需要有至少一个 Sink 节点和一个 Source 节点",flowIntegrityError:"无法保存,Flow 中需要有至少一个 {missing} 节点",isolatedNodeError:"Flow 中有未连接的节点,请先连接或将其删除|Flow 中有未连接的节点,请先连接或将其删除",multipleFlowError:"每次仅允许创建一个 Flow",multipleFallbackWrong:"Flow 暂不支持编辑多层级备选动作",incorrectInputOutputConnection:"请确认所有 Source 节点均正确连接到同一数据处理节点",incorrectOutputNodeConnection:"请确认所有 Sink 节点均由同一数据处理节点输出",incorrectDefaultNodeConnection:"请确认所有数据处理节点均按照顺序首尾相连",input:"输入",systemPromptDesc:"系统消息,用于引导 AI 模型生成符合预期的输出。例:将输入的 JSON 数据中,值为数字的 value 相加起来,并输出,只需返回输出结果。",model:"模型",maxTokens:"最大令牌数",anthropicVersion:"Anthropic 版本",apiKey:"API 密钥",baseURL:"基础 URL",geminiBaseUrlTips:"当前 Gemini 通过兼容 OpenAI 的接口来与之通信,请输入兼容 OpenAI 的基础 URL。",aiOutputAlias:"输出结果别名",aiOutputAliasDesc:"输出结果别名,用户在动作或后续处理中引用输出结果。",aliasDesc:"别名如包含除字母、数字和下划线以外的字符,或以数字开头,或为 SQL 关键字时,请为别名加上双引号。",connectTimeout:"连接超时",recvTimeout:"接收数据超时时间",checkoutTimeout:"连接池超时时间",maxConn:"最大连接数",maxConnectionsDesc:"最大并发连接数",checkoutTimeoutDesc:"从连接池中为请求 AI 服务的请求分配的超时时间。",confirm:"确认",baseURLDesc:"默认值为 {url},您也可以输入其他兼容 {name} API 格式的模型基础 URL。"},x={guideSourceNodeLabel:"Source",guideSourceNodeDesc:"Drag in multiple nodes to select message and event inputs",guideProcessingNodeLabel:"Processing (optional)",guideProcessingNodeDesc:"Drag nodes to transform and filter data",guideSinkNodeLabel:"Sink",guideSinkNodeDesc:"Drag in multiple nodes to output data to external integrations",guideFallbackNodeLabel:"Fallback (optional)",guideFallbackNodeDesc:"Drag nodes as fallback actions",actionAvailable:"Available",actionUnavailable:"Unavailable",connecting:"Connecting",inconsistent:"Inconsistent for nodes in the cluster",disconnected:"Disconnected",message:"Message",event:"Event",dataProcessing:"Data Processing",filter:"Filter",consoleOutput:"Console Output",republish:"Republish",condition:"condition | conditions",systemPrompt:"System Message",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"Incorrect connection",filterFunctionsWrongOrder:"Function nodes must be placed before filter nodes. Please adjust node positions.",flowEmptyError:"Unable to save, there must be at least one Sink node and one Source node in the Flow",flowIntegrityError:"Unable to save, at least one {missing} node is required in the Flow",isolatedNodeError:"There are unconnected node in the flow. Please connect or delete them.|There are unconnected nodes in the flow. Please connect or delete them.",multipleFlowError:"Only one flow can be created at a time",multipleFallbackWrong:"Flow does not support editing multi-level fallback actions",incorrectInputOutputConnection:"Please confirm that all source nodes are correctly connected to the same data processing node",incorrectOutputNodeConnection:"Please confirm that all sink nodes are output from the same data processing node",incorrectDefaultNodeConnection:"Please confirm that all data processing nodes are connected in sequence from start to end",input:"Input",systemPromptDesc:"System message, used to guide AI models to generate outputs that meet expectations. Example: Add up the values of numeric keys in the input JSON data and output the result, only return the output result.",model:"Model",maxTokens:"Max Tokens",anthropicVersion:"Anthropic Version",apiKey:"API Key",baseURL:"Base URL",geminiBaseUrlTips:"This Gemini connection uses an OpenAI-compatible API. Please enter a compatible Base URL.",aiOutputAlias:"Output Result Alias",aiOutputAliasDesc:"Output result alias, used to reference output results in actions or subsequent processing.",aliasDesc:"If the alias contains characters other than letters, numbers, and underscores, or starts with a number, or is a SQL keyword, please add double quotes to the alias.",connectTimeout:"Connect Timeout",recvTimeout:"Receive Timeout",checkoutTimeout:"Checkout Timeout",maxConn:"Max Connections",maxConnectionsDesc:"Maximum number of simultaneous connections to the AI provider.",checkoutTimeoutDesc:"Timeout for the checkout from connection pool for a request to the AI provider.",confirm:"Confirm",baseURLDesc:"The default value is {url}, or you can use any base URL that works with the {name} API format."},M={guideSourceNodeLabel:"ソース",guideSourceNodeDesc:"複数のノードをドラッグしてメッセージとイベント入力を選択",guideProcessingNodeLabel:"処理(任意)",guideProcessingNodeDesc:"ノードをドラッグしてデータを変換・フィルター",guideSinkNodeLabel:"シンク",guideSinkNodeDesc:"複数のノードをドラッグして外部連携にデータを出力",guideFallbackNodeLabel:"フォールバック(任意)",guideFallbackNodeDesc:"ノードをドラッグしてフォールバックアクションとして設定します",actionAvailable:"利用可能",actionUnavailable:"利用不可",connecting:"接続中",inconsistent:"クラスタ内のノードで不一致",disconnected:"切断",message:"メッセージ",event:"イベント",dataProcessing:"データ処理",filter:"フィルター",consoleOutput:"Console Output",republish:"再パブリッシュ(Republish)",condition:"条件",systemPrompt:"システムメッセージ",consoleFallbackWrong:"Console cannot be used as a fallback action",incorrectConnection:"不正な接続",filterFunctionsWrongOrder:"関数ノードはフィルターノードより前に配置する必要があります。ノードの位置を調整してください。",flowEmptyError:"保存できません。フローには少なくとも1つのシンクノードと1つのソースノードが必要です。",flowIntegrityError:"保存できません。フローには少なくとも 1 つの{missing}ノードが必要です。",isolatedNodeError:"フローに未接続のノードがあります。接続するか削除してください。",multipleFlowError:"一度に作成できるフローは1つだけです。",multipleFallbackWrong:"フローは多段階のフォールバックアクションの編集をサポートしていません",incorrectInputOutputConnection:"すべてのソースノードが同じデータ処理ノードに正しく接続されていることを確認してください",incorrectOutputNodeConnection:"すべてのシンクノードが同じデータ処理ノードから出力されていることを確認してください",incorrectDefaultNodeConnection:"すべてのデータ処理ノードが開始から終了まで順に接続されていることを確認してください",input:"入力",systemPromptDesc:"システムメッセージ。AI モデルに期待どおりの出力を生成させるために使用します。例:入力 JSON データの数値キーの値を合計し、その結果のみを返す。",model:"モデル",maxTokens:"最大トークン数",anthropicVersion:"Anthropic バージョン",apiKey:"API キー",baseURL:"ベース URL",geminiBaseUrlTips:"This Gemini connection uses an OpenAI-compatible API. Please enter a compatible Base URL.",aiOutputAlias:"出力結果のエイリアス",aiOutputAliasDesc:"出力結果のエイリアス。アクションや後続処理で出力結果を参照するために使用します",aliasDesc:"エイリアスに英数字とアンダースコア以外の文字が含まれる場合、数字で始まる場合、または SQL キーワードの場合は、エイリアスを二重引用符で囲んでください",connectTimeout:"Connect Timeout",recvTimeout:"Receive Timeout",checkoutTimeout:"Checkout Timeout",maxConn:"Max Connections",maxConnectionsDesc:"Maximum number of simultaneous connections to the AI provider.",checkoutTimeoutDesc:"Timeout for the checkout from connection pool for a request to the AI provider.",confirm:"確認",baseURLDesc:"デフォルト値は {url} です。{name} API 形式と互換性のある任意のベース URL を使用することもできます。"};e.SQLTemplates=t,e.authHelpCodeMap=i,e.enActionsLabel=a,e.enAiLog=S,e.enCommon=h,e.enConnectorsLabel=r,e.enFlow=x,e.enIntegrationDesc=d,e.enRuleFunction=b,e.enRuleSQL=v,e.enStreaming=m,e.enSymbolLabel=n,e.jaCommon=f,e.jaFlow=M,e.jaRuleFunction=y,e.jaRuleSQL=T,e.jaStreaming=p,e.zhActionsLabel=o,e.zhAiLog=w,e.zhCommon=_,e.zhConnectorsLabel=s,e.zhFlow=P,e.zhIntegrationDesc=l,e.zhRuleFunction=g,e.zhRuleSQL=k,e.zhStreaming=u,e.zhSymbolLabel=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
package/dist/ja/flow.d.ts CHANGED
@@ -31,4 +31,23 @@ export declare const jaFlow: {
31
31
  incorrectInputOutputConnection: string;
32
32
  incorrectOutputNodeConnection: string;
33
33
  incorrectDefaultNodeConnection: string;
34
+ input: string;
35
+ systemPromptDesc: string;
36
+ model: string;
37
+ maxTokens: string;
38
+ anthropicVersion: string;
39
+ apiKey: string;
40
+ baseURL: string;
41
+ geminiBaseUrlTips: string;
42
+ aiOutputAlias: string;
43
+ aiOutputAliasDesc: string;
44
+ aliasDesc: string;
45
+ connectTimeout: string;
46
+ recvTimeout: string;
47
+ checkoutTimeout: string;
48
+ maxConn: string;
49
+ maxConnectionsDesc: string;
50
+ checkoutTimeoutDesc: string;
51
+ confirm: string;
52
+ baseURLDesc: string;
34
53
  };
package/dist/zh/flow.d.ts CHANGED
@@ -31,4 +31,23 @@ export declare const zhFlow: {
31
31
  incorrectInputOutputConnection: string;
32
32
  incorrectOutputNodeConnection: string;
33
33
  incorrectDefaultNodeConnection: string;
34
+ input: string;
35
+ systemPromptDesc: string;
36
+ model: string;
37
+ maxTokens: string;
38
+ anthropicVersion: string;
39
+ apiKey: string;
40
+ baseURL: string;
41
+ geminiBaseUrlTips: string;
42
+ aiOutputAlias: string;
43
+ aiOutputAliasDesc: string;
44
+ aliasDesc: string;
45
+ connectTimeout: string;
46
+ recvTimeout: string;
47
+ checkoutTimeout: string;
48
+ maxConn: string;
49
+ maxConnectionsDesc: string;
50
+ checkoutTimeoutDesc: string;
51
+ confirm: string;
52
+ baseURLDesc: string;
34
53
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emqx/shared-ui-i18n",
3
- "version": "0.0.52",
3
+ "version": "0.0.53",
4
4
  "homepage": "https://emqx.io",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {