From 0ae7646e28c0ca77224e04f1e790beca224c315f Mon Sep 17 00:00:00 2001 From: hairdawngd Date: Fri, 13 Nov 2026 10:36:59 +0700 Subject: [PATCH 1/5] Add Vietnamese localization Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- assets/i18n/en.json | 1 + assets/i18n/pt_BR.json | 1 + assets/i18n/vi.json | 2184 ++++++++++++++++++++++++++++ assets/i18n/zh_CN.json | 1 + crates/benchup-app/src/language.rs | 4 + crates/benchup-app/src/settings.rs | 13 +- crates/benchup-app/src/sidebar.rs | 2 +- crates/benchup-core/build.rs | 5 + crates/benchup-core/src/i18n.rs | 13 + 9 files changed, 2222 insertions(+), 2 deletions(-) create mode 100644 assets/i18n/vi.json diff --git a/assets/i18n/en.json b/assets/i18n/en.json index 9647d8a..e060115 100644 --- a/assets/i18n/en.json +++ b/assets/i18n/en.json @@ -2069,6 +2069,7 @@ "settings.invert_zoom": "Invert zoom", "settings.language_simplified_chinese": "Simplified Chinese", "settings.language_brazilian_portuguese": "Brazilian Portuguese", + "settings.language_vietnamese": "Vietnamese", "settings.look_sensitivity": "Look sensitivity", "settings.mouse_trackpad": "Mouse/Trackpad", "settings.navigation_type": "Navigation type", diff --git a/assets/i18n/pt_BR.json b/assets/i18n/pt_BR.json index 0cf32b7..95f77fd 100644 --- a/assets/i18n/pt_BR.json +++ b/assets/i18n/pt_BR.json @@ -2067,6 +2067,7 @@ "settings.invert_zoom": "Inverter zoom", "settings.language_simplified_chinese": "简体中文", "settings.language_brazilian_portuguese": "Português (Brasil)", + "settings.language_vietnamese": "Vietnamita", "settings.look_sensitivity": "Sensibilidade do olhar", "settings.mouse_trackpad": "Mouse/trackpad", "settings.navigation_type": "Tipo de navegação", diff --git a/assets/i18n/vi.json b/assets/i18n/vi.json new file mode 100644 index 0000000..8fa1a3a --- /dev/null +++ b/assets/i18n/vi.json @@ -0,0 +1,2184 @@ +{ + "account.account": "Tài khoản", + "account.are_you_sure_you_want_to_log_out": "Bạn có chắc chắn muốn đăng xuất không?", + "account.cannot_connect_to_server": "Không thể kết nối với máy chủ", + "account.cannot_connect_to_the_configured_server_please_retry": "Không thể kết nối với máy chủ đã định cấu hình. Vui lòng thử lại.", + "account.cannot_contact_project_server": "Không thể liên hệ với máy chủ dự án", + "account.cannot_load_account_picture": "Không thể tải ảnh tài khoản", + "account.cannot_locate_account_storage": "Không thể định vị bộ nhớ tài khoản", + "account.cannot_read_account_picture": "Không thể đọc ảnh tài khoản", + "account.cannot_read_server_response": "Không thể đọc phản hồi của máy chủ", + "account.cannot_save_guest_identity": "Không thể lưu danh tính khách", + "account.complete_login_and_authorize_benchup_in_your_browser": "Hoàn tất đăng nhập và ủy quyền BenchUp trong trình duyệt của bạn…", + "account.config_cannot_read_file": "Không thể đọc {path}: {error}", + "account.config_file_error": "{path}: {error}", + "account.config_invalid_unicode": "{key} phải là UTF-8", + "account.config_invalid_value": "{key} phải chứa URL máy chủ", + "account.config_missing": "Không có máy chủ tài khoản nào được định cấu hình. Đặt {key} trong .env hoặc tại thời điểm xây dựng hoặc khởi chạy bằng --server-url URL.", + "account.config_missing_argument": "--url máy chủ yêu cầu URL", + "account.config_missing_equals": "Thiếu '=' cho {key} trực tuyến {line}", + "account.config_trailing_text": "Văn bản không mong đợi sau {key} trên dòng {line}", + "account.config_unclosed_quote": "Báo giá chưa được tiết lộ cho {key} trực tuyến {line}", + "account.connect_your_account_using_google_in_your_browser": "Kết nối tài khoản của bạn bằng Google trong trình duyệt của bạn.", + "account.continue_with_google": "Tiếp tục với Google", + "account.invalid_account_server_configuration_use_https_or_http": "Cấu hình máy chủ tài khoản không hợp lệ: sử dụng HTTPS hoặc HTTP trên localhost.", + "account.invalid_login_address": "Địa chỉ đăng nhập không hợp lệ", + "account.invalid_logout_response": "Phản hồi đăng xuất không hợp lệ", + "account.invalid_project_response": "Phản hồi dự án không hợp lệ", + "account.invalid_project_server_configuration": "Cấu hình máy chủ dự án không hợp lệ", + "account.invalid_server_address": "Địa chỉ máy chủ không hợp lệ", + "account.invalid_server_login_response": "Phản hồi đăng nhập máy chủ không hợp lệ", + "account.invalid_server_profile": "Cấu hình máy chủ không hợp lệ", + "account.invalid_server_session_response": "Phản hồi phiên máy chủ không hợp lệ", + "account.log_in_to_benchup": "Đăng nhập vào BenchUp", + "account.log_out": "Đăng xuất", + "account.logging_out": "Đăng xuất…", + "account.login_timed_out_continue_with_google_to_try": "Đã hết thời gian đăng nhập. Tiếp tục với Google để thử lại.", + "account.missing_http_status": "Thiếu trạng thái HTTP", + "account.no_browser": "Không có trình duyệt", + "account.project_server_unavailable": " không khả dụng: {e}", + "account.signed_out_but_could_not_remove_the_saved": "Đã đăng xuất nhưng không thể xóa thông tin xác thực đã lưu.", + "account.storage_unavailable": "Không có bộ nhớ", + "account.the_server_did_not_sign_out": "Máy chủ không đăng xuất.", + "account.use_https_or_http_on_localhost_for_development": "Sử dụng HTTPS hoặc HTTP trên localhost để phát triển.", + "app.about_benchup": "Giới thiệu BenchUp", + "app.account": "Tài khoản", + "app.account_not_connected": "Tài khoản · Chưa kết nối", + "app.aligned": " · {} căn chỉnh", + "app.angle": "Góc", + "app.appearance": "Giao diện", + "app.ascii_or_binary_geometry_only_coordinates_interpreted_as": "ASCII hoặc nhị phân. Chỉ hình học; tọa độ được hiểu là milimet, Z up.", + "app.assign_stock_material": "Gán vật liệu phôi", + "app.automatically_align_drawing_with_the_red_green_and": "Tự động căn chỉnh bản vẽ theo các trục màu đỏ, lục và lam. Di chuột qua điểm cuối, điểm giữa hoặc cạnh để thu được các trục đi qua vị trí đó. Các phím mũi tên vẫn có thể khóa một trục khi tính năng này tắt.", + "app.autosaved_on_this_device_use_file_save_to": "Tự động lưu trên thiết bị này. Sử dụng Tệp → Lưu để cập nhật tệp dự án của bạn.", + "app.binary_stl_of_visible_faces_in_millimetres_z": "STL nhị phân của các mặt hiển thị tính bằng milimet, Z trở lên. Không có cạnh hoặc vật liệu. Đảm bảo chất rắn được đóng kín trước khi in; không sửa chữa tự động.", + "app.cannot_paste_this_geometry_here_a_component_cannot": "Không thể dán hình này vào đây; một thành phần không thể chứa định nghĩa riêng của nó", + "app.center_view_on_axis_origin_0_0_0": "Căn giữa khung nhìn tại gốc tọa độ (0, 0, 0)", + "app.check_for_updates": "Kiểm tra bản cập nhật…", + "app.choose_a_modeling_tool": "Chọn công cụ tạo hình", + "app.clean_aligned_vertices": "Xóa đỉnh thẳng hàng dư thừa", + "app.clear_color": "Xóa màu", + "app.clear_color_2": "Xóa màu", + "app.click_a_face_in_a_group_or_component": "Nhấp vào một mặt trong nhóm hoặc thành phần để tô màu tất cả các mặt của đối tượng đó.", + "app.click_a_face_to_apply_this_color": "Nhấp vào một mặt để áp dụng màu này.", + "app.click_a_filled_face_first": "Trước tiên, hãy nhấp vào một mặt đã tô.", + "app.click_a_reference_point_away_from_the_pivot": "Nhấp vào điểm tham chiếu cách xa trục trước", + "app.click_a_reference_point_away_from_the_pivot_2": "Nhấp vào điểm tham chiếu cách xa trục quay · Esc để hủy", + "app.click_the_opposite_corner_type_width_height_5m": "Nhấp vào góc đối diện · Nhập chiều rộng,chiều cao (5m,50mm) rồi nhấn Enter", + "app.click_to_confirm_esc_to_cancel": "{} · Nhấp để xác nhận · Esc để hủy", + "app.click_to_confirm_esc_to_cancel_2": "{value:.3} × · Nhấp để xác nhận · Esc để hủy", + "app.click_to_confirm_esc_to_cancel_3": "{}{}{alignment} · Nhấp để xác nhận · Esc để hủy", + "app.click_to_finish_type_length_enter_esc_to": "Nhấp để hoàn tất · Nhập chiều dài rồi nhấn Enter · Esc để dừng", + "app.click_to_place_the_copy_escape_to_cancel": "Nhấp để đặt bản sao · Escape để hủy", + "app.click_to_set_the_radius_type_a_radius": "Nhấp để đặt bán kính · Nhập bán kính (5cm) rồi nhấn Enter · Esc để hủy", + "app.close_level_esc": "Đóng cấp chỉnh sửa (Esc)", + "app.component": "Thành phần", + "app.configure_edge_face_face_center_axis_and_grid": "Định cấu hình chụp nhanh cạnh, mặt, tâm mặt, trục và lưới", + "app.copies": "Bản sao", + "app.copy": "Sao chép · ", + "app.copy_ctrl_toggles_move_click_to_place_type": "Sao chép · Nút bật tắt Ctrl Di chuyển · Nhấp để đặt · Nhập khoảng cách + Enter", + "app.copy_option_toggles_move_click_to_place_type": "Sao chép · Option chuyển sang Di chuyển · Nhấp để đặt · Nhập khoảng cách rồi nhấn Enter", + "app.copy_placed_type_3_to_divide_the_span": "Sao chép đã đặt · Nhập /3 để chia nhịp hoặc 3x để lặp lại · Enter để áp dụng", + "app.could_not_restore_the_project_file_location_after": "Không thể khôi phục vị trí tệp dự án sau khi cập nhật: {error}", + "app.could_not_restore_your_model_a_new_workspace": "Không thể khôi phục mô hình: {e}. Không gian làm việc mới đã sẵn sàng.", + "app.create_a_printable_label_for_each_piece_in": "Tạo nhãn có thể in cho từng phần trong phần lựa chọn hoặc toàn bộ dự án.", + "app.create_component": "Tạo thành phần", + "app.create_component_2": "Tạo thành phần", + "app.delete_guides": "Xóa đường dẫn", + "app.dimension": "kích thước", + "app.distance": "Khoảng cách", + "app.download_desktop_app": "Tải xuống ứng dụng máy tính để bàn", + "app.arc_choose_end": "Nhấp vào điểm cuối thứ hai · Nhập độ dài hợp âm + Enter · Esc để hủy", + "app.arc_choose_through_point": "Nhấp vào một điểm trên cung · Nhập chiều cao cung + Enter · Esc để hủy", + "app.arc_chord": "Độ dài hợp âm", + "app.arc_distinct_endpoints": "Chọn điểm cuối thứ hai khác.", + "app.arc_height": "Achiều cao vòng cung", + "app.arc_lock_must_contain_endpoints": "Mặt phẳng bị khóa phải chứa cả hai điểm cuối cung.", + "app.arc_point_off_chord": "Chọn một điểm cách xa đường thẳng giữa các điểm cuối.", + "app.draw_arc": "Vẽ cung", + "app.draw_circle": "Vẽ hình tròn", + "app.draw_freehand": "Dvẽ tự do", + "app.draw_line": "Vẽ đường", + "app.draw_polygon": "Vẽ đa giác", + "app.draw_rectangle": "Vẽ hình chữ nhật", + "app.dxf_2d_dxf": "DXF 2D (.dxf)…", + "app.edge_and_face_selection": "{} · {}", + "app.edit": "Chỉnh sửa", + "app.editable_groups_holes_and_solid_colors_no_textures": "Các nhóm, lỗ và màu đồng nhất có thể chỉnh sửa. Không có kết cấu hoặc chú thích.", + "app.enter_an_angle_or_formula_such_as_90": "Nhập một góc hoặc công thức, chẳng hạn như 90 hoặc (45 + 45) / 2. Số đơn giản sử dụng {}. Thêm độ, °, rad hoặc gon sau công thức để ghi đè đơn vị.", + "app.erase_geometry": "Tẩy hình học", + "app.erase_selection": "Xóa vùng chọn", + "app.export": "Xuất", + "app.export_time_and_cost_estimates_as_pdf": "Xuất ước tính thời gian và chi phí dưới dạng PDF", + "app.faces_and_lines_including_negative_vertex_indices_metres": "Các mặt và đường thẳng, bao gồm cả chỉ số đỉnh âm. Mét, Z tăng lên. Không có vật liệu, kết cấu hoặc phân cấp nhóm.", + "app.factor": "Hệ số", + "app.file": "Tệp", + "app.fit_model_to_view": "Căn mô hình vừa khung nhìn", + "app.fit_selection_to_view": "Lựa chọn phù hợp để xem", + "app.generate_time_cost_estimates": "Tạo ước tính thời gian và chi phí…", + "app.github": "GitHub", + "app.give_your_selection_a_name": "Đặt tên cho lựa chọn của bạn.", + "app.group": "Nhóm", + "app.help": "Trợ giúp", + "app.history_menu_action": "{action} {label}", + "app.hole_side_lengths": "Hlỗ {index} chiều dài cạnh", + "app.import": "Nhập", + "app.inspector": "Bảng thuộc tính", + "app.benchup": "{} - BenchUp", + "app.benchup_is_a_3d_modeling_app_for_turning": "BenchUp là một ứng dụng lập mô hình 3D để biến ý tưởng thành hình dạng. Vẽ hình học chính xác, tạo hình bề mặt và sắp xếp mô hình của bạn theo nhóm và thành phần.", + "app.keyboard_shortcuts": "Phím tắt", + "app.length": "Chiều dài", + "app.locked": "Đã khóa", + "app.locked_2": "{} · Đã khóa", + "app.make_group": "Tạo nhóm", + "app.make_group_2": "Tạo nhóm", + "app.maximize": "Tối đa hóa", + "app.minimize": "Thu nhỏ", + "app.missing_material": "Thiếu vật liệu", + "app.mixed": "Hỗn hợp", + "app.model": "Mô hình", + "app.modified_saved_locally": "Đã sửa đổi · được lưu cục bộ", + "app.move": "Di chuyển · ", + "app.move_copy": "Di chuyển bản sao", + "app.move_ctrl_toggles_copy_click_base_point_and": "Di chuyển · Ctrl chuyển sang Sao chép · Nhấp điểm gốc và điểm đích", + "app.move_option_toggles_copy_click_base_point_and": "Di chuyển · Option chuyển sang Sao chép · Nhấp điểm gốc và điểm đích", + "app.move_over_the_drawing_plane_to_set_a": "Di chuyển trên mặt phẳng vẽ để đặt hướng", + "app.move_the_cursor_to_orbit_hold_shift_to": "Di chuyển con trỏ đến quỹ đạo · Giữ phím Shift để xoay · Nhả Ctrl / ⌘ để tiếp tục vẽ", + "app.move_the_pointer_to_choose_a_direction_first": "Di chuyển con trỏ để chọn hướng trước", + "app.move_the_pointer_to_give_the_shape_some": "Di chuyển con trỏ để tạo hình dạng có kích thước nào đó", + "app.new_faces": "Mặt mới · ", + "app.new_project": "Dự án mới", + "app.new_project_ready": "Dự án mới đã sẵn sàng", + "app.new_workspace": "Không gian làm việc mới", + "app.no_group_open": "Không có nhóm mở", + "app.no_objects_selected": "Chưa chọn đối tượng nào", + "app.nothing_selected": "Chưa chọn gì", + "app.object_selection": "{kind}: {}", + "app.offset": "Dịch song song", + "app.orbiting_hold_shift_to_pan": "Orbiting · Giữ phím Shift để pan", + "app.paint_face": "Tô màu mặt", + "app.paint_group": "Tô màu nhóm", + "app.panning_release_shift_to_orbit": "Panning · Phóng dịch chuyển lên quỹ đạo", + "app.panning_hold_shift_to_orbit": "Panning · Giữ Shift đến quỹ đạo", + "app.orbiting_release_shift_to_pan": "Orbiting · Nhả Shift sang pan", + "app.paste": "Dán", + "app.perimeter": "Chu vi", + "app.plane_locked": "{} · Đã khóa", + "app.plane_locked_2": "{} · Máy bay bị khóa", + "app.polygon_sides": "Các cạnh đa giác", + "app.prepare_cutting_plan": "Chuẩn bị kế hoạch cắt…", + "app.print_workshop_labels": "In nhãn xưởng…", + "app.push_pull_new_faces_status": "Đẩy/Kéo · Mặt mới · Ctrl bật/tắt chế độ pháp tuyến · Nhấp vào mặt hoặc xác nhận thao tác đẩy/kéo", + "app.quit": "Thoát", + "app.radius": "Bán kính", + "app.release_notes": "Ghi chú phát hành", + "app.release_to_finish_type_total_length_enter_esc": "Phát hành để kết thúc · Nhập tổng chiều dài + Enter · Esc để hủy", + "app.remove_color_from_the_selected_items_and_all": "Xóa màu khỏi các mục đã chọn và tất cả các mục con của chúng", + "app.report_a_bug": "Báo cáo lỗi", + "app.restore": "Khôi phục", + "app.save_as": "Lưu thành…", + "app.saved_locally": "Đã lưu trên thiết bị", + "app.saving": "Đang lưu…", + "app.scale_factor_symbol": "×", + "app.screenshot": "Ảnh chụp màn hình", + "app.select_a_group_or_component_to_edit_its": "Chọn một nhóm hoặc thành phần để chỉnh sửa vật liệu, chà nhám và hoàn thiện.", + "app.select_an_entity_to_see_its_details": "Chọn một thực thể để xem thông tin chi tiết về nó.", + "app.select_or_click_an_edge_or_face_first": "Chọn hoặc nhấp vào một cạnh hoặc bề mặt trước", + "app.selected": "{selection} đã chọn", + "app.selection_dimensions": { + "one": "{count}", + "other": "{count}" + }, + "app.selection_edges": { + "one": "{count} cạnh", + "other": "{count}" + }, + "app.selection_entities": { + "one": "{count} thực thể", + "other": "{count}" + }, + "app.selection_faces": { + "one": "{count} mặt", + "other": "{count}" + }, + "app.selection_guides": { + "one": "{count}", + "other": "{count}" + }, + "app.selection_separator": " · ", + "app.selection_text_labels": { + "one": "{count}", + "other": "{count}" + }, + "app.settings": "Cài đặt…", + "app.side_lengths": "Độ dài cạnh", + "app.sketchup_skp": "SketchUp (.skp)…", + "app.snap_points_and_moves_to_the_grid_spacing": "Bắt điểm và thao tác di chuyển theo khoảng cách lưới ở mức thu phóng hiện tại. Điểm bắt trên đối tượng và khóa trục được ưu tiên.", + "app.snap_to_axes": "Bắt theo trục", + "app.snap_to_edge": "Bắt theo cạnh", + "app.snap_to_face": "Bắt theo mặt", + "app.snap_to_face_center": "Bắt theo tâm mặt", + "app.snap_to_grid": "Bắt theo lưới", + "app.snap_only_visible": "Chỉ bắt vào phần tử đang hiển thị", + "app.snap_only_visible_tooltip": "Chỉ bắt vào cạnh hoặc mặt ngay dưới con trỏ, không bắt vào hình học bị che khuất bởi đối tượng khác. Bắt theo trục và lưới vẫn hoạt động độc lập.", + "app.snap_to_object_edges_including_their_endpoints_and": "Bắt vào cạnh của đối tượng, bao gồm cả đầu mút và trung điểm.", + "app.snap_to_object_surfaces_independently_of_edge_and": "Bắt vào bề mặt đối tượng, độc lập với việc bắt cạnh và tâm mặt.", + "app.snap_to_the_area_center_of_a_visible": "Bắt vào tâm diện tích của mặt đang hiển thị, độc lập với việc bắt cạnh và bề mặt.", + "app.snapping": "Bắt điểm", + "app.stl_stl_millimetres": "STL (.stl; milimét)…", + "app.stock_material": "Vật liệu tồn kho", + "app.suggest_a_feature": "Đề xuất tính năng", + "app.suggest_a_feature_on_github": "Đề xuất một tính năng trên GitHub", + "app.summarize_matching_parts_and_export_finished_cutting_dimensions": "Tóm tắt các bộ phận phù hợp và xuất kích thước cắt hoàn thiện cho vùng chọn hoặc toàn bộ dự án.", + "app.surface_area": "Diện tích bề mặt", + "app.switch_to_dark_mode": "Chuyển sang chế độ tối", + "app.switch_to_light_mode": "Chuyển sang chế độ ánh sáng", + "app.system_information": "Thông tin hệ thống", + "app.tape": "Thước dây", + "app.text_dxf_line_straight_lwpolyline_arc_and_circle": "Văn bản DXF: LINE, LWPOLYLINE thẳng, ARC và CIRCLE trong mặt phẳng XY. Đường cong được xấp xỉ tối đa 96 đoạn mỗi vòng tròn. Không hỗ trợ khối, cung đa tuyến hoặc độ rộng. Dùng đơn vị khai báo; nếu tệp không khai báo đơn vị thì mặc định là milimét.", + "app.the_clipboard_geometry_could_not_be_read": "Không thể đọc hình học trong bộ nhớ tạm.", + "app.the_reference_lies_on_the_rotation_axis_clear": "Tham chiếu nằm trên trục quay; xóa khóa hoặc khởi động lại bằng tham chiếu khác", + "app.toggle_model_inspector_tab": "Bật/tắt bảng thuộc tính mô hình (Tab)", + "app.toggle_x_axis_lock_select_up_to_two": "Chuyển đổi khóa trục X (→). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", + "app.toggle_y_axis_lock_select_up_to_two": "Chuyển đổi khóa trục Y (←). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", + "app.toggle_z_axis_lock_select_up_to_two": "Toggle khóa trục Z (↑). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", + "app.tool_with_shortcut": "{tool} ({shortcut})", + "app.tools": "Công cụ", + "app.total_edge_length": "Tổng chiều dài cạnh", + "app.total_perimeter": "Tổng chu vi", + "app.unassigned": "Chưa gán", + "app.unlock_an_axis_before_locking_another_maximum_two": "Mở khóa một trục trước khi khóa trục khác (tối đa hai)", + "app.unlock_the_face_before_editing_it": "Mở khóa mặt trước khi chỉnh sửa.", + "app.unlock_the_object_before_opening_it": "Mở khóa đối tượng trước khi mở", + "app.unlock_the_selection_before_editing_it": "Mở khóa vùng chọn trước khi chỉnh sửa", + "app.unsaved": "Chưa lưu", + "app.update_ready": "Sẵn sàng cập nhật", + "app.use_lengths_or_formulas_60cm_89mm_1m_20cm": "Sử dụng độ dài hoặc công thức: 60cm - 89mm, (1m + 20cm) / 2. Toán tử: + - * / và dấu ngoặc đơn. Số đơn giản mặc định là {}; số nhân không có đơn vị. Đơn vị: mm, cm, m, km, in, ft, yd. Hình chữ nhật chấp nhận một công thức cho mỗi chiều, được phân tách bằng dấu phẩy. Thang đo sử dụng số không có đơn vị.", + "app.version": "Phiên bản {}", + "app.view": "Xem", + "app.visible_edges_and_triangulated_faces_in_metres_z": "Các cạnh nhìn thấy được và các mặt tam giác tính bằng mét, Z trở lên. Chỉ hình học.", + "app.volume": "Thể tích", + "app.wavefront_obj_obj": "Wavefront OBJ (.obj)…", + "app.wavefront_obj_obj_metres": "Wavefront OBJ (.obj; mét)…", + "app.width_height": "Chiều rộng, chiều cao", + "app.wood_joinery": "Mối nối gỗ", + "app.your_model_stays_on_this_device": "Mô hình của bạn vẫn ở trên thiết bị này", + "app.your_work_is_saved_automatically_on_this_device": "Công việc của bạn được lưu tự động trên thiết bị này. Lưu dự án .bup để giữ một bản sao di động. Các tệp .bup cũ cũng được hỗ trợ.", + "app_updates.automatic_checks_run_at_most_once_a_day": "Kiểm tra tự động chạy tối đa một lần mỗi ngày. Các bản cập nhật đã tải xuống sẽ cài đặt vào lần khởi chạy tiếp theo. Việc tắt tính năng này sẽ dừng việc kiểm tra và tải xuống tự động trong tương lai.", + "app_updates.automatically_check_and_download_updates": "Tự động kiểm tra và tải xuống các bản cập nhật", + "app_updates.check_now": "Kiểm tra ngay", + "app_updates.could_not_save_your_workspace_for_restart": "Không thể lưu không gian làm việc của bạn để khởi động lại: {e}", + "app_updates.finish_the_current_file_operation_or_modeling_preview": "Hoàn tất thao tác tệp hiện tại hoặc xem trước mô hình trước khi khởi động lại.", + "app_updates.benchup": "BenchUp {}", + "app_updates.release_notes": "Ghi chú phát hành", + "app_updates.restart_now": "Khởi động lại ngay", + "app_updates.restarting_saves_your_model_locally_and_restores_it": "Restarting lưu mô hình của bạn cục bộ và khôi phục mô hình đó sau khi cập nhật. Trước tiên hãy hoàn thành mọi bản xem trước bản vẽ hoặc mô hình.", + "app_updates.software_updates": "Cập nhật phần mềm", + "app_updates.your_model_could_not_be_saved_benchup_will": "Không thể lưu mô hình của bạn. BenchUp sẽ vẫn mở: {error}", + "app_updates.your_previous_workspace_could_not_be_restored_make": "Không thể khôi phục không gian làm việc trước đây của bạn. Thực hiện chỉnh sửa và đợi tính năng tự động lưu cục bộ để giữ lại không gian làm việc này trước khi khởi động lại.", + "common.add": "Thêm", + "common.apply": "Áp dụng", + "common.cancel": "Hủy", + "common.clear": "Xóa", + "common.close": "Đóng", + "common.create": "Tạo", + "common.delete": "Xóa", + "common.name": "Tên", + "common.none": "Không có", + "common.open": "Mở…", + "common.pieces": { + "one": "{count} chi tiết", + "other": "{count} chi tiết" + }, + "common.redo": "Làm lại", + "common.remove": "Gỡ bỏ", + "common.save": "Lưu", + "common.undo": "Hoàn tác", + "construction_guides.delete_guides": "Xóa hướng dẫn", + "context_menu.automatic_fasteners": "Phụ kiện liên kết tự động", + "context_menu.choose_a_name_for_this_object": "Đặt tên cho đối tượng này.", + "context_menu.clean_aligned_vertices": "Xóa đỉnh thẳng hàng dư thừa", + "context_menu.click_to_place_the_copy_escape_to_cancel": "Nhấp để đặt bản sao · Esc để hủy", + "context_menu.close_editing_context": "Đóng ngữ cảnh chỉnh sửa", + "context_menu.copy": "Sao chép", + "context_menu.create_component": "Tạo thành phần…", + "context_menu.cut": "Cắt", + "context_menu.duplicate": "Nhân bản", + "context_menu.edit_component": "Chỉnh sửa thành phần", + "context_menu.edit_group": "Chỉnh sửa nhóm", + "context_menu.edit_text": "Chỉnh sửa văn bản…", + "context_menu.explode": "Tách rời", + "context_menu.hide": "Ẩn", + "context_menu.lock": "Khóa", + "context_menu.make_group": "Tạo nhóm…", + "context_menu.no_redundant_aligned_vertices_in_the_selection": "Không có đỉnh thẳng hàng dư thừa trong vùng chọn", + "context_menu.paste": "Dán", + "context_menu.paste_in_place": "Dán tại chỗ", + "context_menu.removed_redundant_vertices": { + "one": "Đã xóa {count} đỉnh thẳng hàng dư thừa", + "other": "Đã xóa {count} đỉnh thẳng hàng dư thừa" + }, + "context_menu.rename": "Đổi tên…", + "context_menu.rename_2": "Đổi tên", + "context_menu.ungroup": "Bỏ nhóm", + "context_menu.unhide": "Hiện", + "context_menu.unlock": "Mở khóa", + "core.annotations.enter_text_between_1_and_4096_bytes": "Nhập văn bản từ 1 đến 4096 byte", + "core.annotations.invalid_text_annotation": "Chú thích văn bản không hợp lệ", + "core.annotations.text_coordinates_must_be_finite_and_within_the": "Tọa độ văn bản phải hữu hạn và nằm trong giới hạn của mô hình.", + "core.annotations.text_is_outside_the_model_limits": "Văn bản nằm ngoài giới hạn của mô hình.", + "core.annotations.text_no_longer_exists": "Văn bản không còn tồn tại", + "core.annotations.unlock_the_text_before_editing_it": "Mở khóa văn bản trước khi chỉnh sửa", + "core.camera.back": "Quay lại", + "core.camera.bottom": "Dưới", + "core.camera.front": "Mặt trước", + "core.camera.iso": "Đẳng trục", + "core.camera.left": "Trái", + "core.camera.right": "Đúng", + "core.camera.top": "Trên", + "core.cleanup.unlock_the_selection_before_cleaning_it": "Mở khóa vùng chọn trước khi làm sạch nó", + "core.connections.angled_screw": "Vít bắt xiên", + "core.connections.close_to_an_edge_check_the_geometric_clearance": "Gần cạnh: kiểm tra khoảng hở hình học", + "core.connections.degenerate_face": "Mặt suy biến", + "core.connections.fastener_is_outside_the_entry_face": "Chi tiết liên kết {} nằm ngoài mặt bắt đầu.", + "core.connections.fastener_is_outside_the_second_part": "Chi tiết liên kết nằm ngoài bộ phận thứ hai.", + "core.connections.fasteners_overlap_or_there_is_not_enough_space": "Các chi tiết liên kết bị chồng lấn hoặc không đủ chỗ cho cách bố trí này.", + "core.connections.format": " · ", + "core.connections.invalid_settings_or_pair_of_parts": "Cài đặt hoặc cặp bộ phận không hợp lệ", + "core.connections.invalid_vertices": "Đỉnh không hợp lệ", + "core.connections.maximum_of_1_000_fasteners_per_connection": "Tối đa 1.000 chi tiết liên kết cho mỗi mối nối.", + "core.connections.nail": "Đinh", + "core.connections.no_penetration_into_the_second_part": "Không xâm nhập vào phần thứ hai", + "core.connections.no_shared_area_on_this_face": "Không có vùng tiếp xúc chung trên mặt này.", + "core.connections.only_planar_faces_are_supported": "Chỉ hỗ trợ các mặt phẳng", + "core.connections.part_is_missing": "Thiếu một phần", + "core.connections.part_is_missing_or_has_been_deleted": "Phần bị thiếu hoặc đã bị xóa", + "core.connections.screw": "Vít", + "core.connections.select_two_visible_editable_boards_in_the_current": "Chọn hai tấm ván đang hiển thị và có thể chỉnh sửa trong ngữ cảnh hiện tại.", + "core.connections.the_entry_face_is_missing_or_does_not": "Thiếu mặt bắt đầu hoặc mặt này không thuộc bộ phận thứ nhất.", + "core.connections.the_part_must_be_a_closed_solid": "Bộ phận phải là một khối đặc kín.", + "core.connections.the_parts_have_no_usable_contact_in_this": "Các bộ phận không tiếp xúc phù hợp theo hướng này.", + "core.connections.the_tip_protrudes_beyond_the_second_part": "Đầu vít nhô ra khỏi bộ phận thứ hai.", + "core.connections.these_pieces_already_have_a_wood_joint_edit": "Các chi tiết này đã có mối nối gỗ. Hãy chỉnh sửa hoặc xóa mối nối hiện tại trước.", + "core.csg.these_solids_are_too_complex_for_this_operation": "Các chất rắn này quá phức tạp cho hoạt động này", + "core.csg.these_solids_need_too_many_clipping_planes": "Những vật rắn này cần quá nhiều mặt phẳng cắt", + "core.display.hidden_line": "Dòng ẩn", + "core.display.monochrome": "Đơn sắc", + "core.display.shaded": "Đổ bóng", + "core.display.shaded_with_materials": "Được tô bóng bằng vật liệu", + "core.display.wireframe": "Khung dây", + "core.document.a_map_or_an_empty_legacy_array": "a hoặc một mảng kế thừa trống", + "core.document.coordinates_must_be_finite": " Tọa độ phải là hữu hạn", + "core.document.coordinates_must_be_within_ten_billion_meters_of": " Tọa độ phải cách điểm gốc trong vòng 10 tỷ mét", + "core.document.expected_a_map_only_empty_legacy_arrays_are": " mong đợi một bản đồ; chỉ hỗ trợ các mảng kế thừa trống", + "core.document.face_boundary_is_missing_an_edge": "Ranh giới mặt thiếu cạnh", + "core.document.give_your_line_a_little_length": "Hãy kéo dài dòng của bạn một chút", + "core.document.invalid_camera": "Máy ảnh không hợp lệ", + "core.document.invalid_connection_parameters": "Tham số kết nối không hợp lệ", + "core.document.invalid_construction_guide": "Hướng dẫn xây dựng không hợp lệ", + "core.document.invalid_display_settings": "Cài đặt hiển thị không hợp lệ", + "core.document.invalid_edge": "Cạnh không hợp lệ", + "core.document.invalid_face_boundary": "Ranh giới mặt không hợp lệ", + "core.document.invalid_face_id": "ID mặt không hợp lệ.", + "core.document.invalid_face_surface": "Bề mặt không hợp lệ", + "core.document.invalid_model_ids": "ID mô hình không hợp lệ.", + "core.document.invalid_vertex": "Đỉnh không hợp lệ", + "core.document.model_is_too_large": "Mô hình quá lớn", + "core.document.paint_refers_to_a_missing_face": "Paint dùng để chỉ một mặt bị thiếu", + "core.document.that_edge_already_exists": "Cạnh đó đã tồn tại", + "core.document.unsupported_document_version": "Phiên bản tài liệu không được hỗ trợ", + "core.document.untitled_model": "Mô hình chưa đặt tên", + "core.edit_context.a_component_cannot_contain_its_own_definition": "A không thể chứa định nghĩa riêng", + "core.edit_context.cannot_move_objects_between_instances_of_the_same": "Không thể di chuyển các đối tượng giữa các phiên bản của cùng một thành phần", + "core.edit_context.cyclic_component_definitions": "Định nghĩa thành phần tuần hoàn", + "core.edit_context.missing_component": "Thiếu thành phần", + "core.edit_context.missing_component_definition": "Thiếu định nghĩa thành phần", + "core.edit_context.missing_editing_context": "Thiếu bối cảnh chỉnh sửa", + "core.edit_context.missing_object": "Thiếu vật thể", + "core.edit_context.no_object_is_open_for_editing": "Không có đối tượng nào được mở để chỉnh sửa", + "core.edit_context.the_editing_context_no_longer_exists": "Ngữ cảnh chỉnh sửa không còn tồn tại", + "core.edit_context.unlock_the_object_before_editing_it": "Mở khóa đối tượng trước khi chỉnh sửa", + "core.guides.choose_a_direction_for_the_guide": "Chọn hướng cho người hướng dẫn", + "core.guides.invalid_guide_coordinates": "Tọa độ hướng dẫn không hợp lệ", + "core.inference.aligned_axes": "Trục thẳng hàng", + "core.inference.blue_axis": "Trục xanh", + "core.inference.endpoint": "Đầu mút", + "core.inference.face_center": "Tâm mặt", + "core.inference.green_axis": "Trục xanh", + "core.inference.guide_point": "Điểm dẫn hướng", + "core.inference.midpoint": "Trung điểm", + "core.inference.on_blue_axis": "Trên trục màu xanh", + "core.inference.on_edge": "Trên cạnh", + "core.inference.on_face": "Trên mặt", + "core.inference.on_green_axis": "Trên trục màu xanh lá cây", + "core.inference.on_guide": "Trên đường dẫn", + "core.inference.on_plane": "Trên mặt phẳng", + "core.inference.on_red_axis": "Trên trục màu đỏ", + "core.inference.origin": "Gốc tọa độ", + "core.inference.red_axis": "Trục đỏ", + "core.joinery.boards_must_have_finite_positive_dimensions": "Tấm ván phải có kích thước hữu hạn và lớn hơn 0.", + "core.joinery.cannot_read_joint_result": "Không thể đọc kết quả mối nối.", + "core.joinery.choose_a_tail_width_that_fits_the_overlap": "Chọn chiều rộng đuôi mộng phù hợp với phần chồng lấn và tạo không quá 64 đuôi mộng.", + "core.joinery.choose_boards_with_positive_solid_volume": "Chọn các tấm ván có thể tích khối đặc lớn hơn 0.", + "core.joinery.choose_two_different_boards": "Chọn hai tấm ván khác nhau.", + "core.joinery.choose_two_groups_or_components": "Chọn hai nhóm hoặc thành phần", + "core.joinery.clearance_is_too_large_for_this_joint": "Khoảng cách quá lớn đối với mối nối này", + "core.joinery.dovetail": "Mộng đuôi én", + "core.joinery.dovetail_angle_or_depth_leaves_no_material_at": "Góc hoặc độ sâu mộng đuôi én không chừa lại vật liệu ở cổ mộng.", + "core.joinery.each_part_must_contain_only_board_geometry_select": "Mỗi bộ phận chỉ được chứa hình học của tấm ván; hãy chọn từng tấm riêng lẻ, không chọn cụm lắp ráp.", + "core.joinery.finger_joint": "Mối ghép ngón", + "core.joinery.first_board": "Tấm ván thứ nhất", + "core.joinery.half_lap": "Mộng chồng nửa", + "core.joinery.invalid_wood_joint_settings_or_pair_of_boards": "Cài đặt mối nối gỗ hoặc cặp tấm ván không hợp lệ.", + "core.joinery.joint_cut": "Đường cắt mối nối", + "core.joinery.joint_details_are_too_small_for_the_model": "Các chi tiết khớp quá nhỏ so với độ chính xác của mô hình", + "core.joinery.joint_result": "Kết quả mối nối", + "core.joinery.lower_end": "Đầu dưới", + "core.joinery.mortise_and_tenon": "Mộng âm và mộng dương", + "core.joinery.position_the_boards_with_a_shared_volume_their": "Đặt hai tấm ván sao cho chúng chồng lấn về thể tích; phần chồng lấn xác định độ sâu mối nối.", + "core.joinery.rabbet": "Mộng bậc", + "core.joinery.second_board": "Tấm ván thứ hai", + "core.joinery.the_board_has_no_geometry": "Tấm ván không có hình học.", + "core.joinery.the_clearance_is_too_small_for_the_model": "Khoảng hở quá nhỏ so với độ chính xác của mẫu", + "core.joinery.the_joint_cannot_be_represented_as_valid_solid": "Không thể biểu diễn mối nối dưới dạng hình học khối đặc hợp lệ.", + "core.joinery.the_joint_would_remove_an_entire_board": "Mối nối sẽ loại bỏ toàn bộ tấm ván.", + "core.joinery.the_profile_does_not_divide_the_shared_material": "Biên dạng không chia được phần vật liệu chung; hãy chọn hướng hoặc kích thước biên dạng khác.", + "core.joinery.tongue_and_groove": "Mộng lưỡi và rãnh", + "core.joinery.upper_end": "Đầu trên", + "core.joinery_frame.choose_two_groups_or_components": "Chọn hai nhóm hoặc thành phần", + "core.joinery_frame.each_part_must_contain_only_board_geometry_select": "Mỗi bộ phận chỉ được chứa hình học của tấm ván; hãy chọn từng tấm riêng lẻ, không chọn cụm lắp ráp.", + "core.joinery_frame.the_board_has_no_geometry": "Tấm ván không có hình học.", + "core.joinery_frame.the_board_has_no_planar_faces": "Tấm ván không có mặt phẳng.", + "core.joinery_trim.missing_board_geometry": "Thiếu hình học tấm ván.", + "core.joinery_trim.the_joint_would_remove_an_entire_board": "Mối nối sẽ loại bỏ toàn bộ tấm ván.", + "core.joinery_trim.trimming_would_remove_an_entire_board_keep_the": "Cắt xén sẽ loại bỏ toàn bộ tấm ván; hãy giữ lại đầu còn lại.", + "core.measurements.choose_angle_points_away_from_vertex": "Chọn hai điểm góc cách đỉnh", + "core.measurements.choose_two_different_dimension_endpoints": "Chọn hai điểm cuối thứ nguyên khác nhau", + "core.measurements.dimension_coordinates_must_be_finite_and_within_the": "Tọa độ kích thước phải hữu hạn và nằm trong giới hạn mô hình", + "core.measurements.dimension_is_outside_the_model_limits": "Kích thước nằm ngoài giới hạn của mô hình.", + "core.measurements.invalid_dimension": "Kích thước không hợp lệ", + "core.measurements.invalid_dimension_attachment": "Tệp đính kèm kích thước không hợp lệ", + "core.measurements.invalid_dimension_attachment_weights": "Trọng số đính kèm kích thước không hợp lệ", + "core.measurements.invalid_dimension_position": "Vị trí kích thước không hợp lệ", + "core.modeling.cannot_offset_a_folded_boundary": "Không thể bù đắp ranh giới gấp", + "core.modeling.cannot_offset_this_corner": "Không thể bù góc này", + "core.modeling.choose_a_rotation_axis_first": "Chọn trục quay trước", + "core.modeling.choose_an_axis_that_is_not_parallel_to": "Chọn trục không song song với mặt hoặc xóa khóa trục", + "core.modeling.click_a_face_in_a_group_or_component": "Nhấp vào mặt trong nhóm hoặc thành phần để tô màu.", + "core.modeling.click_a_filled_face_first": "Trước tiên, hãy nhấp vào một mặt đã tô.", + "core.modeling.click_a_filled_face_to_paint_it": "Nhấp vào mặt đã tô để đổi màu.", + "core.modeling.double_click_the_object_to_edit_its_faces": "Nhấp đúp vào đối tượng để chỉnh sửa các mặt.", + "core.modeling.enter_a_finite_displacement": "Nhập một chuyển vị hữu hạn", + "core.modeling.enter_a_finite_rotation_and_pivot": "Nhập một phép quay và trục quay hữu hạn", + "core.modeling.enter_a_nonzero_distance_in_meters": "Nhập khoảng cách khác 0 tính bằng mét", + "core.modeling.enter_a_nonzero_offset_in_meters": "Nhập độ lệch khác 0 tính bằng mét", + "core.modeling.enter_a_positive_scale_factor_such_as_2": "Nhập hệ số tỷ lệ dương, chẳng hạn như 2 hoặc 0,5", + "core.modeling.offset_boundaries_would_overlap": "Các ranh giới lệch nhau sẽ chồng lên nhau", + "core.modeling.offset_is_too_large_for_this_face": "Độ lệch quá lớn so với mặt này.", + "core.modeling.offset_is_too_large_or_crosses_itself": "Độ lệch quá lớn hoặc tự giao nhau.", + "core.modeling.scoped_moves_require_component_synchronization": "Di chuyển trong phạm vi yêu cầu đồng bộ hóa thành phần", + "core.modeling.select_geometry_a_dimension_text_or_a_guide": "Trước tiên, hãy chọn hình học, kích thước, văn bản hoặc đường dẫn.", + "core.modeling.select_geometry_to_flip_first": "Trước tiên, hãy chọn hình học cần lật.", + "core.modeling.the_face_must_be_planar": "Mặt phải phẳng", + "core.modeling.the_group_or_component_has_no_faces_to": "Nhóm hoặc thành phần không có mặt nào để tô màu.", + "core.modeling.this_change_would_collapse_a_guide": "Thay đổi này sẽ thu gọn hướng dẫn", + "core.modeling.this_change_would_collapse_an_edge_or_bend": "Sự thay đổi này sẽ làm thu gọn một cạnh hoặc làm cong một mặt; chọn hình học được kết nối của nó", + "core.modeling.unlock_all_faces_in_the_group_or_component": "Mở khóa tất cả các mặt trong nhóm hoặc thành phần trước khi tô màu.", + "core.modeling.unlock_the_connected_geometry_before_editing_it": "Mở khóa hình học được kết nối trước khi chỉnh sửa nó", + "core.modeling.unlock_the_face_before_painting_it": "Mở khóa mặt trước khi tô màu.", + "core.modeling.unlock_the_group_or_component_before_painting_it": "Mở khóa nhóm hoặc thành phần trước khi tô màu.", + "core.modeling.unlock_the_object_before_editing_it": "Mở khóa đối tượng trước khi chỉnh sửa", + "core.modeling.unlock_the_selected_items_and_their_children_before": "Mở khóa các mục đã chọn và các mục con của chúng trước khi xóa màu", + "core.modeling.unlock_the_selection_before_editing_it": "Mở khóa vùng chọn trước khi chỉnh sửa", + "core.objects.a_group_cannot_have_a_component_mapping": "A không thể có ánh xạ thành phần", + "core.objects.component": "Thành phần", + "core.objects.cyclic_object_membership": "Thành viên đối tượng tuần hoàn", + "core.objects.duplicate_entity_id": "DID thực thể trùng lặp", + "core.objects.group": "Nhóm", + "core.objects.invalid_grain_direction": "Hướng vân gỗ không hợp lệ.", + "core.objects.select_an_unlocked_part": "Chọn một bộ phận đã mở khóa.", + "core.objects.incomplete_component_instance_mapping": "Ánh xạ phiên bản thành phần chưa hoàn chỉnh", + "core.objects.invalid_component_definition": "Định nghĩa thành phần không hợp lệ", + "core.objects.invalid_component_instance_mapping": "Ánh xạ phiên bản thành phần không hợp lệ", + "core.objects.invalid_entity_state": "Trạng thái thực thể không hợp lệ", + "core.objects.invalid_object": "Đối tượng không hợp lệ", + "core.objects.invalid_object_membership": "Thành viên đối tượng không hợp lệ", + "core.objects.mismatched_component_instances": "Các bản thể thành phần không khớp.", + "core.reparent.an_object_cannot_be_moved_into_itself_or": "Không thể di chuyển đối tượng vào chính nó hoặc các đối tượng con của nó", + "core.reparent.choose_an_insertion_point_outside_the_dragged_objects": "Chọn điểm chèn bên ngoài đối tượng được kéo", + "core.reparent.drag_groups_or_components_to_move_them_in": "Kéo các nhóm hoặc thành phần để di chuyển chúng trong Outliner", + "core.reparent.drop_inside_a_group_or_between_sibling_objects": "Thả vào trong một nhóm hoặc giữa các đối tượng anh em", + "core.reparent.show_and_unlock_the_destination_group_before_moving": "Hiển thị và mở khóa nhóm đích trước khi di chuyển đối tượng vào đó", + "core.reparent.show_the_parent_object_before_moving_its_contents": "Hiển thị đối tượng gốc trước khi di chuyển nội dung của nó", + "core.reparent.unlock_the_objects_and_their_contents_before_moving": "Mở khóa các đối tượng và nội dung của chúng trước khi di chuyển chúng", + "core.solids.cannot_join_the_clipped_face_boundaries": "Không thể nối các ranh giới mặt bị cắt bớt", + "core.solids.cannot_orient_the_clipped_face_boundaries": "Không thể định hướng các ranh giới mặt bị cắt", + "core.solids.choose_a_body_in_the_current_editing_context": "Chọn một khối trong ngữ cảnh chỉnh sửa hiện tại.", + "core.solids.choose_a_closed_solid_group_component_or_connected": "Chọn nhóm, thành phần hoặc khối liên kết tạo thành khối đặc kín.", + "core.solids.choose_a_closed_solid_with_filled_faces": "Chọn một khối đặc kín có các mặt được lấp đầy.", + "core.solids.choose_geometry_with_filled_faces": "Chọn hình học có các mặt được lấp đầy.", + "core.solids.choose_overlapping_solids_for_this_operation": "Chọn các khối đặc chồng lấn cho thao tác này.", + "core.solids.choose_two_different_solids": "Chọn hai khối đặc khác nhau.", + "core.solids.combine": "Kết hợp", + "core.solids.each_body_must_be_a_closed_solid_fill": "Mỗi vật thể phải là một khối đặc kín; hãy lấp các mặt còn thiếu và xóa hình học bên trong hoặc rời rạc.", + "core.solids.intersect": "Giao nhau", + "core.solids.intersection": "Phần giao", + "core.solids.missing_object_contents": "Thiếu nội dung đối tượng", + "core.solids.open_bodies_must_lie_in_the_same_plane": "Các vật thể hở phải nằm trên cùng một mặt phẳng để giao nhau.", + "core.solids.remove_overlapping_faces_inside_the_planar_body": "Xóa các mặt chồng lên nhau bên trong thân phẳng", + "core.solids.remove_stray_edges_before_using_a_solid_tool": "Xóa các cạnh rời rạc trước khi dùng công cụ khối đặc.", + "core.solids.show_both_solids_before_editing_them": "Hiển thị cả hai khối trước khi chỉnh sửa chúng", + "core.solids.split": "Tách", + "core.solids.split_a": "Chia A", + "core.solids.split_b": "Chia B", + "core.solids.split_overlap": "Tách chồng chéo", + "core.solids.the_bodies_have_no_shared_surface": "Các vật thể không có bề mặt chung.", + "core.solids.the_body_has_no_enclosed_volume": "Vật thể không có thể tích kín.", + "core.solids.the_body_needs_filled_faces_to_form_a": "Vật thể cần có các mặt được lấp đầy để tạo thành khối đặc kín.", + "core.solids.the_clipped_boundary_crosses_itself": "Ranh giới bị cắt đi qua chính nó", + "core.solids.the_result_cannot_be_represented_as_valid_planar": "Kết quả không thể được biểu diễn dưới dạng hình học phẳng hợp lệ", + "core.solids.the_result_cannot_form_a_closed_solid_at": "Kết quả không thể tạo thành khối đặc kín với độ chính xác này.", + "core.solids.the_result_cannot_form_a_valid_closed_solid": "Kết quả không thể tạo thành khối đặc kín hợp lệ với độ chính xác này.", + "core.solids.the_result_contains_a_collapsed_face": "Kết quả chứa một mặt bị thu gọn", + "core.solids.the_result_contains_details_smaller_than_the_model": "Kết quả chứa các chi tiết nhỏ hơn độ chính xác của mô hình", + "core.solids.the_result_has_too_many_surface_fragments": "Kết quả có quá nhiều mảnh bề mặt", + "core.solids.the_solid_contains_a_collapsed_face": "Khối đặc chứa một mặt bị suy biến.", + "core.solids.the_solid_has_inconsistent_surface_topology": "Tô pô bề mặt của khối đặc không nhất quán.", + "core.solids.the_solid_is_too_small": "Khối đặc quá nhỏ.", + "core.solids.the_solids_have_no_shared_volume": "Các khối đặc không có thể tích chung.", + "core.solids.these_solids_have_too_many_vertices_for_this": "Các khối rắn này có quá nhiều đỉnh cho phép toán này", + "core.solids.this_solid_has_too_many_faces_for_this": "Khối đặc này có quá nhiều mặt cho thao tác đó.", + "core.solids.trim": "Cắt xén", + "core.solids.trimmed": "Đã cắt xén", + "core.solids.union": "Hợp nhất", + "core.solids.unlock_both_solids_before_editing_them": "Mở khóa cả hai khối trước khi chỉnh sửa chúng", + "core.surface_treatment.a_list_or_legacy_tuple_of_sanding_settings": "a danh sách hoặc bộ cài đặt chà nhám cũ", + "core.surface_treatment.grit": "{grit} nhám", + "core.surface_treatment.grit_after_coat": "{grit} (lớp phủ sau {coat})", + "core.surface_treatment.pre_stain_coat": "Pre-stain · sơn phủ {coat}", + "core.surface_treatment.sanding_grit": "Chà nhám · {grit} hạt sạn", + "core.surface_treatment.sanding_grit_after_coat": " Chà nhám · Hạt nhám {grit} (lớp phủ sau {coat})", + "core.surface_treatment.stain_coat": "Stain · lớp phủ {coat}", + "core.surface_treatment.varnish_coat": "Varnish · lớp phủ {coat}", + "core.tags.a_tag_with_that_name_already_exists": "A có tên đó đã tồn tại", + "core.tags.choose_a_tag_name_of_1128_characters_other": "Chọn tên thẻ gồm 1–128 ký tự ngoài Untagged", + "core.tags.invalid_tags": "Thẻ không hợp lệ", + "core.tags.missing_tag": "Thiếu thẻ", + "core.tags.unlock_the_selection_before_assigning_a_tag": "Mở khóa lựa chọn trước khi gán thẻ", + "core.units.acres_ac": "Mẫu Anh (ac)", + "core.units.centimeters_cm": "Xentimét (cm)", + "core.units.cubic_centimeters_cm3": "Xentimét khối (cm³)", + "core.units.cubic_feet_ft3": "Feet khối (ft³)", + "core.units.cubic_inches_in3": "Inch khối (in³)", + "core.units.cubic_meters_m3": "Mét khối (m³)", + "core.units.cubic_millimeters_mm3": "Milimét khối (mm³)", + "core.units.cubic_yards_yd3": "Thước Anh khối (yd³)", + "core.units.degrees": "Độ (°)", + "core.units.feet_ft": "Feet (ft)", + "core.units.gradians_gon": "Độ grad (gon)", + "core.units.hectares_ha": "Héc-ta (ha)", + "core.units.inches_in": "Inch (in)", + "core.units.kilometers_km": "Kilômét (km)", + "core.units.liters_l": "Lít (L)", + "core.units.meters_m": "Mét (m)", + "core.units.milliliters_ml": "Mililít (mL)", + "core.units.millimeters_mm": "Milimét (mm)", + "core.units.radians_rad": "Radian (rad)", + "core.units.square_centimeters_cm2": "Xentimét vuông (cm²)", + "core.units.square_feet_ft2": "Feet vuông (ft²)", + "core.units.square_inches_in2": "Inch vuông (in²)", + "core.units.square_kilometers_km2": "Kilômét vuông (km²)", + "core.units.square_meters_m2": "Mét vuông (m²)", + "core.units.square_millimeters_mm2": "Milimét vuông (mm²)", + "core.units.square_yards_yd2": "Thước Anh vuông (yd²)", + "core.units.yards_yd": "Thước Anh (yd)", + "currency.australian_dollar": "Đô la Úc", + "currency.brazilian_real": "Đồng real Brazil", + "currency.british_pound": "Bảng Anh", + "currency.canadian_dollar": "Đô la Canada", + "currency.chilean_peso": "Peso Chile", + "currency.chinese_yuan": "Nhân dân tệ", + "currency.code_and_name": "{code} — {name}", + "currency.colombian_peso": "Đồng peso Colombia", + "currency.czech_koruna": "Đồng koruna Séc", + "currency.danish_krone": "Đồng krone Đan Mạch", + "currency.euro": "Đồng euro", + "currency.hong_kong_dollar": "Đô la Hồng Kông", + "currency.hungarian_forint": "Đồng forint Hungary", + "currency.indian_rupee": "Rupee Ấn Độ", + "currency.indonesian_rupiah": "Rupiah Indonesia", + "currency.israeli_shekel": "Đồng shekel Israel", + "currency.japanese_yen": "Yên Nhật", + "currency.malaysian_ringgit": "Ringgit Malaysia", + "currency.mexican_peso": "Peso Mexico", + "currency.new_zealand_dollar": "Đô la New Zealand", + "currency.no_currencies_match_your_search": "Không có loại tiền tệ nào phù hợp với tìm kiếm của bạn.", + "currency.norwegian_krone": "Krone Na Uy", + "currency.philippine_peso": "Đồng peso Philippines", + "currency.polish_zloty": "Đồng zloty Ba Lan", + "currency.romanian_leu": "Đồng leu Romania", + "currency.saudi_riyal": "Đồng riyal Ả Rập Xê Út", + "currency.search_code_or_name": "Mã tìm kiếm hoặc tên…", + "currency.singapore_dollar": "Đô la Singapore", + "currency.south_african_rand": "Rand Nam Phi", + "currency.south_korean_won": "Won Hàn Quốc", + "currency.swedish_krona": "Krona Thụy Điển", + "currency.swiss_franc": "Franc Thụy Sĩ", + "currency.taiwan_dollar": "Đô la Đài Loan", + "currency.thai_baht": "Đồng baht Thái Lan", + "currency.turkish_lira": "Đồng lira Thổ Nhĩ Kỳ", + "currency.uae_dirham": "Dirham Các Tiểu vương quốc Ả Rập Thống nhất", + "currency.us_dollar": "Đô la Mỹ", + "currency.vietnamese_dong": "Đồng Việt Nam", + "cutting_layout.stock_dimensions_must_be_1_1_000_000": "Kích thước cổ phiếu phải là 1-1.000.000 mm và đường cưa cưa 0-100 mm.", + "cutting_plan.approx_nominal": "Xấp xỉ. {stock} danh nghĩa", + "cutting_plan.board": "VÁN", + "cutting_plan.boards_required": { + "one": "Cần {count} tấm ván | Mạch cưa: {kerf}", + "other": "Cần {count} tấm ván | Mạch cưa: {kerf}" + }, + "cutting_plan.check_shape_bounding_blank_only": "CHECK HÌNH DẠNG - chỉ giới hạn khoảng trống", + "cutting_plan.cm": "{} cm", + "cutting_plan.continued": "{title} (tiếp theo)", + "cutting_plan.continued_2": "(tiếp theo)", + "cutting_plan.cut_length": "CHIỀU DÀI CẮT", + "cutting_plan.cut_list": "CUT DANH SÁCH", + "cutting_plan.cut_list_summary": "{pieces} | {sizes} | Kích thước tính bằng mm hoặc cm", + "cutting_plan.cutting_plan": "Kế hoạch cắt", + "cutting_plan.date_unavailable": "Ngày không có", + "cutting_plan.does_not_fit_selected_stock": "KHÔNG VỪA VỚI PHÔI ĐÃ CHỌN", + "cutting_plan.footer_note": "Kích thước hoàn thiện - xác minh trước khi cắt", + "cutting_plan.group": "NHÓM", + "cutting_plan.mark": "KÝ HIỆU", + "cutting_plan.material_x_x": "Vật liệu: {} ({} × {} × {})", + "cutting_plan.mm": "{} mm", + "cutting_plan.mm_2": "{}.{:01} mm", + "cutting_plan.net_cut_area_m2": "{pieces} | Diện tích cắt thực: {area:.2} m²", + "cutting_plan.no_visible_three_dimensional_parts_with_assigned_stock": "Không tìm thấy bộ phận 3D nào đang hiển thị và đã được gán vật liệu phôi. Hãy gán vật liệu trong bảng giá vật liệu thuộc Thông tin đối tượng. Mô hình hóa mỗi tấm ván thành một nhóm/thành phần riêng hoặc một khối đặc rời. Chọn tấm ván/cụm lắp ráp hoặc dùng toàn bộ dự án.", + "cutting_plan.omitted_items": { + "one": "Bỏ qua {count} mục vì chưa gán vật liệu phôi hoặc độ dày không phù hợp.", + "other": "Bỏ qua {count} mục vì chưa gán vật liệu phôi hoặc độ dày không phù hợp." + }, + "cutting_plan.oversized_cut": { + "one": "{mark}: {count} chi tiết, {width} × {length} · Chọn phôi lớn hơn", + "other": "{mark}: {count} chi tiết, {width} × {length} · Chọn phôi lớn hơn" + }, + "cutting_plan.page_number": "Trang {page} / {count}", + "cutting_plan.qty": "SL", + "cutting_plan.rotation_used": " (đã xoay)", + "cutting_plan.section_t_x_w": "TIẾT DIỆN (DÀY × RỘNG)", + "cutting_plan.selected_parts_visible_only": "Các bộ phận được chọn (chỉ hiển thị)", + "cutting_plan.sizes": { + "one": "{count} kích thước", + "other": "{count} kích thước" + }, + "cutting_plan.stock": "PHÔI", + "cutting_plan.stock_count_covers_fitting_cuts_only_oversized_cuts": "Số lượng phôi chỉ tính các đường cắt vừa khổ; các đường cắt quá khổ được liệt kê riêng.", + "cutting_plan.stock_page_heading": "{} {} của {}", + "cutting_plan.stock_required": { + "one": "Vật liệu phôi cần dùng: {count} tấm | Mạch cưa: {kerf}", + "other": "Vật liệu phôi cần dùng: {count} tấm | Mạch cưa: {kerf}" + }, + "cutting_plan.stock_x_kerf_gray_offcut_kerf": "Phôi: {} × {} | Mạch cưa: {} | Màu xám: phần thừa / mạch cưa", + "cutting_plan.the_project_name_is_too_long_to_fit": "Tên dự án quá dài để vừa với nhãn xưởng.", + "cutting_plan.unnamed_part": "Chi tiết chưa đặt tên", + "cutting_plan.workshop_labels": "Nhãn xưởng", + "desktop_files.missing_project_output_path": "Thiếu đường dẫn đầu ra của dự án BenchUp", + "desktop_files.missing_sketchup_file_path": "Thiếu đường dẫn tệp SketchUp", + "drawing_groups.the_drawing_could_not_be_grouped": "Không thể nhóm bản vẽ", + "entity_gizmo.axis_lengths": "Độ dài trục: {}. {}. {}.", + "entity_gizmo.object_lenghts": "Chiều dài đối tượng", + "entity_gizmo.solid_lengths_along_world_axes_orientation_follows_the": "Độ dài rắn dọc theo trục thế giới. Định hướng theo chế độ xem đang hoạt động.", + "environment.background": "Nền", + "environment.environment": "Môi trường", + "environment.ground": "Mặt đất", + "environment.horizon": "Đường chân trời", + "environment.reset_environment_colors": "Đặt lại màu môi trường", + "environment.sky": "Bầu trời", + "estimate_pdf.amount": "Asố tiền ({})", + "estimate_pdf.april": "Tháng Tư", + "estimate_pdf.august": "Atháng tám", + "estimate_pdf.continued": "{group} (tiếp theo)", + "estimate_pdf.cost_estimate": "Dự toán chi phí", + "estimate_pdf.could_not_load_report_font": "Không thể tải phông chữ báo cáo: {error}", + "estimate_pdf.could_not_load_report_symbol_font": "Không thể tải phông chữ biểu tượng báo cáo: {error}", + "estimate_pdf.could_not_read_the_generation_date": "Không thể đọc ngày tạo: {error}", + "estimate_pdf.count": "Số lượng", + "estimate_pdf.december": "Tháng 12", + "estimate_pdf.drying_waiting": "Sấy/Đợi", + "estimate_pdf.february": "Tháng 2", + "estimate_pdf.generated_utc": "Đã tạo: {day} {} {year} (UTC)", + "estimate_pdf.hands_on": "Thực hành", + "estimate_pdf.hands_on_work": "Công việc thực tế", + "estimate_pdf.includes_final_drying_objects_dry_together_between_steps": "Bao gồm sấy khô lần cuối. Các đồ vật sẽ khô lại với nhau giữa các bước.", + "estimate_pdf.item": "Hạng mục", + "estimate_pdf.january": "Tháng Giêng", + "estimate_pdf.joinery_whole_project": "Đồ mộc (toàn bộ dự án)", + "estimate_pdf.joint": "Mối nối", + "estimate_pdf.july": "Tháng 7", + "estimate_pdf.june": "Tháng Sáu", + "estimate_pdf.benchup_planning_estimate_verify_before_purchasing": "BenchUp - Lập kế hoạch ước tính, xác minh trước khi mua", + "estimate_pdf.march": "Tháng 3", + "estimate_pdf.materials": "Vật liệu", + "estimate_pdf.may": "Tháng Năm", + "estimate_pdf.minutes_joint": "Phút / khớp", + "estimate_pdf.no_configured_wood_joints": "Không có khớp nối gỗ được định cấu hình.", + "estimate_pdf.november": "Tháng 11", + "estimate_pdf.october": "Tháng 10", + "estimate_pdf.page_number": "{} / {count}", + "estimate_pdf.quantity": "Số lượng", + "estimate_pdf.september": "Tháng 9", + "estimate_pdf.sequential_total": "Tổng tuần tự", + "estimate_pdf.summary": "Tóm tắt", + "estimate_pdf.task": "Công việc", + "estimate_pdf.the_pdf_font_cannot_display_u_replace_this": "Phông chữ PDF không thể hiển thị '{ch}' (U+{:04X}). Thay thế ký tự này trước khi xuất; báo cáo không bị cắt bớt.", + "estimate_pdf.time_cost_estimates": "Ước tính thời gian và chi phí", + "estimate_pdf.too_many_distinct_characters_for_one_estimate_pdf": "Quá nhiều ký tự riêng biệt cho một bản PDF ước tính.", + "estimate_pdf.total": "Tổng cộng", + "estimate_pdf.unit_price": "Đơn giá ({})", + "fasteners.angle_from_face_normal": "Góc so với pháp tuyến của mặt", + "fasteners.angled_axis_only_the_pocket_recess_and_kreg": "Chỉ trục bắt vít được đặt góc; hốc chìm và thông số đồ gá Kreg không được mô phỏng.", + "fasteners.angled_screw": "Vít bắt xiên", + "fasteners.auto_face": "Tự động chọn mặt", + "fasteners.automatic": "Tự động", + "fasteners.automatic_entry_face": "Tự động chọn mặt bắt đầu", + "fasteners.automatic_face": "Tự động chọn mặt", + "fasteners.automatic_fasteners": "Phụ kiện liên kết tự động", + "fasteners.back_to_automatic_fasteners": "Quay lại Phụ kiện liên kết tự động", + "fasteners.both_objects_must_be_visible_and_selectable_in": "Cả hai đối tượng phải hiển thị và có thể chọn được trong ngữ cảnh chỉnh sửa hiện tại.", + "fasteners.changes_apply_immediately_change_the_selection_to_return": "Thay đổi có hiệu lực ngay. Đổi vùng chọn để quay lại bảng thuộc tính.", + "fasteners.click_a_numbered_entry_face_handle_in_the": "Nhấp vào tay nắm được đánh số của mặt bắt đầu trên khung nhìn.", + "fasteners.connection_direction": "#{id}: {} → {}", + "fasteners.count_per_row": "Số lượng mỗi hàng", + "fasteners.create_fasteners": "Tạo chi tiết liên kết", + "fasteners.dimensions_shown_for_the_first_eight_fasteners": "Hiển thị kích thước của tám chi tiết liên kết đầu tiên.", + "fasteners.edit_fasteners": "Chỉnh sửa chi tiết liên kết", + "fasteners.entry_face": "Mặt bắt đầu #{face}", + "fasteners.face": "Mặt #{id}", + "fasteners.fastener": "Chi tiết liên kết", + "fasteners.finish_the_current_dialog_or_history_preview_before": "Hoàn tất hộp thoại hiện tại hoặc bản xem trước lịch sử trước khi chỉnh sửa mối nối này.", + "fasteners.for_cut_joints_choose_wood_joinery_from_the": "Với mối nối dạng cắt, chọn Mối nối gỗ trong menu Công cụ. Phụ kiện liên kết không làm thay đổi hình học.", + "fasteners.geometric_clearance": "Khoảng hở hình học", + "fasteners.geometric_sizing_automatic_length_passes_through_the_first": "Kích thước hình học: chiều dài tự động xuyên qua bộ phận thứ nhất và đi đến nửa độ sâu khả dụng của bộ phận thứ hai. Đường kính ban đầu chỉ là giá trị mẫu có thể chỉnh sửa. Tính phù hợp với vật liệu, khoan mồi, loại ren và độ bền chưa được xác định; hãy tham khảo nhà sản xuất.", + "fasteners.grid": "Lưới", + "fasteners.hardware_dimensions": "{kind} · {:.1} × {:.1}", + "fasteners.hardware_list_preview_dimensions": "Danh sách phụ kiện (kích thước xem trước)", + "fasteners.hardware_mm": "Phụ kiện: {} × {}, Ø {:.1} mm", + "fasteners.invalid_connections": { + "one": "{count} mối nối không hợp lệ: số lượng chưa đầy đủ. Hãy sửa lỗi trước khi mua.", + "other": "{count} mối nối không hợp lệ: số lượng chưa đầy đủ. Hãy sửa lỗi trước khi mua." + }, + "fasteners.invalid_fastener_connection": "⚠ Mối nối phụ kiện không hợp lệ", + "fasteners.kreg_screw_selector_thicknesses_and_materials": "Bộ chọn vít Kreg (độ dày và vật liệu)", + "fasteners.length_0_geometry": "Chiều dài (0 = hình học)", + "fasteners.length_first_part_penetration_mm": "{}: chiều dài {:.1} · phần đầu {:.1} · độ xuyên {:.1} mm", + "fasteners.missing_part": "Thiếu bộ phận #{id}", + "fasteners.nail": "Đinh", + "fasteners.no_material_assigned": "Chưa gán vật liệu", + "fasteners.part": "Chi tiết {}: {} · {material}", + "fasteners.pattern": "Cách bố trí", + "fasteners.pick_entry_face_in_viewport": "Chọn mặt bắt đầu trên khung nhìn…", + "fasteners.preview_before_creating": "Xem trước trước khi tạo", + "fasteners.preview_diameter": "Đường kính xem trước", + "fasteners.preview_fasteners": { + "one": "Xem trước: {count} chi tiết liên kết", + "other": "Xem trước: {count} chi tiết liên kết" + }, + "fasteners.quantity": "Số lượng", + "fasteners.reverse_direction": "Đảo hướng", + "fasteners.review_geometric_warnings_before_purchasing_structural_strength_has": "Hãy xem lại cảnh báo hình học trước khi mua. Độ bền kết cấu chưa được kiểm chứng.", + "fasteners.row": "Hàng", + "fasteners.row_spacing_0_auto": "Khoảng cách hàng (0 = tự động)", + "fasteners.rows": "Số hàng", + "fasteners.screw": "Vít", + "fasteners.select_both_objects_belonging_to_this_joint_to": "Chọn cả hai đối tượng thuộc mối nối này để chỉnh sửa hoặc xóa mối nối.", + "fasteners.select_exactly_two_objects_and_reopen_automatic_fasteners": "Chọn đúng hai đối tượng rồi mở lại Phụ kiện liên kết tự động trong menu Chỉnh sửa.", + "fasteners.select_exactly_two_touching_closed_solid_parts_the": "Chọn đúng hai bộ phận khối đặc kín đang tiếp xúc. Đầu vít nằm trong bộ phận thứ nhất. Các đường trong suốt cho thấy thân và mũi vít bên trong mô hình.", + "fasteners.show_fasteners_through_the_model": "Hiển thị phụ kiện liên kết xuyên qua mô hình", + "fasteners.simpson_strong_tie_technical_guides": "Hướng dẫn kỹ thuật của Simpson Strong-Tie", + "fasteners.single": "Một hàng", + "fasteners.spacing_0_auto": "Khoảng cách (0 = tự động)", + "fasteners.swap_the_selected_parts": "Đổi chỗ các bộ phận đã chọn", + "fasteners.the_object_pair_is_no_longer_editable_no": "Không thể chỉnh sửa cặp đối tượng này nữa. Không có chi tiết liên kết nào được tạo.", + "fasteners.the_objects_permissions_or_connection_changed_reopen_automatic": "Đối tượng, quyền hoặc mối nối đã thay đổi. Hãy mở lại Phụ kiện liên kết tự động trước khi chỉnh sửa.", + "fasteners.two_rows": "Hai hàng", + "fasteners.type_length_mm": "Loại · Ø × chiều dài (mm)", + "fasteners.unlock_both_objects_before_editing_or_removing_their": "Mở khóa cả hai đối tượng trước khi chỉnh sửa hoặc xóa mối nối.", + "fasteners.use_this_entry_face": "Dùng mặt bắt đầu này", + "finish_settings.add_finishing_product": "+ Thêm sản phẩm hoàn thiện", + "finish_settings.area_covered_by_one_container_for_one_coat": "Diện tích được bao phủ bởi một thùng chứa cho một lớp sơn. Sử dụng nhãn sản phẩm; 0 có nghĩa là không rõ. Cập nhật thông tin này khi thay đổi kích thước hoặc đơn vị vùng chứa.", + "finish_settings.e_g_golden_oak_stain": "e.g. Vết ố vàng sồi", + "finish_settings.finishing_product": "Sản phẩm hoàn thiện", + "finish_settings.appearance_color": "Màu hiển thị", + "finish_settings.reset_appearance_value": "Đặt lại về mặc định", + "finish_settings.clear_color": "Trong suốt", + "finish_settings.coat_strength": "Độ bền của lớp phủ", + "finish_settings.coat_strength_help": "Kiểm soát hiệu ứng hình ảnh của từng lớp sơn. Nó không thay đổi phạm vi bảo hiểm hoặc chi phí.", + "finish_settings.sheen": "Độ bóng", + "finish_settings.matte": "Mờ", + "finish_settings.satin": "Bán bóng", + "finish_settings.gloss": "Bóng", + "finish_settings.default_sheen": "Mặc định ({})", + "finish_settings.formula": "Công thức", + "finish_settings.standard_formula": "Tiêu chuẩn", + "finish_settings.dye": "Thuốc nhuộm", + "finish_settings.pigment": "Sắc tố", + "finish_settings.gel": "Keo gel", + "finish_settings.water_based": "Dựa trên nước", + "finish_settings.oil_based": "Dựa trên dầu", + "finish_settings.apply_step": "Áp dụng bước", + "finish_settings.move_sanding_up": "Di chuyển giấy nhám lên", + "finish_settings.move_sanding_down": "Di chuyển giấy nhám xuống", + "finish_settings.viewport_preview_help": "Xem trước gỗ và lớp hoàn thiện được chỉ định theo kiểu mặt Vật liệu. Thời gian làm việc và sấy khô chỉ ảnh hưởng đến ước tính.", + "finish_settings.finishing_products": "Sản phẩm hoàn thiện", + "finish_settings.format": "×", + "finish_settings.l": "L", + "finish_settings.lacquer": "Sơn mài", + "finish_settings.m2_container_coat": "m² / thùng chứa / lớp phủ", + "finish_settings.ml": "mL", + "finish_settings.no_finishing_products_yet_add_a_product_to": "Chưa có sản phẩm hoàn thiện. Thêm sản phẩm để lưu loại, kích thước hộp đựng và giá.", + "finish_settings.no_product": "Không có sản phẩm", + "finish_settings.no_products_match_your_search": "Không có sản phẩm nào phù hợp với tìm kiếm của bạn.", + "finish_settings.oil": "Dầu", + "finish_settings.other": "Khác", + "finish_settings.paint": "Sơn", + "finish_settings.per_container": "{currency} mỗi container", + "finish_settings.pre_stain": "Vết bẩn trước", + "finish_settings.pre_stain_conditioner_stain_paint_varnish_and_other": "Chất dưỡng trước vết ố, vết ố, sơn, véc-ni và các chất hoàn thiện khác. Nhập số lượng và giá một container.", + "finish_settings.price_container": "Giá / thùng", + "finish_settings.prices_in_per_container_coverage_in_m2_per": "Giá tính theo {currency} mỗi container · Độ phủ tính bằng m2 mỗi container cho một lớp · 0 nghĩa là không xác định", + "finish_settings.primer": "Sơn lót", + "finish_settings.product": "Sản phẩm", + "finish_settings.quantity": "Số lượng", + "finish_settings.remove": "Xóa {}", + "finish_settings.sealer": "Chất bịt kín", + "finish_settings.search_name_or_type": "Tìm kiếm tên hoặc loại…", + "finish_settings.stain": "Vết bẩn", + "finish_settings.type": "Loại", + "finish_settings.unavailable_product": "Sản phẩm không có sẵn", + "finish_settings.unit": "Đơn vị", + "finish_settings.us_fl_oz": "fl oz (Mỹ)", + "finish_settings.us_gal": "gal (Mỹ)", + "finish_settings.us_qt": "qt (Mỹ)", + "finish_settings.varnish": "Vecni", + "finish_settings.wax": "Sáp", + "grain_direction.assign": "Chỉ định hướng hạt", + "grain_direction.click_to_confirm": "Nhấp để đặt hướng vân gỗ. Dùng phím mũi tên để khóa trục hoặc nhấn Esc để hủy.", + "grain_direction.clear": "Xóa", + "grain_direction.clear_history": "Hướng hạt rõ ràng", + "grain_direction.set_direction": "Đặt hướng", + "grain_direction.show": "Hiển thị hướng hạt", + "frame_rate.fps": "— FPS", + "frame_rate.fps_2": "{fps:.0} FPS", + "inspector_docking.divider_gestures": "Dkéo để thay đổi kích thước khu vực. Nhấp đúp để hợp nhất chúng.", + "inspector_docking.drop_within_15px_inside_an_area_s_edge": "Giảm trong phạm vi 15px bên trong cạnh của khu vực để phân chia; băng qua điểm giữa dọc của một phần để sắp xếp lại hoặc thả vào tâm của khu vực khác để nối", + "inspector_docking.export_time_and_cost_estimates_as_pdf": "Xuất ước tính thời gian và chi phí dưới dạng PDF", + "inspector_docking.generate_pdf": "Tạo PDF", + "inspector_docking.manage_available_stock_materials_sizes_and_prices": "Quản lý vật liệu, kích cỡ và giá cả trong kho có sẵn", + "inspector_docking.section_actions": "Các hành động của phần", + "inspector_docking.settings": "Cài đặt", + "interchange.could_not_read_sketchup_file": "Không thể đọc tệp SketchUp: {e}", + "interchange.not_enough_memory_to_read_this_sketchup_file": "Không đủ bộ nhớ để đọc tệp SketchUp này", + "interchange.sketchup_group": "Nhóm SketchUp", + "interchange.sketchup_import_is_limited_to_64_mib_per": "SketchUp được giới hạn ở 64 MiB mỗi tệp", + "interchange.sketchup_reader_failed": "SketchUp không thành công", + "interchange.sketchup_reader_returned_no_model": "SketchUp không trả về model", + "interchange.skp_disconnected_boundary": "SketchUp mặt có ranh giới bị ngắt kết nối", + "interchange.skp_incomplete_import": "Trình đọc SketchUp không thể hoàn thành quá trình nhập này", + "interchange.skp_instance_transform": "Phiên bản SketchUp không được hỗ trợ", + "interchange.skp_invalid_boundary": "SketchUp mặt có ranh giới không hợp lệ", + "interchange.skp_invalid_coordinates": "Tọa độ SketchUp không hợp lệ", + "interchange.skp_missing_definition": "SketchUp đề cập đến một định nghĩa bị thiếu", + "interchange.skp_missing_edge": "SketchUp đề cập đến cạnh bị thiếu", + "interchange.skp_missing_vertex": "SketchUp đề cập đến một đỉnh bị thiếu", + "interchange.skp_model_too_large": "Mô hình đã nhập quá lớn (tối đa một triệu thực thể)", + "interchange.skp_nested_components": "Các thành phần SketchUp đệ quy hoặc lồng nhau quá mức", + "interchange.skp_no_geometry": "Tệp SketchUp này không chứa các cạnh hoặc bề mặt có thể nhập được", + "interchange.skp_worker_failed": "SketchUp không thành công", + "interchange.skp_worker_message": "Không thể nhận mô hình SketchUp", + "interchange.there_is_no_visible_geometry_to_export": "Không có hình dạng hiển thị nào để xuất", + "joinery.automatic_longest_axis": "Tự động (trục dài nhất)", + "joinery.board": "Tấm ván ", + "joinery.board_x": "Tấm ván X", + "joinery.board_y": "Tấm ván Y", + "joinery.board_z": "Tấm ván Z", + "joinery.create_a_dynamic_relation_moving_either_board_updates": "Tạo quan hệ động. Di chuyển một trong hai tấm ván sẽ tự động cập nhật mối nối.", + "joinery.create_dynamic_wood_joint": "Tạo mối nối gỗ động", + "joinery.create_joinery": "Tạo mối nối gỗ", + "joinery.degree_symbol": "°", + "joinery.delete_joint": "Xóa mối nối", + "joinery.depth_width": "Độ sâu {axis_prefix}{} / Chiều rộng {axis_prefix}{}", + "joinery.diagnostic_separator": " · ", + "joinery.direction_in_the_selected_board_s_local_axes": "Hướng theo các trục cục bộ của tấm ván đã chọn.", + "joinery.dovetail_angle": "Góc mộng đuôi én", + "joinery.dynamic_wood_joint": "Mối nối gỗ động #{id}", + "joinery.edit_dynamic_wood_joint": "Chỉnh sửa khớp gỗ động", + "joinery.edit_wood_joint": "Chỉnh sửa khớp gỗ #{id}", + "joinery.fingers_on_first_part": "Số ngón trên bộ phận thứ nhất", + "joinery.fit_maximum_tails": "Tăng số đuôi mộng tối đa", + "joinery.keep_end": "Giữ đầu mút", + "joinery.keep_the_lower_or_upper_end_along_the": "Giữ đầu dưới hoặc đầu trên theo hướng cắt đã chọn.", + "joinery.keep_the_tail_width_and_fit_as_many": "Giữ nguyên chiều rộng đuôi mộng và bố trí nhiều đuôi nhất có thể theo khoảng cách chốt.", + "joinery.minimum_pin_width": "Chiều rộng chốt tối thiểu", + "joinery.minimum_wood_left_between_receiving_sockets_after_clearance": "Lượng gỗ tối thiểu còn lại giữa các hốc nhận mộng sau khi trừ khoảng hở. Chốt nhỏ hơn cho phép bố trí nhiều đuôi mộng hơn.", + "joinery.mm": " mm", + "joinery.no_supported_orientation": "Không có hướng nào được hỗ trợ", + "joinery.orientation": "Hướng", + "joinery.profile_width_of_overlap": "Chiều rộng biên dạng (% phần chồng lấn)", + "joinery.receiver_clearance_per_side": "Khoảng hở mỗi bên của hốc nhận mộng", + "joinery.review_sharing_status": "Xem lại trạng thái chia sẻ…", + "joinery.select_exactly_two_boards_and_reopen_wood_joinery": "Chọn đúng hai tấm ván rồi mở lại Mối nối gỗ trong menu Công cụ.", + "joinery.shorten_the_selected_board_past_the_joint_following": "Cắt ngắn tấm ván đã chọn qua vị trí mối nối; nếu có thể, hãy đi theo mặt ngoài nghiêng.", + "joinery.swap_first_and_second_boards": "Đổi chỗ tấm ván thứ nhất và thứ hai", + "joinery.swap_parts": "Đổi chỗ các bộ phận", + "joinery.tail_and_pin_widths_must_fit_the_joint": "Chiều rộng đuôi mộng và chốt phải vừa với mối nối và tạo từ 1 đến 64 đuôi.", + "joinery.tail_width": "Chiều rộng đuôi mộng", + "joinery.tails_fit_across_this_joint": { + "one": "Có thể bố trí {count} đuôi mộng trên mối nối này.", + "other": "Có thể bố trí {count} đuôi mộng trên mối nối này." + }, + "joinery.tails_in_the_saved_layout": { + "one": "{count} đuôi mộng trong bố cục đã lưu.", + "other": "{count} đuôi mộng trong bố cục đã lưu." + }, + "joinery.tenon_height_of_overlap": "Chiều cao mộng (% phần chồng lấn)", + "joinery.the_boards_or_permissions_changed_review_the_updated": "Tấm ván hoặc quyền truy cập đã thay đổi. Hãy xem lại bản xem trước mối nối trước khi áp dụng.", + "joinery.trim_direction": "Hướng cắt xén", + "joinery.trim_excess": "Cắt bỏ phần thừa", + "joinery.unlock_both_objects_before_editing_their_joint": "Mở khóa cả hai đối tượng trước khi chỉnh sửa mối nối.", + "joinery.wood_joinery": "Mối nối gỗ", + "joinery.wood_joint_click_to_edit": "Mối nối gỗ #{id}: {message}\nNhấp để chỉnh sửa", + "joinery.wood_joint_suspended": "Khớp gỗ #{id} bị đình chỉ: {error}", + "joinery_cards.a_continuous_thin_tongue_fits_into_a_matching": "A lưỡi mỏng liên tục vừa khít với rãnh phù hợp.", + "joinery_cards.a_flared_tail_fits_into_a_matching_tapered": "A vừa khít với ổ cắm côn phù hợp.", + "joinery_cards.a_stepped_edge_fits_against_the_complementary_rebate": "A có bước cạnh phù hợp với mức giảm giá bổ sung.", + "joinery_cards.a_tenon_with_shoulders_fits_into_a_rectangular": "A có vai vừa với mộng hình chữ nhật.", + "joinery_cards.alternating_straight_fingers_interlock_across_the_joint": "Các ngón tay thẳng xen kẽ đan xen vào nhau trên khớp.", + "joinery_cards.opposing_half_depth_cuts_let_the_two_parts": "Cắt giảm nửa độ sâu để hai phần chồng lên nhau.", + "measurement_tools.add_angle_dimension": "Thêm kích thước góc", + "measurement_tools.add_dimension": "Thêm kích thước", + "measurement_tools.add_guide": "Thêm hướng dẫn", + "measurement_tools.adjust_angle_dimension": "Điều chỉnh kích thước góc", + "measurement_tools.adjust_guide": "Hướng dẫn điều chỉnh", + "measurement_tools.choose_a_point_away_from_the_measurement_origin": "Chọn một điểm cách gốc đo", + "measurement_tools.choose_a_starting_point_first": "Chọn điểm xuất phát trước", + "measurement_tools.click_a_baseline_point_arrow_keys_lock_axes": "Nhấp vào điểm cơ sở · Phím mũi tên khóa trục · Esc để hủy", + "measurement_tools.click_the_angle_point_arrow_keys_lock_axes": "Nhấp vào điểm góc · Phím mũi tên khóa trục · Esc để hủy", + "measurement_tools.click_the_second_endpoint_arrow_keys_align_x": "Nhấp vào điểm cuối thứ hai · Các phím mũi tên căn chỉnh X / Y / Z · Esc để hủy", + "measurement_tools.click_the_second_point_arrow_keys_lock_axes": "Nhấp vào điểm thứ hai · Phím mũi tên khóa trục · Esc để hủy", + "measurement_tools.create_guide_click_the_angle_point_or_type": "Tạo hướng dẫn · Nhấp vào điểm góc hoặc nhập góc + Enter · Ctrl/Chuyển đổi lệnh Measure", + "measurement_tools.create_guide_click_to_place_or_type_distance": "Tạo hướng dẫn · Nhấp để đặt hoặc nhập khoảng cách + Enter · Phím mũi tên khóa trục · Ctrl/Chuyển đổi lệnh Measure", + "measurement_tools.create_guides_click_a_reference_edge_or_point": "Tạo hướng dẫn · Nhấp vào cạnh hoặc điểm tham chiếu · Ctrl/Chuyển đổi lệnh Đo lường · Esc để hủy", + "measurement_tools.guide_created_type_a_value_enter_to_adjust": "Đã tạo hướng dẫn · Nhập một giá trị + Enter để điều chỉnh · Nhấp để bắt đầu một giá trị khác · Ctrl/Chuyển đổi lệnh Đo", + "measurement_tools.measure_only_click_measurement_points_ctrl_command_toggles": "Chỉ đo lường · Nhấp vào các điểm đo · Ctrl/Bật tắt lệnh Tạo hướng dẫn · Esc để hủy", + "measurement_tools.measurement_complete_click_to_start_another_ctrl_command": "Đo lường hoàn tất · Nhấp để bắt đầu một phép đo khác · Ctrl/Chuyển đổi lệnh Tạo hướng dẫn", + "measurement_tools.measurement_complete_click_to_start_another_esc_to": "Đo lường hoàn tất · Nhấp để bắt đầu lại · Esc để xóa", + "measurement_tools.move_over_the_model_or_drawing_plane_to": "Di chuyển qua mô hình hoặc mặt phẳng vẽ để chọn điểm", + "measurement_tools.move_the_pointer_to_choose_a_direction_first": "Di chuyển con trỏ để chọn hướng trước", + "measurement_tools.move_to_place_arrow_keys_align_x_y": "Di chuyển đến vị trí · Phím mũi tên căn chỉnh X / Y / Z · Xuống xóa khóa", + "measurement_tools.move_to_position_the_text_arrow_keys_lock": "Di chuyển đến vị trí văn bản · Phím mũi tên khóa trục · Nhấp để đặt · Esc để hủy", + "measurement_tools.undefined_angle": "Góc không xác định", + "mesh_exchange.cannot_export_degenerate_stl_triangle": "Không thể xuất tam giác STL suy biến", + "mesh_exchange.degenerate_edge": "Cạnh thoái hóa", + "mesh_exchange.degenerate_geometry": "Hình học suy biến", + "mesh_exchange.dxf_bulges_and_polyline_widths_are_unsupported": "DXF chỗ phình và chiều rộng đa tuyến không được hỗ trợ", + "mesh_exchange.dxf_must_end_with_eof": "DXF phải kết thúc bằng EOF", + "mesh_exchange.dxf_radius_must_be_positive": "DXF phải dương", + "mesh_exchange.dxf_units_unsupported_use_mm_cm_m_inches": "DXF không được hỗ trợ (sử dụng mm, cm, m, inch hoặc feet)", + "mesh_exchange.expected_ascii_stl_solid": "Dự kiến ASCII STL rắn", + "mesh_exchange.expected_dxf_entity": "Thực thể DXF dự kiến", + "mesh_exchange.expected_stl_facet_normal": "Dự kiến khía cạnh STL bình thường", + "mesh_exchange.expected_stl_outer_loop": "Vòng ngoài STL dự kiến", + "mesh_exchange.expected_stl_vertex": "Đỉnh STL dự kiến", + "mesh_exchange.import_exceeds_coordinate_or_200_000_vertex_limit": "Nhập vượt quá tọa độ hoặc giới hạn 200.000 đỉnh", + "mesh_exchange.import_exceeds_one_million_entities": "Nhập khẩu vượt quá một triệu thực thể", + "mesh_exchange.import_is_limited_to_64_mib": "Giới hạn kích thước nhập là 64 MiB.", + "mesh_exchange.invalid_binary_stl_length": "Độ dài STL nhị phân không hợp lệ", + "mesh_exchange.invalid_dxf_group_code": "Mã nhóm DXF không hợp lệ", + "mesh_exchange.invalid_dxf_polyline_vertex_count": "Số đỉnh đa tuyến DXF không hợp lệ", + "mesh_exchange.invalid_dxf_section": "Phần DXF không hợp lệ", + "mesh_exchange.invalid_dxf_units": "Đơn vị DXF không hợp lệ", + "mesh_exchange.invalid_number": "Số không hợp lệ: {s}", + "mesh_exchange.invalid_obj_vertex_index": "Chỉ số đỉnh OBJ không hợp lệ", + "mesh_exchange.invalid_stl_ending": "Kết thúc STL không hợp lệ", + "mesh_exchange.invalid_stl_facet_ending": "Kết thúc khía cạnh STL không hợp lệ", + "mesh_exchange.missing_dxf_field": "Thiếu trường DXF {code}", + "mesh_exchange.missing_dxf_polyline_x": "Thiếu đa tuyến DXF X", + "mesh_exchange.missing_dxf_polyline_y": "Thiếu đa tuyến DXF Y", + "mesh_exchange.missing_or_incomplete_dxf_entities_section": "Phần THỰC THỂ DXF bị thiếu hoặc không đầy đủ", + "mesh_exchange.no_supported_geometry_in_file": "Không có hình học nào được hỗ trợ trong tệp", + "mesh_exchange.non_finite_or_excessive_coordinate": "Tọa độ không hữu hạn hoặc quá mức", + "mesh_exchange.obj_must_be_utf_8_text": "OBJ phải là văn bản UTF-8", + "mesh_exchange.obj_polygon_exceeds_4096_vertices": "OBJ vượt quá 4096 đỉnh", + "mesh_exchange.obj_vertex_index_out_of_range_forward_references": "OBJ nằm ngoài phạm vi (tham chiếu chuyển tiếp không được hỗ trợ)", + "mesh_exchange.obj_vertices_must_have_exactly_xyz_coordinates": "OBJ phải có tọa độ XYZ chính xác", + "mesh_exchange.only_dxf_geometry_in_the_xy_plane_with": "Chỉ hỗ trợ hình học DXF trong mặt phẳng XY với tính năng ép đùn mặc định", + "mesh_exchange.only_text_dxf_is_supported": "Chỉ hỗ trợ văn bản DXF", + "mesh_exchange.stl_coordinate_overflow": "STL", + "mesh_exchange.stl_export_exceeds_200_000_triangles": "STL vượt quá 200.000 hình tam giác", + "mesh_exchange.there_are_no_visible_faces_to_export_as": "Không có mặt nào đang hiển thị để xuất dưới dạng STL", + "mesh_exchange.too_many_obj_primitives": "Quá nhiều OBJ nguyên thủy", + "mesh_exchange.truncated_dxf_code_value_pair": "Cặp mã/giá trị DXF bị cắt ngắn", + "mesh_exchange.truncated_stl": "Cắt ngắn STL", + "mesh_exchange.unsupported_dxf_entity_supported_line_lwpolyline_without_bulges": "Thực thể DXF không được hỗ trợ {kind}. Được hỗ trợ: LINE, LWPOLYLINE không có chỗ phình/chiều rộng, CIRCLE, ARC; Chỉ mặt phẳng XY.", + "mesh_exchange.unsupported_dxf_polyline_flags": "Cờ đa tuyến DXF không được hỗ trợ", + "mesh_exchange.unsupported_import_format": "Định dạng nhập không được hỗ trợ", + "mesh_exchange.unsupported_obj_statement": "Tuyên bố OBJ không được hỗ trợ: {}", + "modal.close_dialog": "Đóng hộp thoại", + "modal.close_esc": "Đóng (Esc)", + "move_tool.cannot_copy_this_geometry_here_check_the_distance": "Không thể sao chép hình học này ở đây; kiểm tra khoảng cách và lồng thành phần", + "move_tool.ctrl": "Ctrl", + "move_tool.enter_a_finite_displacement": "Nhập một chuyển vị hữu hạn", + "move_tool.enter_a_whole_array_count_from_1_to": "Nhập toàn bộ số mảng từ 1 đến 1000", + "move_tool.enter_an_array_count_such_as_3_or": "Nhập số lượng mảng, chẳng hạn như /3 hoặc 3x", + "move_tool.move_the_pointer_to_choose_a_direction_first": "Di chuyển con trỏ để chọn hướng trước", + "move_tool.option": "Tùy chọn", + "outliner.angle_dimension": "Kích thước góc", + "outliner.click_to_select_shift_click_to_select_a": "Nhấp để chọn · Shift-nhấp để chọn một khoảng · Ctrl/Cmd-nhấp để bật/tắt lựa chọn · Dùng nút con mắt để đổi trạng thái hiển thị; kiểm tra đối tượng cha và Thẻ để biết trạng thái hiển thị kế thừa", + "outliner.click_to_select_shift_click_to_select_a_2": "Nhấp để chọn · Shift-nhấp để chọn một khoảng · Ctrl/Cmd-nhấp để bật/tắt lựa chọn · Nhấp đúp để chỉnh sửa · Kéo vào nhóm để lồng, hoặc kéo giữa các hàng để sắp xếp lại", + "outliner.collapse_children": "Thu gọn đối tượng con", + "outliner.component": "Thành phần", + "outliner.dimension": "Kích thước", + "outliner.drag_move_objects": { + "one": "Di chuyển {count} đối tượng", + "other": "Di chuyển {count} đối tượng" + }, + "outliner.draw_geometry_or_import_a_model_to_see": "Vẽ hình học hoặc nhập mô hình để xem các đối tượng tại đây.", + "outliner.edge": "Cạnh", + "outliner.editing": " · Đang chỉnh sửa", + "outliner.empty_object": "Đối tượng trống", + "outliner.entity": "{kind}: {label}\nThực thể #{id}{}\n{}", + "outliner.entity_accessibility": "{kind}: {label}", + "outliner.entity_number": "#{id}", + "outliner.expand_children": "Mở rộng đối tượng con", + "outliner.face": "Mặt", + "outliner.find_groups_and_components_at_any_depth_by": "Tìm nhóm và thành phần ở mọi cấp theo tên hoặc #ID · Ctrl/Cmd+F", + "outliner.full_material_assignment": "Đã gán vật liệu đầy đủ", + "outliner.geometry": "Hình học ({count})", + "outliner.group": "Nhóm", + "outliner.hide": "Ẩn", + "outliner.locked": " · Đã khóa", + "outliner.material_accessibility": "{} — {kind}: {label}", + "outliner.move_objects": "Di chuyển đối tượng", + "outliner.no_matching_objects": "Không có đối tượng phù hợp", + "outliner.no_material_assigned": "Chưa gán vật liệu", + "outliner.no_objects_or_geometry_yet": "Chưa có đối tượng hoặc hình học", + "outliner.paint": "\nTô màu: #{r:02X}{g:02X}{b:02X}", + "outliner.paint_mixed_face_colors": "\nTô màu: các mặt có màu khác nhau", + "outliner.partial_material_assignment": "Đã gán một phần vật liệu", + "outliner.search_objects": "Tìm đối tượng", + "outliner.show": "Hiện", + "outliner.text": "Văn bản", + "outliner.try_another_name_or_clear_the_search_to": "Thử tên khác hoặc xóa nội dung tìm kiếm để xem tất cả đối tượng.", + "outliner.unhide": "Hiện lại", + "outliner.unhide_the_parent_object_before_selecting_its_contents": "Hiện đối tượng cha trước khi chọn nội dung bên trong", + "outliner.unlock_the_parent_object_before_selecting_its_contents": "Mở khóa đối tượng cha trước khi chọn nội dung bên trong", + "outliner.visibility_accessibility": "{} {kind}: {label}", + "outliner.visibility_is_also_controlled_by_the_parent_object": "{name}\nTrạng thái hiển thị cũng do đối tượng cha và thẻ kiểm soát", + "precision.add_or_subtract_quantities_with_matching_units": " Cộng hoặc trừ số lượng với đơn vị phù hợp", + "precision.cannot_divide_by_zero": "Không thể chia cho 0", + "precision.close_each_opening_parenthesis": "Đóng từng dấu ngoặc đơn mở", + "precision.draw_a_stroke_before_setting_its_total_length": "Vẽ một nét trước khi thiết lập tổng chiều dài của nó", + "precision.enter_a_finite_angle": "Nhập một góc hữu hạn", + "precision.enter_a_formula_such_as_60cm_89mm_or": "Nhập công thức như 60cm - 89mm hoặc (1m + 20cm) / 2", + "precision.enter_a_positive_length_between_0_0000001_m": "Nhập độ dài dương trong khoảng từ 0,0000001 m đến 10000000 m", + "precision.enter_width_height_such_as_5m_50mm": "Nhập chiều rộng, chiều cao, chẳng hạn như 5m,50mm", + "precision.scale_factors_must_use_numbers_without_units": "Hệ số tỷ lệ phải sử dụng số không có đơn vị", + "precision.the_formula_is_too_long": "Công thức quá dài", + "precision.the_formula_must_produce_a_finite_value": "Công thức phải tạo ra giá trị hữu hạn", + "precision.the_formula_must_produce_a_length_not_an": "Công thức phải tạo ra chiều dài, không phải diện tích hoặc thể tích", + "precision.use_fewer_nested_parentheses": "Sử dụng ít dấu ngoặc đơn lồng nhau", + "precision.use_length_units_mm_cm_m_km_in": "Sử dụng đơn vị chiều dài mm, cm, m, km, in, ft hoặc yd", + "project_files.preparing_pdf": "Đang chuẩn bị PDF…", + "project_files.allow_pop_ups_for_benchup_then_generate_the": "Cho phép cửa sổ bật lên cho BenchUp, sau đó tạo lại tệp PDF.", + "project_files.already_exists_select_that_file_in_the_save": "{} đã tồn tại. Chọn tệp .{extension} đó trong hộp thoại lưu để thay thế nó.", + "project_files.could_not_compress_project": "Không thể nén dự án: {error}", + "project_files.could_not_decompress_project": "Không thể giải nén dự án: {error}", + "project_files.cutting_plan": "kế hoạch cắt", + "project_files.estimates": "{name} - ước tính", + "project_files.export_geometry": "Xuất hình học", + "project_files.export_screenshot": "Xuất ảnh chụp màn hình", + "project_files.export_time_and_cost_estimates": "Ước tính chi phí và thời gian xuất khẩu", + "project_files.export_woodworking_cutting_plan": "Kế hoạch cắt chế biến gỗ xuất khẩu", + "project_files.export_workshop_labels": "Nhãn xưởng xuất khẩu", + "project_files.geometry": "Hình học", + "project_files.geometry_import_is_limited_to_64_mib_per": "Geometry được giới hạn ở 64 MiB mỗi tệp", + "project_files.import_geometry_stl_mm_obj_metres_dxf_declared": "Nhập hình học (STL: mm; OBJ: mét; DXF: đơn vị khai báo hoặc mm)", + "project_files.benchup_project": "BenchUp", + "project_files.no_browser_document": "Không có tài liệu trình duyệt", + "project_files.no_browser_document_body": "Không có nội dung tài liệu trình duyệt", + "project_files.no_browser_window": "Không có cửa sổ trình duyệt", + "project_files.open_benchup_project": "Dự án BenchUp mở", + "project_files.pdf_document": "Tài liệu PDF", + "project_files.pdf_saved_to_but_its_viewer_could_not": "PDF đã được lưu vào {}, nhưng không thể mở được trình xem của nó: {error}", + "project_files.report_name": "{name} - {suffix}", + "project_files.save_benchup_project_as": "Lưu dự án BenchUp as", + "project_files.screenshot": "Ảnh chụp màn hình", + "project_files.screenshot_2": "{name} - ảnh chụp màn hình", + "project_files.sketchup_import": "SketchUp nhập", + "project_files.the_browser_could_not_download_this_obj_file": "Trình duyệt không thể tải xuống tệp OBJ này", + "project_files.the_browser_could_not_download_this_screenshot": "Trình duyệt không thể tải xuống ảnh chụp màn hình này", + "project_files.the_browser_could_not_open_this_pdf": "Trình duyệt không thể mở tệp PDF", + "project_files.the_browser_could_not_read_this_geometry_file": "Trình duyệt không thể đọc được tệp hình học này", + "project_files.the_browser_could_not_read_this_project": "Trình duyệt không thể đọc dự án này", + "project_files.the_browser_could_not_save_this_project": "Trình duyệt không thể lưu dự án này", + "project_files.the_imported_geometry_cannot_be_inserted_in_this": "Không thể chèn hình học đã nhập vào ngữ cảnh chỉnh sửa này", + "project_files.the_project_is_not_utf_8_text": "Dự án không phải là văn bản UTF-8", + "project_files.untitled_model": "Mẫu máy chưa có tiêu đề", + "project_files.workshop_labels": "nhãn hội thảo", + "projects.allow_rotating_pieces_90_degrees": "Cho phép xoay các mảnh 90 độ", + "projects.browser_file_browser_hides_the_full_path_reselect": "Tệp trình duyệt: {file} (trình duyệt ẩn đường dẫn đầy đủ; chọn lại để mở)", + "projects.could_not_complete_file_operation": "Không thể hoàn tất thao tác với tệp: {error}", + "projects.could_not_save_project": "Không thể lưu dự án: {error}", + "projects.create_a_pdf_with_quantities_and_finished_cut": "Tạo tệp PDF với số lượng và kích thước cắt hoàn thiện.", + "projects.create_one_label_per_piece_with_its_cutting": "Tạo một nhãn cho mỗi sản phẩm có dấu kế hoạch cắt, tên và độ dày, chiều rộng và chiều dài hoàn thiện. In ở khổ giấy A4.", + "projects.cutting_plan_pdf_opened_in_a_new_tab": "Kế hoạch cắt PDF được mở trong tab mới", + "projects.cutting_plan_pdf_saved_and_opened": "Kế hoạch cắt PDF đã được lưu và mở", + "projects.discard_changes": "Hủy các thay đổi", + "projects.exporting_geometry": "Đang xuất hình học…", + "projects.exporting_screenshot": "Đang xuất ảnh chụp màn hình…", + "projects.generate_pdf": "Tạo PDF…", + "projects.estimates_pdf_opened": "Bản PDF ước tính thời gian và chi phí được mở trong tab mới", + "projects.estimates_pdf_saved": "Ước tính thời gian và chi phí PDF đã được lưu và mở", + "projects.geometry_download_started": "Đã bắt đầu tải xuống hình học", + "projects.geometry_exported": "Geometry đã xuất", + "projects.geometry_imported_as_editable_groups": "Hình học được nhập dưới dạng nhóm có thể chỉnh sửa", + "projects.geometry_recovered_from_a_damaged_sketchup_archive": "Geometry được khôi phục từ kho lưu trữ SketchUp bị hỏng. Một số tài liệu có thể bị thiếu.", + "projects.respect_wood_grain_direction": "Tôn trọng hướng thớ gỗ", + "projects.align_part_grain_with_stock_length": "Căn chỉnh thớ được chỉ định của từng bộ phận với chiều dài của phôi.", + "projects.show_wood_joinery": "Trưng bày đồ mộc", + "projects.show_joinery_as_dashed_outlines": "Hiển thị các đường cắt mộc dưới dạng đường nét đứt nét trên mỗi mảnh.", + "cutting_plan.joinery_dashed_outlines": "Đường nét đứt biểu thị mối nối được chiếu lên mặt phôi.", + "cutting_plan.grain_along_stock_length": "Hướng vân gỗ đã gán chạy dọc theo chiều dài phôi.", + "cutting_plan.grain_through_thickness": "Vân gỗ chạy xuyên qua chiều dày, không thể đặt dọc theo chiều dài phôi.", + "cutting_plan.joinery_omitted": "Các mối nối không thể đánh giá sẽ bị lược bỏ.", + "projects.import_geometry": "Nhập hình học", + "projects.import_sketchup": "Nhập SketchUp", + "projects.importing_geometry": "Đang nhập hình học…", + "projects.joint_error_separator": " · ", + "projects.layouts_use_assigned_stock_dimensions_and_saw_kerf": "Layouts sử dụng kích thước phôi và đường cưa được chỉ định. Xác nhận thớ gỗ, đồ mộc và các hình dạng không đều so với mô hình; đây là cách bố trí thực tế, không phải là mức tối thiểu được đảm bảo.", + "projects.leave_off_when_the_length_must_follow_the": "Rời đi khi chiều dài phải tuân theo thớ gốc.", + "projects.location_and_share_link": "{location}\n{url}", + "projects.mm": " mm", + "projects.no_recent_projects": "Không có dự án nào gần đây", + "projects.only_visible_parts_with_assigned_stock_materials_are": "Chỉ bao gồm các bộ phận có thể nhìn thấy được với vật liệu dự trữ được chỉ định. Chỉ định tài liệu trong Thông tin thực thể bằng cách sử dụng bảng giá hàng tồn kho. Các bộ phận lồng nhau kế thừa vật liệu lắp ráp của chúng trừ khi được chỉ định riêng.", + "projects.opening_project": "Khai trương dự án…", + "projects.please_wait": "Xin vui lòng đợi…", + "projects.preparing_estimates_pdf": "Chuẩn bị ước tính thời gian và chi phí PDF…", + "projects.preparing_cutting_plan_pdf": "Đang chuẩn bị kế hoạch cắt PDF…", + "projects.preparing_workshop_labels_pdf": "Chuẩn bị nhãn hội thảo PDF…", + "projects.project_download_started": "Đã bắt đầu tải xuống dự án", + "projects.project_file": "Tệp dự án", + "projects.project_opened": "Dự án đã mở", + "projects.project_saved": "Dự án đã lưu", + "projects.recent_project_detail": "\n{detail}", + "projects.recent_projects": "Dự án gần đây", + "projects.remove_from_recent_projects": "Xóa khỏi các dự án gần đây", + "projects.reselect_to_reopen_this_browser_file": "Chọn lại {} để mở lại tệp trình duyệt này", + "projects.restart_with_local_recovery": "Khởi động lại bằng khôi phục cục bộ", + "projects.save_changes_to_as_a_project_file_before": "Lưu các thay đổi đối với “{}” dưới dạng tệp dự án trước khi tiếp tục?", + "projects.save_project_changes": "Lưu các thay đổi của dự án?", + "projects.saving_project": "Đang lưu dự án…", + "projects.saw_kerf_cut_width": "Khe cưa (chiều rộng cắt)", + "projects.screenshot_download_started": "Đã bắt đầu tải xuống ảnh chụp màn hình", + "projects.screenshot_exported": "Ảnh chụp màn hình đã xuất", + "projects.select_at_least_one_part_or_choose_the": "Chọn ít nhất một phần hoặc chọn toàn bộ dự án.", + "projects.selected_parts_assemblies_visible_only": "Các bộ phận / cụm được chọn (chỉ hiển thị)", + "projects.the_file_operation_did_not_complete": "Thao tác với tệp không hoàn tất", + "projects.this_project_belongs_to_connect_to_that_server": "Dự án này thuộc về {server}. Kết nối với máy chủ đó trong Tài khoản trước khi mở nó.", + "projects.whole_project_visible_only": "Toàn bộ dự án (chỉ hiển thị)", + "projects.wood_joint": "Khớp gỗ #{id}: {error}", + "projects.woodworking_cutting_plan": "Kế hoạch cắt chế biến gỗ", + "projects.workshop_labels": "Nhãn hội thảo", + "projects.workshop_labels_pdf_opened_in_a_new_tab": "Nhãn hội thảo PDF được mở trong tab mới", + "projects.workshop_labels_pdf_saved_and_opened": "Nhãn hội thảo PDF đã được lưu và mở", + "realtime.invalid_websocket_event": "Sự kiện WebSocket không hợp lệ", + "realtime.unsupported_websocket_tls_stream": "Luồng TLS WebSocket không được hỗ trợ", + "realtime.url_ticket_connection_queue_wake": "url,vé,kết nối,hàng đợi,wake", + "realtime.websocket_connection_failed": "WebSocket kết nối không thành công", + "realtime.websocket_disconnected": "WebSocket đã bị ngắt kết nối", + "realtime.websocket_disconnected_2": "WebSocket đã bị ngắt kết nối: {e}", + "realtime.websocket_host_missing": "WebSocket", + "realtime.websocket_unavailable": "WebSocket không có sẵn", + "release_notes.format": "•", + "release_notes.latest": " · Mới nhất", + "release_notes.newer": "Mới hơn", + "release_notes.older": "Cũ", + "release_notes.release_notes": "Ghi chú phát hành", + "release_notes.v": "v{} · {}{latest}", + "release_notes.v_latest": "v{} · Mới nhất", + "release_notes.you_re_using_benchup": "Bạn đang sử dụng BenchUp {}", + "rotate_tool.click_a_reference_point_away_from_the_pivot": "Nhấp vào điểm tham chiếu cách xa trục quay · Các phím mũi tên khóa mặt phẳng quay · Esc để hủy", + "rotate_tool.click_a_reference_point_away_from_the_pivot_2": "Nhấp vào điểm tham chiếu cách xa trục trước", + "rotate_tool.click_to_rotate_type_an_angle_or_formula": "Nhấp để xoay · Nhập góc hoặc công thức rồi nhấn Enter · Phím mũi tên khóa mặt phẳng xoay · Esc để hủy", + "rotate_tool.select_geometry_click_a_pivot_on_or_offset": "Chọn hình học · Nhấp vào một trục xoay (trên hoặc lệch khỏi vùng chọn) · Phím mũi tên khóa mặt phẳng quay", + "rotate_tool.the_reference_lies_on_the_rotation_axis_clear": "Tham chiếu nằm trên trục quay; xóa khóa hoặc khởi động lại bằng tham chiếu khác", + "screenshot_dialog.a_compatible_gpu_renderer_is_required_for_screenshots": "A để chụp ảnh màn hình.", + "screenshot_dialog.all_views_in_one_image": "Tất cả lượt xem trong một hình ảnh", + "screenshot_dialog.choose_one_or_more_views": "Chọn một hoặc nhiều chế độ xem.", + "screenshot_dialog.choose_your_views_page_layout_and_export_format": "Chọn chế độ xem, bố cục trang và định dạng xuất của bạn.", + "screenshot_dialog.combined_sheet": "Tấm kết hợp", + "screenshot_dialog.could_not_read_screenshot": "Không thể đọc ảnh chụp màn hình: {e}", + "screenshot_dialog.dpi": "{}DPI", + "screenshot_dialog.dpi_2": "{dpi} PI", + "screenshot_dialog.export": "Xuất", + "screenshot_dialog.fit_the_visible_model_in_parallel_projection": "Điều chỉnh mô hình hiển thị trong phép chiếu song song.", + "screenshot_dialog.fit_visible_content_using_the_current_viewing_angle": "Điều chỉnh nội dung hiển thị bằng cách sử dụng góc xem và hình chiếu hiện tại.", + "screenshot_dialog.format": "Định dạng", + "screenshot_dialog.generate": "Tạo", + "screenshot_dialog.generate_screenshot": "Tạo ảnh chụp màn hình", + "screenshot_dialog.individual_views": "Quan điểm cá nhân", + "screenshot_dialog.landscape": "Phong cảnh", + "screenshot_dialog.light_mode_transparent_background": "Chế độ ánh sáng · Nền trong suốt", + "screenshot_dialog.mm": "{width:.0} × {height:.0} mm · {}", + "screenshot_dialog.model_views": "Chế độ xem mô hình", + "screenshot_dialog.one_image_per_view": "Một hình ảnh cho mỗi lượt xem", + "screenshot_dialog.one_pdf_page_per_view": "Một trang PDF cho mỗi lượt xem.", + "screenshot_dialog.page": "Trang", + "screenshot_dialog.paper_size": "Kích thước giấy", + "screenshot_dialog.pixels_per_sheet": "{w} × {h} pixel trên mỗi tờ", + "screenshot_dialog.portrait": "Chân dung", + "screenshot_dialog.preparing_preview": "Đang chuẩn bị xem trước…", + "screenshot_dialog.preview_unavailable": "Không có bản xem trước", + "screenshot_dialog.preview_viewport": "Cổng xem xem trước", + "screenshot_dialog.rendering_export": "Xuất kết xuất…", + "screenshot_dialog.resolution": "Độ phân giải", + "screenshot_dialog.screenshot_color": "Màu ảnh chụp màn hình", + "screenshot_dialog.screenshot_depth": "Độ sâu ảnh chụp màn hình", + "screenshot_dialog.screenshot_preview": "ảnh chụp màn hình-xem trước-{i}", + "screenshot_dialog.screenshot_readback": "Đọc lại ảnh chụp màn hình", + "screenshot_dialog.screenshot_readback_did_not_complete": "Việc đọc lại ảnh chụp màn hình không hoàn tất.", + "screenshot_dialog.screenshot_rendering_timed_out_try_fewer_views_or": "Hết thời gian hiển thị ảnh chụp màn hình. Hãy thử ít lượt xem hơn hoặc độ phân giải thấp hơn.", + "screenshot_dialog.screenshot_viewport": "Chế độ xem ảnh chụp màn hình", + "screenshot_dialog.select_a_view_to_preview": "Chọn chế độ xem để xem trước", + "screenshot_dialog.selected": "{count} đã chọn", + "screenshot_dialog.separate_images_packaged_in_a_zip_file": "Các hình ảnh riêng biệt được đóng gói trong tệp ZIP.", + "screenshot_dialog.this_image_exceeds_the_gpu_texture_size_choose": "Hình ảnh này vượt quá kích thước kết cấu GPU. Chọn giấy nhỏ hơn hoặc độ phân giải thấp hơn.", + "screenshot_dialog.views": "Lượt xem", + "screenshots.a3_297_420_mm": "A3 · 297 × 420 mm", + "screenshots.a4_210_297_mm": "A4 · 210 × 297 mm", + "screenshots.a5_148_210_mm": "A5 · 148 × 210 mm", + "screenshots.back": "Quay lại", + "screenshots.bottom": "Dưới", + "screenshots.current": "Hiện tại", + "screenshots.date_unavailable": "Ngày không có", + "screenshots.devicegray": "Thiết bịGray", + "screenshots.devicergb": "Thiết bịRGB", + "screenshots.front": "Mặt trước", + "screenshots.isometric": "Đẳng", + "screenshots.jpeg": "JPEG", + "screenshots.jpeg_cannot_preserve_transparency_choose_png_webp_or": "JPEG không thể duy trì tính minh bạch. Chọn PNG, WebP hoặc PDF.", + "screenshots.left": "Trái", + "screenshots.legal_8_5_14_in": "Legal · 8,5 × 14 in", + "screenshots.letter_8_5_11_in": "Thư · 8,5 × 11 in", + "screenshots.model_views": "Chế độ xem mẫu", + "screenshots.pdf": "PDF", + "screenshots.png": "PNG", + "screenshots.right": "Đúng", + "screenshots.select_at_least_one_view": "Chọn ít nhất một chế độ xem.", + "screenshots.smask_0_r": " /SMask {id} 0 R", + "screenshots.some_screenshot_views_did_not_finish_rendering": "Một số chế độ xem ảnh chụp màn hình không hoàn tất hiển thị.", + "screenshots.tabloid_11_17_in": "Báo lá cải · 11 × 17 in", + "screenshots.this_export_is_too_large_choose_a_lower": "Bản xuất này quá lớn. Chọn độ phân giải thấp hơn, giấy nhỏ hơn hoặc ít lượt xem hơn.", + "screenshots.top": "Trên", + "screenshots.webp": "WebP", + "router.angle": "Góc vát", + "router.angle_does_not_fit": "Góc vát không khớp giữa hai mặt.", + "router.applied": "Các cạnh của tuyến đường", + "router.bead": "Gờ tròn", + "router.bevel": "Vát", + "router.chamfer": "Vát cạnh", + "router.click_edges": "Nhấp vào một cạnh để chọn nó, sau đó nhấp vào cấu hình để áp dụng định tuyến.", + "router.convex_edge_required": "Chọn một cạnh ranh giới lồi thẳng hoặc vẽ đường định tuyến trên một mặt khối.", + "router.cove": "Rãnh lõm", + "router.defaults": "Hồ sơ dành cho các cạnh mới", + "router.depth": "Độ sâu", + "router.edge": "Cạnh #{id}", + "router.edge_error": "Cạnh #{id}: {error}", + "router.edit": "Chỉnh sửa", + "router.groove": "Rãnh", + "router.invalid_settings": "Cài đặt định tuyến không hợp lệ.", + "router.none": "Không có", + "router.offset": "Thất bại", + "router.ogee": "Ogee La Mã", + "router.profile": "Hồ sơ", + "router.profile_does_not_fit": "Hồ sơ không phù hợp với hàng có sẵn.", + "router.profile_too_small": "Hồ sơ chứa các chi tiết quá nhỏ cho tác phẩm này.", + "router.protected": "Mở khóa mảnh và hiển thị các cạnh đã chọn để chỉnh sửa định tuyến.", + "router.rabbet": "Mộng bậc", + "router.radius": "Bán kính", + "router.remove": "Xóa", + "router.removed": "Xóa định tuyến cạnh", + "router.reverse": "Hoán đổi mặt tham chiếu", + "router.roundover": "Làm tròn", + "router.router": "Bộ định tuyến", + "router.saved": "Định tuyến đã lưu", + "router.select_edges": "Chọn một cạnh, sau đó nhấp vào cấu hình để áp dụng định tuyến. Chọn Không để xóa định tuyến.", + "router.shoulder": "Vai", + "router.size": "Kích thước", + "router.solid_piece_required": "Routing yêu cầu một vật rắn khép kín. Các cạnh được vẽ trên các mặt của nó và các cạnh ranh giới hiện có đều được hỗ trợ.", + "router.surface_path_required": "Vẽ một cạnh thẳng trên một mặt khối hoặc chọn một cạnh ranh giới khối hiện có.", + "router.square_edge_required": "Cấu hình này yêu cầu cạnh 90°.", + "router.suspended": "Định tuyến trên cạnh #{id} bị tạm dừng: {error}", + "router.width": "Chiều rộng", + "section_gizmo.drag_section_along_its_axis_esc_to_cancel": "Dkéo phần {} dọc theo trục của nó · Esc để hủy. Khi xem dọc theo trục, hãy kéo lên/xuống.", + "settings.adjust_mouse_and_trackpad_navigation_sensitivity": "Điều chỉnh độ nhạy điều hướng bằng chuột và bàn di chuột.", + "settings.automatically_group_new_shapes": "Tự động nhóm các hình mới", + "settings.automatically_size_grid_when_zooming": "Tự điều chỉnh kích thước lưới khi thu phóng", + "settings.axis_and_inference_colors": "Màu trục và điểm bắt", + "settings.axis_inferences_use_the_corresponding_axis_color": "Điểm bắt theo trục sử dụng màu tương ứng với trục đó.", + "settings.changes_are_saved_automatically_on_this_device": "Các thay đổi được tự động lưu trên thiết bị này.", + "settings.clear_both_axis_locks_after_completing_an_edit": "Xóa cả hai khóa trục sau khi hoàn tất chỉnh sửa hoặc đo đạc, hủy thao tác hoặc chuyển công cụ. Tắt tùy chọn này để giữ khóa cho đến khi bạn tự xóa.", + "settings.click_a_shortcut_then_press_a_letter_or": "Nhấp vào phím tắt rồi nhấn một chữ cái hoặc phím cách. Nhấn Esc để hủy. Gán lại phím sẽ hoán đổi các lệnh. Lệnh dự án và thao tác điều hướng giữ nguyên phím tắt tiêu chuẩn.", + "settings.controls": "Điều khiển", + "settings.default_units": "Đơn vị mặc định", + "settings.defaults_for_objects_in_all_projects_objects_use": "Giá trị mặc định cho đối tượng trong mọi dự án. Đối tượng dùng các giá trị này cho đến khi được tùy chỉnh trong Thông tin đối tượng.", + "settings.diagnostics": "Chẩn đoán", + "settings.display_the_rendering_frame_rate_in_the_lower": "Hiển thị tốc độ khung hình ở góc dưới bên trái của mỗi khung nhìn. Khi hiển thị, ứng dụng sẽ liên tục kết xuất.", + "settings.format": "×", + "settings.grid": "Lưới", + "settings.grid_spacing": "Khoảng cách lưới", + "settings.group_new_shapes_outside_existing_objects": "Tạo nhóm riêng cho mỗi hình mới được vẽ bên ngoài nhóm hoặc thành phần hiện có. Các đoạn thẳng nối tiếp dùng chung một nhóm. Vẽ bên trong một đối tượng sẽ chỉnh sửa đối tượng đó.", + "settings.inference_points": "Điểm bắt", + "settings.infinite_grid": "Lưới vô hạn", + "settings.language": "Ngôn ngữ", + "settings.language_english": "Tiếng Anh", + "settings.length_of_each_side_of_the_square_centered": "Chiều dài mỗi cạnh của hình vuông, lấy gốc mô hình làm tâm. Ranh giới giữ nguyên khi thu phóng hoặc xoay.", + "settings.material": "Vật liệu", + "settings.materials_estimates": "Vật liệu và dự toán", + "settings.maximum_length": "Chiều dài tối đa", + "settings.midpoints": "Trung điểm", + "settings.navigation": "Điều hướng", + "settings.no_tools_match_your_search": "Không có công cụ nào khớp với nội dung tìm kiếm.", + "settings.orbit_speed": "Tốc độ xoay quanh", + "settings.pan_speed": "Tốc độ dịch chuyển", + "settings.rendering": "Kết xuất", + "settings.reset_axis_locks_on_each_action": "Đặt lại khóa trục sau mỗi thao tác", + "settings.restore_default_colors": "Khôi phục màu mặc định", + "settings.restore_default_shortcuts": "Khôi phục phím tắt mặc định", + "settings.reverse_scroll_zoom": "Đảo chiều thu phóng bằng con lăn", + "settings.sanding_finishing": "Chà nhám và hoàn thiện", + "settings.search_tools": "Tìm công cụ…", + "settings.settings": "Cài đặt", + "settings.shadow_antialiasing": "Khử răng cưa bóng đổ", + "settings.shortcut": "Phím tắt", + "settings.shortcuts_management": "Quản lý phím tắt", + "settings.show_frames_per_second": "Hiển thị số khung hình mỗi giây", + "settings.show_grid": "Hiện lưới", + "settings.smooth_shadow_boundaries_with_4_multisampling_only_shadows": "Làm mịn đường biên bóng bằng khử răng cưa đa mẫu 4×. Chỉ ảnh hưởng đến bóng đổ. Thay đổi có hiệu lực ngay.", + "settings.snap_to_grid": "Bắt theo lưới", + "settings.spacing_controls_both_grid_lines_and_grid_snapping": "Khoảng cách điều khiển cả đường lưới và thao tác bắt lưới. Mỗi đường thứ năm được làm nổi bật.", + "settings.system": "Hệ thống", + "settings.tool": "Công cụ", + "settings.tools": "Công cụ", + "settings.tools_for_checking_performance_and_troubleshooting": "Công cụ kiểm tra hiệu năng và khắc phục sự cố.", + "settings.used_for_new_projects_change_the_current_project": "Dùng cho dự án mới. Đổi đơn vị của dự án hiện tại trong bảng Đơn vị.", + "settings.workspace": "Không gian làm việc", + "settings.x_axis": "Trục X", + "settings.y_axis": "Trục Y", + "settings.z_axis": "Trục Z", + "settings.zoom_speed": "Tốc độ thu phóng", + "sharing.access_approved": "Đã phê duyệt", + "sharing.access_denied": "bị từ chối", + "sharing.access_edit": "chỉnh sửa", + "sharing.access_is_awaiting_approval": "Quyền truy cập đang chờ phê duyệt", + "sharing.access_none": "không có quyền", + "sharing.access_notifications": { + "one": "Thông báo truy cập ({count})", + "other": "Truy cập thông báo ({count})" + }, + "sharing.access_owner": "chủ sở hữu", + "sharing.access_pending": "đang chờ", + "sharing.access_reference_revision": "Access: {} · bản sửa đổi tham khảo: {}", + "sharing.access_request": "{} · {} · {}", + "sharing.access_view": "xem", + "sharing.account": "Tài khoản", + "sharing.account_changed": "Tài khoản đã thay đổi", + "sharing.account_sharing_connection": "Tài khoản: {account} · Kết nối chia sẻ: {connection}", + "sharing.approve": "Phê duyệt", + "sharing.avatar_request_ended": "Yêu cầu hình đại diện đã kết thúc", + "sharing.avatar_unavailable": "Không có hình đại diện", + "sharing.being_edited_by": "Đang được chỉnh sửa bởi {name}{}", + "sharing.checking_server_revision_and_file_timestamp_before_saving": "Đang kiểm tra bản sửa đổi máy chủ và dấu thời gian của tệp trước khi lưu…", + "sharing.connected_server_identity_not_reported": "Đã kết nối; danh tính máy chủ không được báo cáo", + "sharing.copy_link": "Sao chép liên kết", + "sharing.create_invitation_link": "Tạo liên kết lời mời", + "sharing.deny": "Từ chối", + "sharing.editing_access_has_not_been_confirmed_check_your": "Quyền truy cập chỉnh sửa chưa được xác nhận. Kiểm tra tài khoản của bạn và Tệp → Chia sẻ.", + "sharing.guest": "Khách", + "sharing.guest_2": " · Guest", + "sharing.invalid_server_access_response": "Phản hồi truy cập máy chủ không hợp lệ", + "sharing.invalid_websocket_endpoint": "Điểm cuối WebSocket không hợp lệ", + "sharing.invalid_websocket_project_state": "Trạng thái dự án WebSocket không hợp lệ", + "sharing.keep_local_as_separate_project": "Giữ cục bộ dưới dạng dự án riêng", + "sharing.local_session": "Phiên cục bộ", + "sharing.missing_guest_identity": "Thiếu danh tính khách", + "sharing.new_project_access_notification_file_share": "Thông báo truy cập dự án mới — Tệp → Chia sẻ", + "sharing.not_connected": "Không được kết nối", + "sharing.not_signed_in": "Chưa đăng nhập", + "sharing.objects_occupied_by_file_share": "Đối tượng do {} sử dụng · Tệp → Chia sẻ", + "sharing.occupied_by": "Được chiếm giữ bởi {}: {:?}", + "sharing.open_an_invitation_link": "Mở liên kết lời mời", + "sharing.open_shared_project": "Mở dự án chia sẻ", + "sharing.original_project_author": "Tác giả dự án ban đầu: {}", + "sharing.persistent_invitation_link_author_approval_required_for_reading": "Liên kết lời mời liên tục · cần có sự chấp thuận của tác giả để đọc và chỉnh sửa", + "sharing.project_changed": "Dự án đã thay đổi", + "sharing.project_request_failed": "Yêu cầu dự án không thành công", + "sharing.project_request_interrupted": "Yêu cầu dự án bị gián đoạn", + "sharing.publish_local_version": "Xuất bản phiên bản địa phương", + "sharing.refresh_access": "Quyền truy cập làm mới", + "sharing.refreshing_sharing_identity": "Làm mới danh tính chia sẻ", + "sharing.request_editing_access": "Yêu cầu quyền chỉnh sửa", + "sharing.request_viewing_access": "Yêu cầu quyền truy cập xem", + "sharing.resolve_the_project_version_conflict_in_file_share": "Giải quyết xung đột phiên bản dự án trong Tệp → Chia sẻ trước khi chỉnh sửa.", + "sharing.review_project": "Đánh giá dự án", + "sharing.save_your_current_project_before_opening_an_invitation": "Lưu dự án hiện tại của bạn trước khi mở lời mời.", + "sharing.server_revision_differs_from_this_file_local_changes": "Bản sửa đổi máy chủ {} ({}) khác với tệp này. Những thay đổi cục bộ đã được giữ lại. Chọn một phiên bản; một bản cập nhật đồng thời khác sẽ được kiểm tra lại.", + "sharing.server_timestamp_file_timestamp_utc_epoch_seconds": "Dấu thời gian của máy chủ: {} · dấu thời gian của tệp: {} (giây kỷ nguyên UTC)", + "sharing.server_unavailable": "Máy chủ không có sẵn", + "sharing.share": "Chia sẻ…", + "sharing.share_2": "Chia sẻ… ({pending})", + "sharing.share_project": "Chia sẻ dự án", + "sharing.share_uploads_this_project_to_your_configured_benchup": "Chia sẻ sẽ tải dự án này lên Máy chủ BenchUp đã cấu hình. Khách truy cập phải yêu cầu quyền truy cập.", + "sharing.shared": "Đã chia sẻ · {}", + "sharing.sign_in_to_your_account": "Đăng nhập vào tài khoản của bạn", + "sharing.sync": "Đồng bộ: {error}", + "sharing.sync_conflict_file_share": "Đồng bộ · Tệp → Chia sẻ", + "sharing.the_access_response_belongs_to_another_project": "Phản hồi truy cập thuộc về một dự án khác", + "sharing.the_server_confirmed_access_but_did_not_provide": "Máy chủ đã xác nhận quyền truy cập {} nhưng không cung cấp dữ liệu dự án", + "sharing.the_server_confirmed_access_but_the_project_data": "Máy chủ đã xác nhận quyền truy cập {}, nhưng không thể tải dữ liệu dự án: {error}", + "sharing.the_server_confirmed_editing_access_but_project_data": "Máy chủ đã xác nhận quyền truy cập chỉnh sửa nhưng dữ liệu dự án không có sẵn. Xem lại lỗi trong Tệp → Chia sẻ.", + "sharing.the_sharing_connection_uses_a_different_identity_refresh": "Kết nối chia sẻ sử dụng danh tính khác. Làm mới quyền truy cập để kết nối lại với tài khoản hiện tại của bạn.", + "sharing.this_file_belongs_to_a_different_or_invalid": "Tệp này thuộc về một máy chủ khác hoặc không hợp lệ. Mở Chia sẻ để kiểm tra nó; thông tin xác thực chưa được gửi.", + "sharing.use_an_invitation_from_the_configured_server": "Sử dụng lời mời từ máy chủ đã định cấu hình.", + "sharing.use_server_version": "Sử dụng phiên bản máy chủ", + "sharing.waiting_for_exclusive_selection": "Đang chờ lựa chọn độc quyền…", + "sharing.waiting_for_server_confirmation": "Đang chờ xác nhận máy chủ", + "sharing.waiting_for_the_server_connection_before_editing_your": "Đang chờ kết nối máy chủ trước khi chỉnh sửa. Quyền chỉnh sửa của bạn không thay đổi.", + "sharing.waiting_for_the_server_to_confirm_the_object": "Đang chờ máy chủ xác nhận khóa lựa chọn của đối tượng.", + "sharing.websocket_connection_timed_out": "WebSocket đã hết thời gian kết nối", + "sharing.websocket_disconnected": "WebSocket đã bị ngắt kết nối", + "sharing.websocket_ticket_request_interrupted": "Yêu cầu vé WebSocket bị gián đoạn", + "sharing.websocket_unavailable": "WebSocket không có sẵn", + "shortcuts.acquire_reference_axes": "Nhận trục tham chiếu", + "shortcuts.axis_lock_hover": "Zkhóa trục + di chuột", + "shortcuts.axis_lock_keys": "→ / ← / ↑", + "shortcuts.c": "{command} + C", + "shortcuts.cancel_current_operation": "Hủy hoạt động hiện tại", + "shortcuts.circle": "Vòng tròn", + "shortcuts.clear_all_axis_locks": "Xóa tất cả các khóa trục", + "shortcuts.close_editing_level": "Đóng mức chỉnh sửa", + "shortcuts.connected_lines": "Đường kết nối", + "shortcuts.copy": "Sao chép", + "shortcuts.ctrl_a": "Ctrl + A", + "shortcuts.ctrl_f": "Ctrl + F", + "shortcuts.ctrl_move_pointer": "Ctrl + di chuyển con trỏ", + "shortcuts.cut": "Cắt", + "shortcuts.delete_backspace": "Xóa / Backspace", + "shortcuts.delete_selection": "Xóa lựa chọn", + "shortcuts.dimensions": "Kích thước", + "shortcuts.divide_a_copy_span": "Chia khoảng sao chép", + "shortcuts.double_click": "Nhấp đúp", + "shortcuts.drawing_measuring": "Vẽ và đo", + "shortcuts.edit_group_or_component": "Chỉnh sửa nhóm hoặc thành phần", + "shortcuts.erase_edges_or_faces": "Xóa các cạnh hoặc mặt", + "shortcuts.escape": "Esc", + "shortcuts.find_a_tool_command_or_gesture": "Tìm công cụ, lệnh hoặc cử chỉ.", + "shortcuts.flip_solid_operations": "Hoạt động lật và rắn", + "shortcuts.freehand": "Tự do", + "shortcuts.hover_geometry": "Htrên hình học", + "shortcuts.keyboard_shortcuts": "Phím tắt", + "shortcuts.lengths_accept_units_and_formulas_1m_20cm_2": "Độ dài chấp nhận đơn vị và công thức: (1m + 20cm) / 2", + "shortcuts.lock_a_plane": "Khóa máy bay", + "shortcuts.lock_shape_plane_normal_x_y_z": "Lock hình mặt phẳng bình thường X / Y / Z", + "shortcuts.lock_x_y_z_axis": "Lock Trục X / Y / Z", + "shortcuts.match_reference_coordinate": "Tọa độ tham chiếu trận đấu", + "shortcuts.middle_drag": "Kéo giữa", + "shortcuts.modeling": "Mô hình hóa", + "shortcuts.move_geometry": "Di chuyển hình học", + "shortcuts.move_pointer": "⌘ + di chuyển con trỏ", + "shortcuts.n": "{command} + N", + "shortcuts.n_enter": "/N + Enter", + "shortcuts.navigation": "Điều hướng", + "shortcuts.new_project": "Dự án mới", + "shortcuts.no_shortcuts_found": "Không tìm thấy phím tắt", + "shortcuts.nx_enter": "Nx + Enter", + "shortcuts.o": "{command} + O", + "shortcuts.object_clipboard_menu": "Menu đối tượng & khay nhớ tạm", + "shortcuts.offset_a_face": "Dịch mặt song song", + "shortcuts.open_project": "Mở dự án", + "shortcuts.orbit": "Xoay quanh", + "shortcuts.orbit_while_drawing": "Quỹ đạo trong khi vẽ", + "shortcuts.paint_faces": "Mặt sơn", + "shortcuts.pan_while_orbiting": "Pan khi quay quanh", + "shortcuts.paste": "Dán", + "shortcuts.paste_in_place": "Dán tại chỗ", + "shortcuts.polygon": "Đa giác", + "shortcuts.precision_inference": "Độ chính xác và suy luận", + "shortcuts.press_a_key": "Nhấn một phím…", + "shortcuts.project_clipboard": "Dự án & clipboard", + "shortcuts.protractor": "Thước đo góc", + "shortcuts.push_pull_a_face": "Đẩy/Kéo mặt", + "shortcuts.push_pull_new_faces": "Chuyển đổi các mặt Đẩy/Kéo mới", + "shortcuts.recorder_accessibility": "Phím tắt {key}. {action}", + "shortcuts.recorder_idle": "Nhấp để thay đổi", + "shortcuts.recorder_listening": "Nhấn một chữ cái hoặc Dấu cách; Hủy bỏ lối thoát", + "shortcuts.recorder_tooltip": "Nhấp vào, sau đó nhấn một chữ cái hoặc Dấu cách. Việc hủy bỏ lối thoát.", + "shortcuts.rectangle": "Hình chữ nhật", + "shortcuts.repeat_copies": "Sao chép lại", + "shortcuts.right_click": "Nhấp chuột phải", + "shortcuts.rotate_geometry": "Xoay hình học", + "shortcuts.s": "{command} + S", + "shortcuts.save_as": "Lưu dưới dạng", + "shortcuts.scale_geometry": "Tỷ lệ hình học", + "shortcuts.scroll": "Cuộn", + "shortcuts.search_outliner": "Tìm trong danh sách đối tượng", + "shortcuts.search_shortcuts": "Phím tắt tìm kiếm…", + "shortcuts.select": "Chọn", + "shortcuts.select_all": "Chọn tất cả", + "shortcuts.selection_objects": "Lựa chọn & đối tượng", + "shortcuts.set_length_or_radius": "Đặt chiều dài hoặc bán kính", + "shortcuts.set_rectangle_size": "Đặt kích thước hình chữ nhật", + "shortcuts.shift_click": "Shift + nhấp chuột", + "shortcuts.shift_drag": "Shift + kéo", + "shortcuts.shift_middle_drag": "Shift + kéo giữa", + "shortcuts.shift_s": "{command} + Shift + S", + "shortcuts.shift_v": "{command} + Shift + V", + "shortcuts.shift_z": "{command} + Shift + Z", + "shortcuts.space": "Phím cách", + "shortcuts.tab": "Tab", + "shortcuts.tape_measure": "Thước dây", + "shortcuts.temporary_orbit": "Quỹ đạo tạm thời", + "shortcuts.temporary_pan": "Chảo tạm thời", + "shortcuts.toggle_move_copy": "Chuyển đổi Di chuyển / Sao chép", + "shortcuts.toggle_selection": "Chuyển đổi lựa chọn", + "shortcuts.toggle_sidebar": "Chuyển đổi thanh bên", + "shortcuts.toggle_two_axis_locks": "Chuyển đổi khóa hai trục", + "shortcuts.try_a_tool_name_like_orbit_or_a": "Thử tên công cụ như “orbit” hoặc phím như “{command}”.", + "shortcuts.union_flyout": "Menu hợp nhất", + "shortcuts.v": "{command} + V", + "shortcuts.value_enter": "Giá trị + Enter", + "shortcuts.width_height_enter": "Chiều rộng,chiều cao + Enter", + "shortcuts.x": "{command} + X", + "shortcuts.z": "{command} + Z", + "shortcuts.zoom_to_pointer": "Thu phóng đến con trỏ", + "sidebar.angle": "Góc", + "sidebar.angle_precision": "Độ chính xác góc", + "sidebar.area": "Diện tích", + "sidebar.area_precision": "Ađộ chính xác diện tích", + "sidebar.automatic_fasteners": "Phụ kiện liên kết tự động", + "sidebar.axes": "Trục", + "sidebar.back_edges": "Cạnh phía sau", + "sidebar.background_fog_color": "Màu nền / sương mù", + "sidebar.changes_to_your_project_will_appear_here_make": "Các thay đổi trong dự án sẽ xuất hiện tại đây. Hãy chỉnh sửa để bắt đầu lịch sử.", + "sidebar.click_to_place_the_component_escape_to_cancel": "Nhấp để đặt thành phần · Escape để hủy", + "sidebar.color_by_tag": "Tô màu theo thẻ", + "sidebar.component_instances": { + "one": "{count} bản thể", + "other": "{count} bản thể" + }, + "sidebar.components": "Thành phần", + "sidebar.current": " · Hiện tại", + "sidebar.darkness": "Độ tối", + "sidebar.depth_cue": "Hiệu ứng chiều sâu", + "sidebar.dimensions": "Kích thước", + "sidebar.direction": "Hướng", + "sidebar.display": "Hiển thị", + "sidebar.display_fog": "Hiển thị sương mù", + "sidebar.display_shadows": "Hiển thị bóng đổ", + "sidebar.edge_style": "Kiểu cạnh", + "sidebar.edges": "Cạnh", + "sidebar.elevation": "Cao độ", + "sidebar.emphasize_group": "Làm nổi bật nhóm đang chỉnh sửa", + "sidebar.emphasize_the_group_component_currently_being_edited_and": "Làm nổi bật nhóm/thành phần đang chỉnh sửa và hiển thị các phần còn lại dưới dạng khung dây mờ. Không có hiệu ứng bên ngoài nhóm/thành phần.", + "sidebar.end": "Kết thúc", + "sidebar.endpoints": "Điểm đầu mút", + "sidebar.environment": "Môi trường", + "sidebar.extensions": "Phần mở rộng", + "sidebar.face_style": "Kiểu mặt", + "sidebar.fog": "Sương mù", + "sidebar.format": "×", + "sidebar.grid": "Lưới", + "sidebar.group_names": "Tên nhóm", + "sidebar.guest": "Khách", + "sidebar.guides": "Đường dẫn", + "sidebar.hidden_geometry": "Hình học bị ẩn", + "sidebar.hidden_objects": "Đối tượng bị ẩn", + "sidebar.history": "Lịch sử", + "sidebar.history_entry": "{}. {label}{suffix}", + "sidebar.history_entry_detail": "{label} · {who}{when}", + "sidebar.hover_to_preview_an_edit_click_to_restore": "Di chuột để xem trước một thao tác chỉnh sửa. Nhấp để khôi phục trạng thái đó.", + "sidebar.length": "Chiều dài", + "sidebar.length_precision": "Độ chính xác chiều dài", + "sidebar.make_component": "Tạo thành phần…", + "sidebar.materials": "Vật liệu", + "sidebar.no_components_yet": "Chưa có thành phần", + "sidebar.no_matching_components": "Không có thành phần phù hợp", + "sidebar.no_modifications_yet": "Chưa có chỉnh sửa nào.", + "sidebar.oldest_retained_state": "Trạng thái cũ nhất còn lưu", + "sidebar.outliner": "Danh sách đối tượng", + "sidebar.place_instance": "Đặt bản thể", + "sidebar.precision_controls_displayed_decimal_places_lengths_entered_without": "Độ chính xác quy định số chữ số thập phân được hiển thị. Chiều dài nhập không kèm đơn vị sẽ dùng đơn vị chiều dài đã chọn.", + "sidebar.profile_width": "Chiều rộng biên dạng", + "sidebar.profiles": "Biên dạng", + "sidebar.properties": "Thuộc tính", + "sidebar.remove_this_grit": "Xóa độ nhám này", + "sidebar.reset_display": "Đặt lại hiển thị", + "sidebar.search_components": "Tìm thành phần", + "sidebar.select_geometry_and_choose_create_component_from_the": "Chọn hình học rồi chọn Tạo thành phần trong menu Chỉnh sửa.", + "sidebar.server_verified_account": "Tài khoản đã được máy chủ xác minh", + "sidebar.shadows": "Bóng đổ", + "sidebar.start": "Bắt đầu", + "sidebar.tags": "Thẻ", + "sidebar.this_component_is_empty": "Thành phần này đang trống", + "sidebar.time_cost_estimates": "Ước tính thời gian và chi phí", + "sidebar.try_another_name_or_clear_the_search_to": "Thử tên khác hoặc xóa nội dung tìm kiếm để xem tất cả thành phần.", + "sidebar.undone": " · Đã hoàn tác", + "sidebar.units": "Đơn vị", + "sidebar.unknown_author": "Tác giả không xác định", + "sidebar.unknown_time": "Thời gian không xác định", + "sidebar.unverified": "Chưa xác minh", + "sidebar.up_to_100_edits_are_saved_with_this": "Tối đa 100 thao tác chỉnh sửa được lưu cùng dự án. Chỉnh sửa trạng thái cũ hơn sẽ thay thế các thao tác phía sau.", + "sidebar.utc": " · {t} UTC", + "sidebar.utc_2": "{} · {} · {} UTC", + "sidebar.view": "Chế độ xem", + "sidebar.volume": "Thể tích", + "sidebar.volume_precision": "Độ chính xác thể tích", + "sidebar.wood_joinery": "Mối nối gỗ", + "sidebar.x_ray": "Tia X", + "solid_tools.choose_first_body_again": "Chọn lại nội dung đầu tiên", + "solid_tools.choose_groups_components_or_connected_bodies_results_are": "Chọn nhóm, thành phần hoặc phần được kết nối. Kết quả là các nhóm có thể chỉnh sửa.", + "solid_tools.click_a_group_component_or_connected_body": "Nhấp vào một nhóm, thành phần hoặc nội dung được kết nối", + "solid_tools.connected_body": "Phần thân được kết nối", + "solid_tools.cutter_selected_click_the_target_solid_to_trim": "Cutter đã chọn · Nhấp vào khối mục tiêu để cắt · Esc để hủy", + "solid_tools.first_body_selected_click_the_second_body_esc": "Nội dung đầu tiên được chọn · Nhấp vào nội dung thứ hai · Esc để hủy", + "solid_tools.first_body_selected_click_the_second_body_or": "Đã chọn khối thứ nhất · Nhấp vào khối thứ hai hoặc nhấn Esc để hủy", + "solid_tools.flip_x": "Lật trục X", + "solid_tools.flip_y": "Lật Y", + "solid_tools.flip_z": "Lật Z", + "solid_tools.intersect_also_keeps_the_portion_of_a_face": "Phép giao cũng giữ lại phần mặt nằm bên trong một khối kín.", + "solid_tools.mirror_around_the_selection_center": "Gương xung quanh trung tâm lựa chọn:", + "solid_tools.the_first_click_chooses_the_cutter_it_stays": "Nhấp lần đầu để chọn dao cắt. Dao cắt vẫn được giữ lại trong mô hình.", + "solid_tools.the_target_was_entirely_removed_by_the_cutter": "Mục tiêu đã được loại bỏ hoàn toàn bởi máy cắt", + "solid_tools.unlock_the_body_before_editing_it": "Mở khóa nội dung trước khi chỉnh sửa", + "solid_tools.use_closed_bodies_with_no_stray_edges_or": "Sử dụng các vật thể khép kín không có cạnh lệch hoặc thiếu mặt.", + "solid_tools.volume": "Khối lượng", + "solid_tools.x_red": "X / đỏ", + "solid_tools.y_green": "Y / xanh", + "solid_tools.z_blue": "Z / xanh", + "startup.benchup_3d_workspace": "BenchUp — Không gian làm việc 3D", + "startup.benchup_could_not_start_its_gpu_renderer_enable": "BenchUp không thể khởi động trình kết xuất GPU của nó. Bật tăng tốc phần cứng hoặc thử trình duyệt có hỗ trợ WebGPU hoặc WebGL2.", + "startup.the_bundled_benchup_icon_must_be_a_valid": "Biểu tượng BenchUp đi kèm phải là PNG", + "stock_settings.add_wood_stock": "+ Thêm kho gỗ", + "stock_settings.assigned_objects": { + "one": "{project}{current} · {count} đối tượng được giao", + "other": "{project}{current} · {count} đối tượng được giao" + }, + "stock_settings.currency": "Tiền tệ", + "stock_settings.current_project": " (dự án hiện tại)", + "stock_settings.e_g_pine_2_4": "e.g. Thông 2 × 4", + "stock_settings.existing_projects_keep_their_material_definitions_and_assignments": "Các dự án hiện tại giữ nguyên các định nghĩa và nhiệm vụ quan trọng của chúng. Họ sẽ không còn nhận được cập nhật danh mục cho tài liệu này nữa.", + "stock_settings.format": "×", + "stock_settings.hardboard": "Ván sợi cứng", + "stock_settings.known_project_associations_on_this_device": "Các liên kết dự án đã biết trên thiết bị này", + "stock_settings.length": "Chiều dài", + "stock_settings.mm": "{} ({} × {} × {} mm)", + "stock_settings.no_known_project_associations": "Không có liên kết dự án nào được biết đến.", + "stock_settings.no_stock_materials_match_your_search": "Không có tài liệu trong kho nào phù hợp với tìm kiếm của bạn.", + "stock_settings.no_wood_stock_yet_add_a_board_or": "Chưa có kho gỗ. Thêm bảng hoặc trang tính, sau đó nhập kích thước và giá của nó.", + "stock_settings.no_wood_types_match_your_search": "Không có loại gỗ nào phù hợp với tìm kiếm của bạn.", + "stock_settings.other": "Khác", + "stock_settings.particleboard": "Bảng hạt", + "stock_settings.per_piece": "{} mỗi mảnh", + "stock_settings.plywood": "Ván ép", + "stock_settings.price_piece": "Giá/cái", + "stock_settings.project_material": "{} (tài liệu dự án)", + "stock_settings.remove": "Xóa {}", + "stock_settings.remove_from_settings_material": "Xóa “{name}” khỏi Cài đặt → Chất liệu?", + "stock_settings.remove_material": "Xóa tài liệu?", + "stock_settings.remove_material_2": "Xóa tài liệu", + "stock_settings.save_the_wood_stock_and_finishing_products_you": "Lưu trữ gỗ và các sản phẩm hoàn thiện mà bạn có thể mua với giá của nhà cung cấp. Sử dụng kích thước thực tế cho bảng hoặc tấm.", + "stock_settings.search_name_or_size": "Tìm kiếm tên hoặc kích thước…", + "stock_settings.search_wood_types": "Tìm kiếm loại gỗ…", + "stock_settings.sizes_in_prices_in_per_piece": "Kích thước tính bằng {} · Giá tính bằng {} mỗi chiếc", + "stock_settings.sizing_units": "Đơn vị định cỡ", + "stock_settings.solid_wood": "Gỗ nguyên khối", + "stock_settings.stock": "Phôi", + "stock_settings.thickness": "Độ dày", + "stock_settings.this_material_may_be_associated_with_objects_in": "Tài liệu này có thể được liên kết với các đối tượng trong các dự án khác.", + "stock_settings.type": "Loại", + "stock_settings.unassigned": "Chưa được chỉ định", + "stock_settings.unspecified": "Không xác định", + "stock_settings.usage_is_based_on_projects_opened_on_this": "Usage dựa trên các dự án được mở trên thiết bị này và có thể đã lỗi thời. Các dự án chưa mở cũng có thể tham khảo tài liệu này.", + "stock_settings.used_for_all_prices_and_cost_estimates_in": "Được sử dụng cho tất cả giá và ước tính chi phí trong ứng dụng. Việc thay đổi đơn vị tiền tệ không chuyển đổi giá đã nhập.", + "stock_settings.veneer": "Ván lạng", + "stock_settings.width": "Chiều rộng", + "stock_settings.wood": "Gỗ", + "stock_settings.wood_stock": "Cổ phiếu gỗ", + "storage.cannot_locate_the_application_data_directory": "Không thể định vị thư mục dữ liệu ứng dụng", + "storage.cannot_read_local_storage": "Không thể đọc bộ nhớ cục bộ", + "storage.invalid_storage_path": "Đường dẫn lưu trữ không hợp lệ", + "storage.local_storage_is_blocked": "Bộ nhớ cục bộ bị chặn", + "storage.local_storage_is_blocked_or_full": "Bộ nhớ cục bộ bị chặn hoặc đầy", + "storage.local_storage_is_unavailable": "Bộ nhớ cục bộ không khả dụng", + "storage.no_browser_window": "Không có cửa sổ trình duyệt", + "system_info.available_logical_cpus": "Các CPU logic hiện có: {threads}", + "system_info.copied": "Đã sao chép", + "system_info.copy_to_clipboard": "Sao chép vào khay nhớ tạm", + "system_info.dark": "Tối", + "system_info.debug": "Gỡ lỗi", + "system_info.describe_your_feature_suggestion_or_bug_here_system": "Mô tả đề xuất tính năng hoặc lỗi của bạn tại đây.\n\n---\n\n## Thông tin hệ thống\n\n{fence}văn bản\n{report}\n{fence}\n", + "system_info.graphics_adapter_information_unavailable": "Thông tin bộ điều hợp đồ họa: không có sẵn\n", + "system_info.include_these_details_when_reporting_a_bug": "Bao gồm các chi tiết này khi báo cáo lỗi.", + "system_info.benchup_build": "BenchUp {}\nBản dựng: {}\n", + "system_info.light": "Sáng", + "system_info.os_version": "OS: {}", + "system_info.platform": "Nền tảng: {:?}", + "system_info.release": "Phát hành", + "system_info.renderer_wgpu_graphics_backend_gpu_gpu_type_gpu": "Trình kết xuất: wgpu\nPhần phụ trợ đồ họa: {:?}\nGPU: {}\nLoại GPU: {:?}\nNhà cung cấp/thiết bị GPU: {:04x}/{:04x}\nNgười lái xe: {}\nChi tiết về trình điều khiển: {}\nĐịnh dạng bề mặt: {:?}", + "system_info.runtime_browser_webassembly_browser_os": "Runtime: Trình duyệt (WebAssembly)\nTrình duyệt/HĐH: {}", + "system_info.runtime_desktop_os_architecture": "Runtime: Máy tính để bàn\nHệ điều hành: {}\nKiến trúc: {}", + "system_info.system_information": "Thông tin hệ thống", + "system_info.window_pixels_ui_scale_pixels_point_ui_zoom": "Cửa sổ: {:.0} × {:.0} pixel\nTỷ lệ giao diện người dùng: {scale:.2} pixel/điểm\nThu phóng giao diện người dùng: {:.0}%\nChủ đề: {}", + "tag_menu.add_tag": "Thêm thẻ", + "tag_menu.assign": "Chỉ định: {}", + "tag_menu.assign_tag": "Thẻ gán", + "tag_menu.assign_this_tag_to_the_selection_untick_to": "Gán thẻ này cho vùng chọn; bỏ chọn để xóa nó", + "tag_menu.cancel_renaming": "Hủy đổi tên", + "tag_menu.click_to_edit_the_tag_color": "Nhấp để chỉnh sửa màu thẻ", + "tag_menu.close_color_editor": "Đóng trình chỉnh sửa màu", + "tag_menu.color": "Màu: {}", + "tag_menu.color_2": "Màu · {}", + "tag_menu.create_a_tag_above_to_organize_objects_and": "Tạo thẻ ở trên để sắp xếp các đối tượng và kiểm soát khả năng hiển thị của chúng.", + "tag_menu.delete": "Xóa: {}", + "tag_menu.delete_tag": "Xóa thẻ", + "tag_menu.delete_tag_its_entities_become_untagged": "Xóa thẻ; các thực thể của nó trở thành Untagged", + "tag_menu.edit_tags": "Chỉnh sửa thẻ", + "tag_menu.format": "×", + "tag_menu.hide": "Hẩn", + "tag_menu.hide_tag": "Ẩn thẻ", + "tag_menu.new_tag_name": "Tên thẻ mới", + "tag_menu.no_tags_yet": "Chưa có thẻ", + "tag_menu.rename": "Đổi tên: {}", + "tag_menu.rename_tag": "Đổi tên thẻ", + "tag_menu.save_name": "Lưu tên", + "tag_menu.show": "Hiện", + "tag_menu.show_tag": "Hiển thị thẻ", + "tag_menu.tag": "{}: {}", + "tag_menu.tag_color": "Màu thẻ", + "tag_menu.unassign_tag": "Bỏ gán thẻ", + "text_tools.add_a_label_to_your_model": "Thêm nhãn vào mô hình của bạn.", + "text_tools.add_text": "Thêm văn bản", + "text_tools.attach_text": "Đính kèm văn bản", + "text_tools.click_a_visible_edge_face_group_or_component": "Nhấp vào cạnh, mặt, nhóm hoặc thành phần hiển thị để đính kèm văn bản", + "text_tools.edit_text": "Chỉnh sửa văn bản", + "text_tools.edit_text_2": "Chỉnh sửa văn bản", + "text_tools.edit_text_3": "Chỉnh sửa văn bản…", + "text_tools.enter_label_text": "Nhập văn bản nhãn", + "text_tools.enter_to_save_shift_enter_for_a_new": "Enter để lưu · Shift+Enter để có dòng mới · Esc để hủy", + "text_tools.text": "Văn bản", + "time_estimates.add_finishing_products_in_settings_material": "Thêm sản phẩm hoàn thiện trong Cài đặt → Chất liệu.", + "time_estimates.add_grit": "Thêm độ nhám", + "time_estimates.allowances_cover_layout_cutting_and_fitting_both_parts": "Các khoản phụ cấp bao gồm việc bố trí, cắt và lắp cả hai phần của mỗi mối nối. Mặc định giả định cửa hàng dụng cụ điện và đồ gá lắp. Thời gian thực tế thay đổi tùy theo công cụ và quy trình làm việc.", + "time_estimates.amount": "A ({currency})", + "time_estimates.apply_materials_to_children": "Áp dụng tài liệu cho trẻ", + "time_estimates.apply_to_all_children": "Áp dụng cho tất cả trẻ em", + "time_estimates.assigned_items_omitted": { + "one": "{count}: không có độ dày sử dụng được.", + "other": "{count}: không có độ dày sử dụng được." + }, + "time_estimates.between_coats": "Giữa các lớp", + "time_estimates.between_coats_applies_to_varnish_only_enable_varnish": "Giữa các lớp chỉ áp dụng cho sơn bóng. Kích hoạt sơn bóng với ít nhất 2 lớp.", + "time_estimates.between_varnish_coats_sand_after_each_coat_except": "Giữa các lớp sơn bóng: chà nhám sau mỗi lớp sơn trừ lớp cuối cùng, thay vì trước khi hoàn thiện.", + "time_estimates.change_sanding_and_finishing": "Thay đổi chà nhám và hoàn thiện", + "time_estimates.choose_a_product_for_each_enabled_finishing_step": "Chọn một sản phẩm cho mỗi bước hoàn thiện được kích hoạt.", + "time_estimates.choose_sanding_grits_or_finishes_for_objects_in": "Chọn hạt chà nhám hoặc lớp hoàn thiện cho các vật thể trong Vật liệu.", + "time_estimates.coats": "Áo khoác", + "time_estimates.container": "\nThùng chứa: {} {}", + "time_estimates.container_count": "{value:.0}", + "time_estimates.containers": { + "one": "{count:.0}", + "other": "{count:.0}" + }, + "time_estimates.copy_each_selected_object_s_stock_material_sanding": "Sao chép các cài đặt vật liệu gốc, chà nhám và hoàn thiện của từng đối tượng đã chọn sang tất cả các nhóm và thành phần con cháu. Các đối tượng được chọn lồng nhau sẽ giữ cài đặt riêng của chúng.", + "time_estimates.cost_estimate": "Dự toán chi phí", + "time_estimates.cost_exceeds_estimate_range": "Chi phí vượt quá phạm vi ước tính.", + "time_estimates.count": "Số lượng", + "time_estimates.counts_all_configured_wood_joints_regardless_of_selection": "Đếm tất cả các mối nối gỗ đã được định cấu hình, bất kể bối cảnh lựa chọn, khả năng hiển thị hoặc chỉnh sửa.", + "time_estimates.coverage_m2_per_container_per_coat": "; độ che phủ {coverage} m2 mỗi container mỗi lớp", + "time_estimates.coverage_missing_set_m2_per_container_per_coat": "Thiếu độ che phủ: đặt mét vuông mỗi thùng cho mỗi lớp trong Cài đặt → Chất liệu.", + "time_estimates.cuts_excluded_label": { + "one": "{count} cắt không vừa · Không bao gồm trong chi phí", + "other": "{count} không vừa · Không bao gồm trong chi phí" + }, + "time_estimates.cuts_excluded_note": { + "one": "\n{count} cắt không vừa - Không bao gồm trong chi phí.", + "other": "\n{count} không vừa - Không bao gồm trong chi phí." + }, + "time_estimates.default_allowance_is_minutes_per_joint": "Cho phép mặc định là {} phút cho mỗi khớp.", + "time_estimates.different_wait_after_final_coat": "Dkhác nhau chờ đợi sau lớp sơn cuối cùng", + "time_estimates.draw_or_import_parts_to_estimate_time_and": "Vẽ hoặc nhập các bộ phận để ước tính thời gian và chi phí.", + "time_estimates.drying_waiting": "Sấy/Đợi", + "time_estimates.enter_any_positive_grit_number_including_values_above": "Nhập bất kỳ số grit dương nào, bao gồm các giá trị trên 320", + "time_estimates.estimate": "Ước tính", + "time_estimates.estimate_incomplete": "Ước tính chưa hoàn thành", + "time_estimates.estimate_incomplete_items_omitted": { + "one": "Ước tính chưa đầy đủ: {count} hạng mục được chỉ định bị bỏ qua: không có độ dày sử dụng được.", + "other": "Ước tính chưa hoàn thành: {count} đã bỏ qua các mục được chỉ định: không có độ dày sử dụng được." + }, + "time_estimates.estimate_incomplete_the_priced_subtotal_excludes_items_with": "Ước tính chưa đầy đủ: tổng phụ được định giá không bao gồm các mặt hàng thiếu giá/phạm vi áp dụng và các khoản cắt giảm không phù hợp. Xem lại tất cả các cảnh báo về mặt hàng.", + "time_estimates.exceeds_estimate_range": "Vượt quá phạm vi ước tính", + "time_estimates.final_wait": "Đợi lần cuối", + "time_estimates.finishes_whole_containers_needs_combined_across_objects_and": "Vật liệu hoàn thiện: tính theo thùng nguyên · Cần cộng gộp giữa các đối tượng và lớp trước khi làm tròn.", + "time_estimates.finishes_whole_containers_purchased_surface_area_and_coats": "Vật liệu hoàn thiện: tính theo số thùng nguyên đã mua. Diện tích bề mặt và số lớp được cộng gộp giữa các đối tượng và công đoạn cho từng sản phẩm trước khi làm tròn. Độ phủ tính theo mỗi thùng cho một lớp. Giá chưa bao gồm nhân công.", + "time_estimates.finishing": "Hoàn thiện", + "time_estimates.finishing_applies_only_to_objects_assigned_a_material": "Hoàn thiện chỉ áp dụng cho các đối tượng được gán vật liệu từ Cài đặt → Vật liệu → Gỗ.", + "time_estimates.grit_2": "{grit} nhám", + "time_estimates.grit_3": "Độ nhám", + "time_estimates.h_min": "{} h {} phút", + "time_estimates.hands_on": "Thực hành", + "time_estimates.hands_on_work": "Công việc thực tế", + "time_estimates.include_in_estimate": "Bao gồm trong ước tính", + "time_estimates.includes_final_drying_objects_dry_together_between_steps": "Bao gồm sấy khô lần cuối · Các đồ vật được sấy khô cùng nhau giữa các bước", + "time_estimates.item": "Hạng mục", + "time_estimates.joinery_whole_project": "Joinery · Toàn bộ dự án", + "time_estimates.joinery_whole_project_2": "Đồ mộc (toàn bộ dự án)", + "time_estimates.joinery_whole_project_3": "Joinery (toàn bộ dự án). {JOINERY_SCOPE} {JOINERY_ALLOWANCE_NOTE}", + "time_estimates.joint": "Mối nối", + "time_estimates.kerf_rotation": "Kerf {} · Xoay {}", + "time_estimates.kerf_rotation_stock_uses_each_part_s_full": "Kerf {} - Xoay {}. Stock sử dụng hộp giới hạn đầy đủ của từng bộ phận, bao gồm cả việc cắt lãng phí; các rãnh và vết cắt không làm giảm khoảng trống.", + "time_estimates.materials_all_visible_parts": "M vật liệu · Tất cả các bộ phận có thể nhìn thấy", + "time_estimates.materials_selected_parts": "Vật liệu · Các bộ phận được chọn", + "time_estimates.min_joint": "Min / khớp", + "time_estimates.minutes_m2": "Phút / m²", + "time_estimates.mixed_sanding_and_finishing_settings_changes_apply_to": "Cài đặt chà nhám và hoàn thiện hỗn hợp. Các thay đổi áp dụng cho các đối tượng gỗ đã chọn, bao gồm cả các đối tượng gỗ lồng nhau.", + "time_estimates.no_estimates_yet": "Chưa có ước tính", + "time_estimates.no_finishing_tasks": "Không có nhiệm vụ hoàn thiện", + "time_estimates.no_stock_estimate_yet": "Chưa ước tính lượng hàng tồn kho", + "time_estimates.no_stock_estimate_yet_assign_stock_materials_to": "Chưa có ước tính hàng tồn kho: {message}. Chỉ định vật liệu tồn kho cho các bộ phận rắn và định cấu hình kích thước/giá tồn kho trong Cài đặt > Vật liệu.", + "time_estimates.no_surfaces_to_estimate": "Không có bề mặt nào để ước tính", + "time_estimates.no_treatment_tasks_enabled_choose_sanding_grits_or": "Không có tác vụ xử lý nào được bật. Chọn hạt chà nhám hoặc lớp hoàn thiện cho các vật thể trong Vật liệu.", + "time_estimates.no_visible_surfaces_with_assigned_wood_materials": "Không nhìn thấy bề mặt với vật liệu gỗ được chỉ định.", + "time_estimates.no_visible_surfaces_with_assigned_wood_materials_in": "Không có bề mặt nào có thể nhìn thấy được với vật liệu gỗ được chỉ định trong phạm vi hiện tại.", + "time_estimates.objects": { + "one": "{title} (đối tượng {count})", + "other": "{title} (đối tượng {count})" + }, + "time_estimates.partial": " (một phần)", + "time_estimates.partial_2": "{} {} (một phần)", + "time_estimates.pre_stain": "Vết bẩn trước", + "time_estimates.price": "Giá", + "time_estimates.price_missing_set_the_price_per_container_in": "Thiếu giá: đặt giá cho mỗi container trong Cài đặt → Chất liệu.", + "time_estimates.price_unavailable": "Không có giá", + "time_estimates.price_unavailable_add_a_price_in_settings_material": "\nKhông có giá. Thêm giá trong Cài đặt > Chất liệu.", + "time_estimates.product": "Sản phẩm", + "time_estimates.product_issue": "\n{issue}", + "time_estimates.quantity": "Số lượng", + "time_estimates.restore_sanding_and_finishing_defaults_from_settings_for": "Khôi phục mặc định chà nhám và hoàn thiện từ Cài đặt cho các đối tượng gỗ đã chọn.", + "time_estimates.revert_to_defaults": "Hoàn nguyên về mặc định", + "time_estimates.rotation_off": "tắt", + "time_estimates.rotation_on": "bật", + "time_estimates.router_allowance": "Hỗ trợ lập kế hoạch: thiết lập một lần cho mỗi hồ sơ, cộng với công việc trên mỗi mét. Điều chỉnh vật liệu, độ sâu và nhiều đường chuyền.", + "time_estimates.router_empty": "Áp dụng cấu hình định tuyến cho một cạnh để ước tính hoạt động của bộ định tuyến.", + "time_estimates.router_rate": "Công việc (phút/m)", + "time_estimates.router_report_note": "Router (toàn bộ dự án): Thiết lập tối thiểu {setup} cho mỗi cấu hình + {rate} tối thiểu/m. Đếm các đường dẫn đã lưu bất kể lựa chọn hay khả năng hiển thị; điều chỉnh vật liệu, độ sâu và đường chuyền.", + "time_estimates.router_scope": "Đếm các đường dẫn định tuyến đã lưu trong suốt dự án, bất kể lựa chọn hay khả năng hiển thị.", + "time_estimates.router_setup": "Thiết lập cho mỗi cấu hình (phút)", + "time_estimates.router_task": "Bộ định tuyến (toàn bộ dự án)", + "time_estimates.router_whole_project": "Router · Toàn bộ dự án", + "time_estimates.sanding": "Chà nhám", + "time_estimates.select_faces_or_groups_with_assigned_wood_materials": "Chọn các mặt hoặc nhóm bằng vật liệu gỗ được chỉ định.", + "time_estimates.selected": "Đã chọn", + "time_estimates.selected_wood_surfaces": "Bề mặt gỗ chọn lọc", + "time_estimates.sequential_total": "Tổng tuần tự", + "time_estimates.soak_per_coat": "Ngâm mỗi lớp", + "time_estimates.some_cuts_need_larger_stock_their_cost_is": "Một số vết cắt cần lượng nguyên liệu lớn hơn. Chi phí của họ được loại trừ.", + "time_estimates.stain": "Vết bẩn", + "time_estimates.stock_pieces_without_price": { + "one": "{count} không có giá. Thêm giá trong Cài đặt → Material.", + "other": "{count} không có giá. Thêm giá trong Cài đặt → Material." + }, + "time_estimates.task": "Công việc", + "time_estimates.the_selected_product_is_no_longer_in_settings": "Sản phẩm đã chọn không còn trong Cài đặt → Chất liệu. Chọn một sự thay thế hoặc xóa nó.", + "time_estimates.time_includes_whole_project_joinery_sanding_finishing_and": "Thời gian bao gồm toàn bộ dự án mộc và định tuyến, chà nhám, hoàn thiện và sấy khô lần cuối.", + "time_estimates.total": "Tổng cộng", + "time_estimates.unassigned_finishing_product": "Sản phẩm hoàn thiện chưa được chỉ định", + "time_estimates.unavailable": "Không có sẵn", + "time_estimates.unavailable_finishing_product": "Sản phẩm hoàn thiện không có sẵn", + "time_estimates.unit_price": "Đơn vị giá ({currency})", + "time_estimates.unknown": "Không xác định", + "time_estimates.unresolved_finishing_products": "Sản phẩm hoàn thiện chưa được giải quyết", + "time_estimates.uses_each_part_s_full_bounding_box_with": "Sử dụng hộp giới hạn đầy đủ của từng bộ phận với cùng cách đóng gói và cài đặt kho như Chuẩn bị kế hoạch cắt. Các vết khía và vết cắt không làm giảm khoảng trống cần thiết. Giá bao gồm cả vật liệu đã mua, bao gồm cả việc cắt giảm chất thải. Lao động không được bao gồm. Sản phẩm hoàn thiện được ước tính riêng biệt với diện tích bề mặt, lớp phủ và độ che phủ của thùng chứa.", + "time_estimates.value": "Giá trị", + "time_estimates.varnish": "Vecni", + "time_estimates.visible": "Có thể nhìn thấy", + "time_estimates.visible_wood_surfaces": "Bề mặt gỗ nhìn thấy được", + "time_estimates.wait_per_coat": "Đợi mỗi lớp", + "time_estimates.wood_stock": "Cổ phiếu gỗ", + "time_estimates.wood_surfaces_finishing_applies_only_to_objects_assigned": "{} - {} bề mặt gỗ. Hoàn thiện chỉ áp dụng cho các đối tượng được gán vật liệu từ Cài đặt > Chất liệu > Gỗ.", + "tools.arc": "Cung tròn", + "tools.arc_instructions": "Nhấp chọn hai đầu mút, sau đó chọn một điểm trên cung · Phím mũi tên khóa mặt phẳng vẽ", + "tools.choose_a_color_and_face_or_group_in": "Chọn màu và Mặt hoặc Nhóm trong bảng thuộc tính · Nhấp vào mặt để tô màu", + "tools.circle": "Đường tròn", + "tools.click_a_center_a_baseline_then_an_angle": "Nhấp chọn tâm, đường chuẩn rồi góc · Ctrl/Command chuyển đổi giữa Tạo đường dẫn và Đo", + "tools.click_a_face_move_along_its_normal_arrow": "Nhấp vào mặt · Di chuyển theo pháp tuyến · Ctrl bật/tắt mặt mới · Phím mũi tên khóa trục · Nhấp hoặc nhập khoảng cách rồi nhấn Enter", + "tools.click_a_face_near_its_boundary_move_inward": "Nhấp vào mặt gần đường biên · Di chuyển vào trong hoặc ra ngoài · Nhập khoảng cách rồi nhấn Enter", + "tools.click_a_reference_edge_or_point_ctrl_command": "Nhấp vào cạnh hoặc điểm tham chiếu · Ctrl/Command chuyển đổi giữa Tạo đường dẫn và Đo · Esc để xóa", + "tools.click_an_edge_or_face_drag_to_box": "Nhấp vào cạnh hoặc mặt · Nhấp đúp vào mặt để chọn các cạnh · Nhấp ba lần để chọn hình học liên kết · Kéo để chọn bằng khung · Shift để đổi vùng chọn", + "tools.click_an_object_then_click_to_place_its": "Nhấp vào đối tượng rồi nhấp để đặt nhãn văn bản · Esc để hủy", + "tools.click_groups_components_or_faces_to_keep_their": "Nhấp vào nhóm, thành phần hoặc mặt để giữ phần giao nhau của chúng", + "tools.click_or_drag_across_edges_or_faces_to": "Nhấp hoặc kéo qua cạnh hay mặt để tẩy · Ctrl/⌘ Z để hoàn tác", + "tools.click_the_center_then_a_point_on_the": "Nhấp chọn tâm rồi một điểm trên đường tròn · Phím mũi tên khóa mặt phẳng vẽ", + "tools.click_the_center_then_a_vertex_arrow_keys": "Nhấp chọn tâm rồi một đỉnh · Phím mũi tên khóa mặt phẳng vẽ", + "tools.click_the_cutter_first_then_the_solid_to": "Nhấp chọn dao cắt trước rồi khối đặc cần cắt xén · Dao cắt vẫn được giữ lại", + "tools.click_to_start_a_line_arrow_keys_lock": "Nhấp để bắt đầu vẽ đường thẳng · Phím mũi tên khóa trục · Nhập chiều dài để tăng độ chính xác", + "tools.click_two_closed_solids_to_combine_their_outer": "Nhấp chọn hai khối đặc kín để kết hợp các bề mặt bên ngoài", + "tools.click_two_closed_solids_to_combine_their_volumes": "Nhấp chọn hai khối đặc kín để kết hợp thể tích của chúng", + "tools.click_two_closed_solids_to_keep_the_overlap": "Nhấp chọn hai khối đặc kín để giữ phần giao nhau và các phần còn lại riêng biệt", + "tools.click_two_endpoints_then_click_to_place_the": "Nhấp chọn hai đầu mút rồi nhấp để đặt kích thước · Esc để hủy", + "tools.click_two_opposite_corners_arrow_keys_lock_the": "Nhấp chọn hai góc đối diện · Phím mũi tên khóa mặt phẳng vẽ", + "tools.combine": "Kết hợp", + "tools.dimensions": "Kích thước", + "tools.drag_to_draw_release_to_finish_arrow_keys": "Kéo để vẽ · Thả chuột để hoàn tất · Phím mũi tên khóa mặt phẳng vẽ", + "tools.drag_to_orbit_hold_shift_to_pan_scroll": "Kéo để xoay quanh · Giữ Shift để dịch chuyển · Cuộn để thu phóng", + "tools.erase": "Tẩy", + "tools.flip": "Lật", + "tools.freehand": "Vẽ tự do", + "tools.grain_direction": "Hướng vân gỗ", + "tools.place_the_grain_anchor": "Nhấp vào chi tiết, cạnh hoặc mặt để đặt điểm neo hướng vân gỗ.", + "tools.intersect": "Giao nhau", + "tools.line": "Đường thẳng", + "tools.move": "Di chuyển", + "tools.offset": "Dịch song song", + "tools.orbit": "Xoay quanh", + "tools.paint": "Tô màu", + "tools.polygon": "Đa giác", + "tools.protractor": "Thước đo góc", + "tools.push_pull": "Đẩy/Kéo", + "tools.rectangle": "Hình chữ nhật", + "tools.rotate": "Xoay", + "tools.scale": "Tỷ lệ", + "tools.select": "Chọn", + "tools.select_geometry_choose_a_red_green_or_blue": "Chọn hình học · Chọn mặt phẳng lật màu đỏ, xanh lá hoặc xanh dương · Phím mũi tên chọn X / Y / Z", + "tools.select_geometry_click_a_base_point_and_destination": "Chọn hình học · Nhấp chọn điểm gốc và điểm đích · Phím mũi tên khóa trục", + "tools.select_geometry_click_a_pivot_reference_point_then": "Chọn hình học · Nhấp chọn tâm xoay, điểm tham chiếu rồi góc · Phím mũi tên khóa mặt phẳng xoay", + "tools.select_geometry_click_a_reference_point_move_or": "Chọn hình học · Nhấp chọn điểm tham chiếu · Di chuyển hoặc nhập hệ số tỷ lệ rồi nhấn Enter", + "tools.split": "Chia tách", + "tools.tape_measure": "Thước đo", + "tools.text": "Văn bản", + "tools.trim": "Cắt xén", + "tools.union": "Hợp nhất", + "updates.automatic_updates_are_available_in_the_packaged_desktop": "Các bản cập nhật tự động có sẵn trong ứng dụng dành cho máy tính để bàn đóng gói. Tải xuống từ GitHub Releases.", + "updates.checking_for_updates": "Đang kiểm tra cập nhật…", + "updates.could_not_read_update_preferences": "Không thể đọc tùy chọn cập nhật: {error}", + "updates.could_not_save_update_preferences": "Không thể lưu tùy chọn cập nhật: {error}", + "updates.could_not_update_benchup": "Không thể cập nhật BenchUp: {error}", + "updates.downloading_benchup_you_can_keep_working": "Đang tải xuống BenchUp {version}… Bạn có thể tiếp tục làm việc.", + "updates.benchup_is_ready_it_will_install_on_your": "BenchUp {} đã sẵn sàng. Nó sẽ cài đặt vào lần khởi chạy tiếp theo của bạn hoặc bạn có thể khởi động lại ngay bây giờ.", + "updates.benchup_is_up_to_date": "BenchUp được cập nhật.", + "updates.no_downloaded_update_is_ready": "Không có bản cập nhật nào được tải xuống sẵn sàng.", + "updates.no_updates_have_been_published_for_this_platform": "Chưa có bản cập nhật nào được xuất bản cho nền tảng này.", + "updates.ready_to_check_for_updates": "Sẵn sàng kiểm tra các bản cập nhật.", + "updates.the_update_check_did_not_complete_please_try": "Việc kiểm tra cập nhật chưa hoàn tất. Vui lòng thử lại.", + "view_controls.camera": "Máy ảnh", + "view_controls.choose_color": "Chọn màu", + "view_controls.choose_how_to_paint_and_a_paint_color": "Chọn cách tô và màu cần dùng", + "view_controls.color": "Màu", + "view_controls.configure_section_planes_cuts_fill_and_axis_positions": "Cấu hình mặt phẳng mặt cắt, đường cắt, phần tô và vị trí trục", + "view_controls.degree_symbol": "°", + "view_controls.face": "Mặt", + "view_controls.field_of_view": "Trường nhìn", + "view_controls.fit_model": "Vừa khung mô hình", + "view_controls.fit_selection": "Vừa khung vùng chọn", + "view_controls.group": "Nhóm", + "view_controls.keeps_geometry_on_the_negative_side_of_this": "Giữ hình học ở phía âm của trục này.", + "view_controls.orthographic_projection_parallel_lines_stay_parallel": "Phép chiếu trực giao: các đường song song vẫn song song", + "view_controls.paint_by": "Tô màu theo", + "view_controls.parallel": "Song song", + "view_controls.perspective": "Phối cảnh", + "view_controls.preset_colors": "Màu đặt sẵn", + "view_controls.projection": "Phép chiếu", + "view_controls.reset_camera": "Đặt lại máy ảnh", + "view_controls.section_cuts": "Đường cắt mặt cắt", + "view_controls.section_fill": "Phần tô mặt cắt", + "view_controls.sections": "Mặt cắt", + "view_controls.standard_views": "Góc nhìn tiêu chuẩn", + "view_controls.view": "Góc nhìn {}", + "view_controls.x_vertical": "X · dọc", + "view_controls.y_vertical": "Y · dọc", + "view_controls.z_horizontal": "Z · ngang", + "viewports.a_compatible_gpu_renderer_is_required_try_updating": "A. Hãy thử cập nhật trình điều khiển đồ họa của bạn.", + "viewports.create_viewport": "Tạo khung nhìn", + "viewports.current": "Hiện tại", + "viewports.drag_to_a_viewport_edge_to_split_or": "Dkéo đến cạnh khung nhìn để phân chia hoặc vào giữa khung nhìn để nối các tab. Nhấp chuột phải để đổi tên hoặc đóng.", + "viewports.rename": "Đổi tên…", + "viewports.rename_view": "Đổi tên chế độ xem", + "viewports.view": "Xem {id}", + "web.canvas_label": "BenchUp không gian làm việc mô hình hóa", + "web.initial_title": "Mẫu không có tiêu đề - BenchUp", + "web.loading.01": "Dành chỗ cho ý tưởng lớn tiếp theo của bạn…", + "web.loading.02": "Định hình ý tưởng của bạn với BenchUp…", + "web.loading.03": "A một chút cảm hứng…", + "web.loading.04": "Khởi động góc sáng tạo của bạn…", + "web.loading.05": "Những điều tốt đẹp đang hình thành…", + "web.loading.06": "Đổi mới mọi thứ…", + "web.loading.07": "Trí tưởng tượng của bạn được chào đón ở đây…", + "web.loading.08": "Phác thảo một chút, mơ mộng nhiều…", + "web.loading.09": "Tung ra lưới chào mừng…", + "web.loading.10": "Thêm một chút khả năng…", + "web.loading.11": "Kéo một chiếc ghế và một tấm bạt mới lên…", + "web.loading.12": "Gần như húng tây để tạo…", + "image_tools.add_reference_image": "Thêm hình ảnh tham khảo", + "image_tools.brightness": "Độ sáng", + "image_tools.choose_an_image_smaller_than_32_mb": "Chọn hình ảnh nhỏ hơn 32 MB.", + "image_tools.choose_reference_image": "Chọn hình ảnh tham khảo", + "image_tools.contrast": "Độ tương phản", + "image_tools.could_not_open_image": "Không thể mở hình ảnh: {e}", + "image_tools.draw_two_opposite_corners_then_choose_a_png_jpeg_or_webp_image_images_are_embedded_in_the_project": "Vẽ hai góc đối diện, sau đó chọn ảnh PNG, JPEG hoặc WebP. Hình ảnh được nhúng trong dự án.", + "image_tools.edit_reference_image": "Chỉnh sửa hình ảnh tham khảo", + "image_tools.finish_or_cancel_the_current_image_picker_first": "Hãy hoàn thành hoặc hủy bộ chọn hình ảnh hiện tại trước.", + "image_tools.flip_horizontal": "Lật ngang", + "image_tools.flip_vertical": "Lật dọc", + "image_tools.grayscale": "Thang xám", + "image_tools.image": "Hình ảnh", + "image_tools.image_defaults": "Mặc định hình ảnh", + "image_tools.image_import_cancelled_because_the_project_or_editing_context_changed": " bị hủy do bối cảnh dự án hoặc chỉnh sửa đã thay đổi.", + "image_tools.image_tool": "Công cụ hình ảnh", + "image_tools.images_png_jpeg_webp": "Hình ảnh (PNG, JPEG, WebP)", + "image_tools.opacity": "Độ mờ", + "image_tools.reference_image": "Hình ảnh tham khảo", + "image_tools.replace_reference_image": "Thay thế hình ảnh tham chiếu", + "image_tools.rotation": "Góc xoay", + "image_tools.the_decoded_image_is_too_large_choose_a_smaller_image": "Hình ảnh được giải mã quá lớn. Chọn hình ảnh nhỏ hơn.", + "image_tools.the_image_picker_could_not_finish": "Bộ chọn hình ảnh không thể hoàn tất.", + "image_tools.unlock_the_image_before_replacing_it": "Mở khóa hình ảnh trước khi thay thế.", + "image_tools.unlock_the_image_to_edit_its_properties": "Mở khóa hình ảnh để chỉnh sửa thuộc tính của nó.", + "image_tools.zoom": "Thu phóng", + "settings.3d_mouse": "Chuột 3D", + "settings.adjust_navigation_sensitivity_for_the_selected_device": "Điều chỉnh độ nhạy điều hướng cho thiết bị đã chọn.", + "settings.body_depth_length": "Độ sâu cơ thể (chiều dài)", + "settings.body_width": "Chiều rộng cơ thể", + "settings.connect_3d_mouse": "Kết nối chuột 3D", + "settings.connected": "Đã kết nối: {device}", + "settings.disabled": "Đã tắt", + "settings.enable_3d_mouse": "Bật chuột 3D", + "settings.eye_height": "Chiều cao mắt", + "settings.eye_height_is_measured_above_the_floor_body_width_and_depth_determine_obstacle_clearance_allow_12_cm_above_the_eyes_for_the_head": "Chiều cao mắt được tính từ sàn. Chiều rộng và độ sâu cơ thể quyết định khoảng hở khi tránh vật cản; chừa thêm 12 cm phía trên mắt cho phần đầu.", + "settings.invert_pan": "Đảo chiều dịch chuyển", + "settings.invert_tilt_and_twist": "Đảo chiều nghiêng và xoay", + "settings.invert_zoom": "Đảo chiều thu phóng", + "settings.language_simplified_chinese": "Tiếng Trung giản thể", + "settings.language_brazilian_portuguese": "Tiếng Bồ Đào Nha (Brazil)", + "settings.language_vietnamese": "Tiếng Việt", + "settings.look_sensitivity": "Độ nhạy nhìn", + "settings.mouse_trackpad": "Chuột/Bàn di chuột", + "settings.navigation_type": "Kiểu điều hướng", + "settings.middle_mouse_drag": "Kéo bằng nút chuột giữa", + "settings.orbit_shift_to_pan": "Xoay quanh (giữ Shift để dịch chuyển)", + "settings.pan_shift_to_orbit": "Dịch chuyển (giữ Shift để xoay quanh)", + "settings.no_device_detected": "Không phát hiện thiết bị", + "settings.scales_mouse_look_while_walking_100_matches_orbit_sensitivity": "Điều chỉnh độ nhạy nhìn bằng chuột khi đi bộ. 100% bằng độ nhạy xoay quanh.", + "settings.tilt_or_twist_the_cap_to_orbit_slide_it_to_pan_and_push_or_pull_it_to_zoom_the_fit_button_frames_the_model": "Nghiêng hoặc xoay núm để xoay quanh, trượt để dịch chuyển, đẩy hoặc kéo để thu phóng. Nút Vừa khung sẽ căn mô hình vào khung nhìn.", + "settings.walking_person": "Người đi bộ", + "settings.walking_speed": "Tốc độ đi bộ", + "settings.wasd_arrows_walk_shift_crouch_space_jump_alt_sit_stand_move_mouse_look_escape_exit": "WASD / phím mũi tên: đi bộ · Shift: cúi · Phím cách: nhảy · Alt: ngồi / đứng · Di chuyển chuột: nhìn · Esc: thoát", + "shortcuts.crouch_jump_sit_or_stand": "Nằm / Nhảy / Ngồi hoặc đứng", + "shortcuts.exit_walk": "Thoát đi", + "shortcuts.look_while_walking": "Nhìn khi đi", + "shortcuts.move_mouse": "Di chuyển chuột", + "shortcuts.move_while_walking": "Di chuyển trong khi đi bộ", + "shortcuts.walk_button_click_a_floor_face": "Nút đi bộ → nhấp vào mặt sàn", + "shortcuts.walk_through_model": "Xem qua mẫu", + "walk.cannot_change_posture_here_check_head_clearance_and_floor_support": "Không thể thay đổi tư thế ở đây: kiểm tra khoảng sáng đầu và hỗ trợ sàn.", + "walk.choose_a_floor_or_a_slope_of_45_or_less": "Chọn sàn hoặc độ dốc từ 45° trở xuống.", + "walk.click_a_floor_face_to_place_the_walking_person": "Nhấp vào mặt sàn để đặt người đi bộ.", + "walk.seated_move_mouse_to_look_180_alt_stand_tab_sidebar_escape_exit_walk": "Đang ngồi · Di chuyển chuột để nhìn (180°) · Alt: đứng lên · Tab: thanh bên · Esc: thoát chế độ đi bộ", + "walk.the_new_body_dimensions_do_not_fit_here_click_a_floor_face_to_reposition": "Kích thước thân máy mới không vừa ở đây. Nhấp vào mặt sàn để định vị lại.", + "walk.there_is_not_enough_space_here_for_the_configured_body_size_and_eye_height": "Không có đủ không gian ở đây cho kích thước cơ thể và chiều cao mắt được định cấu hình.", + "walk.walk": "Đi bộ", + "walk.walk_through_the_model_click_a_floor_face_to_place_yourself_at_eye_level": "Xem qua mô hình. Nhấp vào mặt sàn để đặt bạn ngang tầm mắt.", + "walk.walking_controls": "WASD / phím mũi tên: đi bộ · Di chuyển chuột để nhìn · Shift: cúi · Phím cách: nhảy · Alt: ngồi · Tab: thanh bên · Esc: thoát chế độ đi bộ", + "wood_glue.tool": "Keo dán gỗ", + "wood_glue.instructions": "Nhấp vào một mặt hiển thị, đã mở khóa để bật hoặc tắt keo dán gỗ.", + "wood_glue.automatic": "Keo dán các bề mặt tiếp xúc được chọn", + "wood_glue.automatic_hint": "Phủ các vùng tiếp xúc của các bề mặt và nhóm đã chọn trên cả hai mặt của mỗi khớp.", + "wood_glue.applied": "Bôi keo dán gỗ", + "wood_glue.removed": "Gỡ keo dán gỗ", + "wood_glue.contacts_applied": "Bề mặt tiếp xúc keo", + "wood_glue.no_new_contacts": "Không tìm thấy bề mặt tiếp xúc không được phủ nào trong phần lựa chọn.", + "wood_glue.invalid_coverage": "Keo dán gỗ dùng để chỉ bề mặt hoặc lớp phủ không hợp lệ.", + "wood_glue.estimate_label": "Độ phủ keo dán gỗ (toàn bộ dự án)", + "wood_glue.estimate_note": "Độ phủ keo dán gỗ (toàn bộ dự án): {area}", + "wood_glue.area_m2": "{value} m²", + "settings.export_scales": "Tỷ lệ xuất", + "export_scale.define_ratios": "Xác định tỷ lệ để xuất STL. Tỷ lệ = kích thước xuất: kích thước mô hình.", + "export_scale.actual_size_hint": "Kích thước thực tế (1:1) luôn có sẵn. Chia tỷ lệ áp dụng cho tất cả các kích thước, bao gồm cả khớp và lỗ.", + "export_scale.nmra_reference": "NMRA (Bắc Mỹ)", + "export_scale.preset_standards_hint": "Các cài đặt trước của mô hình chế biến gỗ là sự tiện lợi chứ không phải tiêu chuẩn NMRA. Tên đường sắt có thể sử dụng các tỷ lệ khác nhau ở các khu vực khác.", + "export_scale.exported": "Đã xuất", + "export_scale.add_preset": "Thêm giá trị đặt trước", + "export_scale.new_scale": "Quy mô mới", + "export_scale.actual_size": "Kích thước thực tế (1:1)", + "export_scale.custom_ratio": "Tỷ lệ tùy chỉnh", + "export_scale.ratio_units_hint": "Kích thước xuất khẩu : kích thước model (sử dụng cùng đơn vị)", + "export_scale.scale_preview": "Tỷ lệ: {percent:.6}% — 1000 mm trong mô hình xuất dưới dạng {size:.4} mm.", + "export_scale.invalid_ratio": "Nhập hai số hữu hạn lớn hơn 0.", + "export_scale.stl_units_hint": "STL được xuất theo milimet. Dự án vẫn giữ nguyên kích thước ban đầu.", + "export_scale.manage_presets_hint": "Quản lý cài đặt trước trong Cài đặt → Xuất thang âm.", + "export_scale.export_stl": "Xuất STL", + "export_scale.woodworking_mockup_1_2": "Mô hình chế biến gỗ 1:2", + "export_scale.woodworking_mockup_1_5": "Mô hình chế biến gỗ 1:5", + "export_scale.woodworking_mockup_1_10": "Mô hình chế biến gỗ 1:10", + "export_scale.miniature_1_12": "Thu nhỏ 1:12", + "orbit.visible_model_center": "Trung tâm mô hình có thể nhìn thấy", + "orbit.selection_center": "Trung tâm tuyển chọn", + "orbit.world_origin": "Nguồn gốc thế giới", + "orbit.view_center": "Xem trung tâm", + "orbit.focused": "Tập trung", + "orbit.set_focus": "Đặt tiêu điểm", + "orbit.set_focus_hint": "Nhấp vào một điểm trong khung nhìn để đặt tiêu điểm quỹ đạo. Nhấp chuột phải để hủy. Tập trung sử dụng trung tâm chế độ xem cho đến khi tiêu điểm được đặt.", + "orbit.pivot_hint": "Chọn trục quỹ đạo. Trung tâm lựa chọn sử dụng trung tâm mô hình hiển thị khi không có gì được chọn.", + "scale_tool.axis_hint": "Tỷ lệ {axis} trục", + "scale_tool.plane_hint": "Tỷ lệ trong mặt phẳng {plane}", + "scale_tool.uniform_hint": "Tỷ lệ đồng đều", + "core.reference_images.contain": "Chứa", + "core.reference_images.cover": "Phủ kín", + "core.reference_images.stretch": "Kéo giãn", + "core.reference_images.invalid_rectangle": "Hình ảnh hoặc hình chữ nhật tham chiếu không hợp lệ.", + "core.reference_images.missing_frame": ".", + "core.reference_images.invalid_image": "Hình ảnh tham chiếu không hợp lệ.", + "core.modeling.edit_reference_image_tools": "Sử dụng Thuộc tính hình ảnh, Di chuyển, Xoay hoặc Chia tỷ lệ để chỉnh sửa hình ảnh tham chiếu.", + "core.document.autosave_edits_mismatch": "Các chỉnh sửa tự động lưu không khớp với dự án đã lưu.", + "core.document.autosave_history_mismatch": "Lịch sử tự động lưu không khớp với dự án đã lưu.", + "project_files.invalid_preview": "Bản xem trước dự án không hợp lệ", + "project_files.empty_preview": "Bản xem trước khung nhìn trống.", + "project_files.pdf_viewer_closed": "Trình xem PDF đã bị đóng trước khi quá trình tạo hoàn tất.", + "project_files.no_saved_preview": "Dự án này không có bản xem trước chế độ xem đã lưu. Hãy lưu nó vào BenchUp trước.", + "project_files.invalid_chunk_size": "Kích thước khối dự án không hợp lệ", + "project_files.truncated_chunk": "Đoạn dự án bị cắt ngắn", + "project_files.invalid_checksum": "Tổng kiểm tra dữ liệu dự án không hợp lệ.", + "project_files.png_has_no_project": " PNG này không chứa dự án BenchUp.", + "projects.could_not_capture_preview": "Không thể chụp bản xem trước dự án: {error}", + "storage.cannot_restore_edits": "Không thể khôi phục các chỉnh sửa tự động lưu: {error}", + "storage.cannot_migrate_workspace": "Không thể di chuyển không gian làm việc: {error}", + "storage.browser_unavailable": "Browser: {error}", + "updates.unexpected_package_identity": "Nhận dạng gói cập nhật không mong đợi: {id}", + "selection_measurements.worker_unavailable": "Không có nhân viên đo lường.", + "selection_measurements.invalid_result": "Kết quả đo không hợp lệ.", + "pdf_export.could_not_read": "Không thể đọc tệp PDF được tạo.", + "pdf_export.could_not_generate": "Không thể tạo tệp PDF.", + "space_mouse.connect_hint": "Chọn Connect 3D Mouse để cấp quyền truy cập vào thiết bị của bạn.", + "space_mouse.disconnected": "3D Chuột bị ngắt kết nối. Kết nối lại hoặc chọn Kết nối chuột 3D.", + "space_mouse.unsupported": "Trình duyệt này không hỗ trợ truy cập Chuột 3D. Sử dụng Chrome hoặc Edge có hỗ trợ WebHID.", + "space_mouse.insecure": "Mở BenchUp qua HTTPS hoặc localhost để kết nối Chuột 3D.", + "space_mouse.scanning": "Đang tìm chuột 3D đã kết nối trước đó...", + "space_mouse.choosing": "Chọn Chuột 3D trong trình duyệt của bạn.", + "space_mouse.no_selection": "Không có Chuột 3D được chọn. Chọn Kết nối chuột 3D để thử lại.", + "space_mouse.no_device": "Không có chuột 3D được kết nối. Chọn Kết nối chuột 3D.", + "space_mouse.denied": "3D Không được phép truy cập chuột. Hãy kiểm tra quyền thiết bị của trang web này và thử lại.", + "space_mouse.open_failed": "Không thể mở Chuột 3D. Hãy thoát khỏi các ứng dụng hoặc trình điều khiển khác đang sử dụng nó, chẳng hạn như 3DxWare và thử lại.", + "app.measurements_unavailable": "Không có phép đo.", + "app.calculating_measurements": "Tính số đo…", + "sidebar.move_wireframe": "Hiển thị khung dây cho đối tượng khác khi di chuyển", + "sidebar.selected_edge_lengths": "Chiều dài các cạnh đã chọn" +} diff --git a/assets/i18n/zh_CN.json b/assets/i18n/zh_CN.json index ed6af6f..0812708 100644 --- a/assets/i18n/zh_CN.json +++ b/assets/i18n/zh_CN.json @@ -2069,6 +2069,7 @@ "settings.invert_zoom": "反转缩放", "settings.language_simplified_chinese": "简体中文", "settings.language_brazilian_portuguese": "Português (Brasil)", + "settings.language_vietnamese": "越南语", "settings.look_sensitivity": "视角灵敏度", "settings.mouse_trackpad": "鼠标/触控板", "settings.navigation_type": "导航类型", diff --git a/crates/benchup-app/src/language.rs b/crates/benchup-app/src/language.rs index 909a7f6..106e3a9 100644 --- a/crates/benchup-app/src/language.rs +++ b/crates/benchup-app/src/language.rs @@ -83,6 +83,9 @@ mod tests { for locale in ["pt", "pt_BR", "pt-BR", "pt_BR.UTF-8", "pt-PT", "pt-AO"] { assert_eq!(preferred_language([locale]), "pt_BR", "{locale}"); } + for locale in ["vi", "vi-VN", "vi_VN", "vi_VN.UTF-8"] { + assert_eq!(preferred_language([locale]), "vi", "{locale}"); + } } #[test] @@ -109,6 +112,7 @@ mod tests { assert_eq!(preferred_language(["en-CA", "zh-CN"]), "en"); assert_eq!(preferred_language(["zh-Hant", "zh-Hans"]), "zh_CN"); assert_eq!(preferred_language(["fr-CA", "pt-BR", "en-US"]), "pt_BR"); + assert_eq!(preferred_language(["fr-CA", "vi-VN", "en-US"]), "vi"); assert_eq!(preferred_language(["en-US", "pt-BR"]), "en"); } } diff --git a/crates/benchup-app/src/settings.rs b/crates/benchup-app/src/settings.rs index a5fff91..cfd214d 100644 --- a/crates/benchup-app/src/settings.rs +++ b/crates/benchup-app/src/settings.rs @@ -159,11 +159,12 @@ pub(super) fn detected_language() -> &'static str { language::detected_language() } -fn languages() -> [(&'static str, &'static str); 3] { +fn languages() -> [(&'static str, &'static str); 4] { [ (DEFAULT_LANGUAGE, tr!("settings.language_english")), ("zh_CN", tr!("settings.language_simplified_chinese")), ("pt_BR", tr!("settings.language_brazilian_portuguese")), + ("vi", tr!("settings.language_vietnamese")), ] } @@ -1189,6 +1190,15 @@ mod tests { assert_eq!(settings.language, "pt_BR"); } + #[test] + fn supported_languages_include_vietnamese() { + assert!(languages().contains(&("vi", "Tiếng Việt"))); + let mut settings = GeneralSettings::default(); + settings.language = "vi".into(); + settings.normalize(); + assert_eq!(settings.language, "vi"); + } + #[test] fn settings_labels_switch_languages_in_the_same_window() { struct Reset; @@ -1203,6 +1213,7 @@ mod tests { ("en", "Settings", "Workspace", "Export scales"), ("zh_CN", "设置", "工作区", "导出比例"), ("pt_BR", "Configurações", "Área de trabalho", "Escalas de exportação"), + ("vi", "Cài đặt", "Không gian làm việc", "Tỷ lệ xuất"), ("en", "Settings", "Workspace", "Export scales"), ] { app.general_settings.language = language.into(); diff --git a/crates/benchup-app/src/sidebar.rs b/crates/benchup-app/src/sidebar.rs index b0f2dbd..a6ba4c5 100644 --- a/crates/benchup-app/src/sidebar.rs +++ b/crates/benchup-app/src/sidebar.rs @@ -3046,7 +3046,7 @@ mod preference_tests { #[test] fn first_launch_language_is_saved_without_a_model_edit_and_not_redetected() { - for language in ["en", "zh_CN", "pt_BR"] { + for language in ["en", "zh_CN", "pt_BR", "vi"] { let ctx = egui::Context::default(); let mut storage = SavedPreferences::default(); let mut app = BenchUpApp::with_document(Document::default(), None, true); diff --git a/crates/benchup-core/build.rs b/crates/benchup-core/build.rs index 77f47ca..46ba62d 100644 --- a/crates/benchup-core/build.rs +++ b/crates/benchup-core/build.rs @@ -123,6 +123,11 @@ fn main() { catalog: read_catalog("../../assets/i18n/pt_BR.json", "Brazilian Portuguese"), singular: true, }, + Translation { + variant: "Vietnamese", + catalog: read_catalog("../../assets/i18n/vi.json", "Vietnamese"), + singular: false, + }, ]; // Generate every format string so Rust continues checking named arguments. diff --git a/crates/benchup-core/src/i18n.rs b/crates/benchup-core/src/i18n.rs index d2cb6bf..258474e 100644 --- a/crates/benchup-core/src/i18n.rs +++ b/crates/benchup-core/src/i18n.rs @@ -6,6 +6,7 @@ pub enum Language { English, SimplifiedChinese, BrazilianPortuguese, + Vietnamese, } thread_local! { @@ -17,6 +18,7 @@ pub fn set_language(language: &str) { LANGUAGE.set(match language { "zh_CN" | "zh-CN" | "zh-Hans" => Language::SimplifiedChinese, "pt_BR" | "pt-BR" => Language::BrazilianPortuguese, + "vi" | "vi_VN" | "vi-VN" => Language::Vietnamese, _ => Language::English, }); } @@ -50,6 +52,7 @@ pub(crate) fn catalog_message(language: &str, key: &str) -> String { let catalog = match language { "zh_CN" => include_str!("../../../assets/i18n/zh_CN.json"), "pt_BR" => include_str!("../../../assets/i18n/pt_BR.json"), + "vi" => include_str!("../../../assets/i18n/vi.json"), "en" => include_str!("../../../assets/i18n/en.json"), _ => panic!("unsupported test language: {language}"), }; @@ -115,6 +118,16 @@ mod tests { ); assert_eq!(tr!("app.selection_entities", count = 1), "1 entidade"); assert_eq!(tr!("app.selection_entities", count = 2), "2 entidades"); + super::set_language("vi"); + assert_eq!(tr!("common.cancel"), "Hủy"); + assert_eq!(tr!("settings.settings"), "Cài đặt"); + assert_eq!(tr!("app.selection_entities", count = 1), "1 thực thể"); + assert_eq!(tr!("app.selection_entities", count = 2), "2 thực thể"); + #[cfg(not(target_arch = "wasm32"))] + assert_eq!( + super::spawn_localized(super::current_language).join().unwrap(), + super::Language::Vietnamese + ); super::set_language("en"); assert_eq!(tr!("common.cancel"), "Cancel"); assert_eq!( From 4d753524210c783694223bfd56276962b5f4f7e8 Mon Sep 17 00:00:00 2001 From: hairdawngd Date: Fri, 13 Nov 2026 12:22:28 +0700 Subject: [PATCH 2/5] Improve Vietnamese translations and add Roboto fallback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- assets/fonts/Roboto-OFL.txt | 93 ++++++++ assets/fonts/Roboto[wdth,wght].ttf | Bin 0 -> 488584 bytes assets/i18n/vi.json | 370 ++++++++++++++--------------- crates/benchup-app/src/theme.rs | 5 + 4 files changed, 283 insertions(+), 185 deletions(-) create mode 100644 assets/fonts/Roboto-OFL.txt create mode 100644 assets/fonts/Roboto[wdth,wght].ttf diff --git a/assets/fonts/Roboto-OFL.txt b/assets/fonts/Roboto-OFL.txt new file mode 100644 index 0000000..9c48e05 --- /dev/null +++ b/assets/fonts/Roboto-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2011 The Roboto Project Authors (https://github.com/googlefonts/roboto-classic) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/assets/fonts/Roboto[wdth,wght].ttf b/assets/fonts/Roboto[wdth,wght].ttf new file mode 100644 index 0000000000000000000000000000000000000000..5522a368d9072fd88c299916e61fcff369949061 GIT binary patch literal 488584 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 Y;6XU#ILQS8g4^Zm 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�uP5<4L&6))V{L_N$NJ(tsg|m8z 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 literal 0 HcmV?d00001 diff --git a/assets/i18n/vi.json b/assets/i18n/vi.json index 8fa1a3a..9ab54ec 100644 --- a/assets/i18n/vi.json +++ b/assets/i18n/vi.json @@ -14,11 +14,11 @@ "account.config_file_error": "{path}: {error}", "account.config_invalid_unicode": "{key} phải là UTF-8", "account.config_invalid_value": "{key} phải chứa URL máy chủ", - "account.config_missing": "Không có máy chủ tài khoản nào được định cấu hình. Đặt {key} trong .env hoặc tại thời điểm xây dựng hoặc khởi chạy bằng --server-url URL.", - "account.config_missing_argument": "--url máy chủ yêu cầu URL", - "account.config_missing_equals": "Thiếu '=' cho {key} trực tuyến {line}", + "account.config_missing": "Chưa cấu hình máy chủ tài khoản. Hãy đặt {key} trong .env, khi xây dựng ứng dụng hoặc khởi chạy với --server-url URL.", + "account.config_missing_argument": "--server-url cần có một URL", + "account.config_missing_equals": "Thiếu dấu '=' sau {key} ở dòng {line}", "account.config_trailing_text": "Văn bản không mong đợi sau {key} trên dòng {line}", - "account.config_unclosed_quote": "Báo giá chưa được tiết lộ cho {key} trực tuyến {line}", + "account.config_unclosed_quote": "Dấu ngoặc kép chưa được đóng cho {key} ở dòng {line}", "account.connect_your_account_using_google_in_your_browser": "Kết nối tài khoản của bạn bằng Google trong trình duyệt của bạn.", "account.continue_with_google": "Tiếp tục với Google", "account.invalid_account_server_configuration_use_https_or_http": "Cấu hình máy chủ tài khoản không hợp lệ: sử dụng HTTPS hoặc HTTP trên localhost.", @@ -36,7 +36,7 @@ "account.login_timed_out_continue_with_google_to_try": "Đã hết thời gian đăng nhập. Tiếp tục với Google để thử lại.", "account.missing_http_status": "Thiếu trạng thái HTTP", "account.no_browser": "Không có trình duyệt", - "account.project_server_unavailable": " không khả dụng: {e}", + "account.project_server_unavailable": "Máy chủ dự án không khả dụng: {e}", "account.signed_out_but_could_not_remove_the_saved": "Đã đăng xuất nhưng không thể xóa thông tin xác thực đã lưu.", "account.storage_unavailable": "Không có bộ nhớ", "account.the_server_did_not_sign_out": "Máy chủ không đăng xuất.", @@ -47,12 +47,12 @@ "app.aligned": " · {} căn chỉnh", "app.angle": "Góc", "app.appearance": "Giao diện", - "app.ascii_or_binary_geometry_only_coordinates_interpreted_as": "ASCII hoặc nhị phân. Chỉ hình học; tọa độ được hiểu là milimet, Z up.", + "app.ascii_or_binary_geometry_only_coordinates_interpreted_as": "ASCII hoặc nhị phân; chỉ gồm hình học. Tọa độ tính bằng milimét, trục Z hướng lên.", "app.assign_stock_material": "Gán vật liệu phôi", - "app.automatically_align_drawing_with_the_red_green_and": "Tự động căn chỉnh bản vẽ theo các trục màu đỏ, lục và lam. Di chuột qua điểm cuối, điểm giữa hoặc cạnh để thu được các trục đi qua vị trí đó. Các phím mũi tên vẫn có thể khóa một trục khi tính năng này tắt.", + "app.automatically_align_drawing_with_the_red_green_and": "Tự động căn chỉnh bản vẽ theo các trục đỏ, xanh lá và xanh dương. Di chuột qua điểm cuối, trung điểm hoặc cạnh để căn theo trục đi qua vị trí đó. Khi tắt tính năng này, bạn vẫn có thể dùng phím mũi tên để khóa trục.", "app.autosaved_on_this_device_use_file_save_to": "Tự động lưu trên thiết bị này. Sử dụng Tệp → Lưu để cập nhật tệp dự án của bạn.", - "app.binary_stl_of_visible_faces_in_millimetres_z": "STL nhị phân của các mặt hiển thị tính bằng milimet, Z trở lên. Không có cạnh hoặc vật liệu. Đảm bảo chất rắn được đóng kín trước khi in; không sửa chữa tự động.", - "app.cannot_paste_this_geometry_here_a_component_cannot": "Không thể dán hình này vào đây; một thành phần không thể chứa định nghĩa riêng của nó", + "app.binary_stl_of_visible_faces_in_millimetres_z": "STL nhị phân gồm các mặt đang hiển thị, đơn vị milimét, trục Z hướng lên. Không xuất cạnh hoặc vật liệu. Hãy bảo đảm khối kín trước khi in; không tự động sửa lỗi.", + "app.cannot_paste_this_geometry_here_a_component_cannot": "Không thể dán hình học này vào đây; một thành phần không thể chứa định nghĩa của chính nó.", "app.center_view_on_axis_origin_0_0_0": "Căn giữa khung nhìn tại gốc tọa độ (0, 0, 0)", "app.check_for_updates": "Kiểm tra bản cập nhật…", "app.choose_a_modeling_tool": "Chọn công cụ tạo hình", @@ -76,12 +76,12 @@ "app.configure_edge_face_face_center_axis_and_grid": "Định cấu hình chụp nhanh cạnh, mặt, tâm mặt, trục và lưới", "app.copies": "Bản sao", "app.copy": "Sao chép · ", - "app.copy_ctrl_toggles_move_click_to_place_type": "Sao chép · Nút bật tắt Ctrl Di chuyển · Nhấp để đặt · Nhập khoảng cách + Enter", - "app.copy_option_toggles_move_click_to_place_type": "Sao chép · Option chuyển sang Di chuyển · Nhấp để đặt · Nhập khoảng cách rồi nhấn Enter", + "app.copy_ctrl_toggles_move_click_to_place_type": "Sao chép · Ctrl bật/tắt chế độ Di chuyển · Nhấp để đặt · Nhập khoảng cách rồi nhấn Enter", + "app.copy_option_toggles_move_click_to_place_type": "Sao chép · Option bật/tắt chế độ Di chuyển · Nhấp để đặt · Nhập khoảng cách rồi nhấn Enter", "app.copy_placed_type_3_to_divide_the_span": "Sao chép đã đặt · Nhập /3 để chia nhịp hoặc 3x để lặp lại · Enter để áp dụng", "app.could_not_restore_the_project_file_location_after": "Không thể khôi phục vị trí tệp dự án sau khi cập nhật: {error}", "app.could_not_restore_your_model_a_new_workspace": "Không thể khôi phục mô hình: {e}. Không gian làm việc mới đã sẵn sàng.", - "app.create_a_printable_label_for_each_piece_in": "Tạo nhãn có thể in cho từng phần trong phần lựa chọn hoặc toàn bộ dự án.", + "app.create_a_printable_label_for_each_piece_in": "Tạo nhãn có thể in cho từng chi tiết trong vùng chọn hoặc trong toàn bộ dự án.", "app.create_component": "Tạo thành phần", "app.create_component_2": "Tạo thành phần", "app.delete_guides": "Xóa đường dẫn", @@ -92,12 +92,12 @@ "app.arc_choose_through_point": "Nhấp vào một điểm trên cung · Nhập chiều cao cung + Enter · Esc để hủy", "app.arc_chord": "Độ dài hợp âm", "app.arc_distinct_endpoints": "Chọn điểm cuối thứ hai khác.", - "app.arc_height": "Achiều cao vòng cung", + "app.arc_height": "Chiều cao cung", "app.arc_lock_must_contain_endpoints": "Mặt phẳng bị khóa phải chứa cả hai điểm cuối cung.", "app.arc_point_off_chord": "Chọn một điểm cách xa đường thẳng giữa các điểm cuối.", "app.draw_arc": "Vẽ cung", "app.draw_circle": "Vẽ hình tròn", - "app.draw_freehand": "Dvẽ tự do", + "app.draw_freehand": "Vẽ tự do", "app.draw_line": "Vẽ đường", "app.draw_polygon": "Vẽ đa giác", "app.draw_rectangle": "Vẽ hình chữ nhật", @@ -121,7 +121,7 @@ "app.group": "Nhóm", "app.help": "Trợ giúp", "app.history_menu_action": "{action} {label}", - "app.hole_side_lengths": "Hlỗ {index} chiều dài cạnh", + "app.hole_side_lengths": "Chiều dài các cạnh của lỗ {index}", "app.import": "Nhập", "app.inspector": "Bảng thuộc tính", "app.benchup": "{} - BenchUp", @@ -143,7 +143,7 @@ "app.move_ctrl_toggles_copy_click_base_point_and": "Di chuyển · Ctrl chuyển sang Sao chép · Nhấp điểm gốc và điểm đích", "app.move_option_toggles_copy_click_base_point_and": "Di chuyển · Option chuyển sang Sao chép · Nhấp điểm gốc và điểm đích", "app.move_over_the_drawing_plane_to_set_a": "Di chuyển trên mặt phẳng vẽ để đặt hướng", - "app.move_the_cursor_to_orbit_hold_shift_to": "Di chuyển con trỏ đến quỹ đạo · Giữ phím Shift để xoay · Nhả Ctrl / ⌘ để tiếp tục vẽ", + "app.move_the_cursor_to_orbit_hold_shift_to": "Di chuyển con trỏ để xoay quanh · Giữ Shift để dịch chuyển khung nhìn · Thả Ctrl / ⌘ để tiếp tục vẽ", "app.move_the_pointer_to_choose_a_direction_first": "Di chuyển con trỏ để chọn hướng trước", "app.move_the_pointer_to_give_the_shape_some": "Di chuyển con trỏ để tạo hình dạng có kích thước nào đó", "app.new_faces": "Mặt mới · ", @@ -155,16 +155,16 @@ "app.nothing_selected": "Chưa chọn gì", "app.object_selection": "{kind}: {}", "app.offset": "Dịch song song", - "app.orbiting_hold_shift_to_pan": "Orbiting · Giữ phím Shift để pan", + "app.orbiting_hold_shift_to_pan": "Đang xoay quanh · Giữ Shift để dịch chuyển khung nhìn", "app.paint_face": "Tô màu mặt", "app.paint_group": "Tô màu nhóm", - "app.panning_release_shift_to_orbit": "Panning · Phóng dịch chuyển lên quỹ đạo", - "app.panning_hold_shift_to_orbit": "Panning · Giữ Shift đến quỹ đạo", - "app.orbiting_release_shift_to_pan": "Orbiting · Nhả Shift sang pan", + "app.panning_release_shift_to_orbit": "Đang dịch chuyển khung nhìn · Thả Shift để xoay quanh", + "app.panning_hold_shift_to_orbit": "Đang dịch chuyển khung nhìn · Giữ Shift để xoay quanh", + "app.orbiting_release_shift_to_pan": "Đang xoay quanh · Thả Shift để dịch chuyển khung nhìn", "app.paste": "Dán", "app.perimeter": "Chu vi", "app.plane_locked": "{} · Đã khóa", - "app.plane_locked_2": "{} · Máy bay bị khóa", + "app.plane_locked_2": "{} · Mặt phẳng bị khóa", "app.polygon_sides": "Các cạnh đa giác", "app.prepare_cutting_plan": "Chuẩn bị kế hoạch cắt…", "app.print_workshop_labels": "In nhãn xưởng…", @@ -172,7 +172,7 @@ "app.quit": "Thoát", "app.radius": "Bán kính", "app.release_notes": "Ghi chú phát hành", - "app.release_to_finish_type_total_length_enter_esc": "Phát hành để kết thúc · Nhập tổng chiều dài + Enter · Esc để hủy", + "app.release_to_finish_type_total_length_enter_esc": "Thả chuột để hoàn tất · Nhập tổng chiều dài rồi nhấn Enter · Esc để hủy", "app.remove_color_from_the_selected_items_and_all": "Xóa màu khỏi các mục đã chọn và tất cả các mục con của chúng", "app.report_a_bug": "Báo cáo lỗi", "app.restore": "Khôi phục", @@ -232,16 +232,16 @@ "app.summarize_matching_parts_and_export_finished_cutting_dimensions": "Tóm tắt các bộ phận phù hợp và xuất kích thước cắt hoàn thiện cho vùng chọn hoặc toàn bộ dự án.", "app.surface_area": "Diện tích bề mặt", "app.switch_to_dark_mode": "Chuyển sang chế độ tối", - "app.switch_to_light_mode": "Chuyển sang chế độ ánh sáng", + "app.switch_to_light_mode": "Chuyển sang chế độ sáng", "app.system_information": "Thông tin hệ thống", "app.tape": "Thước dây", "app.text_dxf_line_straight_lwpolyline_arc_and_circle": "Văn bản DXF: LINE, LWPOLYLINE thẳng, ARC và CIRCLE trong mặt phẳng XY. Đường cong được xấp xỉ tối đa 96 đoạn mỗi vòng tròn. Không hỗ trợ khối, cung đa tuyến hoặc độ rộng. Dùng đơn vị khai báo; nếu tệp không khai báo đơn vị thì mặc định là milimét.", "app.the_clipboard_geometry_could_not_be_read": "Không thể đọc hình học trong bộ nhớ tạm.", "app.the_reference_lies_on_the_rotation_axis_clear": "Tham chiếu nằm trên trục quay; xóa khóa hoặc khởi động lại bằng tham chiếu khác", "app.toggle_model_inspector_tab": "Bật/tắt bảng thuộc tính mô hình (Tab)", - "app.toggle_x_axis_lock_select_up_to_two": "Chuyển đổi khóa trục X (→). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", - "app.toggle_y_axis_lock_select_up_to_two": "Chuyển đổi khóa trục Y (←). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", - "app.toggle_z_axis_lock_select_up_to_two": "Toggle khóa trục Z (↑). Chọn tối đa hai trục để khóa mặt phẳng của chúng; ↓ xóa tất cả các ổ khóa. Hình dạng và Xoay sử dụng một khóa duy nhất làm mặt phẳng bình thường.", + "app.toggle_x_axis_lock_select_up_to_two": "Bật/tắt khóa trục X (→). Chọn tối đa hai trục để khóa mặt phẳng; nhấn ↓ để bỏ tất cả khóa. Công cụ Vẽ hình và Xoay dùng một khóa trục làm pháp tuyến của mặt phẳng.", + "app.toggle_y_axis_lock_select_up_to_two": "Bật/tắt khóa trục Y (←). Chọn tối đa hai trục để khóa mặt phẳng; nhấn ↓ để bỏ tất cả khóa. Công cụ Vẽ hình và Xoay dùng một khóa trục làm pháp tuyến của mặt phẳng.", + "app.toggle_z_axis_lock_select_up_to_two": "Bật/tắt khóa trục Z (↑). Chọn tối đa hai trục để khóa mặt phẳng; nhấn ↓ để bỏ tất cả khóa. Công cụ Vẽ hình và Xoay dùng một khóa trục làm pháp tuyến của mặt phẳng.", "app.tool_with_shortcut": "{tool} ({shortcut})", "app.tools": "Công cụ", "app.total_edge_length": "Tổng chiều dài cạnh", @@ -329,12 +329,12 @@ "core.annotations.text_is_outside_the_model_limits": "Văn bản nằm ngoài giới hạn của mô hình.", "core.annotations.text_no_longer_exists": "Văn bản không còn tồn tại", "core.annotations.unlock_the_text_before_editing_it": "Mở khóa văn bản trước khi chỉnh sửa", - "core.camera.back": "Quay lại", + "core.camera.back": "Phía sau", "core.camera.bottom": "Dưới", "core.camera.front": "Mặt trước", "core.camera.iso": "Đẳng trục", "core.camera.left": "Trái", - "core.camera.right": "Đúng", + "core.camera.right": "Phải", "core.camera.top": "Trên", "core.cleanup.unlock_the_selection_before_cleaning_it": "Mở khóa vùng chọn trước khi làm sạch nó", "core.connections.angled_screw": "Vít bắt xiên", @@ -362,12 +362,12 @@ "core.connections.these_pieces_already_have_a_wood_joint_edit": "Các chi tiết này đã có mối nối gỗ. Hãy chỉnh sửa hoặc xóa mối nối hiện tại trước.", "core.csg.these_solids_are_too_complex_for_this_operation": "Các chất rắn này quá phức tạp cho hoạt động này", "core.csg.these_solids_need_too_many_clipping_planes": "Những vật rắn này cần quá nhiều mặt phẳng cắt", - "core.display.hidden_line": "Dòng ẩn", + "core.display.hidden_line": "Nét khuất", "core.display.monochrome": "Đơn sắc", "core.display.shaded": "Đổ bóng", "core.display.shaded_with_materials": "Được tô bóng bằng vật liệu", "core.display.wireframe": "Khung dây", - "core.document.a_map_or_an_empty_legacy_array": "a hoặc một mảng kế thừa trống", + "core.document.a_map_or_an_empty_legacy_array": "một đối tượng hoặc một mảng cũ rỗng", "core.document.coordinates_must_be_finite": " Tọa độ phải là hữu hạn", "core.document.coordinates_must_be_within_ten_billion_meters_of": " Tọa độ phải cách điểm gốc trong vòng 10 tỷ mét", "core.document.expected_a_map_only_empty_legacy_arrays_are": " mong đợi một bản đồ; chỉ hỗ trợ các mảng kế thừa trống", @@ -384,11 +384,11 @@ "core.document.invalid_model_ids": "ID mô hình không hợp lệ.", "core.document.invalid_vertex": "Đỉnh không hợp lệ", "core.document.model_is_too_large": "Mô hình quá lớn", - "core.document.paint_refers_to_a_missing_face": "Paint dùng để chỉ một mặt bị thiếu", + "core.document.paint_refers_to_a_missing_face": "Màu tô tham chiếu đến một mặt không tồn tại", "core.document.that_edge_already_exists": "Cạnh đó đã tồn tại", "core.document.unsupported_document_version": "Phiên bản tài liệu không được hỗ trợ", "core.document.untitled_model": "Mô hình chưa đặt tên", - "core.edit_context.a_component_cannot_contain_its_own_definition": "A không thể chứa định nghĩa riêng", + "core.edit_context.a_component_cannot_contain_its_own_definition": "Một thành phần không thể chứa định nghĩa của chính nó", "core.edit_context.cannot_move_objects_between_instances_of_the_same": "Không thể di chuyển các đối tượng giữa các phiên bản của cùng một thành phần", "core.edit_context.cyclic_component_definitions": "Định nghĩa thành phần tuần hoàn", "core.edit_context.missing_component": "Thiếu thành phần", @@ -398,13 +398,13 @@ "core.edit_context.no_object_is_open_for_editing": "Không có đối tượng nào được mở để chỉnh sửa", "core.edit_context.the_editing_context_no_longer_exists": "Ngữ cảnh chỉnh sửa không còn tồn tại", "core.edit_context.unlock_the_object_before_editing_it": "Mở khóa đối tượng trước khi chỉnh sửa", - "core.guides.choose_a_direction_for_the_guide": "Chọn hướng cho người hướng dẫn", + "core.guides.choose_a_direction_for_the_guide": "Chọn hướng cho đường dẫn", "core.guides.invalid_guide_coordinates": "Tọa độ hướng dẫn không hợp lệ", "core.inference.aligned_axes": "Trục thẳng hàng", - "core.inference.blue_axis": "Trục xanh", + "core.inference.blue_axis": "Trục xanh dương", "core.inference.endpoint": "Đầu mút", "core.inference.face_center": "Tâm mặt", - "core.inference.green_axis": "Trục xanh", + "core.inference.green_axis": "Trục xanh lá", "core.inference.guide_point": "Điểm dẫn hướng", "core.inference.midpoint": "Trung điểm", "core.inference.on_blue_axis": "Trên trục màu xanh", @@ -490,10 +490,10 @@ "core.modeling.unlock_the_object_before_editing_it": "Mở khóa đối tượng trước khi chỉnh sửa", "core.modeling.unlock_the_selected_items_and_their_children_before": "Mở khóa các mục đã chọn và các mục con của chúng trước khi xóa màu", "core.modeling.unlock_the_selection_before_editing_it": "Mở khóa vùng chọn trước khi chỉnh sửa", - "core.objects.a_group_cannot_have_a_component_mapping": "A không thể có ánh xạ thành phần", + "core.objects.a_group_cannot_have_a_component_mapping": "Nhóm không thể có ánh xạ thành phần", "core.objects.component": "Thành phần", "core.objects.cyclic_object_membership": "Thành viên đối tượng tuần hoàn", - "core.objects.duplicate_entity_id": "DID thực thể trùng lặp", + "core.objects.duplicate_entity_id": "ID thực thể trùng lặp", "core.objects.group": "Nhóm", "core.objects.invalid_grain_direction": "Hướng vân gỗ không hợp lệ.", "core.objects.select_an_unlocked_part": "Chọn một bộ phận đã mở khóa.", @@ -546,7 +546,7 @@ "core.solids.the_solid_has_inconsistent_surface_topology": "Tô pô bề mặt của khối đặc không nhất quán.", "core.solids.the_solid_is_too_small": "Khối đặc quá nhỏ.", "core.solids.the_solids_have_no_shared_volume": "Các khối đặc không có thể tích chung.", - "core.solids.these_solids_have_too_many_vertices_for_this": "Các khối rắn này có quá nhiều đỉnh cho phép toán này", + "core.solids.these_solids_have_too_many_vertices_for_this": "Các khối đặc này có quá nhiều đỉnh cho phép toán này", "core.solids.this_solid_has_too_many_faces_for_this": "Khối đặc này có quá nhiều mặt cho thao tác đó.", "core.solids.trim": "Cắt xén", "core.solids.trimmed": "Đã cắt xén", @@ -560,8 +560,8 @@ "core.surface_treatment.sanding_grit_after_coat": " Chà nhám · Hạt nhám {grit} (lớp phủ sau {coat})", "core.surface_treatment.stain_coat": "Stain · lớp phủ {coat}", "core.surface_treatment.varnish_coat": "Varnish · lớp phủ {coat}", - "core.tags.a_tag_with_that_name_already_exists": "A có tên đó đã tồn tại", - "core.tags.choose_a_tag_name_of_1128_characters_other": "Chọn tên thẻ gồm 1–128 ký tự ngoài Untagged", + "core.tags.a_tag_with_that_name_already_exists": "Thẻ có tên đó đã tồn tại", + "core.tags.choose_a_tag_name_of_1128_characters_other": "Chọn tên thẻ gồm 1-128 ký tự ngoài Untagged", "core.tags.invalid_tags": "Thẻ không hợp lệ", "core.tags.missing_tag": "Thiếu thẻ", "core.tags.unlock_the_selection_before_assigning_a_tag": "Mở khóa lựa chọn trước khi gán thẻ", @@ -629,28 +629,28 @@ "currency.turkish_lira": "Đồng lira Thổ Nhĩ Kỳ", "currency.uae_dirham": "Dirham Các Tiểu vương quốc Ả Rập Thống nhất", "currency.us_dollar": "Đô la Mỹ", - "currency.vietnamese_dong": "Đồng Việt Nam", - "cutting_layout.stock_dimensions_must_be_1_1_000_000": "Kích thước cổ phiếu phải là 1-1.000.000 mm và đường cưa cưa 0-100 mm.", - "cutting_plan.approx_nominal": "Xấp xỉ. {stock} danh nghĩa", + "currency.vietnamese_dong": "Việt Nam Đồng", + "cutting_layout.stock_dimensions_must_be_1_1_000_000": "Kích thước phôi phải từ 1 đến 1.000.000 mm; độ rộng mạch cưa phải từ 0 đến 100 mm.", + "cutting_plan.approx_nominal": "Kích thước danh nghĩa xấp xỉ: {stock}", "cutting_plan.board": "VÁN", "cutting_plan.boards_required": { "one": "Cần {count} tấm ván | Mạch cưa: {kerf}", "other": "Cần {count} tấm ván | Mạch cưa: {kerf}" }, - "cutting_plan.check_shape_bounding_blank_only": "CHECK HÌNH DẠNG - chỉ giới hạn khoảng trống", + "cutting_plan.check_shape_bounding_blank_only": "KIỂM TRA HÌNH DẠNG — chỉ tính theo bao phôi", "cutting_plan.cm": "{} cm", "cutting_plan.continued": "{title} (tiếp theo)", "cutting_plan.continued_2": "(tiếp theo)", "cutting_plan.cut_length": "CHIỀU DÀI CẮT", - "cutting_plan.cut_list": "CUT DANH SÁCH", + "cutting_plan.cut_list": "DANH SÁCH CẮT", "cutting_plan.cut_list_summary": "{pieces} | {sizes} | Kích thước tính bằng mm hoặc cm", "cutting_plan.cutting_plan": "Kế hoạch cắt", - "cutting_plan.date_unavailable": "Ngày không có", + "cutting_plan.date_unavailable": "Không có ngày", "cutting_plan.does_not_fit_selected_stock": "KHÔNG VỪA VỚI PHÔI ĐÃ CHỌN", "cutting_plan.footer_note": "Kích thước hoàn thiện - xác minh trước khi cắt", "cutting_plan.group": "NHÓM", "cutting_plan.mark": "KÝ HIỆU", - "cutting_plan.material_x_x": "Vật liệu: {} ({} × {} × {})", + "cutting_plan.material_x_x": "Vật liệu: {} ({} x {} x {})", "cutting_plan.mm": "{} mm", "cutting_plan.mm_2": "{}.{:01} mm", "cutting_plan.net_cut_area_m2": "{pieces} | Diện tích cắt thực: {area:.2} m²", @@ -660,13 +660,13 @@ "other": "Bỏ qua {count} mục vì chưa gán vật liệu phôi hoặc độ dày không phù hợp." }, "cutting_plan.oversized_cut": { - "one": "{mark}: {count} chi tiết, {width} × {length} · Chọn phôi lớn hơn", - "other": "{mark}: {count} chi tiết, {width} × {length} · Chọn phôi lớn hơn" + "one": "{mark}: {count} chi tiết, {width} x {length} · Chọn phôi lớn hơn", + "other": "{mark}: {count} chi tiết, {width} x {length} · Chọn phôi lớn hơn" }, "cutting_plan.page_number": "Trang {page} / {count}", "cutting_plan.qty": "SL", "cutting_plan.rotation_used": " (đã xoay)", - "cutting_plan.section_t_x_w": "TIẾT DIỆN (DÀY × RỘNG)", + "cutting_plan.section_t_x_w": "TIẾT DIỆN (DÀY x RỘNG)", "cutting_plan.selected_parts_visible_only": "Các bộ phận được chọn (chỉ hiển thị)", "cutting_plan.sizes": { "one": "{count} kích thước", @@ -679,7 +679,7 @@ "one": "Vật liệu phôi cần dùng: {count} tấm | Mạch cưa: {kerf}", "other": "Vật liệu phôi cần dùng: {count} tấm | Mạch cưa: {kerf}" }, - "cutting_plan.stock_x_kerf_gray_offcut_kerf": "Phôi: {} × {} | Mạch cưa: {} | Màu xám: phần thừa / mạch cưa", + "cutting_plan.stock_x_kerf_gray_offcut_kerf": "Phôi: {} x {} | Mạch cưa: {} | Màu xám: phần thừa / mạch cưa", "cutting_plan.the_project_name_is_too_long_to_fit": "Tên dự án quá dài để vừa với nhãn xưởng.", "cutting_plan.unnamed_part": "Chi tiết chưa đặt tên", "cutting_plan.workshop_labels": "Nhãn xưởng", @@ -695,9 +695,9 @@ "environment.horizon": "Đường chân trời", "environment.reset_environment_colors": "Đặt lại màu môi trường", "environment.sky": "Bầu trời", - "estimate_pdf.amount": "Asố tiền ({})", - "estimate_pdf.april": "Tháng Tư", - "estimate_pdf.august": "Atháng tám", + "estimate_pdf.amount": "Thành tiền ({})", + "estimate_pdf.april": "Tháng 4", + "estimate_pdf.august": "Tháng 8", "estimate_pdf.continued": "{group} (tiếp theo)", "estimate_pdf.cost_estimate": "Dự toán chi phí", "estimate_pdf.could_not_load_report_font": "Không thể tải phông chữ báo cáo: {error}", @@ -705,30 +705,30 @@ "estimate_pdf.could_not_read_the_generation_date": "Không thể đọc ngày tạo: {error}", "estimate_pdf.count": "Số lượng", "estimate_pdf.december": "Tháng 12", - "estimate_pdf.drying_waiting": "Sấy/Đợi", + "estimate_pdf.drying_waiting": "Thời gian chờ/sấy", "estimate_pdf.february": "Tháng 2", "estimate_pdf.generated_utc": "Đã tạo: {day} {} {year} (UTC)", - "estimate_pdf.hands_on": "Thực hành", - "estimate_pdf.hands_on_work": "Công việc thực tế", - "estimate_pdf.includes_final_drying_objects_dry_together_between_steps": "Bao gồm sấy khô lần cuối. Các đồ vật sẽ khô lại với nhau giữa các bước.", + "estimate_pdf.hands_on": "Thời gian làm", + "estimate_pdf.hands_on_work": "Thời gian làm việc", + "estimate_pdf.includes_final_drying_objects_dry_together_between_steps": "Đã tính thời gian khô cuối cùng. Các đối tượng khô đồng thời giữa các công đoạn.", "estimate_pdf.item": "Hạng mục", - "estimate_pdf.january": "Tháng Giêng", - "estimate_pdf.joinery_whole_project": "Đồ mộc (toàn bộ dự án)", + "estimate_pdf.january": "Tháng 1", + "estimate_pdf.joinery_whole_project": "Mối nối gỗ (toàn bộ dự án)", "estimate_pdf.joint": "Mối nối", "estimate_pdf.july": "Tháng 7", - "estimate_pdf.june": "Tháng Sáu", - "estimate_pdf.benchup_planning_estimate_verify_before_purchasing": "BenchUp - Lập kế hoạch ước tính, xác minh trước khi mua", + "estimate_pdf.june": "Tháng 6", + "estimate_pdf.benchup_planning_estimate_verify_before_purchasing": "BenchUp — Ước tính để lập kế hoạch; hãy kiểm tra trước khi mua", "estimate_pdf.march": "Tháng 3", "estimate_pdf.materials": "Vật liệu", - "estimate_pdf.may": "Tháng Năm", - "estimate_pdf.minutes_joint": "Phút / khớp", - "estimate_pdf.no_configured_wood_joints": "Không có khớp nối gỗ được định cấu hình.", + "estimate_pdf.may": "Tháng 5", + "estimate_pdf.minutes_joint": "Phút / mối nối", + "estimate_pdf.no_configured_wood_joints": "Chưa cấu hình mối nối gỗ.", "estimate_pdf.november": "Tháng 11", "estimate_pdf.october": "Tháng 10", "estimate_pdf.page_number": "{} / {count}", "estimate_pdf.quantity": "Số lượng", "estimate_pdf.september": "Tháng 9", - "estimate_pdf.sequential_total": "Tổng tuần tự", + "estimate_pdf.sequential_total": "Tổng thời gian theo trình tự", "estimate_pdf.summary": "Tóm tắt", "estimate_pdf.task": "Công việc", "estimate_pdf.the_pdf_font_cannot_display_u_replace_this": "Phông chữ PDF không thể hiển thị '{ch}' (U+{:04X}). Thay thế ký tự này trước khi xuất; báo cáo không bị cắt bớt.", @@ -761,24 +761,24 @@ "fasteners.geometric_clearance": "Khoảng hở hình học", "fasteners.geometric_sizing_automatic_length_passes_through_the_first": "Kích thước hình học: chiều dài tự động xuyên qua bộ phận thứ nhất và đi đến nửa độ sâu khả dụng của bộ phận thứ hai. Đường kính ban đầu chỉ là giá trị mẫu có thể chỉnh sửa. Tính phù hợp với vật liệu, khoan mồi, loại ren và độ bền chưa được xác định; hãy tham khảo nhà sản xuất.", "fasteners.grid": "Lưới", - "fasteners.hardware_dimensions": "{kind} · {:.1} × {:.1}", + "fasteners.hardware_dimensions": "{kind} · {:.1} x {:.1}", "fasteners.hardware_list_preview_dimensions": "Danh sách phụ kiện (kích thước xem trước)", - "fasteners.hardware_mm": "Phụ kiện: {} × {}, Ø {:.1} mm", + "fasteners.hardware_mm": "Phụ kiện: {} x {}, Ø {:.1} mm", "fasteners.invalid_connections": { "one": "{count} mối nối không hợp lệ: số lượng chưa đầy đủ. Hãy sửa lỗi trước khi mua.", "other": "{count} mối nối không hợp lệ: số lượng chưa đầy đủ. Hãy sửa lỗi trước khi mua." }, - "fasteners.invalid_fastener_connection": "⚠ Mối nối phụ kiện không hợp lệ", + "fasteners.invalid_fastener_connection": "Mối nối phụ kiện không hợp lệ", "fasteners.kreg_screw_selector_thicknesses_and_materials": "Bộ chọn vít Kreg (độ dày và vật liệu)", "fasteners.length_0_geometry": "Chiều dài (0 = hình học)", - "fasteners.length_first_part_penetration_mm": "{}: chiều dài {:.1} · phần đầu {:.1} · độ xuyên {:.1} mm", + "fasteners.length_first_part_penetration_mm": "{}: chiều dài {:.1} · phần thứ nhất {:.1} · độ xuyên {:.1} mm", "fasteners.missing_part": "Thiếu bộ phận #{id}", "fasteners.nail": "Đinh", "fasteners.no_material_assigned": "Chưa gán vật liệu", "fasteners.part": "Chi tiết {}: {} · {material}", "fasteners.pattern": "Cách bố trí", "fasteners.pick_entry_face_in_viewport": "Chọn mặt bắt đầu trên khung nhìn…", - "fasteners.preview_before_creating": "Xem trước trước khi tạo", + "fasteners.preview_before_creating": "Xem trước khi tạo", "fasteners.preview_diameter": "Đường kính xem trước", "fasteners.preview_fasteners": { "one": "Xem trước: {count} chi tiết liên kết", @@ -802,18 +802,18 @@ "fasteners.the_object_pair_is_no_longer_editable_no": "Không thể chỉnh sửa cặp đối tượng này nữa. Không có chi tiết liên kết nào được tạo.", "fasteners.the_objects_permissions_or_connection_changed_reopen_automatic": "Đối tượng, quyền hoặc mối nối đã thay đổi. Hãy mở lại Phụ kiện liên kết tự động trước khi chỉnh sửa.", "fasteners.two_rows": "Hai hàng", - "fasteners.type_length_mm": "Loại · Ø × chiều dài (mm)", + "fasteners.type_length_mm": "Loại · Ø x chiều dài (mm)", "fasteners.unlock_both_objects_before_editing_or_removing_their": "Mở khóa cả hai đối tượng trước khi chỉnh sửa hoặc xóa mối nối.", "fasteners.use_this_entry_face": "Dùng mặt bắt đầu này", "finish_settings.add_finishing_product": "+ Thêm sản phẩm hoàn thiện", "finish_settings.area_covered_by_one_container_for_one_coat": "Diện tích được bao phủ bởi một thùng chứa cho một lớp sơn. Sử dụng nhãn sản phẩm; 0 có nghĩa là không rõ. Cập nhật thông tin này khi thay đổi kích thước hoặc đơn vị vùng chứa.", - "finish_settings.e_g_golden_oak_stain": "e.g. Vết ố vàng sồi", + "finish_settings.e_g_golden_oak_stain": "Ví dụ: màu nhuộm gỗ sồi vàng", "finish_settings.finishing_product": "Sản phẩm hoàn thiện", "finish_settings.appearance_color": "Màu hiển thị", "finish_settings.reset_appearance_value": "Đặt lại về mặc định", "finish_settings.clear_color": "Trong suốt", - "finish_settings.coat_strength": "Độ bền của lớp phủ", - "finish_settings.coat_strength_help": "Kiểm soát hiệu ứng hình ảnh của từng lớp sơn. Nó không thay đổi phạm vi bảo hiểm hoặc chi phí.", + "finish_settings.coat_strength": "Độ đậm của lớp phủ", + "finish_settings.coat_strength_help": "Điều chỉnh hiệu ứng hiển thị của từng lớp phủ; không ảnh hưởng đến độ phủ hoặc chi phí.", "finish_settings.sheen": "Độ bóng", "finish_settings.matte": "Mờ", "finish_settings.satin": "Bán bóng", @@ -824,14 +824,14 @@ "finish_settings.dye": "Thuốc nhuộm", "finish_settings.pigment": "Sắc tố", "finish_settings.gel": "Keo gel", - "finish_settings.water_based": "Dựa trên nước", - "finish_settings.oil_based": "Dựa trên dầu", + "finish_settings.water_based": "Gốc nước", + "finish_settings.oil_based": "Gốc dầu", "finish_settings.apply_step": "Áp dụng bước", "finish_settings.move_sanding_up": "Di chuyển giấy nhám lên", "finish_settings.move_sanding_down": "Di chuyển giấy nhám xuống", "finish_settings.viewport_preview_help": "Xem trước gỗ và lớp hoàn thiện được chỉ định theo kiểu mặt Vật liệu. Thời gian làm việc và sấy khô chỉ ảnh hưởng đến ước tính.", "finish_settings.finishing_products": "Sản phẩm hoàn thiện", - "finish_settings.format": "×", + "finish_settings.format": "x", "finish_settings.l": "L", "finish_settings.lacquer": "Sơn mài", "finish_settings.m2_container_coat": "m² / thùng chứa / lớp phủ", @@ -842,7 +842,7 @@ "finish_settings.oil": "Dầu", "finish_settings.other": "Khác", "finish_settings.paint": "Sơn", - "finish_settings.per_container": "{currency} mỗi container", + "finish_settings.per_container": "{currency} mỗi thùng", "finish_settings.pre_stain": "Vết bẩn trước", "finish_settings.pre_stain_conditioner_stain_paint_varnish_and_other": "Chất dưỡng trước vết ố, vết ố, sơn, véc-ni và các chất hoàn thiện khác. Nhập số lượng và giá một container.", "finish_settings.price_container": "Giá / thùng", @@ -862,16 +862,16 @@ "finish_settings.us_qt": "qt (Mỹ)", "finish_settings.varnish": "Vecni", "finish_settings.wax": "Sáp", - "grain_direction.assign": "Chỉ định hướng hạt", + "grain_direction.assign": "Gán hướng vân gỗ", "grain_direction.click_to_confirm": "Nhấp để đặt hướng vân gỗ. Dùng phím mũi tên để khóa trục hoặc nhấn Esc để hủy.", "grain_direction.clear": "Xóa", - "grain_direction.clear_history": "Hướng hạt rõ ràng", + "grain_direction.clear_history": "Xóa hướng vân gỗ", "grain_direction.set_direction": "Đặt hướng", "grain_direction.show": "Hiển thị hướng hạt", "frame_rate.fps": "— FPS", "frame_rate.fps_2": "{fps:.0} FPS", - "inspector_docking.divider_gestures": "Dkéo để thay đổi kích thước khu vực. Nhấp đúp để hợp nhất chúng.", - "inspector_docking.drop_within_15px_inside_an_area_s_edge": "Giảm trong phạm vi 15px bên trong cạnh của khu vực để phân chia; băng qua điểm giữa dọc của một phần để sắp xếp lại hoặc thả vào tâm của khu vực khác để nối", + "inspector_docking.divider_gestures": "Kéo đường phân cách để đổi kích thước khu vực. Nhấp đúp để gộp các khu vực.", + "inspector_docking.drop_within_15px_inside_an_area_s_edge": "Thả cách mép khu vực tối đa 15 px để chia khu vực; kéo qua trung điểm theo chiều dọc để sắp xếp lại, hoặc thả vào giữa khu vực khác để gộp.", "inspector_docking.export_time_and_cost_estimates_as_pdf": "Xuất ước tính thời gian và chi phí dưới dạng PDF", "inspector_docking.generate_pdf": "Tạo PDF", "inspector_docking.manage_available_stock_materials_sizes_and_prices": "Quản lý vật liệu, kích cỡ và giá cả trong kho có sẵn", @@ -881,9 +881,9 @@ "interchange.not_enough_memory_to_read_this_sketchup_file": "Không đủ bộ nhớ để đọc tệp SketchUp này", "interchange.sketchup_group": "Nhóm SketchUp", "interchange.sketchup_import_is_limited_to_64_mib_per": "SketchUp được giới hạn ở 64 MiB mỗi tệp", - "interchange.sketchup_reader_failed": "SketchUp không thành công", - "interchange.sketchup_reader_returned_no_model": "SketchUp không trả về model", - "interchange.skp_disconnected_boundary": "SketchUp mặt có ranh giới bị ngắt kết nối", + "interchange.sketchup_reader_failed": "Không thể đọc tệp SketchUp", + "interchange.sketchup_reader_returned_no_model": "Trình đọc SketchUp không trả về mô hình", + "interchange.skp_disconnected_boundary": "Mặt SketchUp có đường biên không liên thông", "interchange.skp_incomplete_import": "Trình đọc SketchUp không thể hoàn thành quá trình nhập này", "interchange.skp_instance_transform": "Phiên bản SketchUp không được hỗ trợ", "interchange.skp_invalid_boundary": "SketchUp mặt có ranh giới không hợp lệ", @@ -949,10 +949,10 @@ "joinery.wood_joinery": "Mối nối gỗ", "joinery.wood_joint_click_to_edit": "Mối nối gỗ #{id}: {message}\nNhấp để chỉnh sửa", "joinery.wood_joint_suspended": "Khớp gỗ #{id} bị đình chỉ: {error}", - "joinery_cards.a_continuous_thin_tongue_fits_into_a_matching": "A lưỡi mỏng liên tục vừa khít với rãnh phù hợp.", - "joinery_cards.a_flared_tail_fits_into_a_matching_tapered": "A vừa khít với ổ cắm côn phù hợp.", - "joinery_cards.a_stepped_edge_fits_against_the_complementary_rebate": "A có bước cạnh phù hợp với mức giảm giá bổ sung.", - "joinery_cards.a_tenon_with_shoulders_fits_into_a_rectangular": "A có vai vừa với mộng hình chữ nhật.", + "joinery_cards.a_continuous_thin_tongue_fits_into_a_matching": "Lưỡi mộng mỏng, liền mạch khớp với rãnh tương ứng.", + "joinery_cards.a_flared_tail_fits_into_a_matching_tapered": "Đuôi mộng loe khớp với hốc có độ côn tương ứng.", + "joinery_cards.a_stepped_edge_fits_against_the_complementary_rebate": "Cạnh bậc khớp với rãnh bậc tương ứng.", + "joinery_cards.a_tenon_with_shoulders_fits_into_a_rectangular": "Mộng có vai khớp với lỗ mộng hình chữ nhật.", "joinery_cards.alternating_straight_fingers_interlock_across_the_joint": "Các ngón tay thẳng xen kẽ đan xen vào nhau trên khớp.", "joinery_cards.opposing_half_depth_cuts_let_the_two_parts": "Cắt giảm nửa độ sâu để hai phần chồng lên nhau.", "measurement_tools.add_angle_dimension": "Thêm kích thước góc", @@ -1112,7 +1112,7 @@ "project_files.pdf_document": "Tài liệu PDF", "project_files.pdf_saved_to_but_its_viewer_could_not": "PDF đã được lưu vào {}, nhưng không thể mở được trình xem của nó: {error}", "project_files.report_name": "{name} - {suffix}", - "project_files.save_benchup_project_as": "Lưu dự án BenchUp as", + "project_files.save_benchup_project_as": "Lưu dự án BenchUp thành", "project_files.screenshot": "Ảnh chụp màn hình", "project_files.screenshot_2": "{name} - ảnh chụp màn hình", "project_files.sketchup_import": "SketchUp nhập", @@ -1156,17 +1156,17 @@ "projects.import_sketchup": "Nhập SketchUp", "projects.importing_geometry": "Đang nhập hình học…", "projects.joint_error_separator": " · ", - "projects.layouts_use_assigned_stock_dimensions_and_saw_kerf": "Layouts sử dụng kích thước phôi và đường cưa được chỉ định. Xác nhận thớ gỗ, đồ mộc và các hình dạng không đều so với mô hình; đây là cách bố trí thực tế, không phải là mức tối thiểu được đảm bảo.", - "projects.leave_off_when_the_length_must_follow_the": "Rời đi khi chiều dài phải tuân theo thớ gốc.", + "projects.layouts_use_assigned_stock_dimensions_and_saw_kerf": "Sơ đồ xếp phôi dùng kích thước phôi và mạch cưa đã gán. Hãy đối chiếu hướng vân gỗ, mối nối và các hình dạng không đều với mô hình; đây là phương án bố trí thực tế, không bảo đảm mức tối ưu tuyệt đối.", + "projects.leave_off_when_the_length_must_follow_the": "Tắt tùy chọn này nếu chiều dài phải theo hướng vân gỗ.", "projects.location_and_share_link": "{location}\n{url}", "projects.mm": " mm", "projects.no_recent_projects": "Không có dự án nào gần đây", - "projects.only_visible_parts_with_assigned_stock_materials_are": "Chỉ bao gồm các bộ phận có thể nhìn thấy được với vật liệu dự trữ được chỉ định. Chỉ định tài liệu trong Thông tin thực thể bằng cách sử dụng bảng giá hàng tồn kho. Các bộ phận lồng nhau kế thừa vật liệu lắp ráp của chúng trừ khi được chỉ định riêng.", - "projects.opening_project": "Khai trương dự án…", - "projects.please_wait": "Xin vui lòng đợi…", + "projects.only_visible_parts_with_assigned_stock_materials_are": "Chỉ tính các chi tiết đang hiển thị được gán vật liệu phôi. Gán vật liệu trong Thông tin thực thể bằng bảng giá phôi. Các chi tiết lồng nhau kế thừa vật liệu của cụm lắp ráp, trừ khi được gán riêng.", + "projects.opening_project": "Đang mở dự án…", + "projects.please_wait": "Vui lòng đợi…", "projects.preparing_estimates_pdf": "Chuẩn bị ước tính thời gian và chi phí PDF…", "projects.preparing_cutting_plan_pdf": "Đang chuẩn bị kế hoạch cắt PDF…", - "projects.preparing_workshop_labels_pdf": "Chuẩn bị nhãn hội thảo PDF…", + "projects.preparing_workshop_labels_pdf": "Đang chuẩn bị PDF nhãn xưởng…", "projects.project_download_started": "Đã bắt đầu tải xuống dự án", "projects.project_file": "Tệp dự án", "projects.project_opened": "Dự án đã mở", @@ -1189,9 +1189,9 @@ "projects.whole_project_visible_only": "Toàn bộ dự án (chỉ hiển thị)", "projects.wood_joint": "Khớp gỗ #{id}: {error}", "projects.woodworking_cutting_plan": "Kế hoạch cắt chế biến gỗ", - "projects.workshop_labels": "Nhãn hội thảo", - "projects.workshop_labels_pdf_opened_in_a_new_tab": "Nhãn hội thảo PDF được mở trong tab mới", - "projects.workshop_labels_pdf_saved_and_opened": "Nhãn hội thảo PDF đã được lưu và mở", + "projects.workshop_labels": "Nhãn xưởng", + "projects.workshop_labels_pdf_opened_in_a_new_tab": "PDF nhãn xưởng đã mở trong thẻ mới", + "projects.workshop_labels_pdf_saved_and_opened": "PDF nhãn xưởng đã được lưu và mở", "realtime.invalid_websocket_event": "Sự kiện WebSocket không hợp lệ", "realtime.unsupported_websocket_tls_stream": "Luồng TLS WebSocket không được hỗ trợ", "realtime.url_ticket_connection_queue_wake": "url,vé,kết nối,hàng đợi,wake", @@ -1274,7 +1274,7 @@ "screenshots.model_views": "Chế độ xem mẫu", "screenshots.pdf": "PDF", "screenshots.png": "PNG", - "screenshots.right": "Đúng", + "screenshots.right": "Phải", "screenshots.select_at_least_one_view": "Chọn ít nhất một chế độ xem.", "screenshots.smask_0_r": " /SMask {id} 0 R", "screenshots.some_screenshot_views_did_not_finish_rendering": "Một số chế độ xem ảnh chụp màn hình không hoàn tất hiển thị.", @@ -1321,7 +1321,7 @@ "router.square_edge_required": "Cấu hình này yêu cầu cạnh 90°.", "router.suspended": "Định tuyến trên cạnh #{id} bị tạm dừng: {error}", "router.width": "Chiều rộng", - "section_gizmo.drag_section_along_its_axis_esc_to_cancel": "Dkéo phần {} dọc theo trục của nó · Esc để hủy. Khi xem dọc theo trục, hãy kéo lên/xuống.", + "section_gizmo.drag_section_along_its_axis_esc_to_cancel": "Kéo mặt cắt {} dọc theo trục · Esc để hủy. Khi nhìn dọc theo trục, hãy kéo lên/xuống.", "settings.adjust_mouse_and_trackpad_navigation_sensitivity": "Điều chỉnh độ nhạy điều hướng bằng chuột và bàn di chuột.", "settings.automatically_group_new_shapes": "Tự động nhóm các hình mới", "settings.automatically_size_grid_when_zooming": "Tự điều chỉnh kích thước lưới khi thu phóng", @@ -1676,7 +1676,7 @@ }, "stock_settings.currency": "Tiền tệ", "stock_settings.current_project": " (dự án hiện tại)", - "stock_settings.e_g_pine_2_4": "e.g. Thông 2 × 4", + "stock_settings.e_g_pine_2_4": "Ví dụ: gỗ thông 2 × 4", "stock_settings.existing_projects_keep_their_material_definitions_and_assignments": "Các dự án hiện tại giữ nguyên các định nghĩa và nhiệm vụ quan trọng của chúng. Họ sẽ không còn nhận được cập nhật danh mục cho tài liệu này nữa.", "stock_settings.format": "×", "stock_settings.hardboard": "Ván sợi cứng", @@ -1714,7 +1714,7 @@ "stock_settings.veneer": "Ván lạng", "stock_settings.width": "Chiều rộng", "stock_settings.wood": "Gỗ", - "stock_settings.wood_stock": "Cổ phiếu gỗ", + "stock_settings.wood_stock": "Phôi gỗ", "storage.cannot_locate_the_application_data_directory": "Không thể định vị thư mục dữ liệu ứng dụng", "storage.cannot_read_local_storage": "Không thể đọc bộ nhớ cục bộ", "storage.invalid_storage_path": "Đường dẫn lưu trữ không hợp lệ", @@ -1777,100 +1777,100 @@ "text_tools.enter_label_text": "Nhập văn bản nhãn", "text_tools.enter_to_save_shift_enter_for_a_new": "Enter để lưu · Shift+Enter để có dòng mới · Esc để hủy", "text_tools.text": "Văn bản", - "time_estimates.add_finishing_products_in_settings_material": "Thêm sản phẩm hoàn thiện trong Cài đặt → Chất liệu.", - "time_estimates.add_grit": "Thêm độ nhám", - "time_estimates.allowances_cover_layout_cutting_and_fitting_both_parts": "Các khoản phụ cấp bao gồm việc bố trí, cắt và lắp cả hai phần của mỗi mối nối. Mặc định giả định cửa hàng dụng cụ điện và đồ gá lắp. Thời gian thực tế thay đổi tùy theo công cụ và quy trình làm việc.", - "time_estimates.amount": "A ({currency})", - "time_estimates.apply_materials_to_children": "Áp dụng tài liệu cho trẻ", - "time_estimates.apply_to_all_children": "Áp dụng cho tất cả trẻ em", + "time_estimates.add_finishing_products_in_settings_material": "Thêm sản phẩm hoàn thiện trong Cài đặt → Vật liệu.", + "time_estimates.add_grit": "Thêm cấp hạt nhám", + "time_estimates.allowances_cover_layout_cutting_and_fitting_both_parts": "Thời gian dự phòng bao gồm việc lấy dấu, cắt và lắp cả hai phần của mỗi mối nối. Mức mặc định giả định sử dụng máy móc và đồ gá trong xưởng. Thời gian thực tế thay đổi tùy theo dụng cụ và quy trình.", + "time_estimates.amount": "Thành tiền ({currency})", + "time_estimates.apply_materials_to_children": "Áp dụng vật liệu cho các đối tượng con", + "time_estimates.apply_to_all_children": "Áp dụng cho tất cả đối tượng con", "time_estimates.assigned_items_omitted": { "one": "{count}: không có độ dày sử dụng được.", "other": "{count}: không có độ dày sử dụng được." }, "time_estimates.between_coats": "Giữa các lớp", - "time_estimates.between_coats_applies_to_varnish_only_enable_varnish": "Giữa các lớp chỉ áp dụng cho sơn bóng. Kích hoạt sơn bóng với ít nhất 2 lớp.", - "time_estimates.between_varnish_coats_sand_after_each_coat_except": "Giữa các lớp sơn bóng: chà nhám sau mỗi lớp sơn trừ lớp cuối cùng, thay vì trước khi hoàn thiện.", + "time_estimates.between_coats_applies_to_varnish_only_enable_varnish": "Thời gian chờ giữa các lớp chỉ áp dụng cho sơn bóng. Bật sơn bóng và đặt ít nhất 2 lớp.", + "time_estimates.between_varnish_coats_sand_after_each_coat_except": "Giữa các lớp sơn bóng: chà nhám sau mỗi lớp, trừ lớp cuối cùng, thay vì chà nhám trước khi hoàn thiện.", "time_estimates.change_sanding_and_finishing": "Thay đổi chà nhám và hoàn thiện", - "time_estimates.choose_a_product_for_each_enabled_finishing_step": "Chọn một sản phẩm cho mỗi bước hoàn thiện được kích hoạt.", - "time_estimates.choose_sanding_grits_or_finishes_for_objects_in": "Chọn hạt chà nhám hoặc lớp hoàn thiện cho các vật thể trong Vật liệu.", - "time_estimates.coats": "Áo khoác", - "time_estimates.container": "\nThùng chứa: {} {}", + "time_estimates.choose_a_product_for_each_enabled_finishing_step": "Chọn sản phẩm cho mỗi bước hoàn thiện đang bật.", + "time_estimates.choose_sanding_grits_or_finishes_for_objects_in": "Chọn cấp hạt nhám hoặc sản phẩm hoàn thiện cho các đối tượng trong mục Vật liệu.", + "time_estimates.coats": "Số lớp", + "time_estimates.container": "\nĐơn vị đóng gói: {} {}", "time_estimates.container_count": "{value:.0}", "time_estimates.containers": { "one": "{count:.0}", "other": "{count:.0}" }, - "time_estimates.copy_each_selected_object_s_stock_material_sanding": "Sao chép các cài đặt vật liệu gốc, chà nhám và hoàn thiện của từng đối tượng đã chọn sang tất cả các nhóm và thành phần con cháu. Các đối tượng được chọn lồng nhau sẽ giữ cài đặt riêng của chúng.", + "time_estimates.copy_each_selected_object_s_stock_material_sanding": "Sao chép cài đặt vật liệu phôi, chà nhám và hoàn thiện của từng đối tượng được chọn sang mọi nhóm và thành phần hậu duệ. Các đối tượng lồng nhau được chọn vẫn giữ cài đặt riêng.", "time_estimates.cost_estimate": "Dự toán chi phí", "time_estimates.cost_exceeds_estimate_range": "Chi phí vượt quá phạm vi ước tính.", "time_estimates.count": "Số lượng", - "time_estimates.counts_all_configured_wood_joints_regardless_of_selection": "Đếm tất cả các mối nối gỗ đã được định cấu hình, bất kể bối cảnh lựa chọn, khả năng hiển thị hoặc chỉnh sửa.", - "time_estimates.coverage_m2_per_container_per_coat": "; độ che phủ {coverage} m2 mỗi container mỗi lớp", - "time_estimates.coverage_missing_set_m2_per_container_per_coat": "Thiếu độ che phủ: đặt mét vuông mỗi thùng cho mỗi lớp trong Cài đặt → Chất liệu.", + "time_estimates.counts_all_configured_wood_joints_regardless_of_selection": "Tính tất cả mối nối gỗ đã cấu hình, bất kể trạng thái chọn, hiển thị hay ngữ cảnh chỉnh sửa.", + "time_estimates.coverage_m2_per_container_per_coat": "; độ phủ {coverage} m² cho mỗi đơn vị đóng gói, mỗi lớp", + "time_estimates.coverage_missing_set_m2_per_container_per_coat": "Chưa có độ phủ: hãy đặt diện tích m² cho mỗi đơn vị đóng gói, mỗi lớp trong Cài đặt → Vật liệu.", "time_estimates.cuts_excluded_label": { - "one": "{count} cắt không vừa · Không bao gồm trong chi phí", - "other": "{count} không vừa · Không bao gồm trong chi phí" + "one": "{count} chi tiết không vừa phôi · Không tính vào chi phí", + "other": "{count} chi tiết không vừa phôi · Không tính vào chi phí" }, "time_estimates.cuts_excluded_note": { - "one": "\n{count} cắt không vừa - Không bao gồm trong chi phí.", - "other": "\n{count} không vừa - Không bao gồm trong chi phí." + "one": "\n{count} chi tiết không vừa phôi — Không tính vào chi phí.", + "other": "\n{count} chi tiết không vừa phôi — Không tính vào chi phí." }, - "time_estimates.default_allowance_is_minutes_per_joint": "Cho phép mặc định là {} phút cho mỗi khớp.", - "time_estimates.different_wait_after_final_coat": "Dkhác nhau chờ đợi sau lớp sơn cuối cùng", - "time_estimates.draw_or_import_parts_to_estimate_time_and": "Vẽ hoặc nhập các bộ phận để ước tính thời gian và chi phí.", - "time_estimates.drying_waiting": "Sấy/Đợi", - "time_estimates.enter_any_positive_grit_number_including_values_above": "Nhập bất kỳ số grit dương nào, bao gồm các giá trị trên 320", + "time_estimates.default_allowance_is_minutes_per_joint": "Thời gian dự phòng mặc định là {} phút cho mỗi mối nối.", + "time_estimates.different_wait_after_final_coat": "Thời gian chờ sau lớp cuối cùng khác nhau", + "time_estimates.draw_or_import_parts_to_estimate_time_and": "Vẽ hoặc nhập các chi tiết để ước tính thời gian và chi phí.", + "time_estimates.drying_waiting": "Thời gian chờ/sấy", + "time_estimates.enter_any_positive_grit_number_including_values_above": "Nhập cấp hạt nhám lớn hơn 0, kể cả giá trị trên 320", "time_estimates.estimate": "Ước tính", "time_estimates.estimate_incomplete": "Ước tính chưa hoàn thành", "time_estimates.estimate_incomplete_items_omitted": { - "one": "Ước tính chưa đầy đủ: {count} hạng mục được chỉ định bị bỏ qua: không có độ dày sử dụng được.", - "other": "Ước tính chưa hoàn thành: {count} đã bỏ qua các mục được chỉ định: không có độ dày sử dụng được." + "one": "Ước tính chưa đầy đủ: đã bỏ qua {count} mục được gán vì không có độ dày phù hợp.", + "other": "Ước tính chưa đầy đủ: đã bỏ qua {count} mục được gán vì không có độ dày phù hợp." }, - "time_estimates.estimate_incomplete_the_priced_subtotal_excludes_items_with": "Ước tính chưa đầy đủ: tổng phụ được định giá không bao gồm các mặt hàng thiếu giá/phạm vi áp dụng và các khoản cắt giảm không phù hợp. Xem lại tất cả các cảnh báo về mặt hàng.", + "time_estimates.estimate_incomplete_the_priced_subtotal_excludes_items_with": "Ước tính chưa đầy đủ: tổng phụ đã tính giá không bao gồm mục thiếu giá/độ phủ và các chi tiết không vừa phôi. Hãy xem lại mọi cảnh báo về mục.", "time_estimates.exceeds_estimate_range": "Vượt quá phạm vi ước tính", - "time_estimates.final_wait": "Đợi lần cuối", - "time_estimates.finishes_whole_containers_needs_combined_across_objects_and": "Vật liệu hoàn thiện: tính theo thùng nguyên · Cần cộng gộp giữa các đối tượng và lớp trước khi làm tròn.", - "time_estimates.finishes_whole_containers_purchased_surface_area_and_coats": "Vật liệu hoàn thiện: tính theo số thùng nguyên đã mua. Diện tích bề mặt và số lớp được cộng gộp giữa các đối tượng và công đoạn cho từng sản phẩm trước khi làm tròn. Độ phủ tính theo mỗi thùng cho một lớp. Giá chưa bao gồm nhân công.", + "time_estimates.final_wait": "Thời gian chờ cuối", + "time_estimates.finishes_whole_containers_needs_combined_across_objects_and": "Sản phẩm hoàn thiện: tính theo đơn vị đóng gói nguyên · Cộng gộp lượng dùng giữa các đối tượng và số lớp trước khi làm tròn.", + "time_estimates.finishes_whole_containers_purchased_surface_area_and_coats": "Sản phẩm hoàn thiện được mua theo đơn vị đóng gói nguyên. Diện tích bề mặt và số lớp được cộng gộp theo từng sản phẩm trên các đối tượng và công đoạn trước khi làm tròn. Độ phủ tính trên mỗi đơn vị đóng gói cho mỗi lớp. Giá chưa bao gồm nhân công.", "time_estimates.finishing": "Hoàn thiện", - "time_estimates.finishing_applies_only_to_objects_assigned_a_material": "Hoàn thiện chỉ áp dụng cho các đối tượng được gán vật liệu từ Cài đặt → Vật liệu → Gỗ.", - "time_estimates.grit_2": "{grit} nhám", - "time_estimates.grit_3": "Độ nhám", - "time_estimates.h_min": "{} h {} phút", - "time_estimates.hands_on": "Thực hành", - "time_estimates.hands_on_work": "Công việc thực tế", + "time_estimates.finishing_applies_only_to_objects_assigned_a_material": "Công đoạn hoàn thiện chỉ áp dụng cho các đối tượng được gán vật liệu từ Cài đặt → Vật liệu → Gỗ.", + "time_estimates.grit_2": "Cấp hạt nhám {grit}", + "time_estimates.grit_3": "Cấp hạt nhám", + "time_estimates.h_min": "{} giờ {} phút", + "time_estimates.hands_on": "Thời gian làm", + "time_estimates.hands_on_work": "Thời gian thao tác", "time_estimates.include_in_estimate": "Bao gồm trong ước tính", - "time_estimates.includes_final_drying_objects_dry_together_between_steps": "Bao gồm sấy khô lần cuối · Các đồ vật được sấy khô cùng nhau giữa các bước", + "time_estimates.includes_final_drying_objects_dry_together_between_steps": "Đã tính thời gian khô cuối cùng · Các đối tượng khô đồng thời giữa các công đoạn", "time_estimates.item": "Hạng mục", - "time_estimates.joinery_whole_project": "Joinery · Toàn bộ dự án", - "time_estimates.joinery_whole_project_2": "Đồ mộc (toàn bộ dự án)", - "time_estimates.joinery_whole_project_3": "Joinery (toàn bộ dự án). {JOINERY_SCOPE} {JOINERY_ALLOWANCE_NOTE}", + "time_estimates.joinery_whole_project": "Mối nối gỗ · Toàn bộ dự án", + "time_estimates.joinery_whole_project_2": "Mối nối gỗ (toàn bộ dự án)", + "time_estimates.joinery_whole_project_3": "Mối nối gỗ (toàn bộ dự án). {JOINERY_SCOPE} {JOINERY_ALLOWANCE_NOTE}", "time_estimates.joint": "Mối nối", - "time_estimates.kerf_rotation": "Kerf {} · Xoay {}", - "time_estimates.kerf_rotation_stock_uses_each_part_s_full": "Kerf {} - Xoay {}. Stock sử dụng hộp giới hạn đầy đủ của từng bộ phận, bao gồm cả việc cắt lãng phí; các rãnh và vết cắt không làm giảm khoảng trống.", - "time_estimates.materials_all_visible_parts": "M vật liệu · Tất cả các bộ phận có thể nhìn thấy", - "time_estimates.materials_selected_parts": "Vật liệu · Các bộ phận được chọn", - "time_estimates.min_joint": "Min / khớp", + "time_estimates.kerf_rotation": "Mạch cắt {} · Xoay {}", + "time_estimates.kerf_rotation_stock_uses_each_part_s_full": "Mạch cắt {} — Xoay {}. Mỗi chi tiết dùng toàn bộ hộp bao của phôi, kể cả phần hao hụt khi cắt; rãnh và phần khoét không làm giảm kích thước phôi cần dùng.", + "time_estimates.materials_all_visible_parts": "Vật liệu · Tất cả chi tiết đang hiển thị", + "time_estimates.materials_selected_parts": "Vật liệu · Các chi tiết được chọn", + "time_estimates.min_joint": "Phút / mối nối", "time_estimates.minutes_m2": "Phút / m²", "time_estimates.mixed_sanding_and_finishing_settings_changes_apply_to": "Cài đặt chà nhám và hoàn thiện hỗn hợp. Các thay đổi áp dụng cho các đối tượng gỗ đã chọn, bao gồm cả các đối tượng gỗ lồng nhau.", "time_estimates.no_estimates_yet": "Chưa có ước tính", "time_estimates.no_finishing_tasks": "Không có nhiệm vụ hoàn thiện", - "time_estimates.no_stock_estimate_yet": "Chưa ước tính lượng hàng tồn kho", - "time_estimates.no_stock_estimate_yet_assign_stock_materials_to": "Chưa có ước tính hàng tồn kho: {message}. Chỉ định vật liệu tồn kho cho các bộ phận rắn và định cấu hình kích thước/giá tồn kho trong Cài đặt > Vật liệu.", + "time_estimates.no_stock_estimate_yet": "Chưa có ước tính phôi", + "time_estimates.no_stock_estimate_yet_assign_stock_materials_to": "Chưa có ước tính phôi: {message}. Hãy gán vật liệu phôi cho các chi tiết khối đặc và cấu hình kích thước/giá phôi trong Cài đặt → Vật liệu.", "time_estimates.no_surfaces_to_estimate": "Không có bề mặt nào để ước tính", - "time_estimates.no_treatment_tasks_enabled_choose_sanding_grits_or": "Không có tác vụ xử lý nào được bật. Chọn hạt chà nhám hoặc lớp hoàn thiện cho các vật thể trong Vật liệu.", - "time_estimates.no_visible_surfaces_with_assigned_wood_materials": "Không nhìn thấy bề mặt với vật liệu gỗ được chỉ định.", - "time_estimates.no_visible_surfaces_with_assigned_wood_materials_in": "Không có bề mặt nào có thể nhìn thấy được với vật liệu gỗ được chỉ định trong phạm vi hiện tại.", + "time_estimates.no_treatment_tasks_enabled_choose_sanding_grits_or": "Chưa bật công đoạn xử lý nào. Hãy chọn cấp hạt nhám hoặc sản phẩm hoàn thiện cho các đối tượng trong mục Vật liệu.", + "time_estimates.no_visible_surfaces_with_assigned_wood_materials": "Không có bề mặt đang hiển thị nào được gán vật liệu gỗ.", + "time_estimates.no_visible_surfaces_with_assigned_wood_materials_in": "Không có bề mặt đang hiển thị nào được gán vật liệu gỗ trong phạm vi hiện tại.", "time_estimates.objects": { - "one": "{title} (đối tượng {count})", - "other": "{title} (đối tượng {count})" + "one": "{title} ({count} đối tượng)", + "other": "{title} ({count} đối tượng)" }, "time_estimates.partial": " (một phần)", "time_estimates.partial_2": "{} {} (một phần)", - "time_estimates.pre_stain": "Vết bẩn trước", + "time_estimates.pre_stain": "Xử lý trước khi nhuộm", "time_estimates.price": "Giá", - "time_estimates.price_missing_set_the_price_per_container_in": "Thiếu giá: đặt giá cho mỗi container trong Cài đặt → Chất liệu.", + "time_estimates.price_missing_set_the_price_per_container_in": "Chưa có giá: hãy đặt giá cho mỗi đơn vị đóng gói trong Cài đặt → Vật liệu.", "time_estimates.price_unavailable": "Không có giá", - "time_estimates.price_unavailable_add_a_price_in_settings_material": "\nKhông có giá. Thêm giá trong Cài đặt > Chất liệu.", + "time_estimates.price_unavailable_add_a_price_in_settings_material": "\nChưa có giá. Hãy thêm giá trong Cài đặt → Vật liệu.", "time_estimates.product": "Sản phẩm", "time_estimates.product_issue": "\n{issue}", "time_estimates.quantity": "Số lượng", @@ -1878,43 +1878,43 @@ "time_estimates.revert_to_defaults": "Hoàn nguyên về mặc định", "time_estimates.rotation_off": "tắt", "time_estimates.rotation_on": "bật", - "time_estimates.router_allowance": "Hỗ trợ lập kế hoạch: thiết lập một lần cho mỗi hồ sơ, cộng với công việc trên mỗi mét. Điều chỉnh vật liệu, độ sâu và nhiều đường chuyền.", - "time_estimates.router_empty": "Áp dụng cấu hình định tuyến cho một cạnh để ước tính hoạt động của bộ định tuyến.", - "time_estimates.router_rate": "Công việc (phút/m)", - "time_estimates.router_report_note": "Router (toàn bộ dự án): Thiết lập tối thiểu {setup} cho mỗi cấu hình + {rate} tối thiểu/m. Đếm các đường dẫn đã lưu bất kể lựa chọn hay khả năng hiển thị; điều chỉnh vật liệu, độ sâu và đường chuyền.", - "time_estimates.router_scope": "Đếm các đường dẫn định tuyến đã lưu trong suốt dự án, bất kể lựa chọn hay khả năng hiển thị.", - "time_estimates.router_setup": "Thiết lập cho mỗi cấu hình (phút)", - "time_estimates.router_task": "Bộ định tuyến (toàn bộ dự án)", - "time_estimates.router_whole_project": "Router · Toàn bộ dự án", + "time_estimates.router_allowance": "Thời gian dự phòng: thiết lập một lần cho mỗi cấu hình, cộng thời gian gia công theo mét. Điều chỉnh theo vật liệu, độ sâu và số lượt chạy.", + "time_estimates.router_empty": "Gán cấu hình máy phay cho một cạnh để ước tính thời gian gia công.", + "time_estimates.router_rate": "Thời gian gia công (phút/m)", + "time_estimates.router_report_note": "Máy phay (toàn bộ dự án): thiết lập {setup} phút cho mỗi cấu hình + {rate} phút/m. Tính các đường chạy dao đã lưu, bất kể trạng thái chọn hay hiển thị; hãy điều chỉnh theo vật liệu, độ sâu và số lượt chạy.", + "time_estimates.router_scope": "Tính các đường chạy dao đã lưu trong toàn dự án, bất kể trạng thái chọn hay hiển thị.", + "time_estimates.router_setup": "Thời gian thiết lập cho mỗi cấu hình (phút)", + "time_estimates.router_task": "Máy phay (toàn bộ dự án)", + "time_estimates.router_whole_project": "Máy phay · Toàn bộ dự án", "time_estimates.sanding": "Chà nhám", "time_estimates.select_faces_or_groups_with_assigned_wood_materials": "Chọn các mặt hoặc nhóm bằng vật liệu gỗ được chỉ định.", "time_estimates.selected": "Đã chọn", - "time_estimates.selected_wood_surfaces": "Bề mặt gỗ chọn lọc", - "time_estimates.sequential_total": "Tổng tuần tự", - "time_estimates.soak_per_coat": "Ngâm mỗi lớp", - "time_estimates.some_cuts_need_larger_stock_their_cost_is": "Một số vết cắt cần lượng nguyên liệu lớn hơn. Chi phí của họ được loại trừ.", - "time_estimates.stain": "Vết bẩn", + "time_estimates.selected_wood_surfaces": "Bề mặt gỗ được chọn", + "time_estimates.sequential_total": "Tổng thời gian theo trình tự", + "time_estimates.soak_per_coat": "Thời gian thấm mỗi lớp", + "time_estimates.some_cuts_need_larger_stock_their_cost_is": "Một số chi tiết cần phôi lớn hơn nên chi phí của chúng không được tính.", + "time_estimates.stain": "Nhuộm màu", "time_estimates.stock_pieces_without_price": { - "one": "{count} không có giá. Thêm giá trong Cài đặt → Material.", - "other": "{count} không có giá. Thêm giá trong Cài đặt → Material." + "one": "{count} phôi chưa có giá. Hãy thêm giá trong Cài đặt → Vật liệu.", + "other": "{count} phôi chưa có giá. Hãy thêm giá trong Cài đặt → Vật liệu." }, "time_estimates.task": "Công việc", - "time_estimates.the_selected_product_is_no_longer_in_settings": "Sản phẩm đã chọn không còn trong Cài đặt → Chất liệu. Chọn một sự thay thế hoặc xóa nó.", - "time_estimates.time_includes_whole_project_joinery_sanding_finishing_and": "Thời gian bao gồm toàn bộ dự án mộc và định tuyến, chà nhám, hoàn thiện và sấy khô lần cuối.", + "time_estimates.the_selected_product_is_no_longer_in_settings": "Sản phẩm đã chọn không còn trong Cài đặt → Vật liệu. Hãy chọn sản phẩm thay thế hoặc xóa lựa chọn.", + "time_estimates.time_includes_whole_project_joinery_sanding_finishing_and": "Thời gian bao gồm mối nối gỗ và gia công bằng máy phay trên toàn dự án, chà nhám, hoàn thiện và thời gian khô cuối cùng.", "time_estimates.total": "Tổng cộng", "time_estimates.unassigned_finishing_product": "Sản phẩm hoàn thiện chưa được chỉ định", "time_estimates.unavailable": "Không có sẵn", "time_estimates.unavailable_finishing_product": "Sản phẩm hoàn thiện không có sẵn", - "time_estimates.unit_price": "Đơn vị giá ({currency})", + "time_estimates.unit_price": "Đơn giá ({currency})", "time_estimates.unknown": "Không xác định", "time_estimates.unresolved_finishing_products": "Sản phẩm hoàn thiện chưa được giải quyết", - "time_estimates.uses_each_part_s_full_bounding_box_with": "Sử dụng hộp giới hạn đầy đủ của từng bộ phận với cùng cách đóng gói và cài đặt kho như Chuẩn bị kế hoạch cắt. Các vết khía và vết cắt không làm giảm khoảng trống cần thiết. Giá bao gồm cả vật liệu đã mua, bao gồm cả việc cắt giảm chất thải. Lao động không được bao gồm. Sản phẩm hoàn thiện được ước tính riêng biệt với diện tích bề mặt, lớp phủ và độ che phủ của thùng chứa.", + "time_estimates.uses_each_part_s_full_bounding_box_with": "Dùng toàn bộ hộp bao của mỗi chi tiết cùng cách xếp phôi và thiết lập trong mục Chuẩn bị sơ đồ cắt. Rãnh và phần khoét không làm giảm kích thước phôi cần thiết. Giá tính theo vật liệu đã mua, kể cả phần hao hụt khi cắt; chưa bao gồm nhân công. Sản phẩm hoàn thiện được ước tính riêng dựa trên diện tích bề mặt, số lớp và độ phủ của mỗi đơn vị đóng gói.", "time_estimates.value": "Giá trị", "time_estimates.varnish": "Vecni", "time_estimates.visible": "Có thể nhìn thấy", "time_estimates.visible_wood_surfaces": "Bề mặt gỗ nhìn thấy được", "time_estimates.wait_per_coat": "Đợi mỗi lớp", - "time_estimates.wood_stock": "Cổ phiếu gỗ", + "time_estimates.wood_stock": "Phôi gỗ", "time_estimates.wood_surfaces_finishing_applies_only_to_objects_assigned": "{} - {} bề mặt gỗ. Hoàn thiện chỉ áp dụng cho các đối tượng được gán vật liệu từ Cài đặt > Chất liệu > Gỗ.", "tools.arc": "Cung tròn", "tools.arc_instructions": "Nhấp chọn hai đầu mút, sau đó chọn một điểm trên cung · Phím mũi tên khóa mặt phẳng vẽ", @@ -2010,7 +2010,7 @@ "viewports.a_compatible_gpu_renderer_is_required_try_updating": "A. Hãy thử cập nhật trình điều khiển đồ họa của bạn.", "viewports.create_viewport": "Tạo khung nhìn", "viewports.current": "Hiện tại", - "viewports.drag_to_a_viewport_edge_to_split_or": "Dkéo đến cạnh khung nhìn để phân chia hoặc vào giữa khung nhìn để nối các tab. Nhấp chuột phải để đổi tên hoặc đóng.", + "viewports.drag_to_a_viewport_edge_to_split_or": "Kéo đến cạnh khung nhìn để chia, hoặc vào giữa khung nhìn để ghép các thẻ. Nhấp chuột phải để đổi tên hoặc đóng.", "viewports.rename": "Đổi tên…", "viewports.rename_view": "Đổi tên chế độ xem", "viewports.view": "Xem {id}", @@ -2018,7 +2018,7 @@ "web.initial_title": "Mẫu không có tiêu đề - BenchUp", "web.loading.01": "Dành chỗ cho ý tưởng lớn tiếp theo của bạn…", "web.loading.02": "Định hình ý tưởng của bạn với BenchUp…", - "web.loading.03": "A một chút cảm hứng…", + "web.loading.03": "Một chút cảm hứng…", "web.loading.04": "Khởi động góc sáng tạo của bạn…", "web.loading.05": "Những điều tốt đẹp đang hình thành…", "web.loading.06": "Đổi mới mọi thứ…", @@ -2120,7 +2120,7 @@ "export_scale.new_scale": "Quy mô mới", "export_scale.actual_size": "Kích thước thực tế (1:1)", "export_scale.custom_ratio": "Tỷ lệ tùy chỉnh", - "export_scale.ratio_units_hint": "Kích thước xuất khẩu : kích thước model (sử dụng cùng đơn vị)", + "export_scale.ratio_units_hint": "Kích thước xuất : kích thước mô hình (cùng đơn vị)", "export_scale.scale_preview": "Tỷ lệ: {percent:.6}% — 1000 mm trong mô hình xuất dưới dạng {size:.4} mm.", "export_scale.invalid_ratio": "Nhập hai số hữu hạn lớn hơn 0.", "export_scale.stl_units_hint": "STL được xuất theo milimet. Dự án vẫn giữ nguyên kích thước ban đầu.", @@ -2136,8 +2136,8 @@ "orbit.view_center": "Xem trung tâm", "orbit.focused": "Tập trung", "orbit.set_focus": "Đặt tiêu điểm", - "orbit.set_focus_hint": "Nhấp vào một điểm trong khung nhìn để đặt tiêu điểm quỹ đạo. Nhấp chuột phải để hủy. Tập trung sử dụng trung tâm chế độ xem cho đến khi tiêu điểm được đặt.", - "orbit.pivot_hint": "Chọn trục quỹ đạo. Trung tâm lựa chọn sử dụng trung tâm mô hình hiển thị khi không có gì được chọn.", + "orbit.set_focus_hint": "Nhấp vào một điểm trong khung nhìn để đặt tâm xoay. Nhấp chuột phải để hủy. Trước khi đặt tâm, chế độ Tập trung dùng tâm khung nhìn.", + "orbit.pivot_hint": "Chọn tâm xoay. Nếu không có gì được chọn, tùy chọn Tâm vùng chọn sẽ dùng tâm của mô hình đang hiển thị.", "scale_tool.axis_hint": "Tỷ lệ {axis} trục", "scale_tool.plane_hint": "Tỷ lệ trong mặt phẳng {plane}", "scale_tool.uniform_hint": "Tỷ lệ đồng đều", diff --git a/crates/benchup-app/src/theme.rs b/crates/benchup-app/src/theme.rs index 0885009..e880ab0 100644 --- a/crates/benchup-app/src/theme.rs +++ b/crates/benchup-app/src/theme.rs @@ -167,8 +167,13 @@ pub fn apply(ctx: &egui::Context) { "benchup.chinese".into(), egui::FontData::from_static(include_bytes!("../../../assets/fonts/NotoSansSC-Regular.otf")).into(), ); + fonts.font_data.insert( + "benchup.roboto".into(), + egui::FontData::from_static(include_bytes!("../../../assets/fonts/Roboto[wdth,wght].ttf")).into(), + ); for family in [FontFamily::Proportional, FontFamily::Monospace] { fonts.families.entry(family).or_default().push("benchup.chinese".into()); + fonts.families.entry(family).or_default().push("benchup.roboto".into()); } let mut title_fonts = fonts.families[&FontFamily::Proportional].clone(); title_fonts.insert(0, PROJECT_TITLE_FONT.into()); From 04a2bd51f1083321413a3d4ba654f4d1757a1b5b Mon Sep 17 00:00:00 2001 From: Danny Coulombe Date: Fri, 13 Nov 2026 07:46:58 -0500 Subject: [PATCH 3/5] Fix Vietnamese selection count labels --- assets/i18n/vi.json | 18 +++++++++--------- crates/benchup-core/src/i18n.rs | 29 +++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 11 deletions(-) diff --git a/assets/i18n/vi.json b/assets/i18n/vi.json index 9ab54ec..20d5269 100644 --- a/assets/i18n/vi.json +++ b/assets/i18n/vi.json @@ -186,29 +186,29 @@ "app.select_or_click_an_edge_or_face_first": "Chọn hoặc nhấp vào một cạnh hoặc bề mặt trước", "app.selected": "{selection} đã chọn", "app.selection_dimensions": { - "one": "{count}", - "other": "{count}" + "one": "{count} kích thước", + "other": "{count} kích thước" }, "app.selection_edges": { "one": "{count} cạnh", - "other": "{count}" + "other": "{count} cạnh" }, "app.selection_entities": { "one": "{count} thực thể", - "other": "{count}" + "other": "{count} thực thể" }, "app.selection_faces": { "one": "{count} mặt", - "other": "{count}" + "other": "{count} mặt" }, "app.selection_guides": { - "one": "{count}", - "other": "{count}" + "one": "{count} đường dẫn", + "other": "{count} đường dẫn" }, "app.selection_separator": " · ", "app.selection_text_labels": { - "one": "{count}", - "other": "{count}" + "one": "{count} nhãn văn bản", + "other": "{count} nhãn văn bản" }, "app.settings": "Cài đặt…", "app.side_lengths": "Độ dài cạnh", diff --git a/crates/benchup-core/src/i18n.rs b/crates/benchup-core/src/i18n.rs index 258474e..2d8c2a9 100644 --- a/crates/benchup-core/src/i18n.rs +++ b/crates/benchup-core/src/i18n.rs @@ -121,8 +121,33 @@ mod tests { super::set_language("vi"); assert_eq!(tr!("common.cancel"), "Hủy"); assert_eq!(tr!("settings.settings"), "Cài đặt"); - assert_eq!(tr!("app.selection_entities", count = 1), "1 thực thể"); - assert_eq!(tr!("app.selection_entities", count = 2), "2 thực thể"); + // Vietnamese uses the `other` form even for one selected item. + for count in [0, 1, 2] { + assert_eq!( + tr!("app.selection_entities", count = count), + format!("{count} thực thể") + ); + assert_eq!( + tr!("app.selection_edges", count = count), + format!("{count} cạnh") + ); + assert_eq!( + tr!("app.selection_faces", count = count), + format!("{count} mặt") + ); + assert_eq!( + tr!("app.selection_dimensions", count = count), + format!("{count} kích thước") + ); + assert_eq!( + tr!("app.selection_guides", count = count), + format!("{count} đường dẫn") + ); + assert_eq!( + tr!("app.selection_text_labels", count = count), + format!("{count} nhãn văn bản") + ); + } #[cfg(not(target_arch = "wasm32"))] assert_eq!( super::spawn_localized(super::current_language).join().unwrap(), From 1d460d5e873342bc0f27bd8f3c667a195ada6c88 Mon Sep 17 00:00:00 2001 From: Danny Coulombe Date: Fri, 13 Nov 2026 07:57:23 -0500 Subject: [PATCH 4/5] Fix Vietnamese settings test and estimate PDF font coverage --- .github/workflows/pr.yml | 32 ++++++++++ crates/benchup-app/src/estimate_pdf.rs | 83 +++++++++++++++++++++++--- crates/benchup-app/src/settings.rs | 2 +- 3 files changed, 107 insertions(+), 10 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 5ed21a1..c756c52 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -38,6 +38,38 @@ jobs: - name: Test core run: cargo test --locked -p benchup-core + app: + name: Test settings and estimate PDF export + runs-on: ubuntu-24.04 + timeout-minutes: 60 + steps: + - name: Check out repository + uses: actions/checkout@v7 + with: + persist-credentials: false + + - name: Install Linux dependencies + run: | + sudo python3 scripts/install_linux_dependencies.py \ + build-essential pkg-config libx11-dev libxcb1-dev \ + libxkbcommon-dev libwayland-dev libegl1-mesa-dev libudev-dev + + - name: Install Rust + uses: dtolnay/rust-toolchain@1.97.1 + + - name: Set up compiler cache + uses: ./.github/actions/setup-compiler-cache + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + with: + key: pr-app + + - name: Test Vietnamese language settings and estimate PDF export + run: | + bash scripts/ci_cargo.sh test -p benchup-app --lib --profile ci-test --locked -- \ + settings::tests::supported_languages_include_vietnamese estimate_pdf::tests:: + io: name: Test geometry import and export runs-on: ubuntu-24.04 diff --git a/crates/benchup-app/src/estimate_pdf.rs b/crates/benchup-app/src/estimate_pdf.rs index 97fc67a..b07aa40 100644 --- a/crates/benchup-app/src/estimate_pdf.rs +++ b/crates/benchup-app/src/estimate_pdf.rs @@ -28,6 +28,7 @@ const RIGHT: f64 = 553.; const BOTTOM: f64 = 55.; const INK: &str = "0.15 0.20 0.17"; const BORDER: &str = "0.73 0.79 0.74"; +const ROBOTO_FONT_DATA: &[u8] = include_bytes!("../../../assets/fonts/Roboto[wdth,wght].ttf"); enum RowStyle { Plain, @@ -52,6 +53,7 @@ impl RowStyle { struct Pdf<'a> { font: FontRef<'a>, fallback: FontRef<'a>, + unicode_fallback: FontRef<'a>, chars: BTreeMap, pages: Vec, page: String, @@ -63,8 +65,10 @@ impl<'a> Pdf<'a> { fn glyph(&self, ch: char) -> (u8, u16, f64) { let (index, font) = if self.font.charmap().map(ch).is_some() { (1, &self.font) - } else { + } else if self.fallback.charmap().map(ch).is_some() { (2, &self.fallback) + } else { + (3, &self.unicode_fallback) }; let glyph = font.charmap().map(ch).unwrap_or_default(); let width = font @@ -244,7 +248,12 @@ impl<'a> Pdf<'a> { start = end; } } - fn finish(mut self, font_data: &[u8], fallback_data: &[u8]) -> Result, String> { + fn finish( + mut self, + font_data: &[u8], + fallback_data: &[u8], + unicode_fallback_data: &[u8], + ) -> Result, String> { self.pages.push(std::mem::take(&mut self.page)); let count = self.pages.len(); // Add page numbers before constructing the shared font's character map. @@ -289,7 +298,7 @@ impl<'a> Pdf<'a> { let rgb = crate::pdf_header::logo_rgb(); let mut objects = vec![ b"<< /Type /Catalog /Pages 2 0 R >>".to_vec(), - format!("<< /Type /Pages /Count {count} /Kids [{}] >>", (0..count).map(|i| format!("{} 0 R", 14+i*2)).collect::>().join(" ")).into_bytes(), + format!("<< /Type /Pages /Count {count} /Kids [{}] >>", (0..count).map(|i| format!("{} 0 R", 18+i*2)).collect::>().join(" ")).into_bytes(), b"<< /Type /Font /Subtype /Type0 /BaseFont /BenchUpUbuntu /Encoding /Identity-H /DescendantFonts [4 0 R] /ToUnicode 8 0 R >>".to_vec(), format!("<< /Type /Font /Subtype /CIDFontType2 /BaseFont /BenchUpUbuntu /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> /FontDescriptor 5 0 R /CIDToGIDMap 7 0 R /W [0 [{widths}]] >>").into_bytes(), b"<< /Type /FontDescriptor /FontName /BenchUpUbuntu /Flags 32 /FontBBox [-1000 -1000 3000 3000] /ItalicAngle 0 /Ascent 1000 /Descent -300 /CapHeight 750 /StemV 80 /FontFile2 6 0 R >>".to_vec(), @@ -303,8 +312,14 @@ impl<'a> Pdf<'a> { b"<< /Type /FontDescriptor /FontName /BenchUpHack /Flags 33 /FontBBox [-1000 -1000 3000 3000] /ItalicAngle 0 /Ascent 1000 /Descent -300 /CapHeight 750 /StemV 80 /FontFile2 13 0 R >>".to_vec(), stream(&format!("/Length1 {}", fallback_data.len()), fallback_data), ]); + objects.extend([ + b"<< /Type /Font /Subtype /Type0 /BaseFont /BenchUpRoboto /Encoding /Identity-H /DescendantFonts [15 0 R] /ToUnicode 8 0 R >>".to_vec(), + format!("<< /Type /Font /Subtype /CIDFontType2 /BaseFont /BenchUpRoboto /CIDSystemInfo << /Registry (Adobe) /Ordering (Identity) /Supplement 0 >> /FontDescriptor 16 0 R /CIDToGIDMap 7 0 R /W [0 [{widths}]] >>").into_bytes(), + b"<< /Type /FontDescriptor /FontName /BenchUpRoboto /Flags 32 /FontBBox [-1000 -1000 3000 3000] /ItalicAngle 0 /Ascent 1000 /Descent -300 /CapHeight 750 /StemV 80 /FontFile2 17 0 R >>".to_vec(), + stream(&format!("/Length1 {}", unicode_fallback_data.len()), unicode_fallback_data), + ]); for (i, page) in self.pages.iter().enumerate() { - objects.push(format!("<< /Type /Page /Parent 2 0 R /MediaBox [0 0 595 842] /Resources << /Font << /F1 3 0 R /F2 10 0 R >> /XObject << /Logo 9 0 R >> >> /Contents {} 0 R >>", 15+i*2).into_bytes()); + objects.push(format!("<< /Type /Page /Parent 2 0 R /MediaBox [0 0 595 842] /Resources << /Font << /F1 3 0 R /F2 10 0 R /F3 14 0 R >> /XObject << /Logo 9 0 R >> >> /Contents {} 0 R >>", 19+i*2).into_bytes()); objects.push(stream("", page.as_bytes())); } let mut bytes = b"%PDF-1.4\n%\xE2\xE3\xCF\xD3\n".to_vec(); @@ -396,6 +411,10 @@ pub(crate) fn render(report: &Report) -> Result, String> { let fallback_data: &[u8] = definitions.font_data["Hack"].font.as_ref().as_ref(); let fallback = FontRef::new(fallback_data) .map_err(|error| tr!("estimate_pdf.could_not_load_report_symbol_font", error = error))?; + // UI font definitions are separate from the fonts embedded in this PDF. + // Keep the existing text and symbol fonts, and use Roboto for Vietnamese. + let unicode_fallback = FontRef::new(ROBOTO_FONT_DATA) + .map_err(|error| tr!("estimate_pdf.could_not_load_report_font", error = error))?; let mut text = vec![report.name.as_str(), report.currency.as_str()]; text.extend(report.summary.iter().map(String::as_str)); text.extend(report.notes.iter().map(String::as_str)); @@ -414,10 +433,11 @@ pub(crate) fn render(report: &Report) -> Result, String> { if chars.len() > 65_000 { return Err(tr!("estimate_pdf.too_many_distinct_characters_for_one_estimate_pdf").into()); } - if let Some(ch) = chars - .iter() - .find(|ch| font.charmap().map(**ch).is_none() && fallback.charmap().map(**ch).is_none()) - { + if let Some(ch) = chars.iter().find(|ch| { + font.charmap().map(**ch).is_none() + && fallback.charmap().map(**ch).is_none() + && unicode_fallback.charmap().map(**ch).is_none() + }) { return Err(tr!( "estimate_pdf.the_pdf_font_cannot_display_u_replace_this", *ch as u32, @@ -427,6 +447,7 @@ pub(crate) fn render(report: &Report) -> Result, String> { let mut pdf = Pdf { font, fallback, + unicode_fallback, chars: BTreeMap::new(), pages: Vec::new(), page: String::new(), @@ -562,7 +583,7 @@ pub(crate) fn render(report: &Report) -> Result, String> { pdf.table_row(row, &widths, &headers, title, RowStyle::alternating(index)); } } - pdf.finish(data, fallback_data) + pdf.finish(data, fallback_data, ROBOTO_FONT_DATA) } #[cfg(test)] @@ -596,6 +617,7 @@ mod tests { let mut pdf = Pdf { font: FontRef::new(data).unwrap(), fallback: FontRef::new(fallback).unwrap(), + unicode_fallback: FontRef::new(ROBOTO_FONT_DATA).unwrap(), chars: BTreeMap::new(), pages: Vec::new(), page: String::new(), @@ -625,6 +647,49 @@ mod tests { assert!(pdf.page.contains("358.000 682.500 Tm")); } + #[test] + fn vietnamese_report_embeds_readable_selectable_text_in_any_ui_language() { + struct ResetLanguage; + impl Drop for ResetLanguage { + fn drop(&mut self) { + benchup_core::i18n::set_language("en"); + } + } + let _reset = ResetLanguage; + benchup_core::i18n::set_language("vi"); + let mut report = Report { + name: "Xưởng gỗ Việt".into(), + currency: "VND".into(), + notes: vec![tr!("wood_glue.estimate_note", area = "1 m²")], + ..Default::default() + }; + for language in ["vi", "en"] { + benchup_core::i18n::set_language(language); + let bytes = + render(&report).expect("Vietnamese project names and notes can be exported"); + let text = String::from_utf8_lossy(&bytes); + assert!(text.contains("/BaseFont /BenchUpRoboto")); + assert!(text.contains("/F3 14 0 R")); + assert!(text.contains("BT /F3 ")); + assert!( + bytes + .windows(ROBOTO_FONT_DATA.len()) + .any(|data| data == ROBOTO_FONT_DATA) + ); + for ch in ['ộ', 'ủ', 'ỗ', 'ự'] { + assert!( + text.contains(&format!("<{:04X}>", ch as u32)), + "missing {ch}" + ); + } + } + report.notes.push("\u{10ffff}".into()); + assert!( + render(&report).is_err(), + "unsupported characters still produce an error" + ); + } + #[test] fn report_paginates_long_rows_and_embeds_real_logo_and_unicode_font() { let report = Report { diff --git a/crates/benchup-app/src/settings.rs b/crates/benchup-app/src/settings.rs index cfd214d..5450f5d 100644 --- a/crates/benchup-app/src/settings.rs +++ b/crates/benchup-app/src/settings.rs @@ -1192,7 +1192,7 @@ mod tests { #[test] fn supported_languages_include_vietnamese() { - assert!(languages().contains(&("vi", "Tiếng Việt"))); + assert!(languages().contains(&("vi", "Vietnamese"))); let mut settings = GeneralSettings::default(); settings.language = "vi".into(); settings.normalize(); From a61d45e31dbec9c907c3de59b49019dfe9e550be Mon Sep 17 00:00:00 2001 From: Danny Coulombe Date: Fri, 13 Nov 2026 08:05:33 -0500 Subject: [PATCH 5/5] Fix font fallback ownership and deprecated test ID --- crates/benchup-app/src/sidebar.rs | 2 +- crates/benchup-app/src/theme.rs | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/crates/benchup-app/src/sidebar.rs b/crates/benchup-app/src/sidebar.rs index a6ba4c5..a4f4fb1 100644 --- a/crates/benchup-app/src/sidebar.rs +++ b/crates/benchup-app/src/sidebar.rs @@ -245,7 +245,7 @@ mod guide_preference_tests { assert_eq!(restored.drawing_tool, Tool::Line); assert_eq!(restored.images.preferences, app.images.preferences); for key in ["reference_image_defaults", "reference_image_appearance"] { - let id = egui::Id::new(("test/image-section", key)); + let id = egui::Id::unique(("test/image-section", key)); restore_section(&restored_ctx, id, key, true); assert!(!egui::collapsing_header::CollapsingState::load_with_default_open(&restored_ctx, id, true).is_open()); } diff --git a/crates/benchup-app/src/theme.rs b/crates/benchup-app/src/theme.rs index e880ab0..53c528b 100644 --- a/crates/benchup-app/src/theme.rs +++ b/crates/benchup-app/src/theme.rs @@ -172,8 +172,11 @@ pub fn apply(ctx: &egui::Context) { egui::FontData::from_static(include_bytes!("../../../assets/fonts/Roboto[wdth,wght].ttf")).into(), ); for family in [FontFamily::Proportional, FontFamily::Monospace] { - fonts.families.entry(family).or_default().push("benchup.chinese".into()); - fonts.families.entry(family).or_default().push("benchup.roboto".into()); + fonts + .families + .entry(family) + .or_default() + .extend(["benchup.chinese".into(), "benchup.roboto".into()]); } let mut title_fonts = fonts.families[&FontFamily::Proportional].clone(); title_fonts.insert(0, PROJECT_TITLE_FONT.into());