mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 12:30:49 +08:00
add lang de/pl/pt/ro/ru/sv
This commit is contained in:
@@ -76,6 +76,19 @@ class CrowdinSync extends Command
|
||||
|
||||
protected array $languages;
|
||||
|
||||
/**
|
||||
* laravel-lang to crowdin map
|
||||
* some is not the same
|
||||
* --lang option use laravel-lang style
|
||||
*
|
||||
* @var array|string[]
|
||||
*/
|
||||
protected array $customMap = [
|
||||
'pt' => 'pt-PT',
|
||||
'es' => 'es-ES',
|
||||
'sv' => 'sv-SE',
|
||||
];
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*/
|
||||
@@ -419,6 +432,10 @@ class CrowdinSync extends Command
|
||||
$this->warn("skip extra to lang code: {$langCode} due to not in specified language code.");
|
||||
continue;
|
||||
}
|
||||
$customMap = array_flip($this->customMap);
|
||||
if (isset($customMap[$langCode])) {
|
||||
$langCode = $customMap[$langCode];
|
||||
}
|
||||
//use underline
|
||||
$targetDir = "{$this->translationsDir}/" . str_replace("-", "_", $langCode);
|
||||
$this->info("Moving translations to {$targetDir}");
|
||||
@@ -489,6 +506,9 @@ class CrowdinSync extends Command
|
||||
{
|
||||
$engineInfo = $this->getMachineTranslationEngine();
|
||||
$languages = array_intersect($targetLanguages, $engineInfo['supportedLanguageIds']);
|
||||
if (empty($languages)) {
|
||||
throw new \RuntimeException('No languages available, target: ' . json_encode($targetLanguages) . ', supported: ' . json_encode($engineInfo['supportedLanguageIds']));
|
||||
}
|
||||
$params = [
|
||||
'languageIds' => $languages,
|
||||
'fileIds' => $fileIds,
|
||||
@@ -518,7 +538,7 @@ class CrowdinSync extends Command
|
||||
|
||||
protected function wait(callable $callback)
|
||||
{
|
||||
$maxAttempts = 20;
|
||||
$maxAttempts = 60;
|
||||
$attempt = 0;
|
||||
$isDone = false;
|
||||
while (!$isDone && $attempt < $maxAttempts) {
|
||||
@@ -554,6 +574,9 @@ class CrowdinSync extends Command
|
||||
if (empty(trim($language))) {
|
||||
continue;
|
||||
}
|
||||
if (isset($this->customMap[$language])) {
|
||||
$language = $this->customMap[$language];
|
||||
}
|
||||
//crowdin use -
|
||||
$result[] = str_replace('_', '-', $language);
|
||||
}
|
||||
|
||||
@@ -60,6 +60,51 @@ class Language extends NexusModel
|
||||
'lang_name_cn' => '法语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'de' => [
|
||||
'lang_name' => 'German',
|
||||
'lang_name_cn' => '德语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'el' => [
|
||||
'lang_name' => 'Greek',
|
||||
'lang_name_cn' => '希腊语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'nb' => [
|
||||
'lang_name' => 'Norwegian',
|
||||
'lang_name_cn' => '挪威语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'pl' => [
|
||||
'lang_name' => 'Polish',
|
||||
'lang_name_cn' => '波兰语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'pt' => [
|
||||
'lang_name' => 'Portuguese',
|
||||
'lang_name_cn' => '葡萄牙语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'ro' => [
|
||||
'lang_name' => 'Romanian',
|
||||
'lang_name_cn' => '罗马尼亚语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'ru' => [
|
||||
'lang_name' => 'Russian',
|
||||
'lang_name_cn' => '俄语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'es' => [
|
||||
'lang_name' => 'Spanish',
|
||||
'lang_name_cn' => '西班牙语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
'sv' => [
|
||||
'lang_name' => 'Swedish',
|
||||
'lang_name_cn' => '瑞典语',
|
||||
'trans_state' => self::TRANS_STATE_INCOMPLETE,
|
||||
],
|
||||
];
|
||||
|
||||
protected $table = 'language';
|
||||
|
||||
Reference in New Issue
Block a user