আমি কি একটি হুক_মেনুর বর্ণনায় টি () ব্যবহার করব?


11

আমি হুক_মেনাস শিরোনাম এবং বর্ণনার জন্য সর্বদা টি () ব্যবহার করেছি:

$items['some-path'] = array(
    'title' => t('My Page Title'),
    'description' => t('This is a description about what my page is for'),
    'page callback' => 'profile_user_page',
);

এটি আমার কাছে বোধগম্য হয় যাতে ব্যবহারকারীরা প্রয়োজনে শিরোনাম এবং বিবরণটি বিভিন্ন ভাষায় অনুবাদ করতে পারেন।

তবে ডিও-তে একটি মডিউল পর্যালোচনা সম্পর্কে এই মন্তব্য বলেছেন:

না, এটি ভুল, এটি করবেন না - হুক_মেনুতে বর্ণিত বিবরণ () কখনই টি () ব্যবহার করা উচিত নয়।

এটির পক্ষে যুক্তি কী এবং এটি আসলে সর্বোত্তম অনুশীলন?

এছাড়াও যদি এটি সত্য হয় তবে আমরা কি শিরোনামের জন্য টি () ব্যবহার করব না?


স্পষ্টতই এটি ব্যবহার করা উচিত নয় তবে আপনি যদি "বিবরণ" => টি ("6 টি ঘটনা উপস্থিত থাকেন তবে এটি স্পষ্টতই এটি একটি সাধারণ ভুল!"
ফেলিক্স ইভ

1
সাধারণ বা না, এটি কোনও অজুহাত নয়;) এবং এই ঘটনাগুলি মন্তব্যগুলিতে রয়েছে - লোকেরা সেখানে ভুল হতে পারে।
মোওত

1
@ মুওট তারা সেখানে ভুল হতে পারে তবে অনেকগুলি নতুন ব্যবহারকারী সেই কোডটি অনুলিপি করে পেস্ট করবেন যাতে এটি সাধারণ ভুল হতে থাকবে। আমি মনে করি ডিও-তে প্রশাসকের সুবিধাসহ কারও টি (টি) মুছে ফেলার জন্য সেই মন্তব্যগুলি সম্পাদনা করা উচিত।
ফেলিক্স ইভ

আপনি ইচ্ছুক হলে একটি সমস্যা ফাইল করতে পারেন।
মোওত

1
ভাল পরামর্শ। সম্পন্ন
ফেলিক্স ইভ

উত্তর:


17

সুপরিচিত জায়গাগুলিতে স্ট্রিংগুলি দেখুন : অন্তর্নির্মিত মেনু, অনুমতি, লগ বার্তা এবং .info ফাইল সম্প্রদায়ের ডকুমেন্টেশন:

ড্রুপাল 6 এবং 7 মেনু সিস্টেম ইংরেজিতে মেনু আইটেমের শিরোনাম এবং বিবরণ সঞ্চয় করে। এটি সিস্টেমটিকে ডেটা ক্যাশে করার অনুমতি দেয় তবে চাহিদা অনুযায়ী বিভিন্ন ভাষা ব্যবহার করে ব্যবহারকারীদের কাছে প্রদর্শন করে। এটি কাজ করার জন্য, আপনার হুক_মেনু () বাস্তবায়নে মেনু আইটেমগুলির শিরোনাম বা বিবরণে টি () ব্যবহার করা উচিত নয় । অতিরিক্তভাবে, আপনার এই দুটি কীগুলির জন্য আক্ষরিক স্ট্রিং (ডায়নামিক স্ট্রিংয়ের পরিবর্তে) ব্যবহার করার চেষ্টা করা উচিত, যাতে অনুবাদ টেম্পলেট এক্সট্রাক্টর আপনার ব্যবহৃত স্ট্রিংটি খুঁজে পেতে পারে।

জোর আমার।


আমি যোগ হবে: শুধু যদি title callbackসেট না করা হয়, কারণ ডিফল্টরূপে title callbackহয় t()ফাংশন
milkovsky

1
@ মিলকভস্কি যদি শিরোনাম কলব্যাক সেট করা থাকে তবে এটি সম্পর্কে যত্ন নেওয়া উচিত t()এবং আপনার এখনও এটি ব্যবহার করা উচিত নয় hook menu()- আপনি জানেন, ক্যাশে করছেন।
মোওত

11

আপনি যদি হুক_মেনু আর্গুমেন্টের ডকুমেন্টেশন দেখেন ..

  • "শিরোনাম": প্রয়োজনীয়। মেনু আইটেমটির অপরিবর্তিত শিরোনাম।
  • "শিরোনাম কলব্যাক": শিরোনাম উত্পন্ন করার কাজ; ডিফল্ট টি ()। আপনার যদি কেবল কাঁচা স্ট্রিংয়ের আউটপুট হতে হয় তবে এটি FALSE এ সেট করুন।
  • "শিরোনাম আর্গুমেন্ট": টি () বা আপনার কাস্টম কলব্যাক প্রেরণের জন্য আর্গুমেন্ট, উপরে বর্ণিত পথের উপাদান উপাদান প্রতিস্থাপন সহ।
  • "বিবরণ": মেনু আইটেমটির অপরিবর্তিত বর্ণনা।

ডিফল্ট শিরোনাম কলব্যাক টি ফাংশন .. সুতরাং এটি সর্বদা অনুবাদ করা হয় ..


7

যেহেতু দ্রুপাল 6 এর আর দরকার নেই।

দয়া করে https://drupal.org/node/140311 পড়ুন । যে উদ্ধৃত:

X.x হিসাবে, দ্রুপাল অভ্যন্তরীণভাবে মেনু শিরোনাম এবং বিবরণীর ব্যবহারকারীর স্থানীয় ভাষায় অনুবাদ করে। বিবরণ, সরবরাহ করা থাকলে সর্বদা টি () দিয়ে অনুবাদ করা হয়; স্থানধারক প্রতিস্থাপনের জন্য অতিরিক্ত ডেটা পাস করার কোনও উপায় নেই (ডি 5 এবং এর আগে, বিকল্পে পাস করা নিরুৎসাহিত অনুশীলন ছিল - এই পরিবর্তনের সাথে মেনু সিস্টেমটি সেই নিয়মটি সরাসরি প্রয়োগ করে)। শিরোনামগুলি ডিফল্টরূপে টি () দিয়ে অনুবাদ করা হয়, তবে টি () - স্টাইলের স্ট্রিং প্রতিস্থাপনটি নতুন 'শিরোনাম আর্গুমেন্ট' সম্পত্তি ব্যবহারের মাধ্যমে সম্ভব is আপনি নিজের কাস্টম কলব্যাক দিয়ে টি () প্রতিস্থাপন করতেও চয়ন করতে পারেন।


6

আপনি ব্যবহার করা উচিত নয় t()মধ্যে hook_menu()বাস্তবায়নের কারণ t()স্বয়ংক্রিয়ভাবে পরে বলা হয় এবং তা করার ডবল অনুবাদ কারণ হবে।


* মনে রাখবেন যে আপনি যদি title callbackহুক_মেনুতে একটি যোগ করেন, এবং যদি তা না হয় tতবে শিরোনাম কলব্যাক স্ট্রিংটি অনুবাদ করার জন্য দায়ী।
আইশক

0

এটি হুক_মেনু () অর্থাত্ ডকুমেন্টেশন পৃষ্ঠায় স্পষ্টভাবে বলেছে

https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_menu/7.x

"শিরোনাম": প্রয়োজনীয়। মেনু আইটেমটির অপরিবর্তিত শিরোনাম।

"বিবরণ": মেনু আইটেমটির অপরিবর্তিত বর্ণনা।

সুতরাং উপরের উভয়ের জন্য টি () ফাংশন ব্যবহার করার দরকার নেই।

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