diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-07-10 17:43:38 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-08-11 22:04:40 +0000 |
| commit | 757a4885c4c46d13712108ac3f86744f44da3ed0 (patch) | |
| tree | 4089d35d4443920f145549cb1fe5f1c60e3aa152 /android | |
| parent | f3dfa68c98db4614b2cfea8857f03540ea537bc1 (diff) | |
| download | mullvadvpn-757a4885c4c46d13712108ac3f86744f44da3ed0.tar.xz mullvadvpn-757a4885c4c46d13712108ac3f86744f44da3ed0.zip | |
Load main Android string resources file
Diffstat (limited to 'android')
| -rw-r--r-- | android/translations-converter/Cargo.toml | 2 | ||||
| -rw-r--r-- | android/translations-converter/src/android.rs | 18 | ||||
| -rw-r--r-- | android/translations-converter/src/main.rs | 13 |
3 files changed, 32 insertions, 1 deletions
diff --git a/android/translations-converter/Cargo.toml b/android/translations-converter/Cargo.toml index 62e5edadf3..5ab975215a 100644 --- a/android/translations-converter/Cargo.toml +++ b/android/translations-converter/Cargo.toml @@ -7,3 +7,5 @@ edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +serde = { version = "1", features = ["derive"] } +serde-xml-rs = "0.4" diff --git a/android/translations-converter/src/android.rs b/android/translations-converter/src/android.rs new file mode 100644 index 0000000000..b79580db8f --- /dev/null +++ b/android/translations-converter/src/android.rs @@ -0,0 +1,18 @@ +use serde::{Deserialize, Serialize}; + +/// Contents of an Android string resources file. +/// +/// This type can be created directly deserializing the `strings.xml` file. +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct StringResources { + #[serde(rename = "string")] + entries: Vec<StringResource>, +} + +/// An entry in an Android string resources file. +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct StringResource { + name: String, + #[serde(rename = "$value")] + value: String, +} diff --git a/android/translations-converter/src/main.rs b/android/translations-converter/src/main.rs index e7a11a969c..28297c6131 100644 --- a/android/translations-converter/src/main.rs +++ b/android/translations-converter/src/main.rs @@ -1,3 +1,14 @@ +//! Helper tool to convert translations from gettext messages to Android string resources. + +mod android; + +use std::fs::File; + fn main() { - println!("Hello, world!"); + let strings_file = File::open("../src/main/res/values/strings.xml") + .expect("Failed to open string resources file"); + let string_resources: android::StringResources = + serde_xml_rs::from_reader(strings_file).expect("Failed to read string resources file"); + + dbg!(string_resources); } |
