| @@ -1,115 +1,112 @@ | ||
| 1 | -<?php | |
| 2 | -if ( ! defined( 'ABSPATH' ) ) { | |
| 3 | - exit; | |
| 4 | -} | |
| 5 | - | |
| 6 | -class TCMP_Language { | |
| 7 | - var $domain; | |
| 8 | - var $bundle; | |
| 9 | - | |
| 10 | - function __construct() { | |
| 11 | - $this->bundle = new TCMP_Properties(); | |
| 12 | - } | |
| 13 | - function load( $domain, $file ) { | |
| 14 | - $this->domain = $domain; | |
| 15 | - $this->bundle->load( $file ); | |
| 16 | - } | |
| 17 | - //echo the $ec->lang->L result | |
| 18 | - function P( $key, $v1 = null, $v2 = null, $v3 = null, $v4 = null, $v5 = null ) { | |
| 19 | - $what = $this->L( $key, $v1, $v2, $v3, $v4, $v5 ); | |
| 20 | - global $tcmp_allowed_html_tags; | |
| 21 | - echo wp_kses( $what, $tcmp_allowed_html_tags ); | |
| 22 | - } | |
| 23 | - //verify if the key is defined or not | |
| 24 | - function H( $key ) { | |
| 25 | - if ( null == $this->bundle || ! $this->bundle->hasKeys() ) { | |
| 26 | - return false; | |
| 27 | - } | |
| 28 | - | |
| 29 | - $result = false; | |
| 30 | - if ( $this->bundle->existsKey( $key ) ) { | |
| 31 | - $result = true; | |
| 32 | - } elseif ( $this->bundle->existsKey( $key . '1' ) ) { | |
| 33 | - $result = true; | |
| 34 | - } else { | |
| 35 | - //special way to call this function passing arguments | |
| 36 | - //WTF_something means key=WTF and something as first argument | |
| 37 | - $s = strpos( $result, '_' ); | |
| 38 | - if ( false !== $s ) { | |
| 39 | - $text = substr( $result, 0, $s ); | |
| 40 | - $value = substr( $result, $s + 1 ); | |
| 41 | - $e = strrpos( $value, '_' ); | |
| 42 | - if ( false !== $e ) { | |
| 43 | - $text .= substr( $value, $e + 1 ); | |
| 44 | - $value = substr( $value, 0, $e ); | |
| 45 | - } | |
| 46 | - if ( $this->bundle->existsKey( $text ) ) { | |
| 47 | - $result = true; | |
| 48 | - } | |
| 49 | - } | |
| 50 | - } | |
| 51 | - return $result; | |
| 52 | - } | |
| 53 | - //read the key from a text file with its translation. Try to translate using __( | |
| 54 | - function L( $key, $v1 = null, $v2 = null, $v3 = null, $v4 = null, $v5 = null ) { | |
| 55 | - global $tcmp; | |
| 56 | - $result = $key; | |
| 57 | - $args = array( $v1, $v2, $v3, $v4, $v5 ); | |
| 58 | - | |
| 59 | - if ( null == $this->bundle || ! $this->bundle->hasKeys() ) { | |
| 60 | - $result = __( $result, $this->domain ); | |
| 61 | - } else { | |
| 62 | - //i use the file to store the translations without writing it inside the code | |
| 63 | - if ( $this->bundle->existsKey( $key ) ) { | |
| 64 | - $result = $this->bundle->getString( $key ); | |
| 65 | - $result = __( $result, $this->domain ); | |
| 66 | - } elseif ( $this->bundle->existsKey( $key . '1' ) ) { | |
| 67 | - $result = ''; | |
| 68 | - $n = 1; | |
| 69 | - while ( $this->bundle->existsKey( $key . $n ) ) { | |
| 70 | - if ( '' != $result ) { | |
| 71 | - $result .= '<br/>'; | |
| 72 | - } | |
| 73 | - $result .= __( $this->bundle->getString( $key . $n ), $this->domain ); | |
| 74 | - ++$n; | |
| 75 | - } | |
| 76 | - } else { | |
| 77 | - //special way to call this function passing arguments | |
| 78 | - //WTF_something means key=WTF and something as first argument | |
| 79 | - $s = strpos( $result, '_' ); | |
| 80 | - if ( false !== $s ) { | |
| 81 | - $text = substr( $result, 0, $s ); | |
| 82 | - $value = substr( $result, $s + 1 ); | |
| 83 | - $e = strrpos( $value, '_' ); | |
| 84 | - if ( false !== $e ) { | |
| 85 | - $text .= substr( $value, $e + 1 ); | |
| 86 | - $value = substr( $value, 0, $e ); | |
| 87 | - } | |
| 88 | - if ( $this->bundle->existsKey( $text ) ) { | |
| 89 | - $result = $this->bundle->getString( $text ); | |
| 90 | - $args = array( $value ); | |
| 91 | - } | |
| 92 | - } | |
| 93 | - $result = __( $result, $this->domain ); | |
| 94 | - } | |
| 95 | - } | |
| 96 | - if ( $result == $key ) { | |
| 97 | - $this->bundle->pushString( $key, '' ); | |
| 98 | - } | |
| 99 | - //here i translate it using WP | |
| 100 | - foreach ( $args as $k => $v ) { | |
| 101 | - $k = '{' . $k . '}'; | |
| 102 | - while ( strpos( $result, $k ) !== false ) { | |
| 103 | - $result = str_replace( $k, $v, $result ); | |
| 104 | - } | |
| 105 | - } | |
| 106 | - foreach ( $args as $k => $v ) { | |
| 107 | - $k = '{dt:' . $k . '}'; | |
| 108 | - $v = $tcmp->utils->formatSmartDatetime( $v ); | |
| 109 | - while ( strpos( $result, $k ) !== false ) { | |
| 110 | - $result = str_replace( $k, $v, $result ); | |
| 111 | - } | |
| 112 | - } | |
| 113 | - return $result; | |
| 114 | - } | |
| 115 | -} | |
| 1 | +<?php | |
| 2 | +if (!defined('ABSPATH')) exit; | |
| 3 | + | |
| 4 | +class TCMP_Language { | |
| 5 | + var $domain; | |
| 6 | + var $bundle; | |
| 7 | + | |
| 8 | + function __construct() { | |
| 9 | + $this->bundle=new TCMP_Properties(); | |
| 10 | + } | |
| 11 | + function load($domain, $file) { | |
| 12 | + $this->domain=$domain; | |
| 13 | + $this->bundle->load($file); | |
| 14 | + } | |
| 15 | + //echo the $ec->Lang->L result | |
| 16 | + function P($key, $v1=NULL, $v2=NULL, $v3=NULL, $v4=NULL, $v5=NULL) { | |
| 17 | + $what=$this->L($key, $v1, $v2, $v3, $v4, $v5); | |
| 18 | + echo $what; | |
| 19 | + } | |
| 20 | + //verify if the key is defined or not | |
| 21 | + function H($key) { | |
| 22 | + if($this->bundle==NULL || !$this->bundle->hasKeys()) { | |
| 23 | + return FALSE; | |
| 24 | + } | |
| 25 | + | |
| 26 | + $result=FALSE; | |
| 27 | + if($this->bundle->existsKey($key)) { | |
| 28 | + $result=TRUE; | |
| 29 | + } elseif($this->bundle->existsKey($key.'1')) { | |
| 30 | + $result=TRUE; | |
| 31 | + } else { | |
| 32 | + //special way to call this function passing arguments | |
| 33 | + //WTF_something means key=WTF and something as first argument | |
| 34 | + $s=strpos($result, '_'); | |
| 35 | + if ($s!==FALSE) { | |
| 36 | + $text=substr($result, 0, $s); | |
| 37 | + $value=substr($result, $s + 1); | |
| 38 | + $e=strrpos($value, '_'); | |
| 39 | + if ($e!==FALSE) { | |
| 40 | + $text.=substr($value, $e + 1); | |
| 41 | + $value=substr($value, 0, $e); | |
| 42 | + } | |
| 43 | + if ($this->bundle->existsKey($text)) { | |
| 44 | + $result=TRUE; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + } | |
| 48 | + return $result; | |
| 49 | + } | |
| 50 | + //read the key from a text file with its translation. Try to translate using __( | |
| 51 | + function L($key, $v1=NULL, $v2=NULL, $v3=NULL, $v4=NULL, $v5=NULL) { | |
| 52 | + global $tcmp; | |
| 53 | + $result=$key; | |
| 54 | + $args=array($v1, $v2, $v3, $v4, $v5); | |
| 55 | + | |
| 56 | + if($this->bundle==NULL || !$this->bundle->hasKeys()) { | |
| 57 | + $result=__($result, $this->domain); | |
| 58 | + } else { | |
| 59 | + //i use the file to store the translations without writing it inside the code | |
| 60 | + if ($this->bundle->existsKey($key)) { | |
| 61 | + $result=$this->bundle->getString($key); | |
| 62 | + $result=__($result, $this->domain); | |
| 63 | + } elseif ($this->bundle->existsKey($key.'1')) { | |
| 64 | + $result=''; | |
| 65 | + $n=1; | |
| 66 | + while ($this->bundle->existsKey($key.$n)) { | |
| 67 | + if ($result != '') { | |
| 68 | + $result .= '<br/>'; | |
| 69 | + } | |
| 70 | + $result .= __($this->bundle->getString($key . $n), $this->domain); | |
| 71 | + ++$n; | |
| 72 | + } | |
| 73 | + } else { | |
| 74 | + //special way to call this function passing arguments | |
| 75 | + //WTF_something means key=WTF and something as first argument | |
| 76 | + $s=strpos($result, '_'); | |
| 77 | + if ($s!==FALSE) { | |
| 78 | + $text=substr($result, 0, $s); | |
| 79 | + $value=substr($result, $s + 1); | |
| 80 | + $e=strrpos($value, '_'); | |
| 81 | + if ($e!==FALSE) { | |
| 82 | + $text .= substr($value, $e + 1); | |
| 83 | + $value=substr($value, 0, $e); | |
| 84 | + } | |
| 85 | + if ($this->bundle->existsKey($text)) { | |
| 86 | + $result=$this->bundle->getString($text); | |
| 87 | + $args=array($value); | |
| 88 | + } | |
| 89 | + } | |
| 90 | + $result=__($result, $this->domain); | |
| 91 | + } | |
| 92 | + } | |
| 93 | + if($result==$key) { | |
| 94 | + $this->bundle->pushString($key, ''); | |
| 95 | + } | |
| 96 | + //here i translate it using WP | |
| 97 | + foreach($args as $k=>$v) { | |
| 98 | + $k='{'.$k.'}'; | |
| 99 | + while(strpos($result, $k)!==FALSE) { | |
| 100 | + $result=str_replace($k, $v, $result); | |
| 101 | + } | |
| 102 | + } | |
| 103 | + foreach($args as $k=>$v) { | |
| 104 | + $k='{dt:'.$k.'}'; | |
| 105 | + $v=$tcmp->Utils->formatSmartDatetime($v); | |
| 106 | + while(strpos($result, $k)!==FALSE) { | |
| 107 | + $result=str_replace($k, $v, $result); | |
| 108 | + } | |
| 109 | + } | |
| 110 | + return $result; | |
| 111 | + } | |
| 112 | +} | |