It provides "extraneous" language functions independent of MediaWiki that ate required by Semantic MediaWiki and its registration system. ## JSON format The location of the content files is determined by the [`$smwgExtraneousLanguageFileDir`](https://www.semantic-mediawiki.org/wiki/Help:$smwgExtraneousLanguageFileDir) setting. ### Field definitions - `fallback_language`defines a fallback language tag - `datatype` - `labels` datatype labels - `aliases` datatype aliases - `property` - `labels` predefined property labels - `aliases` predefined property aliases - `namespace` - `labels` namespace names - `aliases` namespace aliases - `date` - `format` to a define a rule set of how to resolve preferred date formats for dates with 1, 2, and 3 components. It is defined as an array where the constants define the order of the interpretation. - `SMW_MDY` Month-Day-Year - `SMW_DMY` Day-Month-Year - `SMW_YMD` Year-Month-Day - `SMW_YDM` Year-Day-Month - `SMW_MY` Month-Year - `SMW_YM` Year-Month - `SMW_Y` Year - `SMW_YEAR` an entered digit can be a year - `SMW_DAY` an entered digit can be a day - `SMW_MONTH` an entered digit can be a month - `SMW_DAY_MONTH_YEAR` an entered digit can be a day, month or year - `SMW_DAY_YEAR` an entered digit can be either a day or a year - `precision` used to define the rules of formatting for a specific precision: - `SMW_PREC_Y` Year - `SMW_PREC_YMD` Year, Month, and Day - `SMW_PREC_YMDT` Year, Month, Day, and Time - `SMW_PREC_YMDTZ` Year, Month, Day, Time and Timezone - `months` twelve strings naming the months and short strings briefly naming the month - `days` follows ISO-8601 numeric representation, starting with Monday together with the corresponding short name - `@...` fields leading with `@` are identified as comment fields ### Example
{ "fallback_language": false, "datatype": { "labels":{ "_wpg": "Page" }, "aliases":{ "Page": "_wpg" } }, "property": { "labels":{ "_TYPE": "Has type" }, "aliases": { "Has type": "_TYPE" } }, "namespaces": { "labels":{ "SMW_NS_PROPERTY": "Property" }, "aliases": { "Property": "SMW_NS_PROPERTY" } }, "date":{ "precision": { "SMW_PREC_YMDTZ": "H:i:s T, j F Y" }, "format": [ [ "SMW_Y" ] ], "months": [ [ "January", "Jan" ] ] "days":[ [ "Monday", "Mon" ] ] } }## Technical notes
SMW\Lang ├─ Lang # interface to the language functions ├─ JsonContentsFileReader # access the contents of a `JSON` file └─ FallbackFinder # resolving a fallback language