To byl ten slavný den!

autor - malyfred / 15. 3. 2005

To byl ten slavný den, kdy padlo číslo 100+1 mnou napsaných příspěvků. To byl ten slavný den, kdy WordPress verze 1.5 přišel mezi nás. To byl ten slavný den, kdy jsem

„…si chtěl koupit
komín který v poli zdál se
jiným zbytečný…”

To byl on!

P.S. Protože nic není bez chyb, tak ani nový WordPress – otestujte tedy prosím na těchto stránkách všechno co vás napadne, díky!


autor - malyfred / 22. 2. 2005 /
  • english


Dva studenti hledají brigádu na léto, nejlépe přepisování textů na počítači. Zn. Jsme spolehlivý a pracovitý. (Nalepovaný inzerát na Kladně. Osobně bych radši najal toho pracovitého.)

This post is here to introduce the plugin called "Polyglot" – plugin for complete and easy localization of your blog into several languages. Polyglot is based on Language Picker. If you have any problem reading documentation of Language Picker can be helpful. I have developed it for my private use but some other guys/gals could be interested (hello Mihailo:o) as well.

I have fixed all bugs in Language Picker that I've found and added ability to automatically detect the visitor's preferred language and then choose the right translation for him/her. You can try it here – with this post. Example above should be in czech or english according to your selection or preferred language in your browser.

How it works

For example this post actually looks like this:

[lang_cs]Dva studenti…[/lang_cs]

[lang_en]In a Rhodes tailor shop…[/lang_en]

This post is here to…

And that's it. You can translate titles of the posts, pages, names of the categories etc. in the same way.

ISO codes

You are supposed to use [lang_xx] where 'xx' is the ISO code of the language. These can be found here: ISO codes

Language versions

If you put to your index.php (and single.php, search.php etc.) in your themes something like this:

<?php if(function_exists('polyglot_other_langs')) {
//display existing language versions of the post
polyglot_other_langs(' ','<ul>', '</ul>', '<li>', '</li>');

(must be inside of the WordPress loop) you allow your visitors to choose the language version of particular post (as could be seen above).


Name of the language or associated flag will be shown according to the value of $polyglot_settings['use_flags']. (Thx Mateusz Łoskot for inspiration)

Preferred language

Then you can offer your visitors to set preferred language for entire blog (as you see in my menu). It can be done by code like this:


that you put e.g. in your sidebar.php. Function polyglot_list_langs() accepts one optional parameter true or false that says whether names of languages or flags should be shown.


You can also offer RSS feeds in different languages:

<a href="<?php bloginfo('url'); ?>?feed=rss2&lang_view=en"> English RSS</a>

Last thing you have to do is to specify languages of your blog in polyglot.php. Basically – you just add ISO codes to the array $polyglot_settings['knownlangs'].

If there is no suitable language version of text present – then the default language version is selected. If even default language version is not there – then only parts that are not translated are shown.

Template localization

Because Polyglot changes dynamically prefered language of your blog – you don't have to do anything special to translate your blog except that everything in your templates that should be translated must be "gettexed". And appropriate .mo files must be in your wp-includes/languages directory. You can get them here: WP localization files and they should be renamed to where 'xx' is the ISO code of certain language.

Time & Date

Time and date formats can be cusomized to fit the language traditions since the versin 0.8.


Permalinks are fully supported, and turned on by default, since version 2.0 was released


The version 0.8 has also introduced the ability to write comments on posts in more language versions. Your visitors must use [lang_xx] instead of <lang_xx>.

Other useful plugins

You can also try some other of my plugins: IImage Browser, IImage Gallery, IImage Panorama, JÄÅ Preview.

Known issues

  • You have to set WPLANG (e.g. define('WPLANG', 'en');) in your wp-config.php. Thank you Pete!
  • If you are using WP older than 1.5 – uncomment part of the code from line 125 and comment part from line 139.


Since version 0.8 you can use [lang_xx] instead of <lang_xx>. That's useful for those using WYSIWYG editors.


01.04.2008 – WP 2.5 compatibility improved
27.01.2008 – WP 2.3 compatibility improved (tags, links, initialization,…)
11.10.2007 – few RSS related filters added
27.05.2007 – some setcookie improvements
22.05.2007 – small improvements related to new features in WP2.2
29.01.2007 – version 2.0 released. Many new features and improvements added (permalinks among others).
24.03.2006 – original WP function trailingslashit doesn't work as intended so it has been replaced by polyglot_trailingslashit
20.01.2006 extended polyglot_the_date, now accepts $before & $after
extended polyglot_list_langs, now sets a class for the <li>s (language_item and current_language_item)
Thanks Jan for all these improvements!
07.01.2006 Tag [lang_xx] added
18.10.2005 Huge update – flags added, 'translate categories' plugin implemented etc.
25.5.2005 Polyglot is now using standard load_default_textdomain() function.
13.3.2005 Tag <lang_all> is since this moment optional – everything except translated parts is handled as <lang_all>
12.3.2005 Fixed problem with WP1.5 – thanks Matthias.

Download – fully gettexed default theme. (thanks to Maira)

Let me know

I'd appreciate if you let me know that you use Polyglot on your web. You can also choose whether you want to be informed about new versions:

How to translate categories

There are two ways. At first you can write translations directly to the category 'name' using [lang_??] tags. But WordPress is limiting the name length to just 55 characters so you will have a problem to fit all translations inside. I'd recommend you increasing the length of 'name' column in 'items' table (WP <2.3 – 'cat_name' column in 'categories' table) in your WP database. Second way is to add all translations of categories to your .mo files and Polyglot will try to translate them. It's tested with wp_list_cats() function.

Česká lokalizace WordPressu

autor - malyfred / 19. 2. 2005

Pokud máte čas, pomozte prosím s finální lokalizací nového WordPressu! Konečně se do toho hoši pustili s tou správnou vervou. Takže se stačí zaregistrovat zde:, pak dostanete e-mail s heslem a překládat můžete začít zde:

Tam si vyberete jazyk, ve kterém se cítíte jako doma a ono se vás to zeptá na e-mail a obdržené heslo. Pak už jen do kolonek vypisujete překlady daných spojení. Pokud nevíte – nechte překlad prázdný, pokud si nejste tak úplně jisti – zatrhněte „Needs review”.

Divná značka %s bude nahrazena podle kontextu skutečnou hodnotou, takže je třeba jí nechat i v překladu! Stejně tak se v dané frázi mohou vyskytovat HTML entity jako &lt; apod. Ty také prosím zachovejte na odpovídajících místech.


IImage Panorama

autor - malyfred / 10. 1. 2005

This is my third plugin for the WordPress and I hope you will like IImage Panorama as much as IImage Browser and IImage Gallery which are used by thousands and thousands of WordPress fans.

In the age of digital cameras is very easy to create 360° panoramas in your computer. You can use software that you have got with your camera or Photoshop or AutoStitch (recommended) – but the question is: How to present these images on the web?

How to use it?

The IImage Panorama is the answer. When you install this plugin you can add panoramas to your posts as easy as first example shows:

<img src="http://someaddress/image.jpg" />

Click on the image and move the mouse. Only this example is "alive" others are just pictures.

"Full example" is here:

<panorama width="400" height="200" start="-145" speed="0.7" inside="false" outside="true" images="true" title="Go Go Go">
<img src="http://someaddress/image.jpg" />

example 2
  • width and height are self-explaining
  • start – starting angle of view (-180..180)
  • speed – "speed" of rotation (-360..360)
  • inside – shows inside menu (true, false)
  • outside – shows outside menu (true, false)
  • images – outside menu is made of images/buttons (true, false)
  • title – shows the title of the image

Default values are specified in iimage-panorama.php.


The IImage Panorama uses free Java applet (PTViewer3.1.2) by Helmut Dersch so if you want to see anything you have to have Java enabled in your browser and you should tell this to your visitors too.

For advanced users

You can study PTViewer documentation and specify parameters of applet as you want. IImage Panorama understands this:

<param name="name" value="value" />
<img src="http://someaddress/image.jpg" />

Don't forget to try IImage Browser and IImage Gallery! If you want to have multilingual blog then try Polyglot.



  • Download it:o)
  • Unpack iimage-panorama.php to your plugin directory
  • Unpack iimage_panorama directory to the root directory of your blog. Or to any other place, but then you have to change settings in iimage-panorama.php
  • Activate it and use it!

IImage Browser 1.4

autor - malyfred / 4. 1. 2005

I have fixed space encoding problem and you can create thumbnails anytime not just during upload.

More details and Download.

Čistička v Bubenči

autor - malyfred / 3. 12. 2004 /
  • english

IImage Gallery

autor - malyfred / 1. 12. 2004 /
  • english

Tento plugin pro WordPress je určen pro vkládání jednoduchých galerií do vašich příspěvků viz následující ukázky.

Nejjednodušší galerie vypadá asi takto:

<img src="stop_the_evil.jpg" title="Stop The Evil!" />
<img src="oko3.jpg" title="I See You Baby!" />
<img src="house_of_the_rising_sun.jpg" title="House of The Rising Sun" />

Výsledkem je hejno náhledů obrázků tvořících galerii. Po kliknutí na náhled se dostanete k originálu. Atributy alt a title jsou použity u zobrazeného náhledu, který je vytvořen v okamžiku ukládání příspěvku podle parametrů udaných v souboru iimage-gallery.php.

Výchozí nastavení v tomto případě není nic moc a tak si ukážeme jak ho pro tuto konkrétní galeri změnit:

<gallery crop="true" crop_center="true" max_side="100" quality="95">
<img src="image1.jpg" />
<img src="image2.jpg" />
<img src="image3.jpg" />
<img src="image4.jpg" />


Dostaneme oříznuté obrázky (do čtverce a na střed) s hranou o délce 100px a komprimovaných v takřka nejvyšší kvalitě.

Všechna výchozí nastavení se dají měnit v souboru iimage-gallery.php:

before = '<div class="gallery">'
bude vloženo před každou galerii

after = '</div>'
bude vloženo na její konec

before_each = '<a href="%s" class="gallery_item">'
bude vloženo před každý obrázek
%s se bude postupně nahrazovat hodnotami atributů 'src', 'alt', 'title' (v tomto pořadí).
To se může hodit pro vytvoření vlastní stránky s obrázkem např. takto:
<a href="my-gallery.php?img=%s&alt=%s&title=%s">

after_each = '</a>'
za každý obrázek

cache_dir = '/thumb-cache/'
Adresář do kterého se budou ukládat náhledy. Relativní cesta vůči výchozímu adresáři pro upload.
Plugin se při prvním použití pokusí tuto složku vytvořit, ale nespoléhejte na to.

recreate_when_updated = true
Určuje zda se budou při každém uložení příspěvku generovat náhledy znovu, nebo pouze ty, které neexistují.

default_quality = 90
0..100 – určuje kvalitu komprese náhledů.

default_max_side = 100
Délka nejdelší strany obrázku.

default_crop = false
Mají se obrázky oříznout do čtverce?

default_crop_center = true
Pokud se ořezává, tak na prostředek nebo se vybere levý horní roh?

ig_show_errors = true
Pokud "true" – budou se zobrazovat chybová hlášení na konci příspěvku.

default_sharpening = 0
Povolené hodnoty = 0..100
0 – vůbec se nebude o ostření pokoušet = úspora času
S tímto parametrem prosím opatrně – ostření zabírá hodně času a snadno se může stát, že skript při větším počtu náhledů překročí čas vymezený pro svůj běh

use_permalinks = true
Odkazy na prohlížeč obrázků budou generovány ve formě "hezkých" URL (= iimage-gallery.php/23/3/1/ místo iimage-gallery.php?idpost=23&idg=3&idi=1). Mělo by to fungovat na většině serverů.

Většina těchto nastavní lze změnit pro konkrétní galerii jak ukazuje druhý příklad.

Že si své obrázkové galerie můžete sami nastylovat pomocí CSS je asi zjevné:o)

Teoreticky by plugin měl fungovat s JPEG, PNG i GIF obrázky, ale protože PHP funkce getimagesize() funguje korektně (přes HTTP) jen s JPEGem (možná bug?). PNG a GIF na mém serveru nefungují. Ale JPEG většinou stačí:o)

Obrázky v galerii mohou být uloženy na jakékoli adrese, kam se lze přes HTTP dostat. Náhledy budou uloženy ve vámi definovaném adresáři (výchozí thumb-cache).

Pro vkládání obrázků do galerií je vhodné použít IImage Browser. Také nezapomeňte vyzkoušet IImage Panorama pokud fandíte panoramatům. Jestliže byste chtěli provozovat svůj web ve více jazycích, je Polyglot pro vás jako dělaný. Postrádáte-li skutečný náhled na příspěvek (se vším formátováním atd.) v nabídce WordPressu – JÄÅ Preview plugin čeká jen na vás.


iimage-gallery-integrated-template.php_ – šablona pro prohlížeč, která převezme vzhled zbytku vašeho webu. Soubor po stažení přejmenujte na iimage-gallery-template.php


Od verze 1.3 obsahuje IImage Gallery zabudovaný prohlížeč obrázků v galerii. Zkuste si to zde:

Díky použití šablony si můžete sami kompletně definovat vzhled tohoto prohlížeče v iimage-gallery-template.php. Pokud si vytvoříte nějakou pěknou šablonu – neváhejte mi ji prosím poslat na můj e-mail (dole na stránce).

Pro danou galerii můžete přepsat nastavení, zda prohlížeč použít či ne pomocí:

<gallery stand_alone="false">


Výchozí nastavení je definováno jako – $ig_settings['ig_default_stand_alone'] v iimage-gallery.php

Známé chyby: zatím není spolupráce IImage Gallery a pluginu Polyglot úplně nejlepší, ale jsem si toho vědom.


Rozbalte stažený soubor do svého adresáře s pluginy a aktivujte ho.

Před prvním použitím lze doporučit ruční vytvoření adresáře pro náhledy thumb-cache ve vašem výchozím adresáři určeném pro upload. (~ wp-content)

Pro pár ukázek vlastních šablon pro generovaný kód se podívejte na: Custom pattern examples for IImage Gallery

IImage Browser 1.2

autor - malyfred / 14. 11. 2004 /
  • english

IImage Browser nyní umí uploadovat obrázky a vytvářet k nim náhledy!

Více informací a Download

IImage Browser 1.1

autor - malyfred / 4. 11. 2004 /
  • english

Stále je co zlepšovat a ani IImage Browser není výjimkou.
Přidal jsem možnost mazání jednotlivých obrázků ze serveru.

Více informací a download.

IImage Browser

autor - malyfred / 11. 10. 2004 /
  • english

Pokud znáte výtečný plugin Image Browser pro WordPress ale myslíte si, že to jaksi stále není ono – můžete zkusit mojí, vylepšenou, verzi.


  • Nyní můžete při výběru obrázků procházet i jednotlivé podadresáře.
  • Za účelem zjednodušení a zrychlení vkládání obrázků jsem většinu funkcí přepsal do JavaScriptu, aby nebylo nutné stále znova načítat stránku prohlížeče.
  • IImage Browser umí mazat obrázky ze serveru.
  • Stejně jako je umí na server nahrát a vytvořit k nim zmenšeniny.

Podívejte se na ukázky:

Select image

Prohlížíme si obsah adresáře my_upload_dir/fred/zelkovice , jak je patrné z menu v horní části. Červené T u prvního obrázku značí, že obrázek má k sobě příslušející náhled. Obrázek v plné velikosti je dostupný přes odkaz vytvořený z jeho jména.

Náhledy jsou rozpoznávány podle prefixu u svého jména. Tento může být změněn v souboru iimage-browser.php.

To není nic nového – to hlavní teprve přijde. Když kliknete na zvolený obrázek – objeví se pod ním skryté menu.

Get the code

Jelikož je menu součástí kódu stránky a je skryto pouze pomocí CSS, objeví se okamžitě a není třeba čekat na načtení nové stránky. Vyberte si jakým způsobem chcete obrázek do svého příspěvku vložit, případně doplňte popis a stiskněte Get the code. Vygenerovaný kód můžete ještě dle potřeby upravit a nakonec, po stisknutím tlačítka Add it to the post!, přidat do svého nově vznikajícího díla:o).

Menu můžete skrýt opětovným kliknutím na příslušný obrázek.

Pokud byste náhodou chtěli některý z obrázků smazat – není nic snazšího:

Delete images

Stačí vybrat který a jednou kliknout!

Někdy je ale naopak potřeba nějaký obrázek na server nahrát. Za tímto účelem jsem přidal nové tlačítko do horního menu.


Když na něj kliknete:

Full upload menu

objeví se celé nabídka.

Pokud na svém serveru můžete využívat PHP funkci imagecopyresampled() bude vám nabídnuta možnost výběru mezi dvěma různými metodami pro zmenšování obrázků.

Hodnota Quality je využita pouze pro JPEG obrázky.

U obrázků které ještě nemají náhled je k dispozici stejná nabídka na jeho vytvoření.

create thumbnail

Nezapomeňte se prosím též podívat na IImage Gallery. Plugin pro snadné vytváření obrázkových galerií. A pokud máte rádi panoramata zkuste IImage Panorama. Polyglot vám může pomoci s vícejazyčností vašich stránek. JÄÅ Preview je plugin, který vám umožní zobrazit náhled příspěvku přesně tak, jak bude vypadat na výsledné stránce.

Download: – kompatibilní s WordPress 2.0 a vyšší


  • Rozbalte iimage-browser.php do adresáře wp-admin a iimage-browser-plugin.php do adresáře wp-content/plugins.
  • Aktivujte IImage Browser plugin prosřednictvím administračního rozhraní svého blogu.
  • (pouze WP < 2.0)Překontrolujte si zda v “URI of this directory (URI cílového adresáře)” v “Allow File Uploads (Povolit nahrávání souborů)” v “administrace> options (nastavení)> miscellaneous (různé)” je uvedena ÚPLNÁ adresa typu: http://domain/blblabla
  • Během úpravy zdrojového textu Vašeho příspěvku byste měli mít zobrazen odkaz Insert Image v pravém horním rohu obrazovky. Kliknutím na něj si otevřete IImageBrowser a můžete začít prohlížet své obrázky.


27.05.2007 Vylepšena práce s „neobrázkovými” soubory
28.12.2006 Mnoho oprav kvůli změnám ve WordPressu 2.0
21.03.2006 Šablony pro vlastní kód
03.02.2005 Přidal jsem možnost vytvářet adresáře viz tlačítko "Create dir"
02.01.2005 Je možné vytvářet náhledy nejen během uploadu
23.12.2005 Opraveno chybné kódování mezer ve jménech
14.11.2004 Přídána možnost uploadu souborů.
07.11.2004 Opravená verze pro WP 1.3 2004-11-02 nebo novější
04.11.2004 Pomocí IImage Browseru je možné mazat obrázky ze serveru.
20.10.2004 Přidal jsem soubor insert_image_placement.txt do instalačního archivu, kde je popis (anglicky), jak změnit umístění "inset image" v administraci.
13.10.2004 – volba $ib_set_title nefungovala – už je to opraveno.

© 2004 - 2021 malyfred