src/Charcoal/Admin/Property/AbstractSelectableInput.php
public function parsedVal()
    {
        if (!isset($this->parsedVal[$this->lang()])) {
            $val = $this->propertyVal();

            if ($val === null) {
                return null;
            }
            $val = $this->p()->parseVal($val);

            // Could be Translation instance
            // Could be array
            if (isset($val[$this->lang()])) {
                $val = $val[$this->lang()];
            }

            // Doing this in the parseVal method of abstract property
            // was causing multiple && l10n properties not to save.
            if (!is_array($val) && $this->p()->multiple()) {
                $val = explode($this->p()->multipleSeparator(), $val);
            }

            $this->parsedVal[$this->lang()] = $val;
        }
        return $this->parsedVal[$this->lang()];
    }
public function parsedVal()
    {
        if (!isset($this->parsedVal[$this->lang()])) {
            $val = $this->propertyVal();

            if ($val === null) {
                return null;
            }
            $val = $this->p()->parseVal($val);

            // Could be Translation instance
            // Could be array
            if (isset($val[$this->lang()])) {
                $val = $val[$this->lang()];
            }

            // Doing this in the parseVal method of abstract property
            // was causing multiple && l10n properties not to save.
            if (!is_array($val) && $this->p()->multiple()) {
                $val = explode($this->p()->multipleSeparator(), $val);
            }

            $this->parsedVal[$this->lang()] = $val;
        }
        return $this->parsedVal[$this->lang()];
    }
public function parsedVal ( ) { if ( ! isset ( $ this -> parsedVal [ $ this -> lang ( ) ] ) ) { $ val = $ this -> propertyVal ( ) ; if ( $ val === null ) { return null ; } $ val = $ this -> p ( ) -> parseVal ( $ val ) ; // Could be Translation instance // Could be array if ( isset ( $ val [ $ this -> lang ( ) ] ) ) { $ val = $ val [ $ this -> lang ( ) ] ; } // Doing this in the parseVal method of abstract property // was causing multiple && l10n properties not to save. if ( ! is_array ( $ val ) && $ this -> p ( ) -> multiple ( ) ) { $ val = explode ( $ this -> p ( ) -> multipleSeparator ( ) , $ val ) ; } $ this -> parsedVal [ $ this -> lang ( ) ] = $ val ; } return $ this -> parsedVal [ $ this -> lang ( ) ] ; }
Keep parsed val in memory per lang

@return mixed Parsed property value.
Keep parsed val in memory per lang