কীভাবে ওয়ার্ডপ্রেসে হাইপারলিংক অনুবাদযোগ্য একটি পাঠ্য তৈরি করবেন?


15

হাইপারলিংক অনুবাদযোগ্য দিয়ে একটি পাঠ্য তৈরি করার বিভিন্ন উপায় আমি দেখেছি। যাইহোক, আমি একটি একক সেরা অনুশীলন সন্ধান করতে অক্ষম হয়েছে।

সুতরাং, আমি যে সমাধানগুলি পেয়েছি সেগুলির কয়েকটি এখানে:

// METHOD 1
sprintf( __( 'Please read %1$sthis%2$s.', 'tacoverdo-example-domain' ), '<a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">', '</a>' );

// METHOD 2
echo '<a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">';
_e( 'Please read this.', 'tacoverdo-example-domain' );
echo '</a>';

// METHOD 3
sprintf( __( 'Please read <a href="%s">this</a>.', 'tacoverdo-example-domain' ), esc_url( 'https://goo.gl' ) );

// METHOD 4
sprintf( __( 'Please read %sthis%s.', 'tacoverdo-example-domain' ), '<a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">', '</a>' );

// METHOD 5
_e( 'Please read <a target="_blank" href="' . esc_url( 'https://goo.gl' ) . '">this</a>', 'tacoverdo-example-domain' );

আমার প্রথম চিন্তা হবে যে পদ্ধতি 1 সেরা হবে। এটি আপনার অনুবাদকদের এইচটিএমএল জানা প্রয়োজন হয় না। তবে এটি এটির সাথে ঝামেলা করতে দেয় না। এটি পুরোপুরি DRY (নিজেকে পুনরাবৃত্তি করবেন না) যেহেতু আপনাকে পুরো HTML অংশটি বারবার অনুবাদ করতে হবে না।

যাইহোক, টুইটারে এই প্রশ্নটি পোস্ট করার সময়, লোকেরা জবাব দিয়েছিল যে পদ্ধতিটি 3 আপনি এখানে দেখতে পারেন হিসাবে সেরা হবে ।

সুতরাং, আমি কীভাবে ওয়ার্ডপ্রেসে হাইপারলিংক অনুবাদযোগ্য একটি পাঠ্য তৈরি করব?

উত্তর:


17

এটি একটি বহুল পক্ষের বিষয়। এটি অন্তর্ভুক্ত HTML বিষয়বস্তু সম্পর্কিত সমস্যার সাথে পুরো নতুন ভার্সন চ্যালেঞ্জের সাথে সংযুক্ত করে, যেমন স্ট্রিংগুলির জন্য স্ক্যান করা, অনুবাদ প্রক্রিয়া নিজেই এবং এর যাচাইকরণ।

সুতরাং আমাদের একত্রিত করতে হবে:

  1. পাঠ্য (অনুবাদযোগ্য আকারে)
  2. এইচটিএমএল চিহ্নিত
  3. ইউআরএল গন্তব্য (সুরক্ষিত এবং পছন্দসই অনুবাদযোগ্য ফর্ম, ভাষা নির্দিষ্ট হতে পারে!)

আমাদের পরিচিতি এবং পূর্বের শিল্পকেও বিবেচনা করা দরকার, অন্য কথায় - মূল কী করবে। ঠিক আছে, এটি দ্রুত পরীক্ষার মাধ্যমে কোরের এই উপায়গুলির বেশিরভাগ ক্ষেত্রে (যদি না সমস্ত হয়) এটি করতে সহায়তা করে না।

এই কারণগুলি এবং আশেপাশের আলোচনা থেকে আমি বলব প্রয়োজন এবং অগ্রাধিকারের উপর নির্ভর করে তিনটি বালতি পন্থা রয়েছে।

সরল - সবকিছু দিয়ে একটি স্ট্রিং

__( 'Please read <a href="https://goo.gl">this</a>', 'example-domain' );
  • কোড অনুসরণ করা সহজ
  • সামগ্রিকভাবে সমস্ত অংশ (পাঠ্য, মার্কআপ, URL) অনুবাদ করার অনুমতি দেয় to
  • ইউআরএল হার্ডকোডযুক্ত
  • এইচটিএমএল বিরতি প্রবণ
  • মূল জনপ্রিয়

ভারসাম্যযুক্ত - ইউআরএল ভাঙা

sprintf( 
    __( 'Please read <a href="%s">this</a>', 'example-domain' ), 
    esc_url( 'https://goo.gl' ) 
);
  • অনুসরন করা সহজ
  • সমস্ত অংশ অনুবাদ করতে পারে, তবে ইউআরএল (গুলি) এর পৃথক অনুবাদ কল দরকার
  • ইউআরএল গতিশীল এবং পালাতে পারে
  • এইচটিএমএল বিরতি প্রবণ
  • মূল জনপ্রিয়
  • বিকাশকারী / অনুবাদকদের সাথে উপাচার্যভাবে জনপ্রিয়

পিসিমিল - মার্কআপ ভেঙে গেছে

sprintf( 
    __( 'Please read %1$sthis%2$s.', 'example-domain' ), 
    '<a href="' . esc_url( 'https://goo.gl' ) . '">',
    '</a>' 
);

বা সংলগ্ন মাধ্যমে

'<a href="' . esc_url( 'https://goo.gl' ) . '">' 
. __( 'Please read this.', 'example-domain' );
. '</a>';
  • কম পাঠযোগ্য
  • HTML বিরতিতে আরও স্থিতিস্থাপক
  • কোর কম জনপ্রিয়
  • অনুবাদ করার জন্য আরও প্রসঙ্গ সরবরাহ করা দরকার

একটি থাম্বের বিধি (যতদূর আমি এটি দেখছি)

  1. সহজ যতটা সম্ভব সহজ হিসাবে এটা রাখতে
  2. এইচটিএমএল বিরতি রোধ করতে টুকরোয়াল
  3. অন্যান্য সমস্ত ক্ষেত্রে ভারসাম্যপূর্ণ (সম্ভবত সবচেয়ে সাধারণ)

+1 টি। আমি "ভারসাম্যযুক্ত" বিকল্পটি পছন্দ করি, সম্ভবত এর _xপরিবর্তে প্রসঙ্গ যুক্ত করে উন্নতি করা যেতে পারে__
gmazzap

আমি স্নিপেটগুলি বিস্তৃতগুলির চেয়ে মূল উদাহরণ হিসাবে লক্ষ্য করেছি intended পরিস্থিতি এবং অনুবাদ ফাংশনগুলির নিখুঁত সংখ্যার কারণে প্রতিটি ক্ষেত্রে সম্ভবত ভিন্নতা থাকবে।
21 ই

ভারসাম্যযুক্ত বিকল্পটিতেও সমস্যা রয়েছে, অনুবাদকরা ভুল মার্কআপ তৈরি করতে পারে। একটি নিশ্চিত এবং সুরক্ষিত অনুবাদের পক্ষে এটি আরও ভাল, আপনি এইচটিএমএলকে বাদ দেন। এছাড়াও আমি প্রসঙ্গ সহ অনুবাদ ফাংশনগুলির পক্ষে ভোট দিই। এটি অনুবাদকদের কীভাবে অবস্থান, প্লাগইনে প্রসঙ্গ, থিম সম্পর্কে কোনও জ্ঞান ছাড়াই বোঝার সুযোগ দেয়।
বুলেটজ

আমি এর আগে 'অনুবাদকদের প্রসঙ্গের প্রয়োজন' শুনেছি তবে এটি আমাকে অবাক করে দেয়। এই উদাহরণে তাদের কী প্রসঙ্গে প্রয়োজন ? আমি মনে করি প্রয়োজনের সময় প্রসঙ্গ সরবরাহ করা ভাল অনুশীলন, তবে অনুবাদকরা কি এই ক্ষেত্রে সত্যই এটির প্রয়োজন? তারা জানতে কিনা প্রয়োজন %sঘোরা <strong>বা <a href target="#">? এটি কি তাদের অনুবাদকে প্রভাবিত করে?
টাকো ভার্দো

@ ট্যাকোভেরডো লিঙ্কটি ছিন্ন হয়ে গেলে আমি পাঠ্যটি খুব ভালভাবেই অস্পষ্ট হতে পারে তা অনুমান করব, সেক্ষেত্রে প্রসঙ্গে বলা উচিত পাঠ্যটি কোন গন্তব্যের জন্য। প্রসঙ্গটি সম্পূর্ণরূপে এবং দ্ব্যর্থহীন না হওয়া পর্যন্ত প্যাডের তথ্য সরবরাহ করে। আপনি যখন পাঠ্যকে ছোট স্ট্যান্ডেলোন টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করার জন্য, তাদের প্রত্যেকের জন্য এটি পুরোপুরি ফিট করে যেখানে আরও প্রসঙ্গের প্রয়োজন।
রাস্ট

8

আজকাল আমি অনেকগুলি বহুভাষা ওয়েবসাইটের সাথে কাজ করি এবং আমার বলতে হবে:

  1. লিঙ্কগুলির ইউআরএলগুলি প্রায়শই অনুবাদযোগ্য হতে হবে।
  2. বিশ্বাস অনুবাদ ফাংশন আউটপুট খারাপ। আমি প্রায় কখনও ব্যবহার করি না __()কিন্তু সর্বদা esc_html__()/ esc_attr__()। যার অর্থ হ'ল অনুবাদ করা স্ট্রিংটিতে কোনও ধরণের HTML থাকতে পারে না।
  3. ইংরাজীতে লেখা আমরা প্রায়শই বুঝতে পারি না যে অন্যান্য ভাষায় কোনও শব্দটি প্রসঙ্গের উপর নির্ভর করে বিভিন্ন উপায়ে লেখা যেতে পারে। সুতরাং যখন পাঠ্যটিতে 1 বা কয়েকটি শব্দ থাকে তখন *_x()অনুবাদ ফাংশনগুলির বৈকল্পিকটি ব্যবহার করা সর্বদা ভাল ।
  4. প্রতিটি অনুবাদযোগ্য স্ট্রিংয়ের জন্য একাধিক স্থানধারককে অন্তর্ভুক্ত করা "বিপজ্জনক" হতে পারে। অনুবাদক যদি কোনও বিকাশকারী না হন তবে তারা সহজেই পৃষ্ঠা রেন্ডারিংটি ভঙ্গ করবেন। উদাহরণ হিসাবে %1$sthis%2$sএকটি অ প্রযুক্তিগত অনুবাদক বুঝতে পারে না যে যথাযথ রেন্ডারিংয়ের জন্য sঠিক আগে thisপ্রয়োজনীয়, এবং এটিও মনে করতে পারে যে বিকাশকারী টাইপ করতে চেয়েছিলেন thisতবে একটি টাইপো লিখেছিলেন এবং লিখেছিলেন sthis

এই সমস্ত কারণে লিঙ্কগুলি থাকা পাঠ্যের "সঠিকভাবে" অনুবাদ করা শক্ত। একমাত্র টেকসই সমাধান যা উপরে বর্ণিত সমস্তগুলি বিবেচনায় নেয়:

$anchor = esc_html_x( 'Google', 'link text for google.com', 'txt-domain' );
$domain = esc_url( __( 'google.com', 'txt-domain' ) );  
$link   = sprintf( '<a href="https://%s">%s</a>', $domain, $anchor );

 /* translators: 1 is a link with text "Google" and URL google.com */
echo sprintf( esc_html__( 'Use %1$s to search.', 'example-domain' ), $link );

যা নিরাপদ এবং অ প্রযুক্তিগত লোকেরা দ্বারা অনুবাদ করা সহজ, তবে ভারবস এবং একটি পিআইটিএ প্রয়োগ করার জন্য, বিশেষত যদি এটি বেশ কয়েকটি লিঙ্কের জন্য করা হয় ...

তবে, হাজার হাজার (প্রকৃত বা সম্ভাব্য) ব্যবহারকারী অনেক ভাষায় কথা বলার সাথে বন্যে প্রকাশিত কোডের জন্য, আমি এইভাবেই যাব।

এটি কেবলমাত্র অভ্যন্তরীণ-ব্যবহারের জন্য কেবল কোডের জন্যই আমি নিয়ে যাই তবে এটি আমি।


দ্রষ্টব্য :

এটি "গুগল" শব্দটি পৃথকভাবে অনুবাদযোগ্য করে তুলতে খুব বেশি উপস্থিত হতে পারে এবং সম্ভবত এই নির্দিষ্ট ক্ষেত্রে এটি সত্য। তবে কখনও কখনও এমনকি ব্র্যান্ডের নামগুলিও ভুল বলে ধরে নেওয়া হয়। কেবল উদাহরণের জন্য, ইতালিতে আমাদের কাছে "আলজিদা" ব্র্যান্ড রয়েছে যা বিশ্বজুড়ে ~ 30 টি বিভিন্ন নামে পরিচিত ।

এই জাতীয় ক্ষেত্রে, ইউআরএল এবং / অথবা ব্র্যান্ডের নাম হার্ডকোডিং সমস্যার কারণ হবে।

অনুবাদটির প্রসঙ্গ সরবরাহ করুন অনুবাদকরা তাদের ব্র্যান্ড নামটি অনুবাদ করতে হবে কিনা তা সিদ্ধান্ত নিতে সহায়তা করবে।


2

অনুবাদযোগ্য স্ট্রিংয়ে আপনাকে মার্কআপ রাখতে হবে, কারণ অনুবাদকদের একটি লিঙ্ক আছে তা জানতে হবে। কিছু ভাষায় ফলাফল লিঙ্ক পাঠ্য একাধিক শব্দের বিস্তৃতি হতে পারে, এমনকি ভিতরে একটি কমা (বা সমতুল্য) বা অন্য মার্কআপ থাকতে পারে যা সঠিকভাবে নেস্ট করা দরকার।

স্পিকিং লিঙ্কের পাঠ্যটি তৈরি করাও এটি গুরুত্বপূর্ণ, এটি বা এখানে নয়

2 বা 3 হ'ল একমাত্র অনুবাদযোগ্য বিকল্প, তবে আপনার URL টি অনুবাদযোগ্যও করা উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.