Code Duplication    Length = 24-24 lines in 2 locations

src/PhpSpreadsheet/Calculation.php 2 locations

@@ 2385-2408 (lines=24) @@
2382
    private static $functionReplaceFromExcel = null;
2383
    private static $functionReplaceToLocale = null;
2384
2385
    public function _translateFormulaToLocale($formula)
2386
    {
2387
        if (self::$functionReplaceFromExcel === null) {
2388
            self::$functionReplaceFromExcel = [];
2389
            foreach (array_keys(self::$localeFunctions) as $excelFunctionName) {
2390
                self::$functionReplaceFromExcel[] = '/(@?[^\w\.])' . preg_quote($excelFunctionName) . '([\s]*\()/Ui';
2391
            }
2392
            foreach (array_keys(self::$localeBoolean) as $excelBoolean) {
2393
                self::$functionReplaceFromExcel[] = '/(@?[^\w\.])' . preg_quote($excelBoolean) . '([^\w\.])/Ui';
2394
            }
2395
        }
2396
2397
        if (self::$functionReplaceToLocale === null) {
2398
            self::$functionReplaceToLocale = [];
2399
            foreach (array_values(self::$localeFunctions) as $localeFunctionName) {
2400
                self::$functionReplaceToLocale[] = '$1' . trim($localeFunctionName) . '$2';
2401
            }
2402
            foreach (array_values(self::$localeBoolean) as $localeBoolean) {
2403
                self::$functionReplaceToLocale[] = '$1' . trim($localeBoolean) . '$2';
2404
            }
2405
        }
2406
2407
        return self::translateFormula(self::$functionReplaceFromExcel, self::$functionReplaceToLocale, $formula, ',', self::$localeArgumentSeparator);
2408
    }
2409
2410
    private static $functionReplaceFromLocale = null;
2411
    private static $functionReplaceToExcel = null;
@@ 2413-2436 (lines=24) @@
2410
    private static $functionReplaceFromLocale = null;
2411
    private static $functionReplaceToExcel = null;
2412
2413
    public function _translateFormulaToEnglish($formula)
2414
    {
2415
        if (self::$functionReplaceFromLocale === null) {
2416
            self::$functionReplaceFromLocale = [];
2417
            foreach (array_values(self::$localeFunctions) as $localeFunctionName) {
2418
                self::$functionReplaceFromLocale[] = '/(@?[^\w\.])' . preg_quote($localeFunctionName) . '([\s]*\()/Ui';
2419
            }
2420
            foreach (array_values(self::$localeBoolean) as $excelBoolean) {
2421
                self::$functionReplaceFromLocale[] = '/(@?[^\w\.])' . preg_quote($excelBoolean) . '([^\w\.])/Ui';
2422
            }
2423
        }
2424
2425
        if (self::$functionReplaceToExcel === null) {
2426
            self::$functionReplaceToExcel = [];
2427
            foreach (array_keys(self::$localeFunctions) as $excelFunctionName) {
2428
                self::$functionReplaceToExcel[] = '$1' . trim($excelFunctionName) . '$2';
2429
            }
2430
            foreach (array_keys(self::$localeBoolean) as $excelBoolean) {
2431
                self::$functionReplaceToExcel[] = '$1' . trim($excelBoolean) . '$2';
2432
            }
2433
        }
2434
2435
        return self::translateFormula(self::$functionReplaceFromLocale, self::$functionReplaceToExcel, $formula, self::$localeArgumentSeparator, ',');
2436
    }
2437
2438
    public static function localeFunc($function)
2439
    {