Trabajando con SVN (y WordPress)

Esto es un reblog de trabajo para no perder el archivo. Cómo usar SVN para tus traducciones de WordPress, en inglés. Lo guardo por histórico, porque en próximas versiones esta forma de trabajar dejará de funcionar.


Using SVN in your translation flow is not as hard as it seems. If you know some of the basics, you can update a repository (for themes, plugins, or core) in an easy way. Let’s begin :).

We are going to work with the example of the Spanish (Spain) translation. What do we need to begin with?

Permissions

First of all, we need to have permissions granted to write to our Subversion repository. We can ask for this access in the make/polyglots site.

make-polyglots

Don’t forget to:

  • Ask for access politely
  • Indicate your wp.org user
  • Indicate the repository you want access to (you need to be a validator for your language to be granted commit access)
  • Tag your post with request. Locale tags are not needed, as they are automatically associated with validators, but they will be appreciated by others translators and validators.

Creating your own local copy

Now that you have access to the repository, you need to make your own local copy to work with it.

First, you need to locate your locale’s repository. You can look for it in https://i18n.svn.wordpress.org. Once you have located it, copy the URL. For the Spanish example, the URL is https://i18n.svn.wordpress.org/es_ES/

The next step is to make the copy. If you are a Mac or Linux user, you only need to go to a terminal. If you are a Windows, user, you can install Win32SVN to work with a terminal with SVN.

We are going to use SVN. SVN is an abbreviation for Subversion, a software versioning and revision control by Apache. SVN (and other revision control software, like git) allow the programmers to work in a collaborative way and allow to all the people involved to look at and review the code, modify it, and revert it if there is any problem.

Once you have your terminal ready, you need to write this with your own locale:

svn-co

Now you’ll see a lot of archives being copied, and you will have all your locale repository copied in your local directory.

archive

copied

SVN basics

Note that you are right now in a SVN repository. You can see what others have done in the repository by using the command svn log. When you submit your changes, others will see your activity in the logs.

SVN is a little wayward. When you are in a SVN repository, you need to remember to alway use the command svn to do things.

  • if you want to copy something, you need to use svn copy or svn cp
  • if you want to move something, you need to use svn move or svn mv
  • if you want to delete something, you need to use svn delete or svn del
  • if you add a new file to a directory and want it to be in the SVN repository, you need to use svn add <file> to add it to the next commit

You have a list of all the available commands writing svn help in your local repository.

blame

Creating a new tag and/or branch

Now that we have our local repository, we need to create our new branches and tags. We are going to work with the example of WP 4.0-alpha.

As we see before, when you create a new file or archive you need to add it to the repository. If you do not add it, you will not be able to commit your files to the repository.

To make things easier, we are going to svn copy a prior directory and modify the files.

First step, we go into the tags directory. We will have a list of all prior tags.

Now, we copy the last directory created to a new one with our version:

svn-cp

Done! Now we can navigate with our browser to make things easier.

Understanding the repository

In our new directory we will see two directories: dist and messages.

The dist directory has this content:

  • license.txt – the license archive
  • licencia.txt – name may vary. This is the license in your language.
  • readme.html – the readme file in your language.
  • wp-admin/setup-config.php – a translated version of the setup in your language
  • wp-config-sample.php – a translated version of the config sample in your language

The messages directory has this content:

  • admin-xx_XX.mo – the translation archive for the administration ( link )
  • admin-xx_XX.po – .po version
  • admin-network-xx_XX.mo – the translation archive for the network administration ( link )
  • admin-network-xx_XX.po – .po version
  • continent-cities-xx_XX.mo – all the translated Continents and Cities to your language ( link )
  • continent-cities-xx_XX.po – .po version
  • xx_XX.mo – the main WordPress translation ( link )
  • xx_XX.po – .po version
  • twentyxxxxx – the translation of each official theme (various directories)
    • xx_XX.po
    • xx_XX.po

Updating your files

At this point, we need to update the files of our new directory to commit the new version. To do this, we need to know how are we going to build the new package.

packagesIf you are going to use the translate.wordpress.org option,

  • All the installation and setup archives will be read from our new /dist directory (and we will tell the system where they are)
  • The translations will be read from the translate.wordpress.org site

If you choose the Subversion option,

  • All the installation and setup archives will be read from our new /dist directory (and we will tell the system where they are)
  • All the translations will be read from our translations svn directory (and we will tell the system where they are)

You should always try to use the first version. If you need to use the second version, then you will need to:

  • go to each one of the translation sites in translate.wordpress.org (you have the links here)
  • export the translations in .po and .mo versions
  • change the names of the archives to match the list before
  • put them in the svn directory in their correct place

Regardless the option we want to use, we need to update the archives in the dist directory. Usually, you will only need to update the version number in the readme.html file. If you need to do something else, it will be mentioned in the make/polyglots site.

readme

After finishing with the archives and changes, we can use the command svn status in our parent directory to see the changes that are going to be committed.

svn-status

Committing changes

  • If we are committing a minor version (3.9.1 for example), we will need to commit a tag with the new version
  • If we are committing a major version (4.0 for example), we will copy this new tag to a branch to upload the tag and branch

svn-branch

If we are using the Subversion option we will see the list of all .po and .mo archives; it’s a good idea to update the .mo and .po archives in the /trunk directory as well.

If we are using the translate.wordpress.org option, we are ready to commit our changes.

The command to commit our changes is svn commit or svn ci. We will add a message using the -m subcommand, containing:

  • the version we are uploading
  • the language we are uploading
  • please use english to make understanding easier

svn-commitAnd done! We are ready to go to our local WordPress.org site and build the new version of WordPress.

Building a localized WordPress  version

If you have just committed the files to the repository, you will need to wait a bit to see it appear in your local WordPress.org site.

Once it’s working, you need to select:

  • the translate.wordpress.org option
  • the /dist/ directory
  • the development (trunk) project

The WordPress version will change and you will see the last version in development. The revision number will be ignored, it only works in the Subversion option.

version-2

If you want to build an official release version, you will need to look in the project list and select the one that you are looking. You will get the last minor version released. Again, the version will be automatic and the revision number will be ignored.

version-prior

You can build and distribute as many beta and release candidate versions as you want. They will automatically go to the beta and release candidates place.

rc-versions

 

Camino de Madrid

Abril-mayo-junio es de locos. No he estado actualizando el Tripit, pero no hemos parado ni un fin de semana en casa. Ni uno. Y los que nos quedan. Es lo que nosotros llamamos la temporada de congresos.

Estos días/meses no he escrito casi nada, pero porque he estado explorando otras redes. He estado explorando Youtube, pero sin ser fotogénico y sin tener ni idea de edición, queda raruno. Los podcasts, ya los hicimos en su momento, y el consumo de tiempo también es demasiado grande. Y Snapchat tiene el problema de ser efímero. Cuando uno ha tenido un blog desde 2002, eso de que las cosas se pierdan a las 24 horas es… demasiado extraño.

Aunque la realidad es otra. Cuando tengo un proyecto a medias no suelo escribir, porque no me apetece. Porque ando liado con el trabajo. Pero tengo dos que se me están dilatando más de la cuenta, y como siga así, dejo el blog de lado. Así que hay que volver.

Este fin de semana hacemos parada en Madrid. Nos vamos a la PlatziConf a visitar a nuestros queridos amigos de Platzi. A ver de nuevo a mucha gente entre ponentes e ignites, y a disfrutar en grande.

platziconf madrid

Así que si andáis por allí, no dudéis en decir hola 🙂

 

Trabajar desde casa

Es curioso lo tradicionales que somos para algunas cosas.

Os voy a contar una historia, y vaya  personalizarla para contarla aquí (es decir, voy a contarla en primera persona).

Hace unos meses, en un trabajo realizado prácticamente online, el jefe se ausentó.

– Voy a estar un mes fuera.

¿Vas a estar un mes fuera? Entonces no vamos a poder revisar nada in situ. Así que la respuesta automática por mi parte fue:

– Bueno, entonces en este tiempo voy a trabajar desde otro país.

Os pongo en situación. Este trabajo me lo facilitó una compañera. Empezamos a trabajar allí, yendo a la oficina, hasta que el trabajo pasó a ser 100% online. Es decir, trabajo desde casa.

Y ahora la segunda situación: el jefe no va a estar durante un mes, no vais a poder veros en persona, así que decides cambiar tu casa por otro lugar más agradable para trabajar. Total, da lo mismo. Vas a trabajar igual. Y aquí viene la situación curiosa.

Resultado 1: El jefe te despide. “Si no vas a estar en al oficina…”. ¡Si antes tampoco estaba! ¿Qué razón es esa? Si no ha cambiado nada…

Resultado 2: La persona que te ha facilitado el contacto y el trabajo, cuando se lo cuentas, tiene esta conversación contigo:

– Es que tú después de llevar sólo dos meses trabajando allí no puedes decirle que te vas dos semanas de vacaciones.
– No son vacaciones. Es trabajar desde otro sitio en vez de desde mi casa.
– Sí, como si en (introduzca aquí cualquier lugar) fueras a trabajar. Tú no puedes pedirle eso a un empresario. Tienes que estar en la oficina. Porque claro, un empresario… Tú no puedes hacerle eso a un empresario. Él te quiere en la oficina. Y no te confíes con tu próximo trabajo. Eso de trabajar desde casa es muy irregularNo lo hace nadie. Está mal visto y no aporta ninguna confianza al empresario.


Vivir todo esto desde la barrera ha sido como estar en una película de los años 90. Pero la cuestión no es que parece una película. La cuestión es que, como siempre, nosotros vivimos en nuestro pequeño universo y no reparamos en que esa es lo que realmente ocurre fuera de nuestra casa, habitación, oficina o slack. Un micromundo, un microuniverso, que es muy grande, sí, pero no es real.

Yo me moriré, y mi familia política no entenderá por qué me pagan por “estar ahí tiqui-tiqui-tiqui, si no haces nada”. No es visible. No es real. No es tangible. No existe.

¿Y si nosotros tampoco existimos?

 

Tay Ex Machina

Siempre he pensado que una película (o una serie) es buena, independientemente de que realmente lo sea, si después de verla te pasas un tiempo dándole vueltas a lo que has visto, y su verdadero sentido. Su implicación en el futuro. En cómo deben o pueden ser las cosas. En cómo todo puede cambiar. O en cómo se podría aplicar.

A mí esto me pasa con películas extrañas. Por poner un ejemplo, Ex Machina. Por un lado, es un peliculón hecho con 4 personas. Un brillante Oscar Isaac que se está convirtiendo en el nuevo Lee Pace, el señor Domhnall Gleeson, y una Alicia Vikander que no consiguió llegarme ni en Anna Karenina ni en El séptimo hijo, y que se ha ganado un puesto en mi lista de películas que vería sólo por sus protagonistas.

Ex Machina me dejó durante días pensando y escribiendo teorías en papel de cómo podríamos trabajar con la Inteligencia Artificial. Y muy poco después llego Tay. Tay es una inteligencia artificial, enfocada a hablar y aprender de adolescentes estadounidenses entre 18 y 24 años.

Tay fue desactivada ayer después de convertirse en una racista consumada.

– Tay, ¿dónde has aprendido todo esto?
– En internet.

Y lo que Tay aprendió, fueron cosas como ésta:

  • Que hay que poner una valla para que los Mexicanos no entren en el país (que es más o menos lo que anda diciendo Donald Trump, el posible nuevo presidente de los Estados Unidos…)

vt5ey15k

  • Que las feministas deben morir y quemarse en el infierno
  • Que Hitler fue un buen tío

tay_chatbot_microsoft_cerrado_4

Si el experimento se hubiese hecho en España no creo que el resultado habría sido mucho mejor. Y esto no es cuestión de ideología. Es cuestión de educación básica. De algo que los padres han olvidado y se empeñan en delegar completamente a los colegios.

Y los ejemplos españoles los podemos ver en las respuestas a Principia Marsupia en twitter, sin ir más lejos.

https://twitter.com/Barbijaputa/status/713143093286060033

Los avances tecnológicos dan mucho miedo. Nosotros damos aún más.

 

Amazon y los plazos de entrega

Llegas tú a comprar una cosilla ya tarde en Amazon, y Amazon te dice que si compras antes de 1 hora y 7 minutos te lo envían esa misma noche y te llega a casa temprano por la mañana.

Y te ilusionas, y dices ¡qué bien! Y pides con toda tu ilusión, y te encuentras con esta pantalla.

screenshot_2016-03-15-19-30-11png_25695046662_o

Y entonces te entra una cosilla rara por el cuerpo, y buscas la forma de acceder. Porque, cosa absurda, necesitas un ordenador para solucionar el problema. Desde su página en móvil o desde la aplicación no puedes solucionarlo (y eso que las estadísticas hablan bien de que hay mucho usuario móvil que sólo tiene el móvil).

Y cambias la tarjeta. Y otra vez. Y tu tarjeta no funciona. Ninguna. ¿Hay un problema? ¿Llamo al banco?

El problema es de Amazon. Algún sistema interno, cuando algo está en una zona del almacén no muy accesible, hace que salte un error del sistema. Y ese error del sistema es un error de pago. Lo del almacén es suposición mía. Lo del error del sistema como error de pago ficticio, algo comprobado. Exactamente al mismo tiempo hice otra compra de algo común, que sí llegó en el tiempo establecido.

¿Cuál es el problema de decir que si pides a las 7 de la tarde no te lo pueden entregar a la mañana siguiente? ¿Se trata de satisfacción? Hay productos, incluso premium, que tienen entrega a dos y tres días, dependiendo de dónde estén y de dónde vengan. ¿Por qué no hacer eso con todos los productos? ¿Merece la pena asustar al cliente con un error externo irreal por un desajuste en la propia programación?

Es una de las pocas cosas que no me gusta de Amazon. No creo que sea una buena política. Y lo peor es que lleva pasando años, y siguen haciendo lo mismo.

 

El orden por defecto en tus cuentas de gmail

Muchas empresas trabajan con Google Apps. Si trabajas en una de esas, probablemente tendrás una cuenta de Gmail personal, puede que otra de tu marca personal, y una de la empresa. Todo un lío.

Una de las cosas que hago mucho es trabajar con Google Drive, y para no volverme loco, casi todos los documentos los hago compartidos con mi cuenta de uso normal. Pero hay algo que me traía loco, y es que siempre que abría Drive, me encontraba con que la cuenta con la que me lo abría, la cuenta por defecto, no era la que yo quería. Y no encontraba la forma de cambiar la cuenta por defecto. La opción no estaba por ninguna parte.

How-to-geek me dio la solución. La solución a todo. La de siempre. Apaga y vuelve a encender. Así de simple.

Sí, es lo que parece:

  • Sal de todas tus cuentas (logout)
  • Vuelve a entrar en tus cuentas en el orden en que quieras que aparezcan. La primera será la cuenta por defecto.

Y ya está. Problema resuelto.

Google Apps

 
%d bloggers like this: