How to translate Librem 5 software?

I noticed that the Librem 5 software is not available in Spanish, so I started translating some of the PO files.

The question is how are translators to submit their PO files?

I signed up for an account at, then generated an SSH key and added it to my account. Then, I went to and clicked on the button “Request Access” since I have a PO file for Chatty. Now, I’m guessing that I have to wait for someone at Purism to approve my access.

Do I have to request access for every project to submit its translation?

Well, I think you should take a look here : Translation

Just tried it out - the tool looks quite nice - it also suggests similar translations. Which kind of make me think that there are already translations in which to me seem not perfect as the same thing is translated differently like once SMS is translated as SMS, once as Mensaje SMS and another time MSG…

Seems to me like there is still some work to do :slight_smile:

What I find kind of odd is that there is de-DE, de-AT but also de and es-ES, es-AR, es-MX but also only es. Wouldn’t it make more sense that languages without country / culture are just a link to the first of the tuple which is available in a sorted list? Or that it disappears once there is more than one country for a translation?

Maybe if @amosbatto and I would work together on es we would end up with a mix of countries? Does not even have to be like this, as it could also happen if he translates e.g. chatty and I phosh or something else the phone would be a mix of different languages… So I assume the best thing would be to translate directly in the language+country?

I am also interested in the Spanish translation.

I could also help out with the Spanish translation

@LibremOnly5, @Honeybadger y @maximilian ,
I’m not sure whether “chat” should be translated or not. ¿Qué opinan ustedes?

Acá es la traducción si ustedes quieren revisarla:

#: data/ data/
msgid "Chatty"
msgstr "Chatty"

#: data/
msgid "A messaging application"
msgstr "Una aplicación de mensajería"

#: data/
msgid "Chatty is a messaging application supporting XMPP and SMS."
msgstr "Chatty as una aplicación de mensajería, que soporte XMPP y SMS"

#: data/
msgid "Chatty's message window"
msgstr "Ventana de mensajes de Chatty"

#: data/
msgid "sm.puri.Chatty"
msgstr "sm.puri.Chatty"

#: data/
msgid "SMS and XMPP chat application"
msgstr "Aplicación de chat por SMS y XMPP"

#: data/
msgid "XMPP;SMS;chat;jabber;messaging;modem"
msgstr "XMPP;SMS;chat;jabber;messaging;modem;mensajería,chateo"

#: src/chatty-application.c:50
msgid "Show release version"
msgstr "Mostrar versión de lanzamiento"

#: src/chatty-application.c:51
msgid "Disable all accounts"
msgstr "Desactivar todas las cuentas"

#: src/chatty-application.c:52
msgid "Enable libpurple debug messages"
msgstr "Activar mensajes de depuración de libpurple"

#: src/chatty-application.c:53
msgid "Enable verbose libpurple debug messages"
msgstr "Activar mensajes verbosos de depuración de libpurple"

#: src/chatty-account.c:117
msgid "SMS Number"
msgstr "Número SMS"

#: src/chatty-account.c:121
msgid "Jabber ID"
msgstr "ID de Jabber"

#: src/chatty-account.c:275
msgid "Add new account..."
msgstr "Agregar cuenta nueva..."

#: src/chatty-account.c:302
msgid "Contact added"
msgstr "Contacto agregado"

#: src/chatty-account.c:306
#, c-format
msgid "User %s has added %s to the contacts"
msgstr "Usuario %s fue agregado a los contactos"

#: src/chatty-account.c:367
#, c-format
msgid "Authorize %s?"
msgstr "¿Autoriza %s?"

#: src/chatty-account.c:371
msgid "Reject"
msgstr "Rechazar"

#: src/chatty-account.c:373
msgid "Accept"
msgstr "Acceptar"

#: src/chatty-account.c:378
#, c-format
msgid "Add %s to contact list"
msgstr "Agregar %s a la lista de contactos"

#: src/chatty-buddy-list.c:830
msgid "Disconnect group chat"
msgstr "Desconectar de chat en grupo"

#: src/chatty-buddy-list.c:831
msgid "This removes chat from chats list"
msgstr "Este quita el chat de la lista de chats"

#: src/chatty-buddy-list.c:835
msgid "Delete chat with"
msgstr "Borrar chat con"

#: src/chatty-buddy-list.c:836
msgid "This deletes the conversation history"
msgstr "Este borra el historial de conversaciones"

#: src/chatty-buddy-list.c:848 src/ui/chatty-dialog-join-muc.ui:16
#: src/ui/chatty-dialog-muc-info.ui:54 src/ui/chatty-dialog-new-chat.ui:54
#: src/ui/chatty-dialog-settings.ui:37 src/ui/chatty-dialog-settings.ui:70
msgid "Cancel"
msgstr "Cancelar"

#: src/chatty-buddy-list.c:850
msgid "Delete"
msgstr "Borrar"

#: src/chatty-buddy-list.c:1935
msgid "Me: "
msgstr "Yo: "

#: src/chatty-conversation.c:1480
msgid "Owner"
msgstr "Dueño"

#: src/chatty-conversation.c:1483
msgid "Moderator"
msgstr "Moderador"

#: src/chatty-conversation.c:1486
msgid "Member"
msgstr "Miembro"

#: src/chatty-conversation.c:1939
msgid "members"
msgstr "miembros"

#: src/chatty-dialogs.c:211 src/ui/chatty-dialog-settings.ui:583
msgid "Delete Account"
msgstr "Borrar cuenta"

#: src/chatty-dialogs.c:214
#, c-format
msgid "Delete account %s?"
msgstr "¿Borra la cuenta de %s?"

#: src/chatty-dialogs.c:305
msgid "connected"
msgstr "conectado"

#: src/chatty-dialogs.c:307
msgid "connecting..."
msgstr "conectando..."

#: src/chatty-dialogs.c:309
msgid "disconnected"
msgstr "desconectado"

#: src/chatty-dialogs.c:563
msgid "Cannot login"
msgstr "No puede ingresar"

#: src/chatty-dialogs.c:566
#, c-format
msgid ""
"Failed to login as %s:\n"
msgstr ""
"Ha fallado ingresando como %s:\n"

#: src/chatty-dialogs.c:1373
msgid "Phone Number:"
msgstr "Número telefónico"

#: src/chatty-lurch.c:116
msgid "Encryption not available"
msgstr "Cifrado no disponible"

#: src/chatty-lurch.c:209 src/chatty-lurch.c:215
msgid "This chat is not encrypted"
msgstr "Este chat no es cifrado"

#: src/chatty-lurch.c:212
msgid "Encryption is not available"
msgstr "Cifrado no es disponible"

#: src/chatty-lurch.c:219
msgid "This chat is encrypted"
msgstr "Este chat es cifrado"

#: src/chatty-message-list.c:68 src/chatty-message-list.c:73
msgid "This is a IM conversation."
msgstr "Esta es una conversación de mensajería instante"

#: src/chatty-message-list.c:69 src/chatty-message-list.c:79
msgid "Your messages are not encrypted,"
msgstr "Sus mensajes no son cifrados,"

#: src/chatty-message-list.c:70
msgid "ask your counterpart to use E2EE."
msgstr "pídale a su contraparte que utilice E2EE."

#: src/chatty-message-list.c:74
msgid "Your messages are secured"
msgstr "Sus mensajes son asegurados"

#: src/chatty-message-list.c:75
msgid "by end-to-end encryption."
msgstr "por cifrado de extremo a extremo"

#: src/chatty-message-list.c:78
msgid "This is a SMS conversation."
msgstr "Esta es una conversación SMS."

#: src/chatty-message-list.c:80
msgid "and carrier rates may apply."
msgstr "y tarifas celulares pueden ser cobradas."

#: src/ui/chatty-dialog-info.ui:11 src/ui/chatty-window.ui:70
msgid "About Chatty"
msgstr "Acerca de Chatty"

#: src/ui/chatty-dialog-info.ui:92
msgid "An SMS and XMPP messaging client"
msgstr "Un cliente de mensajería SMS y XMPP"

#: src/ui/chatty-dialog-join-muc.ui:12 src/ui/chatty-window.ui:19
msgid "New Group Chat"
msgstr "Chat nuevo en grupo"

#: src/ui/chatty-dialog-join-muc.ui:28
msgid "Join Chat"
msgstr "Unirse a chat"

#: src/ui/chatty-dialog-join-muc.ui:80 src/ui/chatty-dialog-new-chat.ui:199
msgid "Select chat account"
msgstr "Seleccionar cuenta de chat"

#: src/ui/chatty-dialog-join-muc.ui:130
msgid "Password (optional)"
msgstr "Contraseña (opcional)"

#: src/ui/chatty-dialog-join-muc.ui:180
msgid "Autojoin"
msgstr "Unirse automáticamente"

#: src/ui/chatty-dialog-join-muc.ui:181
msgid "Join group chat at startup"
msgstr "Unirse a chat en grupo al inicio"

#: src/ui/chatty-dialog-muc-info.ui:25
msgid "Group Details"
msgstr "Detalles del grupo"

#: src/ui/chatty-dialog-muc-info.ui:50
msgid "Invite Contact"
msgstr "Invitar a contactarse"

#: src/ui/chatty-dialog-muc-info.ui:66
msgid "Invite"
msgstr "Invitar"

#: src/ui/chatty-dialog-muc-info.ui:205
msgid "Room settings"
msgstr "Configuración de sala"

#: src/ui/chatty-dialog-muc-info.ui:228 src/ui/chatty-dialog-user-info.ui:178
msgid "Notifications"
msgstr "Notificaciones"

#: src/ui/chatty-dialog-muc-info.ui:229
msgid "Show notification badge"
msgstr "Mostrar icono de notificación"

#: src/ui/chatty-dialog-muc-info.ui:244
msgid "Edit topic"
msgstr "Editar asunto"

#: src/ui/chatty-dialog-muc-info.ui:245
msgid "Users may change the topic"
msgstr "Usuarios pueden cambiar el asunto"

#: src/ui/chatty-dialog-muc-info.ui:260
msgid "Persistent"
msgstr "Persistente"

#: src/ui/chatty-dialog-muc-info.ui:261
msgid "Room persists after the last user left"
msgstr "Sala se queda después de la salida del último usuario"

#: src/ui/chatty-dialog-muc-info.ui:276
msgid "Auto-join"
msgstr "Unirse automáticamente"

#: src/ui/chatty-dialog-muc-info.ui:277
msgid "Join chat at startup"
msgstr "Unirse a chat al inicio"

#: src/ui/chatty-dialog-muc-info.ui:299
msgid "0 members"
msgstr "0 miembros"

#: src/ui/chatty-dialog-muc-info.ui:395
msgid "Invite Message"
msgstr "Mensaje de invitación"

#: src/ui/chatty-dialog-new-chat.ui:25
msgid "Start Chat"
msgstr "Empezar chat"

#: src/ui/chatty-dialog-new-chat.ui:50
msgid "New Contact"
msgstr "Contacto nuevo"

#: src/ui/chatty-dialog-new-chat.ui:66 src/ui/chatty-window.ui:112
msgid "Add Contact"
msgstr "Agregar contacto"

#: src/ui/chatty-dialog-new-chat.ui:249
msgid "Alias (optional)"
msgstr "Alias (opcional)"

#: src/ui/chatty-dialog-settings.ui:22 src/ui/chatty-window.ui:57
msgid "Preferences"
msgstr "Preferencias"

#: src/ui/chatty-dialog-settings.ui:32
msgid "Edit Account"
msgstr "Editar cuenta"

#: src/ui/chatty-dialog-settings.ui:47
msgid "Save"
msgstr "Guardar"

#: src/ui/chatty-dialog-settings.ui:65
msgid "Add Account"
msgstr "Agregar cuenta"

#: src/ui/chatty-dialog-settings.ui:80
msgid "Add"
msgstr "Agregar"

#: src/ui/chatty-dialog-settings.ui:145
msgid "Accounts"
msgstr "Cuentas"

#: src/ui/chatty-dialog-settings.ui:170
msgid "Privacy"
msgstr "Privacidad"

#: src/ui/chatty-dialog-settings.ui:191
msgid "Message Receipts"
msgstr "Recibos de mensajes"

#: src/ui/chatty-dialog-settings.ui:192
msgid "Confirm received messages"
msgstr "Confirmar la recepción de mensajes"

#: src/ui/chatty-dialog-settings.ui:207
msgid "Message Carbons"
msgstr "Copias de mensajes"

#: src/ui/chatty-dialog-settings.ui:208
msgid "Share chat history among devices"
msgstr "Compartir el historial de chat entre dispositivos"

#: src/ui/chatty-dialog-settings.ui:223
msgid "Typing Notification"
msgstr "Notificación de tecleo"

#: src/ui/chatty-dialog-settings.ui:224
msgid "Send typing messages"
msgstr "Mandar mensajes que esta tecleando"

#: src/ui/chatty-dialog-settings.ui:244
msgid "Chats List"
msgstr "Lista de chats"

#: src/ui/chatty-dialog-settings.ui:265
msgid "Show Offline Contacts"
msgstr "Mostrar contactos fuera de línea"

#: src/ui/chatty-dialog-settings.ui:266
msgid "Show contacts in the chats list"
msgstr "Mostrar contactos en la lista de chats"

#: src/ui/chatty-dialog-settings.ui:281
msgid "Indicate Offline Contacts"
msgstr "Indicar que contactos son fuera de línea"

#: src/ui/chatty-dialog-settings.ui:282
msgid "Grey out avatars from offline contacts"
msgstr "Mostrar en gris las insignias de contactos fuera de línea"

#: src/ui/chatty-dialog-settings.ui:297
msgid "Indicate Idle Contacts"
msgstr "Indicar contactos no ocupados"

#: src/ui/chatty-dialog-settings.ui:298
msgid "Blur avatars from offline contacts"
msgstr "Desdibujar las insignias de contactos fuera de línea"

#: src/ui/chatty-dialog-settings.ui:313
msgid "Indicate Unknown Contacts"
msgstr "Indicar contactos desconocidos"

#: src/ui/chatty-dialog-settings.ui:314
msgid "Color unknown contact ID red"
msgstr "Poner en rojo las IDs de contactos desconocidos"

#: src/ui/chatty-dialog-settings.ui:334
msgid "Editor"
msgstr "Editor"

#: src/ui/chatty-dialog-settings.ui:355
msgid "Graphical Emoticons"
msgstr "Iconos gestuales gráficos"

#: src/ui/chatty-dialog-settings.ui:356
msgid "Convert ASCII emoticons"
msgstr "Convertir iconos gestuales de ASCII"

#: src/ui/chatty-dialog-settings.ui:371
msgid "Return = Send Message"
msgstr "Entrar = Mandar mensaje"

#: src/ui/chatty-dialog-settings.ui:372
msgid "Send message with return key"
msgstr "Manda mensaje con tecla Entrar"

#: src/ui/chatty-dialog-settings.ui:440
msgid "Account ID"
msgstr "ID de cuenta"

#: src/ui/chatty-dialog-settings.ui:473
msgid "Protocol"
msgstr "Protocolo"

#: src/ui/chatty-dialog-settings.ui:502
msgid "Status"
msgstr "Estatus"

#: src/ui/chatty-dialog-settings.ui:531 src/ui/chatty-dialog-settings.ui:786
msgid "Password"
msgstr "Contraseña"

#: src/ui/chatty-dialog-settings.ui:599
msgid "Own Fingerprint"
msgstr "Mi huella digital"

#: src/ui/chatty-dialog-settings.ui:626
msgid "Other Devices"
msgstr "Otros dispositivos"

#: src/ui/chatty-dialog-settings.ui:689
msgid "Select Protocol"
msgstr "Seleccionar protocolo"

#: src/ui/chatty-dialog-settings.ui:710
msgid "XMPP"
msgstr "XMPP"

#: src/ui/chatty-dialog-settings.ui:723
msgid "Matrix"
msgstr "Matrix"

#: src/ui/chatty-dialog-settings.ui:737
msgid "Telegram"
msgstr "Telegram"

#: src/ui/chatty-dialog-settings.ui:813
msgid "Server"
msgstr "Servidor"

#: src/ui/chatty-dialog-user-info.ui:12 src/ui/chatty-window.ui:98
msgid "Chat Details"
msgstr "Detalles de chat"

#: src/ui/chatty-dialog-user-info.ui:94
msgid "XMPP ID"
msgstr "ID de XMPP"

#: src/ui/chatty-dialog-user-info.ui:109 src/ui/chatty-dialog-user-info.ui:193
msgid "Encryption"
msgstr "Cifrado"

#: src/ui/chatty-dialog-user-info.ui:194
msgid "Secure messaging using OMEMO"
msgstr "Mensajería asegurada usando OMEMO"

#: src/ui/chatty-dialog-user-info.ui:215
msgid "Fingerprints"
msgstr "Huellas digitales"

#: src/ui/chatty-message-list-popover.ui:18
msgid "Copy"
msgstr "Copiar"

#: src/ui/chatty-pane-msg-view.ui:14
msgid "Unencrypted"
msgstr "No cifrado"

#: src/ui/chatty-window.ui:32
msgid "New Direct Chat"
msgstr "Chat nuevo directo"

#: src/ui/chatty-window.ui:137
msgid "Leave Chat"
msgstr "Salir de chat"

#: src/ui/chatty-window.ui:150
msgid "Delete Chat"
msgstr "Borrar chat"

#: src/ui/chatty-window.ui:184
msgid "Chats"
msgstr "Chats"

#: src/ui/chatty-window.ui:423
msgid "Start chatting"
msgstr "Empezar de chatear"

#: src/ui/chatty-window.ui:443
msgid ""
"<b>SMS Chat</b> is set up by default. Start a chat with the \"+\" button in "
"the titlebar."
msgstr ""
"<b>Chat por SMS</b> es configurado por defecto. Empieza un cat con el botón \"+\" en la barra de título."

#: src/ui/chatty-window.ui:462
msgid ""
"Add <b>Instant Messaging</b> by selecting <i>\"Add new account\"</i> in the "
msgstr ""
"Agregar <b>Mensajería instante</b> al seleccionar <i>\"Agregar cuenta nueva\"</i> en las preferencias."
1 Like

The way it works is that you can specify a translation for a particular country, but if no translation exists for the country, then it defaults to just the language.
For example, my locale is “es-BO” (Spanish in Bolivia). If no “es-BO” translation exists, then it defaults to “es” (Spanish).

So let’s start by just translating the “es” files. Then, we can create variations for specific countries if the Spanish is different. For example, “Open the file” in es-MX can be translated as, “¡Orale jue, abre el pinche archivo!” :wink:

1 Like

I guess you should find a way to organize to do all the same translations and do first an neutral Spanish translation and then if anyone want to add the specific countries ones they just need to do some modifications

In my opinion you should replace this strings; “chat” > “conversación”, “verboso” > “detallado”, “Estatus” > “Estado”

Only Chatty is available to be translated on the Zanata server.

It appears that Purism hasn’t yet uploaded the POT file for Calls, Phosh, libhandy, kgx, etc. to the Zanata server. For some of the programs, xgettext hasn’t been run to create the POT file.

Question for Purism employees:
Would you appreciate any help? We in the community can generate the POT files and upload them as new projects in Zanata. Would that hurry along the project or just create more confusion?

Spanish is not the only language that has challenges with that. In mine, the official and more formal sounding is directly “conversation” but then there is a modern speech version adaptation that is used informally “chatti”, which could work. But for this, I’d rather use a secondary locale file, that one can choose if proper vocabulary preferred or informal terms (inc. english tech terms which are more used by the savvy). [And if I’ll ever have time, just for fun, I’d like to make a slang and country dialect versions :slight_smile: ]

On another matter: Zanata has a chat function (on web version, see upper right corner) that lets you have these kinds of conversations regarding best options on each document. Useful, if there are more of them.

Phosh is there.
Haven’t found anything else though yet.

Yes, detallado and estado are better. I’ll change them now.

He escuchado “chatear” como un verbo, pero nunca he escuchado “chat” como un sustantivo en castellano. Tal vez “conversación” es mejor.

1 Like

Encuentra mis correciones abajo marcado en cursiva:

Gracais por tus traducciones! :+1:

Gracias @Honeybadger. ¿Qué opinas de “conversación” en lugar de “chat”?

Gracias por las traducciones :slight_smile:

Aquí tal vez infinitivo?

Es solo chat o es el chat? (unirse al chat, salir del chat…)

Quiero ver que Chatty va a insertar alli. Falta " a " si Chatty inserta el nombre de un usuario, como: “¿Autoriza a Juan?”

“del chat” y “al chat” suena mejor. ¿Debemos usar “conversación” en lugar de “chat”?

“Conversación” suena mejor para mí de hecho. Me parece un poco más formal que “chat” creo.

Diría que depende para quien es. Chat es un anglicismo - pasa lo mismo en alemán (Gespräch/Konversation vs. Chat).

Mirando en la traducción de Pidgin es ‘chat’. Le he preguntado a mi mujer que piensa y dice que para ella chat suena más del internet.

Al igual las dos cosas son correctas obviamente y se entienden :slight_smile:

(añadir en vez de agregar es lo mismo ^^)

PD: uso es_ES :wink:

Propiamente dicho sería charla, según la R.A.E., aunque a mí el termino que más me gusta es conversación

Creo que la traduccción debería usar los terminos españoles mientras sea posible, podemos abrir encuesta si hay mucho debate sobre ello.