diff --git a/HowToAddNewLanguage.md b/HowToAddNewLanguage.md
index 16d457f76..c1fb7c127 100644
--- a/HowToAddNewLanguage.md
+++ b/HowToAddNewLanguage.md
@@ -11,14 +11,12 @@ Fork Stirling-PDF and create a new branch out of `main`.
Then add a reference to the language in the navbar by adding a new language entry to the dropdown:
- Edit the file: [languages.html](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/templates/fragments/languages.html)
-- Add a flag SVG file to: [flags directory](https://github.com/Stirling-Tools/Stirling-PDF/tree/main/src/main/resources/static/images/flags)
-Any SVG flags are fine; most of the current ones were sourced from [here](https://flagicons.lipis.dev/). If your language isn't represented by a flag, choose a similar one, such as Saudi Arabia's flag for Arabic.
For example, to add Polish, you would add:
```html
- Polski
+
```
The `data-bs-language-code` is the code used to reference the file in the next step.
diff --git a/src/main/resources/static/css/navbar.css b/src/main/resources/static/css/navbar.css
index a985fa1a9..e1d2ad491 100644
--- a/src/main/resources/static/css/navbar.css
+++ b/src/main/resources/static/css/navbar.css
@@ -83,6 +83,55 @@
vertical-align: middle;
}
+
+.scalable-languages-container {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* Auto-fill columns, with a minimum width of 180px */
+}
+
+html[dir="ltr"] .lang-dropdown-item-wrapper {
+ border-right: 2px solid var(--md-nav-color-on-seperator);
+}
+
+html[dir="rtl"] .lang-dropdown-item-wrapper {
+ border-left: 2px solid var(--md-nav-color-on-seperator);
+}
+
+/* Responsive adjustments */
+@media (min-width: 1200px){
+ .lang_dropdown-mw{
+ min-width: 800px
+ }
+}
+
+@media (max-width: 600px) {
+ .scalable-languages-container {
+ grid-template-columns: repeat(2, 1fr);
+ }
+
+ .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(2n) {
+ border: 0px
+ }
+}
+
+@media (min-width: 601px) and (max-width: 900px) {
+ .scalable-languages-container {
+ grid-template-columns: repeat(3, 1fr);
+ }
+ .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(3n) {
+ border: 0px
+}
+}
+@media (min-width: 901px) {
+ .scalable-languages-container {
+ grid-template-columns: repeat(4, 1fr);
+ }
+
+ .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(4n) {
+ border: 0px
+ }
+}
+
.dropdown-item .icon-text {
text-wrap: wrap;
word-break: break-word;
@@ -173,6 +222,7 @@ span.icon-text::after {
.scrollable-y {
overflow-y: scroll;
height: 190px;
+ overscroll-behavior: contain;
}
.scrollable-y::-webkit-scrollbar {
@@ -291,20 +341,34 @@ span.icon-text::after {
}
/* Dropdown open on hover */
-.dropdown-menu {
+html[dir="ltr"] .dropdown-menu {
padding-top: 0.5rem;
top: auto;
left: auto;
right: 0;
}
-.dropdown-menu[data-bs-popper] {
+html[dir="rtl"] .dropdown-menu {
+ padding-top: 0.5rem;
+ top: auto;
+ left: 0;
+ right: auto;
+}
+
+html[dir="ltr"] .dropdown-menu[data-bs-popper] {
top: auto;
left: auto;
right: 0;
margin-top: 0 !important;
}
+html[dir="rtl"] .dropdown-menu[data-bs-popper] {
+ top: auto;
+ left: 0;
+ right: auto;
+ margin-top: 0 !important;
+}
+
.dropdown-menu-wrapper {
padding: 1.5rem 0;
border-radius: 1rem;
diff --git a/src/main/resources/static/images/flags/az.svg b/src/main/resources/static/images/flags/az.svg
deleted file mode 100644
index 355752211..000000000
--- a/src/main/resources/static/images/flags/az.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/src/main/resources/static/images/flags/bg.svg b/src/main/resources/static/images/flags/bg.svg
deleted file mode 100644
index 8f51e0b12..000000000
--- a/src/main/resources/static/images/flags/bg.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/cn.svg b/src/main/resources/static/images/flags/cn.svg
deleted file mode 100644
index d941bcd8f..000000000
--- a/src/main/resources/static/images/flags/cn.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/cz.svg b/src/main/resources/static/images/flags/cz.svg
deleted file mode 100644
index dfc56f28d..000000000
--- a/src/main/resources/static/images/flags/cz.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/de.svg b/src/main/resources/static/images/flags/de.svg
deleted file mode 100644
index 9ec0846ce..000000000
--- a/src/main/resources/static/images/flags/de.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/dk.svg b/src/main/resources/static/images/flags/dk.svg
deleted file mode 100644
index 563277f81..000000000
--- a/src/main/resources/static/images/flags/dk.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/src/main/resources/static/images/flags/es-ct.svg b/src/main/resources/static/images/flags/es-ct.svg
deleted file mode 100644
index 275de1c97..000000000
--- a/src/main/resources/static/images/flags/es-ct.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/es.svg b/src/main/resources/static/images/flags/es.svg
deleted file mode 100644
index aa686b623..000000000
--- a/src/main/resources/static/images/flags/es.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/eu.svg b/src/main/resources/static/images/flags/eu.svg
deleted file mode 100644
index 9d72c54f0..000000000
--- a/src/main/resources/static/images/flags/eu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/fr.svg b/src/main/resources/static/images/flags/fr.svg
deleted file mode 100644
index bf088aeab..000000000
--- a/src/main/resources/static/images/flags/fr.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/gb.svg b/src/main/resources/static/images/flags/gb.svg
deleted file mode 100644
index 122560108..000000000
--- a/src/main/resources/static/images/flags/gb.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/gr.svg b/src/main/resources/static/images/flags/gr.svg
deleted file mode 100644
index 1b38f5294..000000000
--- a/src/main/resources/static/images/flags/gr.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/hr.svg b/src/main/resources/static/images/flags/hr.svg
deleted file mode 100644
index 515dd26fb..000000000
--- a/src/main/resources/static/images/flags/hr.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/hu.svg b/src/main/resources/static/images/flags/hu.svg
deleted file mode 100644
index 8f3de064e..000000000
--- a/src/main/resources/static/images/flags/hu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/id.svg b/src/main/resources/static/images/flags/id.svg
deleted file mode 100644
index 2d908da13..000000000
--- a/src/main/resources/static/images/flags/id.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/ie.svg b/src/main/resources/static/images/flags/ie.svg
deleted file mode 100644
index 049be14de..000000000
--- a/src/main/resources/static/images/flags/ie.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/src/main/resources/static/images/flags/in.svg b/src/main/resources/static/images/flags/in.svg
deleted file mode 100644
index 8c9991e8b..000000000
--- a/src/main/resources/static/images/flags/in.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/ir.svg b/src/main/resources/static/images/flags/ir.svg
deleted file mode 100644
index 8c6d51621..000000000
--- a/src/main/resources/static/images/flags/ir.svg
+++ /dev/null
@@ -1,219 +0,0 @@
-
diff --git a/src/main/resources/static/images/flags/it.svg b/src/main/resources/static/images/flags/it.svg
deleted file mode 100644
index f9864d700..000000000
--- a/src/main/resources/static/images/flags/it.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/jp.svg b/src/main/resources/static/images/flags/jp.svg
deleted file mode 100644
index 1084a6607..000000000
--- a/src/main/resources/static/images/flags/jp.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/kr.svg b/src/main/resources/static/images/flags/kr.svg
deleted file mode 100755
index 1f753a769..000000000
--- a/src/main/resources/static/images/flags/kr.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/nl.svg b/src/main/resources/static/images/flags/nl.svg
deleted file mode 100644
index 6554f56b9..000000000
--- a/src/main/resources/static/images/flags/nl.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/no.svg b/src/main/resources/static/images/flags/no.svg
deleted file mode 100644
index 4a520cd6f..000000000
--- a/src/main/resources/static/images/flags/no.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/pl.svg b/src/main/resources/static/images/flags/pl.svg
deleted file mode 100644
index 7a50bf2ce..000000000
--- a/src/main/resources/static/images/flags/pl.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/pt_br.svg b/src/main/resources/static/images/flags/pt_br.svg
deleted file mode 100644
index c1e87dd10..000000000
--- a/src/main/resources/static/images/flags/pt_br.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/pt_pt.svg b/src/main/resources/static/images/flags/pt_pt.svg
deleted file mode 100644
index 241fdd2c0..000000000
--- a/src/main/resources/static/images/flags/pt_pt.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/ro.svg b/src/main/resources/static/images/flags/ro.svg
deleted file mode 100644
index 80d68ba91..000000000
--- a/src/main/resources/static/images/flags/ro.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/rs.svg b/src/main/resources/static/images/flags/rs.svg
deleted file mode 100644
index 9683e9341..000000000
--- a/src/main/resources/static/images/flags/rs.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/ru.svg b/src/main/resources/static/images/flags/ru.svg
deleted file mode 100644
index 154117a9e..000000000
--- a/src/main/resources/static/images/flags/ru.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/sa.svg b/src/main/resources/static/images/flags/sa.svg
deleted file mode 100644
index 914338b4d..000000000
--- a/src/main/resources/static/images/flags/sa.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/se.svg b/src/main/resources/static/images/flags/se.svg
deleted file mode 100644
index fa00d4073..000000000
--- a/src/main/resources/static/images/flags/se.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/si.svg b/src/main/resources/static/images/flags/si.svg
deleted file mode 100644
index 1bbdd94fd..000000000
--- a/src/main/resources/static/images/flags/si.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/src/main/resources/static/images/flags/sk.svg b/src/main/resources/static/images/flags/sk.svg
deleted file mode 100644
index 813381da1..000000000
--- a/src/main/resources/static/images/flags/sk.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/th.svg b/src/main/resources/static/images/flags/th.svg
deleted file mode 100644
index 7e67ea6b0..000000000
--- a/src/main/resources/static/images/flags/th.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/tr.svg b/src/main/resources/static/images/flags/tr.svg
deleted file mode 100644
index 87b5e9f26..000000000
--- a/src/main/resources/static/images/flags/tr.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/tw.svg b/src/main/resources/static/images/flags/tw.svg
deleted file mode 100644
index 86084de25..000000000
--- a/src/main/resources/static/images/flags/tw.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/ua.svg b/src/main/resources/static/images/flags/ua.svg
deleted file mode 100644
index 51eacf098..000000000
--- a/src/main/resources/static/images/flags/ua.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/us.svg b/src/main/resources/static/images/flags/us.svg
deleted file mode 100644
index 06858149d..000000000
--- a/src/main/resources/static/images/flags/us.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/main/resources/static/images/flags/vn.svg b/src/main/resources/static/images/flags/vn.svg
deleted file mode 100644
index 7e4bac8f4..000000000
--- a/src/main/resources/static/images/flags/vn.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/src/main/resources/templates/fragments/languageEntry.html b/src/main/resources/templates/fragments/languageEntry.html
new file mode 100644
index 000000000..410b6a6c5
--- /dev/null
+++ b/src/main/resources/templates/fragments/languageEntry.html
@@ -0,0 +1,7 @@
+
+