ch (\YoastSEO_Vendor\GuzzleHttp\Promise\RejectionException $e) { return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e->getReason()]; } catch (\Throwable $e) { return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e]; } catch (\Exception $e) { return ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $e]; } } /** * Waits on all of the provided promises, but does not unwrap rejected promises * as thrown exception. * * Returns an array of inspection state arrays. * * @param PromiseInterface[] $promises Traversable of promises to wait upon. * * @return array * @see GuzzleHttp\Promise\inspect for the inspection state array format. */ function inspect_all($promises) { $results = []; foreach ($promises as $key => $promise) { $results[$key] = inspect($promise); } return $results; } /** * Waits on all of the provided promises and returns the fulfilled values. * * Returns an array that contains the value of each promise (in the same order * the promises were provided). An exception is thrown if any of the promises * are rejected. * * @param mixed $promises Iterable of PromiseInterface objects to wait on. * * @return array * @throws \Exception on error * @throws \Throwable on error in PHP >=7 */ function unwrap($promises) { $results = []; foreach ($promises as $key => $promise) { $results[$key] = $promise->wait(); } return $results; } /** * Given an array of promises, return a promise that is fulfilled when all the * items in the array are fulfilled. * * The promise's fulfillment value is an array with fulfillment values at * respective positions to the original array. If any promise in the array * rejects, the returned promise is rejected with the rejection reason. * * @param mixed $promises Promises or values. * * @return PromiseInterface */ function all($promises) { $results = []; return \each($promises, function ($value, $idx) use(&$results) { $results[$idx] = $value; }, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\Promise $aggregate) { $aggregate->reject($reason); })->then(function () use(&$results) { \ksort($results); return $results; }); } /** * Initiate a competitive race between multiple promises or values (values will * become immediately fulfilled promises). * * When count amount of promises have been fulfilled, the returned promise is * fulfilled with an array that contains the fulfillment values of the winners * in order of resolution. * * This prommise is rejected with a {@see GuzzleHttp\Promise\AggregateException} * if the number of fulfilled promises is less than the desired $count. * * @param int $count Total number of promises. * @param mixed $promises Promises or values. * * @return PromiseInterface */ function some($count, $promises) { $results = []; $rejections = []; return \each($promises, function ($value, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $p) use(&$results, $count) { if ($p->getState() !== \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING) { return; } $results[$idx] = $value; if (\count($results) >= $count) { $p->resolve(null); } }, function ($reason) use(&$rejections) { $rejections[] = $reason; })->then(function () use(&$results, &$rejections, $count) { if (\count($results) !== $count) { throw new \YoastSEO_Vendor\GuzzleHttp\Promise\AggregateException('Not enough promises to fulfill count', $rejections); } \ksort($results); return \array_values($results); }); } /** * Like some(), with 1 as count. However, if the promise fulfills, the * fulfillment value is not an array of 1 but the value directly. * * @param mixed $promises Promises or values. * * @return PromiseInterface */ function any($promises) { return some(1, $promises)->then(function ($values) { return $values[0]; }); } /** * Returns a promise that is fulfilled when all of the provided promises have * been fulfilled or rejected. * * The returned promise is fulfilled with an array of inspection state arrays. * * @param mixed $promises Promises or values. * * @return PromiseInterface * @see GuzzleHttp\Promise\inspect for the inspection state array format. */ function settle($promises) { $results = []; return \each($promises, function ($value, $idx) use(&$results) { $results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED, 'value' => $value]; }, function ($reason, $idx) use(&$results) { $results[$idx] = ['state' => \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED, 'reason' => $reason]; })->then(function () use(&$results) { \ksort($results); return $results; }); } /** * Given an iterator that yields promises or values, returns a promise that is * fulfilled with a null value when the iterator has been consumed or the * aggregate promise has been fulfilled or rejected. * * $onFulfilled is a function that accepts the fulfilled value, iterator * index, and the aggregate promise. The callback can invoke any necessary side * effects and choose to resolve or reject the aggregate promise if needed. * * $onRejected is a function that accepts the rejection reason, iterator * index, and the aggregate promise. The callback can invoke any necessary side * effects and choose to resolve or reject the aggregate promise if needed. * * @param mixed $iterable Iterator or array to iterate over. * @param callable $onFulfilled * @param callable $onRejected * * @return PromiseInterface */ function each($iterable, callable $onFulfilled = null, callable $onRejected = null) { return (new \YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise($iterable, ['fulfilled' => $onFulfilled, 'rejected' => $onRejected]))->promise(); } /** * Like each, but only allows a certain number of outstanding promises at any * given time. * * $concurrency may be an integer or a function that accepts the number of * pending promises and returns a numeric concurrency limit value to allow for * dynamic a concurrency size. * * @param mixed $iterable * @param int|callable $concurrency * @param callable $onFulfilled * @param callable $onRejected * * @return PromiseInterface */ function each_limit($iterable, $concurrency, callable $onFulfilled = null, callable $onRejected = null) { return (new \YoastSEO_Vendor\GuzzleHttp\Promise\EachPromise($iterable, ['fulfilled' => $onFulfilled, 'rejected' => $onRejected, 'concurrency' => $concurrency]))->promise(); } /** * Like each_limit, but ensures that no promise in the given $iterable argument * is rejected. If any promise is rejected, then the aggregate promise is * rejected with the encountered rejection. * * @param mixed $iterable * @param int|callable $concurrency * @param callable $onFulfilled * * @return PromiseInterface */ function each_limit_all($iterable, $concurrency, callable $onFulfilled = null) { return each_limit($iterable, $concurrency, $onFulfilled, function ($reason, $idx, \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $aggregate) { $aggregate->reject($reason); }); } /** * Returns true if a promise is fulfilled. * * @param PromiseInterface $promise * * @return bool */ function is_fulfilled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) { return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::FULFILLED; } /** * Returns true if a promise is rejected. * * @param PromiseInterface $promise * * @return bool */ function is_rejected(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) { return $promise->getState() === \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::REJECTED; } /** * Returns true if a promise is fulfilled or rejected. * * @param PromiseInterface $promise * * @return bool */ function is_settled(\YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface $promise) { return $promise->getState() !== \YoastSEO_Vendor\GuzzleHttp\Promise\PromiseInterface::PENDING; } /** * @see Coroutine * * @param callable $generatorFn * * @return PromiseInterface */ function coroutine(callable $generatorFn) { return new \YoastSEO_Vendor\GuzzleHttp\Promise\Coroutine($generatorFn); } سبک در ترجمه | آموزش ترجمه | دارالترجمه رسمی آنلاین دانش فردا

سبک در ترجمه

سبک در ترجمه

سبک در ترجمه

سبک ترجمه یکی از مباحث مهم در حوزه ترجمه می باشد و سبک های مختلفی برای ترجمه وجود دارد. سبک یا شیوه بیان یک نویسنده نسبت به موضوع مورد نظر وی دارای ویژگی های خاصی است. به طور کلی سبک یک داستان با سبکی که در نگارش مقاله ای علمی ارائه می شود متفاوت است زبانی که برای توصیف علمی به کار می رود، با توصیف ادبی همان رویداد و طبعا توصیفی که از آن رویداد برای کودکان ارائه می شود، تفاوت های بارزی دارد.

یک نویسنده بر اساس دو عامل موضوع و مخاطب، سبک یا شیوه بیان خاصی را برمی گزیند و در طول متن خود رعایت می کند. هر یک از این سبک ها از نظر واژگان، ساختارهای دستوری و کاربردهای معنایی با یکدیگر تفاوت دارند. به عبارت ساده تر، کاربرد واژه ها بدان شکلی که در یک متن ادبی قابل رویت است معمولا جایی در یک مقاله علمی ندارد، زیرا اگر نگوییم نادرست، بهرحال بسیار مضحک است اگر برای نمونه مسئول هواشناسی به هنگام گزارش وضع هوا به جای واژه “آسمان” از “گنبد مینا” استفاده کند و یا دندان پزشکی در مقاله علمی خود به جای استفاده از اصطلاح ” ارتدنسی” عبارت “به زنجیر کشیدن مرواریدهای نشسته در قفای غنچه ­رخ” را به کار برد.

بدین ترتیب می توان گفت سبک بر اساس موضوع و مخاطب دارای گونه های متفاوتی است، که خود می تواند به انواعی فرعی تقسیم پذیر باشد:

1-گونه موضوع مدار

2-گونه مخاطب مدار

از آمیزش این دو گونه اصلی نیز سبک های متنوعی بوجود خواهد آمد. برای نمونه دو متن زیر را با یکدیگر مقایسه می کنیم:

  •  توس و گیو را هوس شکار در دل افتاد. پس بازان شکاری را برداشته، تیرو کمان برگرفتند و با سوارانی چند به نخجیرگاه شتافتند. به شادان دلی در پهن دشت تاختند و گوران به کمند گرفتند.
  •   توس و گیو هوس کردند که به شکار بروند. پس بازهای شکاری و تیر و کمان خود را برداشتند و با چند سوارکار به سوی شکارگاه حرکت کردند. آن ها با دلی شاد در دشت به تاخت و تاز پرداختند و گورخرها را با کمند می گرفتند.

دو نمونه بالا که صورتی به نثر درآمده از آغاز داستان سیاوش در شاهنامه است، بر اساس موضوع و مخاطب با دو سبک مختلف ارائه شده اند. اگرچه در هر مورد، موضوع دارای ساختار ادبی است، اما برای خواننده مشخص است که گونه دوم مخاطبین کم سن را در نظر گرفته است. بدین ترتیب می توان چنین پنداشت که خواننده با آگاهی های زبانی خود، سبک بکار رفته در متن را تشخیص می دهد و با توجه به ویژگی های متن واکنش مناسب نشان می دهد.

رعایت سبک متن زبان مبدا در ترجمه، یکی از اجبارات مترجم است. این کار مستلزم شناخت گونه خاصی است که در متون مختلف به کار می رود. مترجم بر اساس تجربه خود در شرایطی خاص، ترجمه معنایی را یعنی توجه به آنچه نویسنده می گوید یا ترجمه ارتباطی را یعنی آنچه برای خواننده قابل درک است، بر می گزیند. اما اختیاری در تغییر سبک ندارد. همان طور که نویسنده نباید مقاله علمی را به گونه ادبی یا محاوره ای بیان دارد، مترجم نیز نمی تواند در تغییر سبک متن از خود اختیار نشان دهد، زیرا چنین اختیاری به قربانی کردن سبک متن زبان مبدا خواهد انجامید. این مسئله بویژه در میان مترجمینی که خود نویسنده نیز هستند، فروان به چشم می خورد. اینان سبک نگارش خود را بر متن تحمیل می سازند و حتی گاهی حتی از این مرحله نیز گامی فراتر می نهند و به دلیل آگاهی کامل از موضوع متن زبان مبدا در طی ترجمه آرای نویسنده را نیز دستکاری می کنند. در چنین شرایطی ترجمه بدست آمده، بر اساس نقد علمی ترجمه، برچسب “نادرست” خواهد گرفت.

بدین ترتیب شاید بتوان گفت در میان ترجمه معنایی یعنی ” برگردان نویسنده مدار” و ترجمه ارتباطی یعنی ” برگردان خواننده مدار” گونه دیگری از ترجمه هم به چشم می خورد که می توان عنوان “برگردان مترجم مدار” بر آن نهاد.

برگردان های مترجم مدار به دلیل اطلاعات بیشتری که از سوی مترجم بر متن تحمیل می شود، درک موضوع و آرای نویسنده را مشکلتر می سازد و در برخی از شرایط ممکن است به نامفهومی ترجمه بیانجامد. این مسئله بویژه در ترجمه متون تخصصی و علمی به نهایت خود می رسد. برای نمونه :

My purpose in writing this book has been to provide a relatively self-contained introduction to the most important trends in analytic philosophy

بر آن بوده ام تا در این نوشته، پیشگفتاری کما بیش خود سازمان از شایان ترین روندهای فرزانگی آناکاویک بدست دهم.

I don’t want to criticize myself with the new ideas of mine

وای بر من اگر خواسته باشم با آرای تازه ام خدنگ دشنام را بر قلب خود نشانه روم.

Now an isolated fact is usually said to be explained when its cause has been discovered. And if its cause cannot be ascertained, it is said to be an unexplained fact

معمولا وقتی علت موضوعی برای ما کشف شده باشد، آنوقت آن موضوع را به ما توضیح می دهند. حال اگر نتوانیم این علت را تشخیص دهیم، آنوقت می گوئیم که آن علت را نمی توان توضیح داد.

در نمونه نخست می بینیم که مترجم با کاربرد واژه های فارسی به اصطلاح ناب، پیشگفتار کتابی را آنچنان ترجمه کرده است که دیگر برای خواننده مفهوم نیست. نمونه دوم ترجمه ای ادبی از یک متن ساده انگلیسی است و در نمونه سوم مترجم نه تنها در متن اصلی تغییراتی داده، بلکه متنی فلسفی را برای چاپ در مجوعه کتاب کودکان آماده ساخته است.

مثال های بالا اگرچه نمونه ایی بسیار افراطی بشمار می روند ولی با درجه ای کمتر از این افراطها در بسیاری از برگردان های مترجم مدار به چشم می خورد.

اگر جمله را مطلوب ترین واحد ترجمه بدانیم و نخواهیم ترجمه ای تحت الفطی و یا آزاد از متن زبان مبدا بدست دهیم، رعایت سبک و یا شیوه بیان به انتخاب معادل صحیح واژه ها و ساخت دستوری جمله در زبان مقصد وابسته است. به عبارت ساده تر، از میان چند واژه معادل و چند ساخت دستوری می بایست گونه ای را انتخاب کرد که در مجموع بتواند سبک متن زبان مبدا را در زبان مقصد نشان دهد.

آخرین مطالب

ترجمه اساسنامه شرکت

ترجمه اساسنامه شرکت

ترجمه اساسنامه شرکت | ترجمه رسمی اسناد شرکتی یکی از اسناد مهم که برای تجارت بین المللی مورد نیاز است، ترجمه اساسنامه شرکت است که باید به صورت قانونی و تایید شده توسط دارالترجمه رسمی و

ادامه مطلب »
ترجمه ترازنامه مالی | ترجمه گزارش های حسابرسی در سایت دانش فردا

ترجمه ترازنامه مالی

ترجمه ترازنامه مالی | ترجمه گزارش های حسابرسی ترجمه ترازنامه مالی در بسیاری از موقعیت ها مورد نیاز است. از آن جمله می توان به صادرات به خارج از کشور، بین المللی کردن یک پیشنهاد، یا

ادامه مطلب »
ترجمه گواهی های آموزشی و مهارتی

ترجمه گواهی های آموزشی و مهارتی

ترجمه گواهی های آموزشی و مهارتی | ترجمه رسمی مدارک آموزشی یکی از دفاتر ترجمه رسمی که مدارک تخصصی و قانونی را با دقت ارائه می کند و ترجمه گواهی های آموزشی و مهارتی را توسط

ادامه مطلب »
مترجم رسمی آلمانی

مترجم رسمی آلمانی

مترجم رسمی آلمانی | ترجمه سریع و فوری آلمانی مترجم رسمی آلمانی، باید دارای تاییدیه بوده و توانایی ترجمه های مختلفی از جمله ترجمه حقوقی، تخصص و مدارک را داشته باشد. در واقع، ترجمه این نوع

ادامه مطلب »
ترجمه استعلامات اداره ثبت

ترجمه استعلامات اداره ثبت

ترجمه استعلامات اداره ثبت | هزینه ترجمه استعلام از ثبت اسناد اگر بابت پرونده ثبتی خود در کشوری دیگر، نیاز به ترجمه استعلامات اداره ثبت دارید، می توانید خدمات ترجمه به موقع و دقیقی را از

ادامه مطلب »
ترجمه مجوزهای فعالیت

ترجمه مجوزهای فعالیت

ترجمه مجوزهای فعالیت | هزینه ترجمه پروانه کسب روزانه میلیون ها سند ترجمه می شود و ترجمه مجوزهای فعالیت، یکی از نمونه هایی است که به دلیل توسعه راه اندازی کسب و کارهای بین المللی، مورد

ادامه مطلب »
ترجمه رسمی ریز مکالمات تلفن

ترجمه رسمی ریز مکالمات تلفن

ترجمه رسمی ریز مکالمات تلفن | هزینه ترجمه لیست تماس ها ترجمه رسمی ریز مکالمات تلفن و اسناد پشتیبان به انگلیسی، یکی از مواردی است که مترجمان رسمی و تایید شده به آن می پردازند. به

ادامه مطلب »
ترجمه گواهی پزشکی | انواع ترجمه گواهی های پزشکی | ترجمه کارت واکسن

ترجمه گواهی های پزشکی

ترجمه گواهی های پزشکی | ترجمه کارت واکسن ترجمه گواهی های پزشکی، یکی از مدارک معتبر و لازم برای ارائه در برنامه های مهاجرت است. امروزه، برخی از کشورها، ترجمه کارت واکسن هایی همچون کووید 19

ادامه مطلب »