Internationalisation & Multi-watch support
Copied two methods from GarminThermoNest to translate languages and manage different sized icons for the various sizes of watch. Also copied ErrorView for smaller wrapped text for error messages.
8
.vscode/launch.json
vendored
@ -4,6 +4,14 @@
|
|||||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Python: Current File",
|
||||||
|
"type": "python",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${file}",
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"justMyCode": true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "monkeyc",
|
"type": "monkeyc",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
|
91
iconResize.py
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
####################################################################################
|
||||||
|
#
|
||||||
|
# Distributed under MIT Licence
|
||||||
|
# See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
#
|
||||||
|
####################################################################################
|
||||||
|
#
|
||||||
|
# GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
# tested on a Venu 2 device. The source code is provided at:
|
||||||
|
# https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
#
|
||||||
|
# J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
#
|
||||||
|
# Python script to automatically resize the application icons from the original
|
||||||
|
# 48x48 pixel width to something more appropriate for different screen sizes.
|
||||||
|
#
|
||||||
|
# Python installation:
|
||||||
|
# pip install BeautifulSoup
|
||||||
|
# NB. For XML formatting:
|
||||||
|
# pip install lxml
|
||||||
|
#
|
||||||
|
# References:
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/
|
||||||
|
# * https://realpython.com/beautiful-soup-web-scraper-python/
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/#parsing-xml
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/#xml
|
||||||
|
#
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
from bs4 import BeautifulSoup, Comment
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
output_dir_prefix = 'resources-icons-'
|
||||||
|
input_dir = output_dir_prefix + '48'
|
||||||
|
|
||||||
|
Doub = 0
|
||||||
|
Sing = 1
|
||||||
|
Half = 2
|
||||||
|
|
||||||
|
# Original icons for 416x416 screen size with 48x48 icons
|
||||||
|
original = (96, 48, 24)
|
||||||
|
|
||||||
|
# Convert icons to different screen sizes by these parameters
|
||||||
|
lookup = {
|
||||||
|
# Doub Sing Half
|
||||||
|
# 0 1 2
|
||||||
|
# 416: (96, 48, 24),
|
||||||
|
390: (90, 46, 23),
|
||||||
|
360: (84, 42, 21),
|
||||||
|
320: (74, 38, 19),
|
||||||
|
280: (64, 32, 16),
|
||||||
|
260: (60, 30, 15),
|
||||||
|
240: (56, 28, 14),
|
||||||
|
218: (50, 26, 13),
|
||||||
|
}
|
||||||
|
|
||||||
|
# Delete all but the original 48x48 icon directories
|
||||||
|
for entry in os.listdir("."):
|
||||||
|
if entry.startswith(output_dir_prefix) and entry != input_dir:
|
||||||
|
shutil.rmtree(entry)
|
||||||
|
|
||||||
|
# (Re-)Create the resized icon directories
|
||||||
|
for screen_size, icon_sizes in lookup.items():
|
||||||
|
output_dir = output_dir_prefix + str(icon_sizes[Sing])
|
||||||
|
print("\nCreate directory:", output_dir)
|
||||||
|
os.makedirs(output_dir)
|
||||||
|
for entry in os.listdir(input_dir):
|
||||||
|
if entry.endswith(".svg"):
|
||||||
|
print("Create file: ", entry.ljust(40) + " SVG - Change file")
|
||||||
|
with open(input_dir + "/" + entry, "r") as f:
|
||||||
|
soup = BeautifulSoup(f.read(), features="xml")
|
||||||
|
svg: BeautifulSoup = list(soup.children)[0]
|
||||||
|
h = int(svg.attrs["height"])
|
||||||
|
if (h == original[Doub]):
|
||||||
|
svg.attrs["width"] = lookup[screen_size][Doub]
|
||||||
|
svg.attrs["height"] = lookup[screen_size][Doub]
|
||||||
|
elif (h == original[Sing]):
|
||||||
|
svg.attrs["width"] = lookup[screen_size][Sing]
|
||||||
|
svg.attrs["height"] = lookup[screen_size][Sing]
|
||||||
|
elif (h == original[Half]):
|
||||||
|
svg.attrs["width"] = lookup[screen_size][Half]
|
||||||
|
svg.attrs["height"] = lookup[screen_size][Half]
|
||||||
|
with open(output_dir + "/" + entry, "wb") as o:
|
||||||
|
o.write(svg.encode("utf-8"))
|
||||||
|
elif entry.endswith(".xml"):
|
||||||
|
print("Create file: ", entry.ljust(40) + " XML - Copy file")
|
||||||
|
shutil.copyfile(input_dir + "/" + entry, output_dir + "/" + entry)
|
74
manifest.xml
@ -27,7 +27,46 @@
|
|||||||
"Monkey C: Edit Products" - Lets you add or remove any product
|
"Monkey C: Edit Products" - Lets you add or remove any product
|
||||||
-->
|
-->
|
||||||
<iq:products>
|
<iq:products>
|
||||||
|
<!-- Screen Size 416x416 launcher icon size 70x70 -->
|
||||||
|
<iq:product id="d2airx10"/>
|
||||||
|
<!-- Screen Size 416x416 launcher icon size 60x60 -->
|
||||||
|
<iq:product id="d2mach1"/>
|
||||||
|
<iq:product id="epix2"/>
|
||||||
|
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||||
|
<iq:product id="fenix7"/>
|
||||||
|
<!-- Screen Size 240x240 launcher icon size 40x40 -->
|
||||||
|
<iq:product id="fenix7s"/>
|
||||||
|
<!-- Screen Size 280x280 launcher icon size 40x40 -->
|
||||||
|
<iq:product id="fenix7x"/>
|
||||||
|
<!-- Screen Size 260x260 launcher icon size 40x40 -->
|
||||||
|
<iq:product id="fr955"/>
|
||||||
|
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||||
|
<iq:product id="legacyherocaptainmarvel"/>
|
||||||
|
<!-- Screen Size 260x260 launcher icon size 35x35 -->
|
||||||
|
<iq:product id="legacyherofirstavenger"/>
|
||||||
|
<iq:product id="legacysagadarthvader"/>
|
||||||
|
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||||
|
<iq:product id="legacysagarey"/>
|
||||||
|
<!-- Screen Size 390x390 launcher icon size 60x60 -->
|
||||||
|
<iq:product id="marq2"/>
|
||||||
|
<iq:product id="marq2aviator"/>
|
||||||
|
<!-- Screen Size 390x390 launcher icon size 60x60 -->
|
||||||
|
<iq:product id="venu"/>
|
||||||
|
<!-- Screen Size 416x416 launcher icon size 70x70 -->
|
||||||
<iq:product id="venu2"/>
|
<iq:product id="venu2"/>
|
||||||
|
<iq:product id="venu2plus"/>
|
||||||
|
<!-- Screen Size 360x360 launcher icon size 61x61 -->
|
||||||
|
<iq:product id="venu2s"/>
|
||||||
|
<!-- Screen Size 240x240 launcher icon size 36x36 -->
|
||||||
|
<iq:product id="venusq"/>
|
||||||
|
<iq:product id="venusqm"/>
|
||||||
|
<!-- Screen Size 320x360 launcher icon size 40x40 -->
|
||||||
|
<iq:product id="venusq2"/>
|
||||||
|
<iq:product id="venusq2m"/>
|
||||||
|
<!-- Screen Size 260x260 launcher icon size 35x35 -->
|
||||||
|
<iq:product id="vivoactive4"/>
|
||||||
|
<!-- Screen Size 218x218 launcher icon size 30x30 -->
|
||||||
|
<iq:product id="vivoactive4s"/>
|
||||||
</iq:products>
|
</iq:products>
|
||||||
<!--
|
<!--
|
||||||
Use "Monkey C: Edit Permissions" from the Visual Studio Code command
|
Use "Monkey C: Edit Permissions" from the Visual Studio Code command
|
||||||
@ -42,7 +81,42 @@
|
|||||||
palette to edit your compatible language list.
|
palette to edit your compatible language list.
|
||||||
-->
|
-->
|
||||||
<iq:languages>
|
<iq:languages>
|
||||||
|
<iq:language>ara</iq:language>
|
||||||
|
<iq:language>bul</iq:language>
|
||||||
|
<iq:language>zhs</iq:language>
|
||||||
|
<iq:language>zht</iq:language>
|
||||||
|
<iq:language>hrv</iq:language>
|
||||||
|
<iq:language>ces</iq:language>
|
||||||
|
<iq:language>dan</iq:language>
|
||||||
|
<iq:language>dut</iq:language>
|
||||||
|
<iq:language>deu</iq:language>
|
||||||
|
<iq:language>gre</iq:language>
|
||||||
<iq:language>eng</iq:language>
|
<iq:language>eng</iq:language>
|
||||||
|
<iq:language>est</iq:language>
|
||||||
|
<iq:language>fin</iq:language>
|
||||||
|
<iq:language>fre</iq:language>
|
||||||
|
<iq:language>heb</iq:language>
|
||||||
|
<iq:language>hun</iq:language>
|
||||||
|
<iq:language>ind</iq:language>
|
||||||
|
<iq:language>ita</iq:language>
|
||||||
|
<iq:language>jpn</iq:language>
|
||||||
|
<iq:language>kor</iq:language>
|
||||||
|
<iq:language>lav</iq:language>
|
||||||
|
<iq:language>lit</iq:language>
|
||||||
|
<iq:language>zsm</iq:language>
|
||||||
|
<iq:language>nob</iq:language>
|
||||||
|
<iq:language>pol</iq:language>
|
||||||
|
<iq:language>por</iq:language>
|
||||||
|
<iq:language>slo</iq:language>
|
||||||
|
<iq:language>ron</iq:language>
|
||||||
|
<!-- <iq:language>rus</iq:language> -->
|
||||||
|
<iq:language>slv</iq:language>
|
||||||
|
<iq:language>spa</iq:language>
|
||||||
|
<iq:language>swe</iq:language>
|
||||||
|
<iq:language>tha</iq:language>
|
||||||
|
<iq:language>tur</iq:language>
|
||||||
|
<iq:language>ukr</iq:language>
|
||||||
|
<iq:language>vie</iq:language>
|
||||||
</iq:languages>
|
</iq:languages>
|
||||||
<!--
|
<!--
|
||||||
Use "Monkey C: Configure Monkey Barrel" from the Visual Studio Code
|
Use "Monkey C: Configure Monkey Barrel" from the Visual Studio Code
|
||||||
|
@ -1 +1,72 @@
|
|||||||
|
#-----------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Distributed under MIT Licence
|
||||||
|
# See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
#
|
||||||
|
#-----------------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
# tested on a Venu 2 device. The source code is provided at:
|
||||||
|
# https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
#
|
||||||
|
# J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
#
|
||||||
|
# Reference:
|
||||||
|
# * https://developer.garmin.com/connect-iq/reference-guides/jungle-reference/
|
||||||
|
#
|
||||||
|
#-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
project.manifest = manifest.xml
|
project.manifest = manifest.xml
|
||||||
|
|
||||||
|
# Widget launcher icon, multiple resolutions
|
||||||
|
# https://forums.garmin.com/developer/connect-iq/f/discussion/255433/widget-launcher-icon-multiple-resolutions/1563305
|
||||||
|
#
|
||||||
|
# Use the online SVG converter to write out PNGs from "resources\drawables\launcher.svg" by changing
|
||||||
|
# the 'width' and 'height' attributes of the SVG.
|
||||||
|
# https://svgtopng.com/
|
||||||
|
|
||||||
|
# The icons need to scale as a ratio of screen size 48:416 pixels
|
||||||
|
#
|
||||||
|
# Icon 48 45 42 37 32 30 28 25
|
||||||
|
# Screen 416 390 360 320 280 260 240 218
|
||||||
|
|
||||||
|
# Screen Size 416x416 launcher icon size 70x70
|
||||||
|
d2airx10.resourcePath = $(d2airx10.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||||
|
# Screen Size 416x416 launcher icon size 60x60
|
||||||
|
d2mach1.resourcePath = $(d2mach1.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||||
|
epix2.resourcePath = $(epix2.resourcePath);resources-launcher-60-60;resources-icons-48
|
||||||
|
# Screen Size 260x260 launcher icon size 40x40
|
||||||
|
fenix7.resourcePath = $(fenix7.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||||
|
# Screen Size 240x240 launcher icon size 40x40
|
||||||
|
fenix7s.resourcePath = $(fenix7s.resourcePath);resources-launcher-40-40;resources-icons-28
|
||||||
|
# Screen Size 280x280 launcher icon size 40x40
|
||||||
|
fenix7x.resourcePath = $(fenix7x.resourcePath);resources-launcher-40-40;resources-icons-32
|
||||||
|
# Screen Size 260x260 launcher icon size 40x40
|
||||||
|
fr955.resourcePath = $(fr955.resourcePath);resources-launcher-40-40;resources-icons-30
|
||||||
|
# Screen Size 218x218 launcher icon size 30x30
|
||||||
|
legacyherocaptainmarvel.resourcePath = $(legacyherocaptainmarvel.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||||
|
# Screen Size 260x260 launcher icon size 35x35
|
||||||
|
legacyherofirstavenger.resourcePath = $(legacyherofirstavenger.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||||
|
legacysagadarthvader.resourcePath = $(legacysagadarthvader.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||||
|
# Screen Size 218x218 launcher icon size 30x30
|
||||||
|
legacysagarey.resourcePath = $(legacysagarey.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||||
|
# Screen Size 390x390 launcher icon size 60x60
|
||||||
|
marq2.resourcePath = $(marq2.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||||
|
marq2aviator.resourcePath = $(marq2aviator.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||||
|
# Screen Size 390x390 launcher icon size 60x60
|
||||||
|
venu.resourcePath = $(venu.resourcePath);resources-launcher-60-60;resources-icons-46
|
||||||
|
# Screen Size 416x416 launcher icon size 70x70
|
||||||
|
venu2.resourcePath = $(venu2.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||||
|
venu2plus.resourcePath = $(venu2plus.resourcePath);resources-launcher-70-70;resources-icons-48
|
||||||
|
# Screen Size 360x360 launcher icon size 61x61
|
||||||
|
venu2s.resourcePath = $(venu2s.resourcePath);resources-launcher-61-61;resources-icons-42
|
||||||
|
# Screen Size 240x240 launcher icon size 36x36
|
||||||
|
venusq.resourcePath = $(venusq.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||||
|
venusqm.resourcePath = $(venusqm.resourcePath);resources-launcher-36-36;resources-icons-28
|
||||||
|
# Screen Size 320x360 launcher icon size 40x40
|
||||||
|
venusq2.resourcePath = $(venusq2.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||||
|
venusq2m.resourcePath = $(venusq2m.resourcePath);resources-launcher-40-40;resources-icons-38
|
||||||
|
# Screen Size 260x260 launcher icon size 35x35
|
||||||
|
vivoactive4.resourcePath = $(vivoactive4.resourcePath);resources-launcher-35-35;resources-icons-30
|
||||||
|
# Screen Size 218x218 launcher icon size 30x30
|
||||||
|
vivoactive4s.resourcePath = $(vivoactive4s.resourcePath);resources-launcher-30-30;resources-icons-26
|
||||||
|
29
resources-ara/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Arabic
|
||||||
|
تم إنشاؤها بواسطة ترجمة جوجل من الإنجليزية
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">على</string>
|
||||||
|
<string id="MenuItemOff">عن</string>
|
||||||
|
<string id="MenuItemTap">مقبض</string>
|
||||||
|
<string id="MenuItemMenu">قائمة طعام</string>
|
||||||
|
<string id="NoInternet">لا يوجد اتصال بالإنترنت</string>
|
||||||
|
<string id="NoMenu">خطأ في إحضار القائمة</string>
|
||||||
|
</strings>
|
29
resources-bul/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Bulgarian
|
||||||
|
Генерирано от Google Translate от английски
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">На</string>
|
||||||
|
<string id="MenuItemOff">Изкл</string>
|
||||||
|
<string id="MenuItemTap">Докоснете</string>
|
||||||
|
<string id="MenuItemMenu">Меню</string>
|
||||||
|
<string id="NoInternet">Няма интернет връзка</string>
|
||||||
|
<string id="NoMenu">Грешка при извличане на менюто</string>
|
||||||
|
</strings>
|
29
resources-ces/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Czech
|
||||||
|
Generováno překladačem Google z angličtiny
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Na</string>
|
||||||
|
<string id="MenuItemOff">Vypnuto</string>
|
||||||
|
<string id="MenuItemTap">Klepněte</string>
|
||||||
|
<string id="MenuItemMenu">Jídelní lístek</string>
|
||||||
|
<string id="NoInternet">Žádné internetové připojení</string>
|
||||||
|
<string id="NoMenu">Chyba načítání nabídky</string>
|
||||||
|
</strings>
|
29
resources-dan/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Danish
|
||||||
|
Genereret af Google Translate fra engelsk
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">På</string>
|
||||||
|
<string id="MenuItemOff">Af</string>
|
||||||
|
<string id="MenuItemTap">Tryk på</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Ingen internetforbindelse</string>
|
||||||
|
<string id="NoMenu">Fejl ved menuhentning</string>
|
||||||
|
</strings>
|
29
resources-deu/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to German
|
||||||
|
Erstellt durch Google Translate aus dem Englischen
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">An</string>
|
||||||
|
<string id="MenuItemOff">Aus</string>
|
||||||
|
<string id="MenuItemTap">Klopfen</string>
|
||||||
|
<string id="MenuItemMenu">Speisekarte</string>
|
||||||
|
<string id="NoInternet">Keine Internetverbindung</string>
|
||||||
|
<string id="NoMenu">Fehler beim Abrufen des Menüs</string>
|
||||||
|
</strings>
|
29
resources-dut/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Dutch
|
||||||
|
Gegenereerd door Google Translate uit het Engels
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Op</string>
|
||||||
|
<string id="MenuItemOff">Uit</string>
|
||||||
|
<string id="MenuItemTap">Kraan</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Geen internet verbinding</string>
|
||||||
|
<string id="NoMenu">Fout bij ophalen van menu</string>
|
||||||
|
</strings>
|
29
resources-est/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Estonian
|
||||||
|
Loodud Google'i tõlke abil inglise keelest
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Peal</string>
|
||||||
|
<string id="MenuItemOff">Väljas</string>
|
||||||
|
<string id="MenuItemTap">Puudutage</string>
|
||||||
|
<string id="MenuItemMenu">Menüü</string>
|
||||||
|
<string id="NoInternet">Interneti-ühendus puudub</string>
|
||||||
|
<string id="NoMenu">Menüü toomise viga</string>
|
||||||
|
</strings>
|
29
resources-fin/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Finnish
|
||||||
|
Luonut Google Translate englannista
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Päällä</string>
|
||||||
|
<string id="MenuItemOff">Vinossa</string>
|
||||||
|
<string id="MenuItemTap">Napauta</string>
|
||||||
|
<string id="MenuItemMenu">Valikko</string>
|
||||||
|
<string id="NoInternet">Ei Internet-yhteyttä</string>
|
||||||
|
<string id="NoMenu">Valikkohakuvirhe</string>
|
||||||
|
</strings>
|
29
resources-fre/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to French
|
||||||
|
Généré par Google Translate de l'anglais
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Sur</string>
|
||||||
|
<string id="MenuItemOff">Désactivé</string>
|
||||||
|
<string id="MenuItemTap">Robinet</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Pas de connexion Internet</string>
|
||||||
|
<string id="NoMenu">Erreur de récupération du menu</string>
|
||||||
|
</strings>
|
29
resources-gre/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Greek
|
||||||
|
Δημιουργήθηκε από τη Μετάφραση Google από τα Αγγλικά
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Επί</string>
|
||||||
|
<string id="MenuItemOff">Μακριά από</string>
|
||||||
|
<string id="MenuItemTap">Παρακέντηση</string>
|
||||||
|
<string id="MenuItemMenu">Μενού</string>
|
||||||
|
<string id="NoInternet">Δεν υπάρχει σύνδεση στο διαδίκτυο</string>
|
||||||
|
<string id="NoMenu">Σφάλμα ανάκτησης μενού</string>
|
||||||
|
</strings>
|
29
resources-heb/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Hebrew
|
||||||
|
נוצר על ידי Google Translate מאנגלית
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">עַל</string>
|
||||||
|
<string id="MenuItemOff">כבוי</string>
|
||||||
|
<string id="MenuItemTap">בֶּרֶז</string>
|
||||||
|
<string id="MenuItemMenu">תַפרִיט</string>
|
||||||
|
<string id="NoInternet">אין חיבור אינטרנט</string>
|
||||||
|
<string id="NoMenu">שגיאת אחזור תפריט</string>
|
||||||
|
</strings>
|
29
resources-hrv/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Croatian
|
||||||
|
Generirano Google prevoditeljem s engleskog
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Na</string>
|
||||||
|
<string id="MenuItemOff">Isključeno</string>
|
||||||
|
<string id="MenuItemTap">Dodirnite</string>
|
||||||
|
<string id="MenuItemMenu">Jelovnik</string>
|
||||||
|
<string id="NoInternet">Nema internetske veze</string>
|
||||||
|
<string id="NoMenu">Pogreška dohvaćanja izbornika</string>
|
||||||
|
</strings>
|
29
resources-hun/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Hungarian
|
||||||
|
A Google Fordító generálta angolból
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Tovább</string>
|
||||||
|
<string id="MenuItemOff">Ki</string>
|
||||||
|
<string id="MenuItemTap">Koppintson a</string>
|
||||||
|
<string id="MenuItemMenu">Menü</string>
|
||||||
|
<string id="NoInternet">Nincs internetkapcsolat</string>
|
||||||
|
<string id="NoMenu">Menü Lekérési hiba</string>
|
||||||
|
</strings>
|
20
resources-icons-26/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-26/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="26" viewBox="0 0 48 48" width="26" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-28/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-28/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="28" viewBox="0 0 48 48" width="28" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-30/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-30/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="30" viewBox="0 0 48 48" width="30" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-32/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-32/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="32" viewBox="0 0 48 48" width="32" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-38/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-38/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="38" viewBox="0 0 48 48" width="38" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-42/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-42/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="42" viewBox="0 0 48 48" width="42" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-46/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-46/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="46" viewBox="0 0 48 48" width="46" xmlns="http://www.w3.org/2000/svg"><path d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z" fill="red" stroke="red"/></svg>
|
After Width: | Height: | Size: 712 B |
20
resources-icons-48/drawables.xml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
|
||||||
|
References:
|
||||||
|
* https://fonts.google.com/icons
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="ErrorIcon" filename="error.svg"/>
|
||||||
|
</drawables>
|
1
resources-icons-48/error.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" viewBox="0 0 48 48"><path stroke="red" fill="red" d="M24 34q.7 0 1.175-.475.475-.475.475-1.175 0-.7-.475-1.175Q24.7 30.7 24 30.7q-.7 0-1.175.475-.475.475-.475 1.175 0 .7.475 1.175Q23.3 34 24 34Zm-1.35-7.65h3V13.7h-3ZM24 44q-4.1 0-7.75-1.575-3.65-1.575-6.375-4.3-2.725-2.725-4.3-6.375Q4 28.1 4 23.95q0-4.1 1.575-7.75 1.575-3.65 4.3-6.35 2.725-2.7 6.375-4.275Q19.9 4 24.05 4q4.1 0 7.75 1.575 3.65 1.575 6.35 4.275 2.7 2.7 4.275 6.35Q44 19.85 44 24q0 4.1-1.575 7.75-1.575 3.65-4.275 6.375t-6.35 4.3Q28.15 44 24 44Zm.05-3q7.05 0 12-4.975T41 23.95q0-7.05-4.95-12T24 7q-7.05 0-12.025 4.95Q7 16.9 7 24q0 7.05 4.975 12.025Q16.95 41 24.05 41ZM24 24Z"/></svg>
|
After Width: | Height: | Size: 712 B |
29
resources-ind/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Indonesian
|
||||||
|
Dihasilkan oleh Google Terjemahan dari bahasa Inggris
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Pada</string>
|
||||||
|
<string id="MenuItemOff">Mati</string>
|
||||||
|
<string id="MenuItemTap">Mengetuk</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Tidak ada koneksi internet</string>
|
||||||
|
<string id="NoMenu">Kesalahan Pengambilan Menu</string>
|
||||||
|
</strings>
|
29
resources-ita/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Italian
|
||||||
|
Generato da Google Translate dall'inglese
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">SU</string>
|
||||||
|
<string id="MenuItemOff">Spento</string>
|
||||||
|
<string id="MenuItemTap">Rubinetto</string>
|
||||||
|
<string id="MenuItemMenu">Menù</string>
|
||||||
|
<string id="NoInternet">Nessuna connessione internet</string>
|
||||||
|
<string id="NoMenu">Errore di recupero del menu</string>
|
||||||
|
</strings>
|
29
resources-jpn/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Japanese
|
||||||
|
英語から Google 翻訳によって生成
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">の上</string>
|
||||||
|
<string id="MenuItemOff">オフ</string>
|
||||||
|
<string id="MenuItemTap">タップ</string>
|
||||||
|
<string id="MenuItemMenu">メニュー</string>
|
||||||
|
<string id="NoInternet">インターネット接続なし</string>
|
||||||
|
<string id="NoMenu">メニューフェッチエラー</string>
|
||||||
|
</strings>
|
29
resources-kor/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Korean
|
||||||
|
영어에서 Google 번역으로 생성됨
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">~에</string>
|
||||||
|
<string id="MenuItemOff">끄다</string>
|
||||||
|
<string id="MenuItemTap">수도꼭지</string>
|
||||||
|
<string id="MenuItemMenu">메뉴</string>
|
||||||
|
<string id="NoInternet">인터넷에 연결되지 않음</string>
|
||||||
|
<string id="NoMenu">메뉴 가져오기 오류</string>
|
||||||
|
</strings>
|
@ -13,5 +13,5 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<drawables>
|
<drawables>
|
||||||
<bitmap id="LauncherIcon" filename="launcher_icon.png" />
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
</drawables>
|
</drawables>
|
BIN
resources-launcher-30-30/launcher.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
17
resources-launcher-35-35/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-35-35/launcher.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
17
resources-launcher-36-36/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-36-36/launcher.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
17
resources-launcher-40-40/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-40-40/launcher.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
17
resources-launcher-60-60/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-60-60/launcher.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
17
resources-launcher-61-61/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-61-61/launcher.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
17
resources-launcher-70-70/drawables.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<drawables>
|
||||||
|
<bitmap id="LauncherIcon" filename="launcher.png" />
|
||||||
|
</drawables>
|
BIN
resources-launcher-70-70/launcher.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
29
resources-lav/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Latvian
|
||||||
|
Ģenerēja Google tulkotājs no angļu valodas
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Ieslēgts</string>
|
||||||
|
<string id="MenuItemOff">Izslēgts</string>
|
||||||
|
<string id="MenuItemTap">Krāns</string>
|
||||||
|
<string id="MenuItemMenu">Izvēlne</string>
|
||||||
|
<string id="NoInternet">Nav interneta savienojuma</string>
|
||||||
|
<string id="NoMenu">Izvēlnes ielādes kļūda</string>
|
||||||
|
</strings>
|
29
resources-lit/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Lithuanian
|
||||||
|
Sukurta Google Translate iš anglų kalbos
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Įjungta</string>
|
||||||
|
<string id="MenuItemOff">Išjungta</string>
|
||||||
|
<string id="MenuItemTap">Bakstelėkite</string>
|
||||||
|
<string id="MenuItemMenu">Meniu</string>
|
||||||
|
<string id="NoInternet">Nėra interneto ryšio</string>
|
||||||
|
<string id="NoMenu">Meniu gavimo klaida</string>
|
||||||
|
</strings>
|
29
resources-nob/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Norwegian
|
||||||
|
Generert av Google Translate fra engelsk
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">På</string>
|
||||||
|
<string id="MenuItemOff">Av</string>
|
||||||
|
<string id="MenuItemTap">Trykk på</string>
|
||||||
|
<string id="MenuItemMenu">Meny</string>
|
||||||
|
<string id="NoInternet">Ingen Internett-tilkobling</string>
|
||||||
|
<string id="NoMenu">Menyhentingsfeil</string>
|
||||||
|
</strings>
|
29
resources-pol/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Polish
|
||||||
|
Wygenerowane przez Tłumacz Google z języka angielskiego
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">NA</string>
|
||||||
|
<string id="MenuItemOff">Wyłączony</string>
|
||||||
|
<string id="MenuItemTap">Uzyskiwać</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Brak połączenia z internetem</string>
|
||||||
|
<string id="NoMenu">Błąd pobierania menu</string>
|
||||||
|
</strings>
|
29
resources-por/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Portuguese
|
||||||
|
Gerado pelo Google Translate do inglês
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Sobre</string>
|
||||||
|
<string id="MenuItemOff">Desligado</string>
|
||||||
|
<string id="MenuItemTap">Tocar</string>
|
||||||
|
<string id="MenuItemMenu">Cardápio</string>
|
||||||
|
<string id="NoInternet">Sem conexão com a Internet</string>
|
||||||
|
<string id="NoMenu">Erro ao buscar menu</string>
|
||||||
|
</strings>
|
29
resources-ron/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Romanian
|
||||||
|
Generat de Google Translate din engleză
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Pe</string>
|
||||||
|
<string id="MenuItemOff">Oprit</string>
|
||||||
|
<string id="MenuItemTap">Atingeți</string>
|
||||||
|
<string id="MenuItemMenu">Meniul</string>
|
||||||
|
<string id="NoInternet">Fără conexiune internet</string>
|
||||||
|
<string id="NoMenu">Eroare de preluare a meniului</string>
|
||||||
|
</strings>
|
29
resources-slo/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Slovak
|
||||||
|
Vygenerované službou Google Translate z angličtiny
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Zapnuté</string>
|
||||||
|
<string id="MenuItemOff">Vypnuté</string>
|
||||||
|
<string id="MenuItemTap">Klepnite</string>
|
||||||
|
<string id="MenuItemMenu">Ponuka</string>
|
||||||
|
<string id="NoInternet">Žiadne internetové pripojenie</string>
|
||||||
|
<string id="NoMenu">Chyba načítania ponuky</string>
|
||||||
|
</strings>
|
29
resources-slv/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Slovenian
|
||||||
|
Ustvaril Google Translate iz angleščine
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Vklopljeno</string>
|
||||||
|
<string id="MenuItemOff">Izključeno</string>
|
||||||
|
<string id="MenuItemTap">Tapnite</string>
|
||||||
|
<string id="MenuItemMenu">meni</string>
|
||||||
|
<string id="NoInternet">Ni internetne povezave</string>
|
||||||
|
<string id="NoMenu">Napaka pri pridobivanju menija</string>
|
||||||
|
</strings>
|
29
resources-spa/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Spanish
|
||||||
|
Generado por Google Translate del inglés
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">En</string>
|
||||||
|
<string id="MenuItemOff">Apagado</string>
|
||||||
|
<string id="MenuItemTap">Grifo</string>
|
||||||
|
<string id="MenuItemMenu">Menú</string>
|
||||||
|
<string id="NoInternet">Sin conexión a Internet</string>
|
||||||
|
<string id="NoMenu">Error de recuperación del menú</string>
|
||||||
|
</strings>
|
29
resources-swe/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Swedish
|
||||||
|
Genereras av Google Translate från engelska
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">På</string>
|
||||||
|
<string id="MenuItemOff">Av</string>
|
||||||
|
<string id="MenuItemTap">Knacka</string>
|
||||||
|
<string id="MenuItemMenu">Meny</string>
|
||||||
|
<string id="NoInternet">Ingen internetanslutning</string>
|
||||||
|
<string id="NoMenu">Menyhämtningsfel</string>
|
||||||
|
</strings>
|
29
resources-tha/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Thai
|
||||||
|
สร้างโดย Google Translate จากภาษาอังกฤษ
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">บน</string>
|
||||||
|
<string id="MenuItemOff">ปิด</string>
|
||||||
|
<string id="MenuItemTap">แตะ</string>
|
||||||
|
<string id="MenuItemMenu">เมนู</string>
|
||||||
|
<string id="NoInternet">ไม่มีการเชื่อมต่ออินเทอร์เน็ต</string>
|
||||||
|
<string id="NoMenu">เมนูดึงข้อมูลผิดพลาด</string>
|
||||||
|
</strings>
|
29
resources-tur/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Turkish
|
||||||
|
Google Translate tarafından İngilizce'den oluşturulmuştur
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Açık</string>
|
||||||
|
<string id="MenuItemOff">Kapalı</string>
|
||||||
|
<string id="MenuItemTap">Musluk</string>
|
||||||
|
<string id="MenuItemMenu">Menü</string>
|
||||||
|
<string id="NoInternet">İnternet bağlantısı yok</string>
|
||||||
|
<string id="NoMenu">Menü Alma Hatası</string>
|
||||||
|
</strings>
|
29
resources-ukr/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Ukrainian
|
||||||
|
Створено Google Translate з англійської
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">Увімкнено</string>
|
||||||
|
<string id="MenuItemOff">Вимкнено</string>
|
||||||
|
<string id="MenuItemTap">Торкніться</string>
|
||||||
|
<string id="MenuItemMenu">Меню</string>
|
||||||
|
<string id="NoInternet">Немає підключення до Інтернету</string>
|
||||||
|
<string id="NoMenu">Помилка вибірки меню</string>
|
||||||
|
</strings>
|
29
resources-vie/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Vietnamese
|
||||||
|
Được tạo bởi Google Dịch từ tiếng Anh
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">TRÊN</string>
|
||||||
|
<string id="MenuItemOff">Tắt</string>
|
||||||
|
<string id="MenuItemTap">Vỗ nhẹ</string>
|
||||||
|
<string id="MenuItemMenu">Thực đơn</string>
|
||||||
|
<string id="NoInternet">Không có kết nối Internet</string>
|
||||||
|
<string id="NoMenu">Lỗi tìm nạp menu</string>
|
||||||
|
</strings>
|
29
resources-zhs/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Chinese (Simplified)
|
||||||
|
由谷歌翻译自英语生成
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">在</string>
|
||||||
|
<string id="MenuItemOff">离开</string>
|
||||||
|
<string id="MenuItemTap">轻敲</string>
|
||||||
|
<string id="MenuItemMenu">菜单</string>
|
||||||
|
<string id="NoInternet">没有网络连接</string>
|
||||||
|
<string id="NoMenu">菜单获取错误</string>
|
||||||
|
</strings>
|
29
resources-zht/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Chinese (Traditional)
|
||||||
|
由Google翻譯自英文生成
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">在</string>
|
||||||
|
<string id="MenuItemOff">離開</string>
|
||||||
|
<string id="MenuItemTap">輕敲</string>
|
||||||
|
<string id="MenuItemMenu">選單</string>
|
||||||
|
<string id="NoInternet">沒有網路連線</string>
|
||||||
|
<string id="NoMenu">選單取得錯誤</string>
|
||||||
|
</strings>
|
29
resources-zsm/strings/strings.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
Distributed under MIT Licence
|
||||||
|
See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
|
||||||
|
|
||||||
|
GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
tested on a Venu 2 device. The source code is provided at:
|
||||||
|
https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
|
||||||
|
P A Abbey & J D Abbey, 31 October 2023
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Generated by Google Translate: English to Standard (Bahasa) Malay
|
||||||
|
Dijana oleh Terjemahan Google daripada Bahasa Inggeris
|
||||||
|
-->
|
||||||
|
|
||||||
|
<strings>
|
||||||
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">hidup</string>
|
||||||
|
<string id="MenuItemOff">Mati</string>
|
||||||
|
<string id="MenuItemTap">Ketik</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">Tiada sambungan internet</string>
|
||||||
|
<string id="NoMenu">Ralat Pengambilan Menu</string>
|
||||||
|
</strings>
|
BIN
resources/drawables/launcher.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 6.8 KiB |
@ -14,4 +14,10 @@
|
|||||||
|
|
||||||
<strings>
|
<strings>
|
||||||
<string id="AppName">HomeAssistant</string>
|
<string id="AppName">HomeAssistant</string>
|
||||||
|
<string id="MenuItemOn">On</string>
|
||||||
|
<string id="MenuItemOff">Off</string>
|
||||||
|
<string id="MenuItemTap">Tap</string>
|
||||||
|
<string id="MenuItemMenu">Menu</string>
|
||||||
|
<string id="NoInternet">No Internet connection</string>
|
||||||
|
<string id="NoMenu">Menu Fetch Error</string>
|
||||||
</strings>
|
</strings>
|
||||||
|
88
source/ErrorView.mc
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Distributed under MIT Licence
|
||||||
|
// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
//
|
||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
// tested on a Venu 2 device. The source code is provided at:
|
||||||
|
// https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
//
|
||||||
|
// J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Description:
|
||||||
|
//
|
||||||
|
// ErrorView provides a means to present application errors to the user. These
|
||||||
|
// should not happen of course... but they do, so best make sure errors can be
|
||||||
|
// reported.
|
||||||
|
//
|
||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using Toybox.Graphics;
|
||||||
|
using Toybox.Lang;
|
||||||
|
using Toybox.WatchUi;
|
||||||
|
using Toybox.Communications;
|
||||||
|
|
||||||
|
class ErrorView extends ScalableView {
|
||||||
|
hidden const settings as Lang.Dictionary = {
|
||||||
|
:errorIconMargin => 7f
|
||||||
|
};
|
||||||
|
// Vertical spacing between the top of the face and the error icon
|
||||||
|
hidden var errorIconMargin;
|
||||||
|
hidden var text as Lang.String;
|
||||||
|
hidden var errorIcon;
|
||||||
|
hidden var textArea;
|
||||||
|
|
||||||
|
function initialize(text as Lang.String) {
|
||||||
|
ScalableView.initialize();
|
||||||
|
self.text = text;
|
||||||
|
// Convert the settings from % of screen size to pixels
|
||||||
|
errorIconMargin = pixelsForScreen(settings.get(:errorIconMargin) as Lang.Float);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load your resources here
|
||||||
|
function onLayout(dc as Graphics.Dc) as Void {
|
||||||
|
errorIcon = Application.loadResource(Rez.Drawables.ErrorIcon) as Graphics.BitmapResource;
|
||||||
|
|
||||||
|
var w = dc.getWidth();
|
||||||
|
var h = dc.getHeight();
|
||||||
|
|
||||||
|
textArea = new WatchUi.TextArea({
|
||||||
|
:text => text,
|
||||||
|
:color => Graphics.COLOR_WHITE,
|
||||||
|
:font => Graphics.FONT_XTINY,
|
||||||
|
:justification => Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||||
|
:locX => 0,
|
||||||
|
:locY => 83,
|
||||||
|
:width => w,
|
||||||
|
:height => h - 166
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the view
|
||||||
|
function onUpdate(dc as Graphics.Dc) as Void {
|
||||||
|
var w = dc.getWidth();
|
||||||
|
var hw = w/2;
|
||||||
|
var bg = 0x3B444C;
|
||||||
|
if(dc has :setAntiAlias) {
|
||||||
|
dc.setAntiAlias(true);
|
||||||
|
}
|
||||||
|
dc.setColor(Graphics.COLOR_WHITE, bg);
|
||||||
|
dc.clear();
|
||||||
|
dc.drawBitmap(hw - errorIcon.getWidth()/2, errorIconMargin, errorIcon);
|
||||||
|
textArea.draw(dc);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class ErrorDelegate extends WatchUi.BehaviorDelegate {
|
||||||
|
function initialize() {
|
||||||
|
WatchUi.BehaviorDelegate.initialize();
|
||||||
|
}
|
||||||
|
function onBack() {
|
||||||
|
WatchUi.popView(WatchUi.SLIDE_DOWN);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -25,5 +25,6 @@ class Globals {
|
|||||||
// as the messages can't be read from a watch!)
|
// as the messages can't be read from a watch!)
|
||||||
static const debug = false;
|
static const debug = false;
|
||||||
static const updateInterval = 5; // seconds
|
static const updateInterval = 5; // seconds
|
||||||
static const alertTimeout = 1000; // ms
|
static const alertTimeout = 2000; // ms
|
||||||
|
static const tapTimeout = 1000; // ms
|
||||||
}
|
}
|
||||||
|
@ -26,10 +26,14 @@ using Toybox.Timer;
|
|||||||
|
|
||||||
class HomeAssistantApp extends Application.AppBase {
|
class HomeAssistantApp extends Application.AppBase {
|
||||||
hidden var haMenu;
|
hidden var haMenu;
|
||||||
|
hidden var strNoInternet as Lang.String;
|
||||||
|
hidden var strNoMenu as Lang.String;
|
||||||
hidden var timer as Timer.Timer;
|
hidden var timer as Timer.Timer;
|
||||||
|
|
||||||
function initialize() {
|
function initialize() {
|
||||||
AppBase.initialize();
|
AppBase.initialize();
|
||||||
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
|
strNoMenu = WatchUi.loadResource($.Rez.Strings.NoMenu);
|
||||||
timer = new Timer.Timer();
|
timer = new Timer.Timer();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,13 +73,7 @@ class HomeAssistantApp extends Application.AppBase {
|
|||||||
if (Globals.debug) {
|
if (Globals.debug) {
|
||||||
System.println("HomeAssistantApp Note - onReturnFetchMenuConfig(): Configuration not found or potential validation issue.");
|
System.println("HomeAssistantApp Note - onReturnFetchMenuConfig(): Configuration not found or potential validation issue.");
|
||||||
}
|
}
|
||||||
new Alert({
|
WatchUi.pushView(new ErrorView(strNoMenu + " code=" + responseCode ), new ErrorDelegate(), WatchUi.SLIDE_UP);
|
||||||
:timeout => Globals.alertTimeout,
|
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
|
||||||
:text => "onReturnFetchMenuConfig Error " + responseCode,
|
|
||||||
:fgcolor => Graphics.COLOR_RED,
|
|
||||||
:bgcolor => Graphics.COLOR_BLACK
|
|
||||||
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +96,7 @@ class HomeAssistantApp extends Application.AppBase {
|
|||||||
new Alert({
|
new Alert({
|
||||||
:timeout => Globals.alertTimeout,
|
:timeout => Globals.alertTimeout,
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
||||||
:text => "No Internet connection",
|
:text => strNoInternet,
|
||||||
:fgcolor => Graphics.COLOR_RED,
|
:fgcolor => Graphics.COLOR_RED,
|
||||||
:bgcolor => Graphics.COLOR_BLACK
|
:bgcolor => Graphics.COLOR_BLACK
|
||||||
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
||||||
|
@ -25,6 +25,7 @@ using Toybox.Application.Properties;
|
|||||||
|
|
||||||
class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
||||||
hidden var api_key = Properties.getValue("api_key");
|
hidden var api_key = Properties.getValue("api_key");
|
||||||
|
hidden var strNoInternet as Lang.String;
|
||||||
|
|
||||||
function initialize(
|
function initialize(
|
||||||
label as Lang.String or Lang.Symbol,
|
label as Lang.String or Lang.Symbol,
|
||||||
@ -35,6 +36,7 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
||||||
} or Null
|
} or Null
|
||||||
) {
|
) {
|
||||||
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
WatchUi.MenuItem.initialize(
|
WatchUi.MenuItem.initialize(
|
||||||
label,
|
label,
|
||||||
subLabel,
|
subLabel,
|
||||||
@ -58,7 +60,7 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
System.println("HomeAssistantMenuItem Note - onReturnExecScript(): Correct script executed.");
|
System.println("HomeAssistantMenuItem Note - onReturnExecScript(): Correct script executed.");
|
||||||
}
|
}
|
||||||
new Alert({
|
new Alert({
|
||||||
:timeout => Globals.alertTimeout,
|
:timeout => Globals.tapTimeout,
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
||||||
:text => (d[i].get("attributes") as Lang.Dictionary).get("friendly_name"),
|
:text => (d[i].get("attributes") as Lang.Dictionary).get("friendly_name"),
|
||||||
:fgcolor => Graphics.COLOR_WHITE,
|
:fgcolor => Graphics.COLOR_WHITE,
|
||||||
@ -96,7 +98,7 @@ class HomeAssistantMenuItem extends WatchUi.MenuItem {
|
|||||||
new Alert({
|
new Alert({
|
||||||
:timeout => Globals.alertTimeout,
|
:timeout => Globals.alertTimeout,
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
||||||
:text => "No Internet connection",
|
:text => strNoInternet,
|
||||||
:fgcolor => Graphics.COLOR_RED,
|
:fgcolor => Graphics.COLOR_RED,
|
||||||
:bgcolor => Graphics.COLOR_BLACK
|
:bgcolor => Graphics.COLOR_BLACK
|
||||||
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
||||||
|
@ -25,6 +25,7 @@ using Toybox.Application.Properties;
|
|||||||
|
|
||||||
class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||||
hidden var api_key = Properties.getValue("api_key");
|
hidden var api_key = Properties.getValue("api_key");
|
||||||
|
hidden var strNoInternet as Lang.String;
|
||||||
|
|
||||||
function initialize(
|
function initialize(
|
||||||
label as Lang.String or Lang.Symbol,
|
label as Lang.String or Lang.Symbol,
|
||||||
@ -39,6 +40,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
:icon as Graphics.BitmapType or WatchUi.Drawable or Lang.Symbol
|
||||||
} or Null
|
} or Null
|
||||||
) {
|
) {
|
||||||
|
strNoInternet = WatchUi.loadResource($.Rez.Strings.NoInternet);
|
||||||
WatchUi.ToggleMenuItem.initialize(label, subLabel, identifier, enabled, options);
|
WatchUi.ToggleMenuItem.initialize(label, subLabel, identifier, enabled, options);
|
||||||
api_key = Properties.getValue("api_key");
|
api_key = Properties.getValue("api_key");
|
||||||
}
|
}
|
||||||
@ -100,7 +102,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
new Alert({
|
new Alert({
|
||||||
:timeout => Globals.alertTimeout,
|
:timeout => Globals.alertTimeout,
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
||||||
:text => "No Internet connection",
|
:text => strNoInternet,
|
||||||
:fgcolor => Graphics.COLOR_RED,
|
:fgcolor => Graphics.COLOR_RED,
|
||||||
:bgcolor => Graphics.COLOR_BLACK
|
:bgcolor => Graphics.COLOR_BLACK
|
||||||
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
||||||
@ -164,7 +166,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
|||||||
new Alert({
|
new Alert({
|
||||||
:timeout => Globals.alertTimeout,
|
:timeout => Globals.alertTimeout,
|
||||||
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
:font => Graphics.FONT_SYSTEM_MEDIUM,
|
||||||
:text => "No Internet connection",
|
:text => strNoInternet,
|
||||||
:fgcolor => Graphics.COLOR_RED,
|
:fgcolor => Graphics.COLOR_RED,
|
||||||
:bgcolor => Graphics.COLOR_BLACK
|
:bgcolor => Graphics.COLOR_BLACK
|
||||||
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
}).pushView(WatchUi.SLIDE_IMMEDIATE);
|
||||||
|
@ -23,6 +23,7 @@ using Toybox.Graphics;
|
|||||||
using Toybox.WatchUi;
|
using Toybox.WatchUi;
|
||||||
|
|
||||||
class HomeAssistantView extends WatchUi.Menu2 {
|
class HomeAssistantView extends WatchUi.Menu2 {
|
||||||
|
hidden var strMenuItemTap as Lang.String;
|
||||||
|
|
||||||
function initialize(
|
function initialize(
|
||||||
definition as Lang.Dictionary,
|
definition as Lang.Dictionary,
|
||||||
@ -32,9 +33,10 @@ class HomeAssistantView extends WatchUi.Menu2 {
|
|||||||
:theme as WatchUi.MenuTheme or Null
|
:theme as WatchUi.MenuTheme or Null
|
||||||
} or Null
|
} or Null
|
||||||
) {
|
) {
|
||||||
|
strMenuItemTap = WatchUi.loadResource($.Rez.Strings.MenuItemTap);
|
||||||
var toggle_obj = {
|
var toggle_obj = {
|
||||||
:enabled => "On",
|
:enabled => WatchUi.loadResource($.Rez.Strings.MenuItemOn) as Lang.String,
|
||||||
:disabled => "Off"
|
:disabled => WatchUi.loadResource($.Rez.Strings.MenuItemOff) as Lang.String
|
||||||
};
|
};
|
||||||
|
|
||||||
if (options == null) {
|
if (options == null) {
|
||||||
@ -66,7 +68,7 @@ class HomeAssistantView extends WatchUi.Menu2 {
|
|||||||
addItem(
|
addItem(
|
||||||
new HomeAssistantMenuItem(
|
new HomeAssistantMenuItem(
|
||||||
name,
|
name,
|
||||||
"Tap",
|
strMenuItemTap,
|
||||||
entity,
|
entity,
|
||||||
null
|
null
|
||||||
)
|
)
|
||||||
@ -115,6 +117,9 @@ class HomeAssistantView extends WatchUi.Menu2 {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Reference: https://developer.garmin.com/connect-iq/core-topics/input-handling/
|
||||||
|
//
|
||||||
class HomeAssistantViewDelegate extends WatchUi.Menu2InputDelegate {
|
class HomeAssistantViewDelegate extends WatchUi.Menu2InputDelegate {
|
||||||
|
|
||||||
function initialize() {
|
function initialize() {
|
||||||
|
@ -28,7 +28,7 @@ class HomeAssistantViewMenuItem extends WatchUi.MenuItem {
|
|||||||
// definitions.get(...) are Strings here as they have been checked by HomeAssistantView first
|
// definitions.get(...) are Strings here as they have been checked by HomeAssistantView first
|
||||||
WatchUi.MenuItem.initialize(
|
WatchUi.MenuItem.initialize(
|
||||||
definition.get("name") as Lang.String,
|
definition.get("name") as Lang.String,
|
||||||
"Menu",
|
WatchUi.loadResource($.Rez.Strings.MenuItemMenu) as Lang.String,
|
||||||
definition.get("entity") as Lang.String,
|
definition.get("entity") as Lang.String,
|
||||||
null
|
null
|
||||||
);
|
);
|
||||||
|
48
source/ScalableView.mc
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Distributed under MIT Licence
|
||||||
|
// See https://github.com/house-of-abbey/GarminHomeAssistant/blob/main/LICENSE.
|
||||||
|
//
|
||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// GarminHomeAssistant is a Garmin IQ application written in Monkey C and routinely
|
||||||
|
// tested on a Venu 2 device. The source code is provided at:
|
||||||
|
// https://github.com/house-of-abbey/GarminHomeAssistant.
|
||||||
|
//
|
||||||
|
// J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Description:
|
||||||
|
//
|
||||||
|
// A view with added methods to scale from percentages of scrren size to pixels.
|
||||||
|
//
|
||||||
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
using Toybox.Lang;
|
||||||
|
using Toybox.WatchUi;
|
||||||
|
using Toybox.Math;
|
||||||
|
|
||||||
|
class ScalableView extends WatchUi.View {
|
||||||
|
hidden var screenWidth;
|
||||||
|
|
||||||
|
function initialize() {
|
||||||
|
View.initialize();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert a fraction expressed as a percentage (%) to a number of pixels for the
|
||||||
|
// screen's dimensions.
|
||||||
|
//
|
||||||
|
// Parameters:
|
||||||
|
// * dc - Device context
|
||||||
|
// * pc - Percentage (%) expressed as a number in the range 0.0..100.0
|
||||||
|
//
|
||||||
|
// Uses screen width rather than screen height as rectangular screens tend to have
|
||||||
|
// height > width.
|
||||||
|
//
|
||||||
|
function pixelsForScreen(pc as Lang.Float) as Lang.Number {
|
||||||
|
if (screenWidth == null) {
|
||||||
|
screenWidth = System.getDeviceSettings().screenWidth;
|
||||||
|
}
|
||||||
|
return Math.round(pc * screenWidth) / 100;
|
||||||
|
}
|
||||||
|
}
|
115
translate.py
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
####################################################################################
|
||||||
|
#
|
||||||
|
# Distributed under MIT Licence
|
||||||
|
# See https://github.com/house-of-abbey/GarminThermoNest/blob/main/LICENSE.
|
||||||
|
#
|
||||||
|
####################################################################################
|
||||||
|
#
|
||||||
|
# ThermoNest is a Garmin IQ application written in Monkey C and routinely tested on
|
||||||
|
# a Venu 2 device. The source code is provided at:
|
||||||
|
# https://github.com/house-of-abbey/GarminThermoNest.
|
||||||
|
#
|
||||||
|
# J D Abbey & P A Abbey, 28 December 2022
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
#
|
||||||
|
# Python script to automatically translate the strings.xml file to each supported
|
||||||
|
# language using Google Translate.
|
||||||
|
#
|
||||||
|
# Python installation:
|
||||||
|
# pip install BeautifulSoup
|
||||||
|
# pip install deep-translator
|
||||||
|
# NB. For XML formatting:
|
||||||
|
# pip install lxml
|
||||||
|
#
|
||||||
|
# References:
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/
|
||||||
|
# * https://realpython.com/beautiful-soup-web-scraper-python/
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/#parsing-xml
|
||||||
|
# * https://www.crummy.com/software/BeautifulSoup/bs4/doc/#xml
|
||||||
|
#
|
||||||
|
####################################################################################
|
||||||
|
|
||||||
|
from deep_translator import GoogleTranslator
|
||||||
|
from bs4 import BeautifulSoup, Comment
|
||||||
|
import os
|
||||||
|
|
||||||
|
# List of tuples in the form os:
|
||||||
|
# * Garmin IQ language three letter mnemonic,
|
||||||
|
# * Google Translate language mnemonic,
|
||||||
|
# * Language familiar name (mainly for reference)
|
||||||
|
languages: list[tuple[str, str, str]] = [
|
||||||
|
("ara", "ar", "Arabic"),
|
||||||
|
("bul", "bg", "Bulgarian"),
|
||||||
|
("zhs", "zh-CN", "Chinese (Simplified)"),
|
||||||
|
("zht", "zh-TW", "Chinese (Traditional)"),
|
||||||
|
("hrv", "hr", "Croatian"),
|
||||||
|
("ces", "cs", "Czech"),
|
||||||
|
("dan", "da", "Danish"),
|
||||||
|
("dut", "nl", "Dutch"),
|
||||||
|
("deu", "de", "German"),
|
||||||
|
("gre", "el", "Greek"),
|
||||||
|
# ("eng", "en", "English"),
|
||||||
|
("est", "et", "Estonian"),
|
||||||
|
("fin", "fi", "Finnish"),
|
||||||
|
("fre", "fr", "French"),
|
||||||
|
("heb", "iw", "Hebrew"),
|
||||||
|
("hun", "hu", "Hungarian"),
|
||||||
|
("ind", "id", "Indonesian"),
|
||||||
|
("ita", "it", "Italian"),
|
||||||
|
("jpn", "ja", "Japanese"),
|
||||||
|
("kor", "ko", "Korean"),
|
||||||
|
("lav", "lv", "Latvian"),
|
||||||
|
("lit", "lt", "Lithuanian"),
|
||||||
|
("zsm", "ms", "Standard (Bahasa) Malay"),
|
||||||
|
("nob", "no", "Norwegian"),
|
||||||
|
("pol", "pl", "Polish"),
|
||||||
|
("por", "pt", "Portuguese"),
|
||||||
|
("ron", "ro", "Romanian"),
|
||||||
|
# ("rus", "ru", "Russian"),
|
||||||
|
("slo", "sk", "Slovak"),
|
||||||
|
("slv", "sl", "Slovenian"),
|
||||||
|
("spa", "es", "Spanish"),
|
||||||
|
("swe", "sv", "Swedish"),
|
||||||
|
("tha", "th", "Thai"),
|
||||||
|
("tur", "tr", "Turkish"),
|
||||||
|
("ukr", "uk", "Ukrainian"),
|
||||||
|
("vie", "vi", "Vietnamese")
|
||||||
|
]
|
||||||
|
|
||||||
|
langLength = len(languages)
|
||||||
|
|
||||||
|
exceptionIds: list[str] = ["AppName", "AppVersionTitle"]
|
||||||
|
titleIds: list[str] = ["setMode", "tapIcon"]
|
||||||
|
|
||||||
|
i = 1
|
||||||
|
with open("./resources/strings/strings.xml") as f:
|
||||||
|
c = f.read().replace('\r', '')
|
||||||
|
for l in languages:
|
||||||
|
print(f"{i} of {langLength}: Translating English to {l[2]}")
|
||||||
|
soup = BeautifulSoup(c, features="xml")
|
||||||
|
soup.find(name="strings").insert_before("\n\n")
|
||||||
|
soup.find(name="strings").insert_before(
|
||||||
|
Comment(f"\n Generated by Google Translate: English to {l[2]}\n " +
|
||||||
|
GoogleTranslator(source='en', target=l[1]).translate("Generated by Google Translate from English") +
|
||||||
|
"\n")
|
||||||
|
)
|
||||||
|
soup.find(name="strings").insert_before("\n\n")
|
||||||
|
|
||||||
|
for s in soup.find(name="strings").findAll(name="string"):
|
||||||
|
s.insert_before(" ")
|
||||||
|
if s["id"] not in exceptionIds:
|
||||||
|
a = GoogleTranslator(source='en', target=l[1]).translate(s.string)
|
||||||
|
if s["id"] in titleIds:
|
||||||
|
s.string = a.title()
|
||||||
|
else:
|
||||||
|
s.string = a
|
||||||
|
for s in soup.find(name="strings").findAll(text=lambda text:isinstance(text, Comment)):
|
||||||
|
s.insert_before(" ")
|
||||||
|
s.replace_with(Comment(" " + GoogleTranslator(source='en', target=l[1]).translate(s) + " "))
|
||||||
|
#print(str(soup))
|
||||||
|
os.makedirs(f"./resources-{l[0]}/strings/", exist_ok=True)
|
||||||
|
with open(f"./resources-{l[0]}/strings/strings.xml", "wb") as w:
|
||||||
|
w.write(soup.encode("utf-8"))
|
||||||
|
i += 1
|