summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-07-10 17:43:38 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-11 22:04:40 +0000
commit757a4885c4c46d13712108ac3f86744f44da3ed0 (patch)
tree4089d35d4443920f145549cb1fe5f1c60e3aa152 /android
parentf3dfa68c98db4614b2cfea8857f03540ea537bc1 (diff)
downloadmullvadvpn-757a4885c4c46d13712108ac3f86744f44da3ed0.tar.xz
mullvadvpn-757a4885c4c46d13712108ac3f86744f44da3ed0.zip
Load main Android string resources file
Diffstat (limited to 'android')
-rw-r--r--android/translations-converter/Cargo.toml2
-rw-r--r--android/translations-converter/src/android.rs18
-rw-r--r--android/translations-converter/src/main.rs13
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);
}