Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions assets/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,14 @@
"currency.uae_dirham": "UAE dirham",
"currency.us_dollar": "US dollar",
"currency.vietnamese_dong": "Vietnamese dong",
"cutting_layout.edge_trim_must_be_0_to_100_mm": "Edge trim must be 0 to 100 mm.",
"cutting_layout.stock_dimensions_must_be_1_1_000_000": "Stock dimensions must be 1-1,000,000 mm and saw kerf 0-100 mm.",
"cutting_layout.strategy_fewest_sheets": "Fewest sheets",
"cutting_layout.strategy_fewest_sheets_hint": "Tries several piece orders and cut directions and keeps the layout with the fewest sheets.",
"cutting_layout.strategy_largest_offcut": "Largest offcut",
"cutting_layout.strategy_largest_offcut_hint": "Uses the fewest sheets, then prefers the layout with the largest reusable offcut.",
"cutting_layout.strategy_rip_first": "Rip first",
"cutting_layout.strategy_rip_first_hint": "Makes full-length rips along the stock length first, then crosscuts inside each strip.",
"cutting_plan.approx_nominal": "Approx. {stock} nominal",
"cutting_plan.board": "BOARD",
"cutting_plan.boards_required": {
Expand Down Expand Up @@ -683,6 +690,19 @@
"cutting_plan.the_project_name_is_too_long_to_fit": "The project name is too long to fit above the workshop labels.",
"cutting_plan.unnamed_part": "Unnamed part",
"cutting_plan.workshop_labels": "Workshop Labels",
"cutting_view.calculating": "Calculating layout…",
"cutting_view.costs": "Costs",
"cutting_view.dimensions": "{} × {} × {}",
"cutting_view.layout_failed": "The cutting layout could not be calculated.",
"cutting_view.mark": "Mark",
"cutting_view.material": "Material",
"cutting_view.parts": "Parts",
"cutting_view.sheets": "Sheets",
"cutting_view.size": "Size",
"cutting_view.total": "Total",
"cutting_view.used_area_amount": "Used area ({currency})",
"cutting_view.used_area_note": "Used area prices each sheet by the area cut from it. Offcuts kept for later are not counted.",
"cutting_view.whole_sheets_amount": "Whole sheets ({currency})",
"desktop_files.missing_project_output_path": "Missing BenchUp project output path",
"desktop_files.missing_sketchup_file_path": "Missing SketchUp file path",
"drawing_groups.the_drawing_could_not_be_grouped": "The drawing could not be grouped",
Expand Down Expand Up @@ -1132,9 +1152,12 @@
"projects.could_not_save_project": "Could not save project: {error}",
"projects.create_a_pdf_with_quantities_and_finished_cut": "Create a PDF with quantities and finished cut sizes.",
"projects.create_one_label_per_piece_with_its_cutting": "Create one label per piece with its cutting-plan mark, name, and finished thickness, width, and length. Print at actual size on A4 paper.",
"projects.cut_layout_strategy": "Layout strategy",
"projects.cutting_plan_pdf_opened_in_a_new_tab": "Cutting plan PDF opened in a new tab",
"projects.cutting_plan_pdf_saved_and_opened": "Cutting plan PDF saved and opened",
"projects.discard_changes": "Discard changes",
"projects.edge_trim": "Edge trim",
"projects.edge_trim_hint": "Removes this margin from each edge of sheet goods. Applies only to sheets at least 600 mm in both directions; narrower stock such as lumber is never trimmed.",
"projects.exporting_geometry": "Exporting geometry…",
"projects.exporting_screenshot": "Exporting screenshot…",
"projects.generate_pdf": "Generate PDF…",
Expand All @@ -1146,6 +1169,7 @@
"projects.geometry_recovered_from_a_damaged_sketchup_archive": "Geometry recovered from a damaged SketchUp archive. Some materials may be missing.",
"projects.respect_wood_grain_direction": "Respect wood grain direction",
"projects.align_part_grain_with_stock_length": "Align each part's assigned grain with the length of the stock.",
"projects.show_used_area_cost": "Show used-area cost",
"projects.show_wood_joinery": "Show wood joinery",
"projects.show_joinery_as_dashed_outlines": "Show joinery cuts as fine dashed outlines on each piece.",
"cutting_plan.joinery_dashed_outlines": "Dashed outlines show joinery projected onto the stock face.",
Expand Down Expand Up @@ -1186,6 +1210,7 @@
"projects.selected_parts_assemblies_visible_only": "Selected parts / assemblies (visible only)",
"projects.the_file_operation_did_not_complete": "The file operation did not complete",
"projects.this_project_belongs_to_connect_to_that_server": "This project belongs to {server}. Connect to that server in Account before opening it.",
"projects.used_area_cost_hint": "Adds a column that prices only the area cut from each sheet. Offcuts kept for later are not counted.",
"projects.whole_project_visible_only": "Whole project (visible only)",
"projects.wood_joint": "Wood joint #{id}: {error}",
"projects.woodworking_cutting_plan": "Woodworking cutting plan",
Expand Down
25 changes: 25 additions & 0 deletions assets/i18n/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,14 @@
"currency.uae_dirham": "Dirham dos Emirados Árabes",
"currency.us_dollar": "Dólar americano",
"currency.vietnamese_dong": "Dong vietnamita",
"cutting_layout.edge_trim_must_be_0_to_100_mm": "A margem da borda deve ficar entre 0 e 100 mm.",
"cutting_layout.stock_dimensions_must_be_1_1_000_000": "As medidas da matéria-prima devem ficar entre 1 e 1.000.000 mm e a espessura da serra entre 0 e 100 mm.",
"cutting_layout.strategy_fewest_sheets": "Menos chapas",
"cutting_layout.strategy_fewest_sheets_hint": "Testa várias ordens de peças e direções de corte e mantém o layout com menos chapas.",
"cutting_layout.strategy_largest_offcut": "Maior sobra",
"cutting_layout.strategy_largest_offcut_hint": "Usa o menor número de chapas e, entre elas, prefere o layout com a maior sobra reaproveitável.",
"cutting_layout.strategy_rip_first": "Cortes longitudinais primeiro",
"cutting_layout.strategy_rip_first_hint": "Faz primeiro cortes longitudinais inteiros ao longo do comprimento da chapa e depois os transversais dentro de cada faixa.",
"cutting_plan.approx_nominal": "Aprox. {stock} nominal",
"cutting_plan.board": "TÁBUA",
"cutting_plan.boards_required": {
Expand Down Expand Up @@ -683,6 +690,19 @@
"cutting_plan.the_project_name_is_too_long_to_fit": "O nome do projeto é longo demais para caber acima das etiquetas de oficina.",
"cutting_plan.unnamed_part": "Peça sem nome",
"cutting_plan.workshop_labels": "Etiquetas de oficina",
"cutting_view.calculating": "Calculando o plano de corte…",
"cutting_view.costs": "Custos",
"cutting_view.dimensions": "{} × {} × {}",
"cutting_view.layout_failed": "Não foi possível calcular o plano de corte.",
"cutting_view.mark": "Marca",
"cutting_view.material": "Material",
"cutting_view.parts": "Peças",
"cutting_view.sheets": "Chapas",
"cutting_view.size": "Medida",
"cutting_view.total": "Total",
"cutting_view.used_area_amount": "Área usada ({currency})",
"cutting_view.used_area_note": "A área usada precifica cada chapa pela área cortada dela. Sobras guardadas para uso futuro não são contadas.",
"cutting_view.whole_sheets_amount": "Chapas inteiras ({currency})",
"drawing_groups.the_drawing_could_not_be_grouped": "Não foi possível agrupar o desenho",
"entity_gizmo.axis_lengths": "Comprimentos nos eixos: {}. {}. {}.",
"entity_gizmo.object_lenghts": "Comprimentos do objeto",
Expand Down Expand Up @@ -1130,9 +1150,12 @@
"projects.could_not_save_project": "Não foi possível salvar o projeto: {error}",
"projects.create_a_pdf_with_quantities_and_finished_cut": "Gera um PDF com as quantidades e as medidas finais de corte.",
"projects.create_one_label_per_piece_with_its_cutting": "Cria uma etiqueta por peça com a marca do plano de corte, o nome e a espessura, largura e comprimento finais. Imprima em tamanho real em papel A4.",
"projects.cut_layout_strategy": "Estratégia de disposição",
"projects.cutting_plan_pdf_opened_in_a_new_tab": "PDF do plano de corte aberto em uma nova aba",
"projects.cutting_plan_pdf_saved_and_opened": "PDF do plano de corte salvo e aberto",
"projects.discard_changes": "Descartar alterações",
"projects.edge_trim": "Margem da borda",
"projects.edge_trim_hint": "Remove essa margem de cada borda das chapas. Só se aplica a chapas com pelo menos 600 mm nas duas direções; madeira mais estreita, como sarrafos, nunca é aparada.",
"projects.exporting_geometry": "Exportando geometria…",
"projects.exporting_screenshot": "Exportando captura de tela…",
"projects.generate_pdf": "Gerar PDF…",
Expand All @@ -1144,6 +1167,7 @@
"projects.geometry_recovered_from_a_damaged_sketchup_archive": "Geometria recuperada de um arquivo SketchUp danificado. Alguns materiais podem estar faltando.",
"projects.respect_wood_grain_direction": "Respeitar a direção do veio",
"projects.align_part_grain_with_stock_length": "Alinha o veio atribuído a cada peça com o comprimento da matéria-prima.",
"projects.show_used_area_cost": "Mostrar custo pela área usada",
"projects.show_wood_joinery": "Mostrar encaixes",
"projects.show_joinery_as_dashed_outlines": "Mostra os cortes de encaixe como contornos tracejados finos em cada peça.",
"cutting_plan.joinery_dashed_outlines": "Contornos tracejados mostram os encaixes projetados na face da matéria-prima.",
Expand Down Expand Up @@ -1184,6 +1208,7 @@
"projects.selected_parts_assemblies_visible_only": "Peças / conjuntos selecionados (somente visíveis)",
"projects.the_file_operation_did_not_complete": "A operação de arquivo não foi concluída",
"projects.this_project_belongs_to_connect_to_that_server": "Este projeto pertence a {server}. Conecte-se a esse servidor em Conta antes de abri-lo.",
"projects.used_area_cost_hint": "Adiciona uma coluna que precifica apenas a área cortada de cada chapa. Sobras guardadas para uso futuro não são contadas.",
"projects.whole_project_visible_only": "Projeto inteiro (somente visíveis)",
"projects.wood_joint": "Encaixe #{id}: {error}",
"projects.woodworking_cutting_plan": "Plano de corte de marcenaria",
Expand Down
25 changes: 25 additions & 0 deletions assets/i18n/zh_CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -630,7 +630,14 @@
"currency.uae_dirham": "阿联酋迪拉姆",
"currency.us_dollar": "美元",
"currency.vietnamese_dong": "越南盾",
"cutting_layout.edge_trim_must_be_0_to_100_mm": "边缘修整必须在 0–100 mm 之间。",
"cutting_layout.stock_dimensions_must_be_1_1_000_000": "原料尺寸必须在 1–1,000,000 mm 之间,锯缝必须在 0–100 mm 之间。",
"cutting_layout.strategy_fewest_sheets": "板材最少",
"cutting_layout.strategy_fewest_sheets_hint": "尝试多种零件顺序和切割方向,保留所需板材最少的排料。",
"cutting_layout.strategy_largest_offcut": "最大余料",
"cutting_layout.strategy_largest_offcut_hint": "先保证板材数量最少,再优先选择可复用余料最大的排料。",
"cutting_layout.strategy_rip_first": "先纵切",
"cutting_layout.strategy_rip_first_hint": "先沿板材长度方向做整长纵切,再在每个条带内横切。",
"cutting_plan.approx_nominal": "约 {stock} 标称",
"cutting_plan.board": "板材",
"cutting_plan.boards_required": {
Expand Down Expand Up @@ -683,6 +690,19 @@
"cutting_plan.the_project_name_is_too_long_to_fit": "项目名称过长,无法放在车间标签上方。",
"cutting_plan.unnamed_part": "未命名部件",
"cutting_plan.workshop_labels": "车间标签",
"cutting_view.calculating": "正在计算排料…",
"cutting_view.costs": "成本",
"cutting_view.dimensions": "{} × {} × {}",
"cutting_view.layout_failed": "无法计算排料。",
"cutting_view.mark": "编号",
"cutting_view.material": "材料",
"cutting_view.parts": "部件",
"cutting_view.sheets": "板材",
"cutting_view.size": "尺寸",
"cutting_view.total": "合计",
"cutting_view.used_area_amount": "按用料面积({currency})",
"cutting_view.used_area_note": "按用料面积计价时,每张板材按其实际裁下的面积计算。留作以后使用的余料不计入。",
"cutting_view.whole_sheets_amount": "整张板材({currency})",
"desktop_files.missing_project_output_path": "缺少 BenchUp 项目输出路径",
"desktop_files.missing_sketchup_file_path": "缺少 SketchUp 文件路径",
"drawing_groups.the_drawing_could_not_be_grouped": "无法对绘图进行分组",
Expand Down Expand Up @@ -1132,9 +1152,12 @@
"projects.could_not_save_project": "无法保存项目:{error}",
"projects.create_a_pdf_with_quantities_and_finished_cut": "生成包含数量和成品下料尺寸的 PDF。",
"projects.create_one_label_per_piece_with_its_cutting": "为每个部件生成一个标签,包含其下料方案编号、名称以及成品厚度、宽度和长度。请按实际尺寸在 A4 纸上打印。",
"projects.cut_layout_strategy": "排料策略",
"projects.cutting_plan_pdf_opened_in_a_new_tab": "下料方案 PDF 已在新标签页中打开",
"projects.cutting_plan_pdf_saved_and_opened": "下料方案 PDF 已保存并打开",
"projects.discard_changes": "放弃更改",
"projects.edge_trim": "边缘修整",
"projects.edge_trim_hint": "从板材每条边去除此宽度。仅适用于两个方向都至少 600 mm 的板材;较窄的木料(如型材)不修边。",
"projects.exporting_geometry": "正在导出几何体…",
"projects.exporting_screenshot": "正在导出截图…",
"projects.generate_pdf": "生成 PDF…",
Expand All @@ -1146,6 +1169,7 @@
"projects.geometry_recovered_from_a_damaged_sketchup_archive": "从损坏的 SketchUp 归档文件中恢复的几何体。部分材质可能已丢失。",
"projects.respect_wood_grain_direction": "遵循木纹方向",
"projects.align_part_grain_with_stock_length": "使各构件的木纹方向与原材料(板材)的长度方向对齐。",
"projects.show_used_area_cost": "显示按用料面积计算的成本",
"projects.show_wood_joinery": "显示木构接合处",
"projects.show_joinery_as_dashed_outlines": "在各构件上以细虚线轮廓显示接合切口。",
"cutting_plan.joinery_dashed_outlines": "虚线轮廓显示了投影在原材料(板材)表面上的接合处。",
Expand Down Expand Up @@ -1186,6 +1210,7 @@
"projects.selected_parts_assemblies_visible_only": "所选部件 / 装配组(仅可见者)",
"projects.the_file_operation_did_not_complete": "文件操作未完成",
"projects.this_project_belongs_to_connect_to_that_server": "该项目属于 {server}。打开前请先在“账户”中连接到该服务器。",
"projects.used_area_cost_hint": "添加一列,仅按每张板材裁下的面积计价。留作以后使用的余料不计入。",
"projects.whole_project_visible_only": "整个项目(仅可见者)",
"projects.wood_joint": "木工接合 #{id}:{error}",
"projects.woodworking_cutting_plan": "木工下料方案",
Expand Down
2 changes: 2 additions & 0 deletions crates/benchup-app/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ mod arc_tool;
mod context_menu;
#[path = "currency.rs"]
mod currency;
#[path = "cutting_view.rs"]
mod cutting_view;
#[path = "display_scene.rs"]
pub(crate) mod display_scene;
#[path = "construction_guides.rs"]
Expand Down
Loading
Loading