pub struct TranslationRuleSet { /* private fields */ }Expand description
Ordered collection of named translation rules.
Implementations§
Source§impl TranslationRuleSet
impl TranslationRuleSet
Sourcepub fn rules(&self) -> &[TranslationRule]
pub fn rules(&self) -> &[TranslationRule]
Ordered rules in this set.
Sourcepub const fn language_fallbacks(&self) -> &BTreeMap<String, Vec<String>>
pub const fn language_fallbacks(&self) -> &BTreeMap<String, Vec<String>>
Declared target-language fallback chains.
Sourcepub fn with_rule(self, rule: TranslationRule) -> Self
pub fn with_rule(self, rule: TranslationRule) -> Self
Returns a copy with one rule appended.
Sourcepub fn decorated(&self, decorators: &DecoratorSet) -> Self
pub fn decorated(&self, decorators: &DecoratorSet) -> Self
The rule set the translation-rule decorators of decorators make of
this one, which is not changed. They see each template as
{ rule, language, text } (language is the template’s target, a
formal target included): setting text rewrites the template and
drop removes it, so the language falls back as if the rule had no
template.
Sourcepub fn add_rule(&mut self, rule: TranslationRule)
pub fn add_rule(&mut self, rule: TranslationRule)
Appends a rule to the end of the ordered rule set.
Sourcepub fn with_language_fallback(
self,
target_language: impl Into<String>,
fallback_language: impl Into<String>,
) -> Self
pub fn with_language_fallback( self, target_language: impl Into<String>, fallback_language: impl Into<String>, ) -> Self
Adds a fallback used when a rule has no template for target_language.
Sourcepub fn to_lino(&self) -> String
pub fn to_lino(&self) -> String
Serializes this rule set through the existing canonical LiNo network format.
Sourcepub fn from_lino(text: &str) -> Result<Self, TranslationRuleSetLoadError>
pub fn from_lino(text: &str) -> Result<Self, TranslationRuleSetLoadError>
Loads a rule set from LiNo text produced by TranslationRuleSet::to_lino.
Sourcepub fn statehood_demo_lino() -> &'static str
pub fn statehood_demo_lino() -> &'static str
LiNo text for the built-in statehood demo rule set.
Sourcepub fn statehood_demo() -> Self
pub fn statehood_demo() -> Self
Loads the statehood demo from its LiNo rule-set representation.
Sourcepub fn render_link(
&self,
network: &LinkNetwork,
link_id: LinkId,
target_language: &str,
configuration: ParseConfiguration,
) -> String
pub fn render_link( &self, network: &LinkNetwork, link_id: LinkId, target_language: &str, configuration: ParseConfiguration, ) -> String
Renders one network link, recursively applying this rule set to captures.
Trait Implementations§
Source§impl Clone for TranslationRuleSet
impl Clone for TranslationRuleSet
Source§fn clone(&self) -> TranslationRuleSet
fn clone(&self) -> TranslationRuleSet
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TranslationRuleSet
impl Debug for TranslationRuleSet
impl Eq for TranslationRuleSet
Source§impl PartialEq for TranslationRuleSet
impl PartialEq for TranslationRuleSet
impl StructuralPartialEq for TranslationRuleSet
Auto Trait Implementations§
impl Freeze for TranslationRuleSet
impl RefUnwindSafe for TranslationRuleSet
impl Send for TranslationRuleSet
impl Sync for TranslationRuleSet
impl Unpin for TranslationRuleSet
impl UnsafeUnpin for TranslationRuleSet
impl UnwindSafe for TranslationRuleSet
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more