Plugin Directory

Changeset 3328833


Ignore:
Timestamp:
07/16/2025 08:57:11 AM (9 months ago)
Author:
creativform
Message:

2.3.4

  • Added new transliteration maps
  • Improved and optimized transliterations
  • Optimized code
  • Fixed GUI bugs
Location:
serbian-transliteration
Files:
142 added
30 edited

Legend:

Unmodified
Added
Removed
  • serbian-transliteration/trunk/CHANGELOG.txt

    r3307894 r3328833  
     1= 2.3.4 =
     2* Added new transliteration maps
     3* Improved and optimized transliterations
     4* Optimized code
     5* Fixed GUI bugs
     6
    17= 2.3.3 =
    28* Fixed domain was triggered too early
  • serbian-transliteration/trunk/classes/controller.php

    r3269990 r3328833  
    1515    {
    1616        if ($actions) {
    17             $this->add_action('init', 'transliteration_tags_start', 1);
    18             $this->add_action('shutdown', 'transliteration_tags_end', PHP_INT_MAX - 100);
    19         }
    20     }
     17        //    $this->add_action('init', 'transliteration_tags_start', 1);
     18        //    $this->add_action('shutdown', 'transliteration_tags_end', PHP_INT_MAX - 100);
     19        }
     20    }
     21   
     22    /**
     23     * Initialize a late-stage output buffer to apply inline tag-based transliteration
     24     * after the main content has been rendered.
     25     *
     26     * This allows local tags like {cyr_to_lat} or {lat_to_cyr} to override global settings.
     27     */
     28    public function init_output_buffer(): void
     29    {
     30        // Register a shutdown action to flush the buffer at the end of the request
     31        add_action('shutdown', [$this, 'end_output_buffer'], PHP_INT_MAX);
     32
     33        // Start output buffering with a custom callback that handles tag-based transliteration
     34        $this->ob_start([$this, 'controller_output_buffer']);
     35    }
     36
     37    /**
     38     * Output buffer callback that processes {cyr_to_lat}, {lat_to_cyr}, and {rstr_skip} tags.
     39     *
     40     * @param string $buffer The full HTML content of the page
     41     * @return string Transliterated content with tag logic applied
     42     */
     43    public function controller_output_buffer($buffer)
     44    {
     45        return $this->transliteration_tags_callback($buffer);
     46    }
     47
     48    /**
     49     * Ensures that output buffer is flushed and sent to the browser at the very end.
     50     */
     51    public function end_output_buffer(): void
     52    {
     53        if (ob_get_level() > 0) {
     54            @ob_end_flush();
     55        }
     56    }
    2157
    2258    /*
     
    205241
    206242        // If the content should not be transliterated or the user is an editor, return the original content
    207         if ($force === false && (!$class_map || Transliteration_Utilities::can_transliterate($content) || Transliteration_Utilities::is_editor())) {
    208             return $content;
    209         }
     243        if (!$force) {
     244            if (!$class_map || Transliteration_Utilities::can_transliterate($content) || Transliteration_Utilities::is_editor()) {
     245                return $content;
     246            }
     247        }
    210248
    211249        /*// Don't transliterate if we already have transliteration
     
    543581     */
    544582    public function transliteration_tags_callback($buffer)
    545     {
    546         if (Transliteration_Utilities::can_transliterate($buffer) || Transliteration_Utilities::is_editor()) {
    547             return $buffer;
    548         }
    549 
    550         if (get_rstr_option('transliteration-mode', 'cyr_to_lat') === 'none') {
    551             return str_replace(
    552                 ['{cyr_to_lat}', '{lat_to_cyr}', '{rstr_skip}', '{/cyr_to_lat}', '{/lat_to_cyr}', '{/rstr_skip}'],
    553                 '',
    554                 $buffer
    555             );
    556         }
    557 
    558         $tags = [
    559             'cyr_to_lat',
    560             'lat_to_cyr',
    561             'rstr_skip',
    562         ];
    563         foreach ($tags as $tag) {
    564             preg_match_all('/\{' . $tag . '\}((?:[^\{\}]|(?R))*)\{\/' . $tag . '\}/s', $buffer, $match, PREG_SET_ORDER);
    565             foreach ($match as $match) {
    566                 $original_text = $match[1];
    567                 if ($tag === 'rstr_skip') {
    568                     $mode                = ($this->mode() == 'cyr_to_lat' ? 'lat_to_cyr' : 'cyr_to_lat');
    569                     $transliterated_text = $this->$mode($original_text);
    570                 } else {
    571                     $transliterated_text = $this->$tag($original_text, true);
    572                 }
    573 
    574                 $buffer = str_replace($match[0], $transliterated_text, $buffer);
    575             }
    576         }
    577 
    578         return $buffer;
    579     }
     583    {
     584        if (Transliteration_Utilities::can_transliterate($buffer) || Transliteration_Utilities::is_editor()) {
     585            return $buffer;
     586        }
     587
     588        if (get_rstr_option('transliteration-mode', 'cyr_to_lat') === 'none') {
     589            return str_replace(
     590                ['{cyr_to_lat}', '{lat_to_cyr}', '{rstr_skip}', '{/cyr_to_lat}', '{/lat_to_cyr}', '{/rstr_skip}'],
     591                '',
     592                $buffer
     593            );
     594        }
     595
     596        $tags = ['cyr_to_lat', 'lat_to_cyr', 'rstr_skip'];
     597        foreach ($tags as $tag) {
     598            // Match only simple tag pairs, no recursion
     599            preg_match_all('/\{' . $tag . '\}(.*?)\{\/' . $tag . '\}/s', $buffer, $matches, PREG_SET_ORDER);
     600
     601            if (!empty($matches)) {
     602                foreach ($matches as $entry) {
     603                    $original_text = $entry[1];
     604
     605                    if ($tag === 'rstr_skip') {
     606                        $mode = ($this->mode() === 'cyr_to_lat') ? 'lat_to_cyr' : 'cyr_to_lat';
     607                        switch ($tag) {
     608                            case 'cyr_to_lat':
     609                                $transliterated_text = $this->cyr_to_lat($original_text, true, true);
     610                                break;
     611
     612                            case 'lat_to_cyr':
     613                                $transliterated_text = $this->lat_to_cyr($original_text, true);
     614                                break;
     615                        }
     616                    } else {
     617                        switch ($tag) {
     618                            case 'cyr_to_lat':
     619                                $transliterated_text = $this->cyr_to_lat($original_text, true, true);
     620                                break;
     621
     622                            case 'lat_to_cyr':
     623                                $transliterated_text = $this->lat_to_cyr($original_text, true);
     624                                break;
     625
     626                            default:
     627                                $transliterated_text = $original_text;
     628                                break;
     629                        }
     630                    }
     631
     632                    $buffer = str_replace($entry[0], $transliterated_text, $buffer);
     633                }
     634            }
     635        }
     636
     637        return $buffer;
     638    }
    580639
    581640    /*
     
    659718        libxml_use_internal_errors(true);
    660719        $html = '<?xml encoding="UTF-8">' . $html; // UTF-8 deklaracija OBAVEZNA!
     720        $html = mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8');
    661721        $dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
    662722        libxml_clear_errors();
     
    686746        foreach ($xpath->query('//text()') as $textNode) {
    687747            if (!in_array($textNode->parentNode->nodeName, $skipTags)) {
    688                 $textNode->nodeValue = $this->transliterate($textNode->nodeValue);
     748
     749                // Normalize hidden characters
     750                $text = preg_replace('/^[\x{FEFF}\x{200B}\x{00A0}\s]+/u', '', $textNode->nodeValue);
     751
     752                // Apply transliteration
     753                $textNode->nodeValue = $this->transliterate($text);
    689754            }
    690755        }
  • serbian-transliteration/trunk/classes/map.php

    r3269990 r3328833  
    5151        });
    5252    }
     53   
     54   
     55    public static function transliterate(string $text, string $direction): string
     56    {
     57        $map = self::get_map($direction);
     58        if (!$map) {
     59            return $text;
     60        }
     61
     62        // Sort longer keys first (e.g. 'dž' before 'd') to avoid partial matches
     63        uksort($map, fn($a, $b) => mb_strlen($b) <=> mb_strlen($a));
     64
     65        // Escape keys for regex
     66        $escapedKeys = array_map('preg_quote', array_keys($map));
     67        $pattern = '/' . implode('|', $escapedKeys) . '/iu';
     68
     69        return preg_replace_callback($pattern, function ($matches) use ($map) {
     70            $match = $matches[0];
     71
     72            // Match both uppercase and lowercase entries
     73            foreach ($map as $latin => $cyrillic) {
     74                if (strcasecmp($match, $latin) === 0) {
     75                    // Preserve case
     76                    if (ctype_upper($match)) {
     77                        return mb_strtoupper($cyrillic);
     78                    } elseif (preg_match('/^\p{Lu}\p{Ll}+$/u', $match)) {
     79                        return mb_strtoupper(mb_substr($cyrillic, 0, 1)) . mb_substr($cyrillic, 1);
     80                    }
     81
     82                    return $cyrillic;
     83                }
     84            }
     85
     86            return $match;
     87        }, $text);
     88    }
    5389}
  • serbian-transliteration/trunk/classes/maps/ba.php

    r3307894 r3328833  
    66
    77/**
    8  * Bashkir
     8 * Bashkir (ba) transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.12.1
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_ba
    1715{
     
    5250        'Ш' => 'Sh', 'ш' => 'sh',
    5351        'Щ' => 'Shch', 'щ' => 'shch',
    54         'Ъ' => '', 'ъ' => '', // tvrdi znak
     52        'Ъ' => 'ʼ', 'ъ' => 'ʼ',
    5553        'Ы' => 'Y', 'ы' => 'y',
    56         'Ь' => '', 'ь' => '', // meki znak
     54        'Ь' => 'ʼ', 'ь' => 'ʼ',
    5755        'Э' => 'E', 'э' => 'e',
    5856        'Ю' => 'Yu', 'ю' => 'yu',
     
    6967    public static function transliterate($content, $translation = 'cyr_to_lat')
    7068    {
    71         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     69        if (!is_string($content)) {
    7270            return $content;
    7371        }
    7472
    75         $transliteration = apply_filters('rstr/inc/transliteration/ba', self::$map);
     73        $map = apply_filters('transliteration_map_ba', self::$map);
     74        $map = apply_filters_deprecated('rstr/inc/transliteration/ba', [$map], '2.0.0', 'transliteration_map_ba');
    7675
    7776        switch ($translation) {
    7877            case 'cyr_to_lat':
    79                 return strtr($content, $transliteration);
     78                return strtr($content, $map);
    8079
    8180            case 'lat_to_cyr':
    82                 $transliteration = array_flip($transliteration);
    83                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    84                 $transliteration = apply_filters('rstr/inc/transliteration/ba/lat_to_cyr', $transliteration);
    85                 return strtr($content, $transliteration);
     81                $reverse = array_flip(array_filter($map, fn ($v) => $v !== ''));
     82                $custom = [
     83                    'Shch' => 'Щ', 'shch' => 'щ',
     84                    'Zh' => 'Ж', 'zh' => 'ж',
     85                    'Yo' => 'Ё', 'yo' => 'ё',
     86                    'Yu' => 'Ю', 'yu' => 'ю',
     87                    'Ya' => 'Я', 'ya' => 'я',
     88                    'Ch' => 'Ч', 'ch' => 'ч',
     89                    'Sh' => 'Ш', 'sh' => 'ш',
     90                    'Ts' => 'Ц', 'ts' => 'ц',
     91                    'Ğ' => 'Ғ', 'ğ' => 'ғ',
     92                    'Ñ' => 'Ң', 'ñ' => 'ң',
     93                    'Ś' => 'Ҫ', 'ś' => 'ҫ',
     94                    'Ö' => 'Ө', 'ö' => 'ө',
     95                    'Ü' => 'Ү', 'ü' => 'ү',
     96                    'Ä' => 'Ә', 'ä' => 'ә',
     97                ];
     98
     99                $reverse = array_merge($custom, $reverse);
     100                uksort($reverse, fn ($a, $b) => strlen($b) <=> strlen($a));
     101                return str_replace(array_keys($reverse), array_values($reverse), $content);
     102
     103            default:
     104                return $content;
    86105        }
    87 
    88         return $content;
    89106    }
    90107}
  • serbian-transliteration/trunk/classes/maps/bel.php

    r3307894 r3328833  
    99 *
    1010 * @link              http://infinitumform.com/
    11  * @since             1.0.0
     11 * @since             2.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    1514
     
    1716{
    1817    public static $map = [
    19         // Variations and special characters
    20         'ДЖ' => 'Dž',   'ДЗ' => 'Dz',   'Ё' => 'Io',    'Е' => 'Ie',
    21         'Х'  => 'Ch',   'Ю' => 'Iu',    'Я' => 'Ia',    'дж' => 'dž',
    22         'дз' => 'dz',   'е' => 'ie',    'ё' => 'io',    'х' => 'ch',
    23         'ю'  => 'iu',   'я' => 'ia',
     18        // Complex digraphs – uppercase first for priority in strtr
     19        'Дж' => 'Dž', 'Дз' => 'Dz', 'Сь' => 'Ś',
     20        'дж' => 'dž', 'дз' => 'dz', 'сь' => 'ś',
    2421
    25         // All other letters
    26         'А'  => 'A',    'Б' => 'B', 'В' => 'V', 'Г' => 'H',
    27         'Д'  => 'D',    'Ж' => 'Ž', 'З' => 'Z', 'І' => 'I',
    28         'Й'  => 'J',    'К' => 'K', 'Л' => 'L', 'М' => 'M',
    29         'Н'  => 'N',    'О' => 'O', 'П' => 'P', 'Р' => 'R',
    30         'СЬ' => 'Ś',    'С' => 'S', 'Т' => 'T', 'У' => 'U',
    31         'Ў'  => 'Ǔ',    'Ф' => 'F', 'Ц' => 'C', 'э' => 'e',
    32         'Ч'  => 'Č',    'Ш' => 'Š', 'Ы' => 'Y', 'Ь' => "'",
    33         'а'  => 'a',    'б' => 'b', 'в' => 'v', 'г' => 'h',
    34         'ж'  => 'ž',    'з' => 'z', 'і' => 'i', 'Э' => 'E',
    35         'й'  => 'j',    'к' => 'k', 'л' => 'l', 'м' => 'm',
    36         'н'  => 'n',    'о' => 'o', 'п' => 'p', 'р' => 'r',
    37         'сь' => 'ś',    'с' => 's', 'т' => 't', 'у' => 'u',
    38         'ў'  => 'ǔ',    'ф' => 'f', 'ц' => 'c', 'д' => 'd',
    39         'ч'  => 'č',    'ш' => 'š', 'ы' => 'y', 'ь' => "'",
     22        // Vowel mutations at word/boundary level handled in regex
     23        'Ё' => 'Jo', 'ё' => 'jo',
     24        'Ю' => 'Ju', 'ю' => 'ju',
     25        'Я' => 'Ja', 'я' => 'ja',
     26        'Е' => 'Je', 'е' => 'je',
     27
     28        // Main alphabet
     29        'А' => 'A',  'а' => 'a',
     30        'Б' => 'B',  'б' => 'b',
     31        'В' => 'V',  'в' => 'v',
     32        'Г' => 'H',  'г' => 'h',
     33        'Д' => 'D',  'д' => 'd',
     34        'Ж' => 'Ž',  'ж' => 'ž',
     35        'З' => 'Z',  'з' => 'z',
     36        'І' => 'I',  'і' => 'i',
     37        'Й' => 'J',  'й' => 'j',
     38        'К' => 'K',  'к' => 'k',
     39        'Л' => 'L',  'л' => 'l',
     40        'М' => 'M',  'м' => 'm',
     41        'Н' => 'N',  'н' => 'n',
     42        'О' => 'O',  'о' => 'o',
     43        'П' => 'P',  'п' => 'p',
     44        'Р' => 'R',  'р' => 'r',
     45        'С' => 'S',  'с' => 's',
     46        'Т' => 'T',  'т' => 't',
     47        'У' => 'U',  'у' => 'u',
     48        'Ў' => 'Ŭ',  'ў' => 'ŭ',
     49        'Ф' => 'F',  'ф' => 'f',
     50        'Х' => 'Ch', 'х' => 'ch',
     51        'Ц' => 'C',  'ц' => 'c',
     52        'Ч' => 'Č',  'ч' => 'č',
     53        'Ш' => 'Š',  'ш' => 'š',
     54        'Ы' => 'Y',  'ы' => 'y',
     55        'Э' => 'E',  'э' => 'e',
     56        'Ь' => '',   'ь' => "'",
    4057    ];
    4158
     
    5875        switch ($translation) {
    5976            case 'cyr_to_lat':
    60                 $sRe     = '/(?<=^|\s|\'|’|[IЭЫAУО])';
    61                 $content = preg_replace(
    62                     // For е, ё, ю, я, the digraphs je, jo, ju, ja are used
    63                     // word-initially, and after a vowel, apostrophe (’),
    64                     // separating ь, or ў.
    65                     [
    66                        $sRe . 'Е/i', $sRe . 'Ё/i', $sRe . 'Ю/i', $sRe . 'Я/i',
    67                        $sRe . 'е/i', $sRe . 'ё/i', $sRe . 'ю/i', $sRe . 'я/i',
    68                     ],
    69                     [
    70                         'Je',   'Jo',   'Ju',   'Ja',   'je',   'jo',   'ju',   'ja',
    71                     ],
    72                     $content
    73                 );
    74                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
     77                // Word-initial softening for Je/Jo/Ju/Ja (handled as je/jo/ju/ja)
     78                $content = preg_replace_callback('/(?<=^|\s|[АаЕеІіОоУуЫыЭэЪъЬь])([ЕеЁёЮюЯя])/', function ($m) {
     79                    $map = ['Е' => 'Je', 'е' => 'je', 'Ё' => 'Jo', 'ё' => 'jo', 'Ю' => 'Ju', 'ю' => 'ju', 'Я' => 'Ja', 'я' => 'ja'];
     80                    return $map[$m[1]] ?? $m[1];
     81                }, $content);
    7582                return strtr($content, $transliteration);
    7683
    7784            case 'lat_to_cyr':
    78                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    79                 $transliteration = array_flip($transliteration);
    80                 $transliteration = array_merge([
    81                     'CH' => 'Х',    'DŽ' => 'ДЖ',   'DZ' => 'ДЗ',   'IE' => 'Е',    'IO' => 'Ё',    'IU' => 'Ю',    'IA' => 'Я',
    82                 ], $transliteration);
    83                 $transliteration = apply_filters('rstr/inc/transliteration/bel/lat_to_cyr', $transliteration);
    84                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    85                 return strtr($content, $transliteration);
     85                // Flip and filter
     86                $reverse = array_filter($transliteration, fn($v) => $v !== '');
     87                $reverse = array_flip($reverse);
     88
     89                // Override long digraphs (case sensitive)
     90                $manual = [
     91                    'Dž' => 'Дж', 'dž' => 'дж',
     92                    'Dz' => 'Дз', 'dz' => 'дз',
     93                    'Je' => 'Е',  'je' => 'е',
     94                    'Jo' => 'Ё',  'jo' => 'ё',
     95                    'Ju' => 'Ю',  'ju' => 'ю',
     96                    'Ja' => 'Я',  'ja' => 'я',
     97                    'Ś'  => 'Сь', 'ś' => 'сь',
     98                    'Ŭ'  => 'Ў',  'ŭ' => 'ў',
     99                    'Ch' => 'Х',  'ch' => 'х',
     100                    'Č'  => 'Ч',  'č' => 'ч',
     101                    'Š'  => 'Ш',  'š' => 'ш',
     102                    'Ž'  => 'Ж',  'ž' => 'ж',
     103                    'Č'  => 'Ч',  'č' => 'ч',
     104                ];
     105
     106                $reverse = array_merge($manual, $reverse);
     107                $reverse = apply_filters('rstr/inc/transliteration/bel/lat_to_cyr', $reverse);
     108
     109                return strtr($content, $reverse);
    86110        }
    87111
  • serbian-transliteration/trunk/classes/maps/bg_BG.php

    r3307894 r3328833  
    66
    77/**
    8  * Bulgarian transliteration
     8 * Bulgarian (bg_BG) transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_bg_BG
    1715{
    1816    public static $map = [
    19         // Variations and special characters
    20         'Ж' => 'Zh',    'ж' => 'zh',    'Ц' => 'Ts',    'ц' => 'ts',    'Ч' => 'Ch',
    21         'ч' => 'ch',    'Ш' => 'Sh',    'ш' => 'sh',    'Щ' => 'Sht',   'щ' => 'sht',
    22         'Ю' => 'Yu',    'ю' => 'yu',    'Я' => 'Ya',    'я' => 'ya',
    23 
    24         // All other letters
    25         'А' => 'A',     'а' => 'a',     'Б' => 'B',     'б' => 'b',     'В' => 'V',
    26         'в' => 'v',     'Г' => 'G',     'г' => 'g',     'Д' => 'D',     'д' => 'd',
    27         'Е' => 'E',     'е' => 'e',     'З' => 'Z',     'з' => 'z',     'И' => 'I',
    28         'и' => 'i',     'Й' => 'J',     'й' => 'j',     'К' => 'K',     'к' => 'k',
    29         'Л' => 'L',     'л' => 'l',     'М' => 'M',     'м' => 'm',     'Н' => 'N',
    30         'н' => 'n',     'О' => 'O',     'о' => 'o',     'П' => 'P',     'п' => 'p',
    31         'Р' => 'R',     'р' => 'r',     'С' => 'S',     'с' => 's',     'Т' => 'T',
    32         'т' => 't',     'У' => 'U',     'у' => 'u',     'Ф' => 'F',     'ф' => 'f',
    33         'Х' => 'H',     'х' => 'h',     'Ъ' => 'Ǎ',     'ъ' => 'ǎ',     'Ь' => '',
    34         'ь' => '',
     17        'А' => 'A', 'а' => 'a',
     18        'Б' => 'B', 'б' => 'b',
     19        'В' => 'V', 'в' => 'v',
     20        'Г' => 'G', 'г' => 'g',
     21        'Д' => 'D', 'д' => 'd',
     22        'Е' => 'E', 'е' => 'e',
     23        'Ж' => 'Zh', 'ж' => 'zh',
     24        'З' => 'Z', 'з' => 'z',
     25        'И' => 'I', 'и' => 'i',
     26        'Й' => 'J', 'й' => 'j',
     27        'К' => 'K', 'к' => 'k',
     28        'Л' => 'L', 'л' => 'l',
     29        'М' => 'M', 'м' => 'm',
     30        'Н' => 'N', 'н' => 'n',
     31        'О' => 'O', 'о' => 'o',
     32        'П' => 'P', 'п' => 'p',
     33        'Р' => 'R', 'р' => 'r',
     34        'С' => 'S', 'с' => 's',
     35        'Т' => 'T', 'т' => 't',
     36        'У' => 'U', 'у' => 'u',
     37        'Ф' => 'F', 'ф' => 'f',
     38        'Х' => 'H', 'х' => 'h',
     39        'Ц' => 'Ts', 'ц' => 'ts',
     40        'Ч' => 'Ch', 'ч' => 'ch',
     41        'Ш' => 'Sh', 'ш' => 'sh',
     42        'Щ' => 'Sht', 'щ' => 'sht',
     43        'Ъ' => 'A',  'ъ' => 'a', // ISO 9: Ǎ / ǎ
     44        'Ь' => '',   'ь' => '',
     45        'Ю' => 'Yu', 'ю' => 'yu',
     46        'Я' => 'Ya', 'я' => 'ya',
    3547    ];
    3648
     
    4456    public static function transliterate($content, $translation = 'cyr_to_lat')
    4557    {
    46         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     58        if (!is_string($content)) {
    4759            return $content;
    4860        }
    4961
    50         $transliteration = apply_filters('transliteration_map_bg_BG', self::$map);
    51         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/bg_BG', [$transliteration], '2.0.0', 'transliteration_map_bg_BG');
     62        $map = apply_filters('transliteration_map_bg_BG', self::$map);
     63        $map = apply_filters_deprecated('rstr/inc/transliteration/bg_BG', [$map], '2.0.0', 'transliteration_map_bg_BG');
    5264
    5365        switch ($translation) {
    5466            case 'cyr_to_lat':
    55                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    56                 return strtr($content, $transliteration);
     67                return strtr($content, $map);
    5768
    5869            case 'lat_to_cyr':
    59                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    60                 $transliteration = array_flip($transliteration);
    61                 $transliteration = array_merge([
    62                     'ZH' => 'Ж',    'TS' => 'Ц',    'CH' => 'Ч',    'SH' => 'Ш',    'SHT' => 'Щ',   'YU' => 'Ю',    'YA' => 'Я',
    63                 ], $transliteration);
    64                 $transliteration = apply_filters('rstr/inc/transliteration/bg_BG/lat_to_cyr', $transliteration);
    65                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    66                 return strtr($content, $transliteration);
     70                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     71                $custom = [
     72                    'Sht' => 'Щ', 'sht' => 'щ',
     73                    'Zh' => 'Ж', 'zh' => 'ж',
     74                    'Ts' => 'Ц', 'ts' => 'ц',
     75                    'Ch' => 'Ч', 'ch' => 'ч',
     76                    'Sh' => 'Ш', 'sh' => 'ш',
     77                    'Yu' => 'Ю', 'yu' => 'ю',
     78                    'Ya' => 'Я', 'ya' => 'я',
     79                ];
     80                $reverse = array_merge($custom, $reverse);
     81                uksort($reverse, fn($a, $b) => strlen($b) <=> strlen($a));
     82                return str_replace(array_keys($reverse), array_values($reverse), $content);
     83
     84            default:
     85                return $content;
    6786        }
    68 
    69         return $content;
    7087    }
    7188}
  • serbian-transliteration/trunk/classes/maps/bs_BA.php

    r3307894 r3328833  
    66
    77/**
    8  * Bosnian transliteration (alias of Serbian language)
     8 * Bosnian transliteration map (based on Serbian)
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_bs_BA
    1715{
    1816    public static $map = [
    19         // Variations and special characters
    20         'ња' => 'nja',  'ње' => 'nje',  'њи' => 'nji',  'њо' => 'njo',
    21         'њу' => 'nju',  'ља' => 'lja',  'ље' => 'lje',  'љи' => 'lji',  'љо' => 'ljo',
    22         'љу' => 'lju',  'џа' => 'dža',  'џе' => 'dže',  'џи' => 'dži',  'џо' => 'džo',
    23         'џу' => 'džu',
     17        // Composite digraphs with vowels
     18        'Ља' => 'Lja', 'Ље' => 'Lje', 'Љи' => 'Lji', 'Љо' => 'Ljo', 'Љу' => 'Lju',
     19        'Ња' => 'Nja', 'Ње' => 'Nje', 'Њи' => 'Nji', 'Њо' => 'Njo', 'Њу' => 'Nju',
     20        'Џа' => 'Dža', 'Џе' => 'Dže', 'Џи' => 'Dži', 'Џо' => 'Džo', 'Џу' => 'Džu',
    2421
    25         'Ња' => 'Nja',  'Ње' => 'Nje',  'Њи' => 'Nji',  'Њо' => 'Njo',
    26         'Њу' => 'Nju',  'Ља' => 'Lja',  'Ље' => 'Lje',  'Љи' => 'Lji',  'Љо' => 'Ljo',
    27         'Љу' => 'Lju',  'Џа' => 'Dža',  'Џе' => 'Dže',  'Џи' => 'Dži',  'Џо' => 'Džo',
    28         'Џу' => 'Džu',
     22        'ља' => 'lja', 'ље' => 'lje', 'љи' => 'lji', 'љо' => 'ljo', 'љу' => 'lju',
     23        'ња' => 'nja', 'ње' => 'nje', 'њи' => 'nji', 'њо' => 'njo', 'њу' => 'nju',
     24        'џа' => 'dža', 'џе' => 'dže', 'џи' => 'dži', 'џо' => 'džo', 'џу' => 'džu',
    2925
    30         'џ' => 'dž',        'Џ' => 'DŽ',        'љ' => 'lj',        'Љ' => 'LJ',        'њ' => 'nj',
    31         'Њ' => 'NJ',
     26        // Single digraphs
     27        'Љ' => 'Lj', 'љ' => 'lj',
     28        'Њ' => 'Nj', 'њ' => 'nj',
     29        'Џ' => 'Dž', 'џ' => 'dž',
    3230
    33         // All other letters
    34         'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
    35         'Ђ' => 'Đ', 'Е' => 'E', 'Ж' => 'Ž', 'З' => 'Z', 'И' => 'I',
    36         'Ј' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
    37         'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Ш' => 'Š',
    38         'Т' => 'T', 'Ћ' => 'Ć', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H',
    39         'Ц' => 'C', 'Ч' => 'Č', 'а' => 'a', 'б' => 'b', 'в' => 'v',
    40         'г' => 'g', 'д' => 'd', 'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž',
    41         'з' => 'z', 'и' => 'i', 'ј' => 'j', 'к' => 'k', 'л' => 'l',
    42         'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
    43         'с' => 's', 'ш' => 'š', 'т' => 't', 'ћ' => 'ć', 'у' => 'u',
    44         'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'č',
     31        // Standard Cyrillic to Latin mapping
     32        'А' => 'A', 'а' => 'a',
     33        'Б' => 'B', 'б' => 'b',
     34        'В' => 'V', 'в' => 'v',
     35        'Г' => 'G', 'г' => 'g',
     36        'Д' => 'D', 'д' => 'd',
     37        'Ђ' => 'Đ', 'ђ' => 'đ',
     38        'Е' => 'E', 'е' => 'e',
     39        'Ж' => 'Ž', 'ж' => 'ž',
     40        'З' => 'Z', 'з' => 'z',
     41        'И' => 'I', 'и' => 'i',
     42        'Ј' => 'J', 'ј' => 'j',
     43        'К' => 'K', 'к' => 'k',
     44        'Л' => 'L', 'л' => 'l',
     45        'М' => 'M', 'м' => 'm',
     46        'Н' => 'N', 'н' => 'n',
     47        'О' => 'O', 'о' => 'o',
     48        'П' => 'P', 'п' => 'p',
     49        'Р' => 'R', 'р' => 'r',
     50        'С' => 'S', 'с' => 's',
     51        'Т' => 'T', 'т' => 't',
     52        'Ћ' => 'Ć', 'ћ' => 'ć',
     53        'У' => 'U', 'у' => 'u',
     54        'Ф' => 'F', 'ф' => 'f',
     55        'Х' => 'H', 'х' => 'h',
     56        'Ц' => 'C', 'ц' => 'c',
     57        'Ч' => 'Č', 'ч' => 'č',
     58        'Ш' => 'Š', 'ш' => 'š',
    4559    ];
    4660
     
    5468    public static function transliterate($content, $translation = 'cyr_to_lat')
    5569    {
    56         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     70        if (!is_string($content)) {
    5771            return $content;
    5872        }
    5973
    60         $transliteration = apply_filters('transliteration_map_bs_BA', self::$map);
    61         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/bs_BA', [$transliteration], '2.0.0', 'transliteration_map_bs_BA');
     74        $map = apply_filters('transliteration_map_bs_BA', self::$map);
     75        $map = apply_filters_deprecated('rstr/inc/transliteration/bs_BA', [$map], '2.0.0', 'transliteration_map_bs_BA');
    6276
    6377        switch ($translation) {
    6478            case 'cyr_to_lat':
    65                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    66                 return strtr($content, $transliteration);
     79                return strtr($content, $map);
    6780
    6881            case 'lat_to_cyr':
    69                 $lat_to_cyr = [];
    70                 $lat_to_cyr = array_merge($lat_to_cyr, array_flip($transliteration));
    71                 $lat_to_cyr = array_merge([
    72                     'NJ' => 'Њ',    'LJ' => 'Љ',    'DŽ' => 'Џ',    'DJ' => 'Ђ',    'DZ' => 'Ѕ',    'dz' => 'ѕ',
    73                 ], $lat_to_cyr);
    74                 $lat_to_cyr = apply_filters('rstr/inc/transliteration/bs_BA/lat_to_cyr', $lat_to_cyr);
     82                $reverse = array_flip($map);
    7583
    76                 //  return str_replace(array_keys($lat_to_cyr), array_values($lat_to_cyr), $content);
    77                 return strtr($content, $lat_to_cyr);
     84                // Ensure correct digraphs first
     85                $custom = [
     86                    'Dž' => 'Џ', 'dž' => 'џ',
     87                    'Lj' => 'Љ', 'lj' => 'љ',
     88                    'Nj' => 'Њ', 'nj' => 'њ',
     89                    'Đ'  => 'Ђ', 'đ' => 'ђ',
     90                    'Č'  => 'Ч', 'č' => 'ч',
     91                    'Ć'  => 'Ћ', 'ć' => 'ћ',
     92                    'Š'  => 'Ш', 'š' => 'š',
     93                    'Ž'  => 'Ж', 'ž' => 'ž',
     94                ];
     95
     96                $reverse = array_merge($custom, $reverse);
     97
     98                // Sort descending by key length
     99                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     100
     101                $content = str_replace(array_keys($reverse), array_values($reverse), $content);
     102
     103                return apply_filters('rstr/inc/transliteration/bs_BA/lat_to_cyr', $content);
     104
     105            default:
     106                return $content;
    78107        }
    79 
    80         return $content;
    81108    }
    82109}
  • serbian-transliteration/trunk/classes/maps/cnr.php

    r3307894 r3328833  
    66
    77/**
    8  * Montenegrin transliteration (alias of Serbian language)
     8 * Montenegrin transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_cnr
    1715{
    1816    public static $map = [
    19         // Variations and special characters
    20         'З́' => 'Ź',    'С́́' => 'Ś',
     17        // Crnogorska posebna slova
     18        'С́' => 'Ś', 'с́' => 'ś',
     19        'З́' => 'Ź', 'з́' => 'ź',
    2120
    22         'ња' => 'nja',  'ње' => 'nje',  'њи' => 'nji',  'њо' => 'njo',
    23         'њу' => 'nju',  'ља' => 'lja',  'ље' => 'lje',  'љи' => 'lji',  'љо' => 'ljo',
    24         'љу' => 'lju',  'џа' => 'dža',  'џе' => 'dže',  'џи' => 'dži',  'џо' => 'džo',
    25         'џу' => 'džu',
     21        // Composite digraphs
     22        'Ља' => 'Lja', 'Ље' => 'Lje', 'Љи' => 'Lji', 'Љо' => 'Ljo', 'Љу' => 'Lju',
     23        'Ња' => 'Nja', 'Ње' => 'Nje', 'Њи' => 'Nji', 'Њо' => 'Njo', 'Њу' => 'Nju',
     24        'Џа' => 'Dža', 'Џе' => 'Dže', 'Џи' => 'Dži', 'Џо' => 'Džo', 'Џу' => 'Džu',
    2625
    27         'Ња' => 'Nja',  'Ње' => 'Nje',  'Њи' => 'Nji',  'Њо' => 'Njo',
    28         'Њу' => 'Nju',  'Ља' => 'Lja',  'Ље' => 'Lje',  'Љи' => 'Lji',  'Љо' => 'Ljo',
    29         'Љу' => 'Lju',  'Џа' => 'Dža',  'Џе' => 'Dže',  'Џи' => 'Dži',  'Џо' => 'Džo',
    30         'Џу' => 'Džu',
     26        'ља' => 'lja', 'ље' => 'lje', 'љи' => 'lji', 'љо' => 'ljo', 'љу' => 'lju',
     27        'ња' => 'nja', 'ње' => 'nje', 'њи' => 'nji', 'њо' => 'njo', 'њу' => 'nju',
     28        'џа' => 'dža', 'џе' => 'dže', 'џи' => 'dži', 'џо' => 'džo', 'џу' => 'džu',
    3129
    32         'џ' => 'dž',        'Џ' => 'DŽ',        'љ' => 'lj',        'Љ' => 'LJ',        'њ' => 'nj',
    33         'Њ' => 'NJ',
     30        // Single digraphs
     31        'Љ' => 'Lj', 'љ' => 'lj',
     32        'Њ' => 'Nj', 'њ' => 'nj',
     33        'Џ' => 'Dž', 'џ' => 'dž',
    3434
    35         // All other letters
    36         'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
    37         'Ђ' => 'Đ', 'Е' => 'E', 'Ж' => 'Ž', 'З' => 'Z', 'И' => 'I',
    38         'Ј' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
    39         'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Ш' => 'Š',
    40         'Т' => 'T', 'Ћ' => 'Ć', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H',
    41         'Ц' => 'C', 'Ч' => 'Č', 'а' => 'a', 'б' => 'b', 'в' => 'v',
    42         'г' => 'g', 'д' => 'd', 'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž',
    43         'з' => 'z', 'и' => 'i', 'ј' => 'j', 'к' => 'k', 'л' => 'l',
    44         'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
    45         'с' => 's', 'ш' => 'š', 'т' => 't', 'ћ' => 'ć', 'у' => 'u',
    46         'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'č',
     35        // Standard Cyrillic to Latin
     36        'А' => 'A', 'а' => 'a',
     37        'Б' => 'B', 'б' => 'b',
     38        'В' => 'V', 'в' => 'v',
     39        'Г' => 'G', 'г' => 'g',
     40        'Д' => 'D', 'д' => 'd',
     41        'Ђ' => 'Đ', 'ђ' => 'đ',
     42        'Е' => 'E', 'е' => 'e',
     43        'Ж' => 'Ž', 'ж' => 'ž',
     44        'З' => 'Z', 'з' => 'z',
     45        'И' => 'I', 'и' => 'i',
     46        'Ј' => 'J', 'ј' => 'j',
     47        'К' => 'K', 'к' => 'k',
     48        'Л' => 'L', 'л' => 'l',
     49        'М' => 'M', 'м' => 'm',
     50        'Н' => 'N', 'н' => 'n',
     51        'О' => 'O', 'о' => 'o',
     52        'П' => 'P', 'п' => 'p',
     53        'Р' => 'R', 'р' => 'r',
     54        'С' => 'S', 'с' => 's',
     55        'Т' => 'T', 'т' => 't',
     56        'Ћ' => 'Ć', 'ћ' => 'ć',
     57        'У' => 'U', 'у' => 'u',
     58        'Ф' => 'F', 'ф' => 'f',
     59        'Х' => 'H', 'х' => 'h',
     60        'Ц' => 'C', 'ц' => 'c',
     61        'Ч' => 'Č', 'ч' => 'č',
     62        'Ш' => 'Š', 'ш' => 'š',
    4763    ];
    4864
     
    5672    public static function transliterate($content, $translation = 'cyr_to_lat')
    5773    {
    58         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     74        if (!is_string($content)) {
    5975            return $content;
    6076        }
    6177
    62         $transliteration = apply_filters('transliteration_map_cnr', self::$map);
    63         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/cnr', [$transliteration], '2.0.0', 'transliteration_map_cnr');
     78        $map = apply_filters('transliteration_map_cnr', self::$map);
     79        $map = apply_filters_deprecated('rstr/inc/transliteration/cnr', [$map], '2.0.0', 'transliteration_map_cnr');
    6480
    6581        switch ($translation) {
    6682            case 'cyr_to_lat':
    67                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    68                 return strtr($content, $transliteration);
     83                return strtr($content, $map);
    6984
    7085            case 'lat_to_cyr':
    71                 $lat_to_cyr = [];
    72                 $lat_to_cyr = array_merge($lat_to_cyr, array_flip($transliteration));
    73                 $lat_to_cyr = array_merge([
    74                     'NJ' => 'Њ',    'LJ' => 'Љ',    'DŽ' => 'Џ',    'DJ' => 'Ђ',    'DZ' => 'Ѕ',    'dz' => 'ѕ',
    75                 ], $lat_to_cyr);
    76                 $lat_to_cyr = apply_filters('rstr/inc/transliteration/cnr/lat_to_cyr', $lat_to_cyr);
     86                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
    7787
    78                 //  return str_replace(array_keys($lat_to_cyr), array_values($lat_to_cyr), $content);
    79                 return strtr($content, $lat_to_cyr);
     88                // Digraph priority
     89                $custom = [
     90                    'Dž' => 'Џ', 'dž' => 'џ',
     91                    'Lj' => 'Љ', 'lj' => 'љ',
     92                    'Nj' => 'Њ', 'nj' => 'њ',
     93                    'Ś' => 'С́', 'ś' => 'с́',
     94                    'Ź' => 'З́', 'ź' => 'з́',
     95                    'Đ'  => 'Ђ', 'đ' => 'ђ',
     96                    'Č'  => 'Ч', 'č' => 'ч',
     97                    'Ć'  => 'Ћ', 'ć' => 'ћ',
     98                    'Š'  => 'Ш', 'š' => 'ш',
     99                    'Ž'  => 'Ж', 'ž' => 'ж',
     100                ];
     101
     102                $reverse = array_merge($custom, $reverse);
     103
     104                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     105
     106                return str_replace(array_keys($reverse), array_values($reverse), $content);
     107
     108            default:
     109                return $content;
    80110        }
    81 
    82         return $content;
    83111    }
    84112}
  • serbian-transliteration/trunk/classes/maps/el.php

    r3307894 r3328833  
    66
    77/**
    8  * Greece (Elini'ka) transliteration
     8 * Greek (el) transliteration
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_el
    1715{
    1816    public static $map = [
    19         'Χ'  => 'Ch',   'χ' => 'ch',    'Ψ' => 'Ps',    'ψ' => 'ps',
    20         'τζ' => 'dz',   'τσ' => 'ts',   'γκ' => 'ng',
     17        // Digraphs (handled first)
     18        'μπ' => 'b', 'ντ' => 'd', 'γκ' => 'g',
     19        'τσ' => 'ts', 'τζ' => 'dz',
    2120
    22 
    23         'Α' => 'A', 'α' => 'a', 'Β' => 'V', 'β' => 'v',
    24         'Γ' => 'G', 'γ' => 'g', 'Δ' => 'D', 'δ' => 'd',
    25         'Ε' => 'E', 'ε' => 'e', 'Ζ' => 'Z', 'ζ' => 'z',
    26         'Η' => 'I', 'η' => 'i', 'Θ' => 'T', 'θ' => 't',
    27         'Ι' => 'I', 'ι' => 'i', 'Κ' => 'K', 'κ' => 'k',
    28         'Λ' => 'L', 'λ' => 'l', 'Μ' => 'M', 'μ' => 'm',
    29         'Ν' => 'N', 'ν' => 'n', 'Ξ' => 'X', 'ξ' => 'x',
    30         'Ο' => 'O', 'ο' => 'o', 'Π' => 'P', 'π' => 'p',
    31         'Ρ' => 'R', 'ρ' => 'r',
    32 
    33         'Σ' => 'S', 'σ' => 's', 'ς' => 's', // All is sigma
    34 
    35         'Τ' => 'T', 'τ' => 't', 'Υ' => 'Y', 'υ' => 'y',
    36         'Φ' => 'F', 'φ' => 'f', 'Ω' => 'O', 'ω' => 'o',
    37 
    38         'μπ' => 'b',    'ντ' => 'd',
     21        'Α' => 'A', 'α' => 'a', 'Ά' => 'Á', 'ά' => 'á',
     22        'Β' => 'V', 'β' => 'v',
     23        'Γ' => 'G', 'γ' => 'g',
     24        'Δ' => 'D', 'δ' => 'd',
     25        'Ε' => 'E', 'ε' => 'e', 'Έ' => 'É', 'έ' => 'é',
     26        'Ζ' => 'Z', 'ζ' => 'z',
     27        'Η' => 'I', 'η' => 'i', 'Ή' => 'Í', 'ή' => 'í',
     28        'Θ' => 'Th', 'θ' => 'th',
     29        'Ι' => 'I', 'ι' => 'i', 'Ί' => 'Í', 'ί' => 'í', 'ϊ' => 'ï', 'ΐ' => 'ḯ',
     30        'Κ' => 'K', 'κ' => 'k',
     31        'Λ' => 'L', 'λ' => 'l',
     32        'Μ' => 'M', 'μ' => 'm',
     33        'Ν' => 'N', 'ν' => 'n',
     34        'Ξ' => 'X', 'ξ' => 'x',
     35        'Ο' => 'O', 'ο' => 'o', 'Ό' => 'Ó', 'ό' => 'ó',
     36        'Π' => 'P', 'π' => 'p',
     37        'Ρ' => 'R', 'ρ' => 'r',
     38        'Σ' => 'S', 'σ' => 's', 'ς' => 's',
     39        'Τ' => 'T', 'τ' => 't',
     40        'Υ' => 'Y', 'υ' => 'y', 'Ύ' => 'Ý', 'ύ' => 'ý', 'ϋ' => 'ÿ', 'ΰ' => 'ÿ́',
     41        'Φ' => 'F', 'φ' => 'f',
     42        'Χ' => 'Ch', 'χ' => 'ch',
     43        'Ψ' => 'Ps', 'ψ' => 'ps',
     44        'Ω' => 'O', 'ω' => 'o', 'Ώ' => 'Ó', 'ώ' => 'ó',
    3945    ];
    4046
    4147    /**
    42      * Transliterate text between Cyrillic and Latin.
     48     * Transliterate Greek to Latin or back.
    4349     *
    44      * @param mixed $content String to transliterate.
    45      * @param string $translation Conversion direction.
     50     * @param mixed $content
     51     * @param string $translation
    4652     * @return mixed
    4753     */
    4854    public static function transliterate($content, $translation = 'cyr_to_lat')
    4955    {
    50         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     56        if (!is_string($content)) {
    5157            return $content;
    5258        }
    5359
    54         $transliteration = apply_filters('transliteration_map_el', self::$map);
    55         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/el', [$transliteration], '2.0.0', 'transliteration_map_el');
     60        $map = apply_filters('transliteration_map_el', self::$map);
     61        $map = apply_filters_deprecated('rstr/inc/transliteration/el', [$map], '2.0.0', 'transliteration_map_el');
    5662
    5763        switch ($translation) {
    5864            case 'cyr_to_lat':
    59                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    60                 return strtr($content, $transliteration);
     65                // First handle digraphs manually
     66                $content = str_replace(['μπ', 'ντ', 'γκ', 'τσ', 'τζ'], ['b', 'd', 'g', 'ts', 'dz'], $content);
     67                return strtr($content, $map);
    6168
    6269            case 'lat_to_cyr':
    63                 $transliteration = array_flip($transliteration);
    64 
    65                 $transliteration = array_merge([
    66                     'CH' => 'Χ', 'PS' => 'Ψ', 'KH' => 'Χ', 'Kh' => 'Χ', 'kh' => 'χ', 'th' => 'θ',
    67                     'RH' => 'Ρ', 'Rh' => 'Ρ', 'rh' => 'ρ', 'TH' => 'Θ', 'Th' => 'Θ', 'Ē' => 'Η',
    68                     'ē'  => 'η', 'PI' => 'Π', 'Pi' => 'Π', 'pi' => 'π', 'af' => 'αυ', 'ef' => 'ευ',
    69                     'if' => 'ηυ', 'AI' => 'ΑΙ', 'Ai' => 'ΑΙ', 'ai' => 'αι',
    70                 ], $transliteration);
    71 
    72                 $transliteration = apply_filters('rstr/inc/transliteration/el/lat_to_cyr', $transliteration);
    73                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    74                 return strtr($content, $transliteration);
     70                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     71                $custom = [
     72                    'CH' => 'Χ', 'ch' => 'χ',
     73                    'TH' => 'Θ', 'th' => 'θ',
     74                    'PS' => 'Ψ', 'ps' => 'ψ',
     75                    'PH' => 'Φ', 'ph' => 'φ',
     76                    'KH' => 'Χ', 'kh' => 'χ',
     77                    'DZ' => 'ΤΖ', 'dz' => 'τζ',
     78                    'TS' => 'ΤΣ', 'ts' => 'τσ',
     79                    'NG' => 'ΓΚ', 'ng' => 'γκ',
     80                    'B' => 'ΜΠ', 'b' => 'μπ',
     81                    'D' => 'ΝΤ', 'd' => 'ντ',
     82                ];
     83                $reverse = array_merge($custom, $reverse);
     84                uksort($reverse, fn($a, $b) => strlen($b) <=> strlen($a));
     85                $reverse = apply_filters('rstr/inc/transliteration/el/lat_to_cyr', $reverse);
     86                return str_replace(array_keys($reverse), array_values($reverse), $content);
    7587        }
    7688
  • serbian-transliteration/trunk/classes/maps/hy.php

    r3307894 r3328833  
    66
    77/**
    8  * Armenian transliteration
     8 * Armenian transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_hy
    1715{
    1816    public static $map = [
    19         // Variations and special characters
    20         'և' => 'ev',    'ու' => 'u',    '[\s\t]+?ո' => '\svo',
    21         'Ա' => 'A', 'Բ' => 'B', 'Գ' => 'G', 'Դ' => 'D', 'Ե' => 'Ye',    'Զ' => 'Z', 'Է' => 'E',
    22         'Ը' => 'Eh',    'Թ' => 'Th',    'Ժ' => 'Zh',    'Ի' => 'I', 'Լ' => 'L', 'Խ' => 'X', 'Ծ' => 'Tc',
    23         'Կ' => 'K', 'Հ' => 'H', 'Ձ' => 'Dz',    'Ղ' => 'Gh',    'Ճ' => 'Tch',   'Մ' => 'M', 'Յ' => 'Y',
    24         'Ն' => 'N', 'Շ' => 'Sh',    'Ո' => 'Vo',    'Չ' => 'Ch',    'Պ' => 'P', 'Ջ' => 'J', 'Ռ' => 'R',
    25         'Ս' => 'S', 'Վ' => 'V', 'Տ' => 'T', 'Ր' => 'R', 'Ց' => 'C', 'Փ' => 'Ph',    'Ք' => 'Kh',
    26         'Օ' => 'O', 'Ֆ' => 'F',
    27         'ա' => 'a', 'բ' => 'b', 'գ' => 'g', 'դ' => 'd', 'ե' => 'e', 'զ' => 'z', 'է' => 'e',
    28         'ը' => 'eh',    'թ' => 'th',    'ժ' => 'zh',    'ի' => 'i', 'լ' => 'l', 'խ' => 'x', 'ծ' => 'tc',
    29         'կ' => 'k', 'հ' => 'h', 'ձ' => 'dz',    'ղ' => 'gh',    'ճ' => 'tch',   'մ' => 'm', 'յ' => 'y',
    30         'ն' => 'n', 'շ' => 'sh',    'ո' => 'o', 'չ' => 'ch',    'պ' => 'p', 'ջ' => 'j', 'ռ' => 'r',
    31         'ս' => 's', 'վ' => 'v', 'տ' => 't', 'ր' => 'r', 'ց' => 'c', 'փ' => 'ph',    'ք' => 'kh',
    32         'օ' => 'o', 'ֆ' => 'f',
    33         '№' => '#', '—' => '-', '«' => '',  '»' => '',  '…' => '',
     17        // Common ligatures and combinations
     18        'և' => 'ev',  // Armenian ligature (e + v)
     19        'ու' => 'u',   // Common digraph
     20
     21        // Capital letters
     22        'Ա' => 'A', 'Բ' => 'B', 'Գ' => 'G', 'Դ' => 'D', 'Ե' => 'Ye', 'Զ' => 'Z', 'Է' => 'E',
     23        'Ը' => 'Eh', 'Թ' => 'Th', 'Ժ' => 'Zh', 'Ի' => 'I', 'Լ' => 'L', 'Խ' => 'X', 'Ծ' => 'Tc',
     24        'Կ' => 'K', 'Հ' => 'H', 'Ձ' => 'Dz', 'Ղ' => 'Gh', 'Ճ' => 'Tch', 'Մ' => 'M', 'Յ' => 'Y',
     25        'Ն' => 'N', 'Շ' => 'Sh', 'Ո' => 'O', 'Չ' => 'Ch', 'Պ' => 'P', 'Ջ' => 'J', 'Ռ' => 'R',
     26        'Ս' => 'S', 'Վ' => 'V', 'Տ' => 'T', 'Ր' => 'R', 'Ց' => 'C', 'Փ' => 'Ph', 'Ք' => 'Kh',
     27        'Օ' => 'O', 'Ֆ' => 'F',
     28
     29        // Lowercase letters
     30        'ա' => 'a', 'բ' => 'b', 'գ' => 'g', 'դ' => 'd', 'ե' => 'e', 'զ' => 'z', 'է' => 'e',
     31        'ը' => 'eh', 'թ' => 'th', 'ժ' => 'zh', 'ի' => 'i', 'լ' => 'l', 'խ' => 'x', 'ծ' => 'tc',
     32        'կ' => 'k', 'հ' => 'h', 'ձ' => 'dz', 'ղ' => 'gh', 'ճ' => 'tch', 'մ' => 'm', 'յ' => 'y',
     33        'ն' => 'n', 'շ' => 'sh', 'ո' => 'o', 'չ' => 'ch', 'պ' => 'p', 'ջ' => 'j', 'ռ' => 'r',
     34        'ս' => 's', 'վ' => 'v', 'տ' => 't', 'ր' => 'r', 'ց' => 'c', 'փ' => 'ph', 'ք' => 'kh',
     35        'օ' => 'o', 'ֆ' => 'f',
     36
     37        // Symbols
     38        '№' => '#', '—' => '-', '«' => '', '»' => '', '…' => '',
    3439    ];
    3540
    3641    /**
    37      * Transliterate text between Cyrillic and Latin.
     42     * Transliterate text between Armenian and Latin.
    3843     *
    3944     * @param mixed $content String to transliterate.
     
    4348    public static function transliterate($content, $translation = 'cyr_to_lat')
    4449    {
    45         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     50        if (!is_string($content)) {
    4651            return $content;
    4752        }
    4853
    49         $transliteration = apply_filters('transliteration_map_hy', self::$map);
    50         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/hy', [$transliteration], '2.0.0', 'transliteration_map_hy');
     54        $map = apply_filters('transliteration_map_hy', self::$map);
     55        $map = apply_filters_deprecated('rstr/inc/transliteration/hy', [$map], '2.0.0', 'transliteration_map_hy');
    5156
    5257        switch ($translation) {
    5358            case 'cyr_to_lat':
    54                 return strtr($content, $transliteration);
     59                // Special: replace initial "Ո" (U+0548) with "Vo", only at beginning of word
     60                $content = preg_replace_callback('/\bՈ/u', function () {
     61                    return 'Vo';
     62                }, $content);
     63                $content = preg_replace_callback('/\bո/u', function () {
     64                    return 'vo';
     65                }, $content);
     66
     67                return strtr($content, $map);
    5568
    5669            case 'lat_to_cyr':
    57                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    58                 $transliteration = array_flip($transliteration);
    59                 $transliteration = apply_filters('rstr/inc/transliteration/hy/lat_to_cyr', $transliteration);
    60                 return strtr($content, $transliteration);
     70                // Build reverse map
     71                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     72
     73                // Custom high-priority digraphs
     74                $custom = [
     75                    'Dž' => 'Ջ', 'dz' => 'ձ',
     76                    'Zh' => 'Ժ', 'zh' => 'ժ',
     77                    'Ch' => 'Չ', 'ch' => 'չ',
     78                    'Sh' => 'Շ', 'sh' => 'շ',
     79                    'Gh' => 'Ղ', 'gh' => 'ղ',
     80                    'Tch' => 'Ճ', 'tch' => 'ճ',
     81                    'Tc' => 'Ծ', 'tc' => 'ծ',
     82                    'Th' => 'Թ', 'th' => 'թ',
     83                    'Ph' => 'Փ', 'ph' => 'փ',
     84                    'Kh' => 'Ք', 'kh' => 'ք',
     85                    'Eh' => 'Ը', 'eh' => 'ը',
     86                    'Ye' => 'Ե', 'ye' => 'ե',
     87                    'Vo' => 'Ո', 'vo' => 'ո',
     88                    'ev' => 'և', // ligature
     89                    'u'  => 'ու', // note: may overfire without context
     90                ];
     91
     92                $reverse = array_merge($custom, $reverse);
     93
     94                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     95
     96                return str_replace(array_keys($reverse), array_values($reverse), $content);
     97
     98            default:
     99                return $content;
    61100        }
    62 
    63         return $content;
    64101    }
    65102}
  • serbian-transliteration/trunk/classes/maps/ka_GE.php

    r3307894 r3328833  
    66
    77/**
    8  * Georgian transliteration
     8 * Georgian transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_ka_GE
    1715{
    1816    public static $map = [
    19         // Variations and special characters
    20         'ა' => 'a', 'Ა' => 'A', 'ბ' => 'b', 'Ბ' => 'B', 'გ' => 'g', 'Გ' => 'G',
    21         'დ' => 'd', 'Დ' => 'D', 'ე' => 'e', 'Ე' => 'E', 'ვ' => 'v', 'Ვ' => 'V',
    22         'ზ' => 'z', 'Ზ' => 'Z', 'თ' => 'th', 'Თ' => 'Th', 'ი' => 'i', 'Ი' => 'I',
    23         'კ' => 'k', 'Კ' => 'K', 'ლ' => 'l', 'Ლ' => 'L', 'მ' => 'm', 'Მ' => 'M',
    24         'ნ' => 'n', 'Ნ' => 'N', 'ო' => 'o', 'Ო' => 'O', 'პ' => 'p', 'Პ' => 'P',
    25         'ჟ' => 'zh', 'Ჟ' => 'Zh', 'რ' => 'r', 'Რ' => 'R', 'ს' => 's', 'Ს' => 'S',
    26         'ტ' => 't', 'Ტ' => 'T', 'უ' => 'u', 'Უ' => 'U', 'ფ' => 'ph', 'Ფ' => 'Ph',
    27         'ქ' => 'q', 'Ქ' => 'Q', 'ღ' => 'gh', 'Ღ' => 'Gh', 'ყ' => 'qh', 'Ყ' => 'Qh',
    28         'შ' => 'sh', 'Შ' => 'Sh', 'ჩ' => 'ch', 'Ჩ' => 'Ch', 'ც' => 'ts', 'Ც' => 'Ts',
    29         'ძ' => 'dz', 'Ძ' => 'Dz', 'წ' => 'ts', 'Წ' => 'Ts', 'ჭ' => 'tch', 'Ჭ' => 'Tch',
    30         'ხ' => 'kh', 'Ხ' => 'Kh', 'ჯ' => 'j', 'Ჯ' => 'J', 'ჰ' => 'h', 'Ჰ' => 'H',
     17        // Mkhedruli + Capital Mkhedruli (Unicode 13+)
     18        'ა' => 'a', 'Ა' => 'A',
     19        'ბ' => 'b', 'Ბ' => 'B',
     20        'გ' => 'g', 'Გ' => 'G',
     21        'დ' => 'd', 'Დ' => 'D',
     22        'ე' => 'e', 'Ე' => 'E',
     23        'ვ' => 'v', 'Ვ' => 'V',
     24        'ზ' => 'z', 'Ზ' => 'Z',
     25        'თ' => 'th', 'Თ' => 'Th',
     26        'ი' => 'i', 'Ი' => 'I',
     27        'კ' => 'k', 'Კ' => 'K',
     28        'ლ' => 'l', 'Ლ' => 'L',
     29        'მ' => 'm', 'Მ' => 'M',
     30        'ნ' => 'n', 'Ნ' => 'N',
     31        'ო' => 'o', 'Ო' => 'O',
     32        'პ' => 'p', 'Პ' => 'P',
     33        'ჟ' => 'zh', 'Ჟ' => 'Zh',
     34        'რ' => 'r', 'Რ' => 'R',
     35        'ს' => 's', 'Ს' => 'S',
     36        'ტ' => 't', 'Ტ' => 'T',
     37        'უ' => 'u', 'Უ' => 'U',
     38        'ფ' => 'ph', 'Ფ' => 'Ph',
     39        'ქ' => 'q', 'Ქ' => 'Q',
     40        'ღ' => 'gh', 'Ღ' => 'Gh',
     41        'ყ' => 'qh', 'Ყ' => 'Qh',
     42        'შ' => 'sh', 'Შ' => 'Sh',
     43        'ჩ' => 'ch', 'Ჩ' => 'Ch',
     44        'ც' => 'ts', 'Ც' => 'Ts',
     45        'ძ' => 'dz', 'Ძ' => 'Dz',
     46        'წ' => 'w',  'Წ' => 'W',  // Differentiated to avoid conflict
     47        'ჭ' => 'tch', 'Ჭ' => 'Tch',
     48        'ხ' => 'kh', 'Ხ' => 'Kh',
     49        'ჯ' => 'j', 'Ჯ' => 'J',
     50        'ჰ' => 'h', 'Ჰ' => 'H',
    3151    ];
    3252
    3353    /**
    34      * Transliterate text between Cyrillic and Latin.
     54     * Transliterate text between Georgian and Latin.
    3555     *
    3656     * @param mixed $content String to transliterate.
     
    4060    public static function transliterate($content, $translation = 'cyr_to_lat')
    4161    {
    42         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     62        if (!is_string($content)) {
    4363            return $content;
    4464        }
    4565
    46         $transliteration = apply_filters('transliteration_map_ka_GE', self::$map);
    47         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/ka_GE', [$transliteration], '2.0.0', 'transliteration_map_ka_GE');
     66        $map = apply_filters('transliteration_map_ka_GE', self::$map);
     67        $map = apply_filters_deprecated('rstr/inc/transliteration/ka_GE', [$map], '2.0.0', 'transliteration_map_ka_GE');
    4868
    4969        switch ($translation) {
    5070            case 'cyr_to_lat':
    51                 return strtr($content, $transliteration);
     71                return strtr($content, $map);
    5272
    5373            case 'lat_to_cyr':
    54                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    55                 $transliteration = array_flip($transliteration);
    56                 $transliteration = apply_filters('rstr/inc/transliteration/ka_GE/lat_to_cyr', $transliteration);
    57                 return strtr($content, $transliteration);
     74                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     75
     76                // High-priority digraphs
     77                $custom = [
     78                    'Tch' => 'ჭ', 'tch' => 'ჭ',
     79                    'Dz' => 'ძ', 'dz' => 'ძ',
     80                    'Ts' => 'ც', 'ts' => 'ც',
     81                    'W' => 'წ', 'w' => 'წ', // differentiation
     82                    'Zh' => 'ჟ', 'zh' => 'ჟ',
     83                    'Kh' => 'ხ', 'kh' => 'ხ',
     84                    'Ph' => 'ფ', 'ph' => 'ფ',
     85                    'Gh' => 'ღ', 'gh' => 'ღ',
     86                    'Qh' => 'ყ', 'qh' => 'ყ',
     87                    'Th' => 'თ', 'th' => 'თ',
     88                    'Sh' => 'შ', 'sh' => 'შ',
     89                    'Ch' => 'ჩ', 'ch' => 'ჩ',
     90                ];
     91
     92                $reverse = array_merge($custom, $reverse);
     93
     94                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     95
     96                return str_replace(array_keys($reverse), array_values($reverse), $content);
     97
     98            default:
     99                return $content;
    58100        }
    59 
    60         return $content;
    61101    }
    62102}
  • serbian-transliteration/trunk/classes/maps/kir.php

    r3307894 r3328833  
    66
    77/**
    8  * Kyrgyz (Kyrgyzstan)
     8 * Kyrgyz (Kyrgyzstan) Transliteration (Cyrillic ↔ Latin)
    99 *
    10  * @link              http://infinitumform.com/
    11  * @since             1.12.1
    12  * @package           Serbian_Transliteration
    13  *
     10 * @link    https://infinitumform.com/
     11 * @since   2.0.0
     12 * @package Serbian_Transliteration
    1413 */
    1514
     
    1716{
    1817    public static $map = [
    19         'А' => 'A', 'а' => 'a',
    20         'Б' => 'B', 'б' => 'b',
    21         'В' => 'V', 'в' => 'v',
    22         'Г' => 'G', 'г' => 'g',
    23         'Д' => 'D', 'д' => 'd',
    24         'Е' => 'E', 'е' => 'e',
     18        // Digraphs
    2519        'Ё' => 'Yo', 'ё' => 'yo',
    2620        'Ж' => 'Zh', 'ж' => 'zh',
    27         'З' => 'Z', 'з' => 'z',
    28         'И' => 'I', 'и' => 'i',
    29         'Й' => 'Y', 'й' => 'y',
    30         'К' => 'K', 'к' => 'k',
    31         'Л' => 'L', 'л' => 'l',
    32         'М' => 'M', 'м' => 'm',
    33         'Н' => 'N', 'н' => 'n',
    34         'О' => 'O', 'о' => 'o',
    35         'Ө' => 'Ö', 'ө' => 'ö',
    36         'П' => 'P', 'п' => 'p',
    37         'Р' => 'R', 'р' => 'r',
    38         'С' => 'S', 'с' => 's',
    39         'Т' => 'T', 'т' => 't',
    40         'У' => 'U', 'у' => 'u',
    41         'Ү' => 'Ü', 'ү' => 'ü',
    42         'Ф' => 'F', 'ф' => 'f',
    43         'Х' => 'H', 'х' => 'h',
    4421        'Ц' => 'Ts', 'ц' => 'ts',
    4522        'Ч' => 'Ch', 'ч' => 'ch',
    4623        'Ш' => 'Sh', 'ш' => 'sh',
    4724        'Щ' => 'Shch', 'щ' => 'shch',
    48         'Ъ' => 'ʼ', 'ъ' => 'ʼ', // tvrdi znak
    49         'Ы' => 'Y', 'ы' => 'y',
    50         'Ь' => 'ʼ', 'ь' => 'ʼ', // meki znak
    51         'Э' => 'E', 'э' => 'e',
    5225        'Ю' => 'Yu', 'ю' => 'yu',
    5326        'Я' => 'Ya', 'я' => 'ya',
     27
     28        // Core letters
     29        'А' => 'A',  'а' => 'a',
     30        'Б' => 'B',  'б' => 'b',
     31        'В' => 'V',  'в' => 'v',
     32        'Г' => 'G',  'г' => 'g',
     33        'Д' => 'D',  'д' => 'd',
     34        'Е' => 'E',  'е' => 'e',
     35        'З' => 'Z',  'з' => 'z',
     36        'И' => 'I',  'и' => 'i',
     37        'Й' => 'Y',  'й' => 'y',
     38        'К' => 'K',  'к' => 'k',
     39        'Л' => 'L',  'л' => 'l',
     40        'М' => 'M',  'м' => 'm',
     41        'Н' => 'N',  'н' => 'n',
     42        'О' => 'O',  'о' => 'o',
     43        'Ө' => 'Ö',  'ө' => 'ö',
     44        'П' => 'P',  'п' => 'p',
     45        'Р' => 'R',  'р' => 'r',
     46        'С' => 'S',  'с' => 's',
     47        'Т' => 'T',  'т' => 't',
     48        'У' => 'U',  'у' => 'u',
     49        'Ү' => 'Ü',  'ү' => 'ü',
     50        'Ф' => 'F',  'ф' => 'f',
     51        'Х' => 'H',  'х' => 'h',
     52        'Ы' => 'Y',  'ы' => 'y',
     53        'Э' => 'E',  'э' => 'e',
     54        'Ъ' => 'ʼ',  'ъ' => 'ʼ',
     55        'Ь' => 'ʼ',  'ь' => 'ʼ',
    5456    ];
    5557
     
    6365    public static function transliterate($content, $translation = 'cyr_to_lat')
    6466    {
    65         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     67        if (!is_string($content)) {
    6668            return $content;
    6769        }
    6870
    69         $transliteration = apply_filters('transliteration_map_kir', self::$map);
    70         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/kir', [$transliteration], '2.0.0', 'transliteration_map_kir');
     71        $map = apply_filters('transliteration_map_kir', self::$map);
     72        $map = apply_filters_deprecated('rstr/inc/transliteration/kir', [$map], '2.0.0', 'transliteration_map_kir');
    7173
    7274        switch ($translation) {
    7375            case 'cyr_to_lat':
    74                 return strtr($content, $transliteration);
     76                return strtr($content, $map);
    7577
    7678            case 'lat_to_cyr':
    77                 $transliteration = array_flip($transliteration);
    78                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    79                 $transliteration = apply_filters('rstr/inc/transliteration/kir/lat_to_cyr', $transliteration);
    80                 return strtr($content, $transliteration);
     79                // Flip and prioritize digraphs
     80                $reverse = array_filter($map, static fn($v) => $v !== '');
     81                $priority = [
     82                    'Shch' => 'Щ', 'shch' => 'щ',
     83                    'Zh'   => 'Ж', 'zh'   => 'ж',
     84                    'Ts'   => 'Ц', 'ts'   => 'ц',
     85                    'Ch'   => 'Ч', 'ch'   => 'ч',
     86                    'Sh'   => 'Ш', 'sh'   => 'ш',
     87                    'Yo'   => 'Ё', 'yo'   => 'ё',
     88                    'Yu'   => 'Ю', 'yu'   => 'ю',
     89                    'Ya'   => 'Я', 'ya'   => 'я',
     90                    'Y'    => 'Й', 'y'    => 'й',
     91                ];
     92                $reverse = array_merge($priority, array_flip($reverse));
     93                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     94
     95                return strtr($content, $reverse);
     96
     97            default:
     98                return $content;
    8199        }
    82 
    83         return $content;
    84100    }
    85101}
  • serbian-transliteration/trunk/classes/maps/kk.php

    r3307894 r3328833  
    66
    77/**
    8  * Kazakh transliteration
     8 * Kazakh transliteration (Cyrillic ↔ Latin)
    99 *
    10  * @link              http://infinitumform.com/
    11  * @since             1.0.0
    12  * @package           Serbian_Transliteration
    13  *
     10 * @link    https://infinitumform.com/
     11 * @since   2.0.0
     12 * @package Serbian_Transliteration
    1413 */
    1514
     
    1716{
    1817    public static $map = [
    19         // Variations and special characters
    20         'Ғ' => 'Gh',    'ғ' => 'gh',        'Ё' => 'Yo',        'ё' => 'yo',        'Ж' => 'Zh',
    21         'ж' => 'zh',    'Ң' => 'Ng',        'ң' => 'ng',        'Х' => 'Kh',        'х' => 'kh',
    22         'Ц' => 'Ts',    'ц' => 'ts',        'Ч' => 'Ch',        'ч' => 'ch',        'Ш' => 'Sh',
    23         'ш' => 'sh',    'Щ' => 'Shch',      'щ' => 'shch',      'Ю' => 'Yu',        'ю' => 'yu',
    24         'Я' => 'Ya',    'я' => 'ya',
     18        // Complex digraphs
     19        'Ғ' => 'Ǵ',  'ғ' => 'ǵ',
     20        'Ё' => 'Yo', 'ё' => 'yo',
     21        'Ж' => 'Zh', 'ж' => 'zh',
     22        'Ң' => 'Ń',  'ң' => 'ń',
     23        'Х' => 'H',  'х' => 'h',
     24        'Ц' => 'Ts', 'ц' => 'ts',
     25        'Ч' => 'Ch', 'ч' => 'ch',
     26        'Ш' => 'Sh', 'ш' => 'sh',
     27        'Щ' => 'Shch', 'щ' => 'shch',
     28        'Ю' => 'Iý', 'ю' => 'ıý',
     29        'Я' => 'Ia', 'я' => 'ia',
    2530
    26         // All other letters
    27         'А' => 'A',     'а' => 'a',     'Б' => 'B',     'б' => 'b',     'В' => 'V',
    28         'в' => 'v',     'Г' => 'G',     'г' => 'g',     'Д' => 'D',     'д' => 'd',
    29         'Е' => 'E',     'е' => 'e',     'З' => 'Z',     'з' => 'z',     'И' => 'Ī',
    30         'и' => 'ī',     'Й' => 'Y',     'й' => 'y',     'К' => 'K',     'к' => 'k',
    31         'Л' => 'L',     'л' => 'l',     'М' => 'M',     'м' => 'm',     'Н' => 'N',
    32         'н' => 'n',     'О' => 'O',     'о' => 'o',     'П' => 'P',     'п' => 'p',
    33         'Р' => 'R',     'р' => 'r',     'С' => 'S',     'с' => 's',     'Т' => 'T',
    34         'т' => 't',     'У' => 'Ū',     'у' => 'ū',     'Ф' => 'F',     'ф' => 'f',
    35         'Ү' => 'Ü',     'ү' => 'ü',     'Һ' => 'H',     'һ' => 'h',     'Э' => 'Ė',
    36         'э' => 'ė',     'Ұ' => 'U',     'ұ' => 'u',     'Ө' => 'Ö',     'ө' => 'ö',
    37         'Қ' => 'Q',     'қ' => 'q',     'І' => 'I',     'і' => 'i',
    38         'Ъ' => '',      'ъ' => '',      'Ь' => '',      'ь' => '',
     31        // Base letters
     32        'А' => 'A',  'а' => 'a',
     33        'Б' => 'B',  'б' => 'b',
     34        'В' => 'V',  'в' => 'v',
     35        'Г' => 'G',  'г' => 'g',
     36        'Д' => 'D',  'д' => 'd',
     37        'Е' => 'E',  'е' => 'e',
     38        'З' => 'Z',  'з' => 'z',
     39        'И' => 'I',  'и' => 'i',
     40        'Й' => 'Ý',  'й' => 'ý',
     41        'К' => 'K',  'к' => 'k',
     42        'Л' => 'L',  'л' => 'l',
     43        'М' => 'M',  'м' => 'm',
     44        'Н' => 'N',  'н' => 'n',
     45        'О' => 'O',  'о' => 'o',
     46        'П' => 'P',  'п' => 'p',
     47        'Р' => 'R',  'р' => 'r',
     48        'С' => 'S',  'с' => 's',
     49        'Т' => 'T',  'т' => 't',
     50        'У' => 'Ý',  'у' => 'ý',
     51        'Ф' => 'F',  'ф' => 'f',
     52        'Қ' => 'Q',  'қ' => 'q',
     53        'Ң' => 'Ń',  'ң' => 'ń',
     54        'Ө' => 'Ó',  'ө' => 'ó',
     55        'Ұ' => 'U',  'ұ' => 'u',
     56        'Ү' => 'Ú',  'ү' => 'ú',
     57        'Һ' => 'H',  'һ' => 'h',
     58        'І' => 'I',  'і' => 'i',
     59        'Э' => 'E',  'э' => 'e',
     60
     61        // Removed signs
     62        'Ъ' => '',   'ъ' => '',
     63        'Ь' => '',   'ь' => '',
    3964    ];
    4065
    4166    /**
    42      * Transliterate text between Cyrillic and Latin.
     67     * Transliterate Kazakh text between Cyrillic and Latin.
    4368     *
    44      * @param mixed $content String to transliterate.
    45      * @param string $translation Conversion direction.
     69     * @param mixed  $content String to transliterate.
     70     * @param string $translation Direction of conversion.
    4671     * @return mixed
    4772     */
     
    5782        switch ($translation) {
    5883            case 'cyr_to_lat':
    59                 //              return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    6084                return strtr($content, $transliteration);
    6185
    6286            case 'lat_to_cyr':
    63                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    64                 $transliteration = array_merge([
    65                     'GH' => 'Ғ', 'YO' => 'Ё', 'ZH' => 'Ж', 'NG' => 'Ң', 'KH' => 'Х', 'SH' => 'Ш', 'YA' => 'Я', 'YU' => 'Ю',
    66                     'CH' => 'Ч', 'TS' => 'Ц', 'SHCH' => 'Щ', 'J' => 'Й', 'j' => 'й', 'I' => 'И', 'i' => 'и',
    67                 ], $transliteration);
    68                 $transliteration = array_flip($transliteration);
    69                 $transliteration = apply_filters('rstr/inc/transliteration/kk/lat_to_cyr', $transliteration);
    70                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    71                 return strtr($content, $transliteration);
     87                $reverse = array_filter($transliteration, fn($v) => $v !== '');
     88                $reverse = array_flip($reverse);
     89
     90                // Priority digraphs
     91                $manual = [
     92                    'Zh' => 'Ж', 'zh' => 'ж',
     93                    'Ch' => 'Ч', 'ch' => 'ч',
     94                    'Sh' => 'Ш', 'sh' => 'ш',
     95                    'Shch' => 'Щ', 'shch' => 'щ',
     96                    'Yo' => 'Ё', 'yo' => 'ё',
     97                    'Ia' => 'Я', 'ia' => 'я',
     98                    'Iý' => 'Ю', 'ıý' => 'ю',
     99                    'Ý'  => 'Й', 'ý' => 'й',
     100                    'Ó'  => 'Ө', 'ó' => 'ө',
     101                    'Ú'  => 'Ү', 'ú' => 'ү',
     102                    'Ǵ' => 'Ғ', 'ǵ' => 'ғ',
     103                    'Ń' => 'Ң', 'ń' => 'ң',
     104                ];
     105
     106                $reverse = array_merge($manual, $reverse);
     107                $reverse = apply_filters('rstr/inc/transliteration/kk/lat_to_cyr', $reverse);
     108
     109                return strtr($content, $reverse);
    72110        }
    73111
  • serbian-transliteration/trunk/classes/maps/mk_MK.php

    r3307894 r3328833  
    66
    77/**
    8  * Macedonian transliteration
     8 * Macedonian transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.0.0
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_mk_MK
    1715{
     16    /**
     17     * Cyrillic to Latin map for Macedonian
     18     */
    1819    public static $map = [
    19         // Variations and special characters
    20         'Ѓ' => 'Gj',    'ѓ' => 'gj',    'Ѕ' => 'Dz',    'ѕ' => 'dz',    'Њ' => 'Nj',
    21         'њ' => 'nj',    'Љ' => 'Lj',    'љ' => 'lj',    'Ќ' => 'Kj',    'ќ' => 'kj',
    22         'Ч' => 'Ch',    'ч' => 'ch',    'Џ' => 'Dj',    'џ' => 'dj',    'Ж' => 'zh',
    23         'ж' => 'zh',    'Ш' => 'Sh',    'ш' => 'sh',
     20        // Digraphs and special letters
     21        'Ѓ' => 'Ǵ',  'ѓ' => 'ǵ',
     22        'Ќ' => 'Ḱ',  'ќ' => 'ḱ',
     23        'Љ' => 'Lj', 'љ' => 'lj',
     24        'Њ' => 'Nj', 'њ' => 'nj',
     25        'Ѕ' => 'Dz', 'ѕ' => 'dz',
     26        'Ж' => 'Zh', 'ж' => 'zh',
     27        'Ч' => 'Ch', 'ч' => 'ch',
     28        'Ш' => 'Sh', 'ш' => 'sh',
     29        'Џ' => 'Dž', 'џ' => 'dž',
    2430
    25         // All other letters
    26         'А' => 'A',     'а' => 'a',     'Б' => 'B',     'б' => 'b',     'В' => 'V',
    27         'в' => 'v',     'Г' => 'G',     'г' => 'g',     'Д' => 'D',     'д' => 'd',
    28         'Е' => 'E',     'е' => 'e',     'З' => 'Z',     'з' => 'z',     'И' => 'I',
    29         'и' => 'i',     'Ј' => 'J',             'ј' => 'j',     'К' => 'K',     'к' => 'k',
    30         'Л' => 'L',     'л' => 'l',     'М' => 'M',     'м' => 'm',     'Н' => 'N',
    31         'н' => 'n',     'О' => 'O',     'о' => 'o',     'П' => 'P',     'п' => 'p',
    32         'Р' => 'R',     'р' => 'r',     'С' => 'S',     'с' => 's',     'Т' => 'T',
    33         'т' => 't',     'У' => 'U',     'у' => 'u',     'Ф' => 'F',     'ф' => 'f',
    34         'Х' => 'H',     'х' => 'h',     'Ъ' => 'Ǎ',     'ъ' => 'ǎ',
     31        // Standard letters
     32        'А' => 'A',  'а' => 'a',
     33        'Б' => 'B',  'б' => 'b',
     34        'В' => 'V',  'в' => 'v',
     35        'Г' => 'G',  'г' => 'g',
     36        'Д' => 'D',  'д' => 'd',
     37        'Е' => 'E',  'е' => 'e',
     38        'З' => 'Z',  'з' => 'z',
     39        'И' => 'I',  'и' => 'i',
     40        'Ј' => 'J',  'ј' => 'j',
     41        'К' => 'K',  'к' => 'k',
     42        'Л' => 'L',  'л' => 'l',
     43        'М' => 'M',  'м' => 'm',
     44        'Н' => 'N',  'н' => 'n',
     45        'О' => 'O',  'о' => 'o',
     46        'П' => 'P',  'п' => 'p',
     47        'Р' => 'R',  'р' => 'r',
     48        'С' => 'S',  'с' => 's',
     49        'Т' => 'T',  'т' => 't',
     50        'У' => 'U',  'у' => 'u',
     51        'Ф' => 'F',  'ф' => 'f',
     52        'Х' => 'H',  'х' => 'h',
     53        'Ъ' => 'Ǎ',  'ъ' => 'ǎ', // Optional legacy transliteration
    3554    ];
    3655
     
    3958     *
    4059     * @param mixed $content String to transliterate.
    41      * @param string $translation Conversion direction.
     60     * @param string $translation Direction: 'cyr_to_lat' or 'lat_to_cyr'
    4261     * @return mixed
    4362     */
    4463    public static function transliterate($content, $translation = 'cyr_to_lat')
    4564    {
    46         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     65        if (!is_string($content)) {
    4766            return $content;
    4867        }
    4968
    50         $transliteration = apply_filters('transliteration_map_mk_MK', self::$map);
    51         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/mk_MK', [$transliteration], '2.0.0', 'transliteration_map_mk_MK');
     69        $map = apply_filters('transliteration_map_mk_MK', self::$map);
     70        $map = apply_filters_deprecated('rstr/inc/transliteration/mk_MK', [$map], '2.0.0', 'transliteration_map_mk_MK');
    5271
    5372        switch ($translation) {
    5473            case 'cyr_to_lat':
    55                 $sRe = '/(?<=^|\s|\'|’|[IЭЫAУО])';
    56                 //              return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    57                 return strtr($content, $transliteration);
     74                return strtr($content, $map);
    5875
    5976            case 'lat_to_cyr':
    60                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    61                 $transliteration = array_flip($transliteration);
    62                 $transliteration = array_merge([
    63                     'ZH' => 'Ж', 'GJ' => 'Ѓ', 'CH' => 'Ч', 'SH' => 'Ш', 'Dz' => 'Ѕ', 'Nj' => 'Њ', 'Lj' => 'Љ', 'KJ' => 'Ќ', 'DJ' => 'Џ',
    64                 ], $transliteration);
    65                 $transliteration = apply_filters('rstr/inc/transliteration/mk_MK/lat_to_cyr', $transliteration);
    66                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    67                 return strtr($content, $transliteration);
     77                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     78
     79                // Manual overrides for priority digraphs
     80                $custom = [
     81                    'Dž' => 'Џ', 'dž' => 'џ',
     82                    'Dz' => 'Ѕ', 'dz' => 'ѕ',
     83                    'Gj' => 'Ѓ', 'gj' => 'ѓ',
     84                    'Kj' => 'Ќ', 'kj' => 'ќ',
     85                    'Lj' => 'Љ', 'lj' => 'љ',
     86                    'Nj' => 'Њ', 'nj' => 'њ',
     87                    'Zh' => 'Ж', 'zh' => 'ж',
     88                    'Sh' => 'Ш', 'sh' => 'ш',
     89                    'Ch' => 'Ч', 'ch' => 'ч',
     90                ];
     91
     92                $reverse = array_merge($custom, $reverse);
     93
     94                // Sort digraphs first
     95                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     96
     97                $content = str_replace(array_keys($reverse), array_values($reverse), $content);
     98
     99                return apply_filters('rstr/inc/transliteration/mk_MK/lat_to_cyr', $content);
     100
     101            default:
     102                return $content;
    68103        }
    69 
    70         return $content;
    71104    }
    72105}
  • serbian-transliteration/trunk/classes/maps/mn.php

    r3307894 r3328833  
    66
    77/**
    8  * Mongolian
     8 * Mongolian transliteration map (Cyrillic script)
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.12.1
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_mn
    1715{
     
    4644        'Ш' => 'Sh', 'ш' => 'sh',
    4745        'Щ' => 'Shch', 'щ' => 'shch',
    48         'Ъ' => 'ʼ', 'ъ' => 'ʼ', // tvrdi znak
     46        'Ъ' => 'ʼ', 'ъ' => 'ʼ',
    4947        'Ы' => 'Y', 'ы' => 'y',
    50         'Ь' => 'ʼ', 'ь' => 'ʼ', // meki znak
     48        'Ь' => 'ʼ', 'ь' => 'ʼ',
    5149        'Э' => 'E', 'э' => 'e',
    5250        'Ю' => 'Yu', 'ю' => 'yu',
     
    6361    public static function transliterate($content, $translation = 'cyr_to_lat')
    6462    {
    65         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     63        if (!is_string($content)) {
    6664            return $content;
    6765        }
    6866
    69         $transliteration = apply_filters('transliteration_map_mn', self::$map);
    70         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/mn', [$transliteration], '2.0.0', 'transliteration_map_mn');
     67        $map = apply_filters('transliteration_map_mn', self::$map);
     68        $map = apply_filters_deprecated('rstr/inc/transliteration/mn', [$map], '2.0.0', 'transliteration_map_mn');
    7169
    7270        switch ($translation) {
    7371            case 'cyr_to_lat':
    74                 return strtr($content, $transliteration);
     72                return strtr($content, $map);
    7573
    7674            case 'lat_to_cyr':
    77                 $transliteration = array_flip($transliteration);
    78                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    79                 $transliteration = apply_filters('rstr/inc/transliteration/mn/lat_to_cyr', $transliteration);
    80                 return strtr($content, $transliteration);
     75                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     76
     77                $custom = [
     78                    'Shch' => 'Щ', 'shch' => 'щ',
     79                    'Zh' => 'Ж', 'zh' => 'ж',
     80                    'Yo' => 'Ё', 'yo' => 'ё',
     81                    'Yu' => 'Ю', 'yu' => 'ю',
     82                    'Ya' => 'Я', 'ya' => 'я',
     83                    'Kh' => 'Х', 'kh' => 'х',
     84                    'Ts' => 'Ц', 'ts' => 'ц',
     85                    'Ch' => 'Ч', 'ch' => 'ч',
     86                    'Sh' => 'Ш', 'sh' => 'ш',
     87                    'Ö' => 'Ө', 'ö' => 'ө',
     88                    'Ü' => 'Ү', 'ü' => 'ү',
     89                ];
     90
     91                $reverse = array_merge($custom, $reverse);
     92
     93                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     94
     95                return str_replace(array_keys($reverse), array_values($reverse), $content);
     96
     97            default:
     98                return $content;
    8199        }
    82 
    83         return $content;
    84100    }
    85101}
  • serbian-transliteration/trunk/classes/maps/ru_RU.php

    r3307894 r3328833  
    66
    77/**
    8  * Russian transliteration
     8 * Russian transliteration (Cyrillic ↔ Latin)
    99 *
    10  * @link              http://infinitumform.com/
    11  * @since             1.0.0
    12  * @package           Serbian_Transliteration
     10 * @link    https://infinitumform.com/
     11 * @since   2.0.0
     12 * @package Serbian_Transliteration
    1313 */
    1414
     
    1616{
    1717    public static $map = [
    18         // Variations and special characters
    19         'Ё' => 'Yo', 'Ж' => 'Zh', 'Х' => 'Kh', 'Ц' => 'Ts', 'Ч' => 'Ch',
    20         'Ш' => 'Sh', 'Щ' => 'Shch', 'Ю' => 'Ju', 'Я' => 'Ja',
    21         'ё' => 'yo', 'ж' => 'zh', 'х' => 'kh', 'ц' => 'ts', 'ч' => 'ch',
    22         'ш' => 'sh', 'щ' => 'shch', 'ю' => 'ju', 'я' => 'ja',
     18        // Digraphs
     19        'Ё' => 'Yo', 'ё' => 'yo',
     20        'Ж' => 'Zh', 'ж' => 'zh',
     21        'Х' => 'Kh', 'х' => 'kh',
     22        'Ц' => 'Ts', 'ц' => 'ts',
     23        'Ч' => 'Ch', 'ч' => 'ch',
     24        'Ш' => 'Sh', 'ш' => 'sh',
     25        'Щ' => 'Shch', 'щ' => 'shch',
     26        'Ю' => 'Yu', 'ю' => 'yu',
     27        'Я' => 'Ya', 'я' => 'ya',
    2328
    24         // All other letters
    25         'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
    26         'Е' => 'E', 'З' => 'Z', 'И' => 'I', 'Й' => 'J', 'К' => 'K',
    27         'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O', 'П' => 'P',
    28         'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F',
    29         'Ъ' => '',  'Ы' => 'Y', 'Ь' => '',  'Э' => 'E',
    30         'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
    31         'е' => 'e', 'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k',
    32         'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p',
    33         'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f',
    34         'ъ' => '',  'ы' => 'y', 'ь' => '',  'э' => 'e',
     29        // Base letters
     30        'А' => 'A',  'а' => 'a',
     31        'Б' => 'B',  'б' => 'b',
     32        'В' => 'V',  'в' => 'v',
     33        'Г' => 'G',  'г' => 'g',
     34        'Д' => 'D',  'д' => 'd',
     35        'Е' => 'E',  'е' => 'e',
     36        'З' => 'Z',  'з' => 'z',
     37        'И' => 'I',  'и' => 'i',
     38        'Й' => 'Y',  'й' => 'y',
     39        'К' => 'K',  'к' => 'k',
     40        'Л' => 'L',  'л' => 'l',
     41        'М' => 'M',  'м' => 'm',
     42        'Н' => 'N',  'н' => 'n',
     43        'О' => 'O',  'о' => 'o',
     44        'П' => 'P',  'п' => 'p',
     45        'Р' => 'R',  'р' => 'r',
     46        'С' => 'S',  'с' => 's',
     47        'Т' => 'T',  'т' => 't',
     48        'У' => 'U',  'у' => 'u',
     49        'Ф' => 'F',  'ф' => 'f',
     50        'Ы' => 'Y',  'ы' => 'y',
     51        'Э' => 'E',  'э' => 'e',
     52
     53        // Removed signs
     54        'Ъ' => '',   'ъ' => '',
     55        'Ь' => '',   'ь' => '',
    3556    ];
    3657
    3758    /**
    38      * Transliterate text between Cyrillic and Latin.
     59     * Transliterate Russian text between Cyrillic and Latin.
    3960     *
    40      * @param mixed $content String to transliterate.
    41      * @param string $translation Conversion direction.
     61     * @param mixed  $content String to transliterate.
     62     * @param string $translation Direction of conversion.
    4263     * @return mixed
    4364     */
     
    5374        switch ($translation) {
    5475            case 'cyr_to_lat':
    55                 // Special rules for word-initial letters
    56                 $content = preg_replace('/\bЁ/u', 'Yo', $content);
    57                 $content = preg_replace('/\bё/u', 'yo', $content);
    58                 $content = preg_replace('/\bЮ/u', 'Yu', $content);
    59                 $content = preg_replace('/\bю/u', 'yu', $content);
    60                 $content = preg_replace('/\bЯ/u', 'Ya', $content);
    61                 $content = preg_replace('/\bя/u', 'ya', $content);
    62                 $content = preg_replace('/\bЙ/u', 'Y', $content);
    63                 $content = preg_replace('/\bй/u', 'y', $content);
    64 
     76                // Transliterate using map
    6577                return strtr($content, $map);
    6678
    6779            case 'lat_to_cyr':
    68                 // Reverse map with extended replacements
    6980                $reverse = array_filter($map, static fn($v) => $v !== '');
    70                 $reverse = array_merge([
    71                     'SHCH' => 'Щ', 'Shch' => 'Щ', 'shch' => 'щ',
    72                     'ZH'   => 'Ж', 'Zh'   => 'Ж', 'zh'   => 'ж',
    73                     'KH'   => 'Х', 'Kh'   => 'Х', 'kh'   => 'х',
    74                     'TS'   => 'Ц', 'Ts'   => 'Ц', 'ts'   => 'ц',
    75                     'CH'   => 'Ч', 'Ch'   => 'Ч', 'ch'   => 'ч',
    76                     'SH'   => 'Ш', 'Sh'   => 'Ш', 'sh'   => 'ш',
    77                     'YO'   => 'Ё', 'Yo'   => 'Ё', 'yo'   => 'ё',
    78                     'JU'   => 'Ю', 'Ju'   => 'Ю', 'ju'   => 'ю',
    79                     'JA'   => 'Я', 'Ja'   => 'Я', 'ja'   => 'я',
     81                $reverse = array_flip($reverse);
     82
     83                // Prioritized digraphs
     84                $priority = [
     85                    'Shch' => 'Щ', 'shch' => 'щ',
     86                    'Zh'   => 'Ж', 'zh'   => 'ж',
     87                    'Kh'   => 'Х', 'kh'   => 'х',
     88                    'Ts'   => 'Ц', 'ts'   => 'ц',
     89                    'Ch'   => 'Ч', 'ch'   => 'ч',
     90                    'Sh'   => 'Ш', 'sh'   => 'ш',
     91                    'Yo'   => 'Ё', 'yo'   => 'ё',
     92                    'Yu'   => 'Ю', 'yu'   => 'ю',
     93                    'Ya'   => 'Я', 'ya'   => 'я',
    8094                    'Y'    => 'Й', 'y'    => 'й',
    81                 ], array_flip($reverse));
     95                ];
    8296
    83                 // Prioritize longer sequences
     97                // Combine and sort for replacement priority
     98                $reverse = array_merge($priority, $reverse);
    8499                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
    85100
    86                 $output = $content;
     101                $content = strtr($content, $reverse);
    87102
    88                 // Handle initial letter logic (reversed)
    89                 $output = preg_replace('/\bYo/u', 'Ё', $output);
    90                 $output = preg_replace('/\byo/u', 'ё', $output);
    91                 $output = preg_replace('/\bYu/u', 'Ю', $output);
    92                 $output = preg_replace('/\byu/u', 'ю', $output);
    93                 $output = preg_replace('/\bYa/u', 'Я', $output);
    94                 $output = preg_replace('/\bya/u', 'я', $output);
    95                 $output = preg_replace('/\bY/u', 'Й', $output);
    96                 $output = preg_replace('/\by/u', 'й', $output);
    97 
    98                 foreach ($reverse as $latin => $cyrillic) {
    99                     $output = str_replace($latin, $cyrillic, $output);
    100                 }
    101 
    102                 return apply_filters('rstr/inc/transliteration/ru_RU/lat_to_cyr', $output);
     103                return apply_filters('rstr/inc/transliteration/ru_RU/lat_to_cyr', $content);
    103104
    104105            default:
  • serbian-transliteration/trunk/classes/maps/sr_RS.php

    r3307894 r3328833  
    1616{
    1717    public static $map = [
    18         // Variations and special characters
    19         'ња' => 'nja',  'ње' => 'nje',  'њи' => 'nji',  'њо' => 'njo',
    20         'њу' => 'nju',  'ља' => 'lja',  'ље' => 'lje',  'љи' => 'lji',  'љо' => 'ljo',
    21         'љу' => 'lju',  'џа' => 'dža',  'џе' => 'dže',  'џи' => 'dži',  'џо' => 'džo',
    22         'џу' => 'džu',
     18        // Composite digraphs with vowels
     19        'Ља' => 'Lja', 'ЉА' => 'LJA',
     20        'Ље' => 'Lje', 'ЉЕ' => 'LJE',
     21        'Љи' => 'Lji', 'ЉИ' => 'LJI',
     22        'Љо' => 'Ljo', 'ЉО' => 'LJO',
     23        'Љу' => 'Lju', 'ЉУ' => 'LJU',
    2324
    24         'Ња' => 'Nja',  'Ње' => 'Nje',  'Њи' => 'Nji',  'Њо' => 'Njo',
    25         'Њу' => 'Nju',  'Ља' => 'Lja',  'Ље' => 'Lje',  'Љи' => 'Lji',  'Љо' => 'Ljo',
    26         'Љу' => 'Lju',  'Џа' => 'Dža',  'Џе' => 'Dže',  'Џи' => 'Dži',  'Џо' => 'Džo',
    27         'Џу' => 'Džu',
     25        'Ња' => 'Nja', 'ЊА' => 'NJA',
     26        'Ње' => 'Nje', 'ЊЕ' => 'NJE',
     27        'Њи' => 'Nji', 'ЊИ' => 'NJI',
     28        'Њо' => 'Njo', 'ЊО' => 'NJO',
     29        'Њу' => 'Nju', 'ЊУ' => 'NJU',
    2830
    29         'џ' => 'dž',        'Џ' => 'DŽ',        'љ' => 'lj',        'Љ' => 'LJ',        'њ' => 'nj',
    30         'Њ' => 'NJ',
     31        'Џа' => 'Dža', 'ЏА' => 'DŽA',
     32        'Џе' => 'Dže', 'ЏЕ' => 'DŽE',
     33        'Џи' => 'Dži', 'ЏИ' => 'DŽI',
     34        'Џо' => 'Džo', 'ЏО' => 'DŽO',
     35        'Џу' => 'Džu', 'ЏУ' => 'DŽU',
    3136
    32         // All other letters
    33         'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
    34         'Ђ' => 'Đ', 'Е' => 'E', 'Ж' => 'Ž', 'З' => 'Z', 'И' => 'I',
    35         'Ј' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N',
    36         'О' => 'O', 'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Ш' => 'Š',
    37         'Т' => 'T', 'Ћ' => 'Ć', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H',
    38         'Ц' => 'C', 'Ч' => 'Č', 'а' => 'a', 'б' => 'b', 'в' => 'v',
    39         'г' => 'g', 'д' => 'd', 'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž',
    40         'з' => 'z', 'и' => 'i', 'ј' => 'j', 'к' => 'k', 'л' => 'l',
    41         'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r',
    42         'с' => 's', 'ш' => 'š', 'т' => 't', 'ћ' => 'ć', 'у' => 'u',
    43         'ф' => 'f', 'х' => 'h', 'ц' => 'c', 'ч' => 'č',
    44     ];
     37        'ља' => 'lja', 'ље' => 'lje', 'љи' => 'lji', 'љо' => 'ljo', 'љу' => 'lju',
     38        'ња' => 'nja', 'ње' => 'nje', 'њи' => 'nji', 'њо' => 'njo', 'њу' => 'nju',
     39        'џа' => 'dža', 'џе' => 'dže', 'џи' => 'dži', 'џо' => 'džo', 'џу' => 'džu',
     40       
     41        // Macedonian
     42        'Ѓ' => 'Ǵ', 'ѓ' => 'ǵ',
     43        'Ќ' => 'Ḱ', 'ќ' => 'ḱ',
     44
     45        // Single digraphs
     46        'Љ' => 'Lj', 'љ' => 'lj',
     47        'Њ' => 'Nj', 'њ' => 'nj',
     48        'Џ' => 'Dž', 'џ' => 'dž',
     49
     50        // Standard Cyrillic to Latin mapping
     51        'А' => 'A', 'а' => 'a',
     52        'Б' => 'B', 'б' => 'b',
     53        'В' => 'V', 'в' => 'v',
     54        'Г' => 'G', 'г' => 'g',
     55        'Д' => 'D', 'д' => 'd',
     56        'Ђ' => 'Đ', 'ђ' => 'đ',
     57        'Е' => 'E', 'е' => 'e',
     58        'Ж' => 'Ž', 'ж' => 'ž',
     59        'З' => 'Z', 'з' => 'z',
     60        'И' => 'I', 'и' => 'i',
     61        'Ј' => 'J', 'ј' => 'j',
     62        'К' => 'K', 'к' => 'k',
     63        'Л' => 'L', 'л' => 'l',
     64        'М' => 'M', 'м' => 'm',
     65        'Н' => 'N', 'н' => 'n',
     66        'О' => 'O', 'о' => 'o',
     67        'П' => 'P', 'п' => 'p',
     68        'Р' => 'R', 'р' => 'r',
     69        'С' => 'S', 'с' => 's',
     70        'Т' => 'T', 'т' => 't',
     71        'Ћ' => 'Ć', 'ћ' => 'ć',
     72        'У' => 'U', 'у' => 'u',
     73        'Ф' => 'F', 'ф' => 'f',
     74        'Х' => 'H', 'х' => 'h',
     75        'Ц' => 'C', 'ц' => 'c',
     76        'Ч' => 'Č', 'ч' => 'č',
     77        'Ш' => 'Š', 'ш' => 'š',
     78    ];
    4579
    4680    /**
     
    4882     *
    4983     * @param mixed $content String to transliterate.
    50      * @param string $translation Conversion direction.
     84     * @param string $translation Conversion direction: 'cyr_to_lat' or 'lat_to_cyr'
    5185     * @return mixed
    5286     */
    5387    public static function transliterate($content, $translation = 'cyr_to_lat')
    5488    {
    55         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     89        if (!is_string($content)) {
    5690            return $content;
    5791        }
    5892
    59         $transliteration = apply_filters('transliteration_map_sr_RS', self::$map);
    60         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/sr_RS', [$transliteration], '2.0.0', 'transliteration_map_sr_RS');
     93        $map = apply_filters('transliteration_map_sr_RS', self::$map);
     94        $map = apply_filters_deprecated('rstr/inc/transliteration/sr_RS', [$map], '2.0.0', 'transliteration_map_sr_RS');
    6195
    6296        switch ($translation) {
    6397            case 'cyr_to_lat':
    64                 //  return str_replace(array_keys($transliteration), array_values($transliteration), $content);
    65                 return strtr($content, $transliteration);
     98                return strtr($content, $map);
    6699
    67100            case 'lat_to_cyr':
    68                 $lat_to_cyr = [];
    69                 $lat_to_cyr = array_merge($lat_to_cyr, array_flip($transliteration));
    70                 $lat_to_cyr = array_merge([
    71                     'NJ' => 'Њ',    'LJ' => 'Љ',    'DŽ' => 'Џ',    'DJ' => 'Ђ',    'DZ' => 'Ѕ',    'dz' => 'ѕ',
    72                 ], $lat_to_cyr);
    73                 $lat_to_cyr = apply_filters('rstr/inc/transliteration/sr_RS/lat_to_cyr', $lat_to_cyr);
     101                $content = ltrim($content, "\xEF\xBB\xBF\x20\t\n\r\0\x0B"); // UTF-8 BOM + whitespace
     102           
     103                // Build reverse map
     104                $reverse = array_flip($map);
    74105
    75                 //  return str_replace(array_keys($lat_to_cyr), array_values($lat_to_cyr), $content);
    76                 $content = strtr($content, $lat_to_cyr);
     106                // Add digraph priority
     107                $custom = [
     108                    'DŽ' => 'Џ', 'Dž' => 'Џ', 'dž' => 'џ',
     109                    'LJ' => 'Љ', 'Lj' => 'Љ', 'lj' => 'љ',
     110                    'NJ' => 'Њ', 'Nj' => 'Њ', 'nj' => 'њ',
     111                    'Đ'  => 'Ђ', 'đ'  => 'ђ',
     112                    'Č'  => 'Ч', 'č'  => 'ч',
     113                    'Ć'  => 'Ћ', 'ć'  => 'ћ',
     114                    'Š'  => 'Ш', 'š'  => 'ш',
     115                    'Ž'  => 'Ж', 'ž'  => 'ж',
     116                ];
    77117
    78                 // Fix some special words
     118                $reverse = array_merge($custom, $reverse);
     119
     120                // Sort descending by key length
     121                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     122
     123                $escaped = array_map('preg_quote', array_keys($reverse));
     124                $pattern = '/' . implode('|', $escaped) . '/u';
     125
     126                $content = preg_replace_callback($pattern, function ($match) use ($reverse) {
     127                    return $reverse[$match[0]] ?? $match[0];
     128                }, $content);
     129
     130                // Handle specific known word issues
    79131                $content = str_replace([
    80132                    'оџљебња',
     
    85137                ], $content);
    86138
     139                return apply_filters('rstr/inc/transliteration/sr_RS/lat_to_cyr', $content);
     140
     141            default:
    87142                return $content;
    88143        }
    89 
    90         return $content;
    91144    }
    92145}
  • serbian-transliteration/trunk/classes/maps/tg.php

    r3307894 r3328833  
    66
    77/**
    8  * Tajik (Tajikistan)
     8 * Tajik (Tajikistan) transliteration map
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.12.1
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_tg
    1715{
     
    4341        'Ч' => 'Ch', 'ч' => 'ch',
    4442        'Ш' => 'Sh', 'ш' => 'sh',
    45         'Ъ' => 'ʼ', 'ъ' => 'ʼ', // tvrdi znak
     43        'Ъ' => 'ʼ', 'ъ' => 'ʼ',
    4644        'Э' => 'E', 'э' => 'e',
    4745        'Ю' => 'Yu', 'ю' => 'yu',
    4846        'Я' => 'Ya', 'я' => 'ya',
    4947        'Ҳ' => 'H', 'ҳ' => 'h',
    50         'Ғ' => 'G‘', 'ғ' => 'g‘',
     48        'Ғ' => "G'", 'ғ' => "g'",   // apostrophized G
    5149        'Ӯ' => 'U', 'ӯ' => 'u',
    5250    ];
     
    6159    public static function transliterate($content, $translation = 'cyr_to_lat')
    6260    {
    63         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     61        if (!is_string($content)) {
    6462            return $content;
    6563        }
    6664
    67         $transliteration = apply_filters('transliteration_map_tg', self::$map);
    68         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/tg', [$transliteration], '2.0.0', 'transliteration_map_tg');
     65        $map = apply_filters('transliteration_map_tg', self::$map);
     66        $map = apply_filters_deprecated('rstr/inc/transliteration/tg', [$map], '2.0.0', 'transliteration_map_tg');
    6967
    7068        switch ($translation) {
    7169            case 'cyr_to_lat':
    72                 return strtr($content, $transliteration);
     70                return strtr($content, $map);
    7371
    7472            case 'lat_to_cyr':
    75                 $transliteration = array_flip($transliteration);
    76                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    77                 $transliteration = apply_filters('rstr/inc/transliteration/tg/lat_to_cyr', $transliteration);
    78                 return strtr($content, $transliteration);
     73                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     74
     75                // Digraph priority for Tajik
     76                $custom = [
     77                    'Yo' => 'Ё', 'yo' => 'ё',
     78                    'Yu' => 'Ю', 'yu' => 'ю',
     79                    'Ya' => 'Я', 'ya' => 'я',
     80                    'Zh' => 'Ж', 'zh' => 'ж',
     81                    'Ch' => 'Ч', 'ch' => 'ч',
     82                    'Sh' => 'Ш', 'sh' => 'ш',
     83                    "G'" => 'Ғ', "g'" => 'ғ',
     84                    'Kh' => 'Х', 'kh' => 'х',
     85                ];
     86
     87                $reverse = array_merge($custom, $reverse);
     88
     89                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
     90
     91                return str_replace(array_keys($reverse), array_values($reverse), $content);
     92
     93            default:
     94                return $content;
    7995        }
    80 
    81         return $content;
    8296    }
    8397}
  • serbian-transliteration/trunk/classes/maps/uk.php

    r3307894 r3328833  
    1212 * @package           Serbian_Transliteration
    1313 */
    14 
    1514class Transliteration_Map_uk
    1615{
    1716    public static $map = [
    18         // Special variations
     17        // Special digraphs
    1918        'ЗГ' => 'ZGH', 'Зг' => 'Zgh', 'зг' => 'zgh',
    2019
    21         ' Є' => ' Ye', ' є' => ' ye',
    22         ' Ї' => ' Yi', ' ї' => ' yi', ' Й' => ' Y', ' й' => ' y',
    23         ' Ю' => ' Yu', ' ю' => ' yu', ' Я' => ' Ya', ' я' => ' ya',
     20        // Complex letters
     21        'Є' => 'Ye', 'є' => 'ye',
     22        'Ї' => 'Yi', 'ї' => 'yi',
     23        'Щ' => 'Shch', 'щ' => 'shch',
     24        'Ю' => 'Yu', 'ю' => 'yu',
     25        'Я' => 'Ya', 'я' => 'ya',
    2426
    25         // Variations and special characters
    26         'Є' => 'Ie', 'є' => 'ie', 'Ї' => 'i', 'ї' => 'i', 'Щ' => 'Shch',
    27         'щ' => 'shch', 'Ю' => 'Iu', 'ю' => 'iu', 'Я' => 'Ia', 'я' => 'ia',
     27        // Basic letters
     28        'А' => 'A', 'а' => 'a',
     29        'Б' => 'B', 'б' => 'b',
     30        'В' => 'V', 'в' => 'v',
     31        'Г' => 'H', 'г' => 'h',
     32        'Ґ' => 'G', 'ґ' => 'g',
     33        'Д' => 'D', 'д' => 'd',
     34        'Е' => 'E', 'е' => 'e',
     35        'Ж' => 'Zh', 'ж' => 'zh',
     36        'З' => 'Z', 'з' => 'z',
     37        'И' => 'Y', 'и' => 'y',
     38        'І' => 'I', 'і' => 'i',
     39        'Й' => 'Y', 'й' => 'y',
     40        'К' => 'K', 'к' => 'k',
     41        'Л' => 'L', 'л' => 'l',
     42        'М' => 'M', 'м' => 'm',
     43        'Н' => 'N', 'н' => 'n',
     44        'О' => 'O', 'о' => 'o',
     45        'П' => 'P', 'п' => 'p',
     46        'Р' => 'R', 'р' => 'r',
     47        'С' => 'S', 'с' => 's',
     48        'Т' => 'T', 'т' => 't',
     49        'У' => 'U', 'у' => 'u',
     50        'Ф' => 'F', 'ф' => 'f',
     51        'Х' => 'Kh', 'х' => 'kh',
     52        'Ц' => 'Ts', 'ц' => 'ts',
     53        'Ч' => 'Ch', 'ч' => 'ch',
     54        'Ш' => 'Sh', 'ш' => 'sh',
    2855
    29         // All other letters
    30         'А' => 'A', 'а' => 'a', 'Б' => 'B', 'б' => 'b', 'В' => 'V',
    31         'в' => 'v', 'Г' => 'H', 'г' => 'h', 'Д' => 'D', 'д' => 'd',
    32         'Е' => 'E', 'е' => 'e', 'Ж' => 'Zh', 'ж' => 'zh', 'З' => 'Z',
    33         'з' => 'z', 'И' => 'Y', 'и' => 'y', 'І' => 'I', 'і' => 'i',
    34         'Й' => 'J', 'й' => 'j', 'К' => 'K', 'к' => 'k', 'Л' => 'L',
    35         'л' => 'l', 'М' => 'M', 'м' => 'm', 'Н' => 'N', 'н' => 'n',
    36         'О' => 'O', 'о' => 'o', 'П' => 'P', 'п' => 'p', 'Р' => 'R',
    37         'р' => 'r', 'С' => 'S', 'с' => 's', 'Т' => 'T', 'т' => 't',
    38         'У' => 'U', 'у' => 'u', 'Ф' => 'F', 'ф' => 'f', 'Х' => 'Kh',
    39         'х' => 'kh', 'Ц' => 'Ts', 'ц' => 'ts', 'Ч' => 'Ch', 'ч' => 'ch',
    40         'Ш' => 'Sh', 'ш' => 'sh', 'Ґ' => 'G', 'ґ' => 'g', 'Ь' => '',
    41         'ь' => '', "'" => '',
     56        // Soft sign & obsolete characters
     57        'Ь' => '', 'ь' => '',
     58        'Ъ' => '', 'ъ' => '',
     59
     60        // Misc
     61        '№' => 'No',
     62        "'" => '',
    4263    ];
    4364
     
    6081        switch ($translation) {
    6182            case 'cyr_to_lat':
    62                 // Handle special case when certain letters appear at the beginning of a word
    63                 $content = preg_replace('/\bЄ/u', 'Ye', $content);
    64                 $content = preg_replace('/\bє/u', 'ye', $content);
    65                 $content = preg_replace('/\bЇ/u', 'Yi', $content);
    66                 $content = preg_replace('/\bї/u', 'yi', $content);
    67                 $content = preg_replace('/\bЮ/u', 'Yu', $content);
    68                 $content = preg_replace('/\bю/u', 'yu', $content);
    69                 $content = preg_replace('/\bЯ/u', 'Ya', $content);
    70                 $content = preg_replace('/\bя/u', 'ya', $content);
    71                 $content = preg_replace('/\bЙ/u', 'Y', $content);
    72                 $content = preg_replace('/\bй/u', 'y', $content);
    73                 return strtr($content, $map);
     83                // Special beginning-of-word replacements
     84                $content = preg_replace(
     85                    ['/\bЄ/u', '/\bє/u', '/\bЇ/u', '/\bї/u', '/\bЮ/u', '/\bю/u', '/\bЯ/u', '/\bя/u'],
     86                    ['Ye',     'ye',     'Yi',     'yi',     'Yu',     'yu',     'Ya',     'ya'],
     87                    $content
     88                );
     89
     90                return apply_filters('rstr/inc/transliteration/uk/cyr_to_lat', strtr($content, $map));
    7491
    7592            case 'lat_to_cyr':
    7693                $reverse = array_filter($map, static fn($v) => $v !== '');
    77                 $reverse = array_merge([
     94                $reverse = array_flip($reverse);
     95
     96                // Override with digraphs and complex letters
     97                $custom = [
    7898                    'ZGH' => 'ЗГ', 'Zgh' => 'Зг', 'zgh' => 'зг',
    7999                    'SHCH' => 'Щ', 'Shch' => 'Щ', 'shch' => 'щ',
     
    81101                    'YI' => 'Ї', 'Yi' => 'Ї', 'yi' => 'ї',
    82102                    'YU' => 'Ю', 'Yu' => 'Ю', 'yu' => 'ю',
    83                     'IA' => 'Я', 'Ia' => 'Я', 'ia' => 'я',
    84                     'IE' => 'Є', 'Ie' => 'Є', 'ie' => 'є',
    85                     'IU' => 'Ю', 'Iu' => 'Ю', 'iu' => 'ю',
    86103                    'YA' => 'Я', 'Ya' => 'Я', 'ya' => 'я',
    87104                    'KH' => 'Х', 'Kh' => 'Х', 'kh' => 'х',
     
    90107                    'SH' => 'Ш', 'Sh' => 'Ш', 'sh' => 'ш',
    91108                    'ZH' => 'Ж', 'Zh' => 'Ж', 'zh' => 'ж',
    92                 ], array_flip($reverse));
     109                ];
    93110
    94                 uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a)); // prioritize longer keys
     111                $reverse = array_merge($custom, $reverse);
    95112
    96                 // Handle special cases for letters at the beginning of words
    97                 $content = preg_replace('/\bYe/u', 'Є', $content);
    98                 $content = preg_replace('/\bye/u', 'є', $content);
    99                 $content = preg_replace('/\bYi/u', 'Ї', $content);
    100                 $content = preg_replace('/\byi/u', 'ї', $content);
    101                 $content = preg_replace('/\bYu/u', 'Ю', $content);
    102                 $content = preg_replace('/\byu/u', 'ю', $content);
    103                 $content = preg_replace('/\bYa/u', 'Я', $content);
    104                 $content = preg_replace('/\bya/u', 'я', $content);
    105                 $content = preg_replace('/\bY/u', 'Й', $content);
    106                 $content = preg_replace('/\by/u', 'й', $content);
     113                // Sort by descending length of key for longest match first
     114                uksort($reverse, static fn($a, $b) => strlen($b) <=> strlen($a));
    107115
    108                 $output = $content;
    109                 foreach ($reverse as $latin => $cyrillic) {
    110                     $output = str_replace($latin, $cyrillic, $output);
    111                 }
     116                // Word-initial Latin sequences
     117                $initial_lat = [
     118                    '/\bYe/u' => 'Є', '/\bye/u' => 'є',
     119                    '/\bYi/u' => 'Ї', '/\byi/u' => 'ї',
     120                    '/\bYu/u' => 'Ю', '/\byu/u' => 'ю',
     121                    '/\bYa/u' => 'Я', '/\bya/u' => 'я',
     122                    '/\bY/u'  => 'Й', '/\by/u'  => 'й',
     123                ];
     124                $content = preg_replace(array_keys($initial_lat), array_values($initial_lat), $content);
     125
     126                $output = str_replace(array_keys($reverse), array_values($reverse), $content);
    112127
    113128                return apply_filters('rstr/inc/transliteration/uk/lat_to_cyr', $output);
  • serbian-transliteration/trunk/classes/maps/uz_UZ.php

    r3307894 r3328833  
    66
    77/**
    8  * Uzbek transliteration
     8 * Uzbek (uz_UZ) transliteration
    99 *
    1010 * @link              http://infinitumform.com/
    1111 * @since             1.12.1
    1212 * @package           Serbian_Transliteration
    13  *
    1413 */
    15 
    1614class Transliteration_Map_uz_UZ
    1715{
     
    2321        'Ф' => 'F', 'ф' => 'f',
    2422        'Г' => 'G', 'г' => 'g',
     23        'Ғ' => 'G‘', 'ғ' => 'g‘',
    2524        'Ҳ' => 'H', 'ҳ' => 'h',
    2625        'И' => 'I', 'и' => 'i',
    2726        'Й' => 'Y', 'й' => 'y',
     27        'Ж' => 'Zh', 'ж' => 'zh',
    2828        'К' => 'K', 'к' => 'k',
     29        'Қ' => 'Q', 'қ' => 'q',
    2930        'Л' => 'L', 'л' => 'l',
    3031        'М' => 'M', 'м' => 'm',
    3132        'Н' => 'N', 'н' => 'n',
    3233        'О' => 'O', 'о' => 'o',
     34        'Ў' => 'O‘', 'ў' => 'o‘',
    3335        'П' => 'P', 'п' => 'p',
    34         'Қ' => 'Q', 'қ' => 'q',
    3536        'Р' => 'R', 'р' => 'r',
    3637        'С' => 'S', 'с' => 's',
    3738        'Т' => 'T', 'т' => 't',
    3839        'У' => 'U', 'у' => 'u',
    39         'Ў' => 'O‘', 'ў' => 'o‘',
    4040        'В' => 'V', 'в' => 'v',
    4141        'Х' => 'X', 'х' => 'x',
    42         'Ъ' => '',
    43         'Ь' => '',
    44         'Ц' => 'S', 'ц' => 's',
     42        'Ц' => 'Ts', 'ц' => 'ts',
    4543        'Ч' => 'Ch', 'ч' => 'ch',
    4644        'Ш' => 'Sh', 'ш' => 'sh',
    4745        'Щ' => 'Shch', 'щ' => 'shch',
     46        'Ъ' => 'ʼ', 'ъ' => 'ʼ',
     47        'Ь' => 'ʼ', 'ь' => 'ʼ',
    4848        'Э' => 'E', 'э' => 'e',
    4949        'Ю' => 'Yu', 'ю' => 'yu',
    5050        'Я' => 'Ya', 'я' => 'ya',
    51         'Ғ' => 'G‘', 'ғ' => 'g‘',
    52         'Ж' => 'Zh', 'ж' => 'zh',
    5351        'З' => 'Z', 'з' => 'z',
    5452    ];
     
    6361    public static function transliterate($content, $translation = 'cyr_to_lat')
    6462    {
    65         if (is_array($content) || is_object($content) || is_numeric($content) || is_bool($content)) {
     63        if (!is_string($content)) {
    6664            return $content;
    6765        }
    6866
    69         $transliteration = apply_filters('transliteration_map_uz_UZ', self::$map);
    70         $transliteration = apply_filters_deprecated('rstr/inc/transliteration/uz_UZ', [$transliteration], '2.0.0', 'transliteration_map_uz_UZ');
     67        $map = apply_filters('transliteration_map_uz_UZ', self::$map);
     68        $map = apply_filters_deprecated('rstr/inc/transliteration/uz_UZ', [$map], '2.0.0', 'transliteration_map_uz_UZ');
    7169
    7270        switch ($translation) {
    7371            case 'cyr_to_lat':
    74                 return strtr($content, $transliteration);
     72                return strtr($content, $map);
    7573
    7674            case 'lat_to_cyr':
    77                 $transliteration = array_flip($transliteration);
    78                 $transliteration = array_filter($transliteration, fn ($t): bool => $t != '');
    79                 $transliteration = array_merge([
    80                     'SHCH' => 'Щ', 'shch' => 'щ',
    81                     'GH'   => 'Ғ', 'gh' => 'ғ',
    82                     'YO'   => 'Ё', 'yo' => 'ё',
    83                     'ZH'   => 'Ж', 'zh' => 'ж',
    84                     'NG'   => 'Ң', 'ng' => 'ң',
    85                     'KH'   => 'Х', 'kh' => 'х',
    86                     'SH'   => 'Ш', 'sh' => 'ш',
    87                     'YA'   => 'Я', 'ya' => 'я',
    88                     'YU'   => 'Ю', 'yu' => 'ю',
    89                     'CH'   => 'Ч', 'ch' => 'ч',
    90                     'TS'   => 'Ц', 'ts' => 'ц',
    91                     'J'    => 'Й', 'j' => 'й',
    92                     'I'    => 'И', 'i' => 'и',
    93                 ], $transliteration);
    94                 $transliteration = apply_filters('rstr/inc/transliteration/uz_UZ/lat_to_cyr', $transliteration);
    95                 return strtr($content, $transliteration);
     75                $reverse = array_flip(array_filter($map, fn($v) => $v !== ''));
     76                $custom = [
     77                    'Shch' => 'Щ', 'shch' => 'щ',
     78                    'G‘' => 'Ғ', 'g‘' => 'ғ',
     79                    'O‘' => 'Ў', 'o‘' => 'ў',
     80                    'Zh' => 'Ж', 'zh' => 'ж',
     81                    'Ch' => 'Ч', 'ch' => 'ч',
     82                    'Sh' => 'Ш', 'sh' => 'ш',
     83                    'Ts' => 'Ц', 'ts' => 'ц',
     84                    'Yu' => 'Ю', 'yu' => 'ю',
     85                    'Ya' => 'Я', 'ya' => 'я',
     86                    'X' => 'Х', 'x' => 'х',
     87                ];
     88                $reverse = array_merge($custom, $reverse);
     89                uksort($reverse, fn($a, $b) => strlen($b) <=> strlen($a));
     90                $reverse = apply_filters('rstr/inc/transliteration/uz_UZ/lat_to_cyr', $reverse);
     91                return str_replace(array_keys($reverse), array_values($reverse), $content);
     92
     93            default:
     94                return $content;
    9695        }
    97 
    98         return $content;
    9996    }
    10097}
  • serbian-transliteration/trunk/classes/mode.php

    r3307894 r3328833  
    8383        if (empty($this->mode) && ($mode_class = $this->mode())) {
    8484            $this->mode = $mode_class::get();
     85           
     86            // Include buffer
     87            Transliteration_Controller::get()->init_output_buffer();
    8588        }
    8689    }
  • serbian-transliteration/trunk/languages/serbian-transliteration-hr.l10n.php

    r3270599 r3328833  
    11<?php
    2 // generated by Poedit from serbian-transliteration-hr.po, do not edit directly 
    3 return ['domain'=>NULL,'plural-forms'=>'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);','language'=>'hr','pot-creation-date'=>'2025-04-10 18:27+0200','po-revision-date'=>'2025-04-10 18:29+0200','translation-revision-date'=>'2025-04-10 18:29+0200','project-id-version'=>'Serbian Transliteration','x-generator'=>'Poedit 3.6','messages'=>['undefined'=>'nedefinisano','Freelance Jobs - Find or post freelance jobs'=>'Freelance poslovi - Pronađi ili objavi freelance poslove','Contra Team - A complete hosting solution in one place'=>'Contra Team - Kompletno rješenje za hosting na jednom mjestu','Transliteration'=>'Transliteracija','Latin'=>'Latinski','Cyrillic'=>'Ćirilica','Help'=>'Pomoć','To insert language script selector just add a relative link after the link\'s keyword, example :'=>'Da biste umetnuli birač jezične skripte, dodajte relativnu vezu nakon ključne riječi veze, primjer:','You can also use'=>'Također možete koristiti','for change to Latin or use'=>'za promjenu u latinski jezik ili','for change to Cyrillic'=>'za promjenu u ćirilicu','Add to Menu'=>'Dodaj u izbornik','The name of this navigation is written by always putting the Latin name first, then the Cyrillic one second, separated by the sign %s'=>'Naziv ove navigacije zapisuje se tako da se na prvo mjesto uvijek stavlja latinsko ime, a zatim ćirilica na drugo, odvojeno znakom %s','Example: Latinica | Ћирилица'=>'Primjer: Latinica | Ћирилица','Note that the white space around them will be cleared.'=>'Imajte na umu da će se razmak oko njih očistiti.','You have been using <b> %1$s </b> plugin for a while. We hope you liked it!'=>'Već neko vrijeme upotrebljavate plugin <b>%1$s</b>. Nadamo se da vam se svidio!','Please give us a quick rating, it works as a boost for us to keep working on the plugin!'=>'Molimo dajte nam brzu ocjenu, to nam djeluje kao poticaj za nastavak rada na dodatku!','Rate Now!'=>'Ocijeni sada!','I\'ve already done that!'=>'To sam već učinio!','Hey there! It\'s been a while since you\'ve been using the <b> %1$s </b> plugin'=>'Bok! Prošlo je dosta vremena otkako koristie dodatak za <b>%1$s</b>','I\'m glad to hear you\'re enjoying the plugin. I\'ve put a lot of time and effort into ensuring that your website runs smoothly. If you\'re feeling generous, how about %s for my hard work? 😊'=>'Drago mi je čuti da uživaš u dodatku. Uložio sam puno vremena i truda kako bih osigurao neometano funkcioniranje vaše web stranice. Ako se osjećaš velikodušno, što kažeš %s za moj naporan rad i trud? 😊','treating me to a coffee'=>'da me častiš kavom','Or simply %s forever.'=>'Ili jednostavno %s zauvijek.','hide this message'=>'sakrij ovu poruku','Hey there! It\'s been a while since you\'ve been using the <b>%1$s</b> plugin'=>'Bok! Već neko vrijeme koristiš dodatak <b>%1$s</b>','I\'m really happy to see this plugin being useful for your website. If you ever feel like giving back, here\'s one way to do it.'=>'Baš mi je drago što je ovaj dodatak koristan za tvoju stranicu. Ako ikada poželiš uzvratiti podrškom, evo jednog načina kako to možeš učiniti.','Bank account (Banca Intesa a.d. Beograd):'=>'Broj računa (Banca Intesa a.d. Beograd):','Every little bit helps, and I truly appreciate it! ❤️'=>'Svaka pomoć znači, i iskreno sam zahvalan! ❤️','Find Work or %1$s in Serbia, Bosnia, Croatia, and Beyond!'=>'Pronađi posao ili %1$s u Srbiji, Bosni, Hrvatskoj i šire!','Visit %2$s to connect with skilled professionals across the region. Whether you need a project completed or are looking for work, our platform is your gateway to successful collaboration.'=>'Posjetite %2$s kako biste se povezali s vještim profesionalcima diljem regije. Bilo da trebate dovršen projekt ili tražite posao, naša platforma je vaš put do uspješne suradnje.','Hire Top Freelancers'=>'angažiraj vrhunske freelancere','Freelance Jobs'=>'Freelance poslovi','Join us today!'=>'Pridruži nam se danas!','This plugin uses cookies and should be listed in your Privacy Policy page to prevent privacy issues.'=>'Ovaj dodatak koristi kolačiće i trebao bi biti naveden na stranici s pravilima o privatnosti kako bi se spriječili problemi s privatnošću.','Suggested text:'=>'Predloženi tekst:','This website uses the %1$s plugin to transliterate content.'=>'Ova web stranica koristi dodatak %1$s za transliteraciju sadržaja.','This is a simple and easy add-on with which this website translates content from Cyrillic to Latin and vice versa. This transliteration plugin also supports special shortcodes and functions that use cookies to specify the language script.'=>'Ovo je jednostavan i lagan dodatak s kojim ova web stranica prevodi sadržaj s ćirilice na latinicu i obrnuto. Ovaj dodatak za transliteraciju također podržava posebne kratke kodove i funkcije koje koriste kolačiće za određivanje jezične skripte.','These cookies do not affect your privacy because they are not intended for tracking and analytics. These cookies can have only two values: "%1$s" or "%2$s".'=>'Ovi kolačići ne utječu na vašu privatnost jer nisu namijenjeni praćenju i analizi. Ovi kolačići mogu imati samo dvije vrijednosti: "%1$s" ili "%2$s".','Important upgrade notice for the version %s:'=>'Važna obavijest o nadogradnji za verziju %s:','NOTE: Before doing the update, it would be a good idea to backup your WordPress installations and settings.'=>'NAPOMENA: Prije ažuriranja bilo bi dobro napraviti sigurnosnu kopiju WordPress instalacija i postavki.','The %1$s cannot run on PHP versions older than PHP %2$s. Please contact your host and ask them to upgrade.'=>'%1$s ne može se izvoditi na PHP verzijama starijim od PHP %2$s. Molimo kontaktirajte svog administratora i zamolite ga za nadogradnju.','Transliteration plugin requires attention:'=>'Dodatak za transliteraciju zahtijeva pažnju:','Your plugin works under Only WooCoomerce mode and you need to %s because WooCommerce is no longer active.'=>'Vaš dodatak radi u načinu samo WooCoomerce i trebate %s jer WooCommerce više nije aktivan.','update your settings'=>'ažurirati svoje postavke','Transliteration plugin requires a Multibyte String PHP extension (mbstring).'=>'Dodatak za transliteraciju zahtijeva Multibyte String PHP ekstenziju (mbstring).','Without %s you will not be able to use this plugin.'=>'Bez %s nećete moći koristiti ovaj dodatak.','Multibyte String Installation'=>'Multibyte String Instalacija','this PHP extension'=>'ove PHP ekstenzije','The %1$s cannot run on WordPress versions older than %2$s. Please update your WordPress installation.'=>'%1$s ne može se izvoditi na WordPress verzijama starijim od %2$s. Ažurirajte svoju WordPress instalaciju.','Global Settings'=>'Globalne postavke','My site is'=>'Moja stranica je','Transliteration Mode'=>'Način transliteracije','First visit mode'=>'Način prve posjete','Language scheme'=>'Jezična shema','Plugin Mode'=>'Mod plugina','Force transliteration permalinks to latin'=>'Prisiliti transliteraciju permalinki na latinicu','Filters'=>'Filteri','Transliteration Filters'=>'Filteri za transliteraciju','Exclude Latin words that you do not want to be transliterated to the Cyrillic.'=>'Isključite latinične riječi za koje ne želite da se transliteriraju u ćirilicu.','Exclude Cyrillic words that you do not want to be transliterated to the Latin.'=>'Izuzmite ćirilične riječi za koje ne želite da se transliteriraju u latinicu.','Special Settings'=>'Posebne postavke','Enable cache support'=>'Omogućite podršku za predmemoriju','Force widget transliteration'=>'Prisilna transliteracija widgeta','Force e-mail transliteration'=>'Prisilna transliteracija e-pošte','Force transliteration for WordPress REST API'=>'Prisilite transliteraciju za WordPress REST API pozive','Force transliteration for AJAX calls'=>'Prisilite transliteraciju za AJAX pozive','EXPERIMENTAL'=>'EKSPERIMENTALNO','WP Admin'=>'WP Admin','WP-Admin transliteration'=>'WP-Admin transliteracija','Allow Cyrillic Usernames'=>'Dopusti korisnička imena na ćirilici','Allow Admin Tools'=>'Dopusti admin alatke','Media Settings'=>'Postavke medija','Transliterate filenames to latin'=>'Transliterirajte nazive na latinicu','Filename delimiter'=>'Graničnik imena datoteke','WordPress Search'=>'WordPress pretraživanje','Enable search transliteration'=>'Omogućite transliteraciju pretraživanja','Fix Diacritics'=>'Popravite dijakritiku','Search Mode'=>'Način pretraživanja','SEO Settings'=>'SEO postavke','Parameter URL selector'=>'Birač URL-a parametra','RSS transliteration'=>'RSS transliteracija','Exclusion'=>'Izuzimanje','Language: %s'=>'Jezik: %s','Misc.'=>'Razno','Enable body class'=>'Omogući body klasu','Theme Support'=>'Podrška za šablone','Light Up Our Day!'=>'Osvijetlite naš dan!','Contributors & Developers'=>'Suradnici i programeri','This setting determines the mode of operation for the Transliteration plugin.'=>'Ova postavka određuje način rada dodatka za transliteraciju.','Carefully choose the option that is best for your site and the plugin will automatically set everything you need for optimal performance.'=>'Pažljivo odaberite opciju koja je najbolja za vašu stranicu i dodatak će automatski postaviti sve što je potrebno za optimalne performanse.','This section contains filters for exclusions, allowing you to specify content that should be excluded from transliteration, and also includes a filter to disable certain WordPress filters related to transliteration.'=>'Ovaj odjeljak sadrži filtre za izuzeća, koji vam omogućuju da odredite sadržaj koji treba biti izuzet iz transliteracije, a također uključuje filtar za onemogućavanje određenih WordPress filtara povezanih s transliteracijom.','These are special settings that can enhance transliteration and are used only if you need them.'=>'To su posebne postavke koje mogu poboljšati transliteraciju i koriste se samo ako su vam potrebne.','These settings apply to the administrative part.'=>'Ove postavke se odnose na administrativni dio.','Upload, view and control media and files.'=>'Prenesite, pregledajte i kontrolirajte medije i datoteke.','Our plugin also has special SEO options that are very important for your project.'=>'Naš dodatak također ima posebne SEO opcije koje su vrlo važne za vaš projekt.','Within this configuration section, you have the opportunity to customize your experience by selecting the particular languages for which you wish to turn off the transliteration function. This feature is designed to give you greater control and adaptability over how the system handles transliteration, allowing you to disable it for specific languages based on your individual needs or preferences.'=>'U ovom dijelu postavki imate mogućnost prilagoditi svoje iskustvo tako da odaberete određene jezike za koje želite isključiti funkciju transliteracije. Ova značajka je dizajnirana kako bi vam pružila veću kontrolu i prilagodljivost u načinu na koji sustav rukuje transliteracijom, omogućujući vam da je isključite za određene jezike sukladno vašim osobnim potrebama ili preferencijama.','Various interesting settings that can be used in the development of your project.'=>'Razne zanimljive postavke koje se mogu koristiti u razvoju vašeg projekta.','This setting determines the search mode within the WordPress core depending on the type of language located in the database.'=>'Ova postavka određuje način pretraživanja unutar jezgre WordPress-a, ovisno o vrsti jezika koji se nalazi u bazi podataka.','The search type setting is mostly experimental and you need to test each variant so you can get the best result you need.'=>'Postavka vrste pretraživanja uglavnom je eksperimentalna i trebate testirati svaku varijantu kako biste postigli najbolji rezultat koji vam je potreban.','Arabic'=>'Arapski','Armenian'=>'Jermenski','Define whether your primary alphabet on the site is Latin or Cyrillic. If the primary alphabet is Cyrillic then choose Cyrillic. If it is Latin, then choose Latin. This option is crucial for the plugin to work properly.'=>'Odredite je li vaša primarna abeceda na web mjestu latinica ili ćirilica. Ako je primarna abeceda ćirilica, onda odaberite ćirilicu. Ako je latinski, onda odaberite latinski. Ova je opcija presudna za ispravni rad dodatka.','Define whether your primary alphabet on the site.'=>'Odredite je li vaš primarni alfabet na stranici.','Transliteration disabled'=>'Transliteracija je onemogućena','Cyrillic to Latin'=>'Ćirilica na latinicu','Latin to Cyrillic'=>'Latinica na ćirilicu','Arabic to Latin'=>'S arapskog na latinski','Latin to Arabic'=>'Latinski na arapski','Armenian to Latin'=>'Armenski na latinski','Latin to Armenian'=>'Latinski na armenski','This option determines the global transliteration of your web site. If you do not want to transliterate the entire website and use this plugin for other purposes, disable this option. This option does not affect to the functionality of short codes and tags.'=>'Ova opcija određuje globalnu transliteraciju vašeg web mjesta. Ako ne želite transliterirati cijelu web stranicu i koristiti ovaj dodatak u druge svrhe, onemogućite ovu opciju. Ova opcija ne utječe na funkcionalnost kratkih kodova i oznaka.','This option determines the type of language script that the visitors sees when they first time come to your site.'=>'Ova opcija određuje vrstu jezične skripte koju posjetitelji vide kada prvi put dođu na vašu stranicu.','Automatical'=>'Automatski','This option defines the language script. Automatic script detection is the best way but if you are using a WordPress installation in a language that does not match the scripts supported by this plugin, then choose on which script you want the transliteration to be performed.'=>'Ova opcija definira jezičnu skriptu. Najbolje je automatsko otkrivanje skripti, ali ako koristite WordPress instalaciju na jeziku koji se ne podudara sa skriptama koje podržava ovaj dodatak, odaberite na kojoj skripti želite da se izvrši transliteracija.','This option configures the operating mode of the entire plugin and affects all aspects of the site related to transliteration. Each mode has its own set of filters, which are activated based on your specific needs. It\'s important to take the time to review and customize these settings according to your preferences.'=>'Ova opcija konfigurira način rada cijelog dodatka i utječe na sve aspekte stranice povezane s transliteracijom. Svaki način rada ima svoj skup filtera, koji se aktiviraju prema vašim specifičnim potrebama. Važno je odvojiti vrijeme za pregled i prilagodbu ovih postavki u skladu s vašim preferencijama.','Forced transliteration can sometimes cause problems if Latin is translated into Cyrillic in pages and posts. To this combination must be approached experimentally.'=>'Prisilna transliteracija ponekad može stvoriti probleme ako se latinica na stranicama i u postovima prevede na ćirilicu. Ovoj se kombinaciji mora pristupiti eksperimentalno.','Exclude filters you don\'t need (optional)'=>'Izuzmite filtre koji vam nisu potrebni (opcionalno)','Select the transliteration filters you want to exclude.'=>'Odaberite filtre za transliteraciju koje želite izuzeti (isključiti).','The filters you select here will not be transliterated (these filters do not work on forced transliteration).'=>'Ovdje odabrani filtri neće biti transliterirani (ti filtri ne rade na prisilnoj transliteraciji).','TIPS & TRICKS:'=>'SAVJETI I TRIKOVI:','You can find details about some of the listed filters in this article:'=>'Pojedinosti o nekim od navedenih filtara možete pronaći u ovom članku:','Since you are already a WooCommerce user, you also can see the following documentation: %s'=>'Budući da ste već korisnik WooCommerce-a, možete vidjeti i sljedeću dokumentaciju: %s','Separate words, phrases, names and expressions with the sign %s or put it in a new row. HTML is not allowed.'=>'Odvojite riječi, fraze, imena i izraze znakom %s ili ih stavite u novi red. HTML nije dopušten.','Yes'=>'Da','No'=>'Ne','If you have a problem caching your pages, our plugin solves this problem by clearing the cache when changing the language script.'=>'Ako imate problem s predmemoriranjem stranica, naš dodatak rješava taj problem brisanjem predmemorije prilikom promjene jezične skripte.','This option forces the widget to transliterate. There may be some unusual behaviour in the rare cases.'=>'Ova opcija prisiljava widget na transliteraciju. U rijetkim slučajevima može se dogoditi neko neobično ponašanje.','Enable this feature if you want to force transliteration of email content.'=>'Omogućite ovu značajku ako želite prisiliti transliteraciju sadržaja e-pošte.','Enable this feature if you want to force transliteration of WordPress REST API calls. The WordPress REST API is also used in many AJAX calls, WooCommerce, and page builders. It is recommended to be enabled by default.'=>'Omogućite ovu funkciju ako želite prisilno provesti transliteraciju poziva WordPress REST API-ja. WordPress REST API se također koristi u mnogim AJAX pozivima, WooCommerce-u i graditeljima stranica. Preporučuje se da bude omogućeno prema zadanim postavkama.','Enable this feature if you want to force transliteration of AJAX calls. If you want to avoid transliteration of specific individual AJAX calls, you must add a new POST or GET parameter to your AJAX call: %s'=>'Omogućite ovu opciju ako želite prisiliti transliteraciju AJAX poziva. Ako želite izbjeći transliteraciju specifičnih pojedinačnih AJAX poziva, morate dodati novi POST ili GET parametar %s na svoj AJAX poziv.','Enable if you want the WP-Admin area to be transliterated.'=>'Omogućite ako želite da područje WP-Admin bude transliterirano.','Allows to create users with usernames containing Cyrillic characters.'=>'Omogućuje stvaranje korisnika s korisničkim imenima koja sadrže ćirilične znakove.','This feature enables you to easily transliterate titles and content directly within the WordPress editor. This functionality is available for various content types, including categories, pages, posts, and custom post types, ensuring a seamless experience when managing multilingual content on your site. With just a few clicks, you can switch between scripts, making your content accessible to a broader audience.'=>'Ova značajka omogućuje vam jednostavno preslovljavanje naslova i sadržaja izravno unutar WordPress editora. Ova funkcionalnost dostupna je za različite vrste sadržaja, uključujući kategorije, stranice, objave i prilagođene vrste objava, osiguravajući besprijekorno iskustvo u upravljanju višejezičnim sadržajem na vašoj stranici. Uz samo nekoliko klikova, možete mijenjati pisma, čineći vaš sadržaj dostupnim široj publici.','Enable if you want to force cyrillic permalinks to latin.'=>'Omogući ako želite prisiliti ćirilicu na latinicu za permalinkove.','Enable if you want to convert cyrillic filenames to latin.'=>'Omogući ako želite pretvoriti ćirilične datoteke u latinicu.','hyphen (default)'=>'crtica (zadano)','underscore'=>'podvlaka','dot'=>'točka','tilde'=>'tilda','vartical bar'=>'okomita traka','asterisk'=>'zvjezdica','Filename delimiter, example:'=>'Graničnik imena datoteke, primjer:','my-upload-file.jpg'=>'moj-fajl.jpg','Approve if you want transliteration for the search field.'=>'Odobrite ako želite transliteraciju za polje za pretraživanje.','Try to fix the diacritics in the search field.'=>'Pokušajte popraviti dijakritike u polju za pretraživanje.','Automatical (recommended)'=>'Automatski (preporučeno)','Based on the plugin mode'=>'Na temelju rada dodatka','The search has two working modes. Choose the one that works best with your search.'=>'Pretraživanje ima dva načina rada. Odaberite onu koja najbolje odgovara vašoj pretrazi.','(safe)'=>'(bezbjedno)','(standard)'=>'(standardan)','(optional)'=>'opcionalno','This option dictates which URL parameter will be used to change the language.'=>'Ova opcija određuje koji će se parametar URL-a koristiti za promjenu jezika.','This option transliterate the RSS feed.'=>'Ova opcija transliterira RSS feed.','Transliterate'=>'Transliteruj','Omit the transliteration'=>'Izostavi transliteraciju','This option adds CSS classes to your body HTML tag. These CSS classes vary depending on the language script.'=>'Ova opcija dodaje CSS klase u vašu HTML oznaku tijela. Te se CSS klase razlikuju ovisno o jezičnoj skripti.','Enable Theme Support'=>'Omogući podršku za teme','Disable Theme Support'=>'Onemogući podršku za teme','If you don\'t require transliteration support for your theme, you can disable it for your current theme here.'=>'Ako vam nije potrebna podrška za transliteraciju za vašu temu, možete je onemogućiti za svoju trenutnu temu ovdje.','This mode has no filters.'=>'Ovaj način rada nema filtera.','When you find a tool that fits your needs perfectly, and it\'s free, it’s something special. That’s exactly what my plugin is – free, but crafted with love and dedication. To ensure the continued development and improvement of the Transliterator plugin, I have established a foundation to support its future growth.'=>'Kada pronađete alat koji savršeno odgovara vašim potrebama, a uz to je besplatan, to je zaista nešto posebno. Upravo takav je i moj dodatak – besplatan, ali izrađen s ljubavlju i posvećenošću. Kako bismo osigurali daljnji razvoj i unapređenje Transliterator dodatka, osnovao sam fondaciju za njegovu buduću podršku.','Your support for this project is not just an investment in the tool you use, but also a contribution to the community that relies on it. If you’d like to support the development and enable new features, you can do so through donations:'=>'Vaša podrška ovom projektu nije samo ulaganje u alat koji koristite, već i doprinos zajednici koja o njemu ovisi. Ako želite podržati razvoj i omogućiti nove značajke, možete to učiniti putem donacija:','Banca Intesa a.d. Beograd'=>'Banca Intesa a.d. Beograd','Every donation, no matter the amount, directly supports the ongoing work on the plugin and allows me to continue innovating. Thank you for supporting this project and being part of a community that believes in its importance.'=>'Svaka donacija, bez obzira na iznos, izravno podržava daljnji rad na dodatku i omogućuje mi nastavak inovacija. Hvala vam što podržavate ovaj projekt i što ste dio zajednice koja vjeruje u njegovu važnost.','With love,'=>'S ljubavlju,','If you want to support our work and effort, if you have new ideas or want to improve the existing code, %s.'=>'Ako želite podržati naš rad i trud, ako imate nove ideje ili želite poboljšati postojeći kôd, %s.','join our team'=>'pridružite se našem timu','Settings saved.'=>'Postavke spremljene.','Settings'=>'Postavke','Shortcodes'=>'Rezervirano mjesto','PHP Functions'=>'PHP Funkcije','5 stars?'=>'5 zvjezdica?','Transliteration Settings'=>'Transliteracije - Postavka','To Latin'=>'U latinicu','To Cyrillic'=>'U ćirilicu','Transliterate:'=>'Transliteruj:','Loading...'=>'Učitavanje...','Please wait! Do not close the window or leave the page until this operation is completed!'=>'Molimo pričekajte! Nemojte zatvarati prozor ili napuštati stranicu dok se ova operacija ne dovrši!','DONE!!!'=>'GOTOVO !!!','PLEASE UPDATE PLUGIN SETTINGS'=>'MOLIMO AŽURIRATI POSTAVKE PLUGINA','Carefully review the transliteration plugin settings and adjust how it fits your WordPress installation. It is important that every time you change the settings, you test the parts of the site that are affected by this plugin.'=>'Pažljivo pregledajte postavke dodatka za transliteraciju i prilagodite kako odgovara vašoj instalaciji WordPressa. Važno je da svaki put kada promijenite postavke testirate dijelove web mjesta na koje ovaj dodatak utječe.','Tags'=>'Oznake','Transliteration Tool'=>'Alat za transliteraciju','Permalink Tool'=>'Alat za trajnu vezu (permalink)','General Settings'=>'Opće postavke','Documentation'=>'Dokumentacija','Tools'=>'Alati','Debug'=>'Otkloniti neispravnost','Credits'=>'Zasluge','Save Changes'=>'Spremi promjene','Available shortcodes'=>'Dostupni kratki kodovi','Available PHP Functions'=>'Dostupne PHP funkcije','Available Tags'=>'Dostupni tagovi','Converter for transliterating Cyrillic into Latin and vice versa'=>'Pretvarač za transliteraciju ćirilice u latinicu i obrnuto','Permalink Transliteration Tool'=>'Alat za transliteraciju trajne veze','Debug information'=>'Informacije o ispravci pogrešaka','WordPress Transliterator'=>'WordPress Transliteracija','Quick Access:'=>'Brzi pristup:','Rate us'=>'Ocijeni nas','Current Settings:'=>'Trenutne postavke:','Transliteration Mode:'=>'Način transliteracije:','Cache Support:'=>'Podrška za keširanje:','Media Transliteration:'=>'Transliteracija medija:','Permalink Transliteration:'=>'Transliteraciju trajnih veza:','Transliterator plugin options are not yet available. Please update plugin settings!'=>'Opcije Transliterator dodatka još nisu dostupne. Molimo vas da ažurirate postavke dodatka!','Recommendations:'=>'Preporuke:','Explore these recommended tools and resources that complement our plugin.'=>'Istražite ove preporučene alate i resurse koji upotpunjuju naš dodatak.','Donations'=>'Donacije','This plugin is 100% free. If you want to buy us one coffee, beer or in general help the development of this plugin through a monetary donation, you can do it in the following ways:'=>'Ovaj dodatak je 100% besplatan. Ako nam želite kupiti jednu kavu, pivo ili općenito pomoći razvoju ovog dodatka kroz novčanu donaciju, to možete učiniti na sljedeće načine:','From Serbia'=>'Iz Srbije','This is a light weight, simple and easy plugin with which you can transliterate your WordPress installation from Cyrillic to Latin and vice versa in a few clicks. This transliteration plugin also supports special shortcodes that you can use to partially transliterate parts of the content.'=>'Ovo je jednostavan i lagan dodatak pomoću kojeg možete u nekoliko klikova transliterirati svoju WordPress instalaciju s ćirilice na latinicu i obrnuto. Ovaj dodatak za transliteraciju također podržava posebne kratke kodove pomoću kojih možete djelomično transliterirati dijelove sadržaja.','Sponsors of this plugin:'=>'Sponzori ovog dodatka:','If you want to help develop this plugin and be one of the sponsors, please contact us at: %s'=>'Ako želite pomoći u razvoju ovog dodatka i biti jedan od sponzora, kontaktirajte nas na: %s','Special thanks to the contributors in the development of this plugin:'=>'Posebna zahvalnost suradnicima u razvoju ovog dodatka:','Copyright'=>'Autorska prava','Copyright &copy; 2020 - %1$d %2$s by %3$s. All Right Reserved.'=>'Autorska prava &copy; 2020 - %1$d %2$s od %3$s. Sva prava pridržana.','Transliterator – WordPress Transliteration'=>'Transliteracija - WordPress transliteracija','This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.'=>'Ovaj program je besplatan softver; možete ga distribuirati i/ili modificirati pod uvjetima GNU General Public License koju je objavila Zaklada za slobodni softver; bilo verziju 2 Licence, bilo (po vašoj želji) bilo koju kasniju verziju.','This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'=>'Ovaj se program distribuira u nadi da će biti koristan, ali BEZ BILO KOJE GARANCIJE; bez čak i podrazumijevanog jamstva PRODAJLJIVOSTI ISPOSOBNOSTI ZA ODREĐENU SVRHU.','See the GNU General Public License for more details.'=>'Pogledajte GNU General Public License za više detalja.','You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.'=>'Trebali ste dobiti kopiju GNU General Public License zajedno s ovim programom; ako ne, pišite Free Software Foundation, Inc., Franklin Street 51, Fifth Floor, Boston, MA 02110-1301, USA.','Plugin ID'=>'ID dodatka','Plugin version'=>'Verzija dodatka','WordPress version'=>'Sajt verzija meta tag','Last plugin update'=>'Zadnje ažuriranje dodatka','PHP version'=>'PHP verzija','PHP version ID'=>'PHP ID verzije','PHP architecture'=>'PHP arhitektura','%d bit'=>'%d bit','WordPress debug'=>'WordPress ispravka grešaka','On'=>'Uključeno','Off'=>'Isključeno','WordPress multisite'=>'WordPress multi sajt','WooCommerce active'=>'WooCommerce je aktivan','WooCommerce version'=>'WooCommerce verzija','Site title'=>'Poruka dobrodošlice','Tagline'=>'Slogan','WordPress address (URL)'=>'WordPress URL adresa','Admin email'=>'Email administratora','Encoding for pages and feeds'=>'Kodiranje za stranice i sažetke sadržaja','Content-Type'=>'Vrsta sadržaja','Site Language'=>'Jezik web-mjesta','Server time'=>'Vrijeme poslužitelja','WordPress directory path'=>'Put direktorija WordPress-a','Operting system'=>'Operacijski sustav','User agent'=>'Korisnički agent','Plugin directory path'=>'Put direktorija dodatka','Plugin settings'=>'Postavke dodatka','Option name'=>'Ime opcije','Value'=>'Vrijednost','Key'=>'Ključ','These are available PHP functions that you can use in your themes and plugins.'=>'Ovo su dostupne PHP funkcije koje možete koristiti u svojim temama i dodacima.','Determines whether the site is already in Cyrillic.'=>'Određuje je li stranica već na ćirilicu.','This function provides information on whether the currently active language is excluded from transliteration.'=>'Ova funkcija pruža informacije o tome je li trenutno aktivni jezik izuzet iz transliteracije.','Transliteration of some text or content into the desired script.'=>'Transliteracija nekog teksta ili sadržaja u željenu skriptu.','The <b><i>$type</i></b> parameter has two values: <code>cyr_to_lat</code> (Cyrillic to Latin) and <code>lat_to_cyr</code> (Latin to Cyrillic)'=>'Parametar <b><i>$type</i></b> ima dvije vrijednosti: <code>cyr_to_lat</code> (ćirilica na latinski) i <code>lat_to_cyr</code> (latinica na ćirilicu)','Transliteration from Cyrillic to Latin.'=>'Transliteracija s ćirilice na latinicu.','Transliteration from Latin to Cyrillic.'=>'Transliteracija s latinice na ćirilicu.','Transliterates Cyrillic characters to Latin, converting them to their basic ASCII equivalents by removing diacritics.'=>'Transliterira ćirilične znakove u latinicu, pretvarajući ih u njihove osnovne ASCII ekvivalente uklanjanjem dijakritičkih znakova.','Get active script.'=>'Uzmite aktivnu skriptu.','This function displays a selector for the transliteration script.'=>'Ova funkcija prikazuje odabirač za skriptu transliteracije.','Parameters'=>'Parametri','This attribute contains an associative set of parameters for this function:'=>'Ovaj atribut sadrži asocijativni skup parametara za ovu funkciju:','(string) The type of selector that will be displayed on the site. It can be: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Default: %1$s'=>'(string) Vrsta odabirača koja će se prikazati na web-mjestu. Može biti: %1$s, %2$s, %3$s, %4$s, %5$s ili %6$s. Zadano: %1$s','(bool) determines whether it will be displayed through an echo or as a string. Default: %s'=>'(bool) određuje hoće li se prikazati kroz echo ili kao niz. Zadano: %s','(string) Separator to be used when the selector type is %s. Default: %s'=>'(string) Razdjelnik koji će se koristiti kada je vrsta odabirača %s. Zadano: %s','(string) Text for Cyrillic link. Default: %s'=>'(string) Tekst za ćirilični link. Zadano: %s','(string) Text for Latin link. Default: %s'=>'(string) Tekst za latiničnog linka. Zadano: %s','This tool enables you to convert all existing Cyrillic permalinks in your database to Latin characters.'=>'Ovaj alat omogućuje vam da pretvorite sve postojeće ćirilične permalinke u vašoj bazi podataka u latinična slova.','Warning:'=>'Upozorenje:','This option is dangerous and can create unexpected problems. Once you run this script, all permalinks in your database will be modified and this can affect on the SEO causing a 404 error.'=>'Ova je opcija opasna i može stvoriti neočekivane probleme. Jednom kada pokrenete ovu skriptu, sve trajne veze u vašoj bazi podataka bit će izmijenjene, a to može utjecati na SEO što uzrokuje pogrešku 404.','Before proceeding, consult with your SEO specialist, as you will likely need to resubmit your sitemap and adjust other settings to update the permalinks in search engines.'=>'Prije nego što nastavite, konzultirajte se sa svojim SEO stručnjakom, jer ćete vjerojatno trebati ponovno poslati svoju mapu sajta i prilagoditi ostale postavke kako biste ažurirali permalinke u tražilicama.','For advanced users, this function can also be executed via WP-CLI using the command'=>'Za napredne korisnike, ova funkcija se također može izvršiti putem WP-CLI koristeći naredbu','Important: Make sure to %s before running this script.'=>'Važno: Provjerite da ste %s prije nego što pokrenete ovaj skript.','back up your database'=>'napravite sigurnosnu kopiju svoje baze podataka','This tool will affect on the following post types: %s'=>'Ovaj će alat utjecati na sljedeće vrste postova: %s','Let\'s do magic'=>'Napravimo magiju','Are you sure you want this?'=>'Jeste li sigurni da ovo želite?','Disclaimer'=>'Odricanje od odgovornosti','While this tool is designed to operate safely, there is always a small risk of unpredictable issues.'=>'Iako je ovaj alat dizajniran da radi sigurno, uvijek postoji mali rizik od nepredvidivih problema.','Note: We do not guarantee that this tool will function correctly on your server. By using it, you assume all risks and responsibilities for any potential issues.'=>'Napomena: Ne jamčimo da će ovaj alat ispravno funkcionirati na vašem serveru. Korištenjem ovog alata preuzimate sve rizike i odgovornosti za eventualne probleme.','Backup your database before using this tool.'=>'Napravite sigurnosnu kopiju svoje baze podataka prije korištenja ovog alata.','These are available shortcodes that you can use in your content, visual editors, themes and plugins.'=>'Ovo su dostupni kratki kodovi koje možete koristiti u svom sadržaju, vizualnim uređivačima, temama i dodacima.','Skip transliteration'=>'Izbegni transliteraciju','Keep this original'=>'Zadržite ovo kao original','(optional) correct HTML code.'=>'(nije obavezno) ispravni HTML kôd.','Optional shortcode parameters'=>'Neobavezni parametri kratkog koda','(optional) correct diacritics.'=>'(nije obavezno) ispravni dijakritički znakovi.','Add an image depending on the language script'=>'Dodavanje slike ovisno o jezičnoj skripti','With this shortcode you can manipulate images and display images in Latin or Cyrillic depending on the setup.'=>'S ovim kratkim kodom možete manipulirati slikama i prikazati slike na latinskom ili ćirilici ovisno o postavljanju.','Example'=>'Primjer','Main shortcode parameters'=>'Glavni parametri kratkog koda','URL (src) as shown in the Latin language'=>'URL (src) kako je prikazano na latinskom jeziku','URL (src) as shown in the Cyrillic language'=>'URL (src) kako je prikazano na ćiriličnom jeziku','(optional) URL (src) to the default image if Latin and Cyrillic are unavailable'=>'(neobavezno) URL (src) na zadanu sliku ako su latinica i ćirilica nedostupni','(optional) title (alt) description of the image for Cyrillic'=>'(neobavezno) naslov (alt) slike za ćirilicu','(optional) caption description of the image for Cyrillic'=>'(neobavezno) opis slike za ćirilicu','(optional) title (alt) description of the image for Latin'=>'(neobavezno) naslov (alt) slike za latinski','(optional) caption description of the image for Latin'=>'(neobavezno) opis slike za latinski','(optional) title (alt) description of the image if Latin and Cyrillic are unavailable'=>'(neobavezno) naslov (alt) slike ako su latinica i ćirilica nedostupni','(optional) caption description of the imag if Latin and Cyrillic are unavailable'=>'(neobavezno) opis slike ako su latinica i ćirilica nedostupni','Shortcode return'=>'Povrat kratkog koda','HTML image corresponding to the parameters set in this shortcode.'=>'HTML slika koja odgovara parametrima postavljenim u ovom kratkom kodu.','Language script menu'=>'Izbornik skripte jezika','This shortcode displays a selector for the transliteration script.'=>'Ovaj kratki kod prikazuje izbornik za skriptu transliteracije.','(string) The type of selector that will be displayed on the site. It can be: "%1$s", "%2$s", "%3$s" or "%4$s"'=>'(string) Vrsta izbornika koja će se prikazati na web-mjestu. Može biti: "%1$s", "%2$s", "%3$s" ili "%4$s"','(string) Text for Cyrillic link. Default: Cyrillic'=>'(string) Tekst za ćirilični link. Zadano: ćirilica','(string) Text for Latin link. Default: Latin'=>'(string) Tekst za latiničnog linka. Zadano: latinski','This shortcodes work independently of the plugin settings and can be used anywhere within WordPress pages, posts, taxonomies and widgets (if they support it).'=>'Ovi kratki kodovi rade neovisno o postavkama dodatka i mogu se koristiti bilo gdje unutar WordPress stranica, postova, taksonomija i widgeta (ako ih podržavaju).','These tags have a special purpose and work separately from short codes and can be used in fields where short codes cannot be used.'=>'Tovi tagovi imaju posebnu namjenu i rade odvojeno od kratkih kodova i mogu se koristiti u poljima u kojima se kratki kodovi ne mogu koristiti.','These tags have no additional settings and can be applied in plugins, themes, widgets and within other short codes.'=>'Tovi tagovi nemaju dodatne postavke i mogu se primijeniti na dodatke, teme, widgete i unutar drugih kratkih kodova.','Copy the desired text into one field and press the desired key to convert the text.'=>'Kopirajte željeni tekst u jedno polje i pritisnite željenu tipku za pretvorbu teksta.','Convert to Latin'=>'Pretvori u latinski','Convert to Cyrillic'=>'Pretvori u ćirilicu','Reset'=>'Očisti sve','The %1$s shortcode has been deprecated as of version %2$s. Please update your content and use the new %3$s shortcode.'=>'Šortkod %1$s je zastario od verzije %2$s. Molimo vas da ažurirate svoj sadržaj i koristite novi šortkod %3$s.','Transliteration shortcode does not have adequate parameters and translation is not possible. Please check the documentation.'=>'Kratki kôd transliteracije nema odgovarajuće parametre i prijevod nije moguć. Molimo provjerite dokumentaciju.','An error occurred while converting. Please refresh the page and try again.'=>'Došlo je do pogreške tijekom pretvorbe. Osvježite stranicu i pokušajte ponovo.','The field is empty.'=>'Polje je prazno.','There was a communication problem. Please refresh the page and try again. If this does not solve the problem, contact the author of the plugin.'=>'Došlo je do problema u komunikaciji. Osvježite stranicu i pokušajte ponovo. Ako ovo ne riješi problem, obratite se autoru dodatka.','Serbian'=>'Srpski','Bosnian'=>'Bosanski','Montenegrin'=>'Crnogorski','Russian'=>'Ruski','Belarusian'=>'Beloruski','Bulgarian'=>'Bugarski','Macedoanian'=>'Makedonski','Ukrainian'=>'Ukrajinski','Kazakh'=>'Kazahstanski','Tajik'=>'Tadžički','Kyrgyz'=>'Kirgistanski','Mongolian'=>'Mongolski','Bashkir'=>'Baškirski','Uzbek'=>'Uzbečki','Georgian'=>'Gruzijski','Greek'=>'Grčki','Phantom Mode (ultra fast DOM-based transliteration, experimental)'=>'Phantom Mode (ultra brza transliteracija temeljena na DOM-u, eksperimentalna)','Light mode (basic parts of the site)'=>'Lagani način rada (osnovni dijelovi stranice)','Standard mode (content, themes, plugins, translations, menu)'=>'Standardni način rada (sadržaj, teme, dodaci, prijevodi, izbornik)','Advanced mode (content, widgets, themes, plugins, translations, menu, permalinks, media)'=>'Napredna transliteracija (sadržaj, widgeti, teme, dodaci, prijevodi, izbornik, stalne veze, mediji)','Forced transliteration (everything)'=>'Prisilna transliteracija (sve)','Only WooCommerce (It bypasses all other transliterations and focuses only on WooCommerce)'=>'Samo WooCommerce (zaobilazi sve ostale transliteracije i fokusira se samo na WooCommerce)','Dev Mode (Only for developers and testers)'=>'Dev Mode (samo za programere i testere)','Failed to delete plugin translation: %s'=>'Nije uspjelo brisanje prijevoda dodatka: %s','Please wait! Do not close the terminal or terminate the script until this operation is completed!'=>'Molimo pričekajte! Ne zatvarajte terminal niti prekidajte skriptu dok se ova operacija ne završi!','Progress:'=>'Napredak:','Updated page ID %1$d, (%2$s) at URL: %3$s'=>'Ažurirana stranica (%2$s) na adresi %3$s sa ID brojem: %1$d','%d permalink was successfully transliterated.'=>'Uspješno sje izvršena %d promjena stalne veze.' . "\0" . 'Uspješno su izvršene %d promjena stalne veze.' . "\0" . 'Uspješno su izvršene %d promjena stalne veze.','No changes to the permalink have been made.'=>'Nema promjena na stalnim vezama.',' degrees '=>' stupnjeva ',' divided by '=>' podjeljeno sa ',' times '=>' puta ',' plus-minus '=>' plus-minus ',' square root '=>' korijen ',' infinity '=>' beskonačno ',' almost equal to '=>' gotovo jednak ',' not equal to '=>' nije jednako ',' identical to '=>' identična ',' less than or equal to '=>' manje ili jednako ',' greater than or equal to '=>' veći ili jednak ',' left '=>' lijevo ',' right '=>' desno ',' up '=>' gore ',' down '=>' dolje ',' left and right '=>' lijevo i desno ',' up and down '=>' gore i dolje ',' care of '=>' brinuti o ',' estimated '=>'  procijenjeno  ',' ohm '=>' om ',' female '=>' žena ',' male '=>' muški ',' Copyright '=>' Autorska prava ',' Registered '=>' Registriran ',' Trademark '=>' Zaštitni znak ','This function is deprecated and will be removed. Replace it with the `get_script()` function'=>'Ova funkcija je zastarjela i bit će uklonjena. Zamijenite je s `get_script()` funkcijom','Choose one of the display types: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" or "%6$s"'=>'Odaberite jednu od vrsta prikaza: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" ili "%6$s"','Transliterator'=>'Transliteracija','https://wordpress.org/plugins/serbian-transliteration/'=>'https://wordpress.org/plugins/serbian-transliteration/','All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works.'=>'Sve u jednom dodatku za transliteraciju s ćirilice na latinicu za WordPress koji zaista radi.','Ivijan-Stefan Stipić'=>'Ivijan-Stefan Stipić','https://profiles.wordpress.org/ivijanstefan/'=>'https://profiles.wordpress.org/ivijanstefan/']];
     2// generated by Poedit from serbian-transliteration-hr.po, do not edit directly
     3return ['domain'=>NULL,'plural-forms'=>'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);','language'=>'hr','pot-creation-date'=>'2025-06-09 14:51+0200','po-revision-date'=>'2025-06-09 14:52+0200','translation-revision-date'=>'2025-06-09 14:52+0200','project-id-version'=>'Serbian Transliteration','x-generator'=>'Poedit 3.6','messages'=>['undefined'=>'nedefinisano','Freelance Jobs - Find or post freelance jobs'=>'Freelance poslovi - Pronađi ili objavi freelance poslove','Contra Team - A complete hosting solution in one place'=>'Contra Team - Kompletno rješenje za hosting na jednom mjestu','Transliteration'=>'Transliteracija','Latin'=>'Latinski','Cyrillic'=>'Ćirilica','Help'=>'Pomoć','To insert language script selector just add a relative link after the link\'s keyword, example :'=>'Da biste umetnuli birač jezične skripte, dodajte relativnu vezu nakon ključne riječi veze, primjer:','You can also use'=>'Također možete koristiti','for change to Latin or use'=>'za promjenu u latinski jezik ili','for change to Cyrillic'=>'za promjenu u ćirilicu','Add to Menu'=>'Dodaj u izbornik','The name of this navigation is written by always putting the Latin name first, then the Cyrillic one second, separated by the sign %s'=>'Naziv ove navigacije zapisuje se tako da se na prvo mjesto uvijek stavlja latinsko ime, a zatim ćirilica na drugo, odvojeno znakom %s','Example: Latinica | Ћирилица'=>'Primjer: Latinica | Ћирилица','Note that the white space around them will be cleared.'=>'Imajte na umu da će se razmak oko njih očistiti.','You have been using <b> %1$s </b> plugin for a while. We hope you liked it!'=>'Već neko vrijeme upotrebljavate plugin <b>%1$s</b>. Nadamo se da vam se svidio!','Please give us a quick rating, it works as a boost for us to keep working on the plugin!'=>'Molimo dajte nam brzu ocjenu, to nam djeluje kao poticaj za nastavak rada na dodatku!','Rate Now!'=>'Ocijeni sada!','I\'ve already done that!'=>'To sam već učinio!','Hey there! It\'s been a while since you\'ve been using the <b> %1$s </b> plugin'=>'Bok! Prošlo je dosta vremena otkako koristie dodatak za <b>%1$s</b>','I\'m glad to hear you\'re enjoying the plugin. I\'ve put a lot of time and effort into ensuring that your website runs smoothly. If you\'re feeling generous, how about %s for my hard work? 😊'=>'Drago mi je čuti da uživaš u dodatku. Uložio sam puno vremena i truda kako bih osigurao neometano funkcioniranje vaše web stranice. Ako se osjećaš velikodušno, što kažeš %s za moj naporan rad i trud? 😊','treating me to a coffee'=>'da me častiš kavom','Or simply %s forever.'=>'Ili jednostavno %s zauvijek.','hide this message'=>'sakrij ovu poruku','Hey there! It\'s been a while since you\'ve been using the <b>%1$s</b> plugin'=>'Bok! Već neko vrijeme koristiš dodatak <b>%1$s</b>','I\'m really happy to see this plugin being useful for your website. If you ever feel like giving back, here\'s one way to do it.'=>'Baš mi je drago što je ovaj dodatak koristan za tvoju stranicu. Ako ikada poželiš uzvratiti podrškom, evo jednog načina kako to možeš učiniti.','Bank account (Banca Intesa a.d. Beograd):'=>'Broj računa (Banca Intesa a.d. Beograd):','Every little bit helps, and I truly appreciate it! ❤️'=>'Svaka pomoć znači, i iskreno sam zahvalan! ❤️','Find Work or %1$s in Serbia, Bosnia, Croatia, and Beyond!'=>'Pronađi posao ili %1$s u Srbiji, Bosni, Hrvatskoj i šire!','Visit %2$s to connect with skilled professionals across the region. Whether you need a project completed or are looking for work, our platform is your gateway to successful collaboration.'=>'Posjetite %2$s kako biste se povezali s vještim profesionalcima diljem regije. Bilo da trebate dovršen projekt ili tražite posao, naša platforma je vaš put do uspješne suradnje.','Hire Top Freelancers'=>'angažiraj vrhunske freelancere','Freelance Jobs'=>'Freelance poslovi','Join us today!'=>'Pridruži nam se danas!','This plugin uses cookies and should be listed in your Privacy Policy page to prevent privacy issues.'=>'Ovaj dodatak koristi kolačiće i trebao bi biti naveden na stranici s pravilima o privatnosti kako bi se spriječili problemi s privatnošću.','Suggested text:'=>'Predloženi tekst:','This website uses the %1$s plugin to transliterate content.'=>'Ova web stranica koristi dodatak %1$s za transliteraciju sadržaja.','This is a simple and easy add-on with which this website translates content from Cyrillic to Latin and vice versa. This transliteration plugin also supports special shortcodes and functions that use cookies to specify the language script.'=>'Ovo je jednostavan i lagan dodatak s kojim ova web stranica prevodi sadržaj s ćirilice na latinicu i obrnuto. Ovaj dodatak za transliteraciju također podržava posebne kratke kodove i funkcije koje koriste kolačiće za određivanje jezične skripte.','These cookies do not affect your privacy because they are not intended for tracking and analytics. These cookies can have only two values: "%1$s" or "%2$s".'=>'Ovi kolačići ne utječu na vašu privatnost jer nisu namijenjeni praćenju i analizi. Ovi kolačići mogu imati samo dvije vrijednosti: "%1$s" ili "%2$s".','Important upgrade notice for the version %s:'=>'Važna obavijest o nadogradnji za verziju %s:','NOTE: Before doing the update, it would be a good idea to backup your WordPress installations and settings.'=>'NAPOMENA: Prije ažuriranja bilo bi dobro napraviti sigurnosnu kopiju WordPress instalacija i postavki.','The %1$s cannot run on PHP versions older than PHP %2$s. Please contact your host and ask them to upgrade.'=>'%1$s ne može se izvoditi na PHP verzijama starijim od PHP %2$s. Molimo kontaktirajte svog administratora i zamolite ga za nadogradnju.','Transliteration plugin requires attention:'=>'Dodatak za transliteraciju zahtijeva pažnju:','Your plugin works under Only WooCoomerce mode and you need to %s because WooCommerce is no longer active.'=>'Vaš dodatak radi u načinu samo WooCoomerce i trebate %s jer WooCommerce više nije aktivan.','update your settings'=>'ažurirati svoje postavke','Transliteration plugin requires a Multibyte String PHP extension (mbstring).'=>'Dodatak za transliteraciju zahtijeva Multibyte String PHP ekstenziju (mbstring).','Without %s you will not be able to use this plugin.'=>'Bez %s nećete moći koristiti ovaj dodatak.','Multibyte String Installation'=>'Multibyte String Instalacija','this PHP extension'=>'ove PHP ekstenzije','The %1$s cannot run on WordPress versions older than %2$s. Please update your WordPress installation.'=>'%1$s ne može se izvoditi na WordPress verzijama starijim od %2$s. Ažurirajte svoju WordPress instalaciju.','Global Settings'=>'Globalne postavke','My site is'=>'Moja stranica je','Transliteration Mode'=>'Način transliteracije','First visit mode'=>'Način prve posjete','Language scheme'=>'Jezična shema','Plugin Mode'=>'Mod plugina','Force transliteration permalinks to latin'=>'Prisiliti transliteraciju permalinki na latinicu','Filters'=>'Filteri','Transliteration Filters'=>'Filteri za transliteraciju','Exclude Latin words that you do not want to be transliterated to the Cyrillic.'=>'Isključite latinične riječi za koje ne želite da se transliteriraju u ćirilicu.','Exclude Cyrillic words that you do not want to be transliterated to the Latin.'=>'Izuzmite ćirilične riječi za koje ne želite da se transliteriraju u latinicu.','Special Settings'=>'Posebne postavke','Enable cache support'=>'Omogućite podršku za predmemoriju','Force widget transliteration'=>'Prisilna transliteracija widgeta','Force e-mail transliteration'=>'Prisilna transliteracija e-pošte','Force transliteration for WordPress REST API'=>'Prisilite transliteraciju za WordPress REST API pozive','Force transliteration for AJAX calls'=>'Prisilite transliteraciju za AJAX pozive','EXPERIMENTAL'=>'EKSPERIMENTALNO','WP Admin'=>'WP Admin','WP-Admin transliteration'=>'WP-Admin transliteracija','Allow Cyrillic Usernames'=>'Dopusti korisnička imena na ćirilici','Allow Admin Tools'=>'Dopusti admin alatke','Media Settings'=>'Postavke medija','Transliterate filenames to latin'=>'Transliterirajte nazive na latinicu','Filename delimiter'=>'Graničnik imena datoteke','WordPress Search'=>'WordPress pretraživanje','Enable search transliteration'=>'Omogućite transliteraciju pretraživanja','Fix Diacritics'=>'Popravite dijakritiku','Search Mode'=>'Način pretraživanja','SEO Settings'=>'SEO postavke','Parameter URL selector'=>'Birač URL-a parametra','RSS transliteration'=>'RSS transliteracija','Exclusion'=>'Izuzimanje','Language: %s'=>'Jezik: %s','Misc.'=>'Razno','Enable body class'=>'Omogući body klasu','Theme Support'=>'Podrška za šablone','Light Up Our Day!'=>'Osvijetlite naš dan!','Contributors & Developers'=>'Suradnici i programeri','This setting determines the mode of operation for the Transliteration plugin.'=>'Ova postavka određuje način rada dodatka za transliteraciju.','Carefully choose the option that is best for your site and the plugin will automatically set everything you need for optimal performance.'=>'Pažljivo odaberite opciju koja je najbolja za vašu stranicu i dodatak će automatski postaviti sve što je potrebno za optimalne performanse.','This section contains filters for exclusions, allowing you to specify content that should be excluded from transliteration, and also includes a filter to disable certain WordPress filters related to transliteration.'=>'Ovaj odjeljak sadrži filtre za izuzeća, koji vam omogućuju da odredite sadržaj koji treba biti izuzet iz transliteracije, a također uključuje filtar za onemogućavanje određenih WordPress filtara povezanih s transliteracijom.','These are special settings that can enhance transliteration and are used only if you need them.'=>'To su posebne postavke koje mogu poboljšati transliteraciju i koriste se samo ako su vam potrebne.','These settings apply to the administrative part.'=>'Ove postavke se odnose na administrativni dio.','Upload, view and control media and files.'=>'Prenesite, pregledajte i kontrolirajte medije i datoteke.','Our plugin also has special SEO options that are very important for your project.'=>'Naš dodatak također ima posebne SEO opcije koje su vrlo važne za vaš projekt.','Within this configuration section, you have the opportunity to customize your experience by selecting the particular languages for which you wish to turn off the transliteration function. This feature is designed to give you greater control and adaptability over how the system handles transliteration, allowing you to disable it for specific languages based on your individual needs or preferences.'=>'U ovom dijelu postavki imate mogućnost prilagoditi svoje iskustvo tako da odaberete određene jezike za koje želite isključiti funkciju transliteracije. Ova značajka je dizajnirana kako bi vam pružila veću kontrolu i prilagodljivost u načinu na koji sustav rukuje transliteracijom, omogućujući vam da je isključite za određene jezike sukladno vašim osobnim potrebama ili preferencijama.','Various interesting settings that can be used in the development of your project.'=>'Razne zanimljive postavke koje se mogu koristiti u razvoju vašeg projekta.','This setting determines the search mode within the WordPress core depending on the type of language located in the database.'=>'Ova postavka određuje način pretraživanja unutar jezgre WordPress-a, ovisno o vrsti jezika koji se nalazi u bazi podataka.','The search type setting is mostly experimental and you need to test each variant so you can get the best result you need.'=>'Postavka vrste pretraživanja uglavnom je eksperimentalna i trebate testirati svaku varijantu kako biste postigli najbolji rezultat koji vam je potreban.','Arabic'=>'Arapski','Armenian'=>'Jermenski','Define whether your primary alphabet on the site is Latin or Cyrillic. If the primary alphabet is Cyrillic then choose Cyrillic. If it is Latin, then choose Latin. This option is crucial for the plugin to work properly.'=>'Odredite je li vaša primarna abeceda na web mjestu latinica ili ćirilica. Ako je primarna abeceda ćirilica, onda odaberite ćirilicu. Ako je latinski, onda odaberite latinski. Ova je opcija presudna za ispravni rad dodatka.','Define whether your primary alphabet on the site.'=>'Odredite je li vaš primarni alfabet na stranici.','Transliteration disabled'=>'Transliteracija je onemogućena','Cyrillic to Latin'=>'Ćirilica na latinicu','Latin to Cyrillic'=>'Latinica na ćirilicu','Arabic to Latin'=>'S arapskog na latinski','Latin to Arabic'=>'Latinski na arapski','Armenian to Latin'=>'Armenski na latinski','Latin to Armenian'=>'Latinski na armenski','This option determines the global transliteration of your web site. If you do not want to transliterate the entire website and use this plugin for other purposes, disable this option. This option does not affect to the functionality of short codes and tags.'=>'Ova opcija određuje globalnu transliteraciju vašeg web mjesta. Ako ne želite transliterirati cijelu web stranicu i koristiti ovaj dodatak u druge svrhe, onemogućite ovu opciju. Ova opcija ne utječe na funkcionalnost kratkih kodova i oznaka.','This option determines the type of language script that the visitors sees when they first time come to your site.'=>'Ova opcija određuje vrstu jezične skripte koju posjetitelji vide kada prvi put dođu na vašu stranicu.','Automatical'=>'Automatski','This option defines the language script. Automatic script detection is the best way but if you are using a WordPress installation in a language that does not match the scripts supported by this plugin, then choose on which script you want the transliteration to be performed.'=>'Ova opcija definira jezičnu skriptu. Najbolje je automatsko otkrivanje skripti, ali ako koristite WordPress instalaciju na jeziku koji se ne podudara sa skriptama koje podržava ovaj dodatak, odaberite na kojoj skripti želite da se izvrši transliteracija.','This option configures the operating mode of the entire plugin and affects all aspects of the site related to transliteration. Each mode has its own set of filters, which are activated based on your specific needs. It\'s important to take the time to review and customize these settings according to your preferences.'=>'Ova opcija konfigurira način rada cijelog dodatka i utječe na sve aspekte stranice povezane s transliteracijom. Svaki način rada ima svoj skup filtera, koji se aktiviraju prema vašim specifičnim potrebama. Važno je odvojiti vrijeme za pregled i prilagodbu ovih postavki u skladu s vašim preferencijama.','Forced transliteration can sometimes cause problems if Latin is translated into Cyrillic in pages and posts. To this combination must be approached experimentally.'=>'Prisilna transliteracija ponekad može stvoriti probleme ako se latinica na stranicama i u postovima prevede na ćirilicu. Ovoj se kombinaciji mora pristupiti eksperimentalno.','Exclude filters you don\'t need (optional)'=>'Izuzmite filtre koji vam nisu potrebni (opcionalno)','Select the transliteration filters you want to exclude.'=>'Odaberite filtre za transliteraciju koje želite izuzeti (isključiti).','The filters you select here will not be transliterated (these filters do not work on forced transliteration).'=>'Ovdje odabrani filtri neće biti transliterirani (ti filtri ne rade na prisilnoj transliteraciji).','TIPS & TRICKS:'=>'SAVJETI I TRIKOVI:','You can find details about some of the listed filters in this article:'=>'Pojedinosti o nekim od navedenih filtara možete pronaći u ovom članku:','Since you are already a WooCommerce user, you also can see the following documentation: %s'=>'Budući da ste već korisnik WooCommerce-a, možete vidjeti i sljedeću dokumentaciju: %s','Separate words, phrases, names and expressions with the sign %s or put it in a new row. HTML is not allowed.'=>'Odvojite riječi, fraze, imena i izraze znakom %s ili ih stavite u novi red. HTML nije dopušten.','Yes'=>'Da','No'=>'Ne','If you have a problem caching your pages, our plugin solves this problem by clearing the cache when changing the language script.'=>'Ako imate problem s predmemoriranjem stranica, naš dodatak rješava taj problem brisanjem predmemorije prilikom promjene jezične skripte.','This option forces the widget to transliterate. There may be some unusual behaviour in the rare cases.'=>'Ova opcija prisiljava widget na transliteraciju. U rijetkim slučajevima može se dogoditi neko neobično ponašanje.','Enable this feature if you want to force transliteration of email content.'=>'Omogućite ovu značajku ako želite prisiliti transliteraciju sadržaja e-pošte.','Enable this feature if you want to force transliteration of WordPress REST API calls. The WordPress REST API is also used in many AJAX calls, WooCommerce, and page builders. It is recommended to be enabled by default.'=>'Omogućite ovu funkciju ako želite prisilno provesti transliteraciju poziva WordPress REST API-ja. WordPress REST API se također koristi u mnogim AJAX pozivima, WooCommerce-u i graditeljima stranica. Preporučuje se da bude omogućeno prema zadanim postavkama.','Enable this feature if you want to force transliteration of AJAX calls. If you want to avoid transliteration of specific individual AJAX calls, you must add a new POST or GET parameter to your AJAX call: %s'=>'Omogućite ovu opciju ako želite prisiliti transliteraciju AJAX poziva. Ako želite izbjeći transliteraciju specifičnih pojedinačnih AJAX poziva, morate dodati novi POST ili GET parametar %s na svoj AJAX poziv.','Enable if you want the WP-Admin area to be transliterated.'=>'Omogućite ako želite da područje WP-Admin bude transliterirano.','Allows to create users with usernames containing Cyrillic characters.'=>'Omogućuje stvaranje korisnika s korisničkim imenima koja sadrže ćirilične znakove.','This feature enables you to easily transliterate titles and content directly within the WordPress editor. This functionality is available for various content types, including categories, pages, posts, and custom post types, ensuring a seamless experience when managing multilingual content on your site. With just a few clicks, you can switch between scripts, making your content accessible to a broader audience.'=>'Ova značajka omogućuje vam jednostavno preslovljavanje naslova i sadržaja izravno unutar WordPress editora. Ova funkcionalnost dostupna je za različite vrste sadržaja, uključujući kategorije, stranice, objave i prilagođene vrste objava, osiguravajući besprijekorno iskustvo u upravljanju višejezičnim sadržajem na vašoj stranici. Uz samo nekoliko klikova, možete mijenjati pisma, čineći vaš sadržaj dostupnim široj publici.','Enable if you want to force cyrillic permalinks to latin.'=>'Omogući ako želite prisiliti ćirilicu na latinicu za permalinkove.','Enable if you want to convert cyrillic filenames to latin.'=>'Omogući ako želite pretvoriti ćirilične datoteke u latinicu.','hyphen (default)'=>'crtica (zadano)','underscore'=>'podvlaka','dot'=>'točka','tilde'=>'tilda','vartical bar'=>'okomita traka','asterisk'=>'zvjezdica','Filename delimiter, example:'=>'Graničnik imena datoteke, primjer:','my-upload-file.jpg'=>'moj-fajl.jpg','Approve if you want transliteration for the search field.'=>'Odobrite ako želite transliteraciju za polje za pretraživanje.','Try to fix the diacritics in the search field.'=>'Pokušajte popraviti dijakritike u polju za pretraživanje.','Automatical (recommended)'=>'Automatski (preporučeno)','Based on the plugin mode'=>'Na temelju rada dodatka','The search has two working modes. Choose the one that works best with your search.'=>'Pretraživanje ima dva načina rada. Odaberite onu koja najbolje odgovara vašoj pretrazi.','(safe)'=>'(bezbjedno)','(standard)'=>'(standardan)','(optional)'=>'opcionalno','This option dictates which URL parameter will be used to change the language.'=>'Ova opcija određuje koji će se parametar URL-a koristiti za promjenu jezika.','This option transliterate the RSS feed.'=>'Ova opcija transliterira RSS feed.','Transliterate'=>'Transliteruj','Omit the transliteration'=>'Izostavi transliteraciju','This option adds CSS classes to your body HTML tag. These CSS classes vary depending on the language script.'=>'Ova opcija dodaje CSS klase u vašu HTML oznaku tijela. Te se CSS klase razlikuju ovisno o jezičnoj skripti.','Enable Theme Support'=>'Omogući podršku za teme','Disable Theme Support'=>'Onemogući podršku za teme','If you don\'t require transliteration support for your theme, you can disable it for your current theme here.'=>'Ako vam nije potrebna podrška za transliteraciju za vašu temu, možete je onemogućiti za svoju trenutnu temu ovdje.','This mode has no filters.'=>'Ovaj način rada nema filtera.','When you find a tool that fits your needs perfectly, and it\'s free, it’s something special. That’s exactly what my plugin is – free, but crafted with love and dedication. To ensure the continued development and improvement of the Transliterator plugin, I have established a foundation to support its future growth.'=>'Kada pronađete alat koji savršeno odgovara vašim potrebama, a uz to je besplatan, to je zaista nešto posebno. Upravo takav je i moj dodatak – besplatan, ali izrađen s ljubavlju i posvećenošću. Kako bismo osigurali daljnji razvoj i unapređenje Transliterator dodatka, osnovao sam fondaciju za njegovu buduću podršku.','Your support for this project is not just an investment in the tool you use, but also a contribution to the community that relies on it. If you’d like to support the development and enable new features, you can do so through donations:'=>'Vaša podrška ovom projektu nije samo ulaganje u alat koji koristite, već i doprinos zajednici koja o njemu ovisi. Ako želite podržati razvoj i omogućiti nove značajke, možete to učiniti putem donacija:','Banca Intesa a.d. Beograd'=>'Banca Intesa a.d. Beograd','Every donation, no matter the amount, directly supports the ongoing work on the plugin and allows me to continue innovating. Thank you for supporting this project and being part of a community that believes in its importance.'=>'Svaka donacija, bez obzira na iznos, izravno podržava daljnji rad na dodatku i omogućuje mi nastavak inovacija. Hvala vam što podržavate ovaj projekt i što ste dio zajednice koja vjeruje u njegovu važnost.','With love,'=>'S ljubavlju,','If you want to support our work and effort, if you have new ideas or want to improve the existing code, %s.'=>'Ako želite podržati naš rad i trud, ako imate nove ideje ili želite poboljšati postojeći kôd, %s.','join our team'=>'pridružite se našem timu','Settings saved.'=>'Postavke spremljene.','Settings'=>'Postavke','Shortcodes'=>'Rezervirano mjesto','PHP Functions'=>'PHP Funkcije','5 stars?'=>'5 zvjezdica?','Transliteration Settings'=>'Transliteracije - Postavka','To Latin'=>'U latinicu','To Cyrillic'=>'U ćirilicu','Transliterate:'=>'Transliteruj:','Loading...'=>'Učitavanje...','Please wait! Do not close the window or leave the page until this operation is completed!'=>'Molimo pričekajte! Nemojte zatvarati prozor ili napuštati stranicu dok se ova operacija ne dovrši!','DONE!!!'=>'GOTOVO !!!','PLEASE UPDATE PLUGIN SETTINGS'=>'MOLIMO AŽURIRATI POSTAVKE PLUGINA','Carefully review the transliteration plugin settings and adjust how it fits your WordPress installation. It is important that every time you change the settings, you test the parts of the site that are affected by this plugin.'=>'Pažljivo pregledajte postavke dodatka za transliteraciju i prilagodite kako odgovara vašoj instalaciji WordPressa. Važno je da svaki put kada promijenite postavke testirate dijelove web mjesta na koje ovaj dodatak utječe.','Tags'=>'Oznake','Transliteration Tool'=>'Alat za transliteraciju','Permalink Tool'=>'Alat za trajnu vezu (permalink)','General Settings'=>'Opće postavke','Documentation'=>'Dokumentacija','Tools'=>'Alati','Debug'=>'Otkloniti neispravnost','Credits'=>'Zasluge','Save Changes'=>'Spremi promjene','Available shortcodes'=>'Dostupni kratki kodovi','Available PHP Functions'=>'Dostupne PHP funkcije','Available Tags'=>'Dostupni tagovi','Converter for transliterating Cyrillic into Latin and vice versa'=>'Pretvarač za transliteraciju ćirilice u latinicu i obrnuto','Permalink Transliteration Tool'=>'Alat za transliteraciju trajne veze','Debug information'=>'Informacije o ispravci pogrešaka','WordPress Transliterator'=>'WordPress Transliteracija','Quick Access:'=>'Brzi pristup:','Rate us'=>'Ocijeni nas','Current Settings:'=>'Trenutne postavke:','Transliteration Mode:'=>'Način transliteracije:','Cache Support:'=>'Podrška za keširanje:','Media Transliteration:'=>'Transliteracija medija:','Permalink Transliteration:'=>'Transliteraciju trajnih veza:','Transliterator plugin options are not yet available. Please update plugin settings!'=>'Opcije Transliterator dodatka još nisu dostupne. Molimo vas da ažurirate postavke dodatka!','Recommendations:'=>'Preporuke:','Explore these recommended tools and resources that complement our plugin.'=>'Istražite ove preporučene alate i resurse koji upotpunjuju naš dodatak.','Donations'=>'Donacije','This plugin is 100% free. If you want to buy us one coffee, beer or in general help the development of this plugin through a monetary donation, you can do it in the following ways:'=>'Ovaj dodatak je 100% besplatan. Ako nam želite kupiti jednu kavu, pivo ili općenito pomoći razvoju ovog dodatka kroz novčanu donaciju, to možete učiniti na sljedeće načine:','From Serbia'=>'Iz Srbije','This is a light weight, simple and easy plugin with which you can transliterate your WordPress installation from Cyrillic to Latin and vice versa in a few clicks. This transliteration plugin also supports special shortcodes that you can use to partially transliterate parts of the content.'=>'Ovo je jednostavan i lagan dodatak pomoću kojeg možete u nekoliko klikova transliterirati svoju WordPress instalaciju s ćirilice na latinicu i obrnuto. Ovaj dodatak za transliteraciju također podržava posebne kratke kodove pomoću kojih možete djelomično transliterirati dijelove sadržaja.','Sponsors of this plugin:'=>'Sponzori ovog dodatka:','If you want to help develop this plugin and be one of the sponsors, please contact us at: %s'=>'Ako želite pomoći u razvoju ovog dodatka i biti jedan od sponzora, kontaktirajte nas na: %s','Special thanks to the contributors in the development of this plugin:'=>'Posebna zahvalnost suradnicima u razvoju ovog dodatka:','Copyright'=>'Autorska prava','Copyright &copy; 2020 - %1$d %2$s by %3$s. All Right Reserved.'=>'Autorska prava &copy; 2020 - %1$d %2$s od %3$s. Sva prava pridržana.','Transliterator – WordPress Transliteration'=>'Transliteracija - WordPress transliteracija','This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.'=>'Ovaj program je besplatan softver; možete ga distribuirati i/ili modificirati pod uvjetima GNU General Public License koju je objavila Zaklada za slobodni softver; bilo verziju 2 Licence, bilo (po vašoj želji) bilo koju kasniju verziju.','This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'=>'Ovaj se program distribuira u nadi da će biti koristan, ali BEZ BILO KOJE GARANCIJE; bez čak i podrazumijevanog jamstva PRODAJLJIVOSTI ISPOSOBNOSTI ZA ODREĐENU SVRHU.','See the GNU General Public License for more details.'=>'Pogledajte GNU General Public License za više detalja.','You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.'=>'Trebali ste dobiti kopiju GNU General Public License zajedno s ovim programom; ako ne, pišite Free Software Foundation, Inc., Franklin Street 51, Fifth Floor, Boston, MA 02110-1301, USA.','Plugin ID'=>'ID dodatka','Plugin version'=>'Verzija dodatka','WordPress version'=>'Sajt verzija meta tag','Last plugin update'=>'Zadnje ažuriranje dodatka','PHP version'=>'PHP verzija','PHP version ID'=>'PHP ID verzije','PHP architecture'=>'PHP arhitektura','%d bit'=>'%d bit','WordPress debug'=>'WordPress ispravka grešaka','On'=>'Uključeno','Off'=>'Isključeno','WordPress multisite'=>'WordPress multi sajt','WooCommerce active'=>'WooCommerce je aktivan','WooCommerce version'=>'WooCommerce verzija','Site title'=>'Poruka dobrodošlice','Tagline'=>'Slogan','WordPress address (URL)'=>'WordPress URL adresa','Admin email'=>'Email administratora','Encoding for pages and feeds'=>'Kodiranje za stranice i sažetke sadržaja','Content-Type'=>'Vrsta sadržaja','Site Language'=>'Jezik web-mjesta','Server time'=>'Vrijeme poslužitelja','WordPress directory path'=>'Put direktorija WordPress-a','Operting system'=>'Operacijski sustav','User agent'=>'Korisnički agent','Plugin directory path'=>'Put direktorija dodatka','Plugin settings'=>'Postavke dodatka','These are available PHP functions that you can use in your themes and plugins.'=>'Ovo su dostupne PHP funkcije koje možete koristiti u svojim temama i dodacima.','Determines whether the site is already in Cyrillic.'=>'Određuje je li stranica već na ćirilicu.','This function provides information on whether the currently active language is excluded from transliteration.'=>'Ova funkcija pruža informacije o tome je li trenutno aktivni jezik izuzet iz transliteracije.','Transliteration of some text or content into the desired script.'=>'Transliteracija nekog teksta ili sadržaja u željenu skriptu.','The <b><i>$type</i></b> parameter has two values: <code>cyr_to_lat</code> (Cyrillic to Latin) and <code>lat_to_cyr</code> (Latin to Cyrillic)'=>'Parametar <b><i>$type</i></b> ima dvije vrijednosti: <code>cyr_to_lat</code> (ćirilica na latinski) i <code>lat_to_cyr</code> (latinica na ćirilicu)','Transliteration from Cyrillic to Latin.'=>'Transliteracija s ćirilice na latinicu.','Transliteration from Latin to Cyrillic.'=>'Transliteracija s latinice na ćirilicu.','Transliterates Cyrillic characters to Latin, converting them to their basic ASCII equivalents by removing diacritics.'=>'Transliterira ćirilične znakove u latinicu, pretvarajući ih u njihove osnovne ASCII ekvivalente uklanjanjem dijakritičkih znakova.','Get active script.'=>'Uzmite aktivnu skriptu.','This function displays a selector for the transliteration script.'=>'Ova funkcija prikazuje odabirač za skriptu transliteracije.','Parameters'=>'Parametri','This attribute contains an associative set of parameters for this function:'=>'Ovaj atribut sadrži asocijativni skup parametara za ovu funkciju:','(string) The type of selector that will be displayed on the site. It can be: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Default: %1$s'=>'(string) Vrsta odabirača koja će se prikazati na web-mjestu. Može biti: %1$s, %2$s, %3$s, %4$s, %5$s ili %6$s. Zadano: %1$s','(bool) determines whether it will be displayed through an echo or as a string. Default: %s'=>'(bool) određuje hoće li se prikazati kroz echo ili kao niz. Zadano: %s','(string) Separator to be used when the selector type is %s. Default: %s'=>'(string) Razdjelnik koji će se koristiti kada je vrsta odabirača %s. Zadano: %s','(string) Text for Cyrillic link. Default: %s'=>'(string) Tekst za ćirilični link. Zadano: %s','(string) Text for Latin link. Default: %s'=>'(string) Tekst za latiničnog linka. Zadano: %s','This tool enables you to convert all existing Cyrillic permalinks in your database to Latin characters.'=>'Ovaj alat omogućuje vam da pretvorite sve postojeće ćirilične permalinke u vašoj bazi podataka u latinična slova.','Warning:'=>'Upozorenje:','This option is dangerous and can create unexpected problems. Once you run this script, all permalinks in your database will be modified and this can affect on the SEO causing a 404 error.'=>'Ova je opcija opasna i može stvoriti neočekivane probleme. Jednom kada pokrenete ovu skriptu, sve trajne veze u vašoj bazi podataka bit će izmijenjene, a to može utjecati na SEO što uzrokuje pogrešku 404.','Before proceeding, consult with your SEO specialist, as you will likely need to resubmit your sitemap and adjust other settings to update the permalinks in search engines.'=>'Prije nego što nastavite, konzultirajte se sa svojim SEO stručnjakom, jer ćete vjerojatno trebati ponovno poslati svoju mapu sajta i prilagoditi ostale postavke kako biste ažurirali permalinke u tražilicama.','For advanced users, this function can also be executed via WP-CLI using the command'=>'Za napredne korisnike, ova funkcija se također može izvršiti putem WP-CLI koristeći naredbu','Important: Make sure to %s before running this script.'=>'Važno: Provjerite da ste %s prije nego što pokrenete ovaj skript.','back up your database'=>'napravite sigurnosnu kopiju svoje baze podataka','This tool will affect on the following post types: %s'=>'Ovaj će alat utjecati na sljedeće vrste postova: %s','Let\'s do magic'=>'Napravimo magiju','Are you sure you want this?'=>'Jeste li sigurni da ovo želite?','Disclaimer'=>'Odricanje od odgovornosti','While this tool is designed to operate safely, there is always a small risk of unpredictable issues.'=>'Iako je ovaj alat dizajniran da radi sigurno, uvijek postoji mali rizik od nepredvidivih problema.','Note: We do not guarantee that this tool will function correctly on your server. By using it, you assume all risks and responsibilities for any potential issues.'=>'Napomena: Ne jamčimo da će ovaj alat ispravno funkcionirati na vašem serveru. Korištenjem ovog alata preuzimate sve rizike i odgovornosti za eventualne probleme.','Backup your database before using this tool.'=>'Napravite sigurnosnu kopiju svoje baze podataka prije korištenja ovog alata.','These are available shortcodes that you can use in your content, visual editors, themes and plugins.'=>'Ovo su dostupni kratki kodovi koje možete koristiti u svom sadržaju, vizualnim uređivačima, temama i dodacima.','Skip transliteration'=>'Izbegni transliteraciju','Keep this original'=>'Zadržite ovo kao original','(optional) correct HTML code.'=>'(nije obavezno) ispravni HTML kôd.','Optional shortcode parameters'=>'Neobavezni parametri kratkog koda','(optional) correct diacritics.'=>'(nije obavezno) ispravni dijakritički znakovi.','Add an image depending on the language script'=>'Dodavanje slike ovisno o jezičnoj skripti','With this shortcode you can manipulate images and display images in Latin or Cyrillic depending on the setup.'=>'S ovim kratkim kodom možete manipulirati slikama i prikazati slike na latinskom ili ćirilici ovisno o postavljanju.','Example'=>'Primjer','Main shortcode parameters'=>'Glavni parametri kratkog koda','URL (src) as shown in the Latin language'=>'URL (src) kako je prikazano na latinskom jeziku','URL (src) as shown in the Cyrillic language'=>'URL (src) kako je prikazano na ćiriličnom jeziku','(optional) URL (src) to the default image if Latin and Cyrillic are unavailable'=>'(neobavezno) URL (src) na zadanu sliku ako su latinica i ćirilica nedostupni','(optional) title (alt) description of the image for Cyrillic'=>'(neobavezno) naslov (alt) slike za ćirilicu','(optional) caption description of the image for Cyrillic'=>'(neobavezno) opis slike za ćirilicu','(optional) title (alt) description of the image for Latin'=>'(neobavezno) naslov (alt) slike za latinski','(optional) caption description of the image for Latin'=>'(neobavezno) opis slike za latinski','(optional) title (alt) description of the image if Latin and Cyrillic are unavailable'=>'(neobavezno) naslov (alt) slike ako su latinica i ćirilica nedostupni','(optional) caption description of the imag if Latin and Cyrillic are unavailable'=>'(neobavezno) opis slike ako su latinica i ćirilica nedostupni','Shortcode return'=>'Povrat kratkog koda','HTML image corresponding to the parameters set in this shortcode.'=>'HTML slika koja odgovara parametrima postavljenim u ovom kratkom kodu.','Language script menu'=>'Izbornik skripte jezika','This shortcode displays a selector for the transliteration script.'=>'Ovaj kratki kod prikazuje izbornik za skriptu transliteracije.','(string) The type of selector that will be displayed on the site. It can be: "%1$s", "%2$s", "%3$s" or "%4$s"'=>'(string) Vrsta izbornika koja će se prikazati na web-mjestu. Može biti: "%1$s", "%2$s", "%3$s" ili "%4$s"','(string) Text for Cyrillic link. Default: Cyrillic'=>'(string) Tekst za ćirilični link. Zadano: ćirilica','(string) Text for Latin link. Default: Latin'=>'(string) Tekst za latiničnog linka. Zadano: latinski','This shortcodes work independently of the plugin settings and can be used anywhere within WordPress pages, posts, taxonomies and widgets (if they support it).'=>'Ovi kratki kodovi rade neovisno o postavkama dodatka i mogu se koristiti bilo gdje unutar WordPress stranica, postova, taksonomija i widgeta (ako ih podržavaju).','These tags have a special purpose and work separately from short codes and can be used in fields where short codes cannot be used.'=>'Tovi tagovi imaju posebnu namjenu i rade odvojeno od kratkih kodova i mogu se koristiti u poljima u kojima se kratki kodovi ne mogu koristiti.','These tags have no additional settings and can be applied in plugins, themes, widgets and within other short codes.'=>'Tovi tagovi nemaju dodatne postavke i mogu se primijeniti na dodatke, teme, widgete i unutar drugih kratkih kodova.','Copy the desired text into one field and press the desired key to convert the text.'=>'Kopirajte željeni tekst u jedno polje i pritisnite željenu tipku za pretvorbu teksta.','Convert to Latin'=>'Pretvori u latinski','Convert to Cyrillic'=>'Pretvori u ćirilicu','Reset'=>'Očisti sve','The %1$s shortcode has been deprecated as of version %2$s. Please update your content and use the new %3$s shortcode.'=>'Šortkod %1$s je zastario od verzije %2$s. Molimo vas da ažurirate svoj sadržaj i koristite novi šortkod %3$s.','Transliteration shortcode does not have adequate parameters and translation is not possible. Please check the documentation.'=>'Kratki kôd transliteracije nema odgovarajuće parametre i prijevod nije moguć. Molimo provjerite dokumentaciju.','An error occurred while converting. Please refresh the page and try again.'=>'Došlo je do pogreške tijekom pretvorbe. Osvježite stranicu i pokušajte ponovo.','The field is empty.'=>'Polje je prazno.','There was a communication problem. Please refresh the page and try again. If this does not solve the problem, contact the author of the plugin.'=>'Došlo je do problema u komunikaciji. Osvježite stranicu i pokušajte ponovo. Ako ovo ne riješi problem, obratite se autoru dodatka.','Serbian'=>'Srpski','Bosnian'=>'Bosanski','Montenegrin'=>'Crnogorski','Russian'=>'Ruski','Belarusian'=>'Beloruski','Bulgarian'=>'Bugarski','Macedoanian'=>'Makedonski','Ukrainian'=>'Ukrajinski','Kazakh'=>'Kazahstanski','Tajik'=>'Tadžički','Kyrgyz'=>'Kirgistanski','Mongolian'=>'Mongolski','Bashkir'=>'Baškirski','Uzbek'=>'Uzbečki','Georgian'=>'Gruzijski','Greek'=>'Grčki','Phantom Mode (ultra fast DOM-based transliteration, experimental)'=>'Phantom Mode (ultra brza transliteracija temeljena na DOM-u, eksperimentalna)','Light mode (basic parts of the site)'=>'Lagani način rada (osnovni dijelovi stranice)','Standard mode (content, themes, plugins, translations, menu)'=>'Standardni način rada (sadržaj, teme, dodaci, prijevodi, izbornik)','Advanced mode (content, widgets, themes, plugins, translations, menu, permalinks, media)'=>'Napredna transliteracija (sadržaj, widgeti, teme, dodaci, prijevodi, izbornik, stalne veze, mediji)','Forced transliteration (everything)'=>'Prisilna transliteracija (sve)','Only WooCommerce (It bypasses all other transliterations and focuses only on WooCommerce)'=>'Samo WooCommerce (zaobilazi sve ostale transliteracije i fokusira se samo na WooCommerce)','Dev Mode (Only for developers and testers)'=>'Dev Mode (samo za programere i testere)','Failed to delete plugin translation: %s'=>'Nije uspjelo brisanje prijevoda dodatka: %s',' degrees '=>' stupnjeva ',' divided by '=>' podjeljeno sa ',' times '=>' puta ',' plus-minus '=>' plus-minus ',' square root '=>' korijen ',' infinity '=>' beskonačno ',' almost equal to '=>' gotovo jednak ',' not equal to '=>' nije jednako ',' identical to '=>' identična ',' less than or equal to '=>' manje ili jednako ',' greater than or equal to '=>' veći ili jednak ',' left '=>' lijevo ',' right '=>' desno ',' up '=>' gore ',' down '=>' dolje ',' left and right '=>' lijevo i desno ',' up and down '=>' gore i dolje ',' care of '=>' brinuti o ',' estimated '=>'  procijenjeno  ',' ohm '=>' om ',' female '=>' žena ',' male '=>' muški ',' Copyright '=>' Autorska prava ',' Registered '=>' Registriran ',' Trademark '=>' Zaštitni znak ','Option name'=>'Ime opcije','Value'=>'Vrijednost','Key'=>'Ključ','Please wait! Do not close the terminal or terminate the script until this operation is completed!'=>'Molimo pričekajte! Ne zatvarajte terminal niti prekidajte skriptu dok se ova operacija ne završi!','Progress:'=>'Napredak:','Updated page ID %1$d, (%2$s) at URL: %3$s'=>'Ažurirana stranica (%2$s) na adresi %3$s sa ID brojem: %1$d','%d permalink was successfully transliterated.'=>'Uspješno sje izvršena %d promjena stalne veze.' . "\0" . 'Uspješno su izvršene %d promjena stalne veze.' . "\0" . 'Uspješno su izvršene %d promjena stalne veze.','No changes to the permalink have been made.'=>'Nema promjena na stalnim vezama.','This function is deprecated and will be removed. Replace it with the `get_script()` function'=>'Ova funkcija je zastarjela i bit će uklonjena. Zamijenite je s `get_script()` funkcijom','Choose one of the display types: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" or "%6$s"'=>'Odaberite jednu od vrsta prikaza: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" ili "%6$s"','Transliterator'=>'Transliteracija','https://wordpress.org/plugins/serbian-transliteration/'=>'https://wordpress.org/plugins/serbian-transliteration/','All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works.'=>'Sve u jednom dodatku za transliteraciju s ćirilice na latinicu za WordPress koji zaista radi.','Ivijan-Stefan Stipić'=>'Ivijan-Stefan Stipić','https://profiles.wordpress.org/ivijanstefan/'=>'https://profiles.wordpress.org/ivijanstefan/']];
  • serbian-transliteration/trunk/languages/serbian-transliteration-hr.po

    r3270599 r3328833  
    22msgstr ""
    33"Project-Id-Version: Serbian Transliteration\n"
    4 "POT-Creation-Date: 2025-04-10 18:27+0200\n"
    5 "PO-Revision-Date: 2025-04-10 18:29+0200\n"
     4"POT-Creation-Date: 2025-06-09 14:51+0200\n"
     5"PO-Revision-Date: 2025-06-09 14:52+0200\n"
    66"Last-Translator: Ivijan-Stefan Stipić <infinitumform@gmail.com>\n"
    77"Language-Team: \n"
     
    2222"X-Poedit-SearchPathExcluded-0: *.min.js\n"
    2323
    24 #: classes/debug.php:355
     24#: classes/debug.php:341
    2525msgid "undefined"
    2626msgstr "nedefinisano"
    2727
    28 #: classes/filters.php:127 classes/settings.php:721
     28#: classes/filters.php:127 classes/settings.php:738
    2929msgid "Freelance Jobs - Find or post freelance jobs"
    3030msgstr "Freelance poslovi - Pronađi ili objavi freelance poslove"
     
    3535
    3636#: classes/menus.php:34 classes/settings.php:52 classes/settings.php:98
    37 #: classes/settings.php:318 classes/settings.php:391 classes/settings.php:427
    38 #: classes/settings.php:463 classes/settings.php:508 classes/settings.php:537
    39 #: classes/settings.php:573 classes/settings.php:601
     37#: classes/settings.php:318 classes/settings.php:394 classes/settings.php:432
     38#: classes/settings.php:470 classes/settings.php:517 classes/settings.php:548
     39#: classes/settings.php:586 classes/settings.php:616
    4040msgid "Transliteration"
    4141msgstr "Transliteracija"
     
    4444#: classes/settings-fields.php:574 classes/settings.php:128
    4545#: classes/settings.php:203 classes/settings/page-functions.php:164
    46 #: classes/shortcodes.php:36 functions.php:438
     46#: classes/shortcodes.php:36 classes/utilities.php:1121 functions.php:438
    4747msgid "Latin"
    4848msgstr "Latinski"
     
    5151#: classes/settings-fields.php:575 classes/settings.php:129
    5252#: classes/settings.php:204 classes/settings/page-functions.php:159
    53 #: classes/shortcodes.php:35 functions.php:437
     53#: classes/shortcodes.php:35 classes/utilities.php:1122 functions.php:437
    5454msgid "Cyrillic"
    5555msgstr "Ćirilica"
     
    447447msgstr "RSS transliteracija"
    448448
    449 #: classes/settings-fields.php:353
     449#: classes/settings-fields.php:353 classes/utilities.php:1427
    450450msgid "Exclusion"
    451451msgstr "Izuzimanje"
     
    588588msgstr "Transliteracija je onemogućena"
    589589
    590 #: classes/settings-fields.php:536 classes/settings.php:675
     590#: classes/settings-fields.php:536 classes/settings.php:692
    591591#: classes/settings/page-shortcodes.php:8 classes/settings/page-tags.php:5
    592592msgid "Cyrillic to Latin"
    593593msgstr "Ćirilica na latinicu"
    594594
    595 #: classes/settings-fields.php:537 classes/settings.php:676
     595#: classes/settings-fields.php:537 classes/settings.php:693
    596596#: classes/settings/page-shortcodes.php:14 classes/settings/page-tags.php:8
    597597msgid "Latin to Cyrillic"
     
    723723#: classes/settings-fields.php:950 classes/settings-fields.php:969
    724724#: classes/settings-fields.php:1031 classes/settings-fields.php:1070
    725 #: classes/settings.php:679 classes/settings.php:683 classes/settings.php:687
    726 #: classes/settings.php:691
     725#: classes/settings.php:696 classes/settings.php:700 classes/settings.php:704
     726#: classes/settings.php:708
    727727msgid "Yes"
    728728msgstr "Da"
     
    735735#: classes/settings-fields.php:951 classes/settings-fields.php:970
    736736#: classes/settings-fields.php:1032 classes/settings-fields.php:1071
    737 #: classes/settings.php:680 classes/settings.php:684 classes/settings.php:688
    738 #: classes/settings.php:692
     737#: classes/settings.php:697 classes/settings.php:701 classes/settings.php:705
     738#: classes/settings.php:709
    739739msgid "No"
    740740msgstr "Ne"
     
    994994msgstr "Postavke spremljene."
    995995
    996 #: classes/settings.php:77 classes/settings.php:697
     996#: classes/settings.php:77 classes/settings.php:714
    997997msgid "Settings"
    998998msgstr "Postavke"
     
    10731073msgstr "Opće postavke"
    10741074
    1075 #: classes/settings.php:271 classes/settings.php:698
     1075#: classes/settings.php:271 classes/settings.php:715
    10761076msgid "Documentation"
    10771077msgstr "Dokumentacija"
    10781078
    1079 #: classes/settings.php:275 classes/settings.php:699
     1079#: classes/settings.php:275 classes/settings.php:716
    10801080msgid "Tools"
    10811081msgstr "Alati"
    10821082
    1083 #: classes/settings.php:279 classes/settings.php:700
     1083#: classes/settings.php:279 classes/settings.php:717
    10841084msgid "Debug"
    10851085msgstr "Otkloniti neispravnost"
    10861086
    1087 #: classes/settings.php:283 classes/settings.php:601 classes/settings.php:701
     1087#: classes/settings.php:283 classes/settings.php:616 classes/settings.php:718
    10881088#: classes/settings/page-credits.php:58
    10891089msgid "Credits"
    10901090msgstr "Zasluge"
    10911091
    1092 #: classes/settings.php:337 classes/settings.php:345
     1092#: classes/settings.php:339 classes/settings.php:348
    10931093msgid "Save Changes"
    10941094msgstr "Spremi promjene"
    10951095
    1096 #: classes/settings.php:391
     1096#: classes/settings.php:394
    10971097msgid "Available shortcodes"
    10981098msgstr "Dostupni kratki kodovi"
    10991099
    1100 #: classes/settings.php:427
     1100#: classes/settings.php:432
    11011101msgid "Available PHP Functions"
    11021102msgstr "Dostupne PHP funkcije"
    11031103
    1104 #: classes/settings.php:463
     1104#: classes/settings.php:470
    11051105msgid "Available Tags"
    11061106msgstr "Dostupni tagovi"
    11071107
    1108 #: classes/settings.php:508
     1108#: classes/settings.php:517
    11091109msgid "Converter for transliterating Cyrillic into Latin and vice versa"
    11101110msgstr "Pretvarač za transliteraciju ćirilice u latinicu i obrnuto"
    11111111
    1112 #: classes/settings.php:537
     1112#: classes/settings.php:548
    11131113msgid "Permalink Transliteration Tool"
    11141114msgstr "Alat za transliteraciju trajne veze"
    11151115
    1116 #: classes/settings.php:573
     1116#: classes/settings.php:586
    11171117msgid "Debug information"
    11181118msgstr "Informacije o ispravci pogrešaka"
    11191119
    1120 #: classes/settings.php:654
     1120#: classes/settings.php:671
    11211121msgid "WordPress Transliterator"
    11221122msgstr "WordPress Transliteracija"
    11231123
    1124 #: classes/settings.php:695
     1124#: classes/settings.php:712
    11251125msgid "Quick Access:"
    11261126msgstr "Brzi pristup:"
    11271127
    1128 #: classes/settings.php:702
     1128#: classes/settings.php:719
    11291129msgid "Rate us"
    11301130msgstr "Ocijeni nas"
    11311131
    1132 #: classes/settings.php:706
     1132#: classes/settings.php:723
    11331133msgid "Current Settings:"
    11341134msgstr "Trenutne postavke:"
    11351135
    1136 #: classes/settings.php:708
     1136#: classes/settings.php:725
    11371137msgid "Transliteration Mode:"
    11381138msgstr "Način transliteracije:"
    11391139
    1140 #: classes/settings.php:709
     1140#: classes/settings.php:726
    11411141msgid "Cache Support:"
    11421142msgstr "Podrška za keširanje:"
    11431143
    1144 #: classes/settings.php:710
     1144#: classes/settings.php:727
    11451145msgid "Media Transliteration:"
    11461146msgstr "Transliteracija medija:"
    11471147
    1148 #: classes/settings.php:711
     1148#: classes/settings.php:728
    11491149msgid "Permalink Transliteration:"
    11501150msgstr "Transliteraciju trajnih veza:"
    11511151
    1152 #: classes/settings.php:714
     1152#: classes/settings.php:731
    11531153msgid ""
    11541154"Transliterator plugin options are not yet available. Please update plugin "
     
    11581158"postavke dodatka!"
    11591159
    1160 #: classes/settings.php:717
     1160#: classes/settings.php:734
    11611161msgid "Recommendations:"
    11621162msgstr "Preporuke:"
    11631163
    1164 #: classes/settings.php:718
     1164#: classes/settings.php:735
    11651165msgid ""
    11661166"Explore these recommended tools and resources that complement our plugin."
     
    12651265"51, Fifth Floor, Boston, MA 02110-1301, USA."
    12661266
    1267 #: classes/settings/page-debug.php:12
     1267#: classes/settings/page-debug.php:13
    12681268msgid "Plugin ID"
    12691269msgstr "ID dodatka"
    12701270
    1271 #: classes/settings/page-debug.php:16
     1271#: classes/settings/page-debug.php:17
    12721272msgid "Plugin version"
    12731273msgstr "Verzija dodatka"
    12741274
    1275 #: classes/settings/page-debug.php:20
     1275#: classes/settings/page-debug.php:21
    12761276msgid "WordPress version"
    12771277msgstr "Sajt verzija meta tag"
    12781278
    1279 #: classes/settings/page-debug.php:24
     1279#: classes/settings/page-debug.php:25
    12801280msgid "Last plugin update"
    12811281msgstr "Zadnje ažuriranje dodatka"
    12821282
    1283 #: classes/settings/page-debug.php:28
     1283#: classes/settings/page-debug.php:29
    12841284msgid "PHP version"
    12851285msgstr "PHP verzija"
    12861286
    1287 #: classes/settings/page-debug.php:32
     1287#: classes/settings/page-debug.php:33
    12881288msgid "PHP version ID"
    12891289msgstr "PHP ID verzije"
    12901290
    1291 #: classes/settings/page-debug.php:36
     1291#: classes/settings/page-debug.php:37
    12921292msgid "PHP architecture"
    12931293msgstr "PHP arhitektura"
    12941294
    1295 #: classes/settings/page-debug.php:37 classes/settings/page-debug.php:105
     1295#: classes/settings/page-debug.php:38 classes/settings/page-debug.php:106
    12961296#, php-format
    12971297msgid "%d bit"
    12981298msgstr "%d bit"
    12991299
    1300 #: classes/settings/page-debug.php:40
     1300#: classes/settings/page-debug.php:41
    13011301msgid "WordPress debug"
    13021302msgstr "WordPress ispravka grešaka"
    13031303
    1304 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
    1305 #: classes/settings/page-debug.php:50
     1304#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1305#: classes/settings/page-debug.php:51
    13061306msgid "On"
    13071307msgstr "Uključeno"
    13081308
    1309 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
    1310 #: classes/settings/page-debug.php:50
     1309#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1310#: classes/settings/page-debug.php:51
    13111311msgid "Off"
    13121312msgstr "Isključeno"
    13131313
    1314 #: classes/settings/page-debug.php:44
     1314#: classes/settings/page-debug.php:45
    13151315msgid "WordPress multisite"
    13161316msgstr "WordPress multi sajt"
    13171317
    1318 #: classes/settings/page-debug.php:49
     1318#: classes/settings/page-debug.php:50
    13191319msgid "WooCommerce active"
    13201320msgstr "WooCommerce je aktivan"
    13211321
    1322 #: classes/settings/page-debug.php:54
     1322#: classes/settings/page-debug.php:55
    13231323msgid "WooCommerce version"
    13241324msgstr "WooCommerce verzija"
    13251325
    1326 #: classes/settings/page-debug.php:60
     1326#: classes/settings/page-debug.php:61
    13271327msgid "Site title"
    13281328msgstr "Poruka dobrodošlice"
    13291329
    1330 #: classes/settings/page-debug.php:68
     1330#: classes/settings/page-debug.php:69
    13311331msgid "Tagline"
    13321332msgstr "Slogan"
    13331333
    1334 #: classes/settings/page-debug.php:76
     1334#: classes/settings/page-debug.php:77
    13351335msgid "WordPress address (URL)"
    13361336msgstr "WordPress URL adresa"
    13371337
    1338 #: classes/settings/page-debug.php:80
     1338#: classes/settings/page-debug.php:81
    13391339msgid "Admin email"
    13401340msgstr "Email administratora"
    13411341
    1342 #: classes/settings/page-debug.php:84
     1342#: classes/settings/page-debug.php:85
    13431343msgid "Encoding for pages and feeds"
    13441344msgstr "Kodiranje za stranice i sažetke sadržaja"
    13451345
    1346 #: classes/settings/page-debug.php:88
     1346#: classes/settings/page-debug.php:89
    13471347msgid "Content-Type"
    13481348msgstr "Vrsta sadržaja"
    13491349
    1350 #: classes/settings/page-debug.php:92
     1350#: classes/settings/page-debug.php:93
    13511351msgid "Site Language"
    13521352msgstr "Jezik web-mjesta"
    13531353
    1354 #: classes/settings/page-debug.php:96
     1354#: classes/settings/page-debug.php:97
    13551355msgid "Server time"
    13561356msgstr "Vrijeme poslužitelja"
    13571357
    1358 #: classes/settings/page-debug.php:100
     1358#: classes/settings/page-debug.php:101
    13591359msgid "WordPress directory path"
    13601360msgstr "Put direktorija WordPress-a"
    13611361
    1362 #: classes/settings/page-debug.php:104
     1362#: classes/settings/page-debug.php:105
    13631363msgid "Operting system"
    13641364msgstr "Operacijski sustav"
    13651365
    1366 #: classes/settings/page-debug.php:108
     1366#: classes/settings/page-debug.php:109
    13671367msgid "User agent"
    13681368msgstr "Korisnički agent"
    13691369
    1370 #: classes/settings/page-debug.php:112
     1370#: classes/settings/page-debug.php:113
    13711371msgid "Plugin directory path"
    13721372msgstr "Put direktorija dodatka"
    13731373
    1374 #: classes/settings/page-debug.php:121
     1374#: classes/settings/page-debug.php:124
    13751375msgid "Plugin settings"
    13761376msgstr "Postavke dodatka"
    1377 
    1378 #: classes/settings/page-debug.php:125
    1379 msgid "Option name"
    1380 msgstr "Ime opcije"
    1381 
    1382 #: classes/settings/page-debug.php:126 classes/settings/page-debug.php:136
    1383 msgid "Value"
    1384 msgstr "Vrijednost"
    1385 
    1386 #: classes/settings/page-debug.php:135
    1387 msgid "Key"
    1388 msgstr "Ključ"
    13891377
    13901378#: classes/settings/page-functions.php:4
     
    18871875msgstr "Dev Mode (samo za programere i testere)"
    18881876
    1889 #: classes/utilities.php:886
     1877#: classes/utilities.php:915
    18901878#, php-format
    18911879msgid "Failed to delete plugin translation: %s"
    18921880msgstr "Nije uspjelo brisanje prijevoda dodatka: %s"
     1881
     1882#: classes/utilities.php:1096
     1883msgid " degrees "
     1884msgstr " stupnjeva "
     1885
     1886#: classes/utilities.php:1097
     1887msgid " divided by "
     1888msgstr " podjeljeno sa "
     1889
     1890#: classes/utilities.php:1098
     1891msgid " times "
     1892msgstr " puta "
     1893
     1894#: classes/utilities.php:1099
     1895msgid " plus-minus "
     1896msgstr " plus-minus "
     1897
     1898#: classes/utilities.php:1100
     1899msgid " square root "
     1900msgstr " korijen "
     1901
     1902#: classes/utilities.php:1101
     1903msgid " infinity "
     1904msgstr " beskonačno "
     1905
     1906#: classes/utilities.php:1102
     1907msgid " almost equal to "
     1908msgstr " gotovo jednak "
     1909
     1910#: classes/utilities.php:1103
     1911msgid " not equal to "
     1912msgstr " nije jednako "
     1913
     1914#: classes/utilities.php:1104
     1915msgid " identical to "
     1916msgstr " identična "
     1917
     1918#: classes/utilities.php:1105
     1919msgid " less than or equal to "
     1920msgstr " manje ili jednako "
     1921
     1922#: classes/utilities.php:1106
     1923msgid " greater than or equal to "
     1924msgstr " veći ili jednak "
     1925
     1926#: classes/utilities.php:1107
     1927msgid " left "
     1928msgstr " lijevo "
     1929
     1930#: classes/utilities.php:1108
     1931msgid " right "
     1932msgstr " desno "
     1933
     1934#: classes/utilities.php:1109
     1935msgid " up "
     1936msgstr " gore "
     1937
     1938#: classes/utilities.php:1110
     1939msgid " down "
     1940msgstr " dolje "
     1941
     1942#: classes/utilities.php:1111
     1943msgid " left and right "
     1944msgstr " lijevo i desno "
     1945
     1946#: classes/utilities.php:1112
     1947msgid " up and down "
     1948msgstr " gore i dolje "
     1949
     1950#: classes/utilities.php:1113
     1951msgid " care of "
     1952msgstr " brinuti o "
     1953
     1954#: classes/utilities.php:1114
     1955msgid " estimated "
     1956msgstr "  procijenjeno  "
     1957
     1958#: classes/utilities.php:1115
     1959msgid " ohm "
     1960msgstr " om "
     1961
     1962#: classes/utilities.php:1116
     1963msgid " female "
     1964msgstr " žena "
     1965
     1966#: classes/utilities.php:1117
     1967msgid " male "
     1968msgstr " muški "
     1969
     1970#: classes/utilities.php:1118
     1971msgid " Copyright "
     1972msgstr " Autorska prava "
     1973
     1974#: classes/utilities.php:1119
     1975msgid " Registered "
     1976msgstr " Registriran "
     1977
     1978#: classes/utilities.php:1120
     1979msgid " Trademark "
     1980msgstr " Zaštitni znak "
     1981
     1982#: classes/utilities.php:1449
     1983msgid "Option name"
     1984msgstr "Ime opcije"
     1985
     1986#: classes/utilities.php:1450 classes/utilities.php:1464
     1987msgid "Value"
     1988msgstr "Vrijednost"
     1989
     1990#: classes/utilities.php:1463
     1991msgid "Key"
     1992msgstr "Ključ"
    18931993
    18941994#: classes/wp-cli.php:60
     
    19202020msgid "No changes to the permalink have been made."
    19212021msgstr "Nema promjena na stalnim vezama."
    1922 
    1923 #: constants.php:167
    1924 msgid " degrees "
    1925 msgstr " stupnjeva "
    1926 
    1927 #: constants.php:169
    1928 msgid " divided by "
    1929 msgstr " podjeljeno sa "
    1930 
    1931 #: constants.php:169
    1932 msgid " times "
    1933 msgstr " puta "
    1934 
    1935 #: constants.php:169
    1936 msgid " plus-minus "
    1937 msgstr " plus-minus "
    1938 
    1939 #: constants.php:169
    1940 msgid " square root "
    1941 msgstr " korijen "
    1942 
    1943 #: constants.php:170
    1944 msgid " infinity "
    1945 msgstr " beskonačno "
    1946 
    1947 #: constants.php:170
    1948 msgid " almost equal to "
    1949 msgstr " gotovo jednak "
    1950 
    1951 #: constants.php:170
    1952 msgid " not equal to "
    1953 msgstr " nije jednako "
    1954 
    1955 #: constants.php:171
    1956 msgid " identical to "
    1957 msgstr " identična "
    1958 
    1959 #: constants.php:171
    1960 msgid " less than or equal to "
    1961 msgstr " manje ili jednako "
    1962 
    1963 #: constants.php:171
    1964 msgid " greater than or equal to "
    1965 msgstr " veći ili jednak "
    1966 
    1967 #: constants.php:172
    1968 msgid " left "
    1969 msgstr " lijevo "
    1970 
    1971 #: constants.php:172
    1972 msgid " right "
    1973 msgstr " desno "
    1974 
    1975 #: constants.php:172
    1976 msgid " up "
    1977 msgstr " gore "
    1978 
    1979 #: constants.php:172
    1980 msgid " down "
    1981 msgstr " dolje "
    1982 
    1983 #: constants.php:173
    1984 msgid " left and right "
    1985 msgstr " lijevo i desno "
    1986 
    1987 #: constants.php:173
    1988 msgid " up and down "
    1989 msgstr " gore i dolje "
    1990 
    1991 #: constants.php:173
    1992 msgid " care of "
    1993 msgstr " brinuti o "
    1994 
    1995 #: constants.php:174
    1996 msgid " estimated "
    1997 msgstr "  procijenjeno  "
    1998 
    1999 #: constants.php:174
    2000 msgid " ohm "
    2001 msgstr " om "
    2002 
    2003 #: constants.php:174
    2004 msgid " female "
    2005 msgstr " žena "
    2006 
    2007 #: constants.php:174
    2008 msgid " male "
    2009 msgstr " muški "
    2010 
    2011 #: constants.php:175
    2012 msgid " Copyright "
    2013 msgstr " Autorska prava "
    2014 
    2015 #: constants.php:175
    2016 msgid " Registered "
    2017 msgstr " Registriran "
    2018 
    2019 #: constants.php:175
    2020 msgid " Trademark "
    2021 msgstr " Zaštitni znak "
    20222022
    20232023#: functions.php:95
  • serbian-transliteration/trunk/languages/serbian-transliteration-sr_RS.l10n.php

    r3270599 r3328833  
    11<?php
    2 // generated by Poedit from serbian-transliteration-sr_RS.po, do not edit directly 
    3 return ['domain'=>NULL,'plural-forms'=>'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);','language'=>'sr_RS','pot-creation-date'=>'2025-04-10 18:25+0200','po-revision-date'=>'2025-04-10 18:37+0200','translation-revision-date'=>'2025-04-10 18:37+0200','project-id-version'=>'Serbian Transliteration','x-generator'=>'Poedit 3.6','messages'=>['undefined'=>'недефинисано','Freelance Jobs - Find or post freelance jobs'=>'Фриленс послови - Пронађи или објави фриленс послове','Contra Team - A complete hosting solution in one place'=>'Contra Team - Комплетно решење за хостинг на једном месту','Transliteration'=>'Пресловљавање','Latin'=>'Латиница','Cyrillic'=>'Ћирилица','Help'=>'Помоћ','To insert language script selector just add a relative link after the link\'s keyword, example :'=>'Да бисте уметнули бирач скрипте језика, додајте релативну везу после кључне речи везе, на пример:','You can also use'=>'Такође можете користити','for change to Latin or use'=>'за промену у латиницу или','for change to Cyrillic'=>'за промену на ћирилицу','Add to Menu'=>'Додај у изборник','The name of this navigation is written by always putting the Latin name first, then the Cyrillic one second, separated by the sign %s'=>'Назив ове навигације пише се тако што се на прво место увек ставља латинични назив, а затим ћирилични на друго место, одвојено знаком %s','Example: Latinica | Ћирилица'=>'Пример: Latinica | Ћирилица','Note that the white space around them will be cleared.'=>'Имајте на уму да ће се размак око њих очистити.','You have been using <b> %1$s </b> plugin for a while. We hope you liked it!'=>'Већ неко време користите <b>%1$s</b>. Надамо се да вам се допада!','Please give us a quick rating, it works as a boost for us to keep working on the plugin!'=>'Молимо вас за једну брзу оцену, то нам делује као подстицај да наставимо да радимо на додатку!','Rate Now!'=>'Оцените нас!','I\'ve already done that!'=>'То сам већ учинио!','Hey there! It\'s been a while since you\'ve been using the <b> %1$s </b> plugin'=>'Хеј тамо! Прошло је доста времена од када си инсталирао додатак за <b> %1$s </b>','I\'m glad to hear you\'re enjoying the plugin. I\'ve put a lot of time and effort into ensuring that your website runs smoothly. If you\'re feeling generous, how about %s for my hard work? 😊'=>'Тако ми је драго да ти се допада додатак. Уложио сам много времена и љубави како бих осигурао да твоја веб локација ради несметано. Ако се осећаш великодушно, шта кажеш %s за труд? 😊','treating me to a coffee'=>'да ме почастиш једном кафом','Or simply %s forever.'=>'Или једноставно %s заувек.','hide this message'=>'сакриј ову поруку','Hey there! It\'s been a while since you\'ve been using the <b>%1$s</b> plugin'=>'Поздрав! Већ неко време користиш додатак за <b>%1$s</b>','I\'m really happy to see this plugin being useful for your website. If you ever feel like giving back, here\'s one way to do it.'=>'Баш ми је драго што је овај додатак користан за твој сајт. Ако икада пожелиш да узвратиш подршком, ево једног начина да то учиниш.','Bank account (Banca Intesa a.d. Beograd):'=>'Број рачуна (Банка Интеса а.д. Београд):','Every little bit helps, and I truly appreciate it! ❤️'=>'Свака помоћ значи, и искрено сам захвалан! ❤️','Find Work or %1$s in Serbia, Bosnia, Croatia, and Beyond!'=>'Пронађи посао или %1$s у Србији, Босни, Хрватској и шире!','Visit %2$s to connect with skilled professionals across the region. Whether you need a project completed or are looking for work, our platform is your gateway to successful collaboration.'=>'Посетите %2$s да бисте се повезали са вештим професионалцима широм региона. Било да вам је потребан завршен пројекат или тражите посао, наша платформа је ваша капија за успешну сарадњу.','Hire Top Freelancers'=>'aнгажуј врхунске фриленсере','Freelance Jobs'=>'Фриленс послови','Join us today!'=>'Придружи нам се данас!','This plugin uses cookies and should be listed in your Privacy Policy page to prevent privacy issues.'=>'Овај додатак користи колачиће и требао би бити наведен на вашој страници политике приватности како би се спречили проблеми са приватношћу.','Suggested text:'=>'Предложени текст:','This website uses the %1$s plugin to transliterate content.'=>'Ова веб локација користи додатак %1$s за пресловљавање садржаја.','This is a simple and easy add-on with which this website translates content from Cyrillic to Latin and vice versa. This transliteration plugin also supports special shortcodes and functions that use cookies to specify the language script.'=>'Ово је једноставан и лаган додатак са којим ова веб локација преводи садржај са ћирилице на латиницу и обрнуто. Овај додатак за преслољавање (транслитерацију) такође подржава посебне кратке кодове и функције које користе колачиће за одређивање језичке скрипте.','These cookies do not affect your privacy because they are not intended for tracking and analytics. These cookies can have only two values: "%1$s" or "%2$s".'=>'Ови колачићи не утичу на вашу приватност јер нису намењени за праћење и аналитику. Ови колачићи могу имати само две вредности: "%1$s" или "%2$s".','Important upgrade notice for the version %s:'=>'Важно обавештење о надоградњи за верзију %s:','NOTE: Before doing the update, it would be a good idea to backup your WordPress installations and settings.'=>'НАПОМЕНА: Пре него што извршите ажурирање, било би добро да направите резервне копије ваших WordPress инсталација и подешавања.','The %1$s cannot run on PHP versions older than PHP %2$s. Please contact your host and ask them to upgrade.'=>'%1$s не може да се покреће на PHP верзијама старијим од PHP%2$s. Молимо контактирајте свог сервер администратора и замолите га да изврши надоградњу.','Transliteration plugin requires attention:'=>'Додатак за пресловљавање захтева пажњу:','Your plugin works under Only WooCoomerce mode and you need to %s because WooCommerce is no longer active.'=>'Ваш додатак ради у WooCoomerce режиму и требате %s јер WooCoomerce више није активан.','update your settings'=>'ажурирати своја подешавања','Transliteration plugin requires a Multibyte String PHP extension (mbstring).'=>'Додатак за пресловљавање захтева "Multibyte String PHP " екстензију (mbstring).','Without %s you will not be able to use this plugin.'=>'Без %s нећете моћи да користите овај додатак.','Multibyte String Installation'=>'Multibyte String инсталација','this PHP extension'=>'ове PHP екстензије','The %1$s cannot run on WordPress versions older than %2$s. Please update your WordPress installation.'=>'%1$s не може да се покреће за верзије WordPress-а старије од %2$s. Ажурирајте своју WordPress инсталацију.','Global Settings'=>'Глобална подешавања','My site is'=>'Мој сајт је','Transliteration Mode'=>'Режим пресловљавања','First visit mode'=>'Режим прве посете','Language scheme'=>'Језичка шема','Plugin Mode'=>'Начин рада додатка','Force transliteration permalinks to latin'=>'Присилите пресловљавање трајних веза (пермалинкова) на латиницу','Filters'=>'Филтери','Transliteration Filters'=>'Филтери за пресловљавање','Exclude Latin words that you do not want to be transliterated to the Cyrillic.'=>'Искључите латиничне речи за које не желите да се преслове у ћирилицу.','Exclude Cyrillic words that you do not want to be transliterated to the Latin.'=>'Изузмите ћириличне речи за које не желите да се пресловите у латиницу.','Special Settings'=>'Специјална подешавања','Enable cache support'=>'Омогућите подршку за кеширање','Force widget transliteration'=>'Присилно пресловљавање виџета','Force e-mail transliteration'=>'Присилно пресловљавање е-маил порука','Force transliteration for WordPress REST API'=>'Форсирај пресловљавање за WordPress REST API позиве','Force transliteration for AJAX calls'=>'Форсирај пресловљавање за AJAX позиве','EXPERIMENTAL'=>'ЕКСПЕРИМЕНТАЛНО','WP Admin'=>'Административни део','WP-Admin transliteration'=>'Пресловљавање администрације','Allow Cyrillic Usernames'=>'Дозволи ћирилична корисничка имена','Allow Admin Tools'=>'Дозволи админ алатке','Media Settings'=>'Подешавање садржаја и фајлова','Transliterate filenames to latin'=>'Транскрипција медија фајлова на латиницу','Filename delimiter'=>'Раздвајање речи у имену фајла','WordPress Search'=>'WordPress претрага','Enable search transliteration'=>'Активирај пресловљавање претраге','Fix Diacritics'=>'Поправите дијакритику','Search Mode'=>'Врста претраге','SEO Settings'=>'СЕО (Search engine optimization) подешавања','Parameter URL selector'=>'Бирач УРЛ-а параметра','RSS transliteration'=>'Пресловљавање "RSS" документа','Exclusion'=>'Искључење','Language: %s'=>'Језик: %s','Misc.'=>'Разно','Enable body class'=>'Омогући "body" класу','Theme Support'=>'Подршка за теме','Light Up Our Day!'=>'Осветлите наш дан!','Contributors & Developers'=>'Сарадници и програмери','This setting determines the mode of operation for the Transliteration plugin.'=>'Ово подешавање одређује начин рада додатка за пресловљавање.','Carefully choose the option that is best for your site and the plugin will automatically set everything you need for optimal performance.'=>'Пажљиво изаберите опцију која је најбоља за вашу страницу и додатак ће аутоматски поставити све што је потребно за оптималне перформансе.','This section contains filters for exclusions, allowing you to specify content that should be excluded from transliteration, and also includes a filter to disable certain WordPress filters related to transliteration.'=>'Овај одељак садржи филтере за изузимања, који вам омогућавају да одредите садржај који треба да буде искључен из транслитерације, а такође укључује филтер за онемогућавање одређених WordPress филтера који се односе на транслитерацију.','These are special settings that can enhance transliteration and are used only if you need them.'=>'Ово су посебна подешавања која могу побољшати транслитерацију и користе се само ако су вам неопходна.','These settings apply to the administrative part.'=>'Ова подешавања се односе на административни део.','Upload, view and control media and files.'=>'Отпремање, прегледање и контрола медија и датотека.','Our plugin also has special SEO options that are very important for your project.'=>'Наш додатак такође има посебне СЕО опције које су веома важне за ваш пројекат.','Within this configuration section, you have the opportunity to customize your experience by selecting the particular languages for which you wish to turn off the transliteration function. This feature is designed to give you greater control and adaptability over how the system handles transliteration, allowing you to disable it for specific languages based on your individual needs or preferences.'=>'У оквиру овог дела за конфигурацију, имате прилику да прилагодите своје искуство тако што ћете изабрати одређене језике за које желите да искључите функцију транслитерације. Ова функција је дизајнирана да вам пружи већу контролу и прилагодљивост у вези са начином на који систем обрађује транслитерацију, омогућавајући вам да је искључите за специфичне језике на основу ваших индивидуалних потреба или преференци.','Various interesting settings that can be used in the development of your project.'=>'Разне занимљиве поставке које се могу користити у развоју вашег пројекта.','This setting determines the search mode within the WordPress core depending on the type of language located in the database.'=>'Ово подешавање одређује режим претраживања у језгру WordPress-а у зависности од врсте језика који се налази у бази података.','The search type setting is mostly experimental and you need to test each variant so you can get the best result you need.'=>'Подешавање типа претраге је углавном експериментално и треба да тестирате сваку варијанту како бисте постигли најбољи резултат који вам је потребан.','Arabic'=>'Арапски','Armenian'=>'Арменијски','Define whether your primary alphabet on the site is Latin or Cyrillic. If the primary alphabet is Cyrillic then choose Cyrillic. If it is Latin, then choose Latin. This option is crucial for the plugin to work properly.'=>'Дефинишите да ли је ваше примарно писмо на сајту латиница или ћирилица. Ако је примарно писмо ћирилица онда одаберите ћирилицу. Ако је латиница, онда одаберите латиницу. Ова опција је кључна за исправан рад плугина.','Define whether your primary alphabet on the site.'=>'Одредите да ли је ваш примарни алфабет на сајту.','Transliteration disabled'=>'Угаси пресловљавање','Cyrillic to Latin'=>'Ћирилица у латиницу','Latin to Cyrillic'=>'Латиница у ћирилицу','Arabic to Latin'=>'Арапски у латиницу','Latin to Arabic'=>'Латиница у арапски','Armenian to Latin'=>'Арменијски у латиницу','Latin to Armenian'=>'Латиница у арменијски','This option determines the global transliteration of your web site. If you do not want to transliterate the entire website and use this plugin for other purposes, disable this option. This option does not affect to the functionality of short codes and tags.'=>'Ова опција одређује глобално пресловљавање ваше веб странице. Ако не желите да пресловите целу веб локацију и користите овај додатак у друге сврхе, онемогућите ову опцију. Ова опција не утиче на функционалност кратких кодова и ознака.','This option determines the type of language script that the visitors sees when they first time come to your site.'=>'Ова опција одређује врсту скрипте на језику коју посетиоци виде када први пут дођу на вашу страницу.','Automatical'=>'Аутоматски','This option defines the language script. Automatic script detection is the best way but if you are using a WordPress installation in a language that does not match the scripts supported by this plugin, then choose on which script you want the transliteration to be performed.'=>'Ова опција дефинише језичко писмо. Аутоматско откривање скрипти је најбољи начин, али ако користите WordPress инсталацију на језику који се не подудара са скриптама које подржава овај додатак, онда одаберите на којој скрипти желите да се изврши транслитерација.','This option configures the operating mode of the entire plugin and affects all aspects of the site related to transliteration. Each mode has its own set of filters, which are activated based on your specific needs. It\'s important to take the time to review and customize these settings according to your preferences.'=>'Ова опција конфигурише оперативни режим целог додатка и утиче на све аспекте сајта који су везани за транслитерацију. Сваки режим има свој скуп филтера, који се активирају на основу ваших специфичних потреба. Важно је да одвојите време да прегледате и прилагодите ова подешавања према вашим преференцијама.','Forced transliteration can sometimes cause problems if Latin is translated into Cyrillic in pages and posts. To this combination must be approached experimentally.'=>'Принудно пресловљавање понекад може да створи проблеме ако се латиница на страницама и у порукама преведе на ћирилицу. Овој комбинацији се мора приступити експериментално.','Exclude filters you don\'t need (optional)'=>'Уклоните филтере који вам нису потребни (опционално)','Select the transliteration filters you want to exclude.'=>'Изаберите филтере за пресловљавање које желите да уклоните (искључите).','The filters you select here will not be transliterated (these filters do not work on forced transliteration).'=>'Овде изабрани филтри неће бити пресловљени (ови филтери не раде на присилном пресловљавању).','TIPS & TRICKS:'=>'САВЕТИ И ТРИКОВИ:','You can find details about some of the listed filters in this article:'=>'Детаље о неким од наведених филтера можете пронаћи у овом чланку:','Since you are already a WooCommerce user, you also can see the following documentation: %s'=>'Пошто сте већ корисник WooCommerce-а, можете видети и следећу документацију: %s','Separate words, phrases, names and expressions with the sign %s or put it in a new row. HTML is not allowed.'=>'Одвојите речи, фразе, имена и изразе знаком %s или их ставите у нови ред. HTML није дозвољен.','Yes'=>'Да','No'=>'Не','If you have a problem caching your pages, our plugin solves this problem by clearing the cache when changing the language script.'=>'Ако имате проблем са кеширањем страница, наша додатна компонента решава овај проблем брисањем кеш меморије приликом промене скрипте језика.','This option forces the widget to transliterate. There may be some unusual behaviour in the rare cases.'=>'Ова опција приморава виџете да се преслове. У ретким случајевима може бити необичног понашања.','Enable this feature if you want to force transliteration of email content.'=>'Омогућите ову функцију ако желите да форсирате транслитерацију садржаја е-поште.','Enable this feature if you want to force transliteration of WordPress REST API calls. The WordPress REST API is also used in many AJAX calls, WooCommerce, and page builders. It is recommended to be enabled by default.'=>'Омогућите ову функцију ако желите да принудно извршите транслитерацију позива WordPress REST API-ја. WordPress REST API се такође користи у многим AJAX позивима, WooCommerce-у и градитељима страница. Препоручује се да буде омогућено по подразумеваном.','Enable this feature if you want to force transliteration of AJAX calls. If you want to avoid transliteration of specific individual AJAX calls, you must add a new POST or GET parameter to your AJAX call: %s'=>'Омогућите ову функцију ако желите да приморате пресловљавање AJAX позива. Ако желите да избегнете пресловљавање одређених појединачних AJAX позива, морате додати нови POST или GET параметар %s на ваш AJAX позив.','Enable if you want the WP-Admin area to be transliterated.'=>'Омогућите ако желите да се WP-Admin област пресловљава.','Allows to create users with usernames containing Cyrillic characters.'=>'Омогућава стварање корисника са корисничким именима која садрже ћириличне знакове.','This feature enables you to easily transliterate titles and content directly within the WordPress editor. This functionality is available for various content types, including categories, pages, posts, and custom post types, ensuring a seamless experience when managing multilingual content on your site. With just a few clicks, you can switch between scripts, making your content accessible to a broader audience.'=>'Ова функција вам омогућава да лако пресловљавате наслове и садржај директно унутар WordPress едитора. Ова функционалност је доступна за различите типове садржаја, укључујући категорије, странице, постове и прилагођене типове постова, обезбеђујући беспрекорно искуство при управљању вишејезичним садржајем на вашем сајту. Уз само неколико кликова, можете мењати писма, чинећи ваш садржај приступачним широј публици.','Enable if you want to force cyrillic permalinks to latin.'=>'Омогућите ако желите да форсирате ћирилицу на латиницу.','Enable if you want to convert cyrillic filenames to latin.'=>'Омогућите ако желите да претворите ћириличне фајлове у латиницу.','hyphen (default)'=>'цртица (подразумевано)','underscore'=>'доња црта','dot'=>'тачка','tilde'=>'тилда','vartical bar'=>'вертикална трака','asterisk'=>'звездица','Filename delimiter, example:'=>'Одвајање имена фајла. На пример:','my-upload-file.jpg'=>'naziv-moga-fajla.jpg','Approve if you want transliteration for the search field.'=>'Одобрите ако желите пресловљавање поља за претрагу.','Try to fix the diacritics in the search field.'=>'Покушајте да поправите дијакритике у пољу за претрагу.','Automatical (recommended)'=>'Аутоматски (препоручено)','Based on the plugin mode'=>'Базирано на режиму пресловљавања','The search has two working modes. Choose the one that works best with your search.'=>'Претрага има два начина рада. Изаберите ону која најбоље одговара вашој претрази.','(safe)'=>'(сигурно)','(standard)'=>'(стандардно)','(optional)'=>'(опционо)','This option dictates which URL parameter will be used to change the language.'=>'Ова опција диктира који ће се параметар УРЛ-а користити за промену језика.','This option transliterate the RSS feed.'=>'Ова опција пресловљава "RSS" документе.','Transliterate'=>'Преслови','Omit the transliteration'=>'Изостави транслитерацију','This option adds CSS classes to your body HTML tag. These CSS classes vary depending on the language script.'=>'Ова опција додаје CSS класе у вашу HTML ознаку тела. Ове класе CSS-а се разликују у зависности од језичке скрипте.','Enable Theme Support'=>'Омогућите подршку за теме','Disable Theme Support'=>'Онемогућите подршку за теме','If you don\'t require transliteration support for your theme, you can disable it for your current theme here.'=>'Ако вам није потребна подршка за транслитерацију за своју тему, можете је онемогућити за своју тренутну тему овде.','This mode has no filters.'=>'Овај режим нема филтере.','When you find a tool that fits your needs perfectly, and it\'s free, it’s something special. That’s exactly what my plugin is – free, but crafted with love and dedication. To ensure the continued development and improvement of the Transliterator plugin, I have established a foundation to support its future growth.'=>'Када пронађете алат који вам савршено одговара, и уз то је бесплатан, то је нешто посебно. Управо такав је и мој додатак – бесплатан, али створен с љубављу и посвећеношћу. Да бисмо осигурали наставак развоја овог пројекта и унапређење Transliterator додатка, основао сам фондацију за његов даљи развој.','Your support for this project is not just an investment in the tool you use, but also a contribution to the community that relies on it. If you’d like to support the development and enable new features, you can do so through donations:'=>'Ваша подршка овом пројекту није само инвестиција у алат који користите, већ и допринос заједници која зависи од њега. Ако желите да подржите развој и омогућите нове функционалности, можете то учинити путем донација:','Banca Intesa a.d. Beograd'=>'Банка Интеса а.д. Београд','Every donation, no matter the amount, directly supports the ongoing work on the plugin and allows me to continue innovating. Thank you for supporting this project and being part of a community that believes in its importance.'=>'Свака донација, без обзира на износ, директно помаже у даљем раду на додатку и омогућава ми да наставим са иновацијама. Хвала вам што подржавате овај пројекат и што сте део заједнице која верује у његов значај.','With love,'=>'С љубављу,','If you want to support our work and effort, if you have new ideas or want to improve the existing code, %s.'=>'Ако желите да подржите наш рад и труд, ако имате нове идеје или желите да побољшате постојећи код, %s.','join our team'=>'придружите се нашем тиму','Settings saved.'=>'Подешавања су сачувана.','Settings'=>'Подешавања','Shortcodes'=>'Кратки кодови','PHP Functions'=>'PHP функције','5 stars?'=>'5 звезда?','Transliteration Settings'=>'Транслитерација - Подешавање','To Latin'=>'На латиницу','To Cyrillic'=>'На ћирилицу','Transliterate:'=>'Преслови:','Loading...'=>'Причекајте...','Please wait! Do not close the window or leave the page until this operation is completed!'=>'Сачекајте! Не затварајте прозор и не напуштајте страницу док се ова операција не заврши!','DONE!!!'=>'ГОТОВО!!!','PLEASE UPDATE PLUGIN SETTINGS'=>'МОЛИМО АЖУРИРАЈТЕ ПОСТАВКЕ ДОДАТКА','Carefully review the transliteration plugin settings and adjust how it fits your WordPress installation. It is important that every time you change the settings, you test the parts of the site that are affected by this plugin.'=>'Пажљиво прегледајте поставке додатка за пресловљавање и прилагодите како одговара вашој WordPress инсталацији. Важно је да сваки пут када промените поставке тестирате делове веб локације на које утиче овај додатак.','Tags'=>'Тагови','Transliteration Tool'=>'Алат за пресловљавање','Permalink Tool'=>'Алат за трајне везе','General Settings'=>'Глобална подешавања','Documentation'=>'Документација','Tools'=>'Алати','Debug'=>'Дебаговање','Credits'=>'Информације','Save Changes'=>'Сачувај промене','Available shortcodes'=>'Доступни кратки кодови','Available PHP Functions'=>'Доступне PHP функције','Available Tags'=>'Доступни тагови','Converter for transliterating Cyrillic into Latin and vice versa'=>'Конвертор за пресловљавање ћирилице у латиницу и обрнуто','Permalink Transliteration Tool'=>'Алат за пресловљавање трајних веза','Debug information'=>'Информације о отклањању грешака','WordPress Transliterator'=>'WordPress пресловљавање','Quick Access:'=>'Брз приступ:','Rate us'=>'Оцените нас','Current Settings:'=>'Тренутна подешавања:','Transliteration Mode:'=>'Режим пресловљавања:','Cache Support:'=>'Подршка за кеширање:','Media Transliteration:'=>'Пресловљавање медија:','Permalink Transliteration:'=>'Пресловљавање трајних веза:','Transliterator plugin options are not yet available. Please update plugin settings!'=>'Опције Transliterator додатка још увек нису доступне. Молимо вас да ажурирате подешавања додатка!','Recommendations:'=>'Препоруке:','Explore these recommended tools and resources that complement our plugin.'=>'Истражите препоручене алате и ресурсе који употпуњују наш додатак.','Donations'=>'Донације','This plugin is 100% free. If you want to buy us one coffee, beer or in general help the development of this plugin through a monetary donation, you can do it in the following ways:'=>'Овај додатак је 100% бесплатан. Ако желите да нам купите једну кафу, пиво или уопште да помогнете развој овог додатка кроз новчану донацију, то можете учинити на следеће начине:','From Serbia'=>'Из Србије','This is a light weight, simple and easy plugin with which you can transliterate your WordPress installation from Cyrillic to Latin and vice versa in a few clicks. This transliteration plugin also supports special shortcodes that you can use to partially transliterate parts of the content.'=>'Ово је једноставан и лаган додатак са којим ова веб локација преводи садржај са ћирилице на латиницу и обрнуто. Овај додатак за преслољавање (транслитерацију) такође подржава посебне кратке кодове и функције које користе колачиће за одређивање језичке скрипте.','Sponsors of this plugin:'=>'Спонзори овог додатка:','If you want to help develop this plugin and be one of the sponsors, please contact us at: %s'=>'Ако желите да помогнете у развоју овог додатка и будете један од спонзора, контактирајте нас на: %s','Special thanks to the contributors in the development of this plugin:'=>'Посебна захвалност сарадницима у развоју овог додатка:','Copyright'=>'Ауторско право','Copyright &copy; 2020 - %1$d %2$s by %3$s. All Right Reserved.'=>'Ауторско право &copy; 2020 - %1$d %2$s од %3$s. Сва права задржава.','Transliterator – WordPress Transliteration'=>'Пресловљавање - WordPress пресловљавање','This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.'=>'Овај програм је бесплатан софтвер; можете га дистрибуирати и/или модификовати под условима ГНУ (General Public License ) коју је објавила Фондација за слободан софтвер; било верзију 2 лиценце, или (по вашој жељи) било коју новију верзију.','This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'=>'Овај програм се дистрибуира у нади да ће бити користан, али БЕЗ БИЛО КОЈЕ ГАРАНЦИЈЕ; чак ни под подразумеваном гаранцијом ЗА ПРОДАЈУ И СПОСОБНОСТИ ЗА ОДРЕЂЕНУ СВРХУ.','See the GNU General Public License for more details.'=>'Погледајте ГНУ (General Public License) за више детаља.','You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.'=>'Требали сте да добијете копију ГНУ (General Public License ) заједно са овим плугином; ако нисте, обратите се Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.','Plugin ID'=>'Индентификација додатка','Plugin version'=>'Верзија додатка','WordPress version'=>'WordPress верзија','Last plugin update'=>'Последње ажурирање додатка','PHP version'=>'PHP верзија','PHP version ID'=>'Индентификатор PHP верзије','PHP architecture'=>'PHP архитектура','%d bit'=>'%d бита','WordPress debug'=>'WordPress отклањање грешака','On'=>'Укључено','Off'=>'Угашено','WordPress multisite'=>'WordPress мулти сајт','WooCommerce active'=>'WooCommerce је активан','WooCommerce version'=>'WooCommerce верзија','Site title'=>'Наслов сајта','Tagline'=>'Слоган','WordPress address (URL)'=>'WordPress адреса (URL)','Admin email'=>'Е-маил администратора','Encoding for pages and feeds'=>'Енкодирање за странице и храниоце (feeds)','Content-Type'=>'Тип садржаја','Site Language'=>'Језик сајта','Server time'=>'Време сервера','WordPress directory path'=>'Путања WordPress директоријума','Operting system'=>'Оперативни систем','User agent'=>'Кориснички агент','Plugin directory path'=>'Путања директоријума додатака','Plugin settings'=>'Начин рада додатка','Option name'=>'Назив опције','Value'=>'Вредност','Key'=>'Кључ','These are available PHP functions that you can use in your themes and plugins.'=>'Ово су доступне функције које можете користити у својим темама и додацима.','Determines whether the site is already in Cyrillic.'=>'Утврђује да ли је веб локација већ на ћирилици.','This function provides information on whether the currently active language is excluded from transliteration.'=>'Ова функција пружа информације о томе да ли је тренутно активан језик искључен из транслитерације.','Transliteration of some text or content into the desired script.'=>'Пресловљавање одређеног текста или садржаја у жељену скрипту.','The <b><i>$type</i></b> parameter has two values: <code>cyr_to_lat</code> (Cyrillic to Latin) and <code>lat_to_cyr</code> (Latin to Cyrillic)'=>'Параметар <b><i>$type</i></b> има две вредности: <code>cyr_to_lat</code> (ћирилица у латиницу) and <code>lat_to_cyr</code> (латиница у ћирилицу)','Transliteration from Cyrillic to Latin.'=>'Пресловљавање са ћирилице на латиницу.','Transliteration from Latin to Cyrillic.'=>'Пресловљавање са латинице на ћирилицу.','Transliterates Cyrillic characters to Latin, converting them to their basic ASCII equivalents by removing diacritics.'=>'Пресловљава ћириличне карактере у латиницу, претварајући их у основне ASCII еквиваленте уклањањем дијакритика.','Get active script.'=>'Враћа активну скрипту.','This function displays a selector for the transliteration script.'=>'Ова функција приказује навигацију скрипте за транслитерацију.','Parameters'=>'Параметри','This attribute contains an associative set of parameters for this function:'=>'Овај атрибут садржи асоцијативни скуп параметара за ову функцију:','(string) The type of selector that will be displayed on the site. It can be: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Default: %1$s'=>'(стринг) Тип селектора који ће бити приказан на сајту. Може бити: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Подразумевано: "%1$s"','(bool) determines whether it will be displayed through an echo or as a string. Default: %s'=>'(bool) одређује да ли ће се приказивати кроз ехо или као низ. Подразумевано: %s','(string) Separator to be used when the selector type is %s. Default: %s'=>'(стринг) Сепаратор који се користи када је тип селектора %s. Подразумевано: %s','(string) Text for Cyrillic link. Default: %s'=>'(стринг) Текст за ћирилични линк. Подразумевано: %s','(string) Text for Latin link. Default: %s'=>'(стринг) Текст за латинични линк. Подразумевано: %s','This tool enables you to convert all existing Cyrillic permalinks in your database to Latin characters.'=>'Овај алат вам омогућава да конвертујете све постојеће линкове на ћирилици у вашој бази података у латинична слова.','Warning:'=>'Упозорење:','This option is dangerous and can create unexpected problems. Once you run this script, all permalinks in your database will be modified and this can affect on the SEO causing a 404 error.'=>'Ова опција је опасна и може створити неочекиване проблеме. Када покренете овај скрипт, сви линкови у вашој бази података биће модификовани, што може утицати на SEO и изазвати грешку 404.','Before proceeding, consult with your SEO specialist, as you will likely need to resubmit your sitemap and adjust other settings to update the permalinks in search engines.'=>'Пре него што наставите, консултујте се са вашим SEO стручњаком, јер ће вероватно бити потребно да поново пошаљете вашу мапу сајта и прилагодите друга подешавања како бисте ажурирали линкове у претраживачима.','For advanced users, this function can also be executed via WP-CLI using the command'=>'За напредне кориснике, ова функција се може извршити и преко WP-CLI коришћењем команде','Important: Make sure to %s before running this script.'=>'Важно: Уверите се да %s пре него што покренете овај скрипт.','back up your database'=>'направите резервну копију ваше базе података','This tool will affect on the following post types: %s'=>'Ова алатка ће утицати на следеће типове постова: %s','Let\'s do magic'=>'Направимо магију','Are you sure you want this?'=>'Да ли сте сигурни да желите ово?','Disclaimer'=>'Изјава о одрицању одговорности','While this tool is designed to operate safely, there is always a small risk of unpredictable issues.'=>'Иако је овај алат дизајниран да ради безбедно, увек постоји мали ризик од непредвидивих проблема.','Note: We do not guarantee that this tool will function correctly on your server. By using it, you assume all risks and responsibilities for any potential issues.'=>'Напомена: Не гарантујемо да ће овај алат исправно функционисати на вашем серверу. Коришћењем овог алата преузимате све ризике и одговорности за било какве потенцијалне проблеме.','Backup your database before using this tool.'=>'Направите резервну копију ваше базе података пре него што употребите овај алат.','These are available shortcodes that you can use in your content, visual editors, themes and plugins.'=>'Ово су доступни кратки кодови које можете да користите у свом садржају, визуелним уређивачима, темама и додацима.','Skip transliteration'=>'Избегни пресловљавање','Keep this original'=>'Сачувај ово оригинално','(optional) correct HTML code.'=>'(опционално) подржава ХТМЛ тагове.','Optional shortcode parameters'=>'Опционални параметри кратког кода','(optional) correct diacritics.'=>'(опционално) тачна дијакритика.','Add an image depending on the language script'=>'Додајте слику у зависности од писма','With this shortcode you can manipulate images and display images in Latin or Cyrillic depending on the setup.'=>'Овим кратким кодом можете да манипулишете сликама и приказујете слике на латиници или ћирилици, у зависности од подешавања.','Example'=>'Пример','Main shortcode parameters'=>'Главни параметри кратког кода','URL (src) as shown in the Latin language'=>'УРЛ (src) као што је приказано на латиничном језику','URL (src) as shown in the Cyrillic language'=>'УРЛ (src) како је приказано на ћирилици','(optional) URL (src) to the default image if Latin and Cyrillic are unavailable'=>'(опционално) УРЛ (src) на подразумевану слику ако латиница и ћирилица нису доступни','(optional) title (alt) description of the image for Cyrillic'=>'(необавезно) наслов (alt) опис слике за ћирилицу','(optional) caption description of the image for Cyrillic'=>'(необавезно) опис слике за ћирилицу','(optional) title (alt) description of the image for Latin'=>'(необавезно) наслов (алт) слике за латиницу','(optional) caption description of the image for Latin'=>'(необавезно) опис слике на латиници','(optional) title (alt) description of the image if Latin and Cyrillic are unavailable'=>'опционално) наслов (алт) слике ако латиница и ћирилица нису доступни','(optional) caption description of the imag if Latin and Cyrillic are unavailable'=>'(необавезно) опис описа слике ако латиница и ћирилица нису доступни','Shortcode return'=>'Кратки код враћа','HTML image corresponding to the parameters set in this shortcode.'=>'HTML слика која одговара параметрима постављеним у овом кратком коду.','Language script menu'=>'Изборник скрипте језика','This shortcode displays a selector for the transliteration script.'=>'Овај кратки код приказује навигацију скрипте за транслитерацију.','(string) The type of selector that will be displayed on the site. It can be: "%1$s", "%2$s", "%3$s" or "%4$s"'=>'(стринг) Тип селектора који ће бити приказан на сајту. Може бити: "%1$s", "%2$s", "%3$s" или "%4$s"','(string) Text for Cyrillic link. Default: Cyrillic'=>'(стринг) Текст за ћирилични линк. Подразумевано: Ћирилица','(string) Text for Latin link. Default: Latin'=>'(стринг) Текст за латинични линк. Подразумевано: Латиница','This shortcodes work independently of the plugin settings and can be used anywhere within WordPress pages, posts, taxonomies and widgets (if they support it).'=>'Ови кратки кодови раде независно од подешавања додатка и могу се користити било где у оквиру WordPress страница, постова, таксономија и виџета (ако то подржавају).','These tags have a special purpose and work separately from short codes and can be used in fields where short codes cannot be used.'=>'Ови тагови имају посебну намену и раде одвојено од кратких кодова и могу се користити у пољима у којима се кратки кодови не могу користити.','These tags have no additional settings and can be applied in plugins, themes, widgets and within other short codes.'=>'Ови тагови немају додатна подешавања и могу се применити у додацима, темама, виџетима и у оквиру других кратких кодова.','Copy the desired text into one field and press the desired key to convert the text.'=>'Копирајте жељени текст у једно поље и притисните жељени тастер да бисте га конвертовали.','Convert to Latin'=>'Конвертуј у латиницу','Convert to Cyrillic'=>'Конвертуј у ћирилицу','Reset'=>'Очисти све','The %1$s shortcode has been deprecated as of version %2$s. Please update your content and use the new %3$s shortcode.'=>'Кратки код %1$s је означен као застарели од верзије %2$s. Молимо вас да ажурирате свој садржај и користите нови шорткод %3$s.','Transliteration shortcode does not have adequate parameters and translation is not possible. Please check the documentation.'=>'Кратки код за пресловљавање нема адекватне параметре и превођење није могуће. Молимо погледајте документацију.','An error occurred while converting. Please refresh the page and try again.'=>'Дошло је до грешке приликом конверзије. Освежите страницу и покушајте поново.','The field is empty.'=>'Поље је празно.','There was a communication problem. Please refresh the page and try again. If this does not solve the problem, contact the author of the plugin.'=>'Дошло је до проблема у комуникацији. Освежите страницу и покушајте поново. Ако ово не реши проблем, обратите се аутору додатка.','Serbian'=>'Српски','Bosnian'=>'Босански','Montenegrin'=>'Црногорски','Russian'=>'Руски','Belarusian'=>'Белоруски','Bulgarian'=>'Бугарски','Macedoanian'=>'Македноски','Ukrainian'=>'Украјински','Kazakh'=>'Казахстански','Tajik'=>'Таџик','Kyrgyz'=>'Киргиски','Mongolian'=>'Монголски','Bashkir'=>'Башкир','Uzbek'=>'Узбек','Georgian'=>'Грузијски','Greek'=>'Грчки','Phantom Mode (ultra fast DOM-based transliteration, experimental)'=>'Фантомски режим (ултра брза транслитерација заснована на ДОМ-у, експериментално)','Light mode (basic parts of the site)'=>'Лаган режим (основни делови сајта)','Standard mode (content, themes, plugins, translations, menu)'=>'Стандардни режим (садржај, теме, додаци, преводи, мени)','Advanced mode (content, widgets, themes, plugins, translations, menu, permalinks, media)'=>'Напредни режим (садржај, виџети, теме, додаци, преводи, мени, трајне везе, медији)','Forced transliteration (everything)'=>'Присилно пресловљавање (све)','Only WooCommerce (It bypasses all other transliterations and focuses only on WooCommerce)'=>'Само WooCommerce (заобилази све остале транслитерације и фокусира се само на WooCommerce)','Dev Mode (Only for developers and testers)'=>'Програмерски мод (само за програмере)','Failed to delete plugin translation: %s'=>'Брисање превода додатка није успело: %s','Please wait! Do not close the terminal or terminate the script until this operation is completed!'=>'Сачекајте! Немојте затварати терминал или прекидати скрипту док се ова операција не заврши!','Progress:'=>'Напредак:','Updated page ID %1$d, (%2$s) at URL: %3$s'=>'Ажурирана страница "%2$s" на адреси %3$s са индентификатором (ID): %1$d','%d permalink was successfully transliterated.'=>'Успешно је ажурирана %d страница.' . "\0" . 'Успешно је ажурирано %d страница.' . "\0" . 'Успешно је ажурирано %d страница.','No changes to the permalink have been made.'=>'Није промењена ниједна трајна веза.',' degrees '=>' степени ',' divided by '=>' подељено са ',' times '=>' пута ',' plus-minus '=>' плус-минус ',' square root '=>' квадратни корен ',' infinity '=>' бесконачност ',' almost equal to '=>' скоро једнако са ',' not equal to '=>' није једнако са ',' identical to '=>' индентично са ',' less than or equal to '=>' мање или једнако ',' greater than or equal to '=>' веће или једнако са ',' left '=>' лево ',' right '=>' десно ',' up '=>' горе ',' down '=>' доле ',' left and right '=>' лево и десно ',' up and down '=>' горе и доле ',' care of '=>' брига о ',' estimated '=>' процењено ',' ohm '=>' ом ',' female '=>' женско ',' male '=>' мушко ',' Copyright '=>' Ауторско право ',' Registered '=>' Регистровано ',' Trademark '=>' Заштитни знак ','This function is deprecated and will be removed. Replace it with the `get_script()` function'=>'Ова функција је застарела и биће уклоњена. Замените је са get_script() функцијом','Choose one of the display types: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" or "%6$s"'=>'Одаберите једно од приказа: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" или "%6$s"','Transliterator'=>'Пресловљавање','https://wordpress.org/plugins/serbian-transliteration/'=>'https://wordpress.org/plugins/serbian-transliteration/','All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works.'=>'Све у једном додатак за пресловљавање са ћирилице на латиницу за WordPress који заиста функционише.','Ivijan-Stefan Stipić'=>'Ивијан-Стефан Стипић','https://profiles.wordpress.org/ivijanstefan/'=>'https://profiles.wordpress.org/ivijanstefan/']];
     2// generated by Poedit from serbian-transliteration-sr_RS.po, do not edit directly
     3return ['domain'=>NULL,'plural-forms'=>'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);','language'=>'sr_RS','pot-creation-date'=>'2025-06-09 14:51+0200','po-revision-date'=>'2025-06-09 14:51+0200','translation-revision-date'=>'2025-06-09 14:51+0200','project-id-version'=>'Serbian Transliteration','x-generator'=>'Poedit 3.6','messages'=>['undefined'=>'недефинисано','Freelance Jobs - Find or post freelance jobs'=>'Фриленс послови - Пронађи или објави фриленс послове','Contra Team - A complete hosting solution in one place'=>'Contra Team - Комплетно решење за хостинг на једном месту','Transliteration'=>'Пресловљавање','Latin'=>'Латиница','Cyrillic'=>'Ћирилица','Help'=>'Помоћ','To insert language script selector just add a relative link after the link\'s keyword, example :'=>'Да бисте уметнули бирач скрипте језика, додајте релативну везу после кључне речи везе, на пример:','You can also use'=>'Такође можете користити','for change to Latin or use'=>'за промену у латиницу или','for change to Cyrillic'=>'за промену на ћирилицу','Add to Menu'=>'Додај у изборник','The name of this navigation is written by always putting the Latin name first, then the Cyrillic one second, separated by the sign %s'=>'Назив ове навигације пише се тако што се на прво место увек ставља латинични назив, а затим ћирилични на друго место, одвојено знаком %s','Example: Latinica | Ћирилица'=>'Пример: Latinica | Ћирилица','Note that the white space around them will be cleared.'=>'Имајте на уму да ће се размак око њих очистити.','You have been using <b> %1$s </b> plugin for a while. We hope you liked it!'=>'Већ неко време користите <b>%1$s</b>. Надамо се да вам се допада!','Please give us a quick rating, it works as a boost for us to keep working on the plugin!'=>'Молимо вас за једну брзу оцену, то нам делује као подстицај да наставимо да радимо на додатку!','Rate Now!'=>'Оцените нас!','I\'ve already done that!'=>'То сам већ учинио!','Hey there! It\'s been a while since you\'ve been using the <b> %1$s </b> plugin'=>'Хеј тамо! Прошло је доста времена од када си инсталирао додатак за <b> %1$s </b>','I\'m glad to hear you\'re enjoying the plugin. I\'ve put a lot of time and effort into ensuring that your website runs smoothly. If you\'re feeling generous, how about %s for my hard work? 😊'=>'Тако ми је драго да ти се допада додатак. Уложио сам много времена и љубави како бих осигурао да твоја веб локација ради несметано. Ако се осећаш великодушно, шта кажеш %s за труд? 😊','treating me to a coffee'=>'да ме почастиш једном кафом','Or simply %s forever.'=>'Или једноставно %s заувек.','hide this message'=>'сакриј ову поруку','Hey there! It\'s been a while since you\'ve been using the <b>%1$s</b> plugin'=>'Поздрав! Већ неко време користиш додатак за <b>%1$s</b>','I\'m really happy to see this plugin being useful for your website. If you ever feel like giving back, here\'s one way to do it.'=>'Баш ми је драго што је овај додатак користан за твој сајт. Ако икада пожелиш да узвратиш подршком, ево једног начина да то учиниш.','Bank account (Banca Intesa a.d. Beograd):'=>'Број рачуна (Банка Интеса а.д. Београд):','Every little bit helps, and I truly appreciate it! ❤️'=>'Свака помоћ значи, и искрено сам захвалан! ❤️','Find Work or %1$s in Serbia, Bosnia, Croatia, and Beyond!'=>'Пронађи посао или %1$s у Србији, Босни, Хрватској и шире!','Visit %2$s to connect with skilled professionals across the region. Whether you need a project completed or are looking for work, our platform is your gateway to successful collaboration.'=>'Посетите %2$s да бисте се повезали са вештим професионалцима широм региона. Било да вам је потребан завршен пројекат или тражите посао, наша платформа је ваша капија за успешну сарадњу.','Hire Top Freelancers'=>'aнгажуј врхунске фриленсере','Freelance Jobs'=>'Фриленс послови','Join us today!'=>'Придружи нам се данас!','This plugin uses cookies and should be listed in your Privacy Policy page to prevent privacy issues.'=>'Овај додатак користи колачиће и требао би бити наведен на вашој страници политике приватности како би се спречили проблеми са приватношћу.','Suggested text:'=>'Предложени текст:','This website uses the %1$s plugin to transliterate content.'=>'Ова веб локација користи додатак %1$s за пресловљавање садржаја.','This is a simple and easy add-on with which this website translates content from Cyrillic to Latin and vice versa. This transliteration plugin also supports special shortcodes and functions that use cookies to specify the language script.'=>'Ово је једноставан и лаган додатак са којим ова веб локација преводи садржај са ћирилице на латиницу и обрнуто. Овај додатак за преслољавање (транслитерацију) такође подржава посебне кратке кодове и функције које користе колачиће за одређивање језичке скрипте.','These cookies do not affect your privacy because they are not intended for tracking and analytics. These cookies can have only two values: "%1$s" or "%2$s".'=>'Ови колачићи не утичу на вашу приватност јер нису намењени за праћење и аналитику. Ови колачићи могу имати само две вредности: "%1$s" или "%2$s".','Important upgrade notice for the version %s:'=>'Важно обавештење о надоградњи за верзију %s:','NOTE: Before doing the update, it would be a good idea to backup your WordPress installations and settings.'=>'НАПОМЕНА: Пре него што извршите ажурирање, било би добро да направите резервне копије ваших WordPress инсталација и подешавања.','The %1$s cannot run on PHP versions older than PHP %2$s. Please contact your host and ask them to upgrade.'=>'%1$s не може да се покреће на PHP верзијама старијим од PHP%2$s. Молимо контактирајте свог сервер администратора и замолите га да изврши надоградњу.','Transliteration plugin requires attention:'=>'Додатак за пресловљавање захтева пажњу:','Your plugin works under Only WooCoomerce mode and you need to %s because WooCommerce is no longer active.'=>'Ваш додатак ради у WooCoomerce режиму и требате %s јер WooCoomerce више није активан.','update your settings'=>'ажурирати своја подешавања','Transliteration plugin requires a Multibyte String PHP extension (mbstring).'=>'Додатак за пресловљавање захтева "Multibyte String PHP " екстензију (mbstring).','Without %s you will not be able to use this plugin.'=>'Без %s нећете моћи да користите овај додатак.','Multibyte String Installation'=>'Multibyte String инсталација','this PHP extension'=>'ове PHP екстензије','The %1$s cannot run on WordPress versions older than %2$s. Please update your WordPress installation.'=>'%1$s не може да се покреће за верзије WordPress-а старије од %2$s. Ажурирајте своју WordPress инсталацију.','Global Settings'=>'Глобална подешавања','My site is'=>'Мој сајт је','Transliteration Mode'=>'Режим пресловљавања','First visit mode'=>'Режим прве посете','Language scheme'=>'Језичка шема','Plugin Mode'=>'Начин рада додатка','Force transliteration permalinks to latin'=>'Присилите пресловљавање трајних веза (пермалинкова) на латиницу','Filters'=>'Филтери','Transliteration Filters'=>'Филтери за пресловљавање','Exclude Latin words that you do not want to be transliterated to the Cyrillic.'=>'Искључите латиничне речи за које не желите да се преслове у ћирилицу.','Exclude Cyrillic words that you do not want to be transliterated to the Latin.'=>'Изузмите ћириличне речи за које не желите да се пресловите у латиницу.','Special Settings'=>'Специјална подешавања','Enable cache support'=>'Омогућите подршку за кеширање','Force widget transliteration'=>'Присилно пресловљавање виџета','Force e-mail transliteration'=>'Присилно пресловљавање е-маил порука','Force transliteration for WordPress REST API'=>'Форсирај пресловљавање за WordPress REST API позиве','Force transliteration for AJAX calls'=>'Форсирај пресловљавање за AJAX позиве','EXPERIMENTAL'=>'ЕКСПЕРИМЕНТАЛНО','WP Admin'=>'Административни део','WP-Admin transliteration'=>'Пресловљавање администрације','Allow Cyrillic Usernames'=>'Дозволи ћирилична корисничка имена','Allow Admin Tools'=>'Дозволи админ алатке','Media Settings'=>'Подешавање садржаја и фајлова','Transliterate filenames to latin'=>'Транскрипција медија фајлова на латиницу','Filename delimiter'=>'Раздвајање речи у имену фајла','WordPress Search'=>'WordPress претрага','Enable search transliteration'=>'Активирај пресловљавање претраге','Fix Diacritics'=>'Поправите дијакритику','Search Mode'=>'Врста претраге','SEO Settings'=>'СЕО (Search engine optimization) подешавања','Parameter URL selector'=>'Бирач УРЛ-а параметра','RSS transliteration'=>'Пресловљавање "RSS" документа','Exclusion'=>'Искључење','Language: %s'=>'Језик: %s','Misc.'=>'Разно','Enable body class'=>'Омогући "body" класу','Theme Support'=>'Подршка за теме','Light Up Our Day!'=>'Осветлите наш дан!','Contributors & Developers'=>'Сарадници и програмери','This setting determines the mode of operation for the Transliteration plugin.'=>'Ово подешавање одређује начин рада додатка за пресловљавање.','Carefully choose the option that is best for your site and the plugin will automatically set everything you need for optimal performance.'=>'Пажљиво изаберите опцију која је најбоља за вашу страницу и додатак ће аутоматски поставити све што је потребно за оптималне перформансе.','This section contains filters for exclusions, allowing you to specify content that should be excluded from transliteration, and also includes a filter to disable certain WordPress filters related to transliteration.'=>'Овај одељак садржи филтере за изузимања, који вам омогућавају да одредите садржај који треба да буде искључен из транслитерације, а такође укључује филтер за онемогућавање одређених WordPress филтера који се односе на транслитерацију.','These are special settings that can enhance transliteration and are used only if you need them.'=>'Ово су посебна подешавања која могу побољшати транслитерацију и користе се само ако су вам неопходна.','These settings apply to the administrative part.'=>'Ова подешавања се односе на административни део.','Upload, view and control media and files.'=>'Отпремање, прегледање и контрола медија и датотека.','Our plugin also has special SEO options that are very important for your project.'=>'Наш додатак такође има посебне СЕО опције које су веома важне за ваш пројекат.','Within this configuration section, you have the opportunity to customize your experience by selecting the particular languages for which you wish to turn off the transliteration function. This feature is designed to give you greater control and adaptability over how the system handles transliteration, allowing you to disable it for specific languages based on your individual needs or preferences.'=>'У оквиру овог дела за конфигурацију, имате прилику да прилагодите своје искуство тако што ћете изабрати одређене језике за које желите да искључите функцију транслитерације. Ова функција је дизајнирана да вам пружи већу контролу и прилагодљивост у вези са начином на који систем обрађује транслитерацију, омогућавајући вам да је искључите за специфичне језике на основу ваших индивидуалних потреба или преференци.','Various interesting settings that can be used in the development of your project.'=>'Разне занимљиве поставке које се могу користити у развоју вашег пројекта.','This setting determines the search mode within the WordPress core depending on the type of language located in the database.'=>'Ово подешавање одређује режим претраживања у језгру WordPress-а у зависности од врсте језика који се налази у бази података.','The search type setting is mostly experimental and you need to test each variant so you can get the best result you need.'=>'Подешавање типа претраге је углавном експериментално и треба да тестирате сваку варијанту како бисте постигли најбољи резултат који вам је потребан.','Arabic'=>'Арапски','Armenian'=>'Арменијски','Define whether your primary alphabet on the site is Latin or Cyrillic. If the primary alphabet is Cyrillic then choose Cyrillic. If it is Latin, then choose Latin. This option is crucial for the plugin to work properly.'=>'Дефинишите да ли је ваше примарно писмо на сајту латиница или ћирилица. Ако је примарно писмо ћирилица онда одаберите ћирилицу. Ако је латиница, онда одаберите латиницу. Ова опција је кључна за исправан рад плугина.','Define whether your primary alphabet on the site.'=>'Одредите да ли је ваш примарни алфабет на сајту.','Transliteration disabled'=>'Угаси пресловљавање','Cyrillic to Latin'=>'Ћирилица у латиницу','Latin to Cyrillic'=>'Латиница у ћирилицу','Arabic to Latin'=>'Арапски у латиницу','Latin to Arabic'=>'Латиница у арапски','Armenian to Latin'=>'Арменијски у латиницу','Latin to Armenian'=>'Латиница у арменијски','This option determines the global transliteration of your web site. If you do not want to transliterate the entire website and use this plugin for other purposes, disable this option. This option does not affect to the functionality of short codes and tags.'=>'Ова опција одређује глобално пресловљавање ваше веб странице. Ако не желите да пресловите целу веб локацију и користите овај додатак у друге сврхе, онемогућите ову опцију. Ова опција не утиче на функционалност кратких кодова и ознака.','This option determines the type of language script that the visitors sees when they first time come to your site.'=>'Ова опција одређује врсту скрипте на језику коју посетиоци виде када први пут дођу на вашу страницу.','Automatical'=>'Аутоматски','This option defines the language script. Automatic script detection is the best way but if you are using a WordPress installation in a language that does not match the scripts supported by this plugin, then choose on which script you want the transliteration to be performed.'=>'Ова опција дефинише језичко писмо. Аутоматско откривање скрипти је најбољи начин, али ако користите WordPress инсталацију на језику који се не подудара са скриптама које подржава овај додатак, онда одаберите на којој скрипти желите да се изврши транслитерација.','This option configures the operating mode of the entire plugin and affects all aspects of the site related to transliteration. Each mode has its own set of filters, which are activated based on your specific needs. It\'s important to take the time to review and customize these settings according to your preferences.'=>'Ова опција конфигурише оперативни режим целог додатка и утиче на све аспекте сајта који су везани за транслитерацију. Сваки режим има свој скуп филтера, који се активирају на основу ваших специфичних потреба. Важно је да одвојите време да прегледате и прилагодите ова подешавања према вашим преференцијама.','Forced transliteration can sometimes cause problems if Latin is translated into Cyrillic in pages and posts. To this combination must be approached experimentally.'=>'Принудно пресловљавање понекад може да створи проблеме ако се латиница на страницама и у порукама преведе на ћирилицу. Овој комбинацији се мора приступити експериментално.','Exclude filters you don\'t need (optional)'=>'Уклоните филтере који вам нису потребни (опционално)','Select the transliteration filters you want to exclude.'=>'Изаберите филтере за пресловљавање које желите да уклоните (искључите).','The filters you select here will not be transliterated (these filters do not work on forced transliteration).'=>'Овде изабрани филтри неће бити пресловљени (ови филтери не раде на присилном пресловљавању).','TIPS & TRICKS:'=>'САВЕТИ И ТРИКОВИ:','You can find details about some of the listed filters in this article:'=>'Детаље о неким од наведених филтера можете пронаћи у овом чланку:','Since you are already a WooCommerce user, you also can see the following documentation: %s'=>'Пошто сте већ корисник WooCommerce-а, можете видети и следећу документацију: %s','Separate words, phrases, names and expressions with the sign %s or put it in a new row. HTML is not allowed.'=>'Одвојите речи, фразе, имена и изразе знаком %s или их ставите у нови ред. HTML није дозвољен.','Yes'=>'Да','No'=>'Не','If you have a problem caching your pages, our plugin solves this problem by clearing the cache when changing the language script.'=>'Ако имате проблем са кеширањем страница, наша додатна компонента решава овај проблем брисањем кеш меморије приликом промене скрипте језика.','This option forces the widget to transliterate. There may be some unusual behaviour in the rare cases.'=>'Ова опција приморава виџете да се преслове. У ретким случајевима може бити необичног понашања.','Enable this feature if you want to force transliteration of email content.'=>'Омогућите ову функцију ако желите да форсирате транслитерацију садржаја е-поште.','Enable this feature if you want to force transliteration of WordPress REST API calls. The WordPress REST API is also used in many AJAX calls, WooCommerce, and page builders. It is recommended to be enabled by default.'=>'Омогућите ову функцију ако желите да принудно извршите транслитерацију позива WordPress REST API-ја. WordPress REST API се такође користи у многим AJAX позивима, WooCommerce-у и градитељима страница. Препоручује се да буде омогућено по подразумеваном.','Enable this feature if you want to force transliteration of AJAX calls. If you want to avoid transliteration of specific individual AJAX calls, you must add a new POST or GET parameter to your AJAX call: %s'=>'Омогућите ову функцију ако желите да приморате пресловљавање AJAX позива. Ако желите да избегнете пресловљавање одређених појединачних AJAX позива, морате додати нови POST или GET параметар %s на ваш AJAX позив.','Enable if you want the WP-Admin area to be transliterated.'=>'Омогућите ако желите да се WP-Admin област пресловљава.','Allows to create users with usernames containing Cyrillic characters.'=>'Омогућава стварање корисника са корисничким именима која садрже ћириличне знакове.','This feature enables you to easily transliterate titles and content directly within the WordPress editor. This functionality is available for various content types, including categories, pages, posts, and custom post types, ensuring a seamless experience when managing multilingual content on your site. With just a few clicks, you can switch between scripts, making your content accessible to a broader audience.'=>'Ова функција вам омогућава да лако пресловљавате наслове и садржај директно унутар WordPress едитора. Ова функционалност је доступна за различите типове садржаја, укључујући категорије, странице, постове и прилагођене типове постова, обезбеђујући беспрекорно искуство при управљању вишејезичним садржајем на вашем сајту. Уз само неколико кликова, можете мењати писма, чинећи ваш садржај приступачним широј публици.','Enable if you want to force cyrillic permalinks to latin.'=>'Омогућите ако желите да форсирате ћирилицу на латиницу.','Enable if you want to convert cyrillic filenames to latin.'=>'Омогућите ако желите да претворите ћириличне фајлове у латиницу.','hyphen (default)'=>'цртица (подразумевано)','underscore'=>'доња црта','dot'=>'тачка','tilde'=>'тилда','vartical bar'=>'вертикална трака','asterisk'=>'звездица','Filename delimiter, example:'=>'Одвајање имена фајла. На пример:','my-upload-file.jpg'=>'naziv-moga-fajla.jpg','Approve if you want transliteration for the search field.'=>'Одобрите ако желите пресловљавање поља за претрагу.','Try to fix the diacritics in the search field.'=>'Покушајте да поправите дијакритике у пољу за претрагу.','Automatical (recommended)'=>'Аутоматски (препоручено)','Based on the plugin mode'=>'Базирано на режиму пресловљавања','The search has two working modes. Choose the one that works best with your search.'=>'Претрага има два начина рада. Изаберите ону која најбоље одговара вашој претрази.','(safe)'=>'(сигурно)','(standard)'=>'(стандардно)','(optional)'=>'(опционо)','This option dictates which URL parameter will be used to change the language.'=>'Ова опција диктира који ће се параметар УРЛ-а користити за промену језика.','This option transliterate the RSS feed.'=>'Ова опција пресловљава "RSS" документе.','Transliterate'=>'Преслови','Omit the transliteration'=>'Изостави транслитерацију','This option adds CSS classes to your body HTML tag. These CSS classes vary depending on the language script.'=>'Ова опција додаје CSS класе у вашу HTML ознаку тела. Ове класе CSS-а се разликују у зависности од језичке скрипте.','Enable Theme Support'=>'Омогућите подршку за теме','Disable Theme Support'=>'Онемогућите подршку за теме','If you don\'t require transliteration support for your theme, you can disable it for your current theme here.'=>'Ако вам није потребна подршка за транслитерацију за своју тему, можете је онемогућити за своју тренутну тему овде.','This mode has no filters.'=>'Овај режим нема филтере.','When you find a tool that fits your needs perfectly, and it\'s free, it’s something special. That’s exactly what my plugin is – free, but crafted with love and dedication. To ensure the continued development and improvement of the Transliterator plugin, I have established a foundation to support its future growth.'=>'Када пронађете алат који вам савршено одговара, и уз то је бесплатан, то је нешто посебно. Управо такав је и мој додатак – бесплатан, али створен с љубављу и посвећеношћу. Да бисмо осигурали наставак развоја овог пројекта и унапређење Transliterator додатка, основао сам фондацију за његов даљи развој.','Your support for this project is not just an investment in the tool you use, but also a contribution to the community that relies on it. If you’d like to support the development and enable new features, you can do so through donations:'=>'Ваша подршка овом пројекту није само инвестиција у алат који користите, већ и допринос заједници која зависи од њега. Ако желите да подржите развој и омогућите нове функционалности, можете то учинити путем донација:','Banca Intesa a.d. Beograd'=>'Банка Интеса а.д. Београд','Every donation, no matter the amount, directly supports the ongoing work on the plugin and allows me to continue innovating. Thank you for supporting this project and being part of a community that believes in its importance.'=>'Свака донација, без обзира на износ, директно помаже у даљем раду на додатку и омогућава ми да наставим са иновацијама. Хвала вам што подржавате овај пројекат и што сте део заједнице која верује у његов значај.','With love,'=>'С љубављу,','If you want to support our work and effort, if you have new ideas or want to improve the existing code, %s.'=>'Ако желите да подржите наш рад и труд, ако имате нове идеје или желите да побољшате постојећи код, %s.','join our team'=>'придружите се нашем тиму','Settings saved.'=>'Подешавања су сачувана.','Settings'=>'Подешавања','Shortcodes'=>'Кратки кодови','PHP Functions'=>'PHP функције','5 stars?'=>'5 звезда?','Transliteration Settings'=>'Транслитерација - Подешавање','To Latin'=>'На латиницу','To Cyrillic'=>'На ћирилицу','Transliterate:'=>'Преслови:','Loading...'=>'Причекајте...','Please wait! Do not close the window or leave the page until this operation is completed!'=>'Сачекајте! Не затварајте прозор и не напуштајте страницу док се ова операција не заврши!','DONE!!!'=>'ГОТОВО!!!','PLEASE UPDATE PLUGIN SETTINGS'=>'МОЛИМО АЖУРИРАЈТЕ ПОСТАВКЕ ДОДАТКА','Carefully review the transliteration plugin settings and adjust how it fits your WordPress installation. It is important that every time you change the settings, you test the parts of the site that are affected by this plugin.'=>'Пажљиво прегледајте поставке додатка за пресловљавање и прилагодите како одговара вашој WordPress инсталацији. Важно је да сваки пут када промените поставке тестирате делове веб локације на које утиче овај додатак.','Tags'=>'Тагови','Transliteration Tool'=>'Алат за пресловљавање','Permalink Tool'=>'Алат за трајне везе','General Settings'=>'Глобална подешавања','Documentation'=>'Документација','Tools'=>'Алати','Debug'=>'Дебаговање','Credits'=>'Информације','Save Changes'=>'Сачувај промене','Available shortcodes'=>'Доступни кратки кодови','Available PHP Functions'=>'Доступне PHP функције','Available Tags'=>'Доступни тагови','Converter for transliterating Cyrillic into Latin and vice versa'=>'Конвертор за пресловљавање ћирилице у латиницу и обрнуто','Permalink Transliteration Tool'=>'Алат за пресловљавање трајних веза','Debug information'=>'Информације о отклањању грешака','WordPress Transliterator'=>'WordPress пресловљавање','Quick Access:'=>'Брз приступ:','Rate us'=>'Оцените нас','Current Settings:'=>'Тренутна подешавања:','Transliteration Mode:'=>'Режим пресловљавања:','Cache Support:'=>'Подршка за кеширање:','Media Transliteration:'=>'Пресловљавање медија:','Permalink Transliteration:'=>'Пресловљавање трајних веза:','Transliterator plugin options are not yet available. Please update plugin settings!'=>'Опције Transliterator додатка још увек нису доступне. Молимо вас да ажурирате подешавања додатка!','Recommendations:'=>'Препоруке:','Explore these recommended tools and resources that complement our plugin.'=>'Истражите препоручене алате и ресурсе који употпуњују наш додатак.','Donations'=>'Донације','This plugin is 100% free. If you want to buy us one coffee, beer or in general help the development of this plugin through a monetary donation, you can do it in the following ways:'=>'Овај додатак је 100% бесплатан. Ако желите да нам купите једну кафу, пиво или уопште да помогнете развој овог додатка кроз новчану донацију, то можете учинити на следеће начине:','From Serbia'=>'Из Србије','This is a light weight, simple and easy plugin with which you can transliterate your WordPress installation from Cyrillic to Latin and vice versa in a few clicks. This transliteration plugin also supports special shortcodes that you can use to partially transliterate parts of the content.'=>'Ово је једноставан и лаган додатак са којим ова веб локација преводи садржај са ћирилице на латиницу и обрнуто. Овај додатак за преслољавање (транслитерацију) такође подржава посебне кратке кодове и функције које користе колачиће за одређивање језичке скрипте.','Sponsors of this plugin:'=>'Спонзори овог додатка:','If you want to help develop this plugin and be one of the sponsors, please contact us at: %s'=>'Ако желите да помогнете у развоју овог додатка и будете један од спонзора, контактирајте нас на: %s','Special thanks to the contributors in the development of this plugin:'=>'Посебна захвалност сарадницима у развоју овог додатка:','Copyright'=>'Ауторско право','Copyright &copy; 2020 - %1$d %2$s by %3$s. All Right Reserved.'=>'Ауторско право &copy; 2020 - %1$d %2$s од %3$s. Сва права задржава.','Transliterator – WordPress Transliteration'=>'Пресловљавање - WordPress пресловљавање','This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.'=>'Овај програм је бесплатан софтвер; можете га дистрибуирати и/или модификовати под условима ГНУ (General Public License ) коју је објавила Фондација за слободан софтвер; било верзију 2 лиценце, или (по вашој жељи) било коју новију верзију.','This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'=>'Овај програм се дистрибуира у нади да ће бити користан, али БЕЗ БИЛО КОЈЕ ГАРАНЦИЈЕ; чак ни под подразумеваном гаранцијом ЗА ПРОДАЈУ И СПОСОБНОСТИ ЗА ОДРЕЂЕНУ СВРХУ.','See the GNU General Public License for more details.'=>'Погледајте ГНУ (General Public License) за више детаља.','You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.'=>'Требали сте да добијете копију ГНУ (General Public License ) заједно са овим плугином; ако нисте, обратите се Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.','Plugin ID'=>'Индентификација додатка','Plugin version'=>'Верзија додатка','WordPress version'=>'WordPress верзија','Last plugin update'=>'Последње ажурирање додатка','PHP version'=>'PHP верзија','PHP version ID'=>'Индентификатор PHP верзије','PHP architecture'=>'PHP архитектура','%d bit'=>'%d бита','WordPress debug'=>'WordPress отклањање грешака','On'=>'Укључено','Off'=>'Угашено','WordPress multisite'=>'WordPress мулти сајт','WooCommerce active'=>'WooCommerce је активан','WooCommerce version'=>'WooCommerce верзија','Site title'=>'Наслов сајта','Tagline'=>'Слоган','WordPress address (URL)'=>'WordPress адреса (URL)','Admin email'=>'Е-маил администратора','Encoding for pages and feeds'=>'Енкодирање за странице и храниоце (feeds)','Content-Type'=>'Тип садржаја','Site Language'=>'Језик сајта','Server time'=>'Време сервера','WordPress directory path'=>'Путања WordPress директоријума','Operting system'=>'Оперативни систем','User agent'=>'Кориснички агент','Plugin directory path'=>'Путања директоријума додатака','Plugin settings'=>'Начин рада додатка','These are available PHP functions that you can use in your themes and plugins.'=>'Ово су доступне функције које можете користити у својим темама и додацима.','Determines whether the site is already in Cyrillic.'=>'Утврђује да ли је веб локација већ на ћирилици.','This function provides information on whether the currently active language is excluded from transliteration.'=>'Ова функција пружа информације о томе да ли је тренутно активан језик искључен из транслитерације.','Transliteration of some text or content into the desired script.'=>'Пресловљавање одређеног текста или садржаја у жељену скрипту.','The <b><i>$type</i></b> parameter has two values: <code>cyr_to_lat</code> (Cyrillic to Latin) and <code>lat_to_cyr</code> (Latin to Cyrillic)'=>'Параметар <b><i>$type</i></b> има две вредности: <code>cyr_to_lat</code> (ћирилица у латиницу) and <code>lat_to_cyr</code> (латиница у ћирилицу)','Transliteration from Cyrillic to Latin.'=>'Пресловљавање са ћирилице на латиницу.','Transliteration from Latin to Cyrillic.'=>'Пресловљавање са латинице на ћирилицу.','Transliterates Cyrillic characters to Latin, converting them to their basic ASCII equivalents by removing diacritics.'=>'Пресловљава ћириличне карактере у латиницу, претварајући их у основне ASCII еквиваленте уклањањем дијакритика.','Get active script.'=>'Враћа активну скрипту.','This function displays a selector for the transliteration script.'=>'Ова функција приказује навигацију скрипте за транслитерацију.','Parameters'=>'Параметри','This attribute contains an associative set of parameters for this function:'=>'Овај атрибут садржи асоцијативни скуп параметара за ову функцију:','(string) The type of selector that will be displayed on the site. It can be: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Default: %1$s'=>'(стринг) Тип селектора који ће бити приказан на сајту. Може бити: %1$s, %2$s, %3$s, %4$s, %5$s or %6$s. Подразумевано: "%1$s"','(bool) determines whether it will be displayed through an echo or as a string. Default: %s'=>'(bool) одређује да ли ће се приказивати кроз ехо или као низ. Подразумевано: %s','(string) Separator to be used when the selector type is %s. Default: %s'=>'(стринг) Сепаратор који се користи када је тип селектора %s. Подразумевано: %s','(string) Text for Cyrillic link. Default: %s'=>'(стринг) Текст за ћирилични линк. Подразумевано: %s','(string) Text for Latin link. Default: %s'=>'(стринг) Текст за латинични линк. Подразумевано: %s','This tool enables you to convert all existing Cyrillic permalinks in your database to Latin characters.'=>'Овај алат вам омогућава да конвертујете све постојеће линкове на ћирилици у вашој бази података у латинична слова.','Warning:'=>'Упозорење:','This option is dangerous and can create unexpected problems. Once you run this script, all permalinks in your database will be modified and this can affect on the SEO causing a 404 error.'=>'Ова опција је опасна и може створити неочекиване проблеме. Када покренете овај скрипт, сви линкови у вашој бази података биће модификовани, што може утицати на SEO и изазвати грешку 404.','Before proceeding, consult with your SEO specialist, as you will likely need to resubmit your sitemap and adjust other settings to update the permalinks in search engines.'=>'Пре него што наставите, консултујте се са вашим SEO стручњаком, јер ће вероватно бити потребно да поново пошаљете вашу мапу сајта и прилагодите друга подешавања како бисте ажурирали линкове у претраживачима.','For advanced users, this function can also be executed via WP-CLI using the command'=>'За напредне кориснике, ова функција се може извршити и преко WP-CLI коришћењем команде','Important: Make sure to %s before running this script.'=>'Важно: Уверите се да %s пре него што покренете овај скрипт.','back up your database'=>'направите резервну копију ваше базе података','This tool will affect on the following post types: %s'=>'Ова алатка ће утицати на следеће типове постова: %s','Let\'s do magic'=>'Направимо магију','Are you sure you want this?'=>'Да ли сте сигурни да желите ово?','Disclaimer'=>'Изјава о одрицању одговорности','While this tool is designed to operate safely, there is always a small risk of unpredictable issues.'=>'Иако је овај алат дизајниран да ради безбедно, увек постоји мали ризик од непредвидивих проблема.','Note: We do not guarantee that this tool will function correctly on your server. By using it, you assume all risks and responsibilities for any potential issues.'=>'Напомена: Не гарантујемо да ће овај алат исправно функционисати на вашем серверу. Коришћењем овог алата преузимате све ризике и одговорности за било какве потенцијалне проблеме.','Backup your database before using this tool.'=>'Направите резервну копију ваше базе података пре него што употребите овај алат.','These are available shortcodes that you can use in your content, visual editors, themes and plugins.'=>'Ово су доступни кратки кодови које можете да користите у свом садржају, визуелним уређивачима, темама и додацима.','Skip transliteration'=>'Избегни пресловљавање','Keep this original'=>'Сачувај ово оригинално','(optional) correct HTML code.'=>'(опционално) подржава ХТМЛ тагове.','Optional shortcode parameters'=>'Опционални параметри кратког кода','(optional) correct diacritics.'=>'(опционално) тачна дијакритика.','Add an image depending on the language script'=>'Додајте слику у зависности од писма','With this shortcode you can manipulate images and display images in Latin or Cyrillic depending on the setup.'=>'Овим кратким кодом можете да манипулишете сликама и приказујете слике на латиници или ћирилици, у зависности од подешавања.','Example'=>'Пример','Main shortcode parameters'=>'Главни параметри кратког кода','URL (src) as shown in the Latin language'=>'УРЛ (src) као што је приказано на латиничном језику','URL (src) as shown in the Cyrillic language'=>'УРЛ (src) како је приказано на ћирилици','(optional) URL (src) to the default image if Latin and Cyrillic are unavailable'=>'(опционално) УРЛ (src) на подразумевану слику ако латиница и ћирилица нису доступни','(optional) title (alt) description of the image for Cyrillic'=>'(необавезно) наслов (alt) опис слике за ћирилицу','(optional) caption description of the image for Cyrillic'=>'(необавезно) опис слике за ћирилицу','(optional) title (alt) description of the image for Latin'=>'(необавезно) наслов (алт) слике за латиницу','(optional) caption description of the image for Latin'=>'(необавезно) опис слике на латиници','(optional) title (alt) description of the image if Latin and Cyrillic are unavailable'=>'опционално) наслов (алт) слике ако латиница и ћирилица нису доступни','(optional) caption description of the imag if Latin and Cyrillic are unavailable'=>'(необавезно) опис описа слике ако латиница и ћирилица нису доступни','Shortcode return'=>'Кратки код враћа','HTML image corresponding to the parameters set in this shortcode.'=>'HTML слика која одговара параметрима постављеним у овом кратком коду.','Language script menu'=>'Изборник скрипте језика','This shortcode displays a selector for the transliteration script.'=>'Овај кратки код приказује навигацију скрипте за транслитерацију.','(string) The type of selector that will be displayed on the site. It can be: "%1$s", "%2$s", "%3$s" or "%4$s"'=>'(стринг) Тип селектора који ће бити приказан на сајту. Може бити: "%1$s", "%2$s", "%3$s" или "%4$s"','(string) Text for Cyrillic link. Default: Cyrillic'=>'(стринг) Текст за ћирилични линк. Подразумевано: Ћирилица','(string) Text for Latin link. Default: Latin'=>'(стринг) Текст за латинични линк. Подразумевано: Латиница','This shortcodes work independently of the plugin settings and can be used anywhere within WordPress pages, posts, taxonomies and widgets (if they support it).'=>'Ови кратки кодови раде независно од подешавања додатка и могу се користити било где у оквиру WordPress страница, постова, таксономија и виџета (ако то подржавају).','These tags have a special purpose and work separately from short codes and can be used in fields where short codes cannot be used.'=>'Ови тагови имају посебну намену и раде одвојено од кратких кодова и могу се користити у пољима у којима се кратки кодови не могу користити.','These tags have no additional settings and can be applied in plugins, themes, widgets and within other short codes.'=>'Ови тагови немају додатна подешавања и могу се применити у додацима, темама, виџетима и у оквиру других кратких кодова.','Copy the desired text into one field and press the desired key to convert the text.'=>'Копирајте жељени текст у једно поље и притисните жељени тастер да бисте га конвертовали.','Convert to Latin'=>'Конвертуј у латиницу','Convert to Cyrillic'=>'Конвертуј у ћирилицу','Reset'=>'Очисти све','The %1$s shortcode has been deprecated as of version %2$s. Please update your content and use the new %3$s shortcode.'=>'Кратки код %1$s је означен као застарели од верзије %2$s. Молимо вас да ажурирате свој садржај и користите нови шорткод %3$s.','Transliteration shortcode does not have adequate parameters and translation is not possible. Please check the documentation.'=>'Кратки код за пресловљавање нема адекватне параметре и превођење није могуће. Молимо погледајте документацију.','An error occurred while converting. Please refresh the page and try again.'=>'Дошло је до грешке приликом конверзије. Освежите страницу и покушајте поново.','The field is empty.'=>'Поље је празно.','There was a communication problem. Please refresh the page and try again. If this does not solve the problem, contact the author of the plugin.'=>'Дошло је до проблема у комуникацији. Освежите страницу и покушајте поново. Ако ово не реши проблем, обратите се аутору додатка.','Serbian'=>'Српски','Bosnian'=>'Босански','Montenegrin'=>'Црногорски','Russian'=>'Руски','Belarusian'=>'Белоруски','Bulgarian'=>'Бугарски','Macedoanian'=>'Македноски','Ukrainian'=>'Украјински','Kazakh'=>'Казахстански','Tajik'=>'Таџик','Kyrgyz'=>'Киргиски','Mongolian'=>'Монголски','Bashkir'=>'Башкир','Uzbek'=>'Узбек','Georgian'=>'Грузијски','Greek'=>'Грчки','Phantom Mode (ultra fast DOM-based transliteration, experimental)'=>'Фантомски режим (ултра брза транслитерација заснована на ДОМ-у, експериментално)','Light mode (basic parts of the site)'=>'Лаган режим (основни делови сајта)','Standard mode (content, themes, plugins, translations, menu)'=>'Стандардни режим (садржај, теме, додаци, преводи, мени)','Advanced mode (content, widgets, themes, plugins, translations, menu, permalinks, media)'=>'Напредни режим (садржај, виџети, теме, додаци, преводи, мени, трајне везе, медији)','Forced transliteration (everything)'=>'Присилно пресловљавање (све)','Only WooCommerce (It bypasses all other transliterations and focuses only on WooCommerce)'=>'Само WooCommerce (заобилази све остале транслитерације и фокусира се само на WooCommerce)','Dev Mode (Only for developers and testers)'=>'Програмерски мод (само за програмере)','Failed to delete plugin translation: %s'=>'Брисање превода додатка није успело: %s',' degrees '=>' степени ',' divided by '=>' подељено са ',' times '=>' пута ',' plus-minus '=>' плус-минус ',' square root '=>' квадратни корен ',' infinity '=>' бесконачност ',' almost equal to '=>' скоро једнако са ',' not equal to '=>' није једнако са ',' identical to '=>' индентично са ',' less than or equal to '=>' мање или једнако ',' greater than or equal to '=>' веће или једнако са ',' left '=>' лево ',' right '=>' десно ',' up '=>' горе ',' down '=>' доле ',' left and right '=>' лево и десно ',' up and down '=>' горе и доле ',' care of '=>' брига о ',' estimated '=>' процењено ',' ohm '=>' ом ',' female '=>' женско ',' male '=>' мушко ',' Copyright '=>' Ауторско право ',' Registered '=>' Регистровано ',' Trademark '=>' Заштитни знак ','Option name'=>'Назив опције','Value'=>'Вредност','Key'=>'Кључ','Please wait! Do not close the terminal or terminate the script until this operation is completed!'=>'Сачекајте! Немојте затварати терминал или прекидати скрипту док се ова операција не заврши!','Progress:'=>'Напредак:','Updated page ID %1$d, (%2$s) at URL: %3$s'=>'Ажурирана страница "%2$s" на адреси %3$s са индентификатором (ID): %1$d','%d permalink was successfully transliterated.'=>'Успешно је ажурирана %d страница.' . "\0" . 'Успешно је ажурирано %d страница.' . "\0" . 'Успешно је ажурирано %d страница.','No changes to the permalink have been made.'=>'Није промењена ниједна трајна веза.','This function is deprecated and will be removed. Replace it with the `get_script()` function'=>'Ова функција је застарела и биће уклоњена. Замените је са get_script() функцијом','Choose one of the display types: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" or "%6$s"'=>'Одаберите једно од приказа: "%1$s", "%2$s", "%3$s", "%4$s", "%5$s" или "%6$s"','Transliterator'=>'Пресловљавање','https://wordpress.org/plugins/serbian-transliteration/'=>'https://wordpress.org/plugins/serbian-transliteration/','All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works.'=>'Све у једном додатак за пресловљавање са ћирилице на латиницу за WordPress који заиста функционише.','Ivijan-Stefan Stipić'=>'Ивијан-Стефан Стипић','https://profiles.wordpress.org/ivijanstefan/'=>'https://profiles.wordpress.org/ivijanstefan/']];
  • serbian-transliteration/trunk/languages/serbian-transliteration-sr_RS.po

    r3270599 r3328833  
    22msgstr ""
    33"Project-Id-Version: Serbian Transliteration\n"
    4 "POT-Creation-Date: 2025-04-10 18:25+0200\n"
    5 "PO-Revision-Date: 2025-04-10 18:37+0200\n"
     4"POT-Creation-Date: 2025-06-09 14:51+0200\n"
     5"PO-Revision-Date: 2025-06-09 14:51+0200\n"
    66"Last-Translator: Ivijan-Stefan Stipić <infinitumform@gmail.com>\n"
    77"Language-Team: \n"
     
    2222"X-Poedit-SearchPathExcluded-0: *.min.js\n"
    2323
    24 #: classes/debug.php:355
     24#: classes/debug.php:341
    2525msgid "undefined"
    2626msgstr "недефинисано"
    2727
    28 #: classes/filters.php:127 classes/settings.php:721
     28#: classes/filters.php:127 classes/settings.php:738
    2929msgid "Freelance Jobs - Find or post freelance jobs"
    3030msgstr "Фриленс послови - Пронађи или објави фриленс послове"
     
    3535
    3636#: classes/menus.php:34 classes/settings.php:52 classes/settings.php:98
    37 #: classes/settings.php:318 classes/settings.php:391 classes/settings.php:427
    38 #: classes/settings.php:463 classes/settings.php:508 classes/settings.php:537
    39 #: classes/settings.php:573 classes/settings.php:601
     37#: classes/settings.php:318 classes/settings.php:394 classes/settings.php:432
     38#: classes/settings.php:470 classes/settings.php:517 classes/settings.php:548
     39#: classes/settings.php:586 classes/settings.php:616
    4040msgid "Transliteration"
    4141msgstr "Пресловљавање"
     
    4444#: classes/settings-fields.php:574 classes/settings.php:128
    4545#: classes/settings.php:203 classes/settings/page-functions.php:164
    46 #: classes/shortcodes.php:36 functions.php:438
     46#: classes/shortcodes.php:36 classes/utilities.php:1121 functions.php:438
    4747msgid "Latin"
    4848msgstr "Латиница"
     
    5151#: classes/settings-fields.php:575 classes/settings.php:129
    5252#: classes/settings.php:204 classes/settings/page-functions.php:159
    53 #: classes/shortcodes.php:35 functions.php:437
     53#: classes/shortcodes.php:35 classes/utilities.php:1122 functions.php:437
    5454msgid "Cyrillic"
    5555msgstr "Ћирилица"
     
    443443msgstr "Пресловљавање \"RSS\" документа"
    444444
    445 #: classes/settings-fields.php:353
     445#: classes/settings-fields.php:353 classes/utilities.php:1427
    446446msgid "Exclusion"
    447447msgstr "Искључење"
     
    585585msgstr "Угаси пресловљавање"
    586586
    587 #: classes/settings-fields.php:536 classes/settings.php:675
     587#: classes/settings-fields.php:536 classes/settings.php:692
    588588#: classes/settings/page-shortcodes.php:8 classes/settings/page-tags.php:5
    589589msgid "Cyrillic to Latin"
    590590msgstr "Ћирилица у латиницу"
    591591
    592 #: classes/settings-fields.php:537 classes/settings.php:676
     592#: classes/settings-fields.php:537 classes/settings.php:693
    593593#: classes/settings/page-shortcodes.php:14 classes/settings/page-tags.php:8
    594594msgid "Latin to Cyrillic"
     
    720720#: classes/settings-fields.php:950 classes/settings-fields.php:969
    721721#: classes/settings-fields.php:1031 classes/settings-fields.php:1070
    722 #: classes/settings.php:679 classes/settings.php:683 classes/settings.php:687
    723 #: classes/settings.php:691
     722#: classes/settings.php:696 classes/settings.php:700 classes/settings.php:704
     723#: classes/settings.php:708
    724724msgid "Yes"
    725725msgstr "Да"
     
    732732#: classes/settings-fields.php:951 classes/settings-fields.php:970
    733733#: classes/settings-fields.php:1032 classes/settings-fields.php:1071
    734 #: classes/settings.php:680 classes/settings.php:684 classes/settings.php:688
    735 #: classes/settings.php:692
     734#: classes/settings.php:697 classes/settings.php:701 classes/settings.php:705
     735#: classes/settings.php:709
    736736msgid "No"
    737737msgstr "Не"
     
    992992msgstr "Подешавања су сачувана."
    993993
    994 #: classes/settings.php:77 classes/settings.php:697
     994#: classes/settings.php:77 classes/settings.php:714
    995995msgid "Settings"
    996996msgstr "Подешавања"
     
    10701070msgstr "Глобална подешавања"
    10711071
    1072 #: classes/settings.php:271 classes/settings.php:698
     1072#: classes/settings.php:271 classes/settings.php:715
    10731073msgid "Documentation"
    10741074msgstr "Документација"
    10751075
    1076 #: classes/settings.php:275 classes/settings.php:699
     1076#: classes/settings.php:275 classes/settings.php:716
    10771077msgid "Tools"
    10781078msgstr "Алати"
    10791079
    1080 #: classes/settings.php:279 classes/settings.php:700
     1080#: classes/settings.php:279 classes/settings.php:717
    10811081msgid "Debug"
    10821082msgstr "Дебаговање"
    10831083
    1084 #: classes/settings.php:283 classes/settings.php:601 classes/settings.php:701
     1084#: classes/settings.php:283 classes/settings.php:616 classes/settings.php:718
    10851085#: classes/settings/page-credits.php:58
    10861086msgid "Credits"
    10871087msgstr "Информације"
    10881088
    1089 #: classes/settings.php:337 classes/settings.php:345
     1089#: classes/settings.php:339 classes/settings.php:348
    10901090msgid "Save Changes"
    10911091msgstr "Сачувај промене"
    10921092
    1093 #: classes/settings.php:391
     1093#: classes/settings.php:394
    10941094msgid "Available shortcodes"
    10951095msgstr "Доступни кратки кодови"
    10961096
    1097 #: classes/settings.php:427
     1097#: classes/settings.php:432
    10981098msgid "Available PHP Functions"
    10991099msgstr "Доступне PHP функције"
    11001100
    1101 #: classes/settings.php:463
     1101#: classes/settings.php:470
    11021102msgid "Available Tags"
    11031103msgstr "Доступни тагови"
    11041104
    1105 #: classes/settings.php:508
     1105#: classes/settings.php:517
    11061106msgid "Converter for transliterating Cyrillic into Latin and vice versa"
    11071107msgstr "Конвертор за пресловљавање ћирилице у латиницу и обрнуто"
    11081108
    1109 #: classes/settings.php:537
     1109#: classes/settings.php:548
    11101110msgid "Permalink Transliteration Tool"
    11111111msgstr "Алат за пресловљавање трајних веза"
    11121112
    1113 #: classes/settings.php:573
     1113#: classes/settings.php:586
    11141114msgid "Debug information"
    11151115msgstr "Информације о отклањању грешака"
    11161116
    1117 #: classes/settings.php:654
     1117#: classes/settings.php:671
    11181118msgid "WordPress Transliterator"
    11191119msgstr "WordPress пресловљавање"
    11201120
    1121 #: classes/settings.php:695
     1121#: classes/settings.php:712
    11221122msgid "Quick Access:"
    11231123msgstr "Брз приступ:"
    11241124
    1125 #: classes/settings.php:702
     1125#: classes/settings.php:719
    11261126msgid "Rate us"
    11271127msgstr "Оцените нас"
    11281128
    1129 #: classes/settings.php:706
     1129#: classes/settings.php:723
    11301130msgid "Current Settings:"
    11311131msgstr "Тренутна подешавања:"
    11321132
    1133 #: classes/settings.php:708
     1133#: classes/settings.php:725
    11341134msgid "Transliteration Mode:"
    11351135msgstr "Режим пресловљавања:"
    11361136
    1137 #: classes/settings.php:709
     1137#: classes/settings.php:726
    11381138msgid "Cache Support:"
    11391139msgstr "Подршка за кеширање:"
    11401140
    1141 #: classes/settings.php:710
     1141#: classes/settings.php:727
    11421142msgid "Media Transliteration:"
    11431143msgstr "Пресловљавање медија:"
    11441144
    1145 #: classes/settings.php:711
     1145#: classes/settings.php:728
    11461146msgid "Permalink Transliteration:"
    11471147msgstr "Пресловљавање трајних веза:"
    11481148
    1149 #: classes/settings.php:714
     1149#: classes/settings.php:731
    11501150msgid ""
    11511151"Transliterator plugin options are not yet available. Please update plugin "
     
    11551155"ажурирате подешавања додатка!"
    11561156
    1157 #: classes/settings.php:717
     1157#: classes/settings.php:734
    11581158msgid "Recommendations:"
    11591159msgstr "Препоруке:"
    11601160
    1161 #: classes/settings.php:718
     1161#: classes/settings.php:735
    11621162msgid ""
    11631163"Explore these recommended tools and resources that complement our plugin."
     
    12611261"Street, Fifth Floor, Boston, MA 02110-1301, USA."
    12621262
    1263 #: classes/settings/page-debug.php:12
     1263#: classes/settings/page-debug.php:13
    12641264msgid "Plugin ID"
    12651265msgstr "Индентификација додатка"
    12661266
    1267 #: classes/settings/page-debug.php:16
     1267#: classes/settings/page-debug.php:17
    12681268msgid "Plugin version"
    12691269msgstr "Верзија додатка"
    12701270
    1271 #: classes/settings/page-debug.php:20
     1271#: classes/settings/page-debug.php:21
    12721272msgid "WordPress version"
    12731273msgstr "WordPress верзија"
    12741274
    1275 #: classes/settings/page-debug.php:24
     1275#: classes/settings/page-debug.php:25
    12761276msgid "Last plugin update"
    12771277msgstr "Последње ажурирање додатка"
    12781278
    1279 #: classes/settings/page-debug.php:28
     1279#: classes/settings/page-debug.php:29
    12801280msgid "PHP version"
    12811281msgstr "PHP верзија"
    12821282
    1283 #: classes/settings/page-debug.php:32
     1283#: classes/settings/page-debug.php:33
    12841284msgid "PHP version ID"
    12851285msgstr "Индентификатор PHP верзије"
    12861286
    1287 #: classes/settings/page-debug.php:36
     1287#: classes/settings/page-debug.php:37
    12881288msgid "PHP architecture"
    12891289msgstr "PHP архитектура"
    12901290
    1291 #: classes/settings/page-debug.php:37 classes/settings/page-debug.php:105
     1291#: classes/settings/page-debug.php:38 classes/settings/page-debug.php:106
    12921292#, php-format
    12931293msgid "%d bit"
    12941294msgstr "%d бита"
    12951295
    1296 #: classes/settings/page-debug.php:40
     1296#: classes/settings/page-debug.php:41
    12971297msgid "WordPress debug"
    12981298msgstr "WordPress отклањање грешака"
    12991299
    1300 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
    1301 #: classes/settings/page-debug.php:50
     1300#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1301#: classes/settings/page-debug.php:51
    13021302msgid "On"
    13031303msgstr "Укључено"
    13041304
    1305 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
    1306 #: classes/settings/page-debug.php:50
     1305#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1306#: classes/settings/page-debug.php:51
    13071307msgid "Off"
    13081308msgstr "Угашено"
    13091309
    1310 #: classes/settings/page-debug.php:44
     1310#: classes/settings/page-debug.php:45
    13111311msgid "WordPress multisite"
    13121312msgstr "WordPress мулти сајт"
    13131313
    1314 #: classes/settings/page-debug.php:49
     1314#: classes/settings/page-debug.php:50
    13151315msgid "WooCommerce active"
    13161316msgstr "WooCommerce је активан"
    13171317
    1318 #: classes/settings/page-debug.php:54
     1318#: classes/settings/page-debug.php:55
    13191319msgid "WooCommerce version"
    13201320msgstr "WooCommerce верзија"
    13211321
    1322 #: classes/settings/page-debug.php:60
     1322#: classes/settings/page-debug.php:61
    13231323msgid "Site title"
    13241324msgstr "Наслов сајта"
    13251325
    1326 #: classes/settings/page-debug.php:68
     1326#: classes/settings/page-debug.php:69
    13271327msgid "Tagline"
    13281328msgstr "Слоган"
    13291329
    1330 #: classes/settings/page-debug.php:76
     1330#: classes/settings/page-debug.php:77
    13311331msgid "WordPress address (URL)"
    13321332msgstr "WordPress адреса (URL)"
    13331333
    1334 #: classes/settings/page-debug.php:80
     1334#: classes/settings/page-debug.php:81
    13351335msgid "Admin email"
    13361336msgstr "Е-маил администратора"
    13371337
    1338 #: classes/settings/page-debug.php:84
     1338#: classes/settings/page-debug.php:85
    13391339msgid "Encoding for pages and feeds"
    13401340msgstr "Енкодирање за странице и храниоце (feeds)"
    13411341
    1342 #: classes/settings/page-debug.php:88
     1342#: classes/settings/page-debug.php:89
    13431343msgid "Content-Type"
    13441344msgstr "Тип садржаја"
    13451345
    1346 #: classes/settings/page-debug.php:92
     1346#: classes/settings/page-debug.php:93
    13471347msgid "Site Language"
    13481348msgstr "Језик сајта"
    13491349
    1350 #: classes/settings/page-debug.php:96
     1350#: classes/settings/page-debug.php:97
    13511351msgid "Server time"
    13521352msgstr "Време сервера"
    13531353
    1354 #: classes/settings/page-debug.php:100
     1354#: classes/settings/page-debug.php:101
    13551355msgid "WordPress directory path"
    13561356msgstr "Путања WordPress директоријума"
    13571357
    1358 #: classes/settings/page-debug.php:104
     1358#: classes/settings/page-debug.php:105
    13591359msgid "Operting system"
    13601360msgstr "Оперативни систем"
    13611361
    1362 #: classes/settings/page-debug.php:108
     1362#: classes/settings/page-debug.php:109
    13631363msgid "User agent"
    13641364msgstr "Кориснички агент"
    13651365
    1366 #: classes/settings/page-debug.php:112
     1366#: classes/settings/page-debug.php:113
    13671367msgid "Plugin directory path"
    13681368msgstr "Путања директоријума додатака"
    13691369
    1370 #: classes/settings/page-debug.php:121
     1370#: classes/settings/page-debug.php:124
    13711371msgid "Plugin settings"
    13721372msgstr "Начин рада додатка"
    1373 
    1374 #: classes/settings/page-debug.php:125
    1375 msgid "Option name"
    1376 msgstr "Назив опције"
    1377 
    1378 #: classes/settings/page-debug.php:126 classes/settings/page-debug.php:136
    1379 msgid "Value"
    1380 msgstr "Вредност"
    1381 
    1382 #: classes/settings/page-debug.php:135
    1383 msgid "Key"
    1384 msgstr "Кључ"
    13851373
    13861374#: classes/settings/page-functions.php:4
     
    18861874msgstr "Програмерски мод (само за програмере)"
    18871875
    1888 #: classes/utilities.php:886
     1876#: classes/utilities.php:915
    18891877#, php-format
    18901878msgid "Failed to delete plugin translation: %s"
    18911879msgstr "Брисање превода додатка није успело: %s"
     1880
     1881#: classes/utilities.php:1096
     1882msgid " degrees "
     1883msgstr " степени "
     1884
     1885#: classes/utilities.php:1097
     1886msgid " divided by "
     1887msgstr " подељено са "
     1888
     1889#: classes/utilities.php:1098
     1890msgid " times "
     1891msgstr " пута "
     1892
     1893#: classes/utilities.php:1099
     1894msgid " plus-minus "
     1895msgstr " плус-минус "
     1896
     1897#: classes/utilities.php:1100
     1898msgid " square root "
     1899msgstr " квадратни корен "
     1900
     1901#: classes/utilities.php:1101
     1902msgid " infinity "
     1903msgstr " бесконачност "
     1904
     1905#: classes/utilities.php:1102
     1906msgid " almost equal to "
     1907msgstr " скоро једнако са "
     1908
     1909#: classes/utilities.php:1103
     1910msgid " not equal to "
     1911msgstr " није једнако са "
     1912
     1913#: classes/utilities.php:1104
     1914msgid " identical to "
     1915msgstr " индентично са "
     1916
     1917#: classes/utilities.php:1105
     1918msgid " less than or equal to "
     1919msgstr " мање или једнако "
     1920
     1921#: classes/utilities.php:1106
     1922msgid " greater than or equal to "
     1923msgstr " веће или једнако са "
     1924
     1925#: classes/utilities.php:1107
     1926msgid " left "
     1927msgstr " лево "
     1928
     1929#: classes/utilities.php:1108
     1930msgid " right "
     1931msgstr " десно "
     1932
     1933#: classes/utilities.php:1109
     1934msgid " up "
     1935msgstr " горе "
     1936
     1937#: classes/utilities.php:1110
     1938msgid " down "
     1939msgstr " доле "
     1940
     1941#: classes/utilities.php:1111
     1942msgid " left and right "
     1943msgstr " лево и десно "
     1944
     1945#: classes/utilities.php:1112
     1946msgid " up and down "
     1947msgstr " горе и доле "
     1948
     1949#: classes/utilities.php:1113
     1950msgid " care of "
     1951msgstr " брига о "
     1952
     1953#: classes/utilities.php:1114
     1954msgid " estimated "
     1955msgstr " процењено "
     1956
     1957#: classes/utilities.php:1115
     1958msgid " ohm "
     1959msgstr " ом "
     1960
     1961#: classes/utilities.php:1116
     1962msgid " female "
     1963msgstr " женско "
     1964
     1965#: classes/utilities.php:1117
     1966msgid " male "
     1967msgstr " мушко "
     1968
     1969#: classes/utilities.php:1118
     1970msgid " Copyright "
     1971msgstr " Ауторско право "
     1972
     1973#: classes/utilities.php:1119
     1974msgid " Registered "
     1975msgstr " Регистровано "
     1976
     1977#: classes/utilities.php:1120
     1978msgid " Trademark "
     1979msgstr " Заштитни знак "
     1980
     1981#: classes/utilities.php:1449
     1982msgid "Option name"
     1983msgstr "Назив опције"
     1984
     1985#: classes/utilities.php:1450 classes/utilities.php:1464
     1986msgid "Value"
     1987msgstr "Вредност"
     1988
     1989#: classes/utilities.php:1463
     1990msgid "Key"
     1991msgstr "Кључ"
    18921992
    18931993#: classes/wp-cli.php:60
     
    19202020msgid "No changes to the permalink have been made."
    19212021msgstr "Није промењена ниједна трајна веза."
    1922 
    1923 #: constants.php:167
    1924 msgid " degrees "
    1925 msgstr " степени "
    1926 
    1927 #: constants.php:169
    1928 msgid " divided by "
    1929 msgstr " подељено са "
    1930 
    1931 #: constants.php:169
    1932 msgid " times "
    1933 msgstr " пута "
    1934 
    1935 #: constants.php:169
    1936 msgid " plus-minus "
    1937 msgstr " плус-минус "
    1938 
    1939 #: constants.php:169
    1940 msgid " square root "
    1941 msgstr " квадратни корен "
    1942 
    1943 #: constants.php:170
    1944 msgid " infinity "
    1945 msgstr " бесконачност "
    1946 
    1947 #: constants.php:170
    1948 msgid " almost equal to "
    1949 msgstr " скоро једнако са "
    1950 
    1951 #: constants.php:170
    1952 msgid " not equal to "
    1953 msgstr " није једнако са "
    1954 
    1955 #: constants.php:171
    1956 msgid " identical to "
    1957 msgstr " индентично са "
    1958 
    1959 #: constants.php:171
    1960 msgid " less than or equal to "
    1961 msgstr " мање или једнако "
    1962 
    1963 #: constants.php:171
    1964 msgid " greater than or equal to "
    1965 msgstr " веће или једнако са "
    1966 
    1967 #: constants.php:172
    1968 msgid " left "
    1969 msgstr " лево "
    1970 
    1971 #: constants.php:172
    1972 msgid " right "
    1973 msgstr " десно "
    1974 
    1975 #: constants.php:172
    1976 msgid " up "
    1977 msgstr " горе "
    1978 
    1979 #: constants.php:172
    1980 msgid " down "
    1981 msgstr " доле "
    1982 
    1983 #: constants.php:173
    1984 msgid " left and right "
    1985 msgstr " лево и десно "
    1986 
    1987 #: constants.php:173
    1988 msgid " up and down "
    1989 msgstr " горе и доле "
    1990 
    1991 #: constants.php:173
    1992 msgid " care of "
    1993 msgstr " брига о "
    1994 
    1995 #: constants.php:174
    1996 msgid " estimated "
    1997 msgstr " процењено "
    1998 
    1999 #: constants.php:174
    2000 msgid " ohm "
    2001 msgstr " ом "
    2002 
    2003 #: constants.php:174
    2004 msgid " female "
    2005 msgstr " женско "
    2006 
    2007 #: constants.php:174
    2008 msgid " male "
    2009 msgstr " мушко "
    2010 
    2011 #: constants.php:175
    2012 msgid " Copyright "
    2013 msgstr " Ауторско право "
    2014 
    2015 #: constants.php:175
    2016 msgid " Registered "
    2017 msgstr " Регистровано "
    2018 
    2019 #: constants.php:175
    2020 msgid " Trademark "
    2021 msgstr " Заштитни знак "
    20222022
    20232023#: functions.php:95
  • serbian-transliteration/trunk/languages/serbian-transliteration.pot

    r3270599 r3328833  
    33msgstr ""
    44"Project-Id-Version: Transliterator\n"
    5 "POT-Creation-Date: 2025-04-10 18:27+0200\n"
     5"POT-Creation-Date: 2025-06-09 14:52+0200\n"
    66"PO-Revision-Date: 2023-08-24 13:48+0200\n"
    77"Last-Translator: Ivijan-Stefan Stipić <infinitumform@gmail.com>\n"
     
    2121"X-Poedit-SearchPathExcluded-0: *.min.js\n"
    2222
    23 #: classes/debug.php:355
     23#: classes/debug.php:341
    2424msgid "undefined"
    2525msgstr ""
    2626
    27 #: classes/filters.php:127 classes/settings.php:721
     27#: classes/filters.php:127 classes/settings.php:738
    2828msgid "Freelance Jobs - Find or post freelance jobs"
    2929msgstr ""
     
    3434
    3535#: classes/menus.php:34 classes/settings.php:52 classes/settings.php:98
    36 #: classes/settings.php:318 classes/settings.php:391 classes/settings.php:427
    37 #: classes/settings.php:463 classes/settings.php:508 classes/settings.php:537
    38 #: classes/settings.php:573 classes/settings.php:601
     36#: classes/settings.php:318 classes/settings.php:394 classes/settings.php:432
     37#: classes/settings.php:470 classes/settings.php:517 classes/settings.php:548
     38#: classes/settings.php:586 classes/settings.php:616
    3939msgid "Transliteration"
    4040msgstr ""
     
    4343#: classes/settings-fields.php:574 classes/settings.php:128
    4444#: classes/settings.php:203 classes/settings/page-functions.php:164
    45 #: classes/shortcodes.php:36 functions.php:438
     45#: classes/shortcodes.php:36 classes/utilities.php:1121 functions.php:438
    4646msgid "Latin"
    4747msgstr ""
     
    5050#: classes/settings-fields.php:575 classes/settings.php:129
    5151#: classes/settings.php:204 classes/settings/page-functions.php:159
    52 #: classes/shortcodes.php:35 functions.php:437
     52#: classes/shortcodes.php:35 classes/utilities.php:1122 functions.php:437
    5353msgid "Cyrillic"
    5454msgstr ""
     
    408408msgstr ""
    409409
    410 #: classes/settings-fields.php:353
     410#: classes/settings-fields.php:353 classes/utilities.php:1427
    411411msgid "Exclusion"
    412412msgstr ""
     
    526526msgstr ""
    527527
    528 #: classes/settings-fields.php:536 classes/settings.php:675
     528#: classes/settings-fields.php:536 classes/settings.php:692
    529529#: classes/settings/page-shortcodes.php:8 classes/settings/page-tags.php:5
    530530msgid "Cyrillic to Latin"
    531531msgstr ""
    532532
    533 #: classes/settings-fields.php:537 classes/settings.php:676
     533#: classes/settings-fields.php:537 classes/settings.php:693
    534534#: classes/settings/page-shortcodes.php:14 classes/settings/page-tags.php:8
    535535msgid "Latin to Cyrillic"
     
    637637#: classes/settings-fields.php:950 classes/settings-fields.php:969
    638638#: classes/settings-fields.php:1031 classes/settings-fields.php:1070
    639 #: classes/settings.php:679 classes/settings.php:683 classes/settings.php:687
    640 #: classes/settings.php:691
     639#: classes/settings.php:696 classes/settings.php:700 classes/settings.php:704
     640#: classes/settings.php:708
    641641msgid "Yes"
    642642msgstr ""
     
    649649#: classes/settings-fields.php:951 classes/settings-fields.php:970
    650650#: classes/settings-fields.php:1032 classes/settings-fields.php:1071
    651 #: classes/settings.php:680 classes/settings.php:684 classes/settings.php:688
    652 #: classes/settings.php:692
     651#: classes/settings.php:697 classes/settings.php:701 classes/settings.php:705
     652#: classes/settings.php:709
    653653msgid "No"
    654654msgstr ""
     
    868868msgstr ""
    869869
    870 #: classes/settings.php:77 classes/settings.php:697
     870#: classes/settings.php:77 classes/settings.php:714
    871871msgid "Settings"
    872872msgstr ""
     
    941941msgstr ""
    942942
    943 #: classes/settings.php:271 classes/settings.php:698
     943#: classes/settings.php:271 classes/settings.php:715
    944944msgid "Documentation"
    945945msgstr ""
    946946
    947 #: classes/settings.php:275 classes/settings.php:699
     947#: classes/settings.php:275 classes/settings.php:716
    948948msgid "Tools"
    949949msgstr ""
    950950
    951 #: classes/settings.php:279 classes/settings.php:700
     951#: classes/settings.php:279 classes/settings.php:717
    952952msgid "Debug"
    953953msgstr ""
    954954
    955 #: classes/settings.php:283 classes/settings.php:601 classes/settings.php:701
     955#: classes/settings.php:283 classes/settings.php:616 classes/settings.php:718
    956956#: classes/settings/page-credits.php:58
    957957msgid "Credits"
    958958msgstr ""
    959959
    960 #: classes/settings.php:337 classes/settings.php:345
     960#: classes/settings.php:339 classes/settings.php:348
    961961msgid "Save Changes"
    962962msgstr ""
    963963
    964 #: classes/settings.php:391
     964#: classes/settings.php:394
    965965msgid "Available shortcodes"
    966966msgstr ""
    967967
    968 #: classes/settings.php:427
     968#: classes/settings.php:432
    969969msgid "Available PHP Functions"
    970970msgstr ""
    971971
    972 #: classes/settings.php:463
     972#: classes/settings.php:470
    973973msgid "Available Tags"
    974974msgstr ""
    975975
    976 #: classes/settings.php:508
     976#: classes/settings.php:517
    977977msgid "Converter for transliterating Cyrillic into Latin and vice versa"
    978978msgstr ""
    979979
    980 #: classes/settings.php:537
     980#: classes/settings.php:548
    981981msgid "Permalink Transliteration Tool"
    982982msgstr ""
    983983
    984 #: classes/settings.php:573
     984#: classes/settings.php:586
    985985msgid "Debug information"
    986986msgstr ""
    987987
    988 #: classes/settings.php:654
     988#: classes/settings.php:671
    989989msgid "WordPress Transliterator"
    990990msgstr ""
    991991
    992 #: classes/settings.php:695
     992#: classes/settings.php:712
    993993msgid "Quick Access:"
    994994msgstr ""
    995995
    996 #: classes/settings.php:702
     996#: classes/settings.php:719
    997997msgid "Rate us"
    998998msgstr ""
    999999
    1000 #: classes/settings.php:706
     1000#: classes/settings.php:723
    10011001msgid "Current Settings:"
    10021002msgstr ""
    10031003
    1004 #: classes/settings.php:708
     1004#: classes/settings.php:725
    10051005msgid "Transliteration Mode:"
    10061006msgstr ""
    10071007
    1008 #: classes/settings.php:709
     1008#: classes/settings.php:726
    10091009msgid "Cache Support:"
    10101010msgstr ""
    10111011
    1012 #: classes/settings.php:710
     1012#: classes/settings.php:727
    10131013msgid "Media Transliteration:"
    10141014msgstr ""
    10151015
    1016 #: classes/settings.php:711
     1016#: classes/settings.php:728
    10171017msgid "Permalink Transliteration:"
    10181018msgstr ""
    10191019
    1020 #: classes/settings.php:714
     1020#: classes/settings.php:731
    10211021msgid ""
    10221022"Transliterator plugin options are not yet available. Please update plugin "
     
    10241024msgstr ""
    10251025
    1026 #: classes/settings.php:717
     1026#: classes/settings.php:734
    10271027msgid "Recommendations:"
    10281028msgstr ""
    10291029
    1030 #: classes/settings.php:718
     1030#: classes/settings.php:735
    10311031msgid ""
    10321032"Explore these recommended tools and resources that complement our plugin."
     
    11111111msgstr ""
    11121112
    1113 #: classes/settings/page-debug.php:12
     1113#: classes/settings/page-debug.php:13
    11141114msgid "Plugin ID"
    11151115msgstr ""
    11161116
    1117 #: classes/settings/page-debug.php:16
     1117#: classes/settings/page-debug.php:17
    11181118msgid "Plugin version"
    11191119msgstr ""
    11201120
    1121 #: classes/settings/page-debug.php:20
     1121#: classes/settings/page-debug.php:21
    11221122msgid "WordPress version"
    11231123msgstr ""
    11241124
    1125 #: classes/settings/page-debug.php:24
     1125#: classes/settings/page-debug.php:25
    11261126msgid "Last plugin update"
    11271127msgstr ""
    11281128
    1129 #: classes/settings/page-debug.php:28
     1129#: classes/settings/page-debug.php:29
    11301130msgid "PHP version"
    11311131msgstr ""
    11321132
    1133 #: classes/settings/page-debug.php:32
     1133#: classes/settings/page-debug.php:33
    11341134msgid "PHP version ID"
    11351135msgstr ""
    11361136
    1137 #: classes/settings/page-debug.php:36
     1137#: classes/settings/page-debug.php:37
    11381138msgid "PHP architecture"
    11391139msgstr ""
    11401140
    1141 #: classes/settings/page-debug.php:37 classes/settings/page-debug.php:105
     1141#: classes/settings/page-debug.php:38 classes/settings/page-debug.php:106
    11421142#, php-format
    11431143msgid "%d bit"
    11441144msgstr ""
    11451145
    1146 #: classes/settings/page-debug.php:40
     1146#: classes/settings/page-debug.php:41
    11471147msgid "WordPress debug"
    11481148msgstr ""
    11491149
    1150 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
     1150#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1151#: classes/settings/page-debug.php:51
     1152msgid "On"
     1153msgstr ""
     1154
     1155#: classes/settings/page-debug.php:42 classes/settings/page-debug.php:46
     1156#: classes/settings/page-debug.php:51
     1157msgid "Off"
     1158msgstr ""
     1159
     1160#: classes/settings/page-debug.php:45
     1161msgid "WordPress multisite"
     1162msgstr ""
     1163
    11511164#: classes/settings/page-debug.php:50
    1152 msgid "On"
    1153 msgstr ""
    1154 
    1155 #: classes/settings/page-debug.php:41 classes/settings/page-debug.php:45
    1156 #: classes/settings/page-debug.php:50
    1157 msgid "Off"
    1158 msgstr ""
    1159 
    1160 #: classes/settings/page-debug.php:44
    1161 msgid "WordPress multisite"
    1162 msgstr ""
    1163 
    1164 #: classes/settings/page-debug.php:49
    11651165msgid "WooCommerce active"
    11661166msgstr ""
    11671167
    1168 #: classes/settings/page-debug.php:54
     1168#: classes/settings/page-debug.php:55
    11691169msgid "WooCommerce version"
    11701170msgstr ""
    11711171
    1172 #: classes/settings/page-debug.php:60
     1172#: classes/settings/page-debug.php:61
    11731173msgid "Site title"
    11741174msgstr ""
    11751175
    1176 #: classes/settings/page-debug.php:68
     1176#: classes/settings/page-debug.php:69
    11771177msgid "Tagline"
    11781178msgstr ""
    11791179
    1180 #: classes/settings/page-debug.php:76
     1180#: classes/settings/page-debug.php:77
    11811181msgid "WordPress address (URL)"
    11821182msgstr ""
    11831183
    1184 #: classes/settings/page-debug.php:80
     1184#: classes/settings/page-debug.php:81
    11851185msgid "Admin email"
    11861186msgstr ""
    11871187
    1188 #: classes/settings/page-debug.php:84
     1188#: classes/settings/page-debug.php:85
    11891189msgid "Encoding for pages and feeds"
    11901190msgstr ""
    11911191
    1192 #: classes/settings/page-debug.php:88
     1192#: classes/settings/page-debug.php:89
    11931193msgid "Content-Type"
    11941194msgstr ""
    11951195
    1196 #: classes/settings/page-debug.php:92
     1196#: classes/settings/page-debug.php:93
    11971197msgid "Site Language"
    11981198msgstr ""
    11991199
    1200 #: classes/settings/page-debug.php:96
     1200#: classes/settings/page-debug.php:97
    12011201msgid "Server time"
    12021202msgstr ""
    12031203
    1204 #: classes/settings/page-debug.php:100
     1204#: classes/settings/page-debug.php:101
    12051205msgid "WordPress directory path"
    12061206msgstr ""
    12071207
    1208 #: classes/settings/page-debug.php:104
     1208#: classes/settings/page-debug.php:105
    12091209msgid "Operting system"
    12101210msgstr ""
    12111211
    1212 #: classes/settings/page-debug.php:108
     1212#: classes/settings/page-debug.php:109
    12131213msgid "User agent"
    12141214msgstr ""
    12151215
    1216 #: classes/settings/page-debug.php:112
     1216#: classes/settings/page-debug.php:113
    12171217msgid "Plugin directory path"
    12181218msgstr ""
    12191219
    1220 #: classes/settings/page-debug.php:121
     1220#: classes/settings/page-debug.php:124
    12211221msgid "Plugin settings"
    1222 msgstr ""
    1223 
    1224 #: classes/settings/page-debug.php:125
    1225 msgid "Option name"
    1226 msgstr ""
    1227 
    1228 #: classes/settings/page-debug.php:126 classes/settings/page-debug.php:136
    1229 msgid "Value"
    1230 msgstr ""
    1231 
    1232 #: classes/settings/page-debug.php:135
    1233 msgid "Key"
    12341222msgstr ""
    12351223
     
    16761664msgstr ""
    16771665
    1678 #: classes/utilities.php:886
     1666#: classes/utilities.php:915
    16791667#, php-format
    16801668msgid "Failed to delete plugin translation: %s"
     1669msgstr ""
     1670
     1671#: classes/utilities.php:1096
     1672msgid " degrees "
     1673msgstr ""
     1674
     1675#: classes/utilities.php:1097
     1676msgid " divided by "
     1677msgstr ""
     1678
     1679#: classes/utilities.php:1098
     1680msgid " times "
     1681msgstr ""
     1682
     1683#: classes/utilities.php:1099
     1684msgid " plus-minus "
     1685msgstr ""
     1686
     1687#: classes/utilities.php:1100
     1688msgid " square root "
     1689msgstr ""
     1690
     1691#: classes/utilities.php:1101
     1692msgid " infinity "
     1693msgstr ""
     1694
     1695#: classes/utilities.php:1102
     1696msgid " almost equal to "
     1697msgstr ""
     1698
     1699#: classes/utilities.php:1103
     1700msgid " not equal to "
     1701msgstr ""
     1702
     1703#: classes/utilities.php:1104
     1704msgid " identical to "
     1705msgstr ""
     1706
     1707#: classes/utilities.php:1105
     1708msgid " less than or equal to "
     1709msgstr ""
     1710
     1711#: classes/utilities.php:1106
     1712msgid " greater than or equal to "
     1713msgstr ""
     1714
     1715#: classes/utilities.php:1107
     1716msgid " left "
     1717msgstr ""
     1718
     1719#: classes/utilities.php:1108
     1720msgid " right "
     1721msgstr ""
     1722
     1723#: classes/utilities.php:1109
     1724msgid " up "
     1725msgstr ""
     1726
     1727#: classes/utilities.php:1110
     1728msgid " down "
     1729msgstr ""
     1730
     1731#: classes/utilities.php:1111
     1732msgid " left and right "
     1733msgstr ""
     1734
     1735#: classes/utilities.php:1112
     1736msgid " up and down "
     1737msgstr ""
     1738
     1739#: classes/utilities.php:1113
     1740msgid " care of "
     1741msgstr ""
     1742
     1743#: classes/utilities.php:1114
     1744msgid " estimated "
     1745msgstr ""
     1746
     1747#: classes/utilities.php:1115
     1748msgid " ohm "
     1749msgstr ""
     1750
     1751#: classes/utilities.php:1116
     1752msgid " female "
     1753msgstr ""
     1754
     1755#: classes/utilities.php:1117
     1756msgid " male "
     1757msgstr ""
     1758
     1759#: classes/utilities.php:1118
     1760msgid " Copyright "
     1761msgstr ""
     1762
     1763#: classes/utilities.php:1119
     1764msgid " Registered "
     1765msgstr ""
     1766
     1767#: classes/utilities.php:1120
     1768msgid " Trademark "
     1769msgstr ""
     1770
     1771#: classes/utilities.php:1449
     1772msgid "Option name"
     1773msgstr ""
     1774
     1775#: classes/utilities.php:1450 classes/utilities.php:1464
     1776msgid "Value"
     1777msgstr ""
     1778
     1779#: classes/utilities.php:1463
     1780msgid "Key"
    16811781msgstr ""
    16821782
     
    17071807msgstr ""
    17081808
    1709 #: constants.php:167
    1710 msgid " degrees "
    1711 msgstr ""
    1712 
    1713 #: constants.php:169
    1714 msgid " divided by "
    1715 msgstr ""
    1716 
    1717 #: constants.php:169
    1718 msgid " times "
    1719 msgstr ""
    1720 
    1721 #: constants.php:169
    1722 msgid " plus-minus "
    1723 msgstr ""
    1724 
    1725 #: constants.php:169
    1726 msgid " square root "
    1727 msgstr ""
    1728 
    1729 #: constants.php:170
    1730 msgid " infinity "
    1731 msgstr ""
    1732 
    1733 #: constants.php:170
    1734 msgid " almost equal to "
    1735 msgstr ""
    1736 
    1737 #: constants.php:170
    1738 msgid " not equal to "
    1739 msgstr ""
    1740 
    1741 #: constants.php:171
    1742 msgid " identical to "
    1743 msgstr ""
    1744 
    1745 #: constants.php:171
    1746 msgid " less than or equal to "
    1747 msgstr ""
    1748 
    1749 #: constants.php:171
    1750 msgid " greater than or equal to "
    1751 msgstr ""
    1752 
    1753 #: constants.php:172
    1754 msgid " left "
    1755 msgstr ""
    1756 
    1757 #: constants.php:172
    1758 msgid " right "
    1759 msgstr ""
    1760 
    1761 #: constants.php:172
    1762 msgid " up "
    1763 msgstr ""
    1764 
    1765 #: constants.php:172
    1766 msgid " down "
    1767 msgstr ""
    1768 
    1769 #: constants.php:173
    1770 msgid " left and right "
    1771 msgstr ""
    1772 
    1773 #: constants.php:173
    1774 msgid " up and down "
    1775 msgstr ""
    1776 
    1777 #: constants.php:173
    1778 msgid " care of "
    1779 msgstr ""
    1780 
    1781 #: constants.php:174
    1782 msgid " estimated "
    1783 msgstr ""
    1784 
    1785 #: constants.php:174
    1786 msgid " ohm "
    1787 msgstr ""
    1788 
    1789 #: constants.php:174
    1790 msgid " female "
    1791 msgstr ""
    1792 
    1793 #: constants.php:174
    1794 msgid " male "
    1795 msgstr ""
    1796 
    1797 #: constants.php:175
    1798 msgid " Copyright "
    1799 msgstr ""
    1800 
    1801 #: constants.php:175
    1802 msgid " Registered "
    1803 msgstr ""
    1804 
    1805 #: constants.php:175
    1806 msgid " Trademark "
    1807 msgstr ""
    1808 
    18091809#: functions.php:95
    18101810msgid ""
  • serbian-transliteration/trunk/readme.txt

    r3307894 r3328833  
    1 === Transliterator ===
     1=== Transliterator — Multilingual Cyr-Lat Script Converter ===
    22Contributors: ivijanstefan, creativform, tihi
    33Tags: cyrillic, latin, transliteration, latinisation, cyr2lat
     
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 2.3.3
     7Stable tag: 2.3.4
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    1212
    1313== Description ==
    14 This plugin provides a seamless solution for converting WordPress content between Cyrillic and Latin scripts. Originally starting as "Serbian Transliteration", it has evolved into a general "Transliterator" for WordPress, crafted to be user-friendly and lightweight. [Learn more about its transformation](https://buymeacoffee.com/ivijanstefan/transliterator-wordpress-transforming-language-barriers-bridges) from a simple Serbian tool to a versatile transliteration plugin. The Transliterator plugin facilitates the conversion process with minimal clicks and supports unique shortcodes, enabling selective transliteration of designated content sections, delivering superior flexibility in how content is presented. Whether you want to transliterate entire pages, specific parts of your content, or even permalinks, this plugin gives you full control. Make your site Latin now!
    15 
    16 Just go to `Settings->Transliteration` and configure the plugin according to your needs.
    17 
    18 **Key Features:**
    19 - **Script Conversion:** Seamlessly convert content between Cyrillic and Latin scripts.
    20 - **Selective Transliteration:** Use shortcodes or tags to apply transliteration only to specific parts of your content.
    21 - **Image Manipulation:** Display different images based on the selected script using simple shortcode.
    22 - **Permalink Tool:** Convert Cyrillic permalinks to Latin with a single click.
    23 - **Cyrillic User Profiles:** Create user profiles using Cyrillic script.
    24 - **Permalink Translation:** Automatically translate all Cyrillic permalinks to Latin for better SEO and compatibility.
    25 - **Media File Translation:** Convert filenames of uploaded media from Cyrillic to Latin.
    26 - **Bilingual Search:** Enable WordPress search functionality to work with both Cyrillic and Latin scripts.
    27 - **Developer Friendly:** Includes PHP functions for deeper integration into themes and plugins.
    28 
    29 All settings and additional documentation are available within the plugin interface.
    30 
    31 = FEATURES =
    32 
    33 &#9989; Convert between Cyrillic and Latin scripts for posts, pages, terms, filenames, and permalinks
    34 &#9989; Support for Cyrillic usernames
    35 &#9989; Search content in both Cyrillic and Latin scripts
    36 &#9989; WP-CLI support
    37 
    38 = BENEFITS =
    39 
    40 &#9989; Compatible with multilanguage, SEO plugins, and many WordPress template
    41 &#9989; Supports partial transliteration and special characters
    42 &#9989; Scalable, customizable, and lightweight with minimal page speed impact
    43 &#9989; Multilingual support including diacritics for Serbian
    44 &#9989; Compatible with [PHP 8.1](https://plugintests.com/plugins/wporg/serbian-transliteration/latest)
    45 
    46 = LANGUAGE SUPPORT =
    47 
    48 &#9989; **Serbian, Bosnian, Montenegrin, Russian, Belarusian, Bulgarian, Macedonian, Kazakh, Ukrainian, Georgian, Greek, Arabic, Armenian, Uzbek, Tajik, Kyrgyz, Mongolian, Bashkir**
    49 
    50 &#128312; More languages coming soon...
    51 
    52 = PLUGINS SUPPORT =
    53 
    54 This plugin is made to support all known plugins and visual editors.
    55 
    56 We also do special compatible functions with:
    57 
    58  &#9989; [WooCommerce](https://wordpress.org/plugins/woocommerce/)
    59  &#9989; [Polylang](https://wordpress.org/plugins/polylang/)
    60  &#9989; [Elementor Website Builder](https://wordpress.org/plugins/elementor/)
    61  &#9989; [CF Geo Plugin](https://wordpress.org/plugins/cf-geoplugin/)
    62  &#9989; [Yoast SEO](https://wordpress.org/plugins/wordpress-seo/)
    63  &#9989; [Data Tables Generator by Supsystic](https://wordpress.org/plugins/data-tables-generator-by-supsystic/)
    64  &#9989; [Slider Revolution](https://www.sliderrevolution.com/)
    65  &#9989; [Avada theme](https://avada.theme-fusion.com/)
    66  &#9989; [Themify](https://themify.me/)
    67  &#9989; [Divi](https://www.elegantthemes.com/gallery/divi/) (Theme & Builder)
    68 
    69 **It's important to understand** that while our plugin is compatible with most others, the sheer diversity of WordPress installations and thousands of available plugins means there is always a small chance of encountering conflicts. We strive to ensure maximum compatibility, but given the vast number of variables, flawless operation in all environments cannot be guaranteed. If you experience any issues, they may be caused by incompatibility with another plugin. In such cases, we encourage you to reach out to us or the respective plugin authors for assistance. Keeping all your plugins and WordPress installation up to date is often the simplest and most effective way to resolve unexpected behavior.
    70 
    71 This plugin provides a unified and modern solution that covers the functionality typically offered by multiple separate plugins, such as [SrbTransLatin](https://wordpress.org/plugins/srbtranslatin/), [Cyr-To-Lat](https://wordpress.org/plugins/cyr2lat/), [Allow Cyrillic Usernames](https://wordpress.org/plugins/allow-cyrillic-usernames/), [Filenames to Latin](https://wordpress.org/plugins/filenames-to-latin/), [Cyrillic Permalinks](https://wordpress.org/plugins/cyrillic-slugs/), [Latin Now!](https://wordpress.org/plugins/latin-now/), [Cyrillic 2 Latin](https://wordpress.org/plugins/cyrillic2latin/), [Cyr to Lat Enhanced](https://wordpress.org/plugins/cyr3lat/), [HyToLat](https://wordpress.org/plugins/hytolat/), [Cyrlitera](https://wordpress.org/plugins/cyrlitera/), [Arabic to Latin](https://wordpress.org/plugins/arabic-to-lat/), [Geo to Lat](https://wordpress.org/plugins/geo-to-lat/), [RusToLat](https://wordpress.org/plugins/sp-rtl-rus-to-lat/) and [srlatin](https://sr.wordpress.org/files/2018/12/srlatin.zip).
    72 
    73 Instead of relying on multiple separate tools, this all-in-one plugin brings together everything you need in a single, lightweight package - without compromising performance or flexibility.
    74 
    75 Every feature in this plugin can be selectively enabled or disabled based on your needs. Additionally, developers can make use of available filters and hooks to further customize behavior. We've designed this plugin with flexibility and compatibility in mind.
     14
     15✅ **MULTILINGUAL SCRIPT SUPPORT**: 
     16_Serbian, Bosnian, Montenegrin, Russian, Belarusian, Bulgarian, Macedonian, Kazakh, Ukrainian, Georgian, Greek, Arabic, Armenian, Uzbek, Tajik, Kyrgyz, Mongolian, Bashkir_
     17
     18This plugin provides a modern, modular, and extensible solution for **transliterating WordPress content** between **Cyrillic and Latin scripts**—with additional support for Arabic-based and other regional alphabets. Originally launched as “Serbian Transliteration,” it has evolved into a **general-purpose transliteration tool** built to serve a wider multilingual audience.
     19
     20📝 [Discover the evolution of this plugin](https://buymeacoffee.com/ivijanstefan/transliterator-wordpress-transforming-language-barriers-bridges)
     21
     22You can transliterate entire posts, pages, permalinks, media filenames, usernames, and even selectively control output using built-in shortcodes. Whether you're managing a bilingual site or just want cleaner slugs, **you remain in control**.
     23
     24🔁 Features include:
     25- Real-time conversion between **Cyrillic and Latin scripts**
     26- Transliteration of **titles, content, permalinks, filenames, usernames**
     27- Shortcodes for **partial or conditional transliteration**
     28- Bilingual search across both script types
     29- Developer API with hooks and filters
     30- No database changes – safe to enable or disable anytime
     31- Supports Arabic, Greek, Cyrillic, and regional language variants
     32
     33All settings are available under `Settings → Transliteration`.
     34
     35📦 In terms of functionality, this plugin covers and extends what several popular tools offer individually, such as: 
     36[SrbTransLatin](https://wordpress.org/plugins/srbtranslatin/), 
     37[Cyr-To-Lat](https://wordpress.org/plugins/cyr2lat/), 
     38[Allow Cyrillic Usernames](https://wordpress.org/plugins/allow-cyrillic-usernames/), 
     39[Filenames to Latin](https://wordpress.org/plugins/filenames-to-latin/), 
     40[Cyrillic Permalinks](https://wordpress.org/plugins/cyrillic-slugs/), 
     41[Latin Now!](https://wordpress.org/plugins/latin-now/), 
     42[Cyrillic 2 Latin](https://wordpress.org/plugins/cyrillic2latin/), 
     43[Ukr-To-Lat](https://wordpress.org/plugins/ukr-to-lat/), 
     44[Cyr to Lat Enhanced](https://wordpress.org/plugins/cyr3lat/), 
     45[HyToLat](https://wordpress.org/plugins/hytolat/), 
     46[Cyrlitera](https://wordpress.org/plugins/cyrlitera/), 
     47[Arabic to Latin](https://wordpress.org/plugins/arabic-to-lat/), 
     48[Geo to Lat](https://wordpress.org/plugins/geo-to-lat/), 
     49[RusToLat](https://wordpress.org/plugins/sp-rtl-rus-to-lat/), and 
     50[srlatin](https://sr.wordpress.org/files/2018/12/srlatin.zip).
     51
     52This plugin streamlines what others separate—bringing transliteration tools together into one stable, extensible, and WordPress-friendly package.
     53
     54🧩 Fully compatible with popular plugins and page builders, including: 
     55[WooCommerce](https://wordpress.org/plugins/woocommerce/), 
     56[Polylang](https://wordpress.org/plugins/polylang/), 
     57[Elementor](https://wordpress.org/plugins/elementor/), 
     58[CF Geo Plugin](https://wordpress.org/plugins/cf-geoplugin/), 
     59[Yoast SEO](https://wordpress.org/plugins/wordpress-seo/), 
     60[Data Tables Generator by Supsystic](https://wordpress.org/plugins/data-tables-generator-by-supsystic/), 
     61[Slider Revolution](https://www.sliderrevolution.com/), 
     62[Avada theme](https://avada.theme-fusion.com/), 
     63[Themify](https://themify.me/), 
     64[Divi](https://www.elegantthemes.com/gallery/divi/)
     65
     66Make your multilingual content readable, searchable, and SEO-friendly— 
     67**Transliterate once. Control forever. Latin now.**
    7668
    7769== Installation ==
     
    109101
    110102== Changelog ==
     103
     104= 2.3.4 =
     105* Added new transliteration maps
     106* Improved and optimized transliterations
     107* Optimized code
     108* Fixed GUI bugs
    111109
    112110= 2.3.3 =
     
    257255
    258256== Upgrade Notice ==
     257
     258= 2.3.4 =
     259* Added new transliteration maps
     260* Improved and optimized transliterations
     261* Optimized code
     262* Fixed GUI bugs
    259263
    260264= 2.3.3 =
  • serbian-transliteration/trunk/serbian-transliteration.php

    r3307894 r3328833  
    22
    33/**
    4  * @wordpress-plugin
    5  * Plugin Name:       Transliterator
     4 * Plugin Name:       Transliterator – Multilingual Cyr-Lat Script Converter
    65 * Plugin URI:        https://wordpress.org/plugins/serbian-transliteration/
    7  * Description:       All-in-one Cyrillic to Latin transliteration plugin for WordPress that actually works.
    8  * Version:           2.3.3
     6 * Description:       All-in-one Cyrillic to Latin transliteration plugin for WordPress. Supports Slavic, Arabic, Greek, and Central Asian scripts.
     7 * Version:           2.3.4
    98 * Requires at least: 5.4
    109 * Tested up to:      6.8
     
    1211 * Author:            Ivijan-Stefan Stipić
    1312 * Author URI:        https://profiles.wordpress.org/ivijanstefan/
    14  * License:           GPL-2.0+
    15  * License URI:       https://www.gnu.org/licenses/gpl-2.0.txt
     13 * License:           GPL-2.0-or-later
     14 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
    1615 * Text Domain:       serbian-transliteration
    1716 * Domain Path:       /languages
    1817 * Network:           true
    1918 *
    20  * This program is free software; you can redistribute it and/or modify
     19 * @wordpress-plugin
     20 *
     21 * This plugin is free software: you can redistribute it and/or modify
    2122 * it under the terms of the GNU General Public License as published by
    22  * the Free Software Foundation; either version 2 of the License, or
     23 * the Free Software Foundation, either version 2 of the License, or
    2324 * (at your option) any later version.
    2425 *
    25  * This program is distributed in the hope that it will be useful,
     26 * This plugin is distributed in the hope that it will be useful,
    2627 * but WITHOUT ANY WARRANTY; without even the implied warranty of
    2728 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     
    2930 *
    3031 * You should have received a copy of the GNU General Public License
    31  * along with this program. If not, see <https://www.gnu.org/licenses/>.
     32 * along with this plugin. If not, see <https://www.gnu.org/licenses/>.
    3233 */
    3334
     
    5152 * Hey, champ!
    5253 *
    53  * Yeah, you with the mouse hovering over this comment like it owes you money.
    54  * If you're reading this, you’re either a coding prodigy or lost on your way to cat memes.
    55  * Either way, welcome to the magical wonderland of programming where we turn chaos into... slightly more organized chaos.
    56 
    57  * But wait, hold onto your ergonomic chair—there’s a plot twist! We’re on a mission. A noble quest.
    58  * A crusade to make the internet smoother, faster, and so efficient it’ll make Elon’s rockets jealous.
    59  * And guess what? We need YOU. Yes, you with the keyboard that clacks like a tap-dancing velociraptor.
    60 
    61  * Picture this: you, the hero of syntax, wielding your IDE like a lightsaber, slicing through bugs faster than
    62  * my grandma through a cheesecake. This isn’t just coding—it’s destiny. And destiny is calling.
    63  * Spoiler alert: destiny sounds a lot like your notifications.
    64 
    65  * So, ready to flex those brain muscles and make scripts so smooth, they could double as pickup lines?
    66  * Join the fun (and occasional existential crisis) at: https://github.com/InfinitumForm/serbian-transliteration
    67 
    68  * Together, we’ll crush bugs, annihilate errors, and make compiler warnings weep tears of shame.
    69  * Plus, you get to work with the coolest devs around. We’re like the Justice League,
    70  * but with more Git commits and fewer brooding billionaires in batsuits.
    71 
    72  * So, what’s it gonna be? Are you gonna sit there with your coffee and questionable life choices,
    73  * or are you gonna step up, write some code, and be the legend developers whisper about in Slack channels?
    74  * Your call, superstar. Also, there might be snacks. Probably.
    75 
    76  * Join us. Code epically. Save the internet. Maybe eat cookies.
     54 * Yeah, you - hovering over this comment like it owes you money.
     55 * If you're reading this, you're either a coding genius or took a wrong turn on your way to cat memes.
     56 * Either way, welcome to the magical world of programming - where we turn chaos into... slightly more structured chaos.
     57 *
     58 * But wait—plot twist! We’re on a noble mission. A glorious crusade to make the web smoother, faster, and so clean
     59 * it could make Elon’s rockets blush. And guess what? We need YOU. Yes, you with the keyboard that sounds like
     60 * a tap-dancing velociraptor at 3AM.
     61 *
     62 * Imagine this: you, code sorcerer, wielding your IDE like a lightsaber,
     63 * slicing bugs faster than grandma demolishes cheesecake.
     64 * This isn’t just coding. It’s destiny. And it’s buzzing in your notifications.
     65 *
     66 * Ready to write scripts so elegant they could double as pickup lines?
     67 * Help us build the future (and survive the occasional existential crisis) here:
     68 * 👉 https://github.com/InfinitumForm/serbian-transliteration
     69 *
     70 * Together, we’ll squash bugs, silence warnings, and shame runtime errors into submission.
     71 * Think of us as the Justice League - but with more Git commits and less brooding in caves.
     72 *
     73 * So, what’s it gonna be? Keep sipping that coffee while questioning life,
     74 * or rise up and become the dev legends people whisper about on Slack?
     75 * Your move, superstar. Snacks not included. Probably.
    7776 *************************************************************************************************************************/
    7877
     
    137136
    138137/*************************************************************************************************************************
    139  * Oh, you’re still here? I see you’ve made it this far, brave coder. Impressive.
    140  * Most devs would’ve bailed by now, either distracted by TikTok or curled up in a ball after seeing `Undefined index`.
     138 * Oh, you’re still here? Respect.
     139 * That means you’ve made it this far, brave coder. Impressive.
     140 * Most devs would’ve bailed by now—either lost in a TikTok spiral or curled up in a ball after seeing `Undefined index`.
    141141 * But not you. You’re different. You’re... *committed*.
    142 
     142 *
    143143 * And since you’ve stuck around, let’s talk about what’s next.
    144  * By now, you’ve probably crushed a few bugs, high-fived yourself, and possibly invented some new curse words.
    145  * But the real challenge lies ahead: writing code so clean, it would make Marie Kondo sob tears of joy.
    146 
    147  * This is where champions are made. Where functions harmonize, variables moonwalk, and loops actually loop... responsibly.
    148  * So keep going, keep coding, and remember: every semicolon is a tiny victory. Unless you’re in Python. Then... yikes.
    149 
    150  * Feeling stuck? Don’t sweat it. Even Tony Stark needed a few tries before the Iron Man suit actually flew.
    151  * Take a deep breath, Google it like the rest of us mortals, and keep moving forward.
    152 
    153  * Oh, and when you finally deploy this masterpiece and users marvel at its perfection,
    154  * just know: you did that. YOU. Okay, maybe Stack Overflow helped a bit. We won’t tell.
    155 
    156  * And if you’re ready for the next level of coding awesomeness,
    157  * join us at: https://github.com/InfinitumForm/serbian-transliteration
    158 
    159  * Because together, we’ll turn code into poetry, bugs into dust, and errors into faint memories.
    160  * The internet deserves your genius, and hey—there might even be snacks. Probably. 😉
     144 * By now, you’ve probably crushed a few bugs, high-fived yourself, and maybe even invented a new programming dialect made of curse words.
     145 * But the real challenge lies ahead: writing code so clean, Marie Kondo would weep with joy.
     146 *
     147 * This is where champions are forged. Where functions sing, variables moonwalk, and loops actually loop… responsibly.
     148 * So keep going. Keep coding. Every semicolon is a tiny victory. Unless you’re in Python. Then… condolences.
     149 *
     150 * Stuck? No worries. Even Tony Stark needed a few failed prototypes before nailing the flight test.
     151 * Breathe. Google like the rest of us mere mortals. And keep pushing forward.
     152 *
     153 * And when you finally ship this masterpiece and users marvel at how everything “just works,”
     154 * remember: that was YOU. Okay, maybe Stack Overflow helped a little. We won’t tell.
     155 *
     156 * If you're ready to level up and write code that makes keyboards weep with joy,
     157 * join us here: 👉 https://github.com/InfinitumForm/serbian-transliteration
     158 *
     159 * Together, we’ll turn bugs into dust, errors into folklore, and code into quiet art.
     160 * The internet deserves your genius. And yes—there might be snacks. Probably. 😉
    161161 *************************************************************************************************************************/
    162162
     
    202202 * So here we are. The end of the code. The final frontier. The last semicolon standing.
    203203 * If you’ve made it all the way here, you’re officially a legend. A champion of syntax.
    204  * The kind of coder they write songs about (or at least memes).
    205 
    206  * But let’s not stop here. No, no, no. The world still needs you.
    207  * Somewhere out there, a script is crying for help. A bug is wreaking havoc.
    208  * And a poor user is wondering why their form just submitted 47 times.
    209 
    210  * So, one last time: join us. Become part of something bigger.
    211  * Be the coder who makes the internet faster, smoother, and slightly less irritating.
    212 
    213  * Here’s the link, one last time: https://github.com/InfinitumForm/serbian-transliteration
    214 
    215  * Click it. Fork it. Star it. And remember, the only thing standing between chaos and order... is YOU.
    216  * Now go. Code boldly, deploy confidently, and maybe—just maybe—treat yourself to those cookies I promised. 🍪
     204 * The kind of coder they write songs about—or at least a few highly specific memes.
     205 *
     206 * But let’s not stop here. Oh no. The world still needs you.
     207 * Somewhere, a lonely script is sobbing. A bug is chewing through logic.
     208 * And a confused user just submitted a form 47 times and called it "lag."
     209 *
     210 * So, one last time: join us. Become part of something slightly bigger than your coffee mug.
     211 * Be the dev who makes the internet faster, cleaner, and just a bit less cursed.
     212 *
     213 * https://github.com/InfinitumForm/serbian-transliteration
     214 *
     215 * Fork it. 
     216 * Star it. 
     217 * Clone it. 
     218 * Pull it. 
     219 * Push it. 
     220 * Merge it. 
     221 * Fix it. 
     222 * Ship it. 
     223 *
     224 * (Harder. Better. Safer. Smoother.)
     225 *
     226 * And remember: the only thing standing between chaos and order... is YOU.
     227 * Now go. Code boldly, deploy confidently—and maybe, just maybe,
     228 * reward yourself with those cookies I promised. 🍪 You’ve earned them.
    217229 *************************************************************************************************************************/
     230 
Note: See TracChangeset for help on using the changeset viewer.