i18n: push/pull no overwrite

This commit is contained in:
Lemmy
2026-08-08 17:23:59 -04:00
parent 60b053c076
commit 95595088d9
11 changed files with 335 additions and 331 deletions
+89 -89
View File
@@ -1,120 +1,120 @@
{
"state": {
"tip": {
"online": "9Router: connected",
"offline": "9Router: offline",
"auth_required": "9Router: login required"
},
"combos": "{count} combo(s)"
},
"login": {
"title": "9Router Login",
"hint": "The dashboard requires authentication. Enter your 9Router password to continue.",
"password_placeholder": "Password…",
"submit": "Log in"
},
"list": {
"title": "9Router — Combos",
"refresh": "Refresh",
"new_combo": "New Combo",
"search": "Search combos…",
"empty": "No combos yet. Create one to get started.",
"no_match": "No combos match your search.",
"open": "Open combo",
"delete": "Delete combo",
"delete_confirm": "Confirm delete",
"delete_cancel": "Cancel",
"kind": "Kind: {kind}"
},
"detail": {
"back": "Back to combos",
"models_count": "{count} model(s)",
"refresh": "Refresh",
"delete": "Delete combo",
"delete_confirm": "Delete this combo?",
"delete_yes": "Yes, delete",
"delete_no": "Cancel",
"kind_label": "Kind",
"rename": "Rename",
"rename_placeholder": "New name…",
"rename_save": "Save",
"rename_cancel": "Cancel",
"models_title": "Model Chain",
"no_models": "This combo has no models yet.",
"drag_hint": "Drag a model to reorder",
"add_model": "Add model",
"remove_model": "Remove model",
"move_up": "Move up",
"move_down": "Move down"
},
"add_model": {
"title": "Add Model",
"back": "Back to combo",
"search": "Search models…",
"empty": "No models available.",
"no_match": "No models match your search."
"no_match": "No models match your search.",
"search": "Search models…",
"title": "Add Model"
},
"create": {
"title": "New Combo",
"back": "Back",
"cancel": "Cancel",
"kind_label": "Kind",
"models_hint": "One model per line, in fallback order (e.g. cc/claude-opus-4-7).",
"models_label": "Models",
"models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1",
"name_label": "Name",
"name_placeholder": "e.g. my-fallback",
"models_label": "Models",
"models_hint": "One model per line, in fallback order (e.g. cc/claude-opus-4-7).",
"models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1",
"kind_label": "Kind",
"cancel": "Cancel",
"submit": "Create"
"submit": "Create",
"title": "New Combo"
},
"kind": {
"none": "None",
"fallback": "Fallback",
"round_robin": "Round-robin",
"fusion": "Fusion"
"detail": {
"add_model": "Add model",
"back": "Back to combos",
"delete": "Delete combo",
"delete_confirm": "Delete this combo?",
"delete_no": "Cancel",
"delete_yes": "Yes, delete",
"drag_hint": "Drag a model to reorder",
"kind_label": "Kind",
"models_count": "{count} model(s)",
"models_title": "Model Chain",
"move_down": "Move down",
"move_up": "Move up",
"no_models": "This combo has no models yet.",
"refresh": "Refresh",
"remove_model": "Remove model",
"rename": "Rename",
"rename_cancel": "Cancel",
"rename_placeholder": "New name…",
"rename_save": "Save"
},
"error": {
"dismiss": "Dismiss",
"connection_failed": "Could not connect to 9Router",
"http_status": "HTTP {status}",
"bad_response": "Unexpected response from 9Router",
"auth_required": "Authentication required",
"login_failed": "Login failed",
"need_password": "Please enter your password.",
"reorder_failed": "Failed to reorder models",
"add_model_failed": "Failed to add model",
"remove_model_failed": "Failed to remove model",
"invalid_name": "Name can only contain letters, numbers, -, _ and .",
"auth_required": "Authentication required",
"bad_response": "Unexpected response from 9Router",
"connection_failed": "Could not connect to 9Router",
"create_failed": "Failed to create combo",
"need_name_models": "A name and at least one model are required.",
"delete_failed": "Failed to delete combo",
"dismiss": "Dismiss",
"http_status": "HTTP {status}",
"invalid_name": "Name can only contain letters, numbers, -, _ and .",
"kind_failed": "Failed to update kind",
"login_failed": "Login failed",
"need_name_models": "A name and at least one model are required.",
"need_password": "Please enter your password.",
"remove_model_failed": "Failed to remove model",
"rename_failed": "Failed to rename combo",
"kind_failed": "Failed to update kind"
"reorder_failed": "Failed to reorder models"
},
"kind": {
"fallback": "Fallback",
"fusion": "Fusion",
"none": "None",
"round_robin": "Round-robin"
},
"list": {
"delete": "Delete combo",
"delete_cancel": "Cancel",
"delete_confirm": "Confirm delete",
"empty": "No combos yet. Create one to get started.",
"kind": "Kind: {kind}",
"new_combo": "New Combo",
"no_match": "No combos match your search.",
"open": "Open combo",
"refresh": "Refresh",
"search": "Search combos…",
"title": "9Router — Combos"
},
"login": {
"hint": "The dashboard requires authentication. Enter your 9Router password to continue.",
"password_placeholder": "Password…",
"submit": "Log in",
"title": "9Router Login"
},
"settings": {
"server_host": {
"label": "Server Host",
"description": "Hostname of the 9Router dashboard. Default: 127.0.0.1."
},
"server_port": {
"label": "Server Port",
"description": "Port of the 9Router dashboard. Default: 20128."
},
"data_dir": {
"label": "Data Directory",
"description": "9Router data directory (used to compute the CLI token when the dashboard requires login). Default: ~/.9router."
"description": "9Router data directory (used to compute the CLI token when the dashboard requires login). Default: ~/.9router.",
"label": "Data Directory"
},
"debug_logging": {
"description": "Print debug messages to the Noctalia log.",
"label": "Debug Logging"
},
"language": {
"label": "Language",
"description": "Language for this plugin's UI. 'Auto' follows the Noctalia shell language.",
"label": "Language",
"options": {
"auto": "Auto (follow shell)",
"en": "English",
"vi": "Tiếng Việt"
}
},
"debug_logging": {
"label": "Debug Logging",
"description": "Print debug messages to the Noctalia log."
"server_host": {
"description": "Hostname of the 9Router dashboard. Default: 127.0.0.1.",
"label": "Server Host"
},
"server_port": {
"description": "Port of the 9Router dashboard. Default: 20128.",
"label": "Server Port"
}
},
"state": {
"combos": "{count} combo(s)",
"tip": {
"auth_required": "9Router: login required",
"offline": "9Router: offline",
"online": "9Router: connected"
}
}
}
+89 -89
View File
@@ -1,120 +1,120 @@
{
"state": {
"tip": {
"online": "9Router: đã kết nối",
"offline": "9Router: ngoại tuyến",
"auth_required": "9Router: cần đăng nhập"
},
"combos": "{count} combo"
},
"login": {
"title": "Đăng nhập 9Router",
"hint": "Dashboard yêu cầu xác thực. Nhập mật khẩu 9Router của bạn để tiếp tục.",
"password_placeholder": "Mật khẩu…",
"submit": "Đăng nhập"
},
"list": {
"title": "9Router — Combos",
"refresh": "Làm mới",
"new_combo": "Combo mới",
"search": "Tìm combo…",
"empty": "Chưa có combo nào. Tạo một combo để bắt đầu.",
"no_match": "Không có combo nào khớp tìm kiếm.",
"open": "Mở combo",
"delete": "Xóa combo",
"delete_confirm": "Xác nhận xóa",
"delete_cancel": "Hủy",
"kind": "Loại: {kind}"
},
"detail": {
"back": "Quay lại danh sách",
"models_count": "{count} model",
"refresh": "Làm mới",
"delete": "Xóa combo",
"delete_confirm": "Xóa combo này?",
"delete_yes": "Có, xóa",
"delete_no": "Hủy",
"kind_label": "Loại",
"rename": "Đổi tên",
"rename_placeholder": "Tên mới…",
"rename_save": "Lưu",
"rename_cancel": "Hủy",
"models_title": "Chuỗi Model",
"no_models": "Combo này chưa có model nào.",
"drag_hint": "Kéo model để sắp xếp lại",
"add_model": "Thêm model",
"remove_model": "Xóa model",
"move_up": "Di chuyển lên",
"move_down": "Di chuyển xuống"
},
"add_model": {
"title": "Thêm Model",
"back": "Quay lại combo",
"search": "Tìm model…",
"empty": "Không có model nào.",
"no_match": "Không có model khớp tìm kiếm."
"no_match": "Không có model khớp tìm kiếm.",
"search": "Tìm model…",
"title": "Thêm Model"
},
"create": {
"title": "Combo mới",
"back": "Quay lại",
"cancel": "Hủy",
"kind_label": "Loại",
"models_hint": "Mỗi model một dòng, theo thứ tự fallback (vd: cc/claude-opus-4-7).",
"models_label": "Models",
"models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1",
"name_label": "Tên",
"name_placeholder": "vd: my-fallback",
"models_label": "Models",
"models_hint": "Mỗi model một dòng, theo thứ tự fallback (vd: cc/claude-opus-4-7).",
"models_placeholder": "cc/claude-opus-4-7\nglm/glm-5.1",
"kind_label": "Loại",
"cancel": "Hủy",
"submit": "Tạo"
"submit": "Tạo",
"title": "Combo mới"
},
"kind": {
"none": "Không",
"fallback": "Fallback",
"round_robin": "Round-robin",
"fusion": "Fusion"
"detail": {
"add_model": "Thêm model",
"back": "Quay lại danh sách",
"delete": "Xóa combo",
"delete_confirm": "Xóa combo này?",
"delete_no": "Hủy",
"delete_yes": "Có, xóa",
"drag_hint": "Kéo model để sắp xếp lại",
"kind_label": "Loại",
"models_count": "{count} model",
"models_title": "Chuỗi Model",
"move_down": "Di chuyển xuống",
"move_up": "Di chuyển lên",
"no_models": "Combo này chưa có model nào.",
"refresh": "Làm mới",
"remove_model": "Xóa model",
"rename": "Đổi tên",
"rename_cancel": "Hủy",
"rename_placeholder": "Tên mới…",
"rename_save": "Lưu"
},
"error": {
"dismiss": "Đóng",
"connection_failed": "Không kết nối được 9Router",
"http_status": "HTTP {status}",
"bad_response": "Phản hồi không mong đợi từ 9Router",
"auth_required": "Cần xác thực",
"login_failed": "Đăng nhập thất bại",
"need_password": "Vui lòng nhập mật khẩu.",
"reorder_failed": "Không thể sắp xếp lại model",
"add_model_failed": "Không thể thêm model",
"remove_model_failed": "Không thể xóa model",
"invalid_name": "Tên chỉ được chứa chữ, số, -, _ và .",
"auth_required": "Cần xác thực",
"bad_response": "Phản hồi không mong đợi từ 9Router",
"connection_failed": "Không kết nối được 9Router",
"create_failed": "Không thể tạo combo",
"need_name_models": "Cần tên và ít nhất một model.",
"delete_failed": "Không xóa được combo",
"dismiss": "Đóng",
"http_status": "HTTP {status}",
"invalid_name": "Tên chỉ được chứa chữ, số, -, _ và .",
"kind_failed": "Không cập nhật được loại",
"login_failed": "Đăng nhập thất bại",
"need_name_models": "Cần tên và ít nhất một model.",
"need_password": "Vui lòng nhập mật khẩu.",
"remove_model_failed": "Không thể xóa model",
"rename_failed": "Không đổi tên được combo",
"kind_failed": "Không cập nhật được loại"
"reorder_failed": "Không thể sắp xếp lại model"
},
"kind": {
"fallback": "Fallback",
"fusion": "Fusion",
"none": "Không",
"round_robin": "Round-robin"
},
"list": {
"delete": "Xóa combo",
"delete_cancel": "Hủy",
"delete_confirm": "Xác nhận xóa",
"empty": "Chưa có combo nào. Tạo một combo để bắt đầu.",
"kind": "Loại: {kind}",
"new_combo": "Combo mới",
"no_match": "Không có combo nào khớp tìm kiếm.",
"open": "Mở combo",
"refresh": "Làm mới",
"search": "Tìm combo…",
"title": "9Router — Combos"
},
"login": {
"hint": "Dashboard yêu cầu xác thực. Nhập mật khẩu 9Router của bạn để tiếp tục.",
"password_placeholder": "Mật khẩu…",
"submit": "Đăng nhập",
"title": "Đăng nhập 9Router"
},
"settings": {
"server_host": {
"label": "Máy chủ",
"description": "Hostname của dashboard 9Router. Mặc định: 127.0.0.1."
},
"server_port": {
"label": "Cổng",
"description": "Cổng của dashboard 9Router. Mặc định: 20128."
},
"data_dir": {
"label": "Thư mục dữ liệu",
"description": "Thư mục dữ liệu 9Router (dùng để tính CLI token khi dashboard yêu cầu đăng nhập). Mặc định: ~/.9router."
"description": "Thư mục dữ liệu 9Router (dùng để tính CLI token khi dashboard yêu cầu đăng nhập). Mặc định: ~/.9router.",
"label": "Thư mục dữ liệu"
},
"debug_logging": {
"description": "In thông điệp gỡ lỗi vào log Noctalia.",
"label": "Ghi log gỡ lỗi"
},
"language": {
"label": "Ngôn ngữ",
"description": "Ngôn ngữ giao diện của plugin. 'Tự động' theo ngôn ngữ shell Noctalia.",
"label": "Ngôn ngữ",
"options": {
"auto": "Tự động (theo shell)",
"en": "English",
"vi": "Tiếng Việt"
}
},
"debug_logging": {
"label": "Ghi log gỡ lỗi",
"description": "In thông điệp gỡ lỗi vào log Noctalia."
"server_host": {
"description": "Hostname của dashboard 9Router. Mặc định: 127.0.0.1.",
"label": "Máy chủ"
},
"server_port": {
"description": "Cổng của dashboard 9Router. Mặc định: 20128.",
"label": "Cổng"
}
},
"state": {
"combos": "{count} combo",
"tip": {
"auth_required": "9Router: cần đăng nhập",
"offline": "9Router: ngoại tuyến",
"online": "9Router: đã kết nối"
}
}
}