it-swarm.dev

Jak lze zobrazit stránky ve více jazycích?

Jsem si vědom otázky Jaké jsou možnosti implementace vícejazyčné stránky , ale odpovědi jsou zaměřeny na vícejazyčnou podporu na backendu i frontendu.

Zabývám se pouze nabídkou vícejazyčného prohlížení obsahu stránek, nikoli tvorbou vícejazyčného obsahu.

Mohlo by to být tak jednoduché, jak umístit Google Translate Nástroje kód na mých stránkách? Vidím, že existuje alespoň apár z pluginů, které nabízejí tuto funkci - někdo má zkušenosti s těmi?

1
Travis Northcutt

Pokud byste chtěli, aby se vaše stránky zobrazovaly v jiných jazycích, odhodlaně doporučuji používat nástroje Google Translate. Přidám ho do tématu:

<div id="google_translate_element"><span id="trans">Translate: </span></div>

Ve službě css můžete skrýt logo Google a funky barvy:

.goog-logo-link{display:none;} 

Namísto volání služby Google Translate js jen zkopíruji návratový skript a přidám ho do mého hlavního souboru js.

Upravit

Google poskytuje vloží kód pro použití na vašich webových stránkách:

 <div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

První řádek: <div id="google_translate_element"></div> může být umístěn tam, kde chcete zobrazit rozbalovací seznam překladu:

alt text

Oddíl mezi první sadou <script> tagů jsou možnosti jazyka a rozvržení. Poslední sada <script> tagů zavolá více javascriptu, který Google vloží do vašeho html, zatímco se načítá dom. Chcete-li tento proces urychlit a vyhnout se dalšímu požadavku http a inline skriptu, odstraním poslední volání a přidám kód, který Google vrátil, do "master" souboru JS, který používám a který obsahuje všechny mé vlastní javascripty kombinované do jednoho souboru. Kód, který Google vrací, je:

(function(){var d=window,e=document;function f(b){var a=e.getElementsByTagName("head")[0];a||(a=e.body.parentNode.appendChild(e.createElement("head")));a.appendChild(b)}function _loadJs(b){var a=e.createElement("script");a.type="text/javascript";a.charset="UTF-8";a.src=b;f(a)}function _loadCss(b){var a=e.createElement("link");a.type="text/css";a.rel="stylesheet";a.charset="UTF-8";a.href=b;f(a)}function _isNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)if(!(a=a[b[c]]))return false;return true}
function _setupNS(b){b=b.split(".");for(var a=d,c=0;c<b.length;++c)a=a[b[c]]||(a[b[c]]={});return a}d.addEventListener&&typeof e.readyState=="undefined"&&d.addEventListener("DOMContentLoaded",function(){e.readyState="complete"},false);
if (_isNS('google.translate.Element')){return}var c=_setupNS('google.translate._const');c._cl='en';c._cuc='googleTranslateElementInit';c._cac='';c._cam='';var h='translate.googleapis.com';var b=(window.location.protocol=='https:'?'https://':'http://')+h;c._pah=h;c._pbi=b+'/translate_static/img/te_banner_bk.gif';c._pci=b+'/translate_static/img/te_ctrl.gif';c._phf=h+'/translate_static/js/element/hrs.swf';c._pli=b+'/translate_static/img/loading.gif';c._plla=h+'/translate_a/l';c._pmi=b+'/translate_static/img/mini_google.png';c._ps=b+'/translate_static/css/translateelement.css';c._puh='translate.google.com';_loadCss(c._ps);_loadJs(b+'/translate_static/js/element/main.js');})();

To je hlavně z důvodů výkonu, aby se zabránilo dodatečné žádosti a vyhnout se webové stránky musí komunikovat se společností Google, pokud jazyk je vybrán z rozevíracího seznamu.

Rozbalovací seznam lze přizpůsobit pomocí css. Například zde je, jak zobrazím pole na webu, na kterém jsem ho použil.

alt text

4
Chris_O

viz tato otázka Doporučené postupy pro lokalizaci obsahu WordPressu? možná najdete řešení z těchto myšlenek

2
bueltge

Používám qTranslate plugin pro projekt, který vyvíjím a jsem s výsledky spokojený.

http://www.qianqin.de/qtranslate/ http://wordpress.org/extend/plugins/qtranslate/

Na zdraví

0
Sergio Soares