No. {{^}}No. Sí. Entonces, aquí está la gran diferencia. Con HTML, porque todos los metadatos de cada una de estas publicaciones se almacenan en el encabezado del archivo. Entonces, si miramos uno de estos archivos, ves que tenemos nuestro título aquí, nuestro nombre, tenemos nuestro título aquí, nuestro extracto, y luego al final tenemos todo nuestro contenido. Y queremos traducir esto. Bueno, por defecto, cuando envías un archivo HTML, no va a traducir el encabezado. Entonces, en su lugar, eso tiene que ser parte de nuestro proceso. Así que, dentro de nuestra función, ves aquí que estamos analizando el documento, y esto es después de que se haya realizado la traducción. Entonces, estamos tomando el archivo traducido y lo estamos analizando y luego lo que estamos haciendo es que estamos revisando el encabezado para obtener todas las metatags y luego estamos buscando específicamente el título y el extracto. Y una vez que lo encontramos, lo enviamos a través de nuestra función de traducción para traducirlo al idioma de destino. Y después de que todo eso esté hecho, entonces estamos reensamblando nuestro encabezado, incluyendo esos metadatos traducidos, y luego estamos reemplazando el archivo traducido con el nuevo archivo traducido que también tiene el encabezado traducido.
Entonces, si volvemos a nuestra versión de Markdown, aquí es donde es bastante diferente, porque aquí, después de hacer la traducción inicial, verás que no tenemos un segundo paso de necesidad de traducir el encabezado. Sin embargo, lo que sí tenemos es que tenemos que traducir, todavía tenemos que traducir los metadatos por separado. Y esto es en realidad un problema que encontré con Azure AI Translator, donde intenta traducir el front matter. Entonces, si miramos una de estas publicaciones, toda esta sección, si no estás familiarizado, toda esta sección es metadatos en nuestro archivo Markdown. Y entonces, intenta traducirlo, pero me he encontrado con varios problemas. Así que, me he encontrado con problemas donde este punto se mueve fuera de la cita, lo que evitará que este archivo se cargue. Y también, me he encontrado con problemas donde intenta traducir algunas de las claves en los objetos, y luego también, intenta traducir algunas de las palabras en la URL, como el propio path. Y entonces, esto obviamente causa que todo se rompa. Y entonces, en nuestra función de traducción, es una configuración interesante. Así que, tenemos que traducir no los archivos de destino, así que como los archivos traducidos, front matter, porque en realidad no se puede analizar en este momento debido a algunos de los problemas. Entonces, lo que realmente tenemos que hacer es analizar y luego traducir los metadatos de los archivos originales y luego poner esos metadatos traducidos con el contenido de los archivos traducidos para que coincidan. Y entonces, eso es lo que estás viendo aquí, donde estamos reemplazando o usando regex para encontrar el front matter, y lo estamos reemplazando con los metadatos traducidos de los archivos de entrada. Y luego, después de eso, estamos subiendo. Y así es como todo funciona.
Entonces, ahora, si saltamos a GitHub, podemos ver realmente el flujo de trabajo de GitHub actions ejecutándose. Y así, aquí está la versión HTML. Y así, ves, primero, aprovisionamos los recursos de Azure.
Comments