示例#1
0
        }
    }
    public function processBaseDirectory($directory)
    {
        $recursiveDirectoryIterator = new RecursiveDirectoryIterator($directory, FilesystemIterator::SKIP_DOTS);
        /** @var $iterator RecursiveDirectoryIterator[] */
        $iterator = new RecursiveIteratorIterator($recursiveDirectoryIterator);
        foreach ($iterator as $item) {
            if ($item->getExtension() == 'rst') {
                $path = $item->getPathname();
                if (strpos($path, '_build/') === false && strpos($path, 'api/') === false) {
                    $this->_prefix = str_replace('.rst', '', basename($path));
                    $this->processFile($path);
                    $baseRstPath = 'transifex/base-rst/' . dirname($path);
                    @mkdir($baseRstPath, 0777, true);
                    file_put_contents($baseRstPath . '/' . $this->_prefix . '.rst', $this->_output);
                }
            }
        }
        $baseStrPath = 'transifex/strings/';
        @mkdir($baseStrPath, 0777, true);
        file_put_contents($baseStrPath . '/en.json', json_encode($this->_uniqueStrings, JSON_PRETTY_PRINT));
    }
    public function run()
    {
        $this->processBaseDirectory('en');
    }
}
$d = new Docs();
$d->run();