81 lines
2.2 KiB
TypeScript
81 lines
2.2 KiB
TypeScript
/**
|
|
* Words the digest emails share with the pages that show or govern them: the
|
|
* `/community` page shows the digests' figures and sections, Settings and the
|
|
* unsubscribe page name the digests, the avatar menu links the community
|
|
* page. `api/mail/digest.ts` and those pages translate them from here, so an
|
|
* email and a page always say the same.
|
|
*
|
|
* Each is a Lingui message descriptor with an explicit id, since the server
|
|
* runs no macro; the `i18n` comment has `lingui extract` read its English into
|
|
* the catalogs. Pass one to `i18n._`, with its values: on the client, the
|
|
* `i18n` of `useLingui()`.
|
|
*
|
|
* @module
|
|
*/
|
|
|
|
import type { MessageDescriptor } from "@lingui/core";
|
|
|
|
/** The shared messages, by name. */
|
|
export const DIGEST_MESSAGES = {
|
|
weekly: /*i18n*/ {
|
|
id: "digest.weekly",
|
|
message: "Weekly digest",
|
|
},
|
|
monthly: /*i18n*/ {
|
|
id: "digest.monthly",
|
|
message: "Monthly recap",
|
|
},
|
|
weeklyOff: /*i18n*/ {
|
|
id: "digest.weekly.off",
|
|
message: "Turn off weekly digests",
|
|
},
|
|
monthlyOff: /*i18n*/ {
|
|
id: "digest.monthly.off",
|
|
message: "Turn off monthly recaps",
|
|
},
|
|
community: /*i18n*/ {
|
|
id: "digest.community",
|
|
message: "Community",
|
|
},
|
|
topWeek: /*i18n*/ {
|
|
id: "digest.topWeek",
|
|
message: "Top this week",
|
|
},
|
|
topMonth: /*i18n*/ {
|
|
id: "digest.topMonth",
|
|
message: "Top this month",
|
|
},
|
|
newMembers: /*i18n*/ {
|
|
id: "digest.newMembers",
|
|
message: "New members",
|
|
},
|
|
newPlaylists: /*i18n*/ {
|
|
id: "digest.newPlaylists",
|
|
message: "New public playlists",
|
|
},
|
|
invitedBy: /*i18n*/ {
|
|
id: "digest.invitedBy",
|
|
message: "invited by @{username}",
|
|
},
|
|
invitedByYou: /*i18n*/ {
|
|
id: "digest.invitedByYou",
|
|
message: "invited by you",
|
|
},
|
|
statDumps: /*i18n*/ {
|
|
id: "digest.stat.dumps",
|
|
message: "{n, plural, one {dump} other {dumps}}",
|
|
},
|
|
statChat: /*i18n*/ {
|
|
id: "digest.stat.chat",
|
|
message: "{n, plural, one {chat message} other {chat messages}}",
|
|
},
|
|
countUpvotes: /*i18n*/ {
|
|
id: "digest.count.upvotes",
|
|
message: "{n, plural, one {upvote} other {upvotes}}",
|
|
},
|
|
countComments: /*i18n*/ {
|
|
id: "digest.count.comments",
|
|
message: "{n, plural, one {comment} other {comments}}",
|
|
},
|
|
} as const satisfies Record<string, MessageDescriptor>;
|