diff --git a/.drone.yml b/.drone.yml index 4a98835e..f26aede8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,9 +33,10 @@ pipeline: - tar -czf $FILENAME cwtch - sha256sum $FILENAME > $FILENAME.sha256 - rm -r cwtch - build-android: + build-android-arm-v7a: mem_limit: 3G image: therecipe/qt:android + secrets: [upload_jks_file,upload_jks_pass] when: repo: cwtch.im/ui branch: master @@ -52,6 +53,11 @@ pipeline: - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git - rm -r vendor/ - make clean + - echo "cwtch-upload" > android/jks_alias + - echo $UPLOAD_JKS_PASS > android/jks_pass + - echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64 + - base64 --decode android/ui.jks.b64 > android/ui.jks + - export GOARCH=arm - go mod download - export VERSION=`git describe --tags` - export BUILDDATE=`date +%G-%m-%d-%H-%M` @@ -61,8 +67,49 @@ pipeline: - ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android - mv android/assets assets - cd deploy - - export FILENAME=cwtch-android-$BUILDDATE.apk - - cp android/build-debug.apk $FILENAME + - export FILENAME=cwtch-android-arm-v7a-$BUILDDATE.apk + - cp android/build-release-signed.apk $FILENAME + - sha256sum $FILENAME > $FILENAME.sha256 + - rm -r android + build-android-arm64-v8a: + mem_limit: 3G + image: therecipe/qt:android + secrets: [upload_jks_file,upload_jks_pass] + when: + repo: cwtch.im/ui + branch: master + event: push + environment: + - QT_DIR=/opt/Qt + - QT_DOCKER='true' + - QT_API=5.13.0 + - ANDROID_NDK_DIR=/home/user/android-ndk-r18b + - ANDROID_SDK_DIR=/home/user/android-sdk-linux + - GO111MODULE=on + commands: + - export PATH=$PATH:/home/user/work/bin:/media/sf_GOPATH1/bin + - apt-get -qq update && apt-get --no-install-recommends -qq -y install ca-certificates curl git + - rm -r vendor/ + - make clean + - echo "cwtch-upload" > android/jks_alias + - echo $UPLOAD_JKS_PASS > android/jks_pass + - echo $UPLOAD_JKS_FILE | tr -d '\n ' > android/ui.jks.b64 + - base64 --decode android/ui.jks.b64 > android/ui.jks + - export GOARCH=arm64 + - perl -pe 's/versionCode="(\d+)"/"versionCode=\"" .($1+1)."\""/eg' android/AndroidManifest.xml > android/AndroidManifest.xml.inc + - rm android/AndroidManifest.xml + - mv android/AndroidManifest.xml.inc android/AndroidManifest.xml + - go mod download + - export VERSION=`git describe --tags` + - export BUILDDATE=`date +%G-%m-%d-%H-%M` + - go mod vendor + - qtsetup generate android + - mv assets android/ + - ANDROID_MODULES_INCLUDE="Core,Gui,Svg,QuickWidgets,Xml" qtdeploy -ldflags "-X main.buildVer=$VERSION -X main.buildDate=$BUILDDATE" build android + - mv android/assets assets + - cd deploy + - export FILENAME=cwtch-android-arm64-v8a-$BUILDDATE.apk + - cp android/build-release-signed.apk $FILENAME - sha256sum $FILENAME > $FILENAME.sha256 - rm -r android build-windows: diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 955c390d..0bd49e23 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,7 +1,7 @@ - + locale-pt @@ -643,7 +643,17 @@ - + + locale-es + + + + + locale-it + + + + setting-interface-zoom Interface Zoom @@ -655,41 +665,44 @@ - - large-text-label + large text Groß - + setting-theme Theme - + theme-light - + theme-dark +<<<<<<< HEAD +======= + +>>>>>>> 1f98899f6be1eea1ab05dd2d5d63c7f7d927ebd5 experiments-enabled Theme - + version %1 tor %2 Version %1 with tor %2 - + builddate %2 Built on: %2 @@ -700,7 +713,8 @@ defaultmäßige Textgröße (Skalierungsfaktor: - + + small-text-label small text Klein diff --git a/i18n/translation_en.qm b/i18n/translation_en.qm index 183a82fc..bc4dbdc6 100644 Binary files a/i18n/translation_en.qm and b/i18n/translation_en.qm differ diff --git a/i18n/translation_en.ts b/i18n/translation_en.ts index bf63587a..a1b3e032 100644 --- a/i18n/translation_en.ts +++ b/i18n/translation_en.ts @@ -772,7 +772,7 @@ Right-click to reset. Frances - + locale-pt Portuguesa @@ -782,7 +782,17 @@ Right-click to reset. Deutsche - + + locale-es + Espanol + + + + locale-it + Italiana + + + setting-interface-zoom Interface Zoom Zoom level @@ -800,29 +810,29 @@ Right-click to reset. Large - + setting-theme Theme Theme - + theme-light Light - + theme-dark Dark - + experiments-enabled Theme Experiments enabled - + version %1 tor %2 Version %1 with tor %2 Version %1 with tor %2 @@ -833,7 +843,7 @@ Right-click to reset. Version %1 - + builddate %2 Built on: %2 Built on: %2 @@ -844,7 +854,7 @@ Right-click to reset. Default size text (scale factor: - + small-text-label small text Small diff --git a/i18n/translation_es.qm b/i18n/translation_es.qm new file mode 100644 index 00000000..7207bbfb Binary files /dev/null and b/i18n/translation_es.qm differ diff --git a/i18n/translation_es.ts b/i18n/translation_es.ts new file mode 100644 index 00000000..5a4a52f9 --- /dev/null +++ b/i18n/translation_es.ts @@ -0,0 +1,721 @@ + + + + + AddGroupPane + + create-group-title + Crear un grupo + + + server-label + Servidor + + + group-name-label + Nombre del grupo + + + default-group-name + El Grupo Asombroso + + + create-group-btn + Crear + + + + AddPeerGroupPane + + profile-oniblon-label + Send this address to peers you want to connect with + Envía esta dirección a los contactos con los que quieras conectarte + + + copy-btn + Copiar + + + copied-to-clipboard-notification + notification: copied to clipboard + Copiado al portapapeles + + + add-peer-tab + Agregar Contacto + + + create-group-tab + Crear un grupo + + + join-group-tab + Únete a un grupo + + + peer-address + Address + Dirección + + + peer-name + Name + Nombre + + + group-name + Group Name + Nombre del grupo + + + server + Server + Servidor + + + invitation + Invitation + Invitación + + + group-addr + Address + Dirección + + + add-peer + Agregar Contacto + + + create-group + Crear perfil + + + join-group + Únete al grupo + + + + BulletinOverlay + + new-bulletin-label + Nuevo Boletín + + + post-new-bulletin-label + Post a new Bulletin Post + Publicar nuevo boletín + + + title-placeholder + title place holder text + título... + + + + ChatOverlay + + chat-history-default + This conversation will be deleted when Cwtch is closed! Message history can be enabled per-conversation via the Settings menu in the upper right. + + + + chat-history-disabled + Message history is disabled. + + + + chat-history-enabled + Message history is enabled. + + + + + ContactList + + paste-address-to-add-contact + ...pegar una dirección aquí para añadir contacto... + + + blocked + Bloqueado + + + + EmojiDrawer + + cycle-cats-android + Click para cambiar categoría. Mantenga pulsado para reiniciar. + + + cycle-cats-desktop + Click para cambiar categoría. Click derecho para reiniciar. + + + cycle-morphs-android + Click para cambiar transformaciones. Mantenga pulsado para reiniciar. + + + cycle-morphs-desktop + Click para cambiar transformaciones. Click derecho para reiniciar. + + + cycle-colours-android + Click para cambiar colores. Mantenga pulsado para reiniciar. + + + cycle-colours-desktop + Click para cambiar colores. Click derecho para reiniciar. + + + search + Búsqueda... + + + + GroupSettingsPane + + server-label + Servidor + + + copy-btn + Copiar + + + copied-to-clipboard-notification + notification: copied to clipboard + Copiado al portapapeles + + + invitation-label + Invitación + + + server-info + Información del servidor + + + server-connectivity-connected + Servidor conectado + + + server-connectivity-disconnected + Servidor desconectado + + + server-synced + Sincronizado + + + server-not-synced + Fuera de sincronización con el servidor + + + view-server-info + Información del servidor + + + group-name-label + Nombre del grupo + + + save-btn + Guardar + + + invite-to-group-label + Invitar al grupo + + + invite-btn + Invitar + + + delete-btn + Eliminar + + + + InplaceEditText + + Update + Actualizar + + + + ListOverlay + + search-list + ex: "Find..." + Buscar en la lista + + + peer-not-online + Este contacto no está en línea, la aplicación no puede ser usada en este momento + + + add-list-item-btn + Agregar artículo + + + add-list-item + Añadir un nuevo elemento a la lista + + + add-new-item + Añadir un nuevo elemento a la lista + + + todo-placeholder + Por hacer... + + + + MembershipOverlay + + membership-description + Below is a list of users who have sent messages to the group. This list may not reflect all users who have access to the group. + La lista a continuación solo muestra los miembros que han enviado mensajes al grupo, no incluye a todos los usuarios dentro del grupo + + + + Message + + dm-tooltip + Click to DM + Haz clic para enviar mensaje directo + + + could-not-send-msg-error + Could not send this message + No se pudo enviar este mensaje + + + acknowledged-label + Reconocido + + + pending-label + Pendiente + + + + MessageEditor + + peer-blocked-message + Peer is blocked + Contacto bloqueado + + + peer-offline-message + Peer is offline, messages can't be delivered right now + Este contacto no está en línea, los mensajes no pueden ser entregados en este momento + + + + MyProfile + + copy-btn + Copiar + + + copied-clipboard-notification + Copiado al portapapeles + + + new-group-btn + Crear un nuevo grupo de chat + + + paste-address-to-add-contact + ...pegar una dirección aquí para añadir un contacto... + + + + OverlayPane + + accept-group-invite-label + ¿Quieres aceptar la invitación a + + + accept-group-btn + Aceptar + + + reject-group-btn + Rechazar + + + chat-btn + Chat + + + lists-btn + Listas + + + bulletins-btn + Boletines + + + puzzle-game-btn + Juego de rompecabezas + + + + PeerSettingsPane + + address-label + Dirección + + + copy-btn + Copiar + + + copied-to-clipboard-notification + notification: copied to clipboard + Copiado al portapapeles + + + display-name-label + Nombre de Usuario + + + save-btn + Guardar + + + block-btn + Bloquear contacto + + + save-peer-history + Save Peer History + Guardar el historial con contacto + + + save-peer-history-description + Determina si eliminar o no el historial asociado con el contacto. + + + dont-save-peer-history + Eliminar historial de contacto + + + unblock-btn + Desbloquear contacto + + + delete-btn + Eliminar + + + + ProfileAddEditPane + + add-profile-title + Agregar nuevo perfil + + + edit-profile-title + Editar perfil + + + profile-name + Nombre de Usuario + + + default-profile-name + Alicia + + + new-profile + New Profile || Edit Profile + Nuevo perfil + + + edit-profile + Editar perfil + + + profile-onion-label + Envía esta dirección a los contactos con los que quieras conectarte + + + copy-btn + Copiar + + + copied-to-clipboard-notification + notification: copied to clipboard + Copiado al portapapeles + + + radio-use-password + Password + Contraseña + + + radio-no-password + Unencrypted (No password) + Sin cifrado (sin contraseña) + + + no-password-warning + Not using a password on this account means that all data stored locally will not be encrypted + No usar una contraseña para esta cuenta significa que los datos almacenados localmente no serán encriptados + + + profile-oniblon-label + Send this address to peers you want to connect with + Envía esta dirección a los contactos con los que quieras conectarte + + + your-display-name + Your Display Name + Tu nombre de usuario + + + current-password-label + Current Password + Contraseña actual + + + password1-label + Password + Contraseña + + + password2-label + Reenter password + Vuelve a ingresar tu contraseña + + + password-error-empty + Passwords do not match + El campo de contraseña no puede estar vacío + + + create-profile-btn + Create || Save + Crear perfil + + + save-profile-btn + Guardar perfil + + + password-error-match + Las contraseñas no coinciden + + + password-change-error + Error changing password: Supplied password rejected + Hubo un error cambiando tu contraseña: la contraseña ingresada fue rechazada + + + delete-profile-btn + Delete Profile + Eliminar Perfil + + + delete-confirm-label + Type DELETE to confirm + Escribe ELIMINAR para confirmar + + + delete-profile-confirm-btn + Really Delete Profile + Confirmar eliminar perfil + + + delete-confirm-text + DELETE + ELIMINAR + + + + ProfileList + + add-new-profile-btn + Agregar nuevo perfil + + + + ProfileManagerPane + + enter-profile-password + Enter a password to view your profiles + Ingresa tu contraseña para ver tus perfiles + + + password + Contraseña + + + error-0-profiles-loaded-for-password + 0 profiles loaded with that password + 0 perfiles cargados con esa contraseña + + + your-profiles + Your Profiles + Tus perfiles + + + your-servers + Your Profiles + Tus servidores + + + unlock + Unlock + Desbloquear + + + + SettingsPane + + cwtch-settings-title + Configuración de Cwtch + + + version %1 builddate %2 + Versión: %1 Basado en %2 + + + zoom-label + Zoom de la interfaz (afecta principalmente el tamaño del texto y de los botones) + + + block-unknown-label + Bloquear conexiones desconocidas + + + setting-language + Language + Idioma + + + locale-en + Inglés + + + locale-fr + Francés + + + locale-pt + Portugués + + + locale-de + Alemán + + + setting-interface-zoom + Interface Zoom + Nivel de zoom + + + large-text-label + Grande + + + setting-theme + Theme + Tema + + + theme-light + Claro + + + theme-dark + Oscuro + + + experiments-enabled + Theme + Experimentos habilitados + + + version %1 tor %2 + Version %1 with tor %2 + Versión %1 con tor %2 + + + version %1 + Versión %1 + + + builddate %2 + Built on: %2 + Basado en: %2 + + + default-scaling-text + Tamaño predeterminado de texto (factor de escala: + + + small-text-label + Pequeño + + + locale-es + Español + + + locale-it + Italiano + + + + SplashPane + + loading-tor + Loading tor... + Cargando tor... + + + + StackToolbar + + view-group-membership-tooltip + Ver membresía del grupo + + + + Statusbar + + network-status-disconnected + Disconnected from the internet, check your connection + Sin conexión, comprueba tu conexión + + + network-status-attempting-tor + Attempting to connect to Tor network + Intentando conectarse a la red Tor + + + network-status-connecting + Connecting... + Conectando a la red y a los contactos... + + + network-status-online + Online + En línea + + + + main + + new-connection-pane-title + New Connection + Nueva conexión + + + diff --git a/i18n/translation_fr.ts b/i18n/translation_fr.ts index 31bd7626..02966d47 100644 --- a/i18n/translation_fr.ts +++ b/i18n/translation_fr.ts @@ -633,7 +633,7 @@ - + locale-pt @@ -643,7 +643,17 @@ - + + locale-es + + + + + locale-it + + + + setting-interface-zoom Interface Zoom @@ -661,35 +671,35 @@ Large - + setting-theme Theme - + theme-light - + theme-dark - + experiments-enabled Theme - + version %1 tor %2 Version %1 with tor %2 - + builddate %2 Built on: %2 @@ -700,7 +710,7 @@ Taille par défaut du texte (échelle: - + small-text-label small text Petit diff --git a/i18n/translation_it.qm b/i18n/translation_it.qm new file mode 100644 index 00000000..e23dfed4 Binary files /dev/null and b/i18n/translation_it.qm differ diff --git a/i18n/translation_it.ts b/i18n/translation_it.ts new file mode 100644 index 00000000..520b5821 --- /dev/null +++ b/i18n/translation_it.ts @@ -0,0 +1,654 @@ + + + AddGroupPane + + create-group-title + Crea un gruppo + + + server-label + Server + + + group-name-label + Nome del gruppo + + + default-group-name + Gruppo fantastico + + + create-group-btn + Crea + + + + AddPeerGroupPane + + profile-oniblon-label + Inviare questo indirizzo ai peer con cui si desidera connettersi + + + copy-btn + Copia + + + copied-to-clipboard-notification + Copiato negli Appunti + + + add-peer-tab + Aggiungi un peer + + + create-group-tab + Crea un gruppo + + + join-group-tab + Unisciti a un gruppo + + + peer-address + Indirizzo + + + peer-name + Nome + + + group-name + Nome del gruppo + + + server + Server + + + invitation + Invito + + + group-addr + Indirizzo + + + add-peer + Aggiungi peer + + + create-group + Crea un gruppo + + + join-group + Unisciti al gruppo + + + + BulletinOverlay + + new-bulletin-label + Nuovo bollettino + + + post-new-bulletin-label + Pubblica un nuovo bollettino + + + title-placeholder + titolo... + + + + ContactList + + paste-address-to-add-contact + ... incolla qui un indirizzo per aggiungere un contatto... + + + blocked + Bloccato + + + + EmojiDrawer + + cycle-cats-android + Fare clic per scorrere le categorie. +Pressione lunga per resettare. + + + cycle-cats-desktop + Fare clic per scorrere le categorie. +Cliccare con il tasto destro per resettare. + + + cycle-morphs-android + Fare clic per scorrere i morph. +Pressione lunga per resettare. + + + cycle-morphs-desktop + Fare clic per scorrere i morph. +Cliccare con il tasto destro per resettare. + + + cycle-colours-android + Fare clic per scorrere i colori. +Pressione lunga per resettare. + + + cycle-colours-desktop + Fare clic per scorrere i colori. +Cliccare con il tasto destro per resettare. + + + search + Ricerca... + + + + GroupSettingsPane + + server-label + Server + + + copy-btn + Copia + + + copied-to-clipboard-notification + Copiato negli Appunti + + + invitation-label + Invito + + + server-info + Informazioni sul server + + + server-connectivity-connected + Server connesso + + + server-connectivity-disconnected + Server disconnesso + + + server-synced + Sincronizzato + + + server-not-synced + Non sincronizzato + + + view-server-info + Informazioni sul server + + + group-name-label + Nome del gruppo + + + save-btn + Salva + + + invite-to-group-label + Invitare nel gruppo + + + invite-btn + Invitare + + + delete-btn + Elimina + + + + InplaceEditText + + Update + Aggiornamento + + + + ListOverlay + + search-list + Cerca nella lista + + + peer-not-online + Il peer è offline. Le applicazioni non possono essere utilizzate in questo momento. + + + add-list-item-btn + Aggiungi elemento + + + add-list-item + Aggiungi un nuovo elemento alla lista + + + add-new-item + Aggiungi un nuovo elemento alla lista + + + todo-placeholder + Da fare... + + + + MembershipOverlay + + membership-description + Di seguito è riportato un elenco di utenti che hanno inviato messaggi al gruppo. Questo elenco potrebbe non corrispondere a tutti gli utenti che hanno accesso al gruppo. + + + + Message + + dm-tooltip + Clicca per inviare un Messagio Diretto + + + could-not-send-msg-error + Impossibile inviare questo messaggio + + + acknowledged-label + Riconosciuto + + + pending-label + In corso + + + + MessageEditor + + peer-blocked-message + Il peer è bloccato + + + peer-offline-message + Il peer è offline, i messaggi non possono essere recapitati in questo momento + + + + MyProfile + + copy-btn + Copia + + + copied-clipboard-notification + Copiato negli Appunti + + + new-group-btn + Crea un nuovo gruppo + + + paste-address-to-add-contact + ... incolla qui un indirizzo per aggiungere un contatto ... + + + + OverlayPane + + accept-group-invite-label + Vuoi accettare l'invito a + + + accept-group-btn + Accetta + + + reject-group-btn + Rifiuta + + + chat-btn + Chat + + + lists-btn + Liste + + + bulletins-btn + Bollettini + + + puzzle-game-btn + Gioco di puzzle + + + + PeerSettingsPane + + address-label + Indirizzo + + + copy-btn + Copia + + + copied-to-clipboard-notification + Copiato negli Appunti + + + display-name-label + Nome visualizzato + + + save-btn + Salva + + + block-btn + Blocca il peer + + + save-peer-history + Salva cronologia peer + + + save-peer-history-description + Determina se eliminare o meno ogni cronologia eventualmente associata al peer. + + + dont-save-peer-history + Elimina cronologia dei peer + + + unblock-btn + Sblocca il peer + + + delete-btn + Elimina + + + + ProfileAddEditPane + + add-profile-title + Aggiungi nuovo profilo + + + edit-profile-title + Modifica profilo + + + profile-name + Nome visualizzato + + + default-profile-name + Alice + + + new-profile + Nuovo profilo + + + edit-profile + Modifica profilo + + + profile-onion-label + Inviare questo indirizzo ai peer con cui si desidera connettersi + + + copy-btn + Copia + + + copied-to-clipboard-notification + Copiato negli appunti + + + radio-use-password + Password + + + radio-no-password + Non criptato (senza password) + + + no-password-warning + Non utilizzare una password su questo account significa che tutti i dati archiviati localmente non verranno criptati + + + profile-oniblon-label + Inviare questo indirizzo ai peer con cui si desidera connettersi + + + your-display-name + Il tuo nome visualizzato + + + current-password-label + Password corrente + + + password1-label + Password + + + password2-label + Reinserire la password + + + password-error-empty + La password non può essere vuota + + + create-profile-btn + Crea un profilo + + + save-profile-btn + Salva il profilo + + + password-error-match + Le password non corrispondono + + + password-change-error + Errore durante la modifica della password: password fornita rifiutata + + + delete-profile-btn + Elimina profilo + + + delete-confirm-label + Digita ELIMINA per confermare + + + delete-profile-confirm-btn + Elimina realmente il profilo + + + delete-confirm-text + ELIMINA + + + + ProfileList + + add-new-profile-btn + Aggiungi nuovo profilo + + + + ProfileManagerPane + + enter-profile-password + Inserisci una password per visualizzare i tuoi profili + + + password + Password + + + error-0-profiles-loaded-for-password + 0 profili caricati con quella password + + + your-profiles + I tuoi profili + + + your-servers + I tuoi server + + + unlock + Sblocca + + + + SettingsPane + + cwtch-settings-title + Impostazioni di Cwtch + + + version %1 builddate %2 + Versione: %1 Costruito il: %2 + + + zoom-label + Zoom dell'interfaccia (influisce principalmente sulle dimensioni del testo e dei pulsanti) + + + block-unknown-label + Blocca peer sconosciuti + + + setting-language + Lingua + + + locale-en + Inglese + + + locale-fr + Francese + + + locale-pt + Portoghese + + + locale-de + Tedesco + + + setting-interface-zoom + Livello di zoom + + + large-text-label + Grande + + + setting-theme + Tema + + + theme-light + Chiaro + + + theme-dark + Scuro + + + experiments-enabled + Esperimenti abilitati + + + version %1 tor %2 + Versione %1 con tor %2 + + + version %1 + Versione %1 + + + builddate %2 + Costruito il: %2 + + + default-scaling-text + Testo di dimensioni predefinite (fattore di scala: + + + small-text-label + Piccolo + + + locale-es + Spagnolo + + + locale-it + Italiano + + + + SplashPane + + loading-tor + Caricamento di tor... + + + + StackToolbar + + view-group-membership-tooltip + Visualizza i membri del gruppo + + + + Statusbar + + network-status-disconnected + Disconnesso da Internet, controlla la tua connessione + + + network-status-attempting-tor + Tentativo di connessione alla rete Tor + + + network-status-connecting + Connessione alla rete e ai peer ... + + + network-status-online + Online + + + + main + + new-connection-pane-title + Nuova connessione + + + diff --git a/i18n/translation_pt.ts b/i18n/translation_pt.ts index d7704262..d110ca74 100644 --- a/i18n/translation_pt.ts +++ b/i18n/translation_pt.ts @@ -633,7 +633,7 @@ - + locale-pt @@ -643,7 +643,17 @@ - + + locale-es + + + + + locale-it + + + + setting-interface-zoom Interface Zoom @@ -655,41 +665,40 @@ - + large-text-label large text Grande - + setting-theme Theme - + theme-light - + theme-dark - + experiments-enabled Theme - - + version %1 tor %2 Version %1 with tor %2 - + builddate %2 Built on: %2 @@ -700,7 +709,7 @@ Texto tamanho padrão (fator de escala: - + small-text-label small text Pequeno diff --git a/linux/cwtch.desktop b/linux/cwtch.desktop index 9459767a..4127dda4 100644 --- a/linux/cwtch.desktop +++ b/linux/cwtch.desktop @@ -2,7 +2,7 @@ Name=Cwtch Comment=Metadata Resistant Instant Messaging Exec=~/.local/bin/cwtch -Icon=~/.local/share/icons/cwtch.png +Icon=cwtch StartupNotify=true Type=Application Keywords=Internet;IM;Instant Messaging;Messaging;Chat diff --git a/linux/cwtch.png b/linux/cwtch.png deleted file mode 100644 index f35daeff..00000000 Binary files a/linux/cwtch.png and /dev/null differ diff --git a/linux/icons/hicolor/128x128/apps/cwtch.png b/linux/icons/hicolor/128x128/apps/cwtch.png new file mode 100644 index 00000000..ef922530 Binary files /dev/null and b/linux/icons/hicolor/128x128/apps/cwtch.png differ diff --git a/linux/icons/hicolor/16x16/apps/cwtch.png b/linux/icons/hicolor/16x16/apps/cwtch.png new file mode 100644 index 00000000..66cc4baf Binary files /dev/null and b/linux/icons/hicolor/16x16/apps/cwtch.png differ diff --git a/linux/icons/hicolor/32x32/apps/cwtch.png b/linux/icons/hicolor/32x32/apps/cwtch.png new file mode 100644 index 00000000..716f583b Binary files /dev/null and b/linux/icons/hicolor/32x32/apps/cwtch.png differ diff --git a/linux/icons/hicolor/48x48/apps/cwtch.png b/linux/icons/hicolor/48x48/apps/cwtch.png new file mode 100644 index 00000000..2396ee05 Binary files /dev/null and b/linux/icons/hicolor/48x48/apps/cwtch.png differ diff --git a/linux/icons/hicolor/64x64/apps/cwtch.png b/linux/icons/hicolor/64x64/apps/cwtch.png new file mode 100644 index 00000000..b49f96fe Binary files /dev/null and b/linux/icons/hicolor/64x64/apps/cwtch.png differ diff --git a/linux/install.sh b/linux/install.sh index 2f6ae01f..8c5a1f00 100755 --- a/linux/install.sh +++ b/linux/install.sh @@ -6,5 +6,10 @@ cp ui ~/.local/bin/cwtch mkdir -p ~/.local/share/icons cp cwtch.png ~/.local/share/icons +mkdir -p ~/.local/share/cwtch +cp -r assets ~/.local/share/cwtch + +cp -r icons ~/.local/share/ + mkdir -p ~/.local/share/applications sed "s|~|$HOME|" cwtch.desktop > $HOME/.local/share/applications/cwtch.desktop diff --git a/main.go b/main.go index 7bbe771c..2feb320f 100644 --- a/main.go +++ b/main.go @@ -181,14 +181,38 @@ func mainUi(flagLocal bool, flagClientUI bool) { log.Infof("core.QCoreApplication_ApplicationDirPath(): %v\n", dir) if runtime.GOOS == "android" { gcd.SetAssetPath("assets:/") - } else { + } else if runtime.GOOS == "windows" { // all of these access are QML based, and QML takes URIs which use forward slashes and translates them to local OS sperators // also windows paths need to be like /c:/PATH - if runtime.GOOS == "windows" { - dir = "/" + dir - } + dir = "/" + dir // QML uses '/' regardless of platform (so we use path.Join here not filepath.Join) gcd.SetAssetPath("file://" + path.Join(dir, "assets") + "/") + } else { + if buildVer == "" || flagLocal { + if _, err := os.Stat(path.Join(dir, "assets")); !os.IsNotExist(err) { + gcd.SetAssetPath("file://" + path.Join(dir, "assets") + "/") + } + } else { + usr, err := user.Current() + if err != nil { + log.Errorf("\nerror: could not load current user: %v\n", err) + os.Exit(1) + } + localCwtch := path.Join(usr.HomeDir, ".local/share/cwtch") + if _, err := os.Stat(localCwtch); !os.IsNotExist(err) { + gcd.SetAssetPath("file://" + path.Join(localCwtch, "assets") + "/") + } else if _, err := os.Stat("/usr/share/cwtch"); !os.IsNotExist(err) { + gcd.SetAssetPath("file://" + "/usr/share/cwtch/assets/") + } else if _, err := os.Stat("/usr/local/share/cwtch/"); !os.IsNotExist(err) { + gcd.SetAssetPath("file://" + "/usr/local/share/cwtch/assets/") + } else if _, err := os.Stat(path.Join(dir, "assets")); !os.IsNotExist(err) { + gcd.SetAssetPath("file://" + path.Join(dir, "assets") + "/") + } + } + if gcd.AssetPath() == "" { + log.Errorf("Could not find assets folder") + os.Exit(-1) + } } log.Infof("gcd.assetPath = '%v'\n", gcd.AssetPath()) diff --git a/qml.qrc b/qml.qrc index 7db9c7bb..5b1d8fa3 100644 --- a/qml.qrc +++ b/qml.qrc @@ -24,6 +24,8 @@ i18n/translation_de.qm i18n/translation_en.qm i18n/translation_fr.qm + i18n/translation_es.qm + i18n/translation_it.qm i18n/translation_pt.qm qml/images/cwtch_logo.png qml/images/cwtch_title.png diff --git a/qml/panes/AddPeerGroupPane.qml b/qml/panes/AddPeerGroupPane.qml index 0c9f863e..fc9bf988 100644 --- a/qml/panes/AddPeerGroupPane.qml +++ b/qml/panes/AddPeerGroupPane.qml @@ -26,7 +26,6 @@ Rectangle { groupNameCreate.text = "" groupAddr.text = "" - onionLabel.text = gcd.selectedProfile } diff --git a/qml/panes/SettingsPane.qml b/qml/panes/SettingsPane.qml index 3f628499..19b68572 100644 --- a/qml/panes/SettingsPane.qml +++ b/qml/panes/SettingsPane.qml @@ -45,8 +45,10 @@ Opaque.SettingsList { // settingsPane id: cbLangItems ListElement { text: qsTr("locale-en"); value: "en" } ListElement { text: qsTr("locale-fr"); value: "fr" } - ListElement { text: qsTr("locale-pt"); value: "pt" } + ListElement { text: qsTr("locale-es"); value: "es" } ListElement { text: qsTr("locale-de"); value: "de" } + ListElement { text: qsTr("locale-it"); value: "it" } + ListElement { text: qsTr("locale-pt"); value: "pt" } } onCurrentIndexChanged: { diff --git a/ui.pro b/ui.pro index e124f91d..d58092c6 100644 --- a/ui.pro +++ b/ui.pro @@ -20,6 +20,8 @@ RESOURCES += qml.qrc TRANSLATIONS = i18n/translation_en.ts \ i18n/translation_de.ts \ + i18n/translation_es.ts \ + i18n/translation_it.ts \ i18n/translation_pt.ts \ i18n/translation_fr.ts