mirror of
https://github.com/binwiederhier/ntfy.git
synced 2024-11-22 03:13:33 +01:00
Merge pull request #922 from imkero/bugfix/language-with-underline
fix(i18n): correct usage of language str having underline
This commit is contained in:
commit
43b11de596
2 changed files with 10 additions and 4 deletions
|
@ -130,14 +130,20 @@ export const hashCode = (s) => {
|
|||
return hash;
|
||||
};
|
||||
|
||||
/**
|
||||
* convert `i18n.language` style str (e.g.: `en_US`) to kebab-case (e.g.: `en-US`),
|
||||
* which is expected by `<html lang>` and `Intl.DateTimeFormat`
|
||||
*/
|
||||
export const getKebabCaseLangStr = (language) => language.replace(/_/g, '-');
|
||||
|
||||
export const formatShortDateTime = (timestamp, language) =>
|
||||
new Intl.DateTimeFormat(language, {
|
||||
new Intl.DateTimeFormat(getKebabCaseLangStr(language), {
|
||||
dateStyle: "short",
|
||||
timeStyle: "short",
|
||||
}).format(new Date(timestamp * 1000));
|
||||
|
||||
export const formatShortDate = (timestamp, language) =>
|
||||
new Intl.DateTimeFormat(language, { dateStyle: "short" }).format(new Date(timestamp * 1000));
|
||||
new Intl.DateTimeFormat(getKebabCaseLangStr(language), { dateStyle: "short" }).format(new Date(timestamp * 1000));
|
||||
|
||||
export const formatBytes = (bytes, decimals = 2) => {
|
||||
if (bytes === 0) return "0 bytes";
|
||||
|
|
|
@ -11,7 +11,7 @@ import ActionBar from "./ActionBar";
|
|||
import Preferences from "./Preferences";
|
||||
import subscriptionManager from "../app/SubscriptionManager";
|
||||
import userManager from "../app/UserManager";
|
||||
import { expandUrl } from "../app/utils";
|
||||
import { expandUrl, getKebabCaseLangStr } from "../app/utils";
|
||||
import ErrorBoundary from "./ErrorBoundary";
|
||||
import routes from "./routes";
|
||||
import { useAccountListener, useBackgroundProcesses, useConnectionListeners, useWebPushTopics } from "./hooks";
|
||||
|
@ -56,7 +56,7 @@ const App = () => {
|
|||
);
|
||||
|
||||
useEffect(() => {
|
||||
document.documentElement.setAttribute("lang", i18n.language);
|
||||
document.documentElement.setAttribute("lang", getKebabCaseLangStr(i18n.language));
|
||||
document.dir = languageDir;
|
||||
}, [i18n.language, languageDir]);
|
||||
|
||||
|
|
Loading…
Reference in a new issue