sql >> Database >  >> RDS >> Mysql

Gettext of databasevertaling

Lokalisatie is moeilijk. Het is echt moeilijk. Het is niet alleen "pairs of words" => "Wortpaare" , het is veel complexer dan dat. Wat de meeste mensen vergeten als ze naar gettext kijken en "Ugh, lelijk" zeggen is dat het lokalisatie proces is veel belangrijker dan de technische details van de implementatie. Dat komt omdat de eigenlijke vertalers doorgaans geen programmeurs zijn en waarschijnlijk niet eens in-house zijn. Dit veroorzaakt veel meer hoofdpijn dan je misschien denkt. gettext is echt oud, is in de strijd getest en heeft een enorme toolchain achter de rug die is afgestemd om dit proces te ondersteunen. Als je i18n en l10n goed wilt doen, heb je een krachtig systeem nodig. gettext is dat en wordt ondersteund door een breed scala aan tools. Uw Homebrewed Translation System™ niet.

Allereerst heb je een robuust systeem nodig om te extraheren vertaalbare snaren. Zonder automatisch en reproduceerbaar vertaalbare strings uit de broncode te kunnen extraheren, heb je een berg werk voor elke nieuwe string die je wilt vertalen. In gettext, xgettext doet dat.

Vervolgens heb je een tool nodig om de geëxtraheerde strings te synchroniseren met reeds bestaande vertalingen op een manier dat er geen vertalingen verloren gaan en dat indien mogelijk slechts licht gewijzigde vertalingen behouden blijven. In gettext, msgmerge doet dat.

Vervolgens wil je een manier om extra informatie aan strings toe te voegen. U wilt ze kunnen groeperen op categorie, "domein" en context, u wilt misschien opmerkingen voor de vertaler toevoegen aan de broncode en u wilt misschien dat vertalers opmerkingen kunnen toevoegen aan de vertalingen. gettext ondersteunt dat allemaal.

Vervolgens wilt u een bestandsindeling die goede ondersteuning heeft van verschillende tools, aangezien u uw bestanden mogelijk naar China stuurt om ze daar te laten vertalen. De reden dat u ze naar externe vertalers stuurt, is ook de reden dat u een goede synchronisatietool nodig heeft om wijzigingen samen te voegen, aangezien dit een zeer asynchroon proces kan zijn. PO-bestanden worden zeer goed ondersteund, omdat gettext zo oud is. Er zijn veel open source en commerciële tools die het lokalisatieproces op vele niveaus ondersteunen, afhankelijk van uw specifieke behoeften.

Onderschat de taak van lokalisatie niet, kies een tool die goed geschikt is voor het proces en leer het. gettext is een geweldig hulpmiddel, hoewel niet het meest beginnersvriendelijk.

Voor wat het waard is, hier is mijn gettext-extensie voor Twig , wat gettext voor PHP nog beter maakt.



  1. Mogelijk om SQL te gebruiken om op datum te sorteren, maar nuldatums achteraan de resultatenset te plaatsen?

  2. Verplaats SQL-gegevens van de ene tabel naar de andere

  3. Hoe werkt het ophalen van gegevens van SQL Server naar SqlDataReader?

  4. Hoe zorgen dat gegevens niet worden gesorteerd?