ref #430 use date format from locale in views

merge-requests/341/head
Thomas Lynch 1 year ago
parent 868b60a0c6
commit a102beed5e
  1. 6
      gulp/res/js/i18n.js
  2. 5
      gulp/res/js/time.js
  3. 3
      gulpfile.js
  4. 4
      views/includes/head.pug
  5. 4
      views/mixins/ban.pug
  6. 4
      views/mixins/custompage.pug
  7. 4
      views/mixins/newspost.pug
  8. 4
      views/mixins/post.pug
  9. 2
      views/mixins/report.pug
  10. 2
      views/pages/editcustompage.pug
  11. 2
      views/pages/editnews.pug
  12. 2
      views/pages/editpost.pug
  13. 2
      views/pages/globalmanageaccounts.pug
  14. 2
      views/pages/globalmanagelogs.pug
  15. 4
      views/pages/home.pug
  16. 2
      views/pages/managelogs.pug
  17. 2
      views/pages/managestaff.pug
  18. 2
      views/pages/modlog.pug
  19. 2
      views/pages/sessions.pug

@ -1,5 +1,5 @@
/* eslint-disable no-unused-vars */
/* globals LANG */
/* globals TRANSLATIONS */
const pluralMap = {
1: 'one',
@ -8,14 +8,14 @@ const pluralMap = {
//simple translation
const __ = (key, replacement=null) => {
const translation = LANG[key] || key;
const translation = TRANSLATIONS[key] || key;
return replacement !== null ? translation.replace('%s', replacement) : translation;
};
//pluralisation
const __n = (key, count) => {
const pluralKey = pluralMap[count] || 'other';
const translationObj = LANG[key];
const translationObj = TRANSLATIONS[key];
if (!translationObj) {
return key;
}

@ -1,4 +1,4 @@
/* globals __ __n SERVER_TIMEZONE setLocalStorage */
/* globals __ __n LANG SERVER_TIMEZONE setLocalStorage */
let relativeTime = localStorage.getItem('relative') == 'true';
let hour24 = localStorage.getItem('24hour') == 'true';
let localTime = localStorage.getItem('localtime') == 'true';
@ -56,8 +56,7 @@ const changeDateFormat = (date) => {
if (!localTime) {
options.timeZone = SERVER_TIMEZONE;
}
const locale = hour24 ? 'en-US-u-hc-h23' : 'en-US';
const dateString = new Date(date.dateTime).toLocaleString(locale, options);
const dateString = new Date(date.dateTime).toLocaleString(LANG, options);
if (relativeTime) {
date.innerText = relativeTimeString(date.dateTime);
date.title = dateString;

@ -458,7 +458,8 @@ async function langs() {
acc[key] = dict[key];
return acc;
}, {});
const langScript = `const LANG = ${JSON.stringify(minimalDict)};`;
const langScript = `const LANG = '${lang}';
const TRANSLATIONS = ${JSON.stringify(minimalDict)};`;
fs.writeFileSync(`${paths.scripts.dest}lang/${lang}.js`, langScript);
});
}

@ -33,8 +33,8 @@ if isBoard && board.settings.customCss
include ../../gulp/res/icons/html_code.html
//- language pack
- const languageScript = isBoard ? board.settings.language : (locale || globalLanguage);
script(src=`/js/lang/${languageScript}.js?v=${commit}`)
- const pageLanguage = isBoard ? board.settings.language : (locale || globalLanguage);
script(src=`/js/lang/${pageLanguage}.js?v=${commit}`)
//- main script
script(src=`/js/all.js?v=${commit}&ct=${captchaOptions.type}`)

@ -20,9 +20,9 @@ mixin ban(ban, banpage)
td #{__(['Single', 'Narrow', 'Wide'][ban.range])}
td #{(!banpage || ban.showUser === true) ? ban.issuer : __('Hidden User')}
- const banDate = new Date(ban.date);
td: time.right.reltime(datetime=banDate.toISOString()) #{banDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.right.reltime(datetime=banDate.toISOString()) #{banDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
- const expireDate = new Date(ban.expireAt);
td: time.right.reltime(datetime=expireDate.toISOString()) #{expireDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.right.reltime(datetime=expireDate.toISOString()) #{expireDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
td.banposts
if ban.posts && ban.posts.length > 0
| #{__('Hover to view')}

@ -8,7 +8,7 @@ mixin custompage(page, manage=false)
a.left(href=`/${board._id}/custompage/${page.page}.html`) #{page.title}
a.right.ml-5(href=`/${board._id}/manage/editcustompage/${page._id}.html`) [#{__('Edit')}]
- const pageDate = new Date(page.date);
time.right.reltime(datetime=pageDate.toISOString()) #{pageDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=pageDate.toISOString()) #{pageDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
tr
td
if manage === true
@ -19,4 +19,4 @@ mixin custompage(page, manage=false)
small.right.cb.edited
| #{__('Last edited')}
- const pageEditDate = new Date(page.edited);
time.reltime(datetime=pageEditDate.toISOString()) #{pageEditDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.reltime(datetime=pageEditDate.toISOString()) #{pageEditDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}

@ -10,7 +10,7 @@ mixin newspost(post, globalmanage=false)
if globalmanage === true
a.right.ml-5(href=`/globalmanage/editnews/${post._id}.html`) [#{__('Edit')}]
- const newsDate = new Date(post.date);
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
tr
td
if globalmanage === true
@ -22,4 +22,4 @@ mixin newspost(post, globalmanage=false)
small.right.cb.edited
| #{__('Last edited')}
- const newsEditDate = new Date(post.edited);
time.reltime(datetime=newsEditDate.toISOString()) #{newsEditDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.reltime(datetime=newsEditDate.toISOString()) #{newsEditDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}

@ -47,7 +47,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar
span.post-capcode #{post.capcode}
|
- const postDate = new Date(post.date);
time.post-date.reltime(datetime=postDate.toISOString()) #{postDate.toLocaleString(undefined, { hourCycle:'h23' })}
time.post-date.reltime(datetime=postDate.toISOString()) #{postDate.toLocaleString(pageLanguage, { hourCycle:'h23' })}
|
if post.userId
span.user-id(style=`background-color: #${post.userId}`) #{post.userId}
@ -154,7 +154,7 @@ mixin post(post, truncate, manage=false, globalmanage=false, ban=false, overboar
- const postEditDate = new Date(post.edited.date);
small.cb.mt-5.ml-5.edited
| Last edited
time.reltime(datetime=postEditDate.toISOString()) #{postEditDate.toLocaleString(undefined, { hourCycle:'h23' })}
time.reltime(datetime=postEditDate.toISOString()) #{postEditDate.toLocaleString(pageLanguage, { hourCycle:'h23' })}
| by #{post.edited.username || __('Hidden User')}
if post.banmessage
p.ban

@ -6,5 +6,5 @@ mixin report(r, manage=false)
a.bold(href=`${manage ? 'recent.html' : ''}?ip=${encodeURIComponent(ip)}`) [#{ip}]
|
- const reportDate = new Date(r.date);
time.reltime(datetime=reportDate.toISOString()) #{reportDate.toLocaleString(undefined, { hourCycle:'h23' })}
time.reltime(datetime=reportDate.toISOString()) #{reportDate.toLocaleString(pageLanguage, { hourCycle:'h23' })}
| | #{__('Reason')}: #{r.reason}

@ -24,7 +24,7 @@ block content
th
input.edit.left(type='text' name='title' value=page.title required)
- const pageDate = new Date(page.date);
time.right.reltime(datetime=pageDate.toISOString()) #{pageDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=pageDate.toISOString()) #{pageDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
tr
td

@ -21,7 +21,7 @@ block content
th
input.edit.left(type='text' name='title' value=news.title required)
- const newsDate = new Date(news.date);
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
tr
td
textarea.edit.fw(name='message' rows='10' placeholder=__('Supports post styling') required) #{news.message.raw}

@ -31,7 +31,7 @@ block content
span.post-capcode #{post.capcode}
|
- const postDate = new Date(post.date);
time.post-date.reltime(datetime=postDate.toISOString()) #{postDate.toLocaleString(undefined, { hourCycle:'h23' })}
time.post-date.reltime(datetime=postDate.toISOString()) #{postDate.toLocaleString(pageLanguage, { hourCycle:'h23' })}
|
if post.userId
span.user-id(style=`background-color: #${post.userId}`) #{post.userId}

@ -54,7 +54,7 @@ block content
| -
td
if account.lastActiveDate
time.reltime(datetime=account.lastActiveDate.toISOString()) #{account.lastActiveDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.reltime(datetime=account.lastActiveDate.toISOString()) #{account.lastActiveDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
else
| -
td #{roleNameMap[account.permissions.toString('base64')] || __('Custom')}

@ -40,7 +40,7 @@ block content
for log in logs
tr
- const logDate = new Date(log.date);
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
td
a(href=`/${log.board}/index.html`) /#{log.board}/
|

@ -27,7 +27,7 @@ block content
p.no-m-p #{`${post.message.raw.substring(0,50)}${post.message.raw.length > 50 ? '...' : ''}`}
td
- const newsDate = new Date(post.date);
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=newsDate.toISOString()) #{newsDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
if hotThreads && hotThreads.length > 0
.table-container.flex-center.mv-10
table#hotposts
@ -50,7 +50,7 @@ block content
| >>>/#{post.board}/#{post.postId}
td
- const postedDate = new Date(post.date);
time.right.reltime(datetime=postedDate.toISOString()) #{postedDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.right.reltime(datetime=postedDate.toISOString()) #{postedDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
if boards && boards.length > 0
+boardtable(true, false)
each board in boards

@ -35,7 +35,7 @@ block content
for log in logs
tr
- const logDate = new Date(log.date);
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
td
| #{log.user}
|

@ -38,7 +38,7 @@ block content
td: input(type='checkbox' name='checkedstaff' value=staff[0])
td #{staff[0]}#{user.username === staff[0] ? ' '+__('(You)') : ''}
td
time.reltime(datetime=staff[1].addedDate) #{staff[1].addedDate.toLocaleString(undefined, {hourCycle:'h23'})}
time.reltime(datetime=staff[1].addedDate) #{staff[1].addedDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
td: a(href=`/${board._id}/manage/logs.html?username=${staff[0]}`) [#{__('View')}]
td
if user.username !== staff[0]

@ -24,7 +24,7 @@ block content
for log in logs
tr
- const logDate = new Date(log.date);
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.reltime(datetime=logDate.toISOString()) #{logDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
- const logUser = log.user || __('Unregistered User');
td(class=(!log.showUser ? 'em' : '')) #{log.showUser ? logUser : __('Hidden User')}
td #{log.actions.map(a => __(a))}

@ -22,6 +22,6 @@ block content
td: input(type='checkbox', name='checkedsessionids' value=sessionId)
td #{sessionId} #{sessionId === currentSessionKey ? '(current)' : ''}
- const expiryDate = new Date(session.cookie.expires)
td: time.reltime(datetime=expiryDate.toISOString()) #{expiryDate.toLocaleString(undefined, {hourCycle:'h23'})}
td: time.reltime(datetime=expiryDate.toISOString()) #{expiryDate.toLocaleString(pageLanguage, {hourCycle:'h23'})}
h4.mv-5 #{__('Delete Selected')}:
input(type='submit', value=__('Delete'))

Loading…
Cancel
Save