mirror of
https://github.com/flarum/core.git
synced 2025-08-06 16:36:47 +02:00
[1.x] feat: allow to customize time formats through translations (#4053)
* Allow to customize time formats * Fix CS
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
|
import app from '../../common/app';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
|
import extractText from './extractText';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `humanTime` utility converts a date to a localized, human-readable time-
|
* The `humanTime` utility converts a date to a localized, human-readable time-
|
||||||
@@ -23,9 +25,9 @@ export default function humanTime(time: dayjs.ConfigType): string {
|
|||||||
// in the string. If it wasn't this year, we'll show the year as well.
|
// in the string. If it wasn't this year, we'll show the year as well.
|
||||||
if (diff < -30 * day) {
|
if (diff < -30 * day) {
|
||||||
if (d.year() === dayjs().year()) {
|
if (d.year() === dayjs().year()) {
|
||||||
ago = d.format('D MMM');
|
ago = d.format(extractText(app.translator.trans('core.lib.datetime_formats.humanTimeShort')));
|
||||||
} else {
|
} else {
|
||||||
ago = d.format('ll');
|
ago = d.format(extractText(app.translator.trans('core.lib.datetime_formats.humanTimeLong')));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ago = d.fromNow();
|
ago = d.fromNow();
|
||||||
|
@@ -5,6 +5,7 @@ import PostLoading from './LoadingPost';
|
|||||||
import ReplyPlaceholder from './ReplyPlaceholder';
|
import ReplyPlaceholder from './ReplyPlaceholder';
|
||||||
import Button from '../../common/components/Button';
|
import Button from '../../common/components/Button';
|
||||||
import ItemList from '../../common/utils/ItemList';
|
import ItemList from '../../common/utils/ItemList';
|
||||||
|
import extractText from '../../common/utils/extractText';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The `PostStream` component displays an infinitely-scrollable wall of posts in
|
* The `PostStream` component displays an infinitely-scrollable wall of posts in
|
||||||
@@ -292,7 +293,7 @@ export default class PostStream extends Component {
|
|||||||
// set the index to the last post.
|
// set the index to the last post.
|
||||||
this.stream.index = indexFromViewPort !== null ? indexFromViewPort + 1 : this.stream.count();
|
this.stream.index = indexFromViewPort !== null ? indexFromViewPort + 1 : this.stream.count();
|
||||||
this.stream.visible = visible;
|
this.stream.visible = visible;
|
||||||
if (period) this.stream.description = dayjs(period).format('MMMM YYYY');
|
if (period) this.stream.description = dayjs(period).format(extractText(app.translator.trans('core.lib.datetime_formats.scrubber')));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -655,6 +655,12 @@ core:
|
|||||||
kilo_text: K
|
kilo_text: K
|
||||||
mega_text: M
|
mega_text: M
|
||||||
|
|
||||||
|
# These translations are used for formatting dates using dayjs.
|
||||||
|
datetime_formats:
|
||||||
|
humanTimeShort: D MMM
|
||||||
|
humanTimeLong: ll
|
||||||
|
scrubber: MMMM YYYY
|
||||||
|
|
||||||
# These translations are used to punctuate a series of items.
|
# These translations are used to punctuate a series of items.
|
||||||
series:
|
series:
|
||||||
glue_text: ", "
|
glue_text: ", "
|
||||||
|
Reference in New Issue
Block a user