The language switcher

Is it possible to display a language switcher without using the widget?

It is possible to get a language switcher where you want in your theme without using the widget. For this, you can simply add in your theme the following instruction:

<ul><?php pll_the_languages();?></ul>

See the documentation for theme and plugin programmers for more about the function parameters.

Can I use my own flags for the language switcher?

Yes. You have to use PNG or JPG files and name them with the WordPress locale. For example, en_US.png. Then upload these files in the /wp-content/polylang/ directory (create the directory if it does not exist). Don’t use the /polylang/flags/ directory as your files would be removed when automatically updating the plugin.

How to display the widget flags horizontally?

The appearance of your site is controlled by CSS rules placed in the file style.css in your theme directory. The appearance of the language switcher is controlled by the classes “lang-item” for all languages and “current-lang-item” for the current language.
So you can add the following lines in style.css

.lang-item {
	display: inline;
}

The topic also was discussed on the forum: Flags vs. Text Links in widget

How to display remove bullets in front of the flags?

You can add the following lines in style.css

.lang-item {
	list-style: none;
}

My flags are misaligned in the Twenty Eleven menu

If you are using the flags provided with Polylang, just add the following css rule to your style.css:

#access img {
	margin-bottom: 0px;
}

It is much better to create a child theme to avoid loosing your modification when updating the theme.