aboutsummaryrefslogtreecommitdiffstats
path: root/javascript
diff options
context:
space:
mode:
authorxmodar <modar.alfadly@gmail.com>2022-10-24 16:03:01 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2022-10-25 05:15:44 +0000
commitca2ebc89c2d18c02d9e337b660fdabe7178a6ccc (patch)
treef2f2b9f059da168cb9e0e28aae510631e5e01d04 /javascript
parentdf0a1f83815c771246a7b1bca85d63feaefad8d1 (diff)
downloadstable-diffusion-webui-gfx803-ca2ebc89c2d18c02d9e337b660fdabe7178a6ccc.tar.gz
stable-diffusion-webui-gfx803-ca2ebc89c2d18c02d9e337b660fdabe7178a6ccc.tar.bz2
stable-diffusion-webui-gfx803-ca2ebc89c2d18c02d9e337b660fdabe7178a6ccc.zip
Add RTL languages support and improved Arabic localization
Diffstat (limited to 'javascript')
-rw-r--r--javascript/localization.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/javascript/localization.js b/javascript/localization.js
index e6644635..6fb2fccd 100644
--- a/javascript/localization.js
+++ b/javascript/localization.js
@@ -107,7 +107,7 @@ function processNode(node){
}
function dumpTranslations(){
- dumped = {}
+ dumped = { rtl: localization.rtl || false }
Object.keys(original_lines).forEach(function(text){
if(dumped[text] !== undefined) return
@@ -129,6 +129,24 @@ onUiUpdate(function(m){
document.addEventListener("DOMContentLoaded", function() {
processNode(gradioApp())
+
+ if (localization.rtl) { // if the language is from right to left,
+ (new MutationObserver((mutations, observer) => { // wait for the style to load
+ mutations.forEach(mutation => {
+ mutation.addedNodes.forEach(node => {
+ if (node.tagName === 'STYLE') {
+ observer.disconnect();
+
+ for (const x of node.sheet.rules) { // find all rtl media rules
+ if (Array.from(x.media || []).includes('rtl')) {
+ x.media.appendMedium('all'); // enable them
+ }
+ }
+ }
+ })
+ });
+ })).observe(gradioApp(), { childList: true });
+ }
})
function download_localization() {