Files
remark42/frontend/app/components/comment/getVoteMessage.ts
T
b22cd5f76a Add localization (#602)
* #10 add localization

* #10 revert locale from dev page

* #10 add more examples

* #10 localize auth panel

* #10 localize some comment message

* #10 localize some comment form message

* #10 translate vote messages

* #10 translate comment message

* #10 use messages value for translate reference

* #10 fix compile issue

* #10 use messages value for translate reference

* #10 use messages value for translate reference

* #10 use messages value for translate reference

* #10 use messages value for translate reference

* #10 use messages value for translate reference

* #10 translate comment message

* #10 translate comment form

* #10 translate comment form

* #10 translate root component

* #10 translate user info

* #10 translate settings

* #10 translate settings

* #10 translate toolbar

* #10 translate errors messages

* #10 sort dict

* #10 fix after rebase

* #10 localize anonymousLoginForm

* #10 localize emailLoginForm

* #10 update size-limit

* #10 localize subscribe by rss

* #10 localize subscribe by email

* #10 add de locale

* #10 increase limit size

* #10 auto generate loadLocale

* #10 add some documentation

* #10 fix error messages

* fix typo

* don't bundle en locale

* fix message id

* change size limits

* Update extract message pattern

Co-Authored-By: Pavel Mineev <pavel@mineev.me>

Co-authored-by: Pavel Mineev <pavel@mineev.me>
2020-03-04 14:56:00 -06:00

56 lines
1.6 KiB
TypeScript

import { IntlShape, defineMessages } from 'react-intl';
const voteMessages = defineMessages({
ownComment: {
id: 'vote.own-comment',
defaultMessage: `Can't vote for your own comment`,
},
guest: {
id: 'vote.guest',
defaultMessage: 'Sign in to vote',
},
onlyPostPage: {
id: 'vote.only-post-page',
defaultMessage: `Voting allowed only on post's page`,
},
readonly: {
id: 'vote.readonly',
defaultMessage: `Can't vote on read-only topics`,
},
deleted: {
id: 'vote.deleted',
defaultMessage: `Can't vote for deleted comment`,
},
anonymous: {
id: 'vote.anonymous',
defaultMessage: `Anonymous users can't vote`,
},
onlyPositive: {
id: 'vote.only-positive',
defaultMessage: `Only positive score allowed`,
},
});
export enum VoteMessagesTypes {
OWN_COMMENT,
GUEST,
ONLY_POST_PAGE,
READONLY,
DELETED,
ANONYMOUS,
ONLY_POSITIVE,
}
export function getVoteMessage(type: VoteMessagesTypes, intl: IntlShape) {
const messages = {
[VoteMessagesTypes.OWN_COMMENT]: intl.formatMessage(voteMessages.ownComment),
[VoteMessagesTypes.GUEST]: intl.formatMessage(voteMessages.guest),
[VoteMessagesTypes.ONLY_POST_PAGE]: intl.formatMessage(voteMessages.onlyPostPage),
[VoteMessagesTypes.READONLY]: intl.formatMessage(voteMessages.readonly),
[VoteMessagesTypes.DELETED]: intl.formatMessage(voteMessages.deleted),
[VoteMessagesTypes.ANONYMOUS]: intl.formatMessage(voteMessages.anonymous),
[VoteMessagesTypes.ONLY_POSITIVE]: intl.formatMessage(voteMessages.onlyPositive),
};
return messages[type];
}