diff --git a/Makefile b/Makefile
index cf855d8..1015463 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,8 @@ PORT = 3000
ESLINT?=eslint
+TIDY?=tidy
+
ifeq (, $(shell which $(firstword ${ESLINT})))
ESLINT?=npx eslint
endif
@@ -34,5 +36,8 @@ public/dict/list.js:
eslint:
-${ESLINT} **/*.js
+tidy:
+ -${TIDY} -xml -errors -q public/*.html
+
start-dev-server: lang
cd server && make start-dev-server
diff --git a/l10n/po/fr/trivabble.po b/l10n/po/fr/trivabble.po
index a626f20..22e779c 100644
--- a/l10n/po/fr/trivabble.po
+++ b/l10n/po/fr/trivabble.po
@@ -262,10 +262,26 @@ msgstr "Chronométrer la partie"
msgid "To measure playing time, activate the timer."
msgstr "Pour mesurer les temps de jeu, activez le chronomètre."
+msgid "Cell captions:"
+msgstr "Légendes des cellules :"
+
+msgid "Clip when overflow"
+msgstr "Raccourcies en cas de débordement"
+
+msgid "Dots when overflow"
+msgstr "Pointillés en cas de débordement"
+
+msgid "No caption"
+msgstr "Pas de légende"
+
+msgid "Short caption"
+msgstr "Légendes courtes"
+
msgid "Board label:"
msgstr "Type du plateau"
msgid "Are you sure you want to change board to {0}? This will put all the tiles back in the bag and start another game."
msgstr "Êtes-vous sûr·e de vouloir de changer le type du plateau à {0} ? Cela remettra toutes les lettres du jeu dans le sac et commencera une nouvelle partie."
+
msgid "Can't find board '{0}'. Change board or start a new game."
msgstr "Impossible de trouver le plateau de type '{0}'. Changez de type de plateau ou démarrez une nouvelle partie."
diff --git a/l10n/pot/trivabble.pot b/l10n/pot/trivabble.pot
index a2b2f2b..3781b8d 100644
--- a/l10n/pot/trivabble.pot
+++ b/l10n/pot/trivabble.pot
@@ -267,6 +267,21 @@ msgstr ""
msgid "To measure playing time, activate the timer."
msgstr ""
+msgid "Cell captions:"
+msgstr ""
+
+msgid "Clip when overflow"
+msgstr ""
+
+msgid "Dots when overflow"
+msgstr ""
+
+msgid "No caption"
+msgstr ""
+
+msgid "Short caption"
+msgstr ""
+
msgid "Board label:"
msgstr ""
diff --git a/public/config.js.sample b/public/config.js.sample
index 59619b9..601e503 100644
--- a/public/config.js.sample
+++ b/public/config.js.sample
@@ -3,46 +3,55 @@
window.TrivabbleConf = {
// The amount of time to wait after a connection failure
- POLLING_DELAY: 2000,
+ //POLLING_DELAY: 2000,
// Whether WebSockets should be used, if possible
- ENABLE_WEBSOCKETS: true,
+ //ENABLE_WEBSOCKETS: true,
// Whether Server Sent Events should be used, if available
- ENABLE_EVENT_SOURCE: true,
+ //ENABLE_EVENT_SOURCE: true,
// Max consecutive tries before blacklisting WebSockets for the current session
- MAX_WEBSOCKET_ERRORS: 1,
+ //MAX_WEBSOCKET_ERRORS: 1,
// To tweak only if your webserver is shared with other conflicting resources at / (e.g. Yunohost integration)
- APP_PATH: "",
+ //APP_PATH: "",
// The API entry point. Default value: APP_PATH + '/:trivabble'
- API_ENTRY_POINT: "/:trivabble",
+ //API_ENTRY_POINT: "/:trivabble",
- // The color of the flash light when double clicking on a cell
- FLASH_LIGHT_COLOR: "#EE6633",
+ // Wether sounds should be played when receiving messages
+ //ENABLE_MSG_SOUND: true,
- // The list of durations of the flash light available in the settings box
- FLASH_LIGHT_DURATIONS: [800, 1600, 3200],
-
- // The defaut flash light duration. If not set, the value at the middle of the previous array is used.
- FLASH_LIGHT_DURATION: 1600,
+ // Wether sounds should be played when moving tiles
+ //ENABLE_TILE_SOUND: true,
// The list of durations used to detect a double tap available in the settings box
- DOUBLE_TAP_DURATIONS: [650, 1100, 1800, 3000, 5000],
+ //DOUBLE_TAP_DURATIONS: [650, 1100, 1800, 3000, 5000],
// The defaut double tap duration. If not set, the value at the middle of the previous array is used.
- DOUBLE_TAP_DURATION: 1800,
+ //DOUBLE_TAP_DURATION: 1800,
+
+ // The color of the flash light when double clicking on a cell
+ //FLASH_LIGHT_COLOR: "#EE6633",
+
+ // The list of durations of the flash light available in the settings box
+ //FLASH_LIGHT_DURATIONS: [800, 1600, 3200],
+
+ // The defaut flash light duration. If not set, the value at the middle of the previous array is used.
+ //FLASH_LIGHT_DURATION: 1600,
// The default premium for playing seven tiles on a turn
- PREMIUM_SEVEN_TILES: 50,
+ //PREMIUM_SEVEN_TILES: 50,
// Score is automically affected to last player. If false, score is automatically affected to the player who pressed the Score button
- SCORE_LAST_PLAYER: true,
+ //SCORE_LAST_PLAYER: true,
// Timer activation
- ENABLE_TIMER: false,
+ //ENABLE_TIMER: false,
+
+ // Cell captions. Could be "clip", "dots", "none" or "short"
+ //CELL_CAPTIONS: "dots",
// I don't like trailing commas, here is a nice message for you reading this file :-)
HAVE_FUN: true
diff --git a/public/index.html b/public/index.html
index 6ba07e0..ebb2611 100644
--- a/public/index.html
+++ b/public/index.html
@@ -108,6 +108,19 @@