translate backend strings

This commit is contained in:
Aiden McClelland
2026-01-16 17:03:34 -07:00
parent 763c7d9f87
commit d786424353
96 changed files with 5177 additions and 775 deletions

View File

@@ -21,7 +21,7 @@ pub fn admin_api<C: Context>() -> ParentHandler<C> {
ParentHandler::new()
.subcommand(
"signer",
signers_api::<C>().with_about("Commands to add or list signers"),
signers_api::<C>().with_about("about.commands-add-list-signers"),
)
.subcommand(
"add",
@@ -33,14 +33,14 @@ pub fn admin_api<C: Context>() -> ParentHandler<C> {
"add",
from_fn_async(cli_add_admin)
.no_display()
.with_about("Add admin signer"),
.with_about("about.add-admin-signer"),
)
.subcommand(
"remove",
from_fn_async(remove_admin)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove an admin signer")
.with_about("about.remove-admin-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -49,7 +49,7 @@ pub fn admin_api<C: Context>() -> ParentHandler<C> {
.with_metadata("admin", Value::Bool(true))
.with_display_serializable()
.with_custom_display_fn(|handle, result| display_signers(handle.params, result))
.with_about("List admin signers")
.with_about("about.list-admin-signers")
.with_call_remote::<CliContext>(),
)
}
@@ -62,7 +62,7 @@ fn signers_api<C: Context>() -> ParentHandler<C> {
.with_metadata("admin", Value::Bool(true))
.with_display_serializable()
.with_custom_display_fn(|handle, result| display_signers(handle.params, result))
.with_about("List signers")
.with_about("about.list-signers")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -73,7 +73,7 @@ fn signers_api<C: Context>() -> ParentHandler<C> {
)
.subcommand(
"add",
from_fn_async(cli_add_signer).with_about("Add signer"),
from_fn_async(cli_add_signer).with_about("about.add-signer"),
)
.subcommand(
"edit",
@@ -93,7 +93,7 @@ impl Model<BTreeMap<Guid, SignerInfo>> {
.next()
.transpose()?
.map(|(a, _)| a)
.ok_or_else(|| Error::new(eyre!("unknown signer"), ErrorKind::Authorization))
.ok_or_else(|| Error::new(eyre!("{}", t!("registry.admin.unknown-signer")), ErrorKind::Authorization))
}
pub fn get_signer_info(&self, key: &AnyVerifyingKey) -> Result<(Guid, SignerInfo), Error> {
@@ -103,7 +103,7 @@ impl Model<BTreeMap<Guid, SignerInfo>> {
.filter_ok(|(_, s)| s.keys.contains(key))
.next()
.transpose()?
.ok_or_else(|| Error::new(eyre!("unknown signer"), ErrorKind::Authorization))
.ok_or_else(|| Error::new(eyre!("{}", t!("registry.admin.unknown-signer")), ErrorKind::Authorization))
}
pub fn add_signer(&mut self, signer: &SignerInfo) -> Result<Guid, Error> {
@@ -117,9 +117,8 @@ impl Model<BTreeMap<Guid, SignerInfo>> {
{
return Err(Error::new(
eyre!(
"A signer {} ({}) already exists with a matching key",
guid,
s.name
"{}",
t!("registry.admin.signer-already-exists", guid = guid, name = s.name)
),
ErrorKind::InvalidRequest,
));

View File

@@ -49,7 +49,7 @@ impl<Commitment> RegistryAsset<Commitment> {
}
}
Err(Error::new(
eyre!("Failed to load any http url"),
eyre!("{}", t!("registry.asset.failed-to-load-http-url")),
ErrorKind::Network,
))
}
@@ -64,7 +64,7 @@ impl<Commitment> RegistryAsset<Commitment> {
}
}
Err(Error::new(
eyre!("Failed to load any http url"),
eyre!("{}", t!("registry.asset.failed-to-load-http-url")),
ErrorKind::Network,
))
}
@@ -80,7 +80,7 @@ impl<Commitment> RegistryAsset<Commitment> {
}
}
Err(Error::new(
eyre!("Failed to load any http url"),
eyre!("{}", t!("registry.asset.failed-to-load-http-url")),
ErrorKind::Network,
))
}

View File

@@ -124,7 +124,7 @@ impl RegistryContext {
};
if config.registry_hostname.is_empty() {
return Err(Error::new(
eyre!("missing required configuration: registry-hostname"),
eyre!("{}", t!("registry.context.missing-hostname")),
ErrorKind::NotFound,
));
}
@@ -195,7 +195,7 @@ impl CallRemote<RegistryContext> for CliContext {
url
} else {
return Err(
Error::new(eyre!("`--registry` required"), ErrorKind::InvalidRequest).into(),
Error::new(eyre!("{}", t!("registry.context.registry-required")), ErrorKind::InvalidRequest).into(),
);
};
@@ -330,7 +330,7 @@ impl SignatureAuthContext for RegistryContext {
}
}
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.context.unauthorized")), ErrorKind::Authorization))
}
async fn post_auth_hook(
&self,

View File

@@ -22,7 +22,7 @@ pub fn db_api<C: Context>() -> ParentHandler<C> {
"dump",
from_fn_async(cli_dump)
.with_display_serializable()
.with_about("Filter/query db to display tables and records"),
.with_about("about.filter-query-db"),
)
.subcommand(
"dump",
@@ -34,7 +34,7 @@ pub fn db_api<C: Context>() -> ParentHandler<C> {
"apply",
from_fn_async(cli_apply)
.no_display()
.with_about("Update a db record"),
.with_about("about.update-db-record"),
)
.subcommand(
"apply",

View File

@@ -21,7 +21,7 @@ pub fn info_api<C: Context>() -> ParentHandler<C, WithIoFormat<Empty>> {
from_fn_async(get_info)
.with_metadata("authenticated", Value::Bool(false))
.with_display_serializable()
.with_about("Display registry name, icon, and package categories")
.with_about("about.display-registry-info")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -29,7 +29,7 @@ pub fn info_api<C: Context>() -> ParentHandler<C, WithIoFormat<Empty>> {
from_fn_async(set_name)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Set the name for the registry")
.with_about("about.set-registry-name")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -42,7 +42,7 @@ pub fn info_api<C: Context>() -> ParentHandler<C, WithIoFormat<Empty>> {
"set-icon",
from_fn_async(cli_set_icon)
.no_display()
.with_about("Set the icon for the registry"),
.with_about("about.set-registry-icon"),
)
}

View File

@@ -76,26 +76,26 @@ pub fn registry_api<C: Context>() -> ParentHandler<C> {
"index",
from_fn_async(get_full_index)
.with_display_serializable()
.with_about("List info including registry name and packages")
.with_about("about.list-registry-info-packages")
.with_call_remote::<CliContext>(),
)
.subcommand("info", info::info_api::<C>())
// set info and categories
.subcommand(
"os",
os::os_api::<C>().with_about("Commands related to OS assets and versions"),
os::os_api::<C>().with_about("about.commands-os-assets-versions"),
)
.subcommand(
"package",
package::package_api::<C>().with_about("Commands to index, add, or get packages"),
package::package_api::<C>().with_about("about.commands-index-add-get-packages"),
)
.subcommand(
"admin",
admin::admin_api::<C>().with_about("Commands to add or list admins or signers"),
admin::admin_api::<C>().with_about("about.commands-add-list-admins-signers"),
)
.subcommand(
"db",
db::db_api::<C>().with_about("Commands to interact with the db i.e. dump and apply"),
db::db_api::<C>().with_about("about.commands-registry-db"),
)
}

View File

@@ -141,7 +141,7 @@ async fn add_asset(
.mutate(|s| {
if s.commitment != commitment {
Err(Error::new(
eyre!("commitment does not match"),
eyre!("{}", t!("registry.os.asset.commitment-mismatch")),
ErrorKind::InvalidSignature,
))
} else {
@@ -154,7 +154,7 @@ async fn add_asset(
})?;
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.os.asset.unauthorized")), ErrorKind::Authorization))
}
})
.await
@@ -208,7 +208,7 @@ pub async fn cli_add_asset(
Some("squashfs") => "squashfs",
_ => {
return Err(Error::new(
eyre!("Unknown extension"),
eyre!("{}", t!("registry.os.asset.unknown-extension")),
ErrorKind::InvalidRequest,
));
}
@@ -232,7 +232,7 @@ pub async fn cli_add_asset(
let size = file
.size()
.await
.ok_or_else(|| Error::new(eyre!("failed to read file metadata"), ErrorKind::Filesystem))?;
.ok_or_else(|| Error::new(eyre!("{}", t!("registry.os.asset.failed-read-metadata")), ErrorKind::Filesystem))?;
let commitment = Blake3Commitment {
hash: Base64(*blake3.as_bytes()),
size,
@@ -334,7 +334,7 @@ async fn remove_asset(
.remove(&platform)?;
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.os.asset.unauthorized")), ErrorKind::Authorization))
}
})
.await

View File

@@ -34,7 +34,7 @@ pub fn get_api<C: Context>() -> ParentHandler<C> {
"iso",
from_fn_async(cli_get_os_asset)
.no_display()
.with_about("Download iso"),
.with_about("about.download-iso"),
)
.subcommand(
"img",
@@ -46,7 +46,7 @@ pub fn get_api<C: Context>() -> ParentHandler<C> {
"img",
from_fn_async(cli_get_os_asset)
.no_display()
.with_about("Download img"),
.with_about("about.download-img"),
)
.subcommand(
"squashfs",
@@ -58,7 +58,7 @@ pub fn get_api<C: Context>() -> ParentHandler<C> {
"squashfs",
from_fn_async(cli_get_os_asset)
.no_display()
.with_about("Download squashfs"),
.with_about("about.download-squashfs"),
)
}

View File

@@ -11,7 +11,7 @@ pub fn asset_api<C: Context>() -> ParentHandler<C> {
"add",
from_fn_async(add::cli_add_asset)
.no_display()
.with_about("Add asset to registry"),
.with_about("about.add-asset-registry"),
)
.subcommand("remove", add::remove_api::<C>())
.subcommand("sign", sign::sign_api::<C>())
@@ -19,10 +19,10 @@ pub fn asset_api<C: Context>() -> ParentHandler<C> {
"sign",
from_fn_async(sign::cli_sign_asset)
.no_display()
.with_about("Sign file and add to registry index"),
.with_about("about.sign-file-add-registry"),
)
.subcommand(
"get",
get::get_api::<C>().with_about("Commands to download image, iso, or squashfs files"),
get::get_api::<C>().with_about("about.commands-download-assets"),
)
}

View File

@@ -89,7 +89,7 @@ async fn sign_asset(
.contains(&guid)
{
return Err(Error::new(
eyre!("signer {guid} is not authorized"),
eyre!("{}", t!("registry.os.asset.signer-not-authorized", guid = guid)),
ErrorKind::Authorization,
));
}
@@ -163,7 +163,7 @@ pub async fn cli_sign_asset(
Some("squashfs") => "squashfs",
_ => {
return Err(Error::new(
eyre!("Unknown extension"),
eyre!("{}", t!("registry.os.asset.unknown-extension")),
ErrorKind::InvalidRequest,
));
}
@@ -186,7 +186,7 @@ pub async fn cli_sign_asset(
let size = file
.size()
.await
.ok_or_else(|| Error::new(eyre!("failed to read file metadata"), ErrorKind::Filesystem))?;
.ok_or_else(|| Error::new(eyre!("{}", t!("registry.os.asset.failed-read-metadata")), ErrorKind::Filesystem))?;
let commitment = Blake3Commitment {
hash: Base64(*blake3.as_bytes()),
size,

View File

@@ -17,16 +17,16 @@ pub fn os_api<C: Context>() -> ParentHandler<C> {
from_fn_async(index::get_os_index)
.with_metadata("authenticated", Value::Bool(false))
.with_display_serializable()
.with_about("List index of OS versions")
.with_about("about.list-os-versions-index")
.with_call_remote::<CliContext>(),
)
.subcommand(
"asset",
asset::asset_api::<C>().with_about("Commands to add, sign, or get registry assets"),
asset::asset_api::<C>().with_about("about.commands-add-sign-get-assets"),
)
.subcommand(
"version",
version::version_api::<C>()
.with_about("Commands to add, remove, or list versions or version signers"),
.with_about("about.commands-add-remove-list-versions"),
)
}

View File

@@ -27,7 +27,7 @@ pub fn version_api<C: Context>() -> ParentHandler<C> {
.with_metadata("admin", Value::Bool(true))
.with_metadata("get_signer", Value::Bool(true))
.no_display()
.with_about("Add OS version")
.with_about("about.add-os-version")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -35,12 +35,12 @@ pub fn version_api<C: Context>() -> ParentHandler<C> {
from_fn_async(remove_version)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove OS version")
.with_about("about.remove-os-version")
.with_call_remote::<CliContext>(),
)
.subcommand(
"signer",
signer::signer_api::<C>().with_about("Add, remove, and list version signers"),
signer::signer_api::<C>().with_about("about.add-remove-list-version-signers"),
)
.subcommand(
"get",
@@ -51,7 +51,7 @@ pub fn version_api<C: Context>() -> ParentHandler<C> {
.with_custom_display_fn(|handle, result| {
display_version_info(handle.params, result)
})
.with_about("Get OS versions and related version info")
.with_about("about.get-os-versions-info")
.with_call_remote::<CliContext>(),
)
}

View File

@@ -21,7 +21,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
from_fn_async(add_version_signer)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Add version signer")
.with_about("about.add-version-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -29,7 +29,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
from_fn_async(remove_version_signer)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove version signer")
.with_about("about.remove-version-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -38,7 +38,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
.with_metadata("authenticated", Value::Bool(false))
.with_display_serializable()
.with_custom_display_fn(|handle, result| display_signers(handle.params, result))
.with_about("List version signers and related signer info")
.with_about("about.list-version-signers")
.with_call_remote::<CliContext>(),
)
}
@@ -95,7 +95,7 @@ pub async fn remove_version_signer(
.mutate(|s| Ok(s.remove(&signer)))?
{
return Err(Error::new(
eyre!("signer {signer} is not authorized to sign for v{version}"),
eyre!("{}", t!("registry.os.version.signer-not-authorized", signer = signer, version = version)),
ErrorKind::NotFound,
));
}

View File

@@ -56,7 +56,7 @@ pub async fn add_package(
let Some(([url], rest)) = urls.split_at_checked(1) else {
return Err(Error::new(
eyre!("must specify at least 1 url"),
eyre!("{}", t!("registry.package.add.must-specify-url")),
ErrorKind::InvalidRequest,
));
};
@@ -112,7 +112,7 @@ pub async fn add_package(
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.package.add.unauthorized")), ErrorKind::Authorization))
}
})
.await
@@ -226,7 +226,7 @@ pub async fn remove_package(
) -> Result<bool, Error> {
let peek = ctx.db.peek().await;
let signer =
signer.ok_or_else(|| Error::new(eyre!("missing signer"), ErrorKind::InvalidRequest))?;
signer.ok_or_else(|| Error::new(eyre!("{}", t!("registry.package.missing-signer")), ErrorKind::InvalidRequest))?;
let signer_guid = peek.as_index().as_signers().get_signer(&signer)?;
let rev = ctx
@@ -267,7 +267,7 @@ pub async fn remove_package(
}
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.package.unauthorized")), ErrorKind::Authorization))
}
})
.await;
@@ -342,7 +342,7 @@ pub async fn add_mirror(
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.package.add-mirror.unauthorized")), ErrorKind::Authorization))
}
})
.await
@@ -454,7 +454,7 @@ pub async fn remove_mirror(
) -> Result<(), Error> {
let peek = ctx.db.peek().await;
let signer =
signer.ok_or_else(|| Error::new(eyre!("missing signer"), ErrorKind::InvalidRequest))?;
signer.ok_or_else(|| Error::new(eyre!("{}", t!("registry.package.missing-signer")), ErrorKind::InvalidRequest))?;
let signer_guid = peek.as_index().as_signers().get_signer(&signer)?;
ctx.db
@@ -483,7 +483,7 @@ pub async fn remove_mirror(
.for_each(|(_, asset)| asset.urls.retain(|u| u != &url));
if s.iter().any(|(_, asset)| asset.urls.is_empty()) {
Err(Error::new(
eyre!("cannot remove last mirror from an s9pk"),
eyre!("{}", t!("registry.package.cannot-remove-last-mirror")),
ErrorKind::InvalidRequest,
))
} else {
@@ -493,7 +493,7 @@ pub async fn remove_mirror(
}
Ok(())
} else {
Err(Error::new(eyre!("UNAUTHORIZED"), ErrorKind::Authorization))
Err(Error::new(eyre!("{}", t!("registry.package.remove-mirror.unauthorized")), ErrorKind::Authorization))
}
})
.await

View File

@@ -20,7 +20,7 @@ pub fn category_api<C: Context>() -> ParentHandler<C> {
from_fn_async(add_category)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Add a category to the registry")
.with_about("about.add-category-registry")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -28,7 +28,7 @@ pub fn category_api<C: Context>() -> ParentHandler<C> {
from_fn_async(remove_category)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove a category from the registry")
.with_about("about.remove-category-registry")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -36,7 +36,7 @@ pub fn category_api<C: Context>() -> ParentHandler<C> {
from_fn_async(add_package)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Add a package to a category")
.with_about("about.add-package-category")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -44,7 +44,7 @@ pub fn category_api<C: Context>() -> ParentHandler<C> {
from_fn_async(remove_package)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove a package from a category")
.with_about("about.remove-package-category")
.with_call_remote::<CliContext>(),
)
.subcommand(

View File

@@ -441,8 +441,8 @@ pub async fn cli_download(
0 => {
return Err(Error::new(
eyre!(
"Could not find a version of {id} that satisfies {}",
target_version.unwrap_or(VersionRange::Any)
"{}",
t!("registry.package.get.version-not-found", id = id, version = target_version.unwrap_or(VersionRange::Any))
),
ErrorKind::NotFound,
));
@@ -462,8 +462,8 @@ pub async fn cli_download(
0 => {
return Err(Error::new(
eyre!(
"Could not find a version of {id} that satisfies {}",
target_version.unwrap_or(VersionRange::Any)
"{}",
t!("registry.package.get.version-not-found", id = id, version = target_version.unwrap_or(VersionRange::Any))
),
ErrorKind::NotFound,
));
@@ -551,7 +551,7 @@ pub async fn cli_download(
progress_tracker.complete();
progress.await.unwrap();
println!("Download Complete");
println!("{}", t!("registry.package.get.download-complete"));
Ok(())
}

View File

@@ -17,7 +17,7 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
from_fn_async(index::get_package_index)
.with_metadata("authenticated", Value::Bool(false))
.with_display_serializable()
.with_about("List packages and categories")
.with_about("about.list-packages-categories")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -30,7 +30,7 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
"add",
from_fn_async(add::cli_add_package)
.no_display()
.with_about("Add package to registry index"),
.with_about("about.add-package-registry"),
)
.subcommand(
"add-mirror",
@@ -42,7 +42,7 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
"add-mirror",
from_fn_async(add::cli_add_mirror)
.no_display()
.with_about("Add a mirror for an s9pk"),
.with_about("about.add-mirror-s9pk"),
)
.subcommand(
"remove",
@@ -51,17 +51,17 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
.with_custom_display_fn(|args, changed| {
if !changed {
tracing::warn!(
"{}@{}{} does not exist, so not removed",
args.params.id,
args.params.version,
args.params
.sighash
.map_or(String::new(), |h| format!("#{h}"))
"{}",
t!("registry.package.remove-not-exist",
id = args.params.id,
version = args.params.version,
sighash = args.params.sighash.map_or(String::new(), |h| format!("#{h}"))
)
);
}
Ok(())
})
.with_about("Remove package from registry index")
.with_about("about.remove-package-registry")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -69,12 +69,12 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
from_fn_async(add::remove_mirror)
.with_metadata("get_signer", Value::Bool(true))
.no_display()
.with_about("Remove a mirror from a package")
.with_about("about.remove-mirror-package")
.with_call_remote::<CliContext>(),
)
.subcommand(
"signer",
signer::signer_api::<C>().with_about("Add, remove, and list package signers"),
signer::signer_api::<C>().with_about("about.add-remove-list-package-signers"),
)
.subcommand(
"get",
@@ -85,18 +85,18 @@ pub fn package_api<C: Context>() -> ParentHandler<C> {
.with_custom_display_fn(|handle, result| {
get::display_package_info(handle.params, result)
})
.with_about("List installation candidate package(s)")
.with_about("about.list-installation-candidates")
.with_call_remote::<CliContext>(),
)
.subcommand(
"download",
from_fn_async_local(get::cli_download)
.no_display()
.with_about("Download an s9pk"),
.with_about("about.download-s9pk"),
)
.subcommand(
"category",
category::category_api::<C>()
.with_about("Update the categories for packages on the registry"),
.with_about("about.update-categories-registry"),
)
}

View File

@@ -22,7 +22,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
from_fn_async(add_package_signer)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Add package signer")
.with_about("about.add-package-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -30,7 +30,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
from_fn_async(remove_package_signer)
.with_metadata("admin", Value::Bool(true))
.no_display()
.with_about("Remove package signer")
.with_about("about.remove-package-signer")
.with_call_remote::<CliContext>(),
)
.subcommand(
@@ -41,7 +41,7 @@ pub fn signer_api<C: Context>() -> ParentHandler<C> {
.with_custom_display_fn(|handle, result| {
display_package_signers(handle.params, result)
})
.with_about("List package signers and related signer info")
.with_about("about.list-package-signers")
.with_call_remote::<CliContext>(),
)
}
@@ -114,7 +114,7 @@ pub async fn remove_package_signer(
.is_some()
{
return Err(Error::new(
eyre!("signer {signer} is not authorized to sign for {id}"),
eyre!("{}", t!("registry.package.signer.not-authorized", signer = signer, id = id)),
ErrorKind::NotFound,
));
}

View File

@@ -90,7 +90,7 @@ impl AcceptSigners {
Ok(())
} else {
Err(Error::new(
eyre!("signer(s) not accepted"),
eyre!("{}", t!("registry.signer.not-accepted")),
ErrorKind::InvalidSignature,
))
}