From dbb7682fb3f40d538258e923f53e90ed56d25163 Mon Sep 17 00:00:00 2001 From: Brage Fuglseth Date: Sat, 8 Jun 2024 16:51:38 +0200 Subject: [PATCH] i18n: Nepali text generation (#5) --- data/word_lists/ne_NP.txt | 200 ++++++++++++++++++++++++++++++++++++++ src/text_generation.rs | 20 ++++ 2 files changed, 220 insertions(+) create mode 100644 data/word_lists/ne_NP.txt diff --git a/data/word_lists/ne_NP.txt b/data/word_lists/ne_NP.txt new file mode 100644 index 0000000..eb79057 --- /dev/null +++ b/data/word_lists/ne_NP.txt @@ -0,0 +1,200 @@ +अघि +अथवा +अनि +अनिरुद्र +अनुभव +अन्तमा +अभियान +अमूल्य +अरू +अवधि +अवस्था +अविनव +असलपन +आम्दानी +आयोजना +आर्य +आविष्कार +आशिश +उत्साह +उपलब्ध +उपायले +एक +एक्लै +ओछ्यान +कथा +कपाल +कपास +कम्पनी +काँध +काट्ने +काठमाडौँ +काम +किन +किनेको +कोट +खल्ती +खानेकुरा +खासगरि +खेतीयोग्य +ख्याल +गए +गएर +गति +गरे +गर्नु +गाईवस्तुका +घटना +घटाउनु +चिट्ठी +चिसोपन +छ +छाडेका +छिट्टै +छेउछाउ +जंगल +जनता +जन्म +जरा +जिम्मेवारी +जुत्ता +जो +जोगाउन +टोपी +ठाउँ +त +तर +तालिम +ती +त्यसपछि +त्यसले +त्यसैले +थान +थाल्यो +थुप्रै +दश +दाउरा +दाबी +दिन +दुईवटा +न +नजिकै +नमस्कार +नरहेपछि +नर्सरी +नसक्ने +निकेश +निर्धारित +नेतृत्व +नेपाल +नै +पछि +पत्नी +पनि +पन्ध्र +परिवर्तन +परेवा +पहिले +पाउनु +पिच +पुरस्कार +पुस्तक +पृथ्वी +पौडी +प्रत्येक +प्रदान +प्रयास +प्रयोग +प्रस्ताव +फाइदा +फैलियो +बढी +बढीको +बन्न +बर्खा +बाहिर +बिना +विप्लप +बिरूवा +बिहान +बीजहरू +बेच्न +भए +भएको +भनि +भयो +भाग +भाग्य +भात +भाइ +भिजाउने +म +मन +मरूभूमि +मरे +मन्दिर +मह +महादेशमा +महिना +महिला +माटो +माटोको +मिल्ने +याम +यी +यो +र +रकम +रखेदेख +रमाइलो +राष्ट्रिय +रिस +रूख +रोपेका +रोपेको +लक्ष्य +लगाउने +लाख +लागि +ल्याइए +ल्याएर +वन +वरिपरि +विद्यालय +विपरीत +विभाग +विशेष +वेहोरेर +व्यक्ति +व्यवस्था +व्यवस्थापन +शिविर +शुभम +सक्छन् +सक्दैन +सज्जा +सफलता +सबै +समय +समाज +समूह +सम्झौता +सम्माना +सय +साँझ +साथ +साधारण +सानै +सामूहिक +सार्वजनिक +सुख्खा +सुधार्न +सुरूमा +सौन्दर्य +स्याहार +हाम्रो +हावाहुरी +हुन +हुर्किने +हेरचाह +हैन diff --git a/src/text_generation.rs b/src/text_generation.rs index 3c39b73..dfcb166 100644 --- a/src/text_generation.rs +++ b/src/text_generation.rs @@ -23,6 +23,8 @@ pub enum Language { German, #[strum(message = "Kinyarwanda", to_string = "rw_RW")] Kinyarwanda, + #[strum(message = "नेपाली", to_string = "ne_NP")] + Nepali, #[strum(message = "Norsk bokmål", to_string = "nb_NO")] NorwegianBokmaal, #[strum(message = "Norsk nynorsk", to_string = "nn_NO")] @@ -47,6 +49,17 @@ const GENERIC_PUNCTUATION: &'static [Punctuation] = &[ Punctuation::wrapping("(", ")", false, 0.1), ]; +const DEVANAGARI_PUNCTUATION: &'static [Punctuation] = &[ + Punctuation::suffix("।", true, 0.6), + Punctuation::suffix(",", false, 1.0), + Punctuation::suffix(";", false, 0.1), + Punctuation::suffix(":", false, 0.2), + Punctuation::suffix("!", true, 0.3), + Punctuation::suffix("?", true, 0.3), + Punctuation::wrapping("\"", "\"", false, 0.2), + Punctuation::wrapping("(", ")", false, 0.1), +]; + #[derive(Clone, Copy)] struct Punctuation<'a> { prefix: Option<&'a str>, @@ -86,6 +99,7 @@ pub fn simple(language: Language) -> String { | Language::French | Language::German | Language::Kinyarwanda + | Language::Nepali | Language::NorwegianBokmaal | Language::NorwegianNynorsk | Language::Spanish @@ -135,6 +149,12 @@ pub fn advanced(language: Language) -> String { Punctuation::wrapping("(", ")", false, 0.1), ], ), + // Nepali uses Devanagari punctuation + Language::Nepali => advanced_generic( + &language.to_string(), + " ", + DEVANAGARI_PUNCTUATION, + ), // Spanish has "wrapping" exclamation points and question marks Language::Spanish => advanced_generic( &language.to_string(),