How to get the number of words in a PO translation file

If you need to count the number of words in a .PO translation file, you can use the pocount command. This command is part of the translate-toolkit package.

First, you have to install it in your Linux machine with the command:

 sudo apt install translate-toolkit -y

Then you have to execute this command with the .po file as first argument:

pocount myfile.po

Processing file :  myfile.po
 Type               Strings      Words (source)    Words (translation)
 Translated:       0 (  0%)          0 (  0%)               0
 Fuzzy:            0 (  0%)          0 (  0%)             n/a
 Untranslated:   491 (100%)       2615 (100%)             n/a
 Total:          491              2615                      0
 Empty:          491 (100%)       2615 (100%)               0

Commit Conf 2019

Este año estuve por primera vez en la Commit Conf, un gran evento de tecnología que, durante 2 días, congrega a 2000 personas de toda España con el fin de enriquecernos tecnológicamente. Se habló de un montón de tecnologías, desde técnicas de desarrollo de software hasta Big Data, Cloud o ML. Y también de PHP y de Git 😃😃

Continue reading «Commit Conf 2019»

PHP en 2019

PHP logo

En el siguiente enlace (PDF, 9,22 MB, español) dejo las transparencias da presentación «PHP en 2019» de la Commit Conf 2019, celebrada en Madrid el 22 de noviembre del 2019.

Localization in Laravel

In this post, I will go to explain how to localize a Laravel application. The application will support English, Spanish and Galician languages. This is a real example to translate the web app. You can find the source code on GitHub.

The steps to localize the application will be:

  1. Create a configuration file to store the languages that will be used by the application.
  2. Define the default language for the application.
  3. Add the translation functions in the views.
  4. Create the JSON translation files.
  5. Create the middleware that updates the application language.
  6. Add the selector in the main view to enable the end-user to change the application language.
  7. Add the route for the change event of the previous selector.
  8. Add the controller to receive the change event from the previous selector.
Continue reading «Localization in Laravel»

How to setup a master-master replication system between two MySQL servers

In this post, I will go to explain how to set up a master-master replication system between two MySQL to replicate an existing database.

The MySQL master-master configuration is a master-slave configuration in both directions and allows us to get a high availability configuration because you have the same data in both servers and if one goes down you can still work with the live server.

Continue reading «How to setup a master-master replication system between two MySQL servers»