Skip to content

Commit 51f9156

Browse files
authored
Merge pull request #293 from Rustmail/292-migrate-i18n-rs-to-local-crate-rustmail-i18n-due-to-inactivity
chore(i18n): migrate i18n-rs to local crate rustmail i18n due to inactivity
2 parents 27d0548 + fbc8d2a commit 51f9156

21 files changed

Lines changed: 610 additions & 38 deletions

Cargo.lock

Lines changed: 0 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[workspace]
22
members = ["rustmail", "rustmail_panel", "rustmail_types"]
3-
resolver = "3"
3+
resolver = "3"

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,7 @@ If you need help, join the [Discord server][discord-invite] and ask for assistan
4040

4141
## License
4242

43-
This project is licensed under the [AGPLv3 License](https://github.com/Rustmail/rustmail/blob/main/LICENSE).
43+
This project is licensed under the [AGPLv3 License](https://github.com/Rustmail/rustmail/blob/main/LICENSE).
44+
45+
> **Note:** The `rustmail-panel` i18n module includes code derived from [i18n-rs](https://github.com/opensass/i18n-rs),
46+
> which is licensed under the MIT License.

rustmail_panel/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ gloo-net = "0.6.0"
1313
gloo-utils = "0.2.0"
1414
web-sys = { version = "0.3.77", features = ["HtmlSelectElement"] }
1515
serde_json = "1.0.145"
16-
i18nrs = { version = "0.1.7", features = ["yew"] }
1716
serde = { version = "1.0.228", features = ["derive"] }
1817
js-sys = "0.3.82"
1918
wasm-bindgen = "0.2.106"
@@ -22,4 +21,4 @@ ammonia = "4.1.2"
2221
pulldown-cmark = "0.13.0"
2322
chrono = { version = "0.4", features = ["serde", "wasmbind"] }
2423
chrono-tz = { version = "0.10", features = ["serde"] }
25-
[build-dependencies]
24+
[build-dependencies]

rustmail_panel/src/components/api_keys.rs

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::components::forbidden::Forbidden403;
2+
use crate::i18n::yew::use_translation;
23
use crate::types::PanelPermission;
34
use gloo_net::http::Request;
4-
use i18nrs::yew::use_translation;
55
use serde::{Deserialize, Serialize};
66
use wasm_bindgen_futures::spawn_local;
77
use web_sys::HtmlInputElement;
@@ -131,11 +131,19 @@ pub fn api_keys_page() -> Html {
131131
error.set(Some(i18n_clone.t("panel.apikeys.error_parse")));
132132
}
133133
} else {
134-
error.set(Some(format!("{}: {}", i18n_clone.t("panel.apikeys.error_load"), resp.status())));
134+
error.set(Some(format!(
135+
"{}: {}",
136+
i18n_clone.t("panel.apikeys.error_load"),
137+
resp.status()
138+
)));
135139
}
136140
}
137141
Err(e) => {
138-
error.set(Some(format!("{}: {:?}", i18n_clone.t("panel.apikeys.error_network"), e)));
142+
error.set(Some(format!(
143+
"{}: {:?}",
144+
i18n_clone.t("panel.apikeys.error_network"),
145+
e
146+
)));
139147
}
140148
}
141149
loading.set(false);
@@ -384,12 +392,16 @@ fn create_api_key_modal(props: &CreateApiKeyModalProps) -> Html {
384392
.unwrap_or_default();
385393

386394
if name.trim().is_empty() {
387-
error.set(Some(i18n_clone.t("panel.apikeys.modal.error_name_required")));
395+
error.set(Some(
396+
i18n_clone.t("panel.apikeys.modal.error_name_required"),
397+
));
388398
return;
389399
}
390400

391401
if selected_permissions.is_empty() {
392-
error.set(Some(i18n_clone.t("panel.apikeys.modal.error_permission_required")));
402+
error.set(Some(
403+
i18n_clone.t("panel.apikeys.modal.error_permission_required"),
404+
));
393405
return;
394406
}
395407

@@ -418,14 +430,24 @@ fn create_api_key_modal(props: &CreateApiKeyModalProps) -> Html {
418430
on_created.emit(response.api_key);
419431
error.set(None);
420432
} else {
421-
error.set(Some(i18n_clone2.t("panel.apikeys.modal.error_parse_response")));
433+
error.set(Some(
434+
i18n_clone2.t("panel.apikeys.modal.error_parse_response"),
435+
));
422436
}
423437
} else {
424-
error.set(Some(format!("{}: {}", i18n_clone2.t("panel.apikeys.modal.error_create"), resp.status())));
438+
error.set(Some(format!(
439+
"{}: {}",
440+
i18n_clone2.t("panel.apikeys.modal.error_create"),
441+
resp.status()
442+
)));
425443
}
426444
}
427445
Err(e) => {
428-
error.set(Some(format!("{}: {:?}", i18n_clone2.t("panel.apikeys.error_network"), e)));
446+
error.set(Some(format!(
447+
"{}: {:?}",
448+
i18n_clone2.t("panel.apikeys.error_network"),
449+
e
450+
)));
429451
}
430452
}
431453
creating.set(false);

rustmail_panel/src/components/configuration.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use crate::components::forbidden::Forbidden403;
2+
use crate::i18n::yew::use_translation;
23
use crate::types::PanelPermission;
34
use gloo_net::http::Request;
4-
use i18nrs::yew::use_translation;
55
use wasm_bindgen_futures::spawn_local;
66
use yew::prelude::*;
77

rustmail_panel/src/components/forbidden.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use crate::i18n::yew::use_translation;
12
use crate::pages::panel::PanelRoute;
2-
use i18nrs::yew::use_translation;
33
use yew::prelude::*;
44
use yew_router::prelude::*;
55

rustmail_panel/src/components/home.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use i18nrs::yew::use_translation;
1+
use crate::i18n::yew::use_translation;
22
use yew::prelude::*;
33

44
#[function_component(Home)]

rustmail_panel/src/components/language_switcher.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use i18nrs::yew::use_translation;
1+
use crate::i18n::yew::use_translation;
22
use yew::prelude::*;
33

44
#[derive(Properties, PartialEq, Clone)]

rustmail_panel/src/components/logout_button.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
use crate::i18n::yew::use_translation;
12
use yew::{Html, function_component, html};
23

34
#[function_component(LogoutButton)]
45
pub fn logout_button() -> Html {
5-
let (i18n, _set_language) = i18nrs::yew::use_translation();
6+
let (i18n, _set_language) = use_translation();
67

78
html! {
89
<a href="/api/auth/logout"

0 commit comments

Comments
 (0)