Plugin Directory

Changeset 2025058


Ignore:
Timestamp:
02/05/2019 08:40:54 AM (7 years ago)
Author:
livechatoo
Message:

Add support for dynamic language setting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • livechatoo/trunk/livechatoo.php

    r2024429 r2025058  
    11<?php
     2
    23/*
    34Plugin Name: Livechatoo
    45Plugin URI: https://wordpress.org/plugins/livechatoo/
    5 Description: Wordpress plugin to insert Livechatoo JavaScript code to your website.
    6 Version: 1.0
     6Description: Wordpress plugin to insert Livechatoo JavaScript code to your website
     7Version: 1.1
    78Author: Livechatoo
    89Author URI: https://www.livechatoo.com/
     
    1213// define function to show plugin form in admin
    1314function livechatoo_options_menu() { ?>
    14   <style>
    15   .form-table tr td { padding: 10px; }
    16   </style>
    17   <div class="wrap">
    18     <h1>Livechatoo</h1>
    19     <div id="existingform">
    20       <div class="metabox-holder">
    21         <div class="postbox">
    22           <h3 class="hndle"><span><?php echo livechatoo_message(0); ?></span></h3>
    23           <div style="padding:10px;">
    24             <form method="post" action="options.php">
    25               <?php wp_nonce_field('update-options'); ?>
    26               <table class="form-table">
    27                 <tr><td><textarea name="livechatoo" rows="10" style="width: 100%" placeholder="<?php echo livechatoo_message(1) ?>"><?php echo get_option('livechatoo'); ?></textarea></td></tr>
    28                 <tr><td><input type="submit" class="button-primary" value="<?php echo livechatoo_message(2); ?>"></td></tr>
    29                </table>
    30               <input type="hidden" name="action" value="update">
    31               <input type="hidden" name="page_options" value="livechatoo">
    32             </form>
    33           </div>
     15    <style>
     16    .form-table tr td { padding: 0; }
     17    </style>
     18    <div class="wrap">
     19        <h1>Livechatoo</h1>
     20        <div id="existingform">
     21            <div class="metabox-holder">
     22                <div class="postbox">
     23                    <h3 class="hndle"><span><?php echo livechatoo_message(0); ?></span></h3>
     24                    <div style="padding:10px;">
     25                        <div style="padding: 10px 0"><?php echo livechatoo_message(2); ?></div>
     26                        <form method="post" action="options.php">
     27                            <?php wp_nonce_field('update-options'); ?>
     28                            <table class="form-table">
     29                                <tr><td><textarea name="livechatoo" rows="12" style="width: 100%" placeholder="<?php echo livechatoo_message(1) ?>"><?php echo get_option('livechatoo'); ?></textarea></td></tr>
     30                                <tr><td><input type="submit" class="button-primary" value="<?php echo livechatoo_message(3); ?>"></td></tr>
     31                            </table>
     32                            <input type="hidden" name="action" value="update">
     33                            <input type="hidden" name="page_options" value="livechatoo">
     34                        </form>
     35                    </div>
     36                </div>
     37            </div>
    3438        </div>
    35       </div>
    3639    </div>
    37   </div>
    3840<?php
    3941}
     
    4143// define function to get message depending on language
    4244function livechatoo_message($num) {
    43   $lang = explode('_', get_locale());
    44   $lang = $lang[0];
     45    $lang = explode('_', get_locale());
     46    $lang = $lang[0];
    4547
    46   $msgs = array(
    47     'cs' => array(
    48       'Zadejte Váš Livechatoo JavaScript kód',
    49       '<!-- Sem vložte Váš Livechatoo JavaScript kód -->',
    50       'Uložit změny',
    51     ),
    52     'de' => array(
    53       'Geben Sie Ihren Livechatoo-JavaScript-Code ein',
    54       '<!-- Fügen Sie Ihren Livechatoo-JavaScript-Code hier ein -->',
    55       'Änderungen speichern',
    56     ),
    57     'en' => array(
    58       'Enter your Livechatoo JavaScript code',
    59       '<!-- Paste here your Livechatoo JavaScript code -->',
    60       'Save changes',
    61     ),
    62     'hu' => array(
    63       'Adja meg Livechatoo JavaScript kódját',
    64       '<!-- Itt helyezze el a Livechatoo JavaScript kódját -->',
    65       'Változások mentése',
    66     ),
    67     'sk' => array(
    68       'Zadajte Váš Livechatoo JavaScript kód',
    69       '<!-- Sem vložte Váš Livechatoo JavaScript kód -->',
    70       'Uložiť zmeny',
    71     ),
    72   );
     48    $msgs = array(
     49      'cs' => array(
     50        'Zadejte váš Livechatoo JavaScript kód',
     51        '<!-- Sem vložte váš Livechatoo JavaScript kód -->',
     52        'Pevně určený jazyk v JavaScript kódu můžete nahradit za proměnnou {auto} pro automatické použití jazyka vaší stránky v Livechatoo (například změňte lang: \'cs\' na lang: \'{auto}\').',
     53        'Uložit změny',
     54      ),
     55      'de' => array(
     56        'Geben Sie Ihren Livechatoo-JavaScript-Code ein',
     57        '<!-- Fügen Sie Ihren Livechatoo-JavaScript-Code hier ein -->',
     58        'Sie können eine feste Sprache im JavaScript-Code durch die Variable {auto} ersetzen, um Ihre Sprache in Livechatoo automatisch zu verwenden (ändern Sie beispielsweise lang: \'de\' in lang: \'{auto}\').',
     59        'Änderungen speichern',
     60      ),
     61      'en' => array(
     62        'Enter your Livechatoo JavaScript code',
     63        '<!-- Paste here your Livechatoo JavaScript code -->',
     64        'You can replace permanent language code to {auto} variable for automatic use of your site language in Livechatoo (for example change lang: \'en\' to lang: \'{auto}\').',
     65        'Save Changes',
     66      ),
     67      'hu' => array(
     68        'Adja meg Livechatoo JavaScript kódját',
     69        '<!-- Itt helyezze el a Livechatoo JavaScript kódját -->',
     70        'A JavaScript-kódban rögzített nyelvet a {auto} változóval helyettesítheti a nyelv automatikus használatához a Livechatoo-ban (például a lang lang: \'hu\' a lang: \'{auto}\').',
     71        'Módosítások mentése',
     72      ),
     73      'sk' => array(
     74        'Zadajte váš Livechatoo JavaScript kód',
     75        '<!-- Sem vložte váš Livechatoo JavaScript kód -->',
     76        'Pevne určený jazyk v JavaScript kóde môžete nahradiť za premennú {auto} pre automatické použitie jazyka vašej stránky v Livechatoo (napríklad zmeňte lang : \'sk\' na lang : \'{auto}\').',
     77        'Uložiť zmeny',
     78      ),
     79    );
    7380
    74   $lang = (isset($msgs[$lang])) ? $lang : 'en';
     81    $lang = (isset($msgs[$lang])) ? $lang : 'en';
    7582
    76   $msg = (isset($msgs[$lang][$num])) ? $msgs[$lang][$num] : '';
     83    $msg = (isset($msgs[$lang][$num])) ? $msgs[$lang][$num] : '';
    7784
    78   return $msg;
     85    return $msg;
    7986}
    8087
    8188// define function to add link to the main admin menu
    8289function livechatoo_menu() {
    83   add_menu_page(livechatoo_message(0), 'Livechatoo', 0, 'livechatoo', 'livechatoo_options_menu', 'dashicons-format-chat');
     90    add_menu_page(livechatoo_message(0), 'Livechatoo', 0, 'livechatoo', 'livechatoo_options_menu', 'dashicons-format-chat');
    8491}
    8592
    8693// define function to output livechatoo js code to the website head
    8794function livechatoo_head() {
    88   echo "\n" . get_option('livechatoo') . "\n";
     95    $jscode = get_option('livechatoo');
     96
     97    if (!empty($jscode)) {
     98        // set Livechatoo language in JS code automatically by website language
     99        $locale = explode('_', get_locale());
     100        $lang = $locale[0];
     101        $jscode = str_replace('{auto}', $lang, $jscode);
     102
     103        // append Livechatoo JS code to document
     104        echo "\n" . $jscode . "\n";
     105    }
    89106}
    90107
Note: See TracChangeset for help on using the changeset viewer.