¿Qué es el formato de archivo QM?
Los archivos .qm están asociados con Qt Linguist, una herramienta de software de traducción desarrollada por The Qt Company (originalmente Trolltech).
Los archivos con extensión .qm almacenan el texto fuente y su traducción compilada a un idioma de destino. Los archivos .qm almacenan datos en formato binario para un acceso y búsqueda de datos rápidos en tiempo de ejecución. Se utilizan para distribuir traducciones de aplicaciones a idiomas locales en Windows, macOS, Linux, Android, iOS y otras plataformas compatibles con Qt.
.qm es la contraparte compilada y cargada en tiempo de ejecución del archivo .TS (Translation Source) editable por humanos. El flujo de trabajo es: los desarrolladores y traductores trabajan en el archivo XML .ts, luego la herramienta de línea de comandos lrelease lo compila en un binario .qm compacto que la aplicación carga al inicio a través de la clase QTranslator de Qt.
Qt Linguist permite a los usuarios crear traducciones y localizaciones de aplicaciones. Debido a que .qm es un archivo binario compilado y no un archivo de texto plano, no es posible leer su contenido directamente, ni siquiera con el propio Qt Linguist. El archivo comienza con un número mágico fijo de 16 bytes, seguido de bloques de datos etiquetados (Hashes, Messages, Contexts, NumerusRules, Dependencies) que permiten una búsqueda rápida de cadenas en tiempo de ejecución.
Para abrir un archivo .qm con Qt Linguist, es necesario convertirlo primero a .ts. Existen muchas herramientas que permiten dicha conversión; la mayoría son utilidades de línea de comandos, incluyendo lconvert (parte del paquete de herramientas de Qt). El archivo .ts resultante se puede abrir directamente con Qt Linguist. Los archivos .ts son editables: un usuario puede traducir el texto y luego convertir el archivo de nuevo a .qm usando lrelease. Este proceso permite a los usuarios generar y distribuir paquetes de idiomas para aplicaciones.
Seguridad y protección
RIESGO: LOWUn .qm son datos de traducción pasivos cargados por el QTranslator de Qt y no ejecuta ningún código. Es seguro. La única precaución práctica es editar el archivo incorrecto: los cambios deben realizarse en el código fuente .ts y volver a compilarse, ya que la edición manual del binario .qm lo corromperá.
Detalles del formato
en pocas palabras- Metadatos de QuickTime / varios - Visto ocasionalmente para datos de herramientas no relacionadas; el significado dominante es la traducción compilada de Qt.
Programas que abren archivos QM
Detalles técnicos
especificación profunda| Desarrollador | The Qt Company (originalmente Trolltech / Nokia / Digia) |
| Tipo de formato | Catálogo de traducción binario compilado |
| Tipo MIME | application/x-qm (también application/octet-stream) |
| Firma de archivo (bytes mágicos) | Encabezado de 16 bytes en el desplazamiento 0: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD |
| Orden de bytes | Big-endian |
| Estructura interna | Bloques de etiqueta/longitud/valor: Hashes, Messages, Contexts, NumerusRules, Dependencies |
| Codificación de cadenas | UTF-16 o UTF-8 por cadena |
| Compresión | Ninguna: las cadenas se almacenan tal cual; las reglas de plural (numerus) se codifican de forma compacta |
| Tamaño de archivo típico | 5 KB - 2 MB, dependiendo del número de cadenas traducidas |
| Formato de origen | .ts (Translation Source, XML): la contraparte editable por humanos compilada por lrelease |
| Herramienta de compilación | lrelease (herramienta de línea de comandos de Qt, parte del paquete de herramientas de Qt) |
| Herramienta de conversión inversa | lconvert (herramienta de línea de comandos de Qt): convierte .qm de nuevo a .ts u otros formatos |
| Cargador en tiempo de ejecución | Clase QTranslator en el framework Qt |
| Búsqueda de cadenas | O(1) a través de una tabla hash por mensaje incrustada en el archivo |
| Plataformas compatibles | Windows, macOS, Linux, Android, iOS, objetivos Qt integrados |
| Lanzado | 1990s (Qt internationalization framework) |
| Última versión | Tied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable |
| Estándar abierto | Sí · libre de regalías |
| Especificación | doc.qt.io |
Conversiones de QM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos QM.