Skip to content

Commit

Permalink
for other plugins to rename their locales to Weblate locales
Browse files Browse the repository at this point in the history
  • Loading branch information
bozana committed Dec 11, 2024
1 parent 0522b5c commit a80bcda
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions renameEachPluginLocales.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php

$locales = [
'be@cyrillic' => 'be',
'bs' => 'bs_Latn',
'fr_FR' => 'fr',
'nb' => 'nb_NO',
'pt_PT' => 'pt',
'sr@cyrillic' => 'sr_Cyrl',
'sr@latin' => 'sr_Latn',
'uz@cyrillic' => 'uz',
'uz@latin' => 'uz_Latn',
'zh_CN' => 'zh_Hans',
];

$allFiles = [];
$result = getFiles(dirname(__FILE__), $locales);
$allFiles = array_merge($allFiles, $result);
exec("git commit -m 'locales renamed'");

function getFiles($target, $locales)
{
clearstatcache();
//echo 'target: ' .$target . "\n";
$result = [];
foreach ($locales as $oldLocale => $newLocale) {
$useGit = false;
foreach (glob($target . "/locale/{$oldLocale}/*.po") as $oldFilename) {
$result[] = $oldFilename;
$newFilename = str_replace("/locale/{$oldLocale}/", "/locale/{$newLocale}/", $oldFilename);
if (!is_dir(dirname($newFilename))) {
mkdir(dirname($newFilename), 0777, true);
}

echo 'old file name: ' . $oldFilename . "\n";
echo 'new file name: ' . $newFilename . "\n";
echo 'old file exists: ' . file_exists($oldFilename) . "\n";
echo 'new folder exists: ' . is_dir(dirname($newFilename)) . "\n";

rename($oldFilename, $newFilename);
$useGit = true;
}
if ($useGit) {
$oldDir = "{$target}/locale/{$oldLocale}/";
$newDir = "{$target}/locale/{$newLocale}/";
exec("git add {$newDir}*");
exec("git rm {$oldDir}*");
}
}
return $result;
}

0 comments on commit a80bcda

Please sign in to comment.