|
|
@@ -56,7 +56,7 @@ pub enum Labels {
|
|
|
InvalidUsernameExplination,
|
|
|
Username,
|
|
|
InvalidMessage,
|
|
|
- FailedToSendMessage,
|
|
|
+ FailedToSendMessage(NetworkError),
|
|
|
FailedToLoadMessages(NetworkError),
|
|
|
RefreshButton,
|
|
|
BlockedWords,
|
|
|
@@ -99,12 +99,51 @@ impl Labels {
|
|
|
Labels::Send => ["Send", "Verzenden", "送信する"],
|
|
|
Labels::Clear => ["Clear", "Wissen", "クリア"],
|
|
|
Labels::Username => ["Username", "Gebruikersnaam", "ユーザー名"],
|
|
|
- Labels::FailedToSendMessage => [
|
|
|
- "Failed to send message",
|
|
|
- "Bericht verzenden mislukt",
|
|
|
- "メッセージの送信に失敗しました",
|
|
|
- ],
|
|
|
Labels::SetLanguage => ["Set language", "Stel taal in", "言語を設定する"],
|
|
|
+ Labels::FailedToSendMessage(e) => {
|
|
|
+ let reason_buf: [String; 3];
|
|
|
+
|
|
|
+ match e {
|
|
|
+ NetworkError::ReqwestError(_) => {
|
|
|
+ reason_buf = [
|
|
|
+ "Connection error.".to_string(),
|
|
|
+ "Verbindingsfout.".to_string(),
|
|
|
+ "接続エラー。".to_string(),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ NetworkError::StatusCodeError(code) => {
|
|
|
+ // NOTE: Needs to match the server
|
|
|
+ if *code == 400 {
|
|
|
+ reason_buf = [
|
|
|
+ "Message too long.".to_string(),
|
|
|
+ "Bericht te lang.".to_string(),
|
|
|
+ "メッセージが長すぎます。".to_string(),
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ reason_buf = [
|
|
|
+ format!("Status code: {code}"),
|
|
|
+ format!("Statuscode: {code}"),
|
|
|
+ format!("ステータスコード: {code}"),
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ NetworkError::InvalidUrl => {
|
|
|
+ reason_buf = [
|
|
|
+ "Invalid URL.".to_string(),
|
|
|
+ "Ongeldig URL.".to_string(),
|
|
|
+ "無効なURL。".to_string(),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ buf = [
|
|
|
+ format!("Failed to send message. {}", reason_buf[0]),
|
|
|
+ format!("Bericht verzenden mislukt. {}", reason_buf[1]),
|
|
|
+ format!("メッセージの送信に失敗しました。 {}", reason_buf[2]),
|
|
|
+ ];
|
|
|
+
|
|
|
+ [buf[0].as_str(), buf[1].as_str(), buf[2].as_str()]
|
|
|
+ }
|
|
|
Labels::FailedToLoadMessages(error) => {
|
|
|
let reason_buf: [String; 3];
|
|
|
|