* [PATCH extjs 1/1] add Bengali (bn) translations
@ 2026-08-13 12:58 Maximiliano Sandoval
0 siblings, 0 replies; only message in thread
From: Maximiliano Sandoval @ 2026-08-13 12:58 UTC (permalink / raw)
To: pve-devel; +Cc: Azharul Haque
The locale-bn.js file was obtained via:
uglifyjs locale-bn-debug.js > locale-bn.js
Contributed-by: Azharul Haque <haque@azharul.com>
Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
---
debian/rules | 2 +-
extjs/build/classic/locale/locale-bn-debug.js | 297 ++++++++++++++++++
extjs/build/classic/locale/locale-bn.js | 1 +
3 files changed, 299 insertions(+), 1 deletion(-)
create mode 100644 extjs/build/classic/locale/locale-bn-debug.js
create mode 100644 extjs/build/classic/locale/locale-bn.js
diff --git a/debian/rules b/debian/rules
index 60f24093..22d5c017 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,7 +11,7 @@ override_dh_auto_test:
dh_auto_test
# check if all languages are still shipped, as e.g. Georgian (ka) is manually added by us
set -e; for l in \
- af bg ca cs da de el_GR en en_AU en_GB es et fa fi fr fr_CA ga gr he hr hu id it ja ka ko lo lt \
+ af bg bn ca cs da de el_GR en en_AU en_GB es et fa fi fr fr_CA ga gr he hr hu id it ja ka ko lo lt \
lv mk nl no_NB no_NN pl pt pt_BR pt_PT ro ru sk sl sr sr_RS sv_SE th tr ukr vn zh_CN zh_TW; do \
echo "checking for '$$l' locale"; \
test -e "extjs/build/classic/locale/locale-$$l.js"; \
diff --git a/extjs/build/classic/locale/locale-bn-debug.js b/extjs/build/classic/locale/locale-bn-debug.js
new file mode 100644
index 00000000..f3824671
--- /dev/null
+++ b/extjs/build/classic/locale/locale-bn-debug.js
@@ -0,0 +1,297 @@
+/**
+ * Bengali translation
+ * By Azharul Haque (utf-8 encoding)
+ * 13 August 2026
+ */
+Ext.onReady(function() {
+
+ if (Ext.Date) {
+ Ext.Date.defaultFormat = 'd.m.Y';
+
+ Ext.Date.monthNames = ["জানুয়ারি", "ফেব্রুয়ারি", "মার্চ", "এপ্রিল", "মে", "জুন", "জুলাই", "আগস্ট", "সেপ্টেম্বর", "অক্টোবর", "নভেম্বর", "ডিসেম্বর"];
+
+ // Bengali month names have no standard abbreviated form, so the "short"
+ // list is the same as the full list -- shortening them would make them
+ // look wrong/invalid rather than save space.
+ Ext.Date.shortMonthNames = Ext.Date.monthNames.slice();
+
+ Ext.Date.getShortMonthName = function(month) {
+ return Ext.Date.shortMonthNames[month];
+ };
+
+ Ext.Date.monthNumbers = {
+ 'জানুয়ারি': 0,
+ 'ফেব্রুয়ারি': 1,
+ 'মার্চ': 2,
+ 'এপ্রিল': 3,
+ 'মে': 4,
+ 'জুন': 5,
+ 'জুলাই': 6,
+ 'আগস্ট': 7,
+ 'সেপ্টেম্বর': 8,
+ 'অক্টোবর': 9,
+ 'নভেম্বর': 10,
+ 'ডিসেম্বর': 11
+ };
+
+ // Bengali names aren't reliably sliceable by a fixed code-unit count either
+ // (same issue as day names below), so look up the full name directly
+ // instead of the template's substring(0,1)+substring(1,3) approach.
+ Ext.Date.getMonthNumber = function(name) {
+ return Ext.Date.monthNumbers[name];
+ };
+
+ Ext.Date.dayNames = ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"];
+
+ // Bengali abbreviations don't align to a fixed character-count slice of the
+ // full name (conjuncts/matras), so use an explicit list instead of substring().
+ Ext.Date.shortDayNames = ["রবি", "সোম", "মঙ্গল", "বুধ", "বৃহস্পতি", "শুক্র", "শনি"];
+
+ Ext.Date.getShortDayName = function(day) {
+ return Ext.Date.shortDayNames[day];
+ };
+ }
+
+ if (Ext.util && Ext.util.Format) {
+ Ext.apply(Ext.util.Format, {
+ thousandSeparator: ',',
+ decimalSeparator: '.',
+ currencySign: '৳',
+ // Bengali Taka
+ dateFormat: 'd.m.Y'
+ });
+ }
+});
+
+Ext.define("Ext.locale.bn.view.View", {
+ override: "Ext.view.View",
+ emptyText: ""
+});
+
+Ext.define("Ext.locale.bn.grid.plugin.DragDrop", {
+ override: "Ext.grid.plugin.DragDrop",
+ dragText: "{0}টি সারি নির্বাচিত"
+});
+
+Ext.define("Ext.locale.bn.tab.Tab", {
+ override: "Ext.tab.Tab",
+ closeText: "এই ট্যাব বন্ধ করুন"
+});
+
+Ext.define("Ext.locale.bn.form.field.Base", {
+ override: "Ext.form.field.Base",
+ invalidText: "এই ক্ষেত্রের মান অবৈধ"
+});
+
+// changing the msg text below will affect the LoadMask
+Ext.define("Ext.locale.bn.view.AbstractView", {
+ override: "Ext.view.AbstractView",
+ loadingText: "লোড হচ্ছে..."
+});
+
+Ext.define("Ext.locale.bn.picker.Date", {
+ override: "Ext.picker.Date",
+ todayText: "আজ",
+ minText: "এই তারিখ সর্বনিম্ন তারিখের আগে",
+ maxText: "এই তারিখ সর্বোচ্চ তারিখের পরে",
+ disabledDaysText: "নিষ্ক্রিয়",
+ disabledDatesText: "নিষ্ক্রিয়",
+ nextText: 'পরবর্তী মাস (Control+ডানদিকে)',
+ prevText: 'পূর্ববর্তী মাস (Control+বামদিকে)',
+ monthYearText: 'মাস নির্বাচন করুন (বছর নির্বাচন করতে: Control+উপরে/নিচে)',
+ todayTip: "{0} (স্পেসবার চাপুন)",
+ format: "d.m.y",
+ startDay: 0
+});
+
+Ext.define("Ext.locale.bn.picker.Month", {
+ override: "Ext.picker.Month",
+ okText: "ঠিক আছে",
+ cancelText: "বাতিল করুন"
+});
+
+Ext.define("Ext.locale.bn.toolbar.Paging", {
+ override: "Ext.PagingToolbar",
+ beforePageText: "পৃষ্ঠা",
+ afterPageText: "{0}-এর মধ্যে",
+ firstText: "প্রথম পৃষ্ঠা",
+ prevText: "পূর্ববর্তী পৃষ্ঠা",
+ nextText: "পরবর্তী পৃষ্ঠা",
+ lastText: "শেষ পৃষ্ঠা",
+ refreshText: "রিফ্রেশ করুন",
+ displayMsg: "{2}টির মধ্যে {0} - {1} প্রদর্শিত হচ্ছে",
+ emptyMsg: 'দেখানোর জন্য কোনো তথ্য নেই'
+});
+
+Ext.define("Ext.locale.bn.form.field.Text", {
+ override: "Ext.form.field.Text",
+ minLengthText: "এই ক্ষেত্রের সর্বনিম্ন দৈর্ঘ্য {0}",
+ maxLengthText: "এই ক্ষেত্রের সর্বোচ্চ দৈর্ঘ্য {0}",
+ blankText: "এই ক্ষেত্র পূরণ করা আবশ্যক",
+ regexText: "",
+ emptyText: null
+});
+
+Ext.define("Ext.locale.bn.form.field.Number", {
+ override: "Ext.form.field.Number",
+ minText: "এই ক্ষেত্রের মান {0} এর কম হতে পারবে না",
+ maxText: "এই ক্ষেত্রের মান {0} এর বেশি হতে পারবে না",
+ nanText: "{0} একটি সংখ্যা নয়",
+ negativeText: "মান ঋণাত্মক হতে পারবে না"
+});
+
+Ext.define("Ext.locale.bn.form.field.Date", {
+ override: "Ext.form.field.Date",
+ disabledDaysText: "উপলব্ধ নয়",
+ disabledDatesText: "উপলব্ধ নয়",
+ minText: "এই ক্ষেত্রের তারিখ {0} এর আগে হতে পারবে না",
+ maxText: "এই ক্ষেত্রের তারিখ {0} এর পরে হতে পারবে না",
+ invalidText: "{0} একটি সঠিক তারিখ নয় - সঠিক ফরম্যাট হলো {1}",
+ format: "d.m.y",
+ altFormats: "d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d"
+});
+
+Ext.define("Ext.locale.bn.form.field.ComboBox", {
+ override: "Ext.form.field.ComboBox",
+ valueNotFoundText: undefined
+}, function() {
+ Ext.apply(Ext.form.field.ComboBox.prototype.defaultListConfig, {
+ loadingText: "লোড হচ্ছে..."
+ });
+});
+
+Ext.define("Ext.locale.bn.form.field.VTypes", {
+ override: "Ext.form.field.VTypes",
+ emailText: 'এই ক্ষেত্রে অবশ্যই "user@example.com" ফরম্যাটে একটি ইমেইল ঠিকানা থাকতে হবে',
+ urlText: 'এই ক্ষেত্রে অবশ্যই "http:/' + '/www.example.com" ফরম্যাটে একটি URL থাকতে হবে',
+ alphaText: 'এই ক্ষেত্রে শুধুমাত্র বর্ণ এবং "_" থাকতে পারবে',
+ alphanumText: 'এই ক্ষেত্রে শুধুমাত্র বর্ণ, সংখ্যা এবং "_" থাকতে পারবে'
+});
+
+Ext.define("Ext.locale.bn.form.field.HtmlEditor", {
+ override: "Ext.form.field.HtmlEditor",
+ createLinkText: 'ঠিকানা লিখুন:'
+}, function() {
+ Ext.apply(Ext.form.field.HtmlEditor.prototype, {
+ buttonTips: {
+ bold: {
+ title: 'বোল্ড (Ctrl+B)',
+ text: 'নির্বাচিত টেক্সট বোল্ড করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ italic: {
+ title: 'ইটালিক (Ctrl+I)',
+ text: 'নির্বাচিত টেক্সট ইটালিক করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ underline: {
+ title: 'আন্ডারলাইন (Ctrl+U)',
+ text: 'নির্বাচিত টেক্সটে আন্ডারলাইন যোগ করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ increasefontsize: {
+ title: 'ফন্ট বড় করুন',
+ text: 'ফন্টের আকার বড় করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ decreasefontsize: {
+ title: 'ফন্ট ছোট করুন',
+ text: 'ফন্টের আকার ছোট করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ backcolor: {
+ title: 'হাইলাইট রঙ',
+ text: 'নির্বাচিত টেক্সট বা প্যারাগ্রাফের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ forecolor: {
+ title: 'ফন্টের রঙ',
+ text: 'টেক্সটের রঙ পরিবর্তন করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ justifyleft: {
+ title: 'বামে সারিবদ্ধ করুন',
+ text: 'টেক্সট বাম দিকে সারিবদ্ধ করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ justifycenter: {
+ title: 'মাঝখানে সারিবদ্ধ করুন',
+ text: 'টেক্সট মাঝখানে সারিবদ্ধ করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ justifyright: {
+ title: 'ডানে সারিবদ্ধ করুন',
+ text: 'টেক্সট ডান দিকে সারিবদ্ধ করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ insertunorderedlist: {
+ title: 'বুলেট তালিকা',
+ text: 'বুলেট তালিকা শুরু করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ insertorderedlist: {
+ title: 'সংখ্যাযুক্ত তালিকা',
+ text: 'সংখ্যাযুক্ত তালিকা শুরু করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ createlink: {
+ title: 'হাইপারলিংক তৈরি করুন',
+ text: 'নির্বাচিত টেক্সট থেকে একটি হাইপারলিংক তৈরি করুন।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ },
+ sourceedit: {
+ title: 'সোর্স কোড',
+ text: 'সোর্স কোড সম্পাদনায় যান।',
+ cls: Ext.baseCSSPrefix + 'html-editor-tip'
+ }
+ }
+ });
+});
+
+Ext.define("Ext.locale.bn.form.Basic", {
+ override: "Ext.form.Basic",
+ waitTitle: "অনুগ্রহ করে অপেক্ষা করুন..."
+});
+
+Ext.define("Ext.locale.bn.grid.header.Container", {
+ override: "Ext.grid.header.Container",
+ sortAscText: "ঊর্ধ্বক্রমে সাজান",
+ sortDescText: "নিম্নক্রমে সাজান",
+ lockText: "কলাম লক করুন",
+ unlockText: "কলাম আনলক করুন",
+ columnsText: "কলাম"
+});
+
+Ext.define("Ext.locale.bn.grid.GroupingFeature", {
+ override: "Ext.grid.feature.Grouping",
+ emptyGroupText: '(খালি)',
+ groupByText: 'এই ক্ষেত্র অনুযায়ী গ্রুপ করুন',
+ showGroupsText: 'গ্রুপে দেখান'
+});
+
+Ext.define("Ext.locale.bn.grid.PropertyColumnModel", {
+ override: "Ext.grid.PropertyColumnModel",
+ nameText: "নাম",
+ valueText: "মান",
+ dateFormat: "d.m.Y"
+});
+
+Ext.define("Ext.locale.bn.window.MessageBox", {
+ override: "Ext.window.MessageBox",
+ buttonText: {
+ ok: "ঠিক আছে",
+ cancel: "বাতিল করুন",
+ yes: "হ্যাঁ",
+ no: "না"
+ }
+});
+
+Ext.define("Ext.locale.bn.form.field.File", {
+ override: "Ext.form.field.File",
+ buttonText: "ব্রাউজ করুন..."
+});
+
+// This is needed until we can refactor all of the locales into individual files
+Ext.define("Ext.locale.bn.Component", {
+ override: "Ext.Component"
+});
diff --git a/extjs/build/classic/locale/locale-bn.js b/extjs/build/classic/locale/locale-bn.js
new file mode 100644
index 00000000..7d6ba0f7
--- /dev/null
+++ b/extjs/build/classic/locale/locale-bn.js
@@ -0,0 +1 @@
+Ext.onReady(function(){if(Ext.Date){Ext.Date.defaultFormat="d.m.Y";Ext.Date.monthNames=["জানুয়ারি","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","আগস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"];Ext.Date.shortMonthNames=Ext.Date.monthNames.slice();Ext.Date.getShortMonthName=function(month){return Ext.Date.shortMonthNames[month]};Ext.Date.monthNumbers={"জানুয়ারি":0,"ফেব্রুয়ারি":1,"মার্চ":2,"এপ্রিল":3,"মে":4,"জুন":5,"জুলাই":6,"আগস্ট":7,"সেপ্টেম্বর":8,"অক্টোবর":9,"নভেম্বর":10,"ডিসেম্বর":11};Ext.Date.getMonthNumber=function(name){return Ext.Date.monthNumbers[name]};Ext.Date.dayNames=["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"];Ext.Date.shortDayNames=["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"];Ext.Date.getShortDayName=function(day){return Ext.Date.shortDayNames[day]}}if(Ext.util&&Ext.util.Format){Ext.apply(Ext.util.Format,{thousandSeparator:",",decimalSeparator:".",currencySign:"৳",dateFormat:"d.m.Y"})}});Ext.define("Ext.locale.bn.view.View",{override:"Ext.view.View",emptyText:""});Ext.define("Ext.locale.bn.grid.plugin.DragDrop",{override:"Ext.grid.plugin.DragDrop",dragText:"{0}টি সারি নির্বাচিত"});Ext.define("Ext.locale.bn.tab.Tab",{override:"Ext.tab.Tab",closeText:"এই ট্যাব বন্ধ করুন"});Ext.define("Ext.locale.bn.form.field.Base",{override:"Ext.form.field.Base",invalidText:"এই ক্ষেত্রের মান অবৈধ"});Ext.define("Ext.locale.bn.view.AbstractView",{override:"Ext.view.AbstractView",loadingText:"লোড হচ্ছে..."});Ext.define("Ext.locale.bn.picker.Date",{override:"Ext.picker.Date",todayText:"আজ",minText:"এই তারিখ সর্বনিম্ন তারিখের আগে",maxText:"এই তারিখ সর্বোচ্চ তারিখের পরে",disabledDaysText:"নিষ্ক্রিয়",disabledDatesText:"নিষ্ক্রিয়",nextText:"পরবর্তী মাস (Control+ডানদিকে)",prevText:"পূর্ববর্তী মাস (Control+বামদিকে)",monthYearText:"মাস নির্বাচন করুন (বছর নির্বাচন করতে: Control+উপরে/নিচে)",todayTip:"{0} (স্পেসবার চাপুন)",format:"d.m.y",startDay:0});Ext.define("Ext.locale.bn.picker.Month",{override:"Ext.picker.Month",okText:"ঠিক আছে",cancelText:"বাতিল করুন"});Ext.define("Ext.locale.bn.toolbar.Paging",{override:"Ext.PagingToolbar",beforePageText:"পৃষ্ঠা",afterPageText:"{0}-এর মধ্যে",firstText:"প্রথম পৃষ্ঠা",prevText:"পূর্ববর্তী পৃষ্ঠা",nextText:"পরবর্তী পৃষ্ঠা",lastText:"শেষ পৃষ্ঠা",refreshText:"রিফ্রেশ করুন",displayMsg:"{2}টির মধ্যে {0} - {1} প্রদর্শিত হচ্ছে",emptyMsg:"দেখানোর জন্য কোনো তথ্য নেই"});Ext.define("Ext.locale.bn.form.field.Text",{override:"Ext.form.field.Text",minLengthText:"এই ক্ষেত্রের সর্বনিম্ন দৈর্ঘ্য {0}",maxLengthText:"এই ক্ষেত্রের সর্বোচ্চ দৈর্ঘ্য {0}",blankText:"এই ক্ষেত্র পূরণ করা আবশ্যক",regexText:"",emptyText:null});Ext.define("Ext.locale.bn.form.field.Number",{override:"Ext.form.field.Number",minText:"এই ক্ষেত্রের মান {0} এর কম হতে পারবে না",maxText:"এই ক্ষেত্রের মান {0} এর বেশি হতে পারবে না",nanText:"{0} একটি সংখ্যা নয়",negativeText:"মান ঋণাত্মক হতে পারবে না"});Ext.define("Ext.locale.bn.form.field.Date",{override:"Ext.form.field.Date",disabledDaysText:"উপলব্ধ নয়",disabledDatesText:"উপলব্ধ নয়",minText:"এই ক্ষেত্রের তারিখ {0} এর আগে হতে পারবে না",maxText:"এই ক্ষেত্রের তারিখ {0} এর পরে হতে পারবে না",invalidText:"{0} একটি সঠিক তারিখ নয় - সঠিক ফরম্যাট হলো {1}",format:"d.m.y",altFormats:"d.m.y|d/m/Y|d-m-y|d-m-Y|d/m|d-m|dm|dmy|dmY|d|Y-m-d"});Ext.define("Ext.locale.bn.form.field.ComboBox",{override:"Ext.form.field.ComboBox",valueNotFoundText:undefined},function(){Ext.apply(Ext.form.field.ComboBox.prototype.defaultListConfig,{loadingText:"লোড হচ্ছে..."})});Ext.define("Ext.locale.bn.form.field.VTypes",{override:"Ext.form.field.VTypes",emailText:'এই ক্ষেত্রে অবশ্যই "user@example.com" ফরম্যাটে একটি ইমেইল ঠিকানা থাকতে হবে',urlText:'এই ক্ষেত্রে অবশ্যই "http:/'+'/www.example.com" ফরম্যাটে একটি URL থাকতে হবে',alphaText:'এই ক্ষেত্রে শুধুমাত্র বর্ণ এবং "_" থাকতে পারবে',alphanumText:'এই ক্ষেত্রে শুধুমাত্র বর্ণ, সংখ্যা এবং "_" থাকতে পারবে'});Ext.define("Ext.locale.bn.form.field.HtmlEditor",{override:"Ext.form.field.HtmlEditor",createLinkText:"ঠিকানা লিখুন:"},function(){Ext.apply(Ext.form.field.HtmlEditor.prototype,{buttonTips:{bold:{title:"বোল্ড (Ctrl+B)",text:"নির্বাচিত টেক্সট বোল্ড করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},italic:{title:"ইটালিক (Ctrl+I)",text:"নির্বাচিত টেক্সট ইটালিক করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},underline:{title:"আন্ডারলাইন (Ctrl+U)",text:"নির্বাচিত টেক্সটে আন্ডারলাইন যোগ করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},increasefontsize:{title:"ফন্ট বড় করুন",text:"ফন্টের আকার বড় করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},decreasefontsize:{title:"ফন্ট ছোট করুন",text:"ফন্টের আকার ছোট করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},backcolor:{title:"হাইলাইট রঙ",text:"নির্বাচিত টেক্সট বা প্যারাগ্রাফের ব্যাকগ্রাউন্ড রঙ পরিবর্তন করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},forecolor:{title:"ফন্টের রঙ",text:"টেক্সটের রঙ পরিবর্তন করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyleft:{title:"বামে সারিবদ্ধ করুন",text:"টেক্সট বাম দিকে সারিবদ্ধ করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifycenter:{title:"মাঝখানে সারিবদ্ধ করুন",text:"টেক্সট মাঝখানে সারিবদ্ধ করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},justifyright:{title:"ডানে সারিবদ্ধ করুন",text:"টেক্সট ডান দিকে সারিবদ্ধ করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertunorderedlist:{title:"বুলেট তালিকা",text:"বুলেট তালিকা শুরু করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},insertorderedlist:{title:"সংখ্যাযুক্ত তালিকা",text:"সংখ্যাযুক্ত তালিকা শুরু করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},createlink:{title:"হাইপারলিংক তৈরি করুন",text:"নির্বাচিত টেক্সট থেকে একটি হাইপারলিংক তৈরি করুন।",cls:Ext.baseCSSPrefix+"html-editor-tip"},sourceedit:{title:"সোর্স কোড",text:"সোর্স কোড সম্পাদনায় যান।",cls:Ext.baseCSSPrefix+"html-editor-tip"}}})});Ext.define("Ext.locale.bn.form.Basic",{override:"Ext.form.Basic",waitTitle:"অনুগ্রহ করে অপেক্ষা করুন..."});Ext.define("Ext.locale.bn.grid.header.Container",{override:"Ext.grid.header.Container",sortAscText:"ঊর্ধ্বক্রমে সাজান",sortDescText:"নিম্নক্রমে সাজান",lockText:"কলাম লক করুন",unlockText:"কলাম আনলক করুন",columnsText:"কলাম"});Ext.define("Ext.locale.bn.grid.GroupingFeature",{override:"Ext.grid.feature.Grouping",emptyGroupText:"(খালি)",groupByText:"এই ক্ষেত্র অনুযায়ী গ্রুপ করুন",showGroupsText:"গ্রুপে দেখান"});Ext.define("Ext.locale.bn.grid.PropertyColumnModel",{override:"Ext.grid.PropertyColumnModel",nameText:"নাম",valueText:"মান",dateFormat:"d.m.Y"});Ext.define("Ext.locale.bn.window.MessageBox",{override:"Ext.window.MessageBox",buttonText:{ok:"ঠিক আছে",cancel:"বাতিল করুন",yes:"হ্যাঁ",no:"না"}});Ext.define("Ext.locale.bn.form.field.File",{override:"Ext.form.field.File",buttonText:"ব্রাউজ করুন..."});Ext.define("Ext.locale.bn.Component",{override:"Ext.Component"});
--
2.47.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-13 12:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 12:58 [PATCH extjs 1/1] add Bengali (bn) translations Maximiliano Sandoval
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox