* #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>
56 lines
1.6 KiB
TypeScript
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];
|
|
}
|