| Server IP : 216.250.13.251 / Your IP : 216.73.216.237 Web Server : nginx/1.24.0 System : Linux gunay 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : root ( 0) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/gunay/wp-content/plugins/loco-translate/src/gettext/ |
Upload File : |
<?php
/**
* Gettext source string. Does not contain translations.
*/
class Loco_gettext_String {
/**
* @var array
*/
private $raw;
/**
* @var string
*/
private $plural;
/**
* Loco_gettext_String constructor.
*
* @param string Mandatory source
* @param string Optional context
*/
public function __construct( $msgid, $msgctxt = '' ){
$this->raw = array (
'source' => (string) $msgid,
'context' => (string) $msgctxt,
);
}
/**
* Get singular form as raw array data
* @internal
* @return string[]
*/
public function exportSingular(){
return $this->raw;
}
/**
* Get plural form as raw array data
* @internal
* @return string[]
*/
public function exportPlural(){
return array (
'source' => $this->plural,
);
}
/**
* @param string
* @param string|array
* @param string
* @return void
*/
private function merge( $prop, $value, $glue ){
if( is_string($value) ){
$value = array($value);
}
else if( ! is_array($value) ){
throw new InvalidArgumentException('Expected Array or String');
}
if( array_key_exists($prop,$this->raw) ){
$value = array_merge( explode($glue,$this->raw[$prop]), $value );
}
$this->raw[$prop] = implode($glue,$value);
}
/**
* @param array|string
* @return self
*/
public function addFileReferences( $refs ){
$this->merge('refs',$refs,' ');
return $this;
}
/**
* @param array|string
* @return self
*/
public function addExtractedComment( $notes ){
$this->merge('notes',$notes,' ');
return $this;
}
/**
* @param string
* @return self
*/
public function pluralize( $msgid_plural ){
$this->plural = (string) $msgid_plural;
return $this;
}
/**
* @return bool
*/
public function hasPlural(){
return is_string($this->plural) && '' !== $this->plural;
}
}