Moving i18n to sepparate module
This commit is contained in:
parent
be95cf68fc
commit
039a2b5e23
11
Cargo.lock
generated
11
Cargo.lock
generated
@ -2759,6 +2759,7 @@ dependencies = [
|
||||
"enum-map",
|
||||
"fluent 0.15.0",
|
||||
"image",
|
||||
"pslink-locales",
|
||||
"pslink-shared",
|
||||
"qrcode",
|
||||
"seed",
|
||||
@ -2769,6 +2770,16 @@ dependencies = [
|
||||
"web-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pslink-locales"
|
||||
version = "0.4.1-beta.2"
|
||||
dependencies = [
|
||||
"fluent 0.15.0",
|
||||
"pslink-shared",
|
||||
"serde",
|
||||
"unic-langid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pslink-shared"
|
||||
version = "0.4.1-beta.2"
|
||||
|
@ -1,5 +1,7 @@
|
||||
[workspace]
|
||||
members = [
|
||||
"shared",
|
||||
"locales",
|
||||
"pslink",
|
||||
"app",
|
||||
]
|
||||
|
@ -27,6 +27,7 @@ qrcode = "0.12"
|
||||
image = "0.23"
|
||||
|
||||
pslink-shared = { version="0.4.1-alpha.0", path = "../shared" }
|
||||
pslink-locales = { version="0.4.1-alpha.0", path = "../locales" }
|
||||
|
||||
[dependencies.web-sys]
|
||||
version = "0.3"
|
||||
|
@ -1,5 +1,4 @@
|
||||
//! The admin interface of pslink. It communicates with the server mostly via https and json.
|
||||
pub mod i18n;
|
||||
pub mod navigation;
|
||||
pub mod pages;
|
||||
|
||||
@ -13,7 +12,7 @@ use seed::window;
|
||||
use seed::IF;
|
||||
use seed::{attrs, button, div, input, label, log, prelude::*, App, Url, C};
|
||||
|
||||
use crate::i18n::I18n;
|
||||
use pslink_locales::I18n;
|
||||
|
||||
// ------ ------
|
||||
// Init
|
||||
@ -45,7 +44,7 @@ struct Model {
|
||||
index: usize,
|
||||
location: Location,
|
||||
page: Page,
|
||||
i18n: i18n::I18n,
|
||||
i18n: I18n,
|
||||
user: Loadable<User>,
|
||||
login_form: LoginForm,
|
||||
login_data: LoginUser,
|
||||
|
@ -1,12 +1,13 @@
|
||||
//! Create the top menu of the app
|
||||
use fluent::fluent_args;
|
||||
use pslink_locales::I18n;
|
||||
use pslink_shared::{
|
||||
apirequests::users::Role,
|
||||
datatypes::{Lang, User},
|
||||
};
|
||||
use seed::{a, attrs, div, li, nav, nodes, ol, prelude::*, Url, C};
|
||||
|
||||
use crate::{i18n::I18n, Msg};
|
||||
use crate::Msg;
|
||||
|
||||
/// Generate the top navigation menu of all pages.
|
||||
///
|
||||
|
@ -4,6 +4,7 @@ use std::ops::Deref;
|
||||
use enum_map::EnumMap;
|
||||
use fluent::fluent_args;
|
||||
use image::{DynamicImage, ImageOutputFormat, Luma};
|
||||
use pslink_locales::I18n;
|
||||
use qrcode::{render::svg, QrCode};
|
||||
use seed::{
|
||||
a, attrs, div, h1, img, input, log, nodes, prelude::*, raw, section, span, table, td, th, tr,
|
||||
@ -20,7 +21,7 @@ use pslink_shared::{
|
||||
datatypes::{FullLink, Lang, Loadable, User},
|
||||
};
|
||||
|
||||
use crate::{get_host, i18n::I18n, unwrap_or_return};
|
||||
use crate::{get_host, unwrap_or_return};
|
||||
|
||||
/// Setup the page
|
||||
pub fn init(mut url: Url, orders: &mut impl Orders<Msg>, i18n: I18n) -> Model {
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! List all users in case an admin views it, list the "self" user otherwise.
|
||||
|
||||
use enum_map::EnumMap;
|
||||
use pslink_locales::I18n;
|
||||
use pslink_shared::{
|
||||
apirequests::general::{Operation, Ordering},
|
||||
apirequests::{
|
||||
@ -13,7 +14,7 @@ use seed::{a, attrs, div, h1, input, log, p, prelude::*, section, table, td, th,
|
||||
/*
|
||||
* init
|
||||
*/
|
||||
use crate::{i18n::I18n, unwrap_or_return};
|
||||
use crate::unwrap_or_return;
|
||||
#[must_use]
|
||||
pub fn init(mut url: Url, orders: &mut impl Orders<Msg>, i18n: I18n) -> Model {
|
||||
orders.send_msg(Msg::Query(UserQueryMsg::Fetch));
|
||||
|
21
locales/Cargo.toml
Normal file
21
locales/Cargo.toml
Normal file
@ -0,0 +1,21 @@
|
||||
[package]
|
||||
name = "pslink-locales"
|
||||
authors = ["Dietrich <dietrich@teilgedanken.de>"]
|
||||
categories = ["web-programming", "network-programming", "web-programming::http-server", "command-line-utilities"]
|
||||
description = "The translation strings for pslink"
|
||||
edition = "2018"
|
||||
keywords = ["url", "link", "webpage", "actix", "web"]
|
||||
license = "MIT OR Apache-2.0"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/enaut/pslink/"
|
||||
version = "0.4.1-beta.2"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
|
||||
[dependencies]
|
||||
fluent = "0.15"
|
||||
serde = {version="1.0", features = ["derive"]}
|
||||
unic-langid = "0.9"
|
||||
|
||||
pslink-shared = { version="0.4.1-alpha.0", path = "../shared" }
|
@ -68,7 +68,7 @@ impl I18n {
|
||||
pub const fn ftl_messages(lang: Lang) -> &'static str {
|
||||
macro_rules! include_ftl_messages {
|
||||
( $lang_id:literal ) => {
|
||||
include_str!(concat!("../../locales/", $lang_id, "/main.ftl"))
|
||||
include_str!(concat!("../", $lang_id, "/main.ftl"))
|
||||
};
|
||||
}
|
||||
match lang {
|
Loading…
Reference in New Issue
Block a user