Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions widget/manifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
</iq:permissions>
<iq:languages>
<iq:language>eng</iq:language>
<iq:language>fre</iq:language>
</iq:languages>
<iq:barrels/>
</iq:application>
Expand Down
25 changes: 25 additions & 0 deletions widget/resources-fre/layouts/layout.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<layouts>
<layout id="ErrorLayout">
<label id="Title" x="center" y="60" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_LARGE"/>
<label id="Message" x="center" y="110" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY"/>
</layout>
<layout id="LoginLayout">
<label id="Message" x="center" y="90" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY" text="Connectez-vous\nsur votre téléphone"/>
</layout>
<layout id="EntityLayout">
<label id="PreviousEntity" x="center" y="10%" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY"/>
<!-- <text-area id="FocusedEntity" text="" x="center" y="center" width="70%" height="40%" justification="Gfx.TEXT_JUSTIFY_CENTER"> -->
<text-area id="FocusedEntity" text="" x="20%" y="center" width="80%" height="15%" justification="Gfx.TEXT_JUSTIFY_CENTER">
<fonts>
<font>Gfx.FONT_MEDIUM</font>
<font>Gfx.FONT_XTINY</font>
</fonts>
</text-area>
<label id="NextEntity" x="center" y="77%" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY"/>
</layout>
<layout id="SceneLayout">
<label id="PreviousScene" x="center" y="10%" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY"/>
<label id="FocusedScene" x="center" y="center" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_SYSTEM_LARGE"/>
<label id="NextScene" x="center" y="77%" justification="Gfx.TEXT_JUSTIFY_CENTER" color="FFFFFF" font="Gfx.FONT_TINY"/>
</layout>
</layouts>
40 changes: 40 additions & 0 deletions widget/resources-fre/properties.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<resources>
<properties>
<property id="host" type="string">https://hassio.url</property>
<!-- <property id="port" type="number">443</property> -->
<property id="accessToken" type="string"></property>
<property id="scenes" type="string"></property>
<property id="group" type="string">Garmin</property>
<property id="refresh" type="boolean"></property>
</properties>

<strings>
<string id="host_title">Hôte: (exemple: https://hassio.url)</string>
<!-- <string id="port_title">Port: (443 is default for https)</string> -->
<string id="access_token">Token d'accès longue durée (Optionnel)</string>
<string id="scenes_title">Scènes: (scene1,scene2,scene3)</string>
<string id="group_title">Groupe: (Groupe utilisé pour importer des entités)</string>
<string id="refresh_title">Rafraichir dés l'affichage (Utilise plus de batterie et de ressource réseau)</string>
</strings>

<settings>
<setting propertyKey="@Properties.host" title="@Strings.host_title">
<settingConfig type="alphaNumeric" />
</setting>
<!-- <setting propertyKey="@Properties.port" title="@Strings.port_title">
<settingConfig min="1" max="65535" type="numeric" />
</setting> -->
<setting propertyKey="@Properties.accessToken" title="@Strings.access_token">
<settingConfig type="alphaNumeric" />
</setting>
<setting propertyKey="@Properties.scenes" title="@Strings.scenes_title">
<settingConfig type="alphaNumeric" />
</setting>
<setting propertyKey="@Properties.group" title="@Strings.group_title">
<settingConfig type="alphaNumeric" />
</setting>
<setting propertyKey="@Properties.refresh" title="@Strings.refresh_title">
<settingConfig type="boolean" />
</setting>
</settings>
</resources>
46 changes: 46 additions & 0 deletions widget/resources-fre/strings/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<strings>
<string id="AppName">HassControl</string>


<!-- Entity List -->
<string id="NoEntities">Aucune entité configurée</string>

<!-- Generic terms -->
<string id="Generic_Login">Se connecter</string>
<string id="Generic_Logout">Se déconnecter</string>
<string id="Generic_Settings">Paramètres</string>
<string id="Generic_Scenes">Scènes</string>
<string id="Generic_Entities">Entités</string>
<string id="Generic_Back">Retour</string>
<string id="Generic_Refreshing">Rafraîchissement en cours</string>

<!-- Loading Texts -->
<string id="LoadingText_Running">En cours d'éxécution</string>
<string id="LoadingText_Locking">Verouillage</string>
<string id="LoadingText_Unlocking">Déverouillage</string>
<string id="LoadingText_Closing">Fermeture</string>
<string id="LoadingText_Opening">Ouverture</string>
<string id="LoadingText_Pressing">Pression</string>
<string id="LoadingText_Turning_Off">Extinction</string>
<string id="LoadingText_Turning_On">Allumage</string>

<!-- Settings Menu -->
<string id="SettingsMenu_Start_View">Vue de départ</string>
<string id="SettingsMenu_Refresh_Entities">Rafraîchir les entités</string>

<!-- ERROR -->
<string id="Error_Failed">Échec</string>
<string id="Error_Unknown">Erreur inconnue</string>
<string id="Error_PhoneNotConnected">Téléphone non connecté</string>

<string id="Error_Request_InvalidUrl">Vérifier les paramètres du widget, URL invalide</string>
<string id="Error_Request_NotFound">Ressource non trouvée</string>
<string id="Error_Request_NotAuthorized">Authentification échouée</string>

<string id="Error_Auth_NotReachable">Serveur non joignable</string>
<string id="Error_Auth_Revoked">Identifiant révoqué</string>

<string id="Error_No_Entity_Toggle">Aucune entité à basculer,\nactualisez le groupe depuis\nles paramètres du widget</string>

<string id="Error_Group_Not_Configured">Groupe\nnon\nconfiguré</string>
</strings>
26 changes: 26 additions & 0 deletions widget/resources/strings/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,31 @@
<!-- Entity List -->
<string id="NoEntities">No entities configured</string>

<!-- Generic terms -->
<string id="Generic_Login">Login</string>
<string id="Generic_Logout">Logout</string>
<string id="Generic_Settings">Settings</string>
<string id="Generic_Scenes">Scenes</string>
<string id="Generic_Entities">Entities</string>
<string id="Generic_Back">Back</string>
<string id="Generic_Refreshing">Refreshing</string>

<!-- Loading Texts -->
<string id="LoadingText_Running">Running</string>
<string id="LoadingText_Locking">Locking</string>
<string id="LoadingText_Unlocking">Unlocking</string>
<string id="LoadingText_Closing">Closing</string>
<string id="LoadingText_Opening">Opening</string>
<string id="LoadingText_Pressing">Pressing</string>
<string id="LoadingText_Turning_Off">Turning off</string>
<string id="LoadingText_Turning_On">Turning on</string>

<!-- Settings Menu -->
<string id="SettingsMenu_Start_View">Start View</string>
<string id="SettingsMenu_Refresh_Entities">Refresh entities</string>

<!-- ERROR -->
<string id="Error_Failed">Failed</string>
<string id="Error_Unknown">Unknown error</string>
<string id="Error_PhoneNotConnected">Phone not connected</string>

Expand All @@ -17,4 +39,8 @@

<string id="Error_Auth_NotReachable">Server not reachable</string>
<string id="Error_Auth_Revoked">Login Revoked</string>

<string id="Error_No_Entity_Toggle">No entity to toggle,\nplease refresh group\nfrom settings</string>

<string id="Error_Group_Not_Configured">Group\nnot\nconfigured</string>
</strings>
2 changes: 1 addition & 1 deletion widget/source/Entities/EntityListView.mc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class EntityListDelegate extends Ui.BehaviorDelegate {
_mController.toggleEntity(entity);
} else {
App.getApp().menu.showRootMenu();
App.getApp().viewController.showError("No entity to toggle,\nplease refresh group\nfrom settings");
App.getApp().viewController.showError(Ui.loadResource(Rez.Strings.Error_No_Entity_Toggle));
}

return true;
Expand Down
2 changes: 1 addition & 1 deletion widget/source/ErrorView.mc
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class ErrorView extends Ui.View {
var titleEl = View.findDrawableById("Title");
var messageEl = View.findDrawableById("Message");

titleEl.setText("Failed");
titleEl.setText(Rez.Strings.Error_Failed);
messageEl.setText(_message.toString());

View.onUpdate(dc);
Expand Down
24 changes: 12 additions & 12 deletions widget/source/Menu/MenuController.mc
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,26 @@ class MenuController {

if (App.getApp().isLoggedIn()) {
menu.addItem(new Ui.MenuItem(
"Scenes",
Rez.Strings.Generic_Scenes,
"",
MenuController.MENU_SWITCH_TO_SCENES,
{}
));
menu.addItem(new Ui.MenuItem(
"Entities",
Rez.Strings.Generic_Entities,
"",
MenuController.MENU_SWITCH_TO_ENTITIES,
{}
));
menu.addItem(new Ui.MenuItem(
"Settings",
Rez.Strings.Generic_Settings,
"",
MenuController.MENU_ENTER_SETTINGS,
{}
));
} else {
menu.addItem(new Ui.MenuItem(
"Login",
Rez.Strings.Generic_Login,
"",
MenuController.MENU_LOGIN,
{}
Expand All @@ -63,23 +63,23 @@ class MenuController {

function showSettingsMenu() {
var menu = new Ui.Menu2({
:title => "Settings"
:title => Rez.Strings.Generic_Settings
});

menu.addItem(new Ui.MenuItem(
"Start View",
Rez.Strings.SettingsMenu_Start_View,
App.getApp().getStartView(),
MenuController.MENU_SELECT_START_VIEW,
{}
));
menu.addItem(new Ui.MenuItem(
"Refresh entities",
Rez.Strings.SettingsMenu_Refresh_Entities,
Hass.getGroup(),
MenuController.MENU_REFRESH_ENTITIES,
{}
));
menu.addItem(new Ui.MenuItem(
"Logout",
Rez.Strings.Generic_Logout,
"",
MenuController.MENU_LOGOUT,
{}
Expand All @@ -90,7 +90,7 @@ class MenuController {

function showSelectStartViewMenu() {
var menu = new Ui.Menu2({
:title => "Start view"
:title => Rez.Strings.SettingsMenu_Start_View
});

var currentStartView = App.getApp().getStartView();
Expand All @@ -106,21 +106,21 @@ class MenuController {
}

menu.addItem(new Ui.MenuItem(
"Entities",
Rez.Strings.Generic_Entities,
entitiesSubtitle,
MenuController.MENU_SELECT_START_VIEW_ENTITIES,
{}
));

menu.addItem(new Ui.MenuItem(
"Scenes",
Rez.Strings.Generic_Scenes,
scenesSubtitle,
MenuController.MENU_SELECT_START_VIEW_SCENES,
{}
));

menu.addItem(new Ui.MenuItem(
"Back",
Rez.Strings.Generic_Back,
"",
MenuController.MENU_BACK,
{}
Expand Down
2 changes: 1 addition & 1 deletion widget/source/ViewController.mc
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ class ViewController {
function showError(error) {
removeLoaderImmediate();

var message = "Unknown Error";
var message = Rez.Strings.Error_Unknown;

if (error instanceof Error) {
message = error.toShortString();
Expand Down
20 changes: 10 additions & 10 deletions widget/source/hass/Hass.mc
Original file line number Diff line number Diff line change
Expand Up @@ -282,11 +282,11 @@ module Hass {
var group = getGroup();

if (group == null) {
App.getApp().viewController.showError("Group\nnot\nconfigured");
App.getApp().viewController.showError(Ui.loadResource(Rez.Strings.Error_Group_Not_Configured));
return;
}

App.getApp().viewController.showLoader("Refreshing");
App.getApp().viewController.showLoader(Rez.Strings.Generic_Refreshing);

client.getEntity(group, null, Utils.method(Hass, :_onReceiveEntities));
}
Expand Down Expand Up @@ -336,33 +336,33 @@ module Hass {

if (entity.getType() == Entity.TYPE_SCRIPT) {
action = Client.ENTITY_ACTION_TURN_ON;
loadingText = "Running";
loadingText = Rez.Strings.LoadingText_Running;
} else if (entity.getType() == Entity.TYPE_LOCK) {
if (currentState == Entity.STATE_UNLOCKED) {
action = Client.ENTITY_ACTION_LOCK;
loadingText = "Locking";
loadingText = Rez.Strings.LoadingText_Locking;
} else if (currentState == Entity.STATE_LOCKED) {
action = Client.ENTITY_ACTION_UNLOCK;
loadingText = "Unlocking";
loadingText = Rez.Strings.LoadingText_Unlocking;
}
} else if (entity.getType() == Entity.TYPE_COVER) {
if (currentState == Entity.STATE_OPEN) {
action = Client.ENTITY_ACTION_CLOSE_COVER;
loadingText = "Closing";
loadingText = Rez.Strings.LoadingText_Closing;
} else if (currentState == Entity.STATE_CLOSED) {
action = Client.ENTITY_ACTION_OPEN_COVER;
loadingText = "Opening";
loadingText = Rez.Strings.LoadingText_Opening;
}
} else if (entity.getType() == Entity.TYPE_BUTTON || entity.getType() == Entity.TYPE_INPUT_BUTTON) {
action = Client.ENTITY_ACTION_PRESS;
loadingText = "Pressing";
loadingText = Rez.Strings.LoadingText_Pressing;
} else {
if (currentState == Entity.STATE_ON) {
action = Client.ENTITY_ACTION_TURN_OFF;
loadingText = "Turning off";
loadingText = Rez.Strings.LoadingText_Turning_Off;
} else if (currentState == Entity.STATE_OFF) {
action = Client.ENTITY_ACTION_TURN_ON;
loadingText = "Turning on";
loadingText = Rez.Strings.LoadingText_Turning_On;
}
}

Expand Down