feat add localization.

This commit is contained in:
elforjani13
2021-11-09 16:20:18 +02:00
parent 3039e43767
commit e205c0b9a3
11 changed files with 94 additions and 54 deletions

View File

@@ -40,7 +40,7 @@ function NotifyInvoiceViaSMSForm({
// Handle request response success.
const onSuccess = (response) => {
AppToaster.show({
message: intl.get('notify_via_sms.dialog.success_message'),
message: intl.get('notify_invoice_via_sms.dialog.success_message'),
intent: Intent.SUCCESS,
});
setSubmitting(false);

View File

@@ -1,4 +1,5 @@
import React from 'react';
import intl from 'react-intl-universal';
import { Form, useFormikContext } from 'formik';
import styled from 'styled-components';
import { Classes } from '@blueprintjs/core';
@@ -9,6 +10,9 @@ import SMSMessageFormFloatingActions from './SMSMessageFormFloatingActions';
import { SMSMessagePreview } from 'components';
import { getSMSUnits } from '../../NotifyViaSMS/utils';
import withCurrentOrganization from 'containers/Organization/withCurrentOrganization';
import { compose } from 'utils';
const messageVariables = [
{
variable: '{CompanyName}',
@@ -19,7 +23,10 @@ const messageVariables = [
/**
* SMS message form content.
*/
export default function SMSMessageFormContent() {
function SMSMessageFormContent({
// #withCurrentOrganization
organization: { name },
}) {
return (
<Form>
<div className={Classes.DIALOG_BODY}>
@@ -28,11 +35,19 @@ export default function SMSMessageFormContent() {
<SMSMessageFormFields />
<SMSMessageVariables>
{messageVariables.map(({ variable, description }) => (
<MessageVariable>
{intl.formatHTMLMessage(
{ id: 'sms_message.dialog.message_variable_description' },
{
value: name,
},
)}
</MessageVariable>
{/* {messageVariables.map(({ variable, description }) => (
<MessageVariable>
<strong>{variable}</strong> {description}
<strong>{variable}</strong> {description}
</MessageVariable>
))}
))} */}
</SMSMessageVariables>
</FormFields>
@@ -46,6 +61,8 @@ export default function SMSMessageFormContent() {
);
}
export default compose(withCurrentOrganization())(SMSMessageFormContent);
/**
* SMS Message preview section.
* @returns {JSX}
@@ -61,9 +78,12 @@ function SMSMessagePreviewSection() {
<SMSPreviewSectionRoot>
<SMSMessagePreview message={message} />
<SMSPreviewSectionNote>
<strong>Note</strong>: Note: One SMS unit can contain a maximum of 160
characters. <strong>{messagesUnits}</strong> SMS units will be used to
send this SMS notification.
{intl.formatHTMLMessage(
{ id: 'sms_message.dialog.sms_note' },
{
value: messagesUnits,
},
)}
</SMSPreviewSectionNote>
</SMSPreviewSectionRoot>
);

View File

@@ -30,16 +30,16 @@ function SMSMessageFormFloatingActions({
return (
<div className={Classes.DIALOG_FOOTER}>
<DialogFooterActions alignment={'left'}>
<Button onClick={handleCancelBtnClick} style={{ minWidth: '75px' }}>
<T id={'cancel'} />
</Button>
<Button
intent={Intent.PRIMARY}
loading={isSubmitting}
style={{ minWidth: '75px' }}
type="submit"
>
Save SMS Message
<T id={'save_sms_message'} />
</Button>
<Button onClick={handleCancelBtnClick} style={{ minWidth: '75px' }}>
<T id={'cancel'} />
</Button>
</DialogFooterActions>
</div>

View File

@@ -1,4 +1,5 @@
import React from 'react';
import intl from 'react-intl-universal';
import { castArray } from 'lodash';
import { Formik, Form, useFormikContext } from 'formik';
import styled from 'styled-components';
@@ -36,9 +37,12 @@ function SMSMessagePreviewSection() {
<SMSPreviewSectionRoot>
<SMSMessagePreview message={sms_message} />
<SMSPreviewSectionNote>
<strong>Note</strong>: Note: One SMS unit can contain a maximum of 160
characters. <strong>{messagesUnits}</strong> SMS units will be used to
send this SMS notification.
{intl.formatHTMLMessage(
{ id: 'notiify_via_sms.dialog.sms_note' },
{
value: messagesUnits,
},
)}
</SMSPreviewSectionNote>
</SMSPreviewSectionRoot>
);

View File

@@ -18,7 +18,7 @@ export default function NotifyViaSMSFormFields({ notificationTypes }) {
<FastField name={'notification_key'}>
{({ form, meta: { error, touched } }) => (
<FormGroup
label={'Notification type'}
label={<T id={'notify_via_sms.dialog.notification_type'} />}
className={classNames(CLASSES.FILL)}
intent={inputIntent({ error, touched })}
helperText={<ErrorMessage name={'customer_name'} />}

View File

@@ -25,7 +25,7 @@ export default function NotifyViaSMSFormFloatingActions({ onCancel }) {
style={{ minWidth: '110px' }}
type="submit"
>
Send SMS
<T id={'send_sms'} />
</Button>
<Button
disabled={isSubmitting}
@@ -37,4 +37,4 @@ export default function NotifyViaSMSFormFloatingActions({ onCancel }) {
</DialogFooterActions>
</div>
);
}
}

View File

@@ -5,7 +5,7 @@ import intl from 'react-intl-universal';
export const transformErrors = (errors, { setErrors }) => {
if (errors.some((e) => e.type === 'CUSTOMER_SMS_NOTIFY_PHONE_INVALID')) {
AppToaster.show({
message: intl.get('notify_via_sms.dialog.error_message'),
message: intl.get('notify_via_sms.dialog.phone_invalid_error_message'),
intent: Intent.DANGER,
});
}

View File

@@ -1,4 +1,5 @@
import React from 'react';
import intl from 'react-intl-universal';
import styled from 'styled-components';
import { Intent } from '@blueprintjs/core';
@@ -31,7 +32,9 @@ function SMSMessagesDataTable({
is_notification_enabled: value,
}).then(() => {
AppToaster.show({
message: 'SMS notification hs been enabled successfully.',
message: intl.get(
'sms_messages.notification_switch_change_success_message',
),
intent: Intent.SUCCESS,
});
});

View File

@@ -33,7 +33,7 @@ export const SMSMessageCell = ({
<MessageBox>{original.sms_message}</MessageBox>
<MessageBoxActions>
<ButtonLink onClick={() => safeInvoke(onEditMessageText, original)}>
Edit message
{intl.get('sms_messages.label_edit_message')}
</ButtonLink>
</MessageBoxActions>
</div>
@@ -87,7 +87,7 @@ export function useSMSIntegrationTableColumns({ onSwitchChange }) {
accessor: 'sms_message',
Cell: SMSMessageCell,
className: 'sms_message',
clickable: true,
// clickable: true,
width: '180',
disableSortBy: true,
},

View File

@@ -1442,24 +1442,31 @@
"bad_debt.cancel_alert.message": "هل أنت متأكد أنك تريد شطب هذه الفاتورة؟ ",
"notify_via_sms.dialog.send_notification_to":"إرسال إشعار إلى ",
"notify_via_sms.dialog.message_text":"نص رسالة ",
"notify_via_sms.dialog.notification_type": "Notification type",
"notify_via_sms.dialog.notify_via_sms":"Notify vis SMS",
"notify_via_sms.dialog.error_message":"Notify vis SMS",
"notify_via_sms.dialog.phone_invalid_error_message":"Sms notification cannot be sent, customer personal phone number is invalid, please enter a valid one and try again.",
"notiify_via_sms.dialog.sms_note": "<strong>Note :</strong> One SMS unit can contain amaximum of 160 characters. <strong>{value}</strong> SMS units will be used to send this SMS notification.",
"notify_via_sms.dialog.phone_invalid_error_message":"Sms notification cannot be sent, customer personal phone number is invalid, please enter a valid one and try again.",
"notify_via_sms.dialog.customer_no_phone_error_message":"الزبون ليس لديه رقم هاتف.",
"notify_invoice_via_sms.dialog.success_message":"The sale invoice sms notification has been sent successfully",
"notify_estimate_via_sms.dialog.success_message":"تم إرسال إشعار الرسائل القصيرة الخاصة بتقدير المبيعات بنجاح. ",
"notify_receipt_via_sms.dialog.success_message":"The sale receipt sms notification has been sent successfully",
"notify_payment_receive_via_sms.dialog.success_message":"تم إرسال إشعار الدفع بنجاح. ",
"send": "إرسال",
"sms_integration.label":"SMS Integration",
"sms_integration.label.overview":"نظرة عامة",
"sms_integration.label.sms_messages":"رسائل SMS ",
"sms_message.label.sms_messages_template":" إشعارات رسائل قصيرة ",
"sms_integration.label.overview":"Overview",
"sms_integration.label.sms_messages":"SMS Messages ",
"sms_messages.label_mesage":"رسالة ",
"sms_messages.label_notification":"إشعار",
"sms_messages.label_auto":"Auto",
"sms_message":"رسالة SMS" ,
"sms_message.dialog.success_message":"Sms notification settings has been updated successfully.",
"sms_messages.label_edit_message": "Edit message",
"sms_messages.notification_switch_change_success_message":"SMS notification hs been enabled successfully.",
"sms_message.dialog.label": "SMS message",
"sms_message.dialog.sms_note": "<strong>Note :</strong> One SMS unit can contain amaximum of 160 characters. <strong>{value}</strong> SMS units will be used to send this SMS notification.",
"sms_message.dialog.success_message": "Sms notification settings has been updated successfully.",
"sms_message.dialog.unsupported_variables_error_message": "Unsupported variables",
"sms_message.dialog.message_variable_description":"<strong>{value}</strong> References to the current company name.",
"edit_message_text":"تعديل نص رسالة",
"enable_notification":"تفعيل الإشعارات"
"enable_notification":"تفعيل الإشعارات",
"send_sms":"Send SMS",
"save_sms_message":"Save SMS Message"
}

View File

@@ -1427,26 +1427,32 @@
"bad_debt.dialog.success_message": "The given sale invoice has been writte-off successfully.",
"bad_debt.cancel_alert.success_message": "The given sale invoice has been canceled write-off successfully.",
"bad_debt.cancel_alert.message": "Are you sure you want to write off this invoice?",
"notify_via_sms.dialog.send_notification_to":"Send notification to",
"notify_via_sms.dialog.message_text":"Message Text",
"notify_via_sms.dialog.notify_via_sms":"Notify vis SMS",
"notify_via_sms.dialog.phone_invalid_error_message":"Sms notification cannot be sent, customer personal phone number is invalid, please enter a valid one and try again.",
"notify_via_sms.dialog.customer_no_phone_error_message":"The customer has no phone number.",
"notify_invoice_via_sms.dialog.success_message":"The sale invoice sms notification has been sent successfully",
"notify_estimate_via_sms.dialog.success_message":"The sale estimate sms notification has been sent successfully",
"notify_receipt_via_sms.dialog.success_message":"The sale receipt sms notification has been sent successfully",
"notify_payment_receive_via_sms.dialog.success_message":"The payment notification has been sent successfully.",
"send": "Send",
"sms_integration.label":"SMS Integration",
"sms_integration.label.overview":"Overview",
"sms_integration.label.sms_messages":"SMS Messages",
"sms_messages.label_notification":"Notification",
"sms_messages.label_mesage":"Message",
"sms_messages.label_auto":"Auto",
"sms_message.dialog.label":"SMS message",
"sms_message.dialog.success_message":"Sms notification settings has been updated successfully.",
"sms_message.dialog.unsupported_variables_error_message":"Unsupported variables",
"edit_message_text":"Edit message text",
"enable_notification":"Enable notification"
}
"notify_via_sms.dialog.send_notification_to": "Send notification to",
"notify_via_sms.dialog.message_text": "Message Text",
"notify_via_sms.dialog.notification_type": "Notification type",
"notify_via_sms.dialog.notify_via_sms": "Notify vis SMS",
"notiify_via_sms.dialog.sms_note": "<strong>Note :</strong> One SMS unit can contain amaximum of 160 characters. <strong>{value}</strong> SMS units will be used to send this SMS notification.",
"notify_via_sms.dialog.phone_invalid_error_message": "Sms notification cannot be sent, customer personal phone number is invalid, please enter a valid one and try again.",
"notify_via_sms.dialog.customer_no_phone_error_message": "The customer has no phone number.",
"notify_invoice_via_sms.dialog.success_message": "The sale invoice sms notification has been sent successfully.",
"notify_estimate_via_sms.dialog.success_message": "The sale estimate sms notification has been sent successfully",
"notify_receipt_via_sms.dialog.success_message": "The sale receipt sms notification has been sent successfully",
"notify_payment_receive_via_sms.dialog.success_message": "The payment notification has been sent successfully.",
"sms_integration.label": "SMS Integration",
"sms_integration.label.overview": "Overview",
"sms_integration.label.sms_messages": "SMS Messages",
"sms_messages.label_notification": "Notification",
"sms_messages.label_mesage": "Message",
"sms_messages.label_auto": "Auto",
"sms_messages.label_edit_message": "Edit message",
"sms_messages.notification_switch_change_success_message":"SMS notification hs been enabled successfully.",
"sms_message.dialog.label": "SMS message",
"sms_message.dialog.sms_note": "<strong>Note :</strong> One SMS unit can contain amaximum of 160 characters. <strong>{value}</strong> SMS units will be used to send this SMS notification.",
"sms_message.dialog.success_message": "Sms notification settings has been updated successfully.",
"sms_message.dialog.unsupported_variables_error_message": "Unsupported variables",
"sms_message.dialog.message_variable_description":"<strong>{value}</strong> References to the current company name.",
"edit_message_text": "Edit message text",
"enable_notification": "Enable notification",
"send_sms":"Send SMS",
"save_sms_message":"Save SMS Message"
}