add language functionality
This commit is contained in:
18
src/main.rs
18
src/main.rs
@@ -2,7 +2,7 @@ use crate::model::client::Client;
|
|||||||
use axum::{http::HeaderMap, routing::get, Router};
|
use axum::{http::HeaderMap, routing::get, Router};
|
||||||
use axum_extra::extract::{cookie::Cookie, CookieJar};
|
use axum_extra::extract::{cookie::Cookie, CookieJar};
|
||||||
use sqlx::{pool::PoolOptions, sqlite::SqliteConnectOptions, SqlitePool};
|
use sqlx::{pool::PoolOptions, sqlite::SqliteConnectOptions, SqlitePool};
|
||||||
use std::{str::FromStr, sync::Arc};
|
use std::{fmt::Display, str::FromStr, sync::Arc};
|
||||||
use tower_http::services::ServeDir;
|
use tower_http::services::ServeDir;
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
@@ -28,7 +28,23 @@ enum Language {
|
|||||||
English,
|
English,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Display for Language {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
match self {
|
||||||
|
Language::German => f.write_str("de"),
|
||||||
|
Language::English => f.write_str("en"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Language {
|
impl Language {
|
||||||
|
pub(crate) fn next_language(&self) -> Self {
|
||||||
|
match self {
|
||||||
|
Language::German => Language::English,
|
||||||
|
Language::English => Language::German,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn to_locale(&self) -> &'static str {
|
fn to_locale(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Language::German => "de",
|
Language::German => "de",
|
||||||
|
Reference in New Issue
Block a user