diff options
Diffstat (limited to 'android')
| -rw-r--r-- | android/translations-converter/src/android.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/android/translations-converter/src/android.rs b/android/translations-converter/src/android.rs index 8b08e89c5a..5329d95ea4 100644 --- a/android/translations-converter/src/android.rs +++ b/android/translations-converter/src/android.rs @@ -248,3 +248,52 @@ impl PluralResource { PluralResource { name, items } } } + +impl Display for PluralResources { + fn fmt(&self, formatter: &mut Formatter) -> fmt::Result { + writeln!(formatter, r#"<?xml version="1.0" encoding="utf-8"?>"#)?; + writeln!(formatter, "<resources>")?; + + for entry in &self.entries { + write!(formatter, "{}", entry)?; + } + + writeln!(formatter, "</resources>") + } +} + +impl Display for PluralResource { + fn fmt(&self, formatter: &mut Formatter) -> fmt::Result { + writeln!(formatter, r#" <plurals name="{}">"#, self.name)?; + + for item in &self.items { + writeln!(formatter, " {}", item)?; + } + + writeln!(formatter, " </plurals>") + } +} + +impl Display for PluralVariant { + fn fmt(&self, formatter: &mut Formatter) -> fmt::Result { + write!( + formatter, + r#"<item quantity="{}">{}</item>"#, + self.quantity, self.string + ) + } +} + +impl Display for PluralQuantity { + fn fmt(&self, formatter: &mut Formatter) -> fmt::Result { + let quantity = match self { + PluralQuantity::Zero => "zero", + PluralQuantity::One => "one", + PluralQuantity::Few => "few", + PluralQuantity::Many => "many", + PluralQuantity::Other => "other", + }; + + write!(formatter, "{}", quantity) + } +} |
