functions.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <?php
  2. /*
  3. Copyright (c) 2005 Steven Armstrong <sa at c-area dot ch>
  4. Copyright (c) 2009 Danilo Segan <danilo@kvota.net>
  5. Copyright (c) 2016 Michal Čihař <michal@cihar.com>
  6. This file is part of MoTranslator.
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or
  10. (at your option) any later version.
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. GNU General Public License for more details.
  15. You should have received a copy of the GNU General Public License along
  16. with this program; if not, write to the Free Software Foundation, Inc.,
  17. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  18. */
  19. use PhpMyAdmin\MoTranslator\Loader;
  20. /**
  21. * Sets a requested locale.
  22. *
  23. * @param int $category Locale category, ignored
  24. * @param string $locale Locale name
  25. *
  26. * @return string Set or current locale
  27. */
  28. function _setlocale($category, $locale)
  29. {
  30. return Loader::getInstance()->setlocale($locale);
  31. }
  32. /**
  33. * Sets the path for a domain.
  34. *
  35. * @param string $domain Domain name
  36. * @param string $path Path where to find locales
  37. */
  38. function _bindtextdomain($domain, $path)
  39. {
  40. Loader::getInstance()->bindtextdomain($domain, $path);
  41. }
  42. /**
  43. * Dummy compatibility function, MoTranslator assumes
  44. * everything is using same character set on input and
  45. * output.
  46. *
  47. * Generally it is wise to output in UTF-8 and have
  48. * mo files in UTF-8.
  49. *
  50. * @param mixed $domain Domain where to set character set
  51. * @param mixed $codeset Character set to set
  52. */
  53. function _bind_textdomain_codeset($domain, $codeset)
  54. {
  55. }
  56. /**
  57. * Sets the default domain.
  58. *
  59. * @param string $domain Domain name
  60. */
  61. function _textdomain($domain)
  62. {
  63. Loader::getInstance()->textdomain($domain);
  64. }
  65. /**
  66. * Translates a string.
  67. *
  68. * @param string $msgid String to be translated
  69. *
  70. * @return string translated string (or original, if not found)
  71. */
  72. function _gettext($msgid)
  73. {
  74. return Loader::getInstance()->getTranslator()->gettext(
  75. $msgid
  76. );
  77. }
  78. /**
  79. * Translates a string, alias for _gettext.
  80. *
  81. * @param string $msgid String to be translated
  82. *
  83. * @return string translated string (or original, if not found)
  84. */
  85. function __($msgid)
  86. {
  87. return Loader::getInstance()->getTranslator()->gettext(
  88. $msgid
  89. );
  90. }
  91. /**
  92. * Plural version of gettext.
  93. *
  94. * @param string $msgid Single form
  95. * @param string $msgidPlural Plural form
  96. * @param int $number Number of objects
  97. *
  98. * @return string translated plural form
  99. */
  100. function _ngettext($msgid, $msgidPlural, $number)
  101. {
  102. return Loader::getInstance()->getTranslator()->ngettext(
  103. $msgid, $msgidPlural, $number
  104. );
  105. }
  106. /**
  107. * Translate with context.
  108. *
  109. * @param string $msgctxt Context
  110. * @param string $msgid String to be translated
  111. *
  112. * @return string translated plural form
  113. */
  114. function _pgettext($msgctxt, $msgid)
  115. {
  116. return Loader::getInstance()->getTranslator()->pgettext(
  117. $msgctxt, $msgid
  118. );
  119. }
  120. /**
  121. * Plural version of pgettext.
  122. *
  123. * @param string $msgctxt Context
  124. * @param string $msgid Single form
  125. * @param string $msgidPlural Plural form
  126. * @param int $number Number of objects
  127. *
  128. * @return string translated plural form
  129. */
  130. function _npgettext($msgctxt, $msgid, $msgidPlural, $number)
  131. {
  132. return Loader::getInstance()->getTranslator()->npgettext(
  133. $msgctxt, $msgid, $msgidPlural, $number
  134. );
  135. }
  136. /**
  137. * Translates a string.
  138. *
  139. * @param string $domain Domain to use
  140. * @param string $msgid String to be translated
  141. *
  142. * @return string translated string (or original, if not found)
  143. */
  144. function _dgettext($domain, $msgid)
  145. {
  146. return Loader::getInstance()->getTranslator($domain)->gettext(
  147. $msgid
  148. );
  149. }
  150. /**
  151. * Plural version of gettext.
  152. *
  153. * @param string $domain Domain to use
  154. * @param string $msgid Single form
  155. * @param string $msgidPlural Plural form
  156. * @param int $number Number of objects
  157. *
  158. * @return string translated plural form
  159. */
  160. function _dngettext($domain, $msgid, $msgidPlural, $number)
  161. {
  162. return Loader::getInstance()->getTranslator($domain)->ngettext(
  163. $msgid, $msgidPlural, $number
  164. );
  165. }
  166. /**
  167. * Translate with context.
  168. *
  169. * @param string $domain Domain to use
  170. * @param string $msgctxt Context
  171. * @param string $msgid String to be translated
  172. *
  173. * @return string translated plural form
  174. */
  175. function _dpgettext($domain, $msgctxt, $msgid)
  176. {
  177. return Loader::getInstance()->getTranslator($domain)->pgettext(
  178. $msgctxt, $msgid
  179. );
  180. }
  181. /**
  182. * Plural version of pgettext.
  183. *
  184. * @param string $domain Domain to use
  185. * @param string $msgctxt Context
  186. * @param string $msgid Single form
  187. * @param string $msgidPlural Plural form
  188. * @param int $number Number of objects
  189. *
  190. * @return string translated plural form
  191. */
  192. function _dnpgettext($domain, $msgctxt, $msgid, $msgidPlural, $number)
  193. {
  194. return Loader::getInstance()->getTranslator($domain)->npgettext(
  195. $msgctxt, $msgid, $msgidPlural, $number
  196. );
  197. }