কিভাবে পরিদর্শন দ্বারা অনুবাদ শব্দটির নাম পাবেন?


10

আমি খুঁজছি কাজ পদ্ধতি থেকে অনূদিত মেয়াদ নাম পেতে দ্বারা tid

নিম্নলিখিত কোডটি মূল শব্দটির নাম দেয় তবে অনুবাদ নয়।

global $language;

$lang_name = $language->language; // en

$term_id = 788;

$term = i18n_taxonomy_term_get_translation($term_id, $lang_name);

অনূদিত টেকনোমি পদের উদাহরণ (জার্মান থেকে ইংরেজী)

" প্রোগ্রামযুক্তভাবে অনুবাদকৃত টেকনোমির শব্দটি কীভাবে পাবেন? " এ প্রদত্ত বেশিরভাগ উদাহরণ ড্রুপাল for এর পক্ষে কার্যকর নয় বলে মনে হচ্ছে।


আমি মনে করি কোডটি কাজ করা উচিত তবে প্রথম প্যারামিটারটি একটি টার্ম অবজেক্ট এবং টার্ম আইডি হওয়া উচিত ...
লেনি

@lenni দুর্ভাগ্যক্রমে এটি কাজ করে না। ড্রুপাল একই বস্তুকে ফিরিয়ে দেয়।
সাথি 64

উত্তর:


17

আমি এটি কাজ করতে পরিচালিত! এটি আমার কোড

$tree = taxonomy_get_tree(9); // Your taxonomy id

foreach ($tree as $term) {
  if (module_exists('i18n_taxonomy')) { //To not break your site if module is not installed
    $term = i18n_taxonomy_localize_terms($term); // The important part!
  }
  print l($term->name, 'taxonomy/term/' . $term->tid); //print the terms
}

যে এটি করা! Diadeuf!


12

আপনার i18n_taxonomy_localize_terms () ফাংশনটি ব্যবহার করা উচিত। এটি আমার জন্য কার্যকরী কোড:

$tid = 10;
$term = taxonomy_term_load($tid);
$translated_term = i18n_taxonomy_localize_terms($term);
print $translated_term->name;

11

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

ধরা যাক আপনার টার্ম আইডি ওপি'র মতো 788, তারপরে এই লাইন ধরে কিছু করুন:

  $i18n_object = i18n_get_object('taxonomy_term', 788);
  $target_langcode = 'de';
  $translated_term = $i18n_object->localize($target_langcode);

1
এটি আমার পক্ষে কাজ করেছিল !, অদ্ভুত যে i18n_taxonomy_localize_terms ফাংশনটি করেনি। thx
GwenM

নিখুঁত কাজ করেছেন। @ নামারি ফাংশনের মত আই 18n_taxonomy_localize_terms এর কাজটি মনে হচ্ছে না।
জানুয়ারী

1

নিবলস কোডটি দেখায় কীভাবে একটি পূর্ণ শব্দভাণ্ডার গাছের অনুবাদ করা যায়। এই কোড স্নিপেট দেখায় যে কীভাবে একটি নির্দিষ্ট শব্দ অনুবাদ করা যায়।

$term = taxonomy_term_load($tid);
$translated_term = i18n_taxonomy_term_get_translation($term, $langcode);

এই প্রশ্নের ইতিমধ্যে এখানে জবাব দেওয়া হয়েছিল: অনুবাদিত ট্যাক্সনোমি শব্দটি প্রোগ্রামিয়ালি কীভাবে পাবেন?


0

আপনি যদি এটি ফাংশন হিসাবে ব্যবহার করতে চান ..

function _get_term_name_translate($tid) {
  $term = i18n_taxonomy_localize_terms(taxonomy_term_load($tid));
  return $term->name;
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.