GT.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. <?php
  2. namespace ZN\EncodingSupport;
  3. class __USE_STATIC_ACCESS__GT implements GTInterface
  4. {
  5. //----------------------------------------------------------------------------------------------------
  6. //
  7. // Yazar : Ozan UYKUN <ozanbote@windowslive.com> | <ozanbote@gmail.com>
  8. // Site : www.zntr.net
  9. // Lisans : The MIT License
  10. // Telif Hakkı: Copyright (c) 2012-2016, zntr.net
  11. //
  12. //----------------------------------------------------------------------------------------------------
  13. public function __construct()
  14. {
  15. if( ! function_exists('gettext') )
  16. {
  17. die(getErrorMessage('Error', 'undefinedFunctionExtension', 'Gettext'));
  18. }
  19. }
  20. use \CallUndefinedMethodTrait;
  21. //----------------------------------------------------------------------------------------------------
  22. // Error Control
  23. //----------------------------------------------------------------------------------------------------
  24. //
  25. // $error
  26. // $success
  27. //
  28. // error()
  29. // success()
  30. //
  31. //----------------------------------------------------------------------------------------------------
  32. use \ErrorControlTrait;
  33. /******************************************************************************************
  34. * DATA *
  35. *******************************************************************************************
  36. | Genel Kullanım: Geçerli uygulama alanında bir iletiyi arar. |
  37. @param string $message
  38. @return string
  39. | |
  40. ******************************************************************************************/
  41. public function data($message = '')
  42. {
  43. if( ! is_string($message) )
  44. {
  45. return \Errors::set('Error', 'stringParameter', '1.(message)');
  46. }
  47. return gettext($message);
  48. }
  49. /******************************************************************************************
  50. * LOCALE *
  51. *******************************************************************************************
  52. | Genel Kullanım: Yereli ayarlar. |
  53. @param int $category
  54. @param mixed $locale
  55. @return bool
  56. | |
  57. ******************************************************************************************/
  58. public function locale($category = '', $locale = '')
  59. {
  60. return setlocale(\Convert::toConstant($category, 'LC_'), $locale);
  61. }
  62. /******************************************************************************************
  63. * DATAS *
  64. *******************************************************************************************
  65. | Genel Kullanım: Gettext işlevinin çoğul biçemli sürümü. |
  66. @param string $msgId1
  67. @param string $msgId2
  68. @param numeric $count
  69. @return string
  70. | |
  71. ******************************************************************************************/
  72. public function datas($msgId1 = '', $msgId2 = '', $count = 0)
  73. {
  74. if( ! is_string($msgId1) || ! is_string($msgId2) )
  75. {
  76. return \Errors::set('Error', 'stringParameter', '1.(msgId1) & 2.(msgId2)');
  77. }
  78. return ngettext($msgId1, $msgId2, $count);
  79. }
  80. /******************************************************************************************
  81. * CHANGE *
  82. *******************************************************************************************
  83. | Genel Kullanım: Geçerli uygulama adını değiştirir. |
  84. @param string $domain
  85. @param string $message
  86. @return string
  87. | |
  88. ******************************************************************************************/
  89. public function change($domain = '', $message = '')
  90. {
  91. if( ! is_string($domain) || ! is_string($message) )
  92. {
  93. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(message)');
  94. }
  95. return dgettext($domain, $message);
  96. }
  97. /******************************************************************************************
  98. * CHANGES *
  99. *******************************************************************************************
  100. | Genel Kullanım: Nettext işlevinin çoğul biçemli sürümü. |
  101. @param string $domain
  102. @param string $msgId1
  103. @param string $msgId2
  104. @param numeric $count
  105. @return string
  106. | |
  107. ******************************************************************************************/
  108. public function changes($domain = '', $msgId1 = '', $msgId2 = '', $count = 0)
  109. {
  110. if( ! is_string($domain) || ! is_string($msgId1) || ! is_string($msgId2) )
  111. {
  112. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(msgId1) & 3.(msgId2)');
  113. }
  114. return dngettext($domain, $msgId1, $msgId2, $count);
  115. }
  116. /******************************************************************************************
  117. * EARCH *
  118. *******************************************************************************************
  119. | Genel Kullanım: Geçerli uygulama alanında bir iletiyi arar. |
  120. @param string $domain
  121. @param string $message
  122. @param numeric $category
  123. @return string
  124. | |
  125. ******************************************************************************************/
  126. public function search($domain = '', $message = '', $category = 0)
  127. {
  128. if( ! is_string($domain) || ! is_string($message) )
  129. {
  130. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(message)');
  131. }
  132. return dcgettext($domain, $message, $category);
  133. }
  134. /******************************************************************************************
  135. * SEARCHES *
  136. *******************************************************************************************
  137. | Genel Kullanım: Geçerli uygulama alanında bir iletiyi arar. |
  138. @param string $domain
  139. @param string $msgId1
  140. @param string $msgId2
  141. @param numeric $count
  142. @param numeric $category
  143. @return string
  144. | |
  145. ******************************************************************************************/
  146. public function searches($domain = '', $msgId1 = '', $msgId2 = '', $count = 0, $category = 0)
  147. {
  148. if( ! is_string($domain) || ! is_string($msgId1) || ! is_string($msgId2) )
  149. {
  150. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(msgId1) & 3.(msgId2)');
  151. }
  152. return dcngettext($domain, $msgId1, $msgId2, $count, $category);
  153. }
  154. /******************************************************************************************
  155. * CODESET *
  156. *******************************************************************************************
  157. | Genel Kullanım: Belli bir uygulamanın iletileri için karakter kodlaması tanımlar. |
  158. @param string $domain
  159. @param string $codeset
  160. @return string
  161. | |
  162. ******************************************************************************************/
  163. public function codeset($domain = '', $codeset = '')
  164. {
  165. if( ! is_string($domain) || ! is_string($codeset) )
  166. {
  167. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(codeset)');
  168. }
  169. return bind_textdomain_codeset($domain, $codeset);
  170. }
  171. /******************************************************************************************
  172. * BIND DOMAIN *
  173. *******************************************************************************************
  174. | Genel Kullanım: Belli bir uygulamanın iletileri için karakter kodlaması tanımlar. |
  175. @param string $domain
  176. @param string $directory
  177. @return string
  178. | |
  179. ******************************************************************************************/
  180. public function dir($domain = '', $directory = '')
  181. {
  182. if( ! is_string($domain) || ! is_string($directory) )
  183. {
  184. return \Errors::set('Error', 'stringParameter', '1.(domain) & 2.(directory)');
  185. }
  186. return bindtextdomain($domain, $directory);
  187. }
  188. /******************************************************************************************
  189. * DOMAIN *
  190. *******************************************************************************************
  191. | Genel Kullanım: Öntanımlı uygulama adını tanımlar. |
  192. @param string $textDomain
  193. @return string
  194. | |
  195. ******************************************************************************************/
  196. public function name($textDomain = '')
  197. {
  198. if( ! is_string($textDomain))
  199. {
  200. return \Errors::set('Error', 'stringParameter', '1.(textDomain)');
  201. }
  202. return textdomain($textDomain);
  203. }
  204. }