GetSimple Support Forum
Support for multilanguage sites, Internationalization (I18N) - Printable Version

+- GetSimple Support Forum (http://get-simple.info/forums)
+-- Forum: GetSimple (http://get-simple.info/forums/forumdisplay.php?fid=3)
+--- Forum: Plugins (http://get-simple.info/forums/forumdisplay.php?fid=13)
+--- Thread: Support for multilanguage sites, Internationalization (I18N) (/showthread.php?tid=1221)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43


RE: Support for multilanguage sites, Internationalization (I18N) - morvy - 2019-05-23

you need to count it manually as far as I know, here's my breadcrumbs.inc.php file from an older project, maybe it'll help (it was on a site with a blog, so there are rules for categories and tags)

PHP Code:
<?php if(!defined('IN_GS')){ die('you cannot load this page directly.'); } ?>
<?php 
if(return_page_slug()!="index") {

$links return_i18n_breadcrumbs(return_page_slug());
$separator ' <i class="icon fa-angle-right"></i> ';
?>
<div id="breadcrumbs">
    <div class="container" itemscope itemtype="http://schema.org/BreadcrumbList">
        <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a href="<?php echo find_url('index',null); ?>" title="Domov" itemprop="item" class="domov">
                <i class="icon fa-home fa-lg"></i><span class="visuallyhidden" itemprop="name"><?php get_site_name(); ?></span>
            </a><?php echo $separator?>
            <meta itemprop="position" content="1"/>
        </span>
        <?php
        $n 
count($links);    $gparent "";
        for(
$i=0$i<$n$i++) {
            if(
$i==$n-1$separator "";
            if(
$links[$i]['menu']!=""$title $links[$i]['menu'];
            else 
$title $links[$i]['title'];
            
$gparent = (empty($gparent)) ? $links[$i]['parent'] : $gparent;
            if(
$gparent != $links[$i]['parent']) {
                
$links[$i]['parent'] = $gparent.'/'.$links[$i]['parent'];
            }
            if(
$links[$i]['parent']!=""$links[$i]['parent'] = "/".$links[$i]['parent'];
            
$finalurl rtrim($SITEURL,"/").$links[$i]['parent'].'/'.$links[$i]['url'];
            if(
$finalurl==$SITEURL.'index'$finalurl rtrim($SITEURL,"/");
            echo 
'<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
                    
'<a href="'.$finalurl.'" itemprop="item" title="'.$links[$i]['title'].'">',
                        
'<span itemprop="name">'.$title.'</span>',
                    
'</a>'.$separator,
                    
'<meta itemprop="position" content="'.($i+2).'"/>',
                
'</span>',"\n";
        }
        if(
return_page_slug() == "blog") {
            
$separator ' <i class="icon fa-angle-right"></i> ';
            if(
nm_is_single()) {
                
$all nm_get_posts();
                foreach (
$all as $post) {
                    if(
$post->slug == nm_post_slug(false)) {
                        echo 
$separator;
                        echo 
'<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">',
                            
'<a href="'.nm_post_url(false).'" itemprop="item" title="'.$post->title.'">',
                            
'<span itemprop="name">'.$post->title.'</span>',
                            
'</a>',
                            
'<meta itemprop="position" content="'.($i+2).'"/>',
                        
'</span>';
                    }
                }
            }
            elseif(
nm_is_tag()) {
                echo 
$separator;
                echo 
'<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">Značka: ',
                            
'<a href="'.$SITEURL.'blog/tag/'.$_GET[NMPARAMTAG].'" itemprop="item" title="'.$_GET[NMPARAMTAG].'">',
                            
'<span itemprop="name">'.$_GET[NMPARAMTAG].'</span>',
                            
'</a>',
                            
'<meta itemprop="position" content="'.($i+2).'"/>',
                        
'</span>';
            }
            elseif(
nm_is_archive()) {
                echo 
$separator;
                
$newtime $_GET[NMPARAMARCHIVE];
                echo 
'<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">Archív: ',
                            
'<a href="'.$SITEURL.'blog/archive/'.$_GET[NMPARAMARCHIVE].'" itemprop="item" title="'.$newtime.'">',
                            
'<span itemprop="name">'.$newtime.'</span>',
                            
'</a>',
                            
'<meta itemprop="position" content="'.($i+2).'"/>',
                        
'</span>';
            }
        }
        
?>
    </div>
</div>
<?php 



RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2019-05-23

Thanks, I'll try to understand.


RE: Support for multilanguage sites, Internationalization (I18N) - morvy - 2019-05-23

try to include it as a file in template (that's how it's meant to work), it should work out of the box for whole site, if you have News Manager, it'll show the extended part..


Hierarchical Menus - celextel - 2019-07-26

We have installed this I18N Plugin and we are using this for Hierarchical Menus .

We are seeing the following Error Messages now and then in the
/home/xxxx/public_html/data/other/logs/errorlog.txt File:
Code:
PHP Fatal error:  I18nNavigationFrontend::outputMenu(): Cannot use output buffering in output buffering display handlers in [no active file] on line 0

Please guide us as to what to do in this regard.

Thanks,

Lakshmanan


RE: Support for multilanguage sites, Internationalization (I18N) - watchsmart - 2019-09-16

Is it possible for the breadcrumbs to end in something other than the slug? I would like for that to just use the title of the page, if possible.

If anyone can suggest a modification to the component, I would be grateful. Thanks!


RE: Support for multilanguage sites, Internationalization (I18N) - Connie - 2020-02-21

(2019-02-26, 00:52:02)Carlos Wrote: Try changing i18n_navigation/frontend.class.php line 219
Code:
           'haschildren' => $showChildren ? count($children) > 0 : self::hasChildren($childurl, $show)

to this:
Code:
           'haschildren' => $showChildren ? $children && count($children) > 0 : self::hasChildren($childurl, $show)

(Not tested.)

Dear Carlos,

The problem-causing line is still in the actual version and I changed the line, now it is ok at my client's site
Will there be an update in future?

Thanks for all help,

Connie


RE: Support for multilanguage sites, Internationalization (I18N) - Carlos - 2020-02-22

No idea if mvlcek or anyone will ever update this plugin. But I suppose that if someone did, he/she would fix this issue.


RE: Support for multilanguage sites, Internationalization (I18N) - Domi - 2020-07-09

Hi,

can someone explains why my "Sub Menu 1" doesn't appear under "Menu 2" ? although in page management, it's correct ...

[Image: sm1.jpg]

[Image: sm2.jpg]

thanks in advance,
Domi.


RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2020-07-09

Try these themes.
http://get-simple.info/extend/theme/innovation-theme-with-dropdown-menu/961/
http://get-simple.info/extend/theme/new/963/
http://get-simple.info/extend/theme/uikit/1207/


RE: Support for multilanguage sites, Internationalization (I18N) - Domi - 2020-07-09

(2020-07-09, 05:07:08)Oleg06 Wrote: Try these themes.
http://get-simple.info/extend/theme/innovation-theme-with-dropdown-menu/961/
http://get-simple.info/extend/theme/new/963/
http://get-simple.info/extend/theme/uikit/1207/

Thanks for this Oleg but I have already make my own theme, I just want to find a solution (simple if possible) for sub-menus.

Rgds,
Domi.


RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2020-07-09

(2020-07-09, 07:14:22)Domi Wrote:
(2020-07-09, 05:07:08)Oleg06 Wrote: Try these themes.
http://get-simple.info/extend/theme/innovation-theme-with-dropdown-menu/961/
http://get-simple.info/extend/theme/new/963/
http://get-simple.info/extend/theme/uikit/1207/

Thanks for this Oleg but I have already make my own theme, I just want to find a solution (simple if possible) for sub-menus.

Rgds,
Domi.
I think it will not be difficult for you if you are familiar with CSS or JS


RE: Support for multilanguage sites, Internationalization (I18N) - Domi - 2020-07-09

(2020-07-09, 08:59:41)Oleg06 Wrote:
(2020-07-09, 07:14:22)Domi Wrote:
(2020-07-09, 05:07:08)Oleg06 Wrote: Try these themes.
http://get-simple.info/extend/theme/innovation-theme-with-dropdown-menu/961/
http://get-simple.info/extend/theme/new/963/
http://get-simple.info/extend/theme/uikit/1207/

Thanks for this Oleg but I have already make my own theme, I just want to find a solution (simple if possible) for sub-menus.

Rgds,
Domi.
I think it will not be difficult for you if you are familiar with CSS or JS

Just tried them but as these themes used i18n, I get the same problem as shown in my previous post/pictures.
btw thx.
Domi.


RE: Support for multilanguage sites, Internationalization (I18N) - Riianna - 2020-07-09

Use breadcrumb area to show subpages not breadcrumbs if you use i18n menu


RE: Support for multilanguage sites, Internationalization (I18N) - Domi - 2020-07-10

(2020-07-09, 20:01:26)Riianna Wrote: Use breadcrumb area to show subpages not breadcrumbs if you use i18n menu

Thanks for your reply but I don't understand what you mean ... can you be more explicit or a small example please.

Rgds,
Domi.


RE: Support for multilanguage sites, Internationalization (I18N) - Riianna - 2020-07-10

(2020-07-10, 17:59:48)Domi Wrote:
(2020-07-09, 20:01:26)Riianna Wrote: Use breadcrumb area to show subpages not breadcrumbs if you use i18n menu

Thanks for your reply but I don't understand what you mean ... can you be more explicit or a small example please.

Rgds,
Domi.

Like this example. i uset below code replacing breadcrumps in header.inc file between
<!-- breadcrumbs: only show when NOT on homepage --> and </header>
and a bit styling
.subpages li{display:inline;list-style-type:none;padding-right: 20px;text-decoration:none;
PHP Code:
<?php
  $bc 
return_i18n_breadcrumbs(return_page_slug());
 
 $slug $bc[0]['url'];
 
 $pages return_i18n_pages();
 
 if (@$pages[$slug]['children']) {
    echo 
'<div class="breadcrumbs"><span class="wrapper"><ul class="subpages">';
 
   get_i18n_navigation(return_page_slug(),1,99);
    echo 
'</ul></span></div>';
 
 }
?>



RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2020-07-11

Do you need a drop down menu? Or is my Google stupid?
Or is my Google stupid?
https://getsimplethemes.ru/free-themes/uikit/uikit-1/


RE: Support for multilanguage sites, Internationalization (I18N) - Felix - 2020-07-11

Who else agrees that uikit is bloatware ?


RE: Support for multilanguage sites, Internationalization (I18N) - Bigin - 2020-07-11

Please define bloatware?

At least not more bloatware than other CSS frameworks e.g. Bootstrap etc. Nevertheless, it can make work a lot easier and you save a lot of time - as with most CSS frameworks.


RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2020-07-11

(2020-07-11, 02:18:28)Felix Wrote: Who else agrees that uikit is bloatware ?

I checked my site for viruses on three services. No viruses were detected.


RE: Support for multilanguage sites, Internationalization (I18N) - Felix - 2020-07-11

Quote:please define bloatware

Yes let's define bloatware here.

uikit.min.js is around 130 kb
why would I load a 130 kb library and then only need 5% of it's classes for a website ?
Or lose time to find out how to recompile uikit for only the classes I would need ?

Lets code some uikit in a html layout:

class="uk-width-auto@m uk-nav uk-navbar-container uk-grid-small uk-height-medium uk-column-1-3 uk-width-1-2 . . . ."
really ??

not even talking about how much time it would need to learn all uikit's classes
uikit, bootstrap, etc, are only useful for coding conformity in a team of coders

one man shows and freelancers will certainly choose something bloat free, super flexible and fast
like: https://arnaudleray.github.io/pocketgrid/

But if you really want a kick-ass css framework that blows all the rest out of the water:
https://microcipcip.github.io/gridy/#!/

F.


RE: Support for multilanguage sites, Internationalization (I18N) - Oleg06 - 2020-07-11

(2020-07-11, 07:04:27)Felix Wrote:
Quote:please define bloatware

Yes let's define bloatware here.

uikit.min.js is around 130 kb
why would I load a 130 kb library and then only need 5% of it's classes for a website ?
Or lose time to find out how to recompile uikit for only the classes I would need ?

Lets code some uikit in a html layout:

class="uk-width-auto@m uk-nav uk-navbar-container uk-grid-small uk-height-medium uk-column-1-3 uk-width-1-2 . . . ."
really ??

not even talking about how much time it would need to learn all uikit's classes
uikit, bootstrap, etc, are only useful for coding conformity in a team of coders

one man shows and freelancers will certainly choose something bloat free, super flexible and fast
like: https://arnaudleray.github.io/pocketgrid/

But if you really want a kick-ass css framework that blows all the rest out of the water:
https://microcipcip.github.io/gridy/#!/

F.

You use the jQuery library, and it also weighs a lot, and you do not use all its features. If you use only CSS for your sites, won't your sites be boring and monotonous?
You can use much more UIkit functionality https://getsimplethemes.ru/vizit/barber/barber-en/

And UIkit is significantly better than Bootstrap. Smile


RE: Support for multilanguage sites, Internationalization (I18N) - Bigin - 2020-07-11

Well... I think that bloatware is a very relative term. One man's bloatware, another man's just the right level of abstraction or usability. I think that's a very limited view. There are a lot more factors than just the size of the library to consider, otherwise you risk getting tunnel vision.

Hmm, according to your statement, practically everything that has a certain degree of abstraction can be bloatware.
Let's take a closer look on it. In some of your earlier examples I have seen code like this:

PHP Code:
echo "<a href=" '"' ........ ">" "\n"

Your browser doesn't need an Escape Sequence ("\n"), and developer console doesn't need it either, it automatically adds a line break at the end to make your code look good. It does not have any significant functionality, right? So if you add a few of these "\n" to your script it will also become bloatware?

Let's see another example. The one developer writes his variable names like this:

PHP Code:
var arrivalDateTimeStamp = ... 

If you have 10000 lines of code and many large variables like this, does your script become bloatware?

There is a different way, another developer can do it as follows:

PHP Code:
var adts = ... 

Your code will be much smaller, but unfortunately also badly readable. So you get some space at the expense of usability (If I had the choice, I would definitely choose the first option).

There are countless examples that say that size is not everything.


Next, let's take a look at your arguments:

(2020-07-11, 07:04:27)Felix Wrote: `why would I load a 130 kb library and then only need 5% of it's classes for a website ?`

Okay, um... What if I use 50- or even 60% of its functions, can I use it then, won't it become bloatware? Or better said: At what percentage of the used functionality does a framework not become bloatware? From your point of view, practically every library/framework is bloatware, since you usually use only a part of its functions. Sometimes, even the complete programming language like PHP is bloatware. Example, if you want to call a website and only want to make a simple "if" and "else" queries, but the PHP interpreter on the server must start as a process. Notice anything?

(2020-07-11, 07:04:27)Felix Wrote: `uikit, bootstrap, etc, are only useful for coding conformity in a team of coders`

Not only, there are many application possibilities. Be it just the time where you can save by using frameworks. Even if you don't want to reinvent the wheel and use the already existing functions. Or simply because you are not really a great designer and just want to have a basic framework to adapt it to your personal style with minimal effort etc.

(2020-07-11, 07:04:27)Felix Wrote: `one man shows and freelancers will certainly choose something bloat free, super flexible and fast`

Fine, but UIkit, Bootstrap, etc is more than just a grid, it offers much more functionality and if you use it you can often avoid having to include jQuery or custom JS, which in turn compensates for the ridiculous few KB of size on the server.

As you can see, size is not everything, there are more important things to consider.

To me, a bloatware just means something that grows with time and loses its original aptitude, size or functionality.
Windows is a good example for that. I am not quite sure where we stand on that (not used Windows for a very-very long time) but, in the past, it was really bloatware for me: A few months after the installation, the system was still running "okay" (so no bloatware yet), after that the system became larger, messy and slow and almost didn't work anymore (now it has become f*g bloatware) ;-)


RE: Support for multilanguage sites, Internationalization (I18N) - Riianna - 2020-07-12

Great "article" Bigin Smile.
"You don't want to reinvent the wheel and use the already existing functions"
Absolutely, everything is allready done Smile.


RE: Support for multilanguage sites, Internationalization (I18N) - Felix - 2020-07-13

@Bigin
Thanks for taking time writing your view about it. Having seen your work you are a more experienced coder
and we are fortunate to have you here. So clearly you can put it in a wider perspective.
I only narrow it down to practical matters.
For me UIkit tries to be an all in one components package. Instead of selecting components from a package,
I prefer third party libraries who are smaller and were specially made for the job.
But since UIkit is so popular, maybe I am overlooking something.


RE: Support for multilanguage sites, Internationalization (I18N) - Felix - 2020-07-13

Quote:You don't want to reinvent the wheel - absolutely, everything is already done

@Riianna
You maybe surprised, but yes I fully agree with that. A good example source
where I search and find everything already done is here:
https://www.jqueryscript.net/  or here:  https://www.cssscript.com/
and of course at github.