From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 48ECF1FF13B for ; Wed, 20 May 2026 11:22:54 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 19BF11E6E3; Wed, 20 May 2026 11:22:53 +0200 (CEST) From: Lukas Wagner To: pdm-devel@lists.proxmox.com Subject: [PATCH datacenter-manager] ui: autoinstaller: more title case fixups Date: Wed, 20 May 2026 11:22:16 +0200 Message-ID: <20260520092216.127626-1-l.wagner@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1779268923840 X-SPAM-LEVEL: Spam detection results: 0 AWL 0.053 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [titlecaseconverter.com] Message-ID-Hash: PEN7QPXKTZLN5ECBDCQ2PFEIHQO3X2DV X-Message-ID-Hash: PEN7QPXKTZLN5ECBDCQ2PFEIHQO3X2DV X-MailFrom: l.wagner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Signed-off-by: Lukas Wagner --- Notes: Overlooked a couple of these yesterday, since there is a bug where the 'Advanced' section of the Prepared Answers dialog is only visible when editing an existing entity, not when adding a new one. Will report that in the original patch series. Used https://titlecaseconverter.com/ when in doubt, only exception was 'udev', as well as 'root' and 'data' for LVM volume names, since these are the literal names used for the LVs. .../auto_installer/prepared_answer_form.rs | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/ui/src/remotes/auto_installer/prepared_answer_form.rs b/ui/src/remotes/auto_installer/prepared_answer_form.rs index 75f4613e..9772f615 100644 --- a/ui/src/remotes/auto_installer/prepared_answer_form.rs +++ b/ui/src/remotes/auto_installer/prepared_answer_form.rs @@ -347,8 +347,8 @@ pub fn render_network_options_form( .map(|(k, v)| (k.clone(), Value::String(v.clone()))) .collect(), ) - .key_label(tr!("Property name")) - .value_label(tr!("Value to match")) + .key_label(tr!("Property Name")) + .value_label(tr!("Value To Match")) .key_placeholder(tr!("udev property name, e.g. ID_NET_DRIVER")) .value_renderer(render_udev_filter_value.into()) .submit_validate(kv_list_to_udev_filter_map_validate) @@ -409,8 +409,8 @@ pub fn render_disk_setup_form( .with_item("filter") .default("fixed") .render_value(|v: &AttrValue| match v.parse::() { - Ok(DiskSelectionMode::Fixed) => tr!("Fixed list of disk names").into(), - Ok(DiskSelectionMode::Filter) => tr!("Dynamically by udev filter").into(), + Ok(DiskSelectionMode::Fixed) => tr!("Fixed List of Disk Names").into(), + Ok(DiskSelectionMode::Filter) => tr!("Dynamically by udev Filter").into(), _ => v.into(), }) .required(true) @@ -438,8 +438,8 @@ pub fn render_disk_setup_form( .collect(), )) .render_value(|v: &AttrValue| match v.parse::() { - Ok(FilterMatch::Any) => tr!("Match any filter").into(), - Ok(FilterMatch::All) => tr!("Match all filters").into(), + Ok(FilterMatch::Any) => tr!("Match Any Filter").into(), + Ok(FilterMatch::All) => tr!("Match All Filters").into(), _ => v.into(), }) .default(serde_variant_name(FilterMatch::default())) @@ -456,9 +456,9 @@ pub fn render_disk_setup_form( .map(|(k, v)| (k.clone(), Value::String(v.clone()))) .collect(), ) - .key_label(tr!("Property name")) - .value_label(tr!("Value to match")) - .key_placeholder(tr!("udev property name, e.g. ID_MODEL")) + .key_label(tr!("Property Name")) + .value_label(tr!("Value To Match")) + .key_placeholder(tr!("udev Property Name, e.g. ID_MODEL")) .value_renderer(render_udev_filter_value.into()) .submit_validate(kv_list_to_udev_filter_map_validate) .submit_empty(false) @@ -508,7 +508,7 @@ fn add_lvm_advanced_form_fields(panel: &mut InputPanel, fs_opts: &LvmOptions) { FieldPosition::Left, true, false, - tr!("Harddisk size to use (GB)"), + tr!("Harddisk Size To Use (GB)"), Number::new() .name("hdsize") .min(4.) @@ -521,7 +521,7 @@ fn add_lvm_advanced_form_fields(panel: &mut InputPanel, fs_opts: &LvmOptions) { FieldPosition::Left, true, false, - tr!("Swap size (GB)"), + tr!("Swap Size (GB)"), Number::new() .name("swapsize") .min(0.) @@ -534,7 +534,7 @@ fn add_lvm_advanced_form_fields(panel: &mut InputPanel, fs_opts: &LvmOptions) { FieldPosition::Right, true, false, - tr!("Maximum root volume size (GB)"), + tr!("Maximum root Volume Size (GB)"), Number::new() .name("maxroot") .min(0.) @@ -547,7 +547,7 @@ fn add_lvm_advanced_form_fields(panel: &mut InputPanel, fs_opts: &LvmOptions) { FieldPosition::Right, true, false, - tr!("Maximum data volume size (GB)"), + tr!("Maximum data Volume Size (GB)"), Number::new() .name("maxvz") .min(0.) @@ -560,7 +560,7 @@ fn add_lvm_advanced_form_fields(panel: &mut InputPanel, fs_opts: &LvmOptions) { FieldPosition::Right, true, false, - tr!("Minimum free space in LVM volume group (GB)"), + tr!("Minimum Free Space in LVM Volume Group (GB)"), Number::new() .name("minfree") .min(0.) @@ -589,7 +589,7 @@ fn add_zfs_advanced_form_fields(panel: &mut InputPanel, fs_opts: &ZfsOptions) { FieldPosition::Left, true, false, - tr!("ARC maximum size (MiB)"), + tr!("ARC Maximum Size (MiB)"), Number::new() .name("arc-max") .min(64.) @@ -601,7 +601,7 @@ fn add_zfs_advanced_form_fields(panel: &mut InputPanel, fs_opts: &ZfsOptions) { FieldPosition::Right, true, false, - tr!("Checksumming algorithm"), + tr!("Checksumming Algorithm"), Combobox::new() .name("checksum") .items(Rc::new( @@ -623,7 +623,7 @@ fn add_zfs_advanced_form_fields(panel: &mut InputPanel, fs_opts: &ZfsOptions) { FieldPosition::Right, true, false, - tr!("Compression algorithm"), + tr!("Compression Algorithm"), Combobox::new() .name("compress") .items(Rc::new( @@ -661,7 +661,7 @@ fn add_btrfs_advanced_form_fields(panel: &mut InputPanel, fs_opts: &BtrfsOptions FieldPosition::Right, true, false, - tr!("Compression algorithm"), + tr!("Compression Algorithm"), Combobox::new() .name("compress") .items(Rc::new( @@ -735,8 +735,8 @@ pub fn render_target_filter_form( .map(|(k, v)| (k.clone(), Value::String(v.clone()))) .collect(), ) - .key_label(tr!("JSON pointer")) - .value_label(tr!("Value to match")) + .key_label(tr!("JSON Pointer")) + .value_label(tr!("Value To Match")) .key_placeholder("/json/pointer") .submit_validate(|v: &Vec<(String, Value)>| { let map: BTreeMap = v @@ -795,7 +795,7 @@ pub fn render_templating_form(config: &PreparedInstallationConfig) -> yew::Html .map(|(k, v)| (k.clone(), Value::Number((*v).into()))) .collect(), ) - .value_label(tr!("Current value")) + .value_label(tr!("Current Value")) .value_renderer(render_template_counter_value.into()) .submit_validate(kv_list_to_template_counter_map_validate) .submit_empty(false) @@ -919,7 +919,7 @@ pub fn render_show_secret_dialog( let copy_commandline_view = Container::new() .class("pwt-form-grid-col4") - .with_child(FieldLabel::new(tr!("Command line"))) + .with_child(FieldLabel::new(tr!("Command Line"))) .with_child( Row::new() .class("pwt-fill-grid-row") -- 2.47.3