La internacionalización (i18n) es fundamental para aplicaciones web que necesitan llegar a audiencias globales. En este artículo, presentamos nuestra nueva herramienta profesional de conversión PO a MO que utiliza la librería gettext-parser para garantizar máxima compatibilidad con WordPress y otras aplicaciones.
Los conversores básicos de PO a MO pueden generar archivos con problemas de compatibilidad:
Nuestra nueva herramienta utiliza gettext-parser, una librería probada y confiable que:
javascript
// API Route: app/api/compile/route.ts
import gettextParser from 'gettext-parser';
export async function POST(request: Request) {
const formData = await request.formData();
const file = formData.get('po');
const poBuf = Buffer.from(await file.arrayBuffer());
const poObj = gettextParser.po.parse(poBuf);
const moBuf = gettextParser.mo.compile(poObj);
return new Response(moBuf, {
headers: {
'Content-Type': 'application/octet-stream',
'Content-Disposition': 'attachment; filename="messages.mo"'
}
});
}
La herramienta genera archivos MO que son:
php
// functions.php del tema
function mitemaload_textdomain() {
loadthemetextdomain(
'mi-tema',
gettemplatedirectory() . '/languages'
);
}
addaction('aftersetuptheme', 'mitemaloadtextdomain');
php
// Plugin principal
function mipluginload_textdomain() {
loadplugintextdomain(
'mi-plugin',
false,
dirname(plugin_basename(FILE)) . '/languages'
);
}
addaction('pluginsloaded', 'mipluginload_textdomain');
La herramienta también es útil para:
wp-content/
├── languages/
│ ├── themes/
│ │ └── mi-tema-es_ES.mo
│ └── plugins/
│ └── mi-plugin-es_ES.mo
└── themes/
└── mi-tema/
└── languages/
└── mi-tema-es_ES.mo
nombre-tema-{locale}.monombre-plugin-{locale}.mo{locale}.mo| Característica | Nuestra herramienta | Poedit | Loco Translate |
|---|---|---|---|
| Gratuita | ✅ | ❌ (Pro) | ✅ |
| En línea | ✅ | ❌ | ❌ |
| API disponible | ✅ | ❌ | ❌ |
| Compatible WordPress | ✅ | ✅ | ✅ |
| Sin instalación | ✅ | ❌ | ❌ |
typescript
// Configuración para Vercel
export const runtime = 'nodejs'; // Edge no soporta Buffer
export async function POST(request: Request) {
// Procesamiento en servidor
const result = await processPoFile(file);
return new Response(result);
}
Nuestra nueva herramienta profesional de conversión PO a MO representa un salto cualitativo en la gestión de traducciones para desarrolladores web. Al utilizar gettext-parser, garantizamos que los archivos generados sean 100% compatibles con WordPress y otras aplicaciones.
Te invitamos a probar nuestra nueva herramienta profesional y experimentar la diferencia en calidad y confiabilidad.
Probar la herramienta profesional