use std::ops::Add;
use crate::language::Lang;
#[derive(Debug, Clone, PartialEq)]
pub struct Translation {
pub(crate) text: String,
pub(crate) src: String,
pub(crate) src_lang: Lang,
pub(crate) target_lang: Lang,
}
impl Translation {
pub fn text(&self) -> &str {
&self.text
}
pub fn src(&self) -> &str {
&self.src
}
pub fn src_lang(&self) -> Lang {
self.src_lang
}
pub fn target_lang(&self) -> Lang {
self.target_lang
}
}
impl AsRef<str> for Translation {
fn as_ref(&self) -> &str {
&self.text
}
}
impl Add for Translation {
type Output = String;
fn add(self, rhs: Self) -> Self::Output {
self.text + &rhs.text
}
}