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
          
          
        -- Use the sophisticated formatLanguages function directly
        -- This includes native language names alongside English names
         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)
          
          
         -- This will return formatted HTML with native language names
         -- 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