import React, { useState, useEffect } from 'react' const ActionPerformer = ({ actionHook, LoadingButton, SuccessButton, ErrorButton, errorCallback, completeCallback }) => { // Call our useFetch() hook to start performing our action (i.e. importing a template) const { loading, data, error } = actionHook() // Check if we've successfully completed out action: if (!loading && !error) { // We've successfully imported the template, bubble up a success call after a short timeout // so we can show an "imported" state on the button briefly: setTimeout(() => { completeCallback(data) }, 500) return SuccessButton } // Check if we had an error performing the action: if (error) { setTimeout(() => { errorCallback(data) }, 100) return ErrorButton } // The default state of this component is loading, so we show that loading button here.. return LoadingButton } /** * Generic user action provider. * Used for things like "Import Template" and "Import Photo" buttons * * @param DefaultButton * @param CompletedButton * @param ProcessingButton * @param isAlreadyCompleted * @param completedCallback * @param actionConfirmationMessage * * @returns {*} * @constructor */ const ButtonActionProvider = ({ DefaultButton, CompletedButton, LoadingButton, ErrorButton, SuccessButton, actionHook, isAlreadyCompleted = false, completedCallback = null, errorCallback = null, actionConfirmationMessage = null }) => { const [isProcessing, setIsProcessing] = useState(false) const [isCompleted, setIsCompleted] = useState(isAlreadyCompleted) const [error, setError] = useState(null) useEffect(() => { if (isCompleted && completedCallback && !isAlreadyCompleted) { // We fire off an optional completed callback, if the component didn't start in the completed state. completedCallback(isCompleted) } }, [isCompleted]) useEffect(() => { if (error && errorCallback) { // We fire off an optional error callback, with the error data set below errorCallback(error) } }, [error]) useEffect(() => { // If our parent component resets our completed status prop, we update our local state to reflect this: setIsCompleted(isAlreadyCompleted) }, [isAlreadyCompleted]) // Check if this action has been completed: if (isCompleted) { return CompletedButton } // Check if we're currently performing the action: if (isProcessing) { // As soon as this "Processing" component renders we expect the ajax action to start running. // We provide a "completeCallback" that this "Processing" component can call once it's done it's thing. return ( { // If our action returns an error, we swap back to our default state so the user can try again setTimeout(() => { setIsProcessing(false) }, 500) setError(data) }} completeCallback={(data) => { setIsProcessing(false) setIsCompleted(data) }} /> ) } // Default state is not processing/completed, so we show a default button return React.cloneElement(DefaultButton, { onClick: (event) => { if (actionConfirmationMessage) { if (!confirm(actionConfirmationMessage)) { // user has denied the confirmation dialog, prevent calling our processing action. event.preventDefault() return false } } setIsProcessing(true) } }) } export default ButtonActionProvider Transcription - TranslationSUB
TranslationSUB

Transcription

Languages

English
Japanese
Portuguese

Services

What is Transcription?

Textual rendering of what is said, word for word, in an audio recording. Delivered in text file format (e.g: PDF, Word document).

TRANSCRIPTION + TRANSLATION SERVICE

We offer discounts on orders of TRANSCRIPTION + TRANSLATION, Consult Us.
To check our translation fees, click here.

 

Categories

Web Video/ Youtube
Manual / Instructions
Sns Content
Advertising
Website
Semminar
Culture / Art
Business
Game
Sales
Entertainment
And More…

How it Works

1. Contact Us
2. Place Order
3. Production
4. Delivery
5. Follow-up
1. Contact Us
2. Place Order
3. Production
4. Delivery
5. Follow-up

Our English Transcription Pricing

Duration30 Min60 Min90 Min120 Min150 Min
REGULAR¥8,700 (3 Days)¥17,400 (4 Days)¥26,100 (5 Days)¥34,800 (6 Days)¥43,500 (7 Days)
SEMI-EXPRESS¥10,440 (2 Days)¥20,880 (3 Days)¥31,320 (4 Days)¥41,760 (5 Days)¥52,200 (6 Days)
EXPRESS¥13,920 (1 Day)¥27,840 (1 Day)¥41,760 (2 Days)¥55,680 (5 Days)¥69,600 (3 Days)

Our Japanese Transcription Pricing

Duration30 Min60 Min90 Min120 Min150 Min
REGULAR¥6,000 (3 Days)¥12,000 (4 Days)¥18,000 (5 Days)¥24,000 (6 Days)¥30,000 (7 Days)
SEMI-EXPRESS¥7,200 (2 Days)¥14,400 (3 Days)¥21,600 (4 Days)¥28,800 (5 Days)¥36,000 (6 Days)
EXPRESS¥9,600 (1 Day)¥19,200 (1 Day)¥28,800 (2 Days)¥38,400 (5 Days)¥48,000 (3 Days)

Our Portuguese Transcription Pricing

Duration30 Min60 Min90 Min120 Min150 Min
REGULAR¥9,600 (3 Days)¥19,200 (4 Days)¥28,800 (5 Days)¥38,400 (6 Days)¥48,000 (7 Days)
SEMI-EXPRESS¥11,520 (2 Days)¥23,040 (3 Days)¥34,560 (4 Days)¥46,080 (5 Days)¥57,600 (6 Days)
EXPRESS¥15,360 (1 Day)¥30,720 (1 Day)¥46,080 (2 Days)¥61,440 (5 Days)¥76,800 (3 Days)
  • The above prices do NOT include tax.
  • ALL OF OUR TRANSCRIPTIONS include PROOFREADING.
  • All of our transcriptions are human-made.
  • The above fees are estimations. Costs may vary according to volume, content of source material and expected delivery time.
  • For a detailed quote, please Contact us

Payment Method

In principle, we accept payments via bank transfer/deposit, credit/debit card, (Visa, MasterCard, American Express, JCB, Diners Club, Discover), PayPal and Wise (former TransferWise).

  • Additional fees may apply according to your chosen payment method.
  • Depending on your countrypayment methods may be limited. Please, Consult us.
  • For orders within Brazil, we accept payments via bank transfer/deposit only.

Cancellation

In principle, we do not accept cancellations after the order confirmation.

Refund

We do not offer refunds after payment.

Revision

We offer a one-time free revision for defective translations. This service is available for 30 days counted from the delivery day of the order. Other types of revision may incur additional charges.

Reach out so we can work together to drive more
customers to your products and services through our
multilingual language support