আমি কি ব্যবহৃত মূল শর্তাদির জন্য প্লাগইন পাঠ্য ডোমেনটি ছেড়ে দিতে পারি?


10

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

প্লাগইনটি কিছু অনন্য স্ট্রিং ব্যবহার করে যা এই জাতীয় পাঠ্য ডোমেন পাবে:

__( 'Select the post statuses to <strong>exclude</strong> from post type admin menus', 'csmpmsi' )

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

আপনি যদি কোনও প্লাগইন অনুবাদ করার চেষ্টা করছেন তবে উপরের মত একই পরামর্শ প্রযোজ্য, এটি ব্যতীত

  • আপনাকে অবশ্যই একটি ডোমেন ব্যবহার করতে হবে যা আপনার প্লাগইনের একটি হুকতে লোড করা আছে

  • প্রতিটি অনুবাদ কল অবশ্যই __ ('পাঠ্য', 'ডোমেন-নাম') হয়ে উঠবে

তাহলে কি এই ডাব্লুপি-কোশার?


1
একটি চিন্তা-ভাবনা প্রশ্ন জিজ্ঞাসা করার জন্য ধন্যবাদ, উত্তর (এখনও পর্যন্ত টসচো এবং মার্ক কাপলুন থেকে) আমার কাছে আকর্ষণীয় এবং দরকারী হয়েছে!
ওয়েবওয়ার

উত্তর:


14

অনুবাদ করার জন্য মূল স্ট্রিংগুলির উপর কখনই নির্ভর করবেন না, তারা যে contextকোনও সময় প্যারামিটার পরিবর্তন করতে বা পেতে পারে । এটি হয়ে গেলে আপনার ব্যবহারকারীরা আংশিক অনুবাদিত ইন্টারফেস পাবেন এবং আপনার অনুবাদকরা এটিকে ঠিক করার কোনও উপায় রাখবেন না।

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

এই বিষয়টি সম্পর্কে আমাদের কিছু দিন আগে এই চ্যাট আলোচনাটি দেখুন ।


এছাড়াও মনে রাখবেন যে স্ট্রিংটি এখনও আপনার পট ফাইলে প্রদর্শিত হবে, এমনকি এতে কোনও পাঠ্য ডোমেন নেই।
স্ক্রিবু

@ স্ক্রিবু পার্সার উপর নির্ভর করে। কোডস্টিলিং স্থানীয়করণ প্লাগইন এটিকে উপেক্ষা করবে।
ফুসিয়া

দেখে মনে হচ্ছে কাছাকাছি-অভিন্ন প্রশ্নে এই উত্তর এবং এই উত্তরের মধ্যে কিছু মতবিরোধ রয়েছে ...
mrwweb

4

হ্যাঁ, তবে দয়া করে করবেন না। এটি কোডিং স্ট্যান্ডার্ডের মতো, আপনি এটিকে বাইপাস করে কোনও ছোট সুবিধা অর্জন করতে পারলে আরও ভাল এটি অনুসরণ করুন।

আরও ভাল কারণ:

  1. ৩.৫ সংস্করণে ওয়ার্ডপ্রেসের কোনও একঘেয়েমি অনুবাদ ফাইল নেই, পারফরম্যান্সের কারণে এটি তিন ভাগে বিভক্ত হয়েছিল। যদি এই ধারা অব্যাহত থাকে, আপনি কি নিশ্চিত যে ডিফল্ট ডোমেনটি এটিকে ব্যবহার করার চেষ্টা করার সময় আদৌ লোড হবে __('Pages')?

  2. আপনি লোকালাইজারে কাজ সংরক্ষণ করেন না - পোয়েডিটের মতো অনুবাদ সরঞ্জামগুলি কোনও ফাইলে দুটি অনুবাদ ডোমেন কীভাবে মোকাবেলা করতে হয় তা জানে না এবং উদাহরণস্বরূপ তারা একটি .po ফাইল উত্পন্ন করবে যার মধ্যে 'পৃষ্ঠাগুলি' শব্দটি রয়েছে এমনকি আপনি যদি এটির জন্য ডিফল্ট ডোমেন ব্যবহার করুন। লোকালাইজার তার অনুবাদ করা স্ট্রিংগুলির প্রকৃত ব্যবহার পরীক্ষা করে না, যদি না তাকে প্রসঙ্গটি বোঝার প্রয়োজন হয় যাতে সে ভিন্ন ডোমেনটি লক্ষ্য না করে এবং শব্দটি অনুবাদ করে। এছাড়াও, যদি স্থানীয়করণকারীর সরঞ্জামগুলি জানেন তবে তার কাছে ওয়ার্ডপ্রেস মূল অনুবাদ ফাইলগুলির উপর ভিত্তি করে একটি অনুবাদ ডিবি থাকবে যা পোয়েডিটকে স্বয়ংক্রিয়ভাবে 'পৃষ্ঠা' এর মতো শব্দগুলিতে অনুবাদ করতে সক্ষম করে।


0

আপনি চেষ্টা করতে পারেন

add_action('wp',function(){
    load_default_textdomain();
    _e('Settings');
});

অথবা

add_action('wp',function(){
    $locale = is_admin() ? get_user_locale() : get_locale();
    load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
    load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" );

    // WPMU
    //load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" );
    //load_textdomain( 'default', WP_LANG_DIR . "/admin-network-$locale.mo" );

    _e('Settings');
    _e('First Name');
    _e('Last Name');
});

উল্লেখ : https://v123.tw/use-wordpress-core-translation/

শুভকামনা !!

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