<?php
/**
* Object represents a Text Domain within a bundle.
*/
class Loco_package_TextDomain extends ArrayIterator {
/**
* Actual Gettext-like name of Text Domain, e.g. "twentyfifteen"
* @var string
*/
private $name;
/**
* Whether this is the officially declared domain for a theme or plugin
* @var bool
*/
private $canonical = false;
/**
* Create new Text Domain from its name
*/
public function __construct( $name ){
parent::__construct();
$this->name = (string) $name;
}
/**
* @internal
*/
public function __toString(){
return $this->name;
}
/**
* Get name of Text Domain, e.g. "twentyfifteen"
* @return string
*/
public function getName(){
return $this->name;
}
/**
* Create a named project in a given bundle for this Text Domain
* @param Loco_package_Bundle $bundle of which this is one set of translations
* @param string $name
* @return Loco_package_Project
*/
public function createProject( Loco_package_Bundle $bundle, $name ){
$proj = new Loco_package_Project( $bundle, $this, $name );
$this[] = $proj;
return $proj;
}
/**
* @param bool $bool
* @return Loco_package_TextDomain
*/
public function setCanonical( $bool ){
$this->canonical = (bool) $bool;
return $this;
}
/**
* @return bool
*/
public function isCanonical(){
return $this->canonical;
}
}