Module:T-Person: Difference between revisions
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode Tag: Reverted |
||
| Line 111: | Line 111: | ||
end, | end, | ||
-- Languages field processor with native name display | -- Languages field processor with native name display but canonical semantic properties | ||
languages = function(value) | languages = function(value) | ||
if not value or value == "" then return value end | if not value or value == "" then return value end | ||
local NormalizationLanguage = require('Module:NormalizationLanguage') | local NormalizationLanguage = require('Module:NormalizationLanguage') | ||
local TemplateHelpers = require('Module:TemplateHelpers') | |||
local SemanticAnnotations = require('Module:SemanticAnnotations') | |||
-- Ensure native forms are displayed (default is already true) | -- Ensure native forms are displayed (default is already true) | ||
NormalizationLanguage.setShowNativeForms(true) | NormalizationLanguage.setShowNativeForms(true) | ||
-- | -- Split the languages for semantic properties | ||
local languages = TemplateHelpers.splitMultiValueString(value) | |||
local normalized = {} | |||
-- Create semantic property annotations for each language (canonical form only) | |||
for i, language in ipairs(languages) do | |||
-- Get canonical form for semantic property | |||
local canonical = NormalizationLanguage.normalize(language) or language | |||
normalized[i] = canonical | |||
-- Add semantic property annotation for each language | |||
if canonical and canonical ~= "" then | |||
SemanticAnnotations.addPropertyValue("Knows language", canonical) | |||
end | |||
end | |||
-- Format for display (with native names) | |||
return NormalizationLanguage.formatLanguages(value) | return NormalizationLanguage.formatLanguages(value) | ||
end | end | ||