खोज…


परिचय

CodeIgniter में भाषा वर्ग अंतर्राष्ट्रीयकरण के लिए कई भाषाओं का समर्थन करने का एक आसान तरीका प्रदान करता है। कुछ हद तक, हम विभिन्न भाषाओं में पाठ प्रदर्शित करने के लिए विभिन्न भाषा फ़ाइलों का उपयोग कर सकते हैं।

उदाहरण

फाइलें बनाना भाषा

भाषा फ़ाइल बनाने के लिए, आपको इसे _lang.php साथ समाप्त करना होगा। उदाहरण के लिए, आप फ्रेंच भाषा के लिए एक भाषा फ़ाइल बनाना चाहते हैं, तो आपको इसे french_lang.php बचाना होगा। इस फ़ाइल के भीतर आप अपने सभी भाषा पाठों को मुख्य रूप से $lang सरणी में मान संयोजन में संग्रहीत कर सकते हैं जैसा कि नीचे दिखाया गया है।

$lang['key'] = 'val';

भाषा फ़ाइल लोड हो रही है

अपने एप्लिकेशन में किसी भी भाषा का उपयोग करने के लिए, आपको पहले उस फ़ाइल में संग्रहीत विभिन्न ग्रंथों को पुनः प्राप्त करने के लिए उस विशेष भाषा की फ़ाइल को लोड करना होगा। भाषा फ़ाइल लोड करने के लिए आप निम्न कोड का उपयोग कर सकते हैं।

$this->lang->load('filename', 'language');

फ़ाइल नाम : यह उस फ़ाइल का नाम है जिसे आप लोड करना चाहते हैं। यहाँ फ़ाइल के विस्तार का उपयोग न करें, लेकिन केवल फ़ाइल का नाम। भाषा : यह वह भाषा सेट है जिसमें यह होता है।

भाषा पाठ प्राप्त करना

$this->lang->line('language_key');

भाषा फ़ाइल से एक पंक्ति लाने के लिए बस निम्नलिखित कोड निष्पादित करें। जहाँ language_key लोड की गई भाषा फ़ाइल में कुंजी के मान को लाने के लिए उपयोग किया जाने वाला प्रमुख पैरामीटर है।

ऑटोलॉड भाषाएँ

यदि आपको विश्व स्तर पर कुछ भाषा की आवश्यकता है, तो आप इसे नीचे दिए गए अनुसार application/config/autoload.php . application/config/autoload.php फाइल में ऑटोलॉड कर सकते हैं।

| -----------------------------------------------------------------------
|  Auto-load Language files
| -----------------------------------------------------------------------
| Prototype:
|   $autoload['language'] = array('lang1', 'lang2');
|
| NOTE: Do not include the "_lang" part of your file. For example
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/
$autoload['language'] = array();

बस, CodeIgniter द्वारा अलग-अलग भाषाओं को ऑटोलॉइड होने के लिए पास करें।

Lang_controller.php नामक एक नियंत्रक बनाएं और इसे application/controller/Lang_controller.php

<?php

कक्षा Lang_controller CI_Controller {

public function index(){
     //Load form helper
     $this->load->helper('form');

     //Get the selected language
     $language = $this->input->post('language');
    
     //Choose language file according to selected lanaguage
     if($language == "french")
        $this->lang->load('french_lang','french');
     else if($language == "german")
        $this->lang->load('german_lang','german');
     else
     $this->lang->load('english_lang','english');
    
     //Fetch the message from language file.
     $data['msg'] = $this->lang->line('msg');
    
     $data['language'] = $language;
     //Load the view file
     $this->load->view('lang_view',$data);
     }
  }
?>

lang_view.php नामक एक दृश्य फ़ाइल बनाएं और इसे application/views/lang_view.php

<!DOCTYPE html>
<html lang = "en"> 
  <head>
     <meta charset = "utf-8">
     <title>CodeIgniter Internationalization Example</title>
  </head>  
  <body>
     <?php
        echo form_open('/lang');
     ?>
     <select name = "language" onchange = "javascript:this.form.submit();">
        <?php
           $lang = array('english'=>"English",'french'=>"French",'german'=>"German");
            
           foreach($lang as $key=>$val) {
              if($key == $language)
                 echo "<option value = '".$key."' selected>".$val."</option>";
              else
                 echo "<option value = '".$key."'>".$val."</option>";
           }           
        ?>          
     </select>
     <?php
        form_close();
        echo $msg;
     ?>     
  </body>
</html>

नीचे दिए गए चित्र में दिखाए गए अनुसार आवेदन / भाषा में अंग्रेजी , फ्रेंच और जर्मन नामक तीन फ़ोल्डर बनाएं।

अंतर्राष्ट्रीयकरण

नीचे दिए गए कोड को कॉपी करें और इसे application/language/english फ़ोल्डर में english_lang.php फ़ाइल में सहेजें।

<?php
   $lang['msg'] = "CodeIgniter Internationalization example.";
?>

नीचे दिए गए कोड को कॉपी करें और इसे application/language/French फ़ोल्डर में french_lang.php फाइल में सेव करें।

<?php
   $lang['msg'] = "Exemple CodeIgniter internationalisation.";
?>

नीचे दिए गए कोड को कॉपी करें और इसे application/language/german फ़ोल्डर में german_lang.php फ़ाइल में सहेजें।

<?php
    $lang['msg'] = "CodeIgniter Internationalisierung Beispiel.";
?>

उपरोक्त नियंत्रक के लिए मार्ग जोड़ने के लिए application/config/routes.php में routes.php फ़ाइल बदलें। फ़ाइल के अंत में निम्न पंक्ति जोड़ें।

$route['lang'] = "Lang_controller";

उपरोक्त उदाहरण को निष्पादित करने के लिए ब्राउज़र में निम्न URL निष्पादित करें।

http://yoursite.com/index.php/lang

फिर अपने ब्राउज़र में जाँच करें। धन्यवाद।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow