1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
<?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" */ private string $name;
/** * Whether this is the officially declared domain for a theme or plugin */ private bool $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" */ public function getName():string { 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 */ public function createProject( Loco_package_Bundle $bundle, string $name ): Loco_package_Project { $proj = new Loco_package_Project( $bundle, $this, $name ); $this[] = $proj;
return $proj; }
/** * Set whether this is the officially declared domain */ public function setCanonical( bool $bool ): self { $this->canonical = $bool; return $this; }
/** * Check whether this is the officially declared domain */ public function isCanonical():bool { return $this->canonical; }
}
|