Dictionary
in package
FinalYes
Loads Farah dictionary assets and applies dictionary-based XML transformations.
Tags
Table of Contents
Constants
- BCP47_PREGMATCH : mixed = '/(?<language>[a-z]{2,3})(?:-(?<extlang>aao|abh...
- ERR_NS_NOTFOUND : mixed = 'Module Directory not found for Namespace "%s"!'
- KEY_REQUEST_LANG : mixed = 'HTTP_ACCEPT_LANGUAGE'
- KEY_SET_LANG : mixed = 'lang'
- NS_HTML : mixed = 'http://www.w3.org/1999/xhtml'
- XPATH_DICT_ATTR_LANG : mixed = 'data-dict-lang'
- XPATH_DICT_ATTR_NS : mixed = 'data-dict-ns-disabled'
- XPATH_DICT_ATTR_REPLACE : mixed = 'data-dict-replace'
- XPATH_DICT_ATTR_SELECT : mixed = 'data-dict'
- XPATH_DICT_DEFAULT : mixed = 'node()'
- XPATH_DICT_REPLACE : mixed = '.'
- XPATH_EOL : mixed = "\n"
- XPATH_EXISTS : mixed = 'boolean(/html:html/html:p[@key="%s"])'
- XPATH_FRAGMENT : mixed = '/html:html/html:p[@key="%s"]/node()'
- XPATH_LANGATTR : mixed = 'key'
- XPATH_LANGNODE : mixed = 'p'
- XPATH_TEXT : mixed = 'string(/html:html/html:p[@key="%s"])'
Properties
- $currentLang : string|null
- $currentModule : FarahUrl|null
- $currentNS : string
- $langDocPath : string
- $langDocs : array<string|int, mixed>
- $langPaths : array<string|int, mixed>
Methods
- acceptLanguage() : bool
- createLink() : string
- getInstance() : Dictionary
- getLang() : string|null
- getNS() : string
- getSupportedLanguages() : array<string|int, mixed>
- lookup() : string
- lookupFragment() : DOMDocumentFragment
- lookupText() : string
- lookupXML() : void
- parseAcceptLanguageHeader() : array<string|int, mixed>
- registerDictionary() : void
- setLang() : string|null
- setNS() : string
- setSupportedLanguages() : void
- translateDoc() : int
- translateDocumentViaDictionary() : int
- translateNode() : int
- xsltCurrentLanguage() : string
- xsltLookupText() : string
- xsltSanitizeKey() : string
- addWord() : void
- getLangPath() : DOMXPath
- sanitizeWord() : string
Constants
BCP47_PREGMATCH
public
mixed
BCP47_PREGMATCH
= '/(?<language>[a-z]{2,3})(?:-(?<extlang>aao|abh|abv|acm|acq|acw|acx|acy|adf|ads|aeb|aec|aed|aen|afb|afg|ajp|apc|apd|arb|arq|ars|ary|arz|ase|asf|asp|asq|asw|auz|avl|ayh|ayl|ayn|ayp|bbz|bfi|bfk|bjn|bog|bqn|bqy|btj|bve|bvl|bvu|bzs|cdo|cds|cjy|cmn|coa|cpx|csc|csd|cse|csf|csg|csl|csn|csq|csr|czh|czo|doq|dse|dsl|dup|ecs|esl|esn|eso|eth|fcs|fse|fsl|fss|gan|gds|gom|gse|gsg|gsm|gss|gus|hab|haf|hak|hds|hji|hks|hos|hps|hsh|hsl|hsn|icl|ils|inl|ins|ise|isg|isr|jak|jax|jcs|jhs|jls|jos|jsl|jus|kgi|knn|kvb|kvk|kvr|kxd|lbs|lce|lcf|liw|lls|lsg|lsl|lso|lsp|lst|lsy|ltg|lvs|lzh|max|mdl|meo|mfa|mfb|mfs|min|mnp|mqg|mre|msd|msi|msr|mui|mzc|mzg|mzy|nan|nbs|ncs|nsi|nsl|nsp|nsr|nzs|okl|orn|ors|pel|pga|pks|prl|prz|psc|psd|pse|psg|psl|pso|psp|psr|pys|rms|rsi|rsl|sdl|sfb|sfs|sgg|sgx|shu|slf|sls|sqk|sqs|ssh|ssp|ssr|svk|swc|swh|swl|syy|tmw|tse|tsm|tsq|tss|tsy|tza|ugn|ugy|ukl|uks|urk|uzn|uzs|vgt|vkk|vkt|vsi|vsl|vsv|wuu|xki|xml|xmm|xms|yds|ysl|yue|zib|zlm|zmi|zsl|zsm))?(?:-(?<script>afak|aghb|ahom|arab|armi|armn|avst|bali|bamu|bass|batk|beng|blis|bopo|brah|brai|bugi|buhd|cakm|cans|cari|cham|cher|cirt|copt|cprt|cyrl|cyrs|deva|dsrt|dupl|egyd|egyh|egyp|elba|ethi|geok|geor|glag|goth|gran|grek|gujr|guru|hang|hani|hano|hans|hant|hatr|hebr|hira|hluw|hmng|hrkt|hung|inds|ital|java|jpan|jurc|kali|kana|khar|khmr|khoj|knda|kore|kpel|kthi|lana|laoo|latf|latg|latn|lepc|limb|lina|linb|lisu|loma|lyci|lydi|mahj|mand|mani|maya|mend|merc|mero|mlym|modi|mong|moon|mroo|mtei|mult|mymr|narb|nbat|nkgb|nkoo|nshu|ogam|olck|orkh|orya|osma|palm|pauc|perm|phag|phli|phlp|phlv|phnx|plrd|prti|rjng|roro|runr|samr|sara|sarb|saur|sgnw|shaw|shrd|sidd|sind|sinh|sora|sund|sylo|syrc|syre|syrj|syrn|tagb|takr|tale|talu|taml|tang|tavt|telu|teng|tfng|tglg|thaa|thai|tibt|tirh|ugar|vaii|visp|wara|wole|xpeo|xsux|yiii|zinh|zmth|zsym|zxxx|zyyy|zzzz))?(?:-(?<region>ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|bq|br|bs|bt|bu|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cp|cr|cs|cu|cv|cw|cx|cy|cz|dd|de|dg|dj|dk|dm|do|dz|ea|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|fx|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|ic|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|ta|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|yd|ye|yt|yu|za|zm|zr|zw|001|002|003|005|009|011|013|014|015|017|018|019|021|029|030|034|035|039|053|054|057|061|142|143|145|150|151|154|155|419))?(?:-(?<variant>1606nict|1694acad|1901|1959acad|1994|1996|alalc97|aluku|arevela|arevmda|baku1926|barla|bauddha|biscayan|biske|bohoric|boont|dajnko|ekavsk|emodeng|fonipa|fonupa|fonxsamp|hepburn|heploc|hognorsk|ijekavsk|itihasa|jauer|jyutping|kkcor|kscor|laukika|lipaw|luna1918|metelko|monoton|ndyuka|nedis|njiva|nulik|osojs|pamaka|petr1708|pinyin|polyton|puter|rigik|rozaj|rumgr|scotland|scouse|solba|sotav|surmiran|sursilv|sutsilv|tarask|uccor|ucrcor|ulster|unifon|vaidika|valencia|vallader|wadegile))?/'
ERR_NS_NOTFOUND
public
mixed
ERR_NS_NOTFOUND
= 'Module Directory not found for Namespace "%s"!'
KEY_REQUEST_LANG
public
mixed
KEY_REQUEST_LANG
= 'HTTP_ACCEPT_LANGUAGE'
KEY_SET_LANG
public
mixed
KEY_SET_LANG
= 'lang'
NS_HTML
public
mixed
NS_HTML
= 'http://www.w3.org/1999/xhtml'
XPATH_DICT_ATTR_LANG
public
mixed
XPATH_DICT_ATTR_LANG
= 'data-dict-lang'
XPATH_DICT_ATTR_NS
public
mixed
XPATH_DICT_ATTR_NS
= 'data-dict-ns-disabled'
XPATH_DICT_ATTR_REPLACE
public
mixed
XPATH_DICT_ATTR_REPLACE
= 'data-dict-replace'
XPATH_DICT_ATTR_SELECT
public
mixed
XPATH_DICT_ATTR_SELECT
= 'data-dict'
XPATH_DICT_DEFAULT
public
mixed
XPATH_DICT_DEFAULT
= 'node()'
XPATH_DICT_REPLACE
public
mixed
XPATH_DICT_REPLACE
= '.'
XPATH_EOL
public
mixed
XPATH_EOL
= "\n"
XPATH_EXISTS
public
mixed
XPATH_EXISTS
= 'boolean(/html:html/html:p[@key="%s"])'
XPATH_FRAGMENT
public
mixed
XPATH_FRAGMENT
= '/html:html/html:p[@key="%s"]/node()'
XPATH_LANGATTR
public
mixed
XPATH_LANGATTR
= 'key'
XPATH_LANGNODE
public
mixed
XPATH_LANGNODE
= 'p'
XPATH_TEXT
public
mixed
XPATH_TEXT
= 'string(/html:html/html:p[@key="%s"])'
Properties
$currentLang
protected
string|null
$currentLang
= null
$currentModule
protected
FarahUrl|null
$currentModule
= null
$currentNS
protected
string
$currentNS
= 'core'
$langDocPath
protected
string
$langDocPath
= 'vendor/slothsoft/%s/lang.%s.xml'
$langDocs
protected
array<string|int, mixed>
$langDocs
= []
$langPaths
protected
array<string|int, mixed>
$langPaths
= []
Methods
acceptLanguage()
public
acceptLanguage(mixed $acceptLang) : bool
Parameters
- $acceptLang : mixed
Return values
boolcreateLink()
public
static createLink(mixed $uri[, mixed $lang = null ]) : string
Parameters
- $uri : mixed
- $lang : mixed = null
Return values
stringgetInstance()
public
static getInstance() : Dictionary
Return values
DictionarygetLang()
public
getLang() : string|null
Return values
string|nullgetNS()
public
getNS() : string
Return values
stringgetSupportedLanguages()
public
static getSupportedLanguages() : array<string|int, mixed>
Return values
array<string|int, mixed>lookup()
public
static lookup(mixed $word[, mixed $namespace = null ][, mixed $language = null ]) : string
Parameters
- $word : mixed
- $namespace : mixed = null
- $language : mixed = null
Return values
stringlookupFragment()
public
lookupFragment(mixed $originalWord[, mixed $namespace = null ][, mixed $language = null ][, DOMDocument|null $ownerDoc = null ]) : DOMDocumentFragment
Parameters
- $originalWord : mixed
- $namespace : mixed = null
- $language : mixed = null
- $ownerDoc : DOMDocument|null = null
Return values
DOMDocumentFragmentlookupText()
public
lookupText(mixed $originalWord[, mixed $namespace = null ][, mixed $language = null ]) : string
Parameters
- $originalWord : mixed
- $namespace : mixed = null
- $language : mixed = null
Return values
stringlookupXML()
public
lookupXML(mixed $word[, mixed $namespace = null ][, mixed $language = null ]) : void
Parameters
- $word : mixed
- $namespace : mixed = null
- $language : mixed = null
parseAcceptLanguageHeader()
public
static parseAcceptLanguageHeader(string $language) : array<string|int, mixed>
Parameters
- $language : string
Return values
array<string|int, mixed>registerDictionary()
public
registerDictionary(FarahUrl $url) : void
Parameters
- $url : FarahUrl
setLang()
public
setLang(mixed $lang) : string|null
Parameters
- $lang : mixed
Return values
string|nullsetNS()
public
setNS(mixed $ns) : string
Parameters
- $ns : mixed
Return values
stringsetSupportedLanguages()
public
static setSupportedLanguages(string ...$languageList) : void
Parameters
- $languageList : string
translateDoc()
public
translateDoc(DOMDocument $doc, FarahUrl $context) : int
Parameters
- $doc : DOMDocument
- $context : FarahUrl
Return values
inttranslateDocumentViaDictionary()
public
translateDocumentViaDictionary(DOMDocument $document, Set $dictionaryUrls) : int
Parameters
- $document : DOMDocument
- $dictionaryUrls : Set
Return values
inttranslateNode()
public
translateNode(DOMXPath $xpath, DOMElement $node, mixed $expr[, mixed $namespace = null ][, mixed $language = null ]) : int
Parameters
- $xpath : DOMXPath
- $node : DOMElement
- $expr : mixed
- $namespace : mixed = null
- $language : mixed = null
Return values
intxsltCurrentLanguage()
public
static xsltCurrentLanguage() : string
Return values
stringxsltLookupText()
public
static xsltLookupText(string $word[, string $module = '' ][, string $language = '' ]) : string
Parameters
- $word : string
- $module : string = ''
- $language : string = ''
Return values
stringxsltSanitizeKey()
public
static xsltSanitizeKey(string $key) : string
Parameters
- $key : string
Return values
stringaddWord()
protected
addWord(DOMDocument $doc, mixed $word[, mixed $originalWord = null ]) : void
Parameters
- $doc : DOMDocument
- $word : mixed
- $originalWord : mixed = null
getLangPath()
protected
getLangPath([mixed $namespace = null ][, mixed $language = null ]) : DOMXPath
Parameters
- $namespace : mixed = null
- $language : mixed = null
Return values
DOMXPathsanitizeWord()
protected
sanitizeWord(mixed $word) : string
Parameters
- $word : mixed