<?php

$input = 'Renewal of sadfasdfa.com for 6548 year';

$translates = array(
    'Active' => 'Aktif',
    'InActive' => 'Pasif',
    '~^Renewal of (.+?) for (\d{4}) year$~' => '$1 için $2 yıllık domain yenilemesi',
    '~^Registration of (.+?) for (\d{4}) year$~' => '$1 için $2 yıllık domain kaydı',
    '~^Required parameter missing: (.+?)$~' => 'Gerekli parametre eksik: $1',
);

function translate($input, $diffTranslatesArray = null)
{
    global $translates;

    if (!is_null($diffTranslatesArray)) {
        $translates = $diffTranslatesArray;
    }

    $shortest = -1;
    foreach ($translates as $word => $translated) {
        $lev = levenshtein($input, $word);

        if ($lev == 0) {
            $closest = $word;
            $closestTranslate = $translated;
            $shortest = 0;

            break;
        }

        if ($lev <= $shortest || $shortest < 0) {
            $closest = $word;
            $closestTranslate = $translated;
            $shortest = $lev;
        }
    }

    if ($shortest == 0) {
        return $closestTranslate;
    }
    else {
        return preg_replace($closest, $closestTranslate, $input);
    }
}

echo translate($input);
Performans olarak cok da kotu sayilmaz sanirim; ama degisken sayisi arttikca mutlaka performans dusecektir:
Alıntı
sadfasdfa.com için 6548 yıllık domain yenilemesi float(0.00018000000000007)
sadfasdfa.com için 6548 yıllık domain yenilemesi float(0.00014)
sadfasdfa.com için 6548 yıllık domain yenilemesi float(0.00013600000000002)