diff --git a/rel/i18n/emqx_ft_api.hocon b/rel/i18n/emqx_ft_api.hocon
index 6ac01ea23..0c67db554 100644
--- a/rel/i18n/emqx_ft_api.hocon
+++ b/rel/i18n/emqx_ft_api.hocon
@@ -1,29 +1,13 @@
emqx_ft_api {
- file_list {
- desc {
- en: "List all uploaded files."
- zh: "列出所有上传的文件。"
- }
- label: {
- en: "List all uploaded files"
- zh: "列出所有上传的文件"
- }
- }
+file_list.desc:
+"""List all uploaded files."""
}
emqx_ft_storage_exporter_fs_api {
- file_get {
- desc {
- en: "Get a file by its id."
- zh: "根据文件 id 获取文件。"
- }
- label: {
- en: "Get a file by its id"
- zh: "根据文件 id 获取文件"
- }
- }
+file_get.desc:
+"""Get a file by its id."""
}
diff --git a/rel/i18n/emqx_ft_schema.hocon b/rel/i18n/emqx_ft_schema.hocon
index 9df02e920..28c93e1ef 100644
--- a/rel/i18n/emqx_ft_schema.hocon
+++ b/rel/i18n/emqx_ft_schema.hocon
@@ -1,177 +1,56 @@
emqx_ft_schema {
- init_timeout {
- desc {
- en: "Timeout for initializing the file transfer.
"
- "After reaching the timeout, `init` message will be acked with an error"
- zh: ""
- }
- label {
- en: "File Transfer Init Timeout"
- zh: ""
- }
- }
+init_timeout.desc:
+"""Timeout for initializing the file transfer.
+After reaching the timeout, `init` message will be acked with an error"""
- assemble_timeout {
- desc {
- en: "Timeout for assembling and exporting file segments into a final file.
"
- "After reaching the timeout, `fin` message will be acked with an error"
- zh: ""
- }
- label {
- en: "File Assemble Timeout"
- zh: ""
- }
- }
+assemble_timeout.desc:
+"""Timeout for assembling and exporting file segments into a final file.
+After reaching the timeout, `fin` message will be acked with an error"""
- store_segment_timeout {
- desc {
- en: "Timeout for storing a file segment.
"
- "After reaching the timeout, message with the segment will be acked with an error"
- zh: ""
- }
- label {
- en: "Store Segment Timeout"
- zh: ""
- }
- }
+store_segment_timeout.desc:
+"""Timeout for storing a file segment.
+After reaching the timeout, message with the segment will be acked with an error"""
- storage {
- desc {
- en: "Storage settings for file transfer."
- zh: "文件传输的存储设置。"
- }
- label: {
- en: "Storage settings"
- zh: "存储设置"
- }
- }
+storage.desc:
+"""Storage settings for file transfer."""
- local_type {
- desc {
- en: "Use local file system to store uploaded fragments and temporary data."
- zh: "使用本地文件系统来存储上传的文件和临时数据。"
- }
- label: {
- en: "Local Storage"
- zh: "本地存储"
- }
- }
+local_type.desc:
+"""Use local file system to store uploaded fragments and temporary data."""
- local_storage_segments {
- desc {
- en: "Settings for local segments storage, which include uploaded transfer fragments and temporary data."
- zh: "保存上传文件和临时数据的文件系统路径。"
- }
- label: {
- en: "Local Segments Storage"
- zh: "本地存储根"
- }
- }
+local_storage_segments.desc:
+"""Settings for local segments storage, which include uploaded transfer fragments and temporary data."""
- local_storage_segments_root {
- desc {
- en: "File system path to keep uploaded fragments and temporary data."
- zh: "保存上传文件和临时数据的文件系统路径。"
- }
- label: {
- en: "Local Segments Storage Filesystem Root"
- zh: "本地存储根"
- }
- }
+local_storage_segments_root.desc:
+"""File system path to keep uploaded fragments and temporary data."""
- local_storage_exporter {
- desc {
- en: "Exporter for the local file system storage backend.
"
- "Exporter defines where and how fully transferred and assembled files are stored."
- zh: ""
- }
- label: {
- en: "Local Storage Exporter"
- zh: ""
- }
- }
+local_storage_exporter.desc:
+"""Exporter for the local file system storage backend.
+Exporter defines where and how fully transferred and assembled files are stored."""
- local_storage_exporter_type {
- desc {
- en: "Exporter type for the exporter to the local file system"
- zh: ""
- }
- label: {
- en: "Local Storage Exporter Type"
- zh: ""
- }
- }
+local_storage_exporter_type.desc:
+"""Exporter type for the exporter to the local file system"""
- s3_exporter_type {
- desc {
- en: "Exporter type for the exporter to S3"
- zh: ""
- }
- label: {
- en: "S3 Exporter Type"
- zh: ""
- }
- }
+s3_exporter_type.desc:
+"""Exporter type for the exporter to S3"""
- local_storage_exporter_root {
- desc {
- en: "File system path to keep uploaded files."
- zh: ""
- }
- label: {
- en: "Local Filesystem Exporter Root"
- zh: ""
- }
- }
+local_storage_exporter_root.desc:
+"""File system path to keep uploaded files."""
- local_storage_segments_gc {
- desc {
- en: "Garbage collection settings for the intermediate and temporary files in the local file system."
- zh: ""
- }
- label: {
- en: "Local Storage GC"
- zh: ""
- }
- }
+local_storage_segments_gc.desc:
+"""Garbage collection settings for the intermediate and temporary files in the local file system."""
- storage_gc_interval {
- desc {
- en: "Interval of periodic garbage collection."
- zh: ""
- }
- label: {
- en: "GC Interval"
- zh: ""
- }
- }
+storage_gc_interval.desc:
+"""Interval of periodic garbage collection."""
- storage_gc_max_segments_ttl {
- desc {
- en: "Maximum TTL of a segment kept in the local file system.
"
- "This is a hard limit: no segment will outlive this TTL, even if some file transfer specifies a "
- "TTL more than that."
- zh: ""
- }
- label: {
- en: "Max segment TTL"
- zh: ""
- }
- }
-
- storage_gc_min_segments_ttl {
- desc {
- en: "Minimum TTL of a segment kept in the local file system.
"
- "This is a hard limit: no segment will be garbage collected before reaching this TTL, "
- "even if some file transfer specifies a TTL less than that."
- zh: ""
- }
- label: {
- en: "Min segment TTL"
- zh: ""
- }
- }
+storage_gc_max_segments_ttl.desc:
+"""Maximum TTL of a segment kept in the local file system.
+This is a hard limit: no segment will outlive this TTL, even if some file transfer specifies a
+TTL more than that."""
+storage_gc_min_segments_ttl.desc:
+"""Minimum TTL of a segment kept in the local file system.
+This is a hard limit: no segment will be garbage collected before reaching this TTL,
+even if some file transfer specifies a TTL less than that."""
}
diff --git a/rel/i18n/emqx_s3_schema.hocon b/rel/i18n/emqx_s3_schema.hocon
index c391fa352..df4b973fa 100644
--- a/rel/i18n/emqx_s3_schema.hocon
+++ b/rel/i18n/emqx_s3_schema.hocon
@@ -1,114 +1,38 @@
emqx_s3_schema {
- access_key_id {
- desc {
- en: "The access key ID of the S3 bucket."
- zh: ""
- }
- label {
- en: "Access Key ID"
- zh: ""
- }
- }
- secret_access_key {
- desc {
- en: "The secret access key of the S3 bucket."
- zh: ""
- }
- label {
- en: "Secret Access Key"
- zh: ""
- }
- }
- bucket {
- desc {
- en: "The name of the S3 bucket."
- zh: ""
- }
- label {
- en: "Bucket"
- zh: ""
- }
- }
- host {
- desc {
- en: "The host of the S3 endpoint."
- zh: ""
- }
- label {
- en: "S3 endpoint Host"
- zh: ""
- }
- }
- port {
- desc {
- en: "The port of the S3 endpoint."
- zh: ""
- }
- label {
- en: "S3 endpoint port"
- zh: ""
- }
- }
- url_expire_time {
- desc {
- en: "The time in seconds for which the signed URLs to the S3 objects are valid."
- zh: ""
- }
- label {
- en: "Signed URL expiration time"
- zh: ""
- }
- }
- min_part_size {
- desc {
- en: """The minimum part size for multipart uploads.
+
+access_key_id.desc:
+"""The access key ID of the S3 bucket."""
+
+secret_access_key.desc:
+"""The secret access key of the S3 bucket."""
+
+bucket.desc:
+"""The name of the S3 bucket."""
+
+host.desc:
+"""The host of the S3 endpoint."""
+
+port.desc:
+"""The port of the S3 endpoint."""
+
+url_expire_time.desc:
+"""The time in seconds for which the signed URLs to the S3 objects are valid."""
+
+min_part_size.desc:
+"""The minimum part size for multipart uploads.
Uploaded data will be accumulated in memory until this size is reached."""
- zh: ""
- }
- label {
- en: "Minimum multipart upload part size"
- zh: ""
- }
- }
- max_part_size {
- desc {
- en: """The maximum part size for multipart uploads.
+
+max_part_size.desc:
+"""The maximum part size for multipart uploads.
S3 uploader won't try to upload parts larger than this size."""
- zh: ""
- }
- label {
- en: "Maximum multipart upload part size"
- zh: ""
- }
- }
- acl {
- desc {
- en: "The ACL to use for the uploaded objects."
- zh: ""
- }
- label {
- en: "ACL"
- zh: ""
- }
- }
- transport_options {
- desc {
- en: "Options for the HTTP transport layer used by the S3 client."
- zh: ""
- }
- label {
- en: "Transport Options"
- zh: ""
- }
- }
- ipv6_probe {
- desc {
- en: "Whether to probe for IPv6 support."
- zh: ""
- }
- label {
- en: "IPv6 probe"
- zh: ""
- }
- }
+
+acl.desc:
+"""The ACL to use for the uploaded objects."""
+
+transport_options.desc:
+"""Options for the HTTP transport layer used by the S3 client."""
+
+ipv6_probe.desc:
+"""Whether to probe for IPv6 support."""
+
}