diff --git a/site/src/pages/guide.rs b/site/src/pages/guide.rs index 9fb214c..3ede316 100644 --- a/site/src/pages/guide.rs +++ b/site/src/pages/guide.rs @@ -104,7 +104,7 @@ fn GuideTextBlock() -> impl IntoView { кандзі. - {"Багато слів і особливо імен пишуться використовуючи ієрогліфи кандзі. Кожен ієрогліф кандзі це склад. У системі транслітерації Коваленка, коли однин склад кандзі закінчується на I, а інший кандзі починається зі звуку I, це називається збігом, який означає, що буква I перетворюється на Ї."} + {"Багато слів і особливо імен пишуться використовуючи ієрогліфи кандзі. Кожен ієрогліф кандзі це склад. У системі транслітерації Коваленка, коли один склад кандзі закінчується з гласним звуком, а інший кандзі починається зі звуку I, це називається збігом, що означає, що буква I перетворюється на Ї."}

@@ -133,11 +133,11 @@ fn GuideTextBlock() -> impl IntoView {

- {"Тепер ми можемо записати назву наступним чином: はつ_か_いち. Тепер, коли ми вводимо це у Коваль, ми отримуємо правильний очікуваний результат Хацукаїчі"} + {"Тепер ми можемо записати назву наступним чином: はつ_か_いち. Тепер, коли ми вводимо це у Коваль, ми отримуємо правильний очікуваний результат Хацукаїчі."}

- {"Ви могли помітити, що ієрогліф 廿 читається як はつ (хацу українською). В японській мові кандзі може мати довільне читання, яке читач або автор бажає. Вони можуть буквально придумати власне значення, якщо захочуть. Один ієрогліф кандзі може означати багато різних речей і може бути вимовлений або прочитаний кількома абсолютно різними способами. Отже, використовуючи лише кандзі, неможливо визначити вимову. Коли ви зустрічаєте японця або бачите ім'я, яке написане у вигляді кандзі, ви можете статистично вгадати його прочитання, але щоб бути абсолютно впевненим, ви повинні запитати людину, як воно читається."} + {"Ви могли помітити, що ієрогліф 廿 читається як はつ (хацу українською). В японській мові кандзі може мати довільне читання, яке автор бажає. Вони можуть буквально придумати власне значення, якщо захочуть. Один ієрогліф кандзі може означати багато різних речей і може бути вимовлений або прочитаний кількома абсолютно різними способами. Отже, використовуючи лише кандзі, неможливо визначити вимову. Коли ви зустрічаєте японця або бачите ім'я, яке написане у вигляді кандзі, ви можете інтуїтивно здогадатися, як правильно вимовляти, але щоб бути абсолютно впевненим, ви повинні запитати людину, як воно вимовляється."}

diff --git a/site/src/pages/transliterator.rs b/site/src/pages/transliterator.rs index 28239ff..2593dc8 100644 --- a/site/src/pages/transliterator.rs +++ b/site/src/pages/transliterator.rs @@ -395,19 +395,14 @@ fn CaseSection() -> impl IntoView { } fn uppercase_words(data: &str) -> String { - // Uppercase first letter in string, and letters after spaces. - let mut result = String::new(); - let mut first = true; - for value in data.chars() { - if first { - result.push(value.to_ascii_uppercase()); - first = false; - } else { - result.push(value); - if value == ' ' { - first = true; + data.split_whitespace() // Split the input string into an iterator of words. + .map(|word| { // Map each word to a new string with the first letter capitalized. + let mut chars = word.chars(); // Get an iterator of the characters in the word. + match chars.next() { // Match on the first character of the word. + Some(first_char) => first_char.to_uppercase().collect::() + chars.as_str(), + None => String::new(), // Return an empty string if there is no first character. } - } - } - result + }) + .collect::>() // Collect the mapped words into a vector of strings. + .join(" ") // Join the vector of strings into a single string with spaces. }