Вход Регистрация
Файл: Just Wallet 2.0.4/application/libraries/Jsi18n.php
Строк: 77
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
 * Used for Javascript internationalization (i18n)
 *
 * Based on an article by Alexandros D on coderwall.com
 * See: https://coderwall.com/p/j88iog
 *
 *
 * Load this library in the autoload.php file or manually in your controller:
 *
 *     $this->load->library('jsi18n');
 *
 * In your language file:
 *
 *     $lang['alert_message'] = "This is my alert message!";
 *
 * In your JS files, place your language key inside double braces:
 *
 *     function myFunction() {
 *         alert("{{alert_message}}");
 *     }
 *
 * Render the Javascript file in your template file:
 *
 *     <script type="text/javascript"><?php echo $this->jsi18n->translate("/js/my_javascript_file.js"); ?></script>
 *
 */

class Jsi18n {

    
/**
     * Constructor
     */
    
function __construct()
    {
        
$CI =& get_instance();

        
// load file helper
        
$CI->load->helper('file');
    }


    
/**
     * Parse through a JS file and replace language keys with language text values
     *
     * @param string $file
     * @param bool $local
     * @return bool|mixed|null|string
     */
    
function translate($file NULL$local TRUE)
    {
        if ( ! 
$file)
        {
            return 
NULL;
        }

        
// get the file contents
        
if ($local)
        {
            
$contents read_file('.' $file);
        }
        else
        {
            
$contents = @file_get_contents($file);
        }

        if ( ! 
$contents)
        {
            return 
NULL;
        }

        
// find all double braces {{...}}
        
preg_match_all("/{{(.*?)}}/"$contents$matchesPREG_PATTERN_ORDER);

        
// are there any matches?
        
if ($matches)
        {
            foreach (
$matches[1] as $match)
            {
                
// get the language text using the key
                
$lang_value lang($match);

                
// replace double braces with language text
                
$contents str_replace("{{{$match}}}"$lang_value$contents);
            }
        }

        
// return Javascript code
        
return $contents;
    }

}
Онлайн: 0
Реклама