summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2014-12-14 17:19:46 +0100
committerJavier <dev.git@javispedro.com>2014-12-14 17:19:46 +0100
commit7c48bbe17251fef1d3045ac8b5b6fe8058b4fb10 (patch)
tree8945e2c575f467a21cf29baf7ce3268fb9624657
parent24a27dcfdd6ce8f3e5a635404e6650081ebd63ca (diff)
add i18n support to UI app
also 'es' translation
-rw-r--r--app/app.pro10
-rw-r--r--app/qml/pages/WatchPage.qml4
-rw-r--r--app/translations/pebble-es.ts254
-rw-r--r--app/translations/pebble.ts253
-rw-r--r--rpm/pebble.spec1
-rw-r--r--rpm/pebble.yaml1
6 files changed, 518 insertions, 5 deletions
diff --git a/app/app.pro b/app/app.pro
index 9cc2d09..ca03ab1 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -23,9 +23,13 @@ OTHER_FILES += \
qml/pages/ManagerPage.qml \
qml/pages/WatchPage.qml \
qml/pages/AboutPage.qml \
+ qml/pages/InstallAppDialog.qml \
+ qml/pages/AppConfigDialog.qml \
qml/pebble.qml \
qml/images/* \
+ translations/*.ts \
pebble.desktop \
- pebble.png \
- qml/pages/InstallAppDialog.qml \
- qml/pages/AppConfigDialog.qml
+ pebble.png
+
+CONFIG += sailfishapp_i18n
+TRANSLATIONS += translations/pebble-es.ts
diff --git a/app/qml/pages/WatchPage.qml b/app/qml/pages/WatchPage.qml
index 9096df6..2d69306 100644
--- a/app/qml/pages/WatchPage.qml
+++ b/app/qml/pages/WatchPage.qml
@@ -60,7 +60,7 @@ Page {
Button {
- text: "Ping"
+ text: qsTr("Ping")
width: parent.width / 2
onClicked: {
pebbled.ping(66)
@@ -68,7 +68,7 @@ Page {
}
Button {
- text: "Sync Time"
+ text: qsTr("Sync Time")
width: parent.width / 2
onClicked: {
pebbled.time()
diff --git a/app/translations/pebble-es.ts b/app/translations/pebble-es.ts
new file mode 100644
index 0000000..7332e4c
--- /dev/null
+++ b/app/translations/pebble-es.ts
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es_ES">
+<context>
+ <name>AboutPage</name>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="24"/>
+ <source>Version </source>
+ <translation>Versión </translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="47"/>
+ <source>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="71"/>
+ <source>Bugs?</source>
+ <translation>¿Errores?</translation>
+ </message>
+</context>
+<context>
+ <name>AppConfigDialog</name>
+ <message>
+ <location filename="../qml/pages/AppConfigDialog.qml" line="41"/>
+ <source>No configuration settings available</source>
+ <translation>No hay opciones disponibles para configurar</translation>
+ </message>
+</context>
+<context>
+ <name>CoverPage</name>
+ <message>
+ <location filename="../qml/cover/CoverPage.qml" line="56"/>
+ <source>connected</source>
+ <translation>conectado</translation>
+ </message>
+ <message>
+ <location filename="../qml/cover/CoverPage.qml" line="56"/>
+ <source>disconnected</source>
+ <translation>desconectado</translation>
+ </message>
+</context>
+<context>
+ <name>InstallAppDialog</name>
+ <message>
+ <location filename="../qml/pages/InstallAppDialog.qml" line="15"/>
+ <source>Install app</source>
+ <translation>Instalar app</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/InstallAppDialog.qml" line="16"/>
+ <source>Install</source>
+ <translation>Instalar</translation>
+ </message>
+</context>
+<context>
+ <name>ManagerPage</name>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="65"/>
+ <source>About</source>
+ <translation>Acerca de</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="76"/>
+ <source>Pebble Manager</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="83"/>
+ <source>Waiting for watch...
+If it can&apos;t be found please check it&apos;s available and paired in Bluetooth settings.</source>
+ <translation>Buscando el reloj
+Si esto tarda mucho, comprueba que el reloj esté emparejado correctamente.</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="104"/>
+ <source>Service</source>
+ <translation>Servicio</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="111"/>
+ <source>Enabled</source>
+ <translation>Habilitado</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="112"/>
+ <source>Automatic startup</source>
+ <translation>Inicio automático</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="112"/>
+ <source>Manual startup</source>
+ <translation>Inicio manual</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="118"/>
+ <source>Active</source>
+ <translation>Activo</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="119"/>
+ <source>Running</source>
+ <translation>Ejecutándose</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="119"/>
+ <source>Dead</source>
+ <translation>Detenido</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="125"/>
+ <source>Connection</source>
+ <translation>Conexión</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="126"/>
+ <source>Connected</source>
+ <translation>Conectado</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="126"/>
+ <source>Disconnected</source>
+ <translation>Desconectado</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="139"/>
+ <source>Settings</source>
+ <translation>Configuración</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="146"/>
+ <source>Forward phone calls</source>
+ <translation>Transferir llamadas</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="154"/>
+ <source>Silent when connected</source>
+ <translation>Modo silencio automático</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="155"/>
+ <source>Sets phone profile to &quot;silent&quot; when Pebble is connected</source>
+ <translation>Activa el modo silencio cuando se conecte un Pebble</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="163"/>
+ <source>Transliterate messages</source>
+ <translation>Transliterar mensajes</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="164"/>
+ <source>Messages are transliterated to ASCII before sending to Pebble</source>
+ <translation>Codifica los mensajes entrates a ASCII antes de enviarlos a Pebble</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="173"/>
+ <source>Notifications</source>
+ <translation>Notificaciones</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="181"/>
+ <source>Messaging</source>
+ <translation>Mensajería</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="182"/>
+ <source>SMS and IM</source>
+ <translation>SMS y chat</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="191"/>
+ <source>Missed call</source>
+ <translation>Llamadas perdidas</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="200"/>
+ <source>Emails</source>
+ <translation>Correos electrónicos</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="209"/>
+ <source>Mitakuuluu</source>
+ <translation></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="218"/>
+ <source>Twitter</source>
+ <translation>Twitter</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="228"/>
+ <source>Facebook</source>
+ <translation>Facebook</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="237"/>
+ <source>Other notifications</source>
+ <translation>Resto de notificaciones</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="246"/>
+ <source>All notifications</source>
+ <translation>Todas las notificaciones</translation>
+ </message>
+</context>
+<context>
+ <name>WatchPage</name>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="63"/>
+ <source>Ping</source>
+ <translation>Ping</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="71"/>
+ <source>Sync Time</source>
+ <translation>Ajustar hora</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="85"/>
+ <source>Installed applications</source>
+ <translation>Aplicaciones instaladas</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="120"/>
+ <source>Uninstalling</source>
+ <translation>Desinstalando</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="192"/>
+ <source>(empty slot)</source>
+ <translation>(hueco libre)</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="192"/>
+ <source>(slot in use by unknown app)</source>
+ <translation>(hueco en uso)</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="201"/>
+ <source>Install app...</source>
+ <translation>Instalar app...</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="206"/>
+ <source>Configure...</source>
+ <translation>Configurar...</translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="211"/>
+ <source>Uninstall</source>
+ <translation>Desinstalar</translation>
+ </message>
+</context>
+</TS>
diff --git a/app/translations/pebble.ts b/app/translations/pebble.ts
new file mode 100644
index 0000000..3cc8b6d
--- /dev/null
+++ b/app/translations/pebble.ts
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1">
+<context>
+ <name>AboutPage</name>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="24"/>
+ <source>Version </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="47"/>
+ <source>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/AboutPage.qml" line="71"/>
+ <source>Bugs?</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>AppConfigDialog</name>
+ <message>
+ <location filename="../qml/pages/AppConfigDialog.qml" line="41"/>
+ <source>No configuration settings available</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>CoverPage</name>
+ <message>
+ <location filename="../qml/cover/CoverPage.qml" line="56"/>
+ <source>connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/cover/CoverPage.qml" line="56"/>
+ <source>disconnected</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>InstallAppDialog</name>
+ <message>
+ <location filename="../qml/pages/InstallAppDialog.qml" line="15"/>
+ <source>Install app</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/InstallAppDialog.qml" line="16"/>
+ <source>Install</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>ManagerPage</name>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="65"/>
+ <source>About</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="76"/>
+ <source>Pebble Manager</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="83"/>
+ <source>Waiting for watch...
+If it can&apos;t be found please check it&apos;s available and paired in Bluetooth settings.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="104"/>
+ <source>Service</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="111"/>
+ <source>Enabled</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="112"/>
+ <source>Automatic startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="112"/>
+ <source>Manual startup</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="118"/>
+ <source>Active</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="119"/>
+ <source>Running</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="119"/>
+ <source>Dead</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="125"/>
+ <source>Connection</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="126"/>
+ <source>Connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="126"/>
+ <source>Disconnected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="139"/>
+ <source>Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="146"/>
+ <source>Forward phone calls</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="154"/>
+ <source>Silent when connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="155"/>
+ <source>Sets phone profile to &quot;silent&quot; when Pebble is connected</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="163"/>
+ <source>Transliterate messages</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="164"/>
+ <source>Messages are transliterated to ASCII before sending to Pebble</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="173"/>
+ <source>Notifications</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="181"/>
+ <source>Messaging</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="182"/>
+ <source>SMS and IM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="191"/>
+ <source>Missed call</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="200"/>
+ <source>Emails</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="209"/>
+ <source>Mitakuuluu</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="218"/>
+ <source>Twitter</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="228"/>
+ <source>Facebook</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="237"/>
+ <source>Other notifications</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/ManagerPage.qml" line="246"/>
+ <source>All notifications</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>WatchPage</name>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="63"/>
+ <source>Ping</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="71"/>
+ <source>Sync Time</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="85"/>
+ <source>Installed applications</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="120"/>
+ <source>Uninstalling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="192"/>
+ <source>(empty slot)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="192"/>
+ <source>(slot in use by unknown app)</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="201"/>
+ <source>Install app...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="206"/>
+ <source>Configure...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../qml/pages/WatchPage.qml" line="211"/>
+ <source>Uninstall</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/rpm/pebble.spec b/rpm/pebble.spec
index 8779710..9fb9575 100644
--- a/rpm/pebble.spec
+++ b/rpm/pebble.spec
@@ -81,6 +81,7 @@ systemctl --user daemon-reload
%{_bindir}
%{_datadir}/%{name}/qml
%{_datadir}/%{name}/js
+%{_datadir}/%{name}/translations
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/86x86/apps/%{name}.png
%{_libdir}/systemd/user/%{name}d.service
diff --git a/rpm/pebble.yaml b/rpm/pebble.yaml
index 80a5d20..c788c27 100644
--- a/rpm/pebble.yaml
+++ b/rpm/pebble.yaml
@@ -32,6 +32,7 @@ Files:
- '%{_bindir}'
- '%{_datadir}/%{name}/qml'
- '%{_datadir}/%{name}/js'
+- '%{_datadir}/%{name}/translations'
- '%{_datadir}/applications/%{name}.desktop'
- '%{_datadir}/icons/hicolor/86x86/apps/%{name}.png'
- '%{_libdir}/systemd/user/%{name}d.service'