pub struct UpdateCatalogOptions<'a> {
pub locale: Option<&'a str>,
pub source_locale: &'a str,
pub input: CatalogUpdateInput,
pub existing: Option<&'a str>,
pub mode: CatalogMode,
pub obsolete_strategy: ObsoleteStrategy,
pub overwrite_source_translations: bool,
pub render: RenderOptions<'a>,
}Expand description
Options for in-memory catalog updates.
Fields§
§locale: Option<&'a str>Locale of the catalog being updated. When None, Ferrocat infers it from the existing file.
source_locale: &'a strSource locale used for source-side semantics and fallback handling.
input: CatalogUpdateInputExtracted messages to merge into the catalog.
existing: Option<&'a str>Existing catalog content, when updating an in-memory catalog.
mode: CatalogModeHigh-level catalog mode used when parsing, merging, and rendering the catalog.
obsolete_strategy: ObsoleteStrategyStrategy for messages absent from the extracted input.
overwrite_source_translations: boolWhether source-locale translations should be refreshed from the extracted source strings.
render: RenderOptions<'a>Shared serialization options for the rendered catalog.
Implementations§
Source§impl<'a> UpdateCatalogOptions<'a>
impl<'a> UpdateCatalogOptions<'a>
Sourcepub fn new(
source_locale: &'a str,
input: impl Into<CatalogUpdateInput>,
) -> UpdateCatalogOptions<'a>
pub fn new( source_locale: &'a str, input: impl Into<CatalogUpdateInput>, ) -> UpdateCatalogOptions<'a>
Creates in-memory update options with required fields set.
Optional fields use the same defaults that the previous Default
implementation provided.
Examples found in repository?
examples/ndjson_with_mt_metadata.rs (line 28)
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let hash = machine_translation_hash(EffectiveTranslationRef::Singular("Hallo"));
8 let existing = format!(
9 concat!(
10 "---\n",
11 "format: ferrocat.ndjson.v1\n",
12 "locale: de\n",
13 "source_locale: en\n",
14 "---\n",
15 "{{\"id\":\"Hello\",\"str\":\"Hallo\",\"mt\":{{\"model\":\"example/mt\",\"confidence\":92,\"hash\":\"{hash}\"}}}}\n"
16 ),
17 hash = hash
18 );
19
20 let result = update_catalog(UpdateCatalogOptions {
21 locale: Some("de"),
22 mode: CatalogMode::IcuNdjson,
23 existing: Some(&existing),
24 input: CatalogUpdateInput::SourceFirst(vec![SourceExtractedMessage {
25 msgid: "Hello".to_owned(),
26 ..SourceExtractedMessage::default()
27 }]),
28 ..UpdateCatalogOptions::new("en", CatalogUpdateInput::default())
29 })?;
30
31 assert!(result.content.contains("format: ferrocat.ndjson.v1"));
32 assert!(result.content.contains("\"model\":\"example/mt\""));
33 assert!(result.content.contains(&hash));
34
35 println!("{}", result.content);
36 Ok(())
37}Trait Implementations§
Source§impl<'a> Clone for UpdateCatalogOptions<'a>
impl<'a> Clone for UpdateCatalogOptions<'a>
Source§fn clone(&self) -> UpdateCatalogOptions<'a>
fn clone(&self) -> UpdateCatalogOptions<'a>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for UpdateCatalogOptions<'a>
impl<'a> Debug for UpdateCatalogOptions<'a>
impl<'a> Eq for UpdateCatalogOptions<'a>
Source§impl<'a> PartialEq for UpdateCatalogOptions<'a>
impl<'a> PartialEq for UpdateCatalogOptions<'a>
Source§fn eq(&self, other: &UpdateCatalogOptions<'a>) -> bool
fn eq(&self, other: &UpdateCatalogOptions<'a>) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<'a> StructuralPartialEq for UpdateCatalogOptions<'a>
Auto Trait Implementations§
impl<'a> Freeze for UpdateCatalogOptions<'a>
impl<'a> RefUnwindSafe for UpdateCatalogOptions<'a>
impl<'a> Send for UpdateCatalogOptions<'a>
impl<'a> Sync for UpdateCatalogOptions<'a>
impl<'a> Unpin for UpdateCatalogOptions<'a>
impl<'a> UnsafeUnpin for UpdateCatalogOptions<'a>
impl<'a> UnwindSafe for UpdateCatalogOptions<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more