tweak languages and layout
This commit is contained in:
parent
c0ccb8ca5e
commit
7dfcf18960
2 changed files with 587 additions and 58 deletions
74
app.rb
74
app.rb
|
|
@ -4,7 +4,7 @@ require 'yaml'
|
||||||
|
|
||||||
# Configure Sinatra
|
# Configure Sinatra
|
||||||
set :port, ENV['PORT'] || 4567
|
set :port, ENV['PORT'] || 4567
|
||||||
set :bind, '0.0.0.0'
|
set :bind, '::'
|
||||||
|
|
||||||
# Load responses from YAML file
|
# Load responses from YAML file
|
||||||
RESPONSES = YAML.load_file('responses.yml')
|
RESPONSES = YAML.load_file('responses.yml')
|
||||||
|
|
@ -46,6 +46,44 @@ def determine_language(params, headers)
|
||||||
# Check for language family matches (e.g., 'nb' or 'nn' -> 'no')
|
# Check for language family matches (e.g., 'nb' or 'nn' -> 'no')
|
||||||
accepted_langs.each do |lang|
|
accepted_langs.each do |lang|
|
||||||
case lang
|
case lang
|
||||||
|
when /^zh/ # Chinese variants
|
||||||
|
return 'zh'
|
||||||
|
when /^es/ # Spanish variants
|
||||||
|
return 'es'
|
||||||
|
when /^hi/ # Hindi variants
|
||||||
|
return 'hi'
|
||||||
|
when /^ar/ # Arabic variants
|
||||||
|
return 'ar'
|
||||||
|
when /^bn/ # Bengali variants
|
||||||
|
return 'bn'
|
||||||
|
when /^pt/ # Portuguese variants
|
||||||
|
return 'pt'
|
||||||
|
when /^ru/ # Russian variants
|
||||||
|
return 'ru'
|
||||||
|
when /^ja/ # Japanese variants
|
||||||
|
return 'ja'
|
||||||
|
when /^tr/ # Turkish variants
|
||||||
|
return 'tr'
|
||||||
|
when /^ko/ # Korean variants
|
||||||
|
return 'ko'
|
||||||
|
when /^fr/ # French variants
|
||||||
|
return 'fr'
|
||||||
|
when /^de/ # German variants
|
||||||
|
return 'de'
|
||||||
|
when /^vi/ # Vietnamese variants
|
||||||
|
return 'vi'
|
||||||
|
when /^it/ # Italian variants
|
||||||
|
return 'it'
|
||||||
|
when /^th/ # Thai variants
|
||||||
|
return 'th'
|
||||||
|
when /^pl/ # Polish variants
|
||||||
|
return 'pl'
|
||||||
|
when /^nl/ # Dutch variants
|
||||||
|
return 'nl'
|
||||||
|
when /^ur/ # Urdu variants
|
||||||
|
return 'ur'
|
||||||
|
when /^ms/ # Malay variants
|
||||||
|
return 'ms'
|
||||||
when /^nb|nn/ # Norwegian Bokmål/Nynorsk
|
when /^nb|nn/ # Norwegian Bokmål/Nynorsk
|
||||||
return 'no'
|
return 'no'
|
||||||
when /^sv/ # Swedish variants
|
when /^sv/ # Swedish variants
|
||||||
|
|
@ -236,6 +274,40 @@ __END__
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
margin: 0 auto 2rem auto;
|
||||||
|
background: radial-gradient(circle at 30% 30%, #ff6b6b, #ee5a52, #dc3545);
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 4rem;
|
||||||
|
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: 0 8px 32px rgba(255, 107, 107, 0.4);
|
||||||
|
border: 3px solid rgba(255, 255, 255, 0.3);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo::before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: -3px;
|
||||||
|
left: -3px;
|
||||||
|
right: -3px;
|
||||||
|
bottom: -3px;
|
||||||
|
background: conic-gradient(from 0deg, #ff6b6b, #ff8e8e, #ff6b6b);
|
||||||
|
border-radius: 50%;
|
||||||
|
z-index: -1;
|
||||||
|
animation: rotate 3s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotate {
|
||||||
|
from { transform: rotate(0deg); }
|
||||||
|
to { transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
|
||||||
.no-response {
|
.no-response {
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
||||||
459
responses.yml
459
responses.yml
|
|
@ -1,4 +1,461 @@
|
||||||
---
|
---
|
||||||
|
# Top 20 most spoken languages worldwide
|
||||||
|
zh:
|
||||||
|
name: "中文 (Chinese)"
|
||||||
|
responses:
|
||||||
|
- "不"
|
||||||
|
- "没有"
|
||||||
|
- "不行"
|
||||||
|
- "绝对不行"
|
||||||
|
- "不可能"
|
||||||
|
- "别想了"
|
||||||
|
- "免谈"
|
||||||
|
- "不要"
|
||||||
|
- "算了吧"
|
||||||
|
- "想都别想"
|
||||||
|
- "不会的"
|
||||||
|
- "没门"
|
||||||
|
- "休想"
|
||||||
|
- "不干"
|
||||||
|
- "拒绝"
|
||||||
|
- "否定"
|
||||||
|
- "不同意"
|
||||||
|
- "不接受"
|
||||||
|
- "不考虑"
|
||||||
|
- "门都没有"
|
||||||
|
|
||||||
|
es:
|
||||||
|
name: "Español (Spanish)"
|
||||||
|
responses:
|
||||||
|
- "No"
|
||||||
|
- "Para nada"
|
||||||
|
- "Jamás"
|
||||||
|
- "Absolutamente no"
|
||||||
|
- "Ni hablar"
|
||||||
|
- "De ninguna manera"
|
||||||
|
- "Nunca"
|
||||||
|
- "Imposible"
|
||||||
|
- "Ni loco"
|
||||||
|
- "Ni en sueños"
|
||||||
|
- "Olvídalo"
|
||||||
|
- "Ni pensarlo"
|
||||||
|
- "Negativo"
|
||||||
|
- "Nada de nada"
|
||||||
|
- "Ni por asomo"
|
||||||
|
- "Qué va"
|
||||||
|
- "Ni de coña"
|
||||||
|
- "Para qué"
|
||||||
|
- "Ni muerto"
|
||||||
|
- "Nanay"
|
||||||
|
|
||||||
|
hi:
|
||||||
|
name: "हिन्दी (Hindi)"
|
||||||
|
responses:
|
||||||
|
- "नहीं"
|
||||||
|
- "बिल्कुल नहीं"
|
||||||
|
- "कभी नहीं"
|
||||||
|
- "असंभव"
|
||||||
|
- "भूल जाओ"
|
||||||
|
- "ना"
|
||||||
|
- "नकार"
|
||||||
|
- "मना"
|
||||||
|
- "इनकार"
|
||||||
|
- "अस्वीकार"
|
||||||
|
- "कतई नहीं"
|
||||||
|
- "हरगिज नहीं"
|
||||||
|
- "कोई रास्ता नहीं"
|
||||||
|
- "सोचना भी मत"
|
||||||
|
- "खुद को धोखा मत दो"
|
||||||
|
- "नामुमकिन"
|
||||||
|
- "गलत बात"
|
||||||
|
- "बिल्कुल गलत"
|
||||||
|
- "कोई मतलब नहीं"
|
||||||
|
- "व्यर्थ बात"
|
||||||
|
|
||||||
|
ar:
|
||||||
|
name: "العربية (Arabic)"
|
||||||
|
responses:
|
||||||
|
- "لا"
|
||||||
|
- "كلا"
|
||||||
|
- "أبداً"
|
||||||
|
- "مستحيل"
|
||||||
|
- "لا طريقة"
|
||||||
|
- "اتركها"
|
||||||
|
- "لا تفكر فيها"
|
||||||
|
- "رفض"
|
||||||
|
- "سلبي"
|
||||||
|
- "غير ممكن"
|
||||||
|
- "لا أوافق"
|
||||||
|
- "لا أقبل"
|
||||||
|
- "لن يحدث"
|
||||||
|
- "انس الأمر"
|
||||||
|
- "لا يمكن"
|
||||||
|
- "لا طاقة لي"
|
||||||
|
- "معاذ الله"
|
||||||
|
- "حاشا"
|
||||||
|
- "لا سمح الله"
|
||||||
|
- "كلام فارغ"
|
||||||
|
|
||||||
|
bn:
|
||||||
|
name: "বাংলা (Bengali)"
|
||||||
|
responses:
|
||||||
|
- "না"
|
||||||
|
- "কখনো না"
|
||||||
|
- "একদমই না"
|
||||||
|
- "অসম্ভব"
|
||||||
|
- "ভুলে যাও"
|
||||||
|
- "কোন উপায় নেই"
|
||||||
|
- "চিন্তাও করো না"
|
||||||
|
- "প্রত্যাখ্যান"
|
||||||
|
- "নেতিবাচক"
|
||||||
|
- "হতে পারে না"
|
||||||
|
- "রাজি নই"
|
||||||
|
- "মানি না"
|
||||||
|
- "হবে না"
|
||||||
|
- "ছাড়ো"
|
||||||
|
- "সম্ভব নয়"
|
||||||
|
- "পারব না"
|
||||||
|
- "আল্লাহ মাফ করুন"
|
||||||
|
- "দূর"
|
||||||
|
- "বাজে কথা"
|
||||||
|
- "ফালতু"
|
||||||
|
|
||||||
|
pt:
|
||||||
|
name: "Português (Portuguese)"
|
||||||
|
responses:
|
||||||
|
- "Não"
|
||||||
|
- "Jamais"
|
||||||
|
- "Nunca"
|
||||||
|
- "Absolutamente não"
|
||||||
|
- "De jeito nenhum"
|
||||||
|
- "Nem pensar"
|
||||||
|
- "Impossível"
|
||||||
|
- "Esquece"
|
||||||
|
- "Nem sonhando"
|
||||||
|
- "Negativo"
|
||||||
|
- "Nada disso"
|
||||||
|
- "Que nada"
|
||||||
|
- "Nem ferrando"
|
||||||
|
- "Tá louco"
|
||||||
|
- "Nem a pau"
|
||||||
|
- "Qual o quê"
|
||||||
|
- "Imagina"
|
||||||
|
- "Deixa pra lá"
|
||||||
|
- "Nem vem"
|
||||||
|
- "Nada a ver"
|
||||||
|
|
||||||
|
ru:
|
||||||
|
name: "Русский (Russian)"
|
||||||
|
responses:
|
||||||
|
- "Нет"
|
||||||
|
- "Никогда"
|
||||||
|
- "Абсолютно нет"
|
||||||
|
- "Ни за что"
|
||||||
|
- "Невозможно"
|
||||||
|
- "Забудь"
|
||||||
|
- "Ни в коем случае"
|
||||||
|
- "Отказ"
|
||||||
|
- "Негативно"
|
||||||
|
- "Не может быть"
|
||||||
|
- "Не согласен"
|
||||||
|
- "Не принимаю"
|
||||||
|
- "Не выйдет"
|
||||||
|
- "Брось"
|
||||||
|
- "Нереально"
|
||||||
|
- "Не получится"
|
||||||
|
- "Боже упаси"
|
||||||
|
- "Отвали"
|
||||||
|
- "Ерунда"
|
||||||
|
- "Чушь"
|
||||||
|
|
||||||
|
ja:
|
||||||
|
name: "日本語 (Japanese)"
|
||||||
|
responses:
|
||||||
|
- "いいえ"
|
||||||
|
- "だめ"
|
||||||
|
- "絶対だめ"
|
||||||
|
- "無理"
|
||||||
|
- "ありえない"
|
||||||
|
- "やめて"
|
||||||
|
- "忘れて"
|
||||||
|
- "考えられない"
|
||||||
|
- "拒否"
|
||||||
|
- "否定"
|
||||||
|
- "同意しない"
|
||||||
|
- "受け入れない"
|
||||||
|
- "起こらない"
|
||||||
|
- "諦めて"
|
||||||
|
- "不可能"
|
||||||
|
- "できない"
|
||||||
|
- "とんでもない"
|
||||||
|
- "冗談じゃない"
|
||||||
|
- "バカバカしい"
|
||||||
|
- "くだらない"
|
||||||
|
|
||||||
|
tr:
|
||||||
|
name: "Türkçe (Turkish)"
|
||||||
|
responses:
|
||||||
|
- "Hayır"
|
||||||
|
- "Asla"
|
||||||
|
- "Kesinlikle hayır"
|
||||||
|
- "İmkansız"
|
||||||
|
- "Hiçbir şekilde"
|
||||||
|
- "Unut gitsin"
|
||||||
|
- "Düşünme bile"
|
||||||
|
- "Red"
|
||||||
|
- "Negatif"
|
||||||
|
- "Olamez"
|
||||||
|
- "Kabul etmem"
|
||||||
|
- "Olmaz"
|
||||||
|
- "Boş ver"
|
||||||
|
- "İmkansız"
|
||||||
|
- "Yapamam"
|
||||||
|
- "Allah korusun"
|
||||||
|
- "Defol"
|
||||||
|
- "Saçmalık"
|
||||||
|
- "Boş iş"
|
||||||
|
- "Hadi canım"
|
||||||
|
|
||||||
|
ko:
|
||||||
|
name: "한국어 (Korean)"
|
||||||
|
responses:
|
||||||
|
- "아니요"
|
||||||
|
- "안 돼요"
|
||||||
|
- "절대 안 돼"
|
||||||
|
- "불가능해"
|
||||||
|
- "안 될 말이야"
|
||||||
|
- "포기해"
|
||||||
|
- "잊어버려"
|
||||||
|
- "생각도 하지 마"
|
||||||
|
- "거부"
|
||||||
|
- "부정"
|
||||||
|
- "동의 안 해"
|
||||||
|
- "받아들일 수 없어"
|
||||||
|
- "일어날 수 없어"
|
||||||
|
- "그만둬"
|
||||||
|
- "말이 안 돼"
|
||||||
|
- "할 수 없어"
|
||||||
|
- "말도 안 돼"
|
||||||
|
- "웃기지 마"
|
||||||
|
- "헛소리"
|
||||||
|
- "바보 같은 소리"
|
||||||
|
|
||||||
|
fr:
|
||||||
|
name: "Français (French)"
|
||||||
|
responses:
|
||||||
|
- "Non"
|
||||||
|
- "Jamais"
|
||||||
|
- "Absolument pas"
|
||||||
|
- "Impossible"
|
||||||
|
- "Aucune chance"
|
||||||
|
- "Oublie ça"
|
||||||
|
- "N'y pense même pas"
|
||||||
|
- "Refus"
|
||||||
|
- "Négatif"
|
||||||
|
- "Pas question"
|
||||||
|
- "Je refuse"
|
||||||
|
- "J'accepte pas"
|
||||||
|
- "Ça arrivera pas"
|
||||||
|
- "Laisse tomber"
|
||||||
|
- "Pas possible"
|
||||||
|
- "Je peux pas"
|
||||||
|
- "Mon dieu non"
|
||||||
|
- "Dégage"
|
||||||
|
- "N'importe quoi"
|
||||||
|
- "Foutaises"
|
||||||
|
|
||||||
|
de:
|
||||||
|
name: "Deutsch (German)"
|
||||||
|
responses:
|
||||||
|
- "Nein"
|
||||||
|
- "Niemals"
|
||||||
|
- "Absolut nicht"
|
||||||
|
- "Unmöglich"
|
||||||
|
- "Keine Chance"
|
||||||
|
- "Vergiss es"
|
||||||
|
- "Denk nicht mal dran"
|
||||||
|
- "Ablehnung"
|
||||||
|
- "Negativ"
|
||||||
|
- "Kann nicht sein"
|
||||||
|
- "Bin nicht einverstanden"
|
||||||
|
- "Akzeptiere nicht"
|
||||||
|
- "Wird nicht passieren"
|
||||||
|
- "Lass es"
|
||||||
|
- "Nicht möglich"
|
||||||
|
- "Kann ich nicht"
|
||||||
|
- "Um Gottes willen"
|
||||||
|
- "Hau ab"
|
||||||
|
- "Quatsch"
|
||||||
|
- "Blödsinn"
|
||||||
|
|
||||||
|
vi:
|
||||||
|
name: "Tiếng Việt (Vietnamese)"
|
||||||
|
responses:
|
||||||
|
- "Không"
|
||||||
|
- "Không bao giờ"
|
||||||
|
- "Tuyệt đối không"
|
||||||
|
- "Không thể"
|
||||||
|
- "Không có cách nào"
|
||||||
|
- "Quên đi"
|
||||||
|
- "Đừng nghĩ đến"
|
||||||
|
- "Từ chối"
|
||||||
|
- "Phủ định"
|
||||||
|
- "Không được"
|
||||||
|
- "Tôi không đồng ý"
|
||||||
|
- "Tôi không chấp nhận"
|
||||||
|
- "Sẽ không xảy ra"
|
||||||
|
- "Thôi đi"
|
||||||
|
- "Không khả năng"
|
||||||
|
- "Tôi không thể"
|
||||||
|
- "Trời ơi không"
|
||||||
|
- "Cút đi"
|
||||||
|
- "Vô lý"
|
||||||
|
- "Điên rồi"
|
||||||
|
|
||||||
|
it:
|
||||||
|
name: "Italiano (Italian)"
|
||||||
|
responses:
|
||||||
|
- "No"
|
||||||
|
- "Mai"
|
||||||
|
- "Assolutamente no"
|
||||||
|
- "Impossibile"
|
||||||
|
- "Nessuna possibilità"
|
||||||
|
- "Dimenticalo"
|
||||||
|
- "Non pensarci nemmeno"
|
||||||
|
- "Rifiuto"
|
||||||
|
- "Negativo"
|
||||||
|
- "Non può essere"
|
||||||
|
- "Non sono d'accordo"
|
||||||
|
- "Non accetto"
|
||||||
|
- "Non succederà"
|
||||||
|
- "Lascia perdere"
|
||||||
|
- "Non è possibile"
|
||||||
|
- "Non posso"
|
||||||
|
- "Dio mio no"
|
||||||
|
- "Vattene"
|
||||||
|
- "Sciocchezze"
|
||||||
|
- "Stupidaggini"
|
||||||
|
|
||||||
|
th:
|
||||||
|
name: "ไทย (Thai)"
|
||||||
|
responses:
|
||||||
|
- "ไม่"
|
||||||
|
- "ไม่เอา"
|
||||||
|
- "ไม่มีทาง"
|
||||||
|
- "เป็นไปไม่ได้"
|
||||||
|
- "ไม่มีโอกาส"
|
||||||
|
- "ลืมไป"
|
||||||
|
- "อย่าคิดเลย"
|
||||||
|
- "ปฏิเสธ"
|
||||||
|
- "เชิงลบ"
|
||||||
|
- "ไม่ได้"
|
||||||
|
- "ไม่เห็นด้วย"
|
||||||
|
- "ไม่ยอมรับ"
|
||||||
|
- "จะไม่เกิดขึ้น"
|
||||||
|
- "ปล่อยไป"
|
||||||
|
- "เป็นไปไม่ได้"
|
||||||
|
- "ทำไม่ได้"
|
||||||
|
- "พระเจ้าช่วย"
|
||||||
|
- "ไปซะ"
|
||||||
|
- "เหลวไหล"
|
||||||
|
- "บ้าบอ"
|
||||||
|
|
||||||
|
pl:
|
||||||
|
name: "Polski (Polish)"
|
||||||
|
responses:
|
||||||
|
- "Nie"
|
||||||
|
- "Nigdy"
|
||||||
|
- "Absolutnie nie"
|
||||||
|
- "Niemożliwe"
|
||||||
|
- "Żadnych szans"
|
||||||
|
- "Zapomnij"
|
||||||
|
- "Nawet nie myśl"
|
||||||
|
- "Odmowa"
|
||||||
|
- "Negatywnie"
|
||||||
|
- "Nie może być"
|
||||||
|
- "Nie zgadzam się"
|
||||||
|
- "Nie akceptuję"
|
||||||
|
- "Nie wydarzy się"
|
||||||
|
- "Daj spokój"
|
||||||
|
- "Niepossible"
|
||||||
|
- "Nie mogę"
|
||||||
|
- "Boże broń"
|
||||||
|
- "Spadaj"
|
||||||
|
- "Bzdury"
|
||||||
|
- "Głupoty"
|
||||||
|
|
||||||
|
nl:
|
||||||
|
name: "Nederlands (Dutch)"
|
||||||
|
responses:
|
||||||
|
- "Nee"
|
||||||
|
- "Nooit"
|
||||||
|
- "Absoluut niet"
|
||||||
|
- "Onmogelijk"
|
||||||
|
- "Geen kans"
|
||||||
|
- "Vergeet het"
|
||||||
|
- "Denk er niet eens aan"
|
||||||
|
- "Weigering"
|
||||||
|
- "Negatief"
|
||||||
|
- "Kan niet"
|
||||||
|
- "Ben het niet eens"
|
||||||
|
- "Accepteer niet"
|
||||||
|
- "Zal niet gebeuren"
|
||||||
|
- "Laat maar"
|
||||||
|
- "Niet mogelijk"
|
||||||
|
- "Kan ik niet"
|
||||||
|
- "Godverdomme nee"
|
||||||
|
- "Rot op"
|
||||||
|
- "Onzin"
|
||||||
|
- "Flauwekul"
|
||||||
|
|
||||||
|
ur:
|
||||||
|
name: "اردو (Urdu)"
|
||||||
|
responses:
|
||||||
|
- "نہیں"
|
||||||
|
- "کبھی نہیں"
|
||||||
|
- "بالکل نہیں"
|
||||||
|
- "ناممکن"
|
||||||
|
- "کوئی راستہ نہیں"
|
||||||
|
- "بھول جاؤ"
|
||||||
|
- "سوچنا بھی مت"
|
||||||
|
- "انکار"
|
||||||
|
- "منفی"
|
||||||
|
- "نہیں ہو سکتا"
|
||||||
|
- "متفق نہیں"
|
||||||
|
- "منظور نہیں"
|
||||||
|
- "نہیں ہوگا"
|
||||||
|
- "چھوڑ دو"
|
||||||
|
- "ممکن نہیں"
|
||||||
|
- "نہیں کر سکتا"
|
||||||
|
- "خدا نہ کرے"
|
||||||
|
- "بھاگ"
|
||||||
|
- "بکواس"
|
||||||
|
- "فضول بات"
|
||||||
|
|
||||||
|
ms:
|
||||||
|
name: "Bahasa Melayu (Malay)"
|
||||||
|
responses:
|
||||||
|
- "Tidak"
|
||||||
|
- "Tidak pernah"
|
||||||
|
- "Langsung tidak"
|
||||||
|
- "Mustahil"
|
||||||
|
- "Tiada peluang"
|
||||||
|
- "Lupakan"
|
||||||
|
- "Jangan fikir"
|
||||||
|
- "Tolak"
|
||||||
|
- "Negatif"
|
||||||
|
- "Tidak boleh"
|
||||||
|
- "Tidak setuju"
|
||||||
|
- "Tidak terima"
|
||||||
|
- "Tidak akan berlaku"
|
||||||
|
- "Biarkan"
|
||||||
|
- "Tidak mungkin"
|
||||||
|
- "Tidak dapat"
|
||||||
|
- "Ya Allah tidak"
|
||||||
|
- "Pergi"
|
||||||
|
- "Karut"
|
||||||
|
- "Mengarut"
|
||||||
|
|
||||||
en:
|
en:
|
||||||
name: "English"
|
name: "English"
|
||||||
responses:
|
responses:
|
||||||
|
|
@ -23,7 +480,7 @@ en:
|
||||||
- "Fat chance"
|
- "Fat chance"
|
||||||
- "No can do"
|
- "No can do"
|
||||||
|
|
||||||
no:
|
"no":
|
||||||
name: "Norsk (Norwegian)"
|
name: "Norsk (Norwegian)"
|
||||||
responses:
|
responses:
|
||||||
- "Nei"
|
- "Nei"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue