pub fn try_get_language(&mut self, lang: &str) -> anyhow::Result<LanguageTexts> {
        // Check if the configuration has the lang.
        if !self.config.get_languages().contains(&String::from(lang)) {
            return Err(anyhow::Error::msg(format!(
                "Cannot find the `{}` lang.",
                lang
            )));
        }

        // Check if the language is in the cache and return it if exists.
        for lang_texts in self.langs.iter() {
            if lang_texts.get_language() == *lang {
                return Ok(lang_texts.clone());
            }
        }

        // Get the language texts file location.
        let path = Path::new(&self.config.get_directory()).join(format!(
            "{}{}",
            lang,
            if cfg!(feature = "with-json") {
                ".json"
            } else if cfg!(feature = "with-toml") {
                ".toml"
            } else {
                ""
            }
        ));

        // Check if the file exists.
        if !path.exists() {
            return Err(anyhow::Error::msg(format!(
                "Cannot find `{}` file.",
                path.display()
            )));
        } else if !path.is_file() {
            return Err(anyhow::Error::msg(format!(
                "The path `{}` is not a file.",
                path.display()
            )));
        }

        // Generate the language texts object for the file.
        let lang_texts = LanguageTexts::new(
            String::from(lang),
            Value::from_string(read_to_string(path)?)?,
        )?;

        // Add the language texts to the cache.
        self.langs.push(lang_texts.clone());

        Ok(lang_texts)
    }
/// Get all texts of a specific language.
///
/// # Example
/// ```rust, ignore
/// use languages_rs::{Config, Languages};
///
/// let mut config = Config::default().unwrap();
/// assert!(config.add_language(String::from("en")).is_ok());
///
/// let mut texts = Languages::new(&config);
///
/// let texts_en = texts.try_get_language("en");
/// assert!(texts_en.is_ok());
///
/// assert_eq!(texts_en.try_get_text("message"), Some(Value::String(String::from("Hi"))));
/// ```
Get all texts of a specific language.
Get all texts of a specific language .
pub fn try_get_language(&mut self, lang: &str) -> anyhow::Result<LanguageTexts> {
        // Check if the configuration has the lang.
        if !self.config.get_languages().contains(&String::from(lang)) {
            return Err(anyhow::Error::msg(format!(
                "Cannot find the `{}` lang.",
                lang
            )));
        }
        // Check if the language is in the cache and return it if exists.
        for lang_texts in self.langs.iter() {
            if lang_texts.get_language() == *lang {
                return Ok(lang_texts.clone());
            }
        }
        // Get the language texts file location.
        let path = Path::new(&self.config.get_directory()).join(format!(
            "{}{}",
            lang,
            if cfg!(feature = "with-json") {
                ".json"
            } else if cfg!(feature = "with-toml") {
                ".toml"
            } else {
                ""
            }
        ));
        // Check if the file exists.
        if !path.exists() {
            return Err(anyhow::Error::msg(format!(
                "Cannot find `{}` file.",
                path.display()
            )));
        } else if !path.is_file() {
            return Err(anyhow::Error::msg(format!(
                "The path `{}` is not a file.",
                path.display()
            )));
        }
        // Generate the language texts object for the file.
        let lang_texts = LanguageTexts::new(
            String::from(lang),
            Value::from_string(read_to_string(path)?)?,
        )?;
        // Add the language texts to the cache.
        self.langs.push(lang_texts.clone());
        Ok(lang_texts)
    }
pub fn try_get_language ( & mut self , lang : & str ) -> anyhow :: Result < LanguageTexts > { // Check if the configuration has the lang. if ! self . config . get_languages ( ) . contains ( & String :: from ( lang ) ) { return Err ( anyhow :: Error :: msg ( format ! ( " " lang ) ) ) ; } // Check if the language is in the cache and return it if exists. for lang_texts in self . langs . iter ( ) { if lang_texts . get_language ( ) == * lang { return Ok ( lang_texts . clone ( ) ) ; } } // Get the language texts file location. let path = Path :: new ( & self . config . get_directory ( ) ) . join ( format ! ( " " lang if cfg ( feature " " ) { " " } else if cfg ( feature " " ) { " " } else { " " } ) ) ; // Check if the file exists. if ! path . exists ( ) { return Err ( anyhow :: Error :: msg ( format ! ( " " path display ( ) ) ) ) ; } else if ! path . is_file ( ) { return Err ( anyhow :: Error :: msg ( format ! ( " " path display ( ) ) ) ) ; } // Generate the language texts object for the file. let lang_texts = LanguageTexts :: new ( String :: from ( lang ) , Value :: from_string ( read_to_string ( path ) ? ) ? , ) ? ; // Add the language texts to the cache. self . langs . push ( lang_texts . clone ( ) ) ; Ok ( lang_texts ) }
Get all texts of a specific language.
Get all texts of a specific language .
&mut self
lang
&str
&mut self
lang
&str
example
```rust, ignore
use languages_rs::{Config, Languages}.

let mut config = Config::default().unwrap();
assert!(config.add_language(String::from("en")).is_ok()).

let mut texts = Languages::new(&config).

let texts_en = texts.try_get_language("en");
assert!(texts_en.is_ok()).

assert_eq!(texts_en.try_get_text("message"), Some(Value::String(String::from("Hi"))));
```
` ` ` rust ignore use languages_rs :: { Config Languages } . let mut config = Config :: default () . unwrap () ; assert! ( config . add_language ( String :: from ( " en " )) . is_ok () ) . let mut texts = Languages :: new ( &config ) . let texts_en = texts . try_get_language ( " en " ) ; assert! ( texts_en . is_ok () ) . assert_eq! ( texts_en . try_get_text ( " message " ) Some ( Value :: String ( String :: from ( " Hi " )))) ; ` ` `