public function assign($signature) {

        $file = $this->path.$this->language.DIRECTORY_SEPARATOR.$signature.'.php';

        // content does not loaded yet
        if(isset($this->required[$file]) === false) {

            if (file_exists($file) === true) {

                $content = include $file;
                $this->required[$file] = true;
            }
            else {
                // set default path by default language
                $file = $this->path.$this->default.DIRECTORY_SEPARATOR.$signature.'.php';
                if (file_exists($file) === true) {

                    $content = include $file;
                    $this->required[$file] = true;
                }
            }

            // assign to translate
            $this->adapter = new TranslateAdapterArray(['content' => [
                    $signature => (isset($content)) ? $content : false
            ]]);
        }

        // $this->adapter->offsetGet() was thrown error with Phalcon 2.0 (??)
        $reflection = new \ReflectionClass($this->adapter);
        $property = $reflection->getProperty('_translate');
        $property->setAccessible(true);
        //$this->signature = $this->adapter->offsetGet($signature);

        // setup signature
        $this->signature = $property->getValue($this->adapter)[$signature];

        return $this;
    }