sql >> Databáze >  >> RDS >> Mysql

internacionalizace php webových stránek

Existuje několik způsobů, jak to řešit. Žádný z nich „nejlepší způsob“ a všichni mají krátkodobé nebo dlouhodobé problémy. První věc, kterou je třeba říci, je, že vícejazyčné stránky nejsou snadné, překladatelé a milí lidé, ale je těžké s nimi pracovat a většina programátorů vidí problém pouze jako technický. Existuje také další rozměr, mimo rozsah této odpovědi, zda překládáte nebo lokalizujete. To znamená podívat se na kulturní zvyklosti cílového publika a poté přizpůsobit jazyk, styl, rozvržení, barvu, typ písma atd. této kultuře. Nakonec nepoužívejte MT, Machine Translation, pro nic vážného nebo pokud to musí být přesné, a při získávání překladatelů se ujistěte, že překládají z cizího jazyka do svého rodného jazyka, což znamená, že rozumí všem nuancím cílového jazyka.

Že jo. Řešení. Na základě toho, že nechcete web přepisovat, pak jednoduše naklonujte web, který máte, a přeložte kopie do cílového jazyka. Za předpokladu, že základna kódu je stabilní, můžete použít VCS ke správě jakýchkoli změn kódu. Jednotlivé části webu můžete vyladit tak, aby odpovídaly cílovému jazyku, například francouzský text je v průměru o 30 % větší než ekvivalentní anglický text, takže použití jednoho webu k doručování znamená, že můžete mít (budete) mít problémy s formátováním a budete muset vyměnit různé vstupní a výstupní soubory css v závislosti na jazyku. Může se to zdát neohrabaný způsob, jak to udělat, ale jak dlouho budou stránky existovat? Režijní náklady spojené s tímto způsobem mohou být nižší než u jiných možností.

Druhý způsob bez přestavby. Nahraďte veškerý obsah na aktuálním webu značkami a poté vložte jiný jazyk do tabulek souborů nebo databází, nasnímejte požadovaný jazyk uživatele (máte registrované uživatele, kteří mohou upřednostňovat, nebo chcete získat značku jazyka prohlížeče, nebo je bude to adresa URL tečka-com tečka-fr, tečka-de, která rozhodne) a pak nahraďte značky cílovým jazykem. Poté musíte samostatně řešit problémy s velikostí a problémy s obrázky. Toto řešení je účinné, když rámce jako Symfony a Zend implementují l10n.

Pak byste mohli přestavět pomocí frameworku nebo gettextu a případně mít čistší řešení, ale pamatujte si, že frameworky byly navrženy tak, aby řešily jiné problémy, nikoli překlad, a překladová komponenta přišla do frameworku jako částečné řešení, nikoli úplné.

Velkým problémem všech řešení je průběžná údržba. Protože nejen že máte kódovou základnu, ale také více jazykových základen, které je třeba udržovat. Pokud nebudete všichni v jednom řešení opravdu chytří a efektivní, pak bude průběžný úkol obtížný.




  1. Problém s připojením SQLPro k Vagrant

  2. Vložte více řádků mysql pomocí php

  3. Jak nastavit databázi PostgreSQL v Django

  4. Nativní dotaz JPA získá jeden objekt