Files
IronCalc/generate_locale/src/util.rs
2023-11-20 10:46:19 +01:00

27 lines
720 B
Rust

use std::fs;
use crate::constants::LOCAL_TYPE;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct AlI {
modern: Vec<String>,
full: Vec<String>,
}
#[derive(Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
struct AvailableLocales {
available_locales: AlI,
}
pub fn get_all_locales_id(cldr_dir: &str) -> Vec<String> {
let al_file = format!("{}cldr-json/cldr-core/availableLocales.json", cldr_dir);
let contents = fs::read_to_string(al_file).unwrap();
let locales: AvailableLocales = serde_json::from_str(&contents).unwrap();
if LOCAL_TYPE == "modern" {
locales.available_locales.modern
} else {
locales.available_locales.full
}
}