ultra_settings 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -1
- data/MIT-LICENSE.txt +1 -1
- data/README.md +108 -1
- data/VERSION +1 -1
- data/app/AGENTS.md +7 -0
- data/app/_config_description.html.erb +22 -25
- data/app/_config_list.html.erb +2 -14
- data/app/_data_source.html.erb +53 -0
- data/app/application.css +1078 -259
- data/app/application.js +818 -91
- data/app/application_vars.css.erb +136 -81
- data/app/configuration.html.erb +60 -107
- data/app/index.html.erb +164 -20
- data/app/layout.css +81 -16
- data/app/layout.html.erb +67 -5
- data/app/layout_vars.css.erb +29 -5
- data/app/locales/ar.json +71 -0
- data/app/locales/cs.json +71 -0
- data/app/locales/da.json +71 -0
- data/app/locales/de.json +71 -0
- data/app/locales/el.json +71 -0
- data/app/locales/en.json +85 -0
- data/app/locales/es.json +71 -0
- data/app/locales/fa.json +71 -0
- data/app/locales/fr.json +71 -0
- data/app/locales/gd.json +71 -0
- data/app/locales/he.json +71 -0
- data/app/locales/hi.json +71 -0
- data/app/locales/it.json +71 -0
- data/app/locales/ja.json +71 -0
- data/app/locales/ko.json +71 -0
- data/app/locales/lt.json +71 -0
- data/app/locales/nb.json +71 -0
- data/app/locales/nl.json +71 -0
- data/app/locales/pl.json +71 -0
- data/app/locales/pt-br.json +71 -0
- data/app/locales/pt.json +71 -0
- data/app/locales/ru.json +71 -0
- data/app/locales/sv.json +71 -0
- data/app/locales/ta.json +71 -0
- data/app/locales/tr.json +71 -0
- data/app/locales/uk.json +71 -0
- data/app/locales/ur.json +71 -0
- data/app/locales/vi.json +71 -0
- data/app/locales/zh-cn.json +71 -0
- data/app/locales/zh-tw.json +71 -0
- data/lib/ultra_settings/application_view.rb +21 -3
- data/lib/ultra_settings/audit_data_sources.rb +98 -0
- data/lib/ultra_settings/coerce.rb +0 -6
- data/lib/ultra_settings/config_helper.rb +4 -4
- data/lib/ultra_settings/configuration.rb +28 -7
- data/lib/ultra_settings/configuration_view.rb +117 -56
- data/lib/ultra_settings/mini_i18n.rb +110 -0
- data/lib/ultra_settings/rack_app.rb +51 -1
- data/lib/ultra_settings/railtie.rb +8 -0
- data/lib/ultra_settings/tasks/audit_data_sources.rake +76 -0
- data/lib/ultra_settings/tasks/utils.rb +23 -0
- data/lib/ultra_settings/version.rb +1 -1
- data/lib/ultra_settings/web_view.rb +33 -2
- data/lib/ultra_settings.rb +56 -22
- data/ultra_settings.gemspec +3 -0
- metadata +38 -3
- data/app/_select_menu.html.erb +0 -53
data/app/locales/sv.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "Programkonfiguration",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "Konfigurationsinspektör",
|
|
5
|
+
"sidebar.open_nav_menu": "Öppna navigeringsmeny",
|
|
6
|
+
"sidebar.config_list": "Konfigurationslista",
|
|
7
|
+
"sidebar.filter_placeholder": "Filtrera konfigurationer och fält…",
|
|
8
|
+
"sidebar.filter_aria_label": "Filtrera konfigurationer",
|
|
9
|
+
"sidebar.configurations_label": "Konfigurationer",
|
|
10
|
+
"sidebar.config_nav": "Konfigurationsnavigering",
|
|
11
|
+
"search.placeholder": "Sök konfigurationer…",
|
|
12
|
+
"search.filter_aria_label": "Sök konfigurationer",
|
|
13
|
+
"search.clear_aria": "Rensa urval och återgå till listan",
|
|
14
|
+
"config_list.fields": "fält",
|
|
15
|
+
"field.secret": "Hemlig",
|
|
16
|
+
"field.static": "Statisk",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "Klicka för att expandera",
|
|
19
|
+
"field.not_set": "inte angivet",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "INSTÄLLNING",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "STANDARD",
|
|
24
|
+
"source.active": "● Aktiv",
|
|
25
|
+
"source.overridden": "Åsidosatt",
|
|
26
|
+
"detail.field_detail": "Fältdetaljer",
|
|
27
|
+
"detail.close_panel": "Stäng panel",
|
|
28
|
+
"detail.type_label": "Typ:",
|
|
29
|
+
"detail.secret_badge": "HEMLIG",
|
|
30
|
+
"detail.secret_value": "•••••••• (hemlig)",
|
|
31
|
+
"config.file_not_found": "(hittades inte)",
|
|
32
|
+
"config.edit_tooltip": "Redigera ${name}",
|
|
33
|
+
"edit.title": "Redigera runtime-inställning",
|
|
34
|
+
"edit.open_dashboard": "Öppna i inställningspanelen ↗",
|
|
35
|
+
"edit.loading": "Läser in inställning…",
|
|
36
|
+
"edit.close_panel": "Stäng panel",
|
|
37
|
+
"edit.edit_setting": "Redigera runtime-inställning",
|
|
38
|
+
"edit.key_label": "Nyckel",
|
|
39
|
+
"edit.value_type_label": "Värdetyp",
|
|
40
|
+
"edit.value_label": "Värde",
|
|
41
|
+
"edit.description_label": "Beskrivning",
|
|
42
|
+
"edit.type_string": "sträng",
|
|
43
|
+
"edit.type_integer": "heltal",
|
|
44
|
+
"edit.type_float": "decimaltal",
|
|
45
|
+
"edit.type_boolean": "boolesk",
|
|
46
|
+
"edit.type_datetime": "datum och tid",
|
|
47
|
+
"edit.type_array": "array",
|
|
48
|
+
"edit.enabled": "Aktiverad",
|
|
49
|
+
"edit.cancel": "Avbryt",
|
|
50
|
+
"edit.save": "Spara",
|
|
51
|
+
"edit.saving": "Sparar…",
|
|
52
|
+
"edit.placeholder_array": "En post per rad",
|
|
53
|
+
"edit.placeholder_integer": "Ange ett heltal",
|
|
54
|
+
"edit.placeholder_float": "Ange ett tal",
|
|
55
|
+
"edit.placeholder_datetime": "Ange datum och tid (t.ex. 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "Det gick inte att spara inställningen.",
|
|
57
|
+
"edit.http_error": "Servern returnerade ett fel (HTTP ${status}). Vänligen försök igen.",
|
|
58
|
+
"edit.network_error": "Kan inte nå servern. Kontrollera din anslutning och försök igen.",
|
|
59
|
+
"edit.view_history": "Visa historik",
|
|
60
|
+
"edit.back_to_edit": "← Tillbaka till redigering",
|
|
61
|
+
"edit.history_empty": "Ingen historik hittades för denna inställning.",
|
|
62
|
+
"edit.history_loading": "Laddar historik…",
|
|
63
|
+
"edit.history_prev": "← Nyare",
|
|
64
|
+
"edit.history_next": "Äldre →",
|
|
65
|
+
"edit.history_by": "av",
|
|
66
|
+
"edit.history_deleted": "Raderat",
|
|
67
|
+
"edit.history_created": "Skapat",
|
|
68
|
+
"language.label": "Språk",
|
|
69
|
+
"language.name": "Svenska",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
data/app/locales/ta.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "பயன்பாட்டு உள்ளமைவு",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "உள்ளமைவு ஆய்வாளர்",
|
|
5
|
+
"sidebar.open_nav_menu": "வழிசெலுத்தல் மெனுவைத் திற",
|
|
6
|
+
"sidebar.config_list": "உள்ளமைவு பட்டியல்",
|
|
7
|
+
"sidebar.filter_placeholder": "உள்ளமைவுகள் மற்றும் புலங்களை வடிகட்டு…",
|
|
8
|
+
"sidebar.filter_aria_label": "உள்ளமைவுகளை வடிகட்டு",
|
|
9
|
+
"sidebar.configurations_label": "உள்ளமைவுகள்",
|
|
10
|
+
"sidebar.config_nav": "உள்ளமைவு வழிசெலுத்தல்",
|
|
11
|
+
"search.placeholder": "உள்ளமைவுகளைத் தேடு…",
|
|
12
|
+
"search.filter_aria_label": "உள்ளமைவுகளைத் தேடு",
|
|
13
|
+
"search.clear_aria": "தேர்வை அழித்து பட்டியலுக்கு திரும்பு",
|
|
14
|
+
"config_list.fields": "புலங்கள்",
|
|
15
|
+
"field.secret": "ரகசியம்",
|
|
16
|
+
"field.static": "நிலையான",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "விரிவாக்க கிளிக் செய்யவும்",
|
|
19
|
+
"field.not_set": "அமைக்கப்படவில்லை",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "அமைப்பு",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "இயல்புநிலை",
|
|
24
|
+
"source.active": "● செயலில்",
|
|
25
|
+
"source.overridden": "மேலெழுதப்பட்டது",
|
|
26
|
+
"detail.field_detail": "புல விவரம்",
|
|
27
|
+
"detail.close_panel": "பலகையை மூடு",
|
|
28
|
+
"detail.type_label": "வகை:",
|
|
29
|
+
"detail.secret_badge": "ரகசியம்",
|
|
30
|
+
"detail.secret_value": "•••••••• (ரகசியம்)",
|
|
31
|
+
"config.file_not_found": "(கண்டுபிடிக்கவில்லை)",
|
|
32
|
+
"config.edit_tooltip": "${name} ஐத் திருத்து",
|
|
33
|
+
"edit.title": "இயக்கநேர அமைப்பைத் திருத்து",
|
|
34
|
+
"edit.open_dashboard": "அமைப்புகள் டாஷ்போர்டில் திற ↗",
|
|
35
|
+
"edit.loading": "அமைப்பு ஏற்றப்படுகிறது…",
|
|
36
|
+
"edit.close_panel": "பலகையை மூடு",
|
|
37
|
+
"edit.edit_setting": "இயக்கநேர அமைப்பைத் திருத்து",
|
|
38
|
+
"edit.key_label": "விசை",
|
|
39
|
+
"edit.value_type_label": "மதிப்பு வகை",
|
|
40
|
+
"edit.value_label": "மதிப்பு",
|
|
41
|
+
"edit.description_label": "விளக்கம்",
|
|
42
|
+
"edit.type_string": "சரம்",
|
|
43
|
+
"edit.type_integer": "முழு எண்",
|
|
44
|
+
"edit.type_float": "தசம எண்",
|
|
45
|
+
"edit.type_boolean": "பூலியன்",
|
|
46
|
+
"edit.type_datetime": "தேதி மற்றும் நேரம்",
|
|
47
|
+
"edit.type_array": "அணி",
|
|
48
|
+
"edit.enabled": "இயக்கப்பட்டது",
|
|
49
|
+
"edit.cancel": "ரத்து செய்",
|
|
50
|
+
"edit.save": "சேமி",
|
|
51
|
+
"edit.saving": "சேமிக்கிறது…",
|
|
52
|
+
"edit.placeholder_array": "ஒவ்வொரு வரியிலும் ஒரு பதிவு",
|
|
53
|
+
"edit.placeholder_integer": "ஒரு முழு எண்ணை உள்ளிடவும்",
|
|
54
|
+
"edit.placeholder_float": "ஒரு எண்ணை உள்ளிடவும்",
|
|
55
|
+
"edit.placeholder_datetime": "தேதி மற்றும் நேரத்தை உள்ளிடவும் (எ.கா. 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "அமைப்பை சேமிக்க முடியவில்லை.",
|
|
57
|
+
"edit.http_error": "சேவையகம் பிழையை வழங்கியது (HTTP ${status}). தயவுசெய்து மீண்டும் முயற்சிக்கவும்.",
|
|
58
|
+
"edit.network_error": "சேவையகத்தை அடைய முடியவில்லை. உங்கள் இணைப்பை சரிபார்த்து மீண்டும் முயற்சிக்கவும்.",
|
|
59
|
+
"edit.view_history": "வரலாற்றைக் காண்க",
|
|
60
|
+
"edit.back_to_edit": "← திருத்துவதற்குத் திரும்பு",
|
|
61
|
+
"edit.history_empty": "இந்த அமைப்பிற்கான வரலாறு எதுவும் கிடைக்கவில்லை.",
|
|
62
|
+
"edit.history_loading": "வரலாறு ஏற்றப்படுகிறது…",
|
|
63
|
+
"edit.history_prev": "← புதியது",
|
|
64
|
+
"edit.history_next": "பழையது →",
|
|
65
|
+
"edit.history_by": "மூலம்",
|
|
66
|
+
"edit.history_deleted": "நீக்கப்பட்டது",
|
|
67
|
+
"edit.history_created": "உருவாக்கப்பட்டது",
|
|
68
|
+
"language.label": "மொழி",
|
|
69
|
+
"language.name": "தமிழ்",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
data/app/locales/tr.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "Uygulama yapılandırması",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "Yapılandırma denetleyicisi",
|
|
5
|
+
"sidebar.open_nav_menu": "Gezinme menüsünü aç",
|
|
6
|
+
"sidebar.config_list": "Yapılandırma listesi",
|
|
7
|
+
"sidebar.filter_placeholder": "Yapılandırmaları ve alanları filtrele…",
|
|
8
|
+
"sidebar.filter_aria_label": "Yapılandırmaları filtrele",
|
|
9
|
+
"sidebar.configurations_label": "Yapılandırmalar",
|
|
10
|
+
"sidebar.config_nav": "Yapılandırma gezinmesi",
|
|
11
|
+
"search.placeholder": "Yapılandırmaları ara…",
|
|
12
|
+
"search.filter_aria_label": "Yapılandırmaları ara",
|
|
13
|
+
"search.clear_aria": "Seçimi temizle ve listeye dön",
|
|
14
|
+
"config_list.fields": "alanlar",
|
|
15
|
+
"field.secret": "Gizli",
|
|
16
|
+
"field.static": "Statik",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "Genişletmek için tıklayın",
|
|
19
|
+
"field.not_set": "ayarlanmamış",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "AYAR",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "VARSAYILAN",
|
|
24
|
+
"source.active": "● Etkin",
|
|
25
|
+
"source.overridden": "Geçersiz kılındı",
|
|
26
|
+
"detail.field_detail": "Alan ayrıntısı",
|
|
27
|
+
"detail.close_panel": "Paneli kapat",
|
|
28
|
+
"detail.type_label": "Tür:",
|
|
29
|
+
"detail.secret_badge": "GİZLİ",
|
|
30
|
+
"detail.secret_value": "•••••••• (gizli)",
|
|
31
|
+
"config.file_not_found": "(bulunamadı)",
|
|
32
|
+
"config.edit_tooltip": "${name} öğesini düzenle",
|
|
33
|
+
"edit.title": "Çalışma zamanı ayarını düzenle",
|
|
34
|
+
"edit.open_dashboard": "Ayarlar panosunda aç ↗",
|
|
35
|
+
"edit.loading": "Ayar yükleniyor…",
|
|
36
|
+
"edit.close_panel": "Paneli kapat",
|
|
37
|
+
"edit.edit_setting": "Çalışma zamanı ayarını düzenle",
|
|
38
|
+
"edit.key_label": "Anahtar",
|
|
39
|
+
"edit.value_type_label": "Değer türü",
|
|
40
|
+
"edit.value_label": "Değer",
|
|
41
|
+
"edit.description_label": "Açıklama",
|
|
42
|
+
"edit.type_string": "dize",
|
|
43
|
+
"edit.type_integer": "tam sayı",
|
|
44
|
+
"edit.type_float": "ondalık sayı",
|
|
45
|
+
"edit.type_boolean": "mantıksal",
|
|
46
|
+
"edit.type_datetime": "tarih ve saat",
|
|
47
|
+
"edit.type_array": "dizi",
|
|
48
|
+
"edit.enabled": "Etkin",
|
|
49
|
+
"edit.cancel": "İptal",
|
|
50
|
+
"edit.save": "Kaydet",
|
|
51
|
+
"edit.saving": "Kaydediliyor…",
|
|
52
|
+
"edit.placeholder_array": "Her satıra bir giriş",
|
|
53
|
+
"edit.placeholder_integer": "Bir tam sayı girin",
|
|
54
|
+
"edit.placeholder_float": "Bir sayı girin",
|
|
55
|
+
"edit.placeholder_datetime": "Bir tarih ve saat girin (örn. 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "Ayar kaydedilemedi.",
|
|
57
|
+
"edit.http_error": "Sunucu bir hata döndürdü (HTTP ${status}). Lütfen tekrar deneyin.",
|
|
58
|
+
"edit.network_error": "Sunucuya ulaşılamıyor. Lütfen bağlantınızı kontrol edin ve tekrar deneyin.",
|
|
59
|
+
"edit.view_history": "Geçmişi görüntüle",
|
|
60
|
+
"edit.back_to_edit": "← Düzenlemeye geri dön",
|
|
61
|
+
"edit.history_empty": "Bu ayar için geçmiş bulunamadı.",
|
|
62
|
+
"edit.history_loading": "Geçmiş yükleniyor…",
|
|
63
|
+
"edit.history_prev": "← Daha yeni",
|
|
64
|
+
"edit.history_next": "Daha eski →",
|
|
65
|
+
"edit.history_by": "tarafından",
|
|
66
|
+
"edit.history_deleted": "Silindi",
|
|
67
|
+
"edit.history_created": "Oluşturuldu",
|
|
68
|
+
"language.label": "Dil",
|
|
69
|
+
"language.name": "Türkçe",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
data/app/locales/uk.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "Конфігурація застосунку",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "Інспектор конфігурації",
|
|
5
|
+
"sidebar.open_nav_menu": "Відкрити меню навігації",
|
|
6
|
+
"sidebar.config_list": "Список конфігурацій",
|
|
7
|
+
"sidebar.filter_placeholder": "Фільтрувати конфігурації та поля…",
|
|
8
|
+
"sidebar.filter_aria_label": "Фільтрувати конфігурації",
|
|
9
|
+
"sidebar.configurations_label": "Конфігурації",
|
|
10
|
+
"sidebar.config_nav": "Навігація конфігурацій",
|
|
11
|
+
"search.placeholder": "Пошук конфігурацій…",
|
|
12
|
+
"search.filter_aria_label": "Пошук конфігурацій",
|
|
13
|
+
"search.clear_aria": "Очистити вибір і повернутися до списку",
|
|
14
|
+
"config_list.fields": "поля",
|
|
15
|
+
"field.secret": "Секретно",
|
|
16
|
+
"field.static": "Статичне",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "Натисніть, щоб розгорнути",
|
|
19
|
+
"field.not_set": "не задано",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "НАЛАШТУВАННЯ",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "ЗА ЗАМОВЧУВАННЯМ",
|
|
24
|
+
"source.active": "● Активно",
|
|
25
|
+
"source.overridden": "Перевизначено",
|
|
26
|
+
"detail.field_detail": "Деталі поля",
|
|
27
|
+
"detail.close_panel": "Закрити панель",
|
|
28
|
+
"detail.type_label": "Тип:",
|
|
29
|
+
"detail.secret_badge": "СЕКРЕТНО",
|
|
30
|
+
"detail.secret_value": "•••••••• (секретно)",
|
|
31
|
+
"config.file_not_found": "(не знайдено)",
|
|
32
|
+
"config.edit_tooltip": "Редагувати ${name}",
|
|
33
|
+
"edit.title": "Редагувати налаштування часу виконання",
|
|
34
|
+
"edit.open_dashboard": "Відкрити на панелі налаштувань ↗",
|
|
35
|
+
"edit.loading": "Завантаження налаштування…",
|
|
36
|
+
"edit.close_panel": "Закрити панель",
|
|
37
|
+
"edit.edit_setting": "Редагувати налаштування часу виконання",
|
|
38
|
+
"edit.key_label": "Ключ",
|
|
39
|
+
"edit.value_type_label": "Тип значення",
|
|
40
|
+
"edit.value_label": "Значення",
|
|
41
|
+
"edit.description_label": "Опис",
|
|
42
|
+
"edit.type_string": "рядок",
|
|
43
|
+
"edit.type_integer": "ціле число",
|
|
44
|
+
"edit.type_float": "десяткове число",
|
|
45
|
+
"edit.type_boolean": "логічне значення",
|
|
46
|
+
"edit.type_datetime": "дата і час",
|
|
47
|
+
"edit.type_array": "масив",
|
|
48
|
+
"edit.enabled": "Увімкнено",
|
|
49
|
+
"edit.cancel": "Скасувати",
|
|
50
|
+
"edit.save": "Зберегти",
|
|
51
|
+
"edit.saving": "Збереження…",
|
|
52
|
+
"edit.placeholder_array": "Один запис на рядок",
|
|
53
|
+
"edit.placeholder_integer": "Введіть ціле число",
|
|
54
|
+
"edit.placeholder_float": "Введіть число",
|
|
55
|
+
"edit.placeholder_datetime": "Введіть дату й час (наприклад, 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "Не вдалося зберегти налаштування.",
|
|
57
|
+
"edit.http_error": "Сервер повернув помилку (HTTP ${status}). Будь ласка, спробуйте ще раз.",
|
|
58
|
+
"edit.network_error": "Не вдалося підключитися до сервера. Будь ласка, перевірте зєднання і спробуйте ще раз.",
|
|
59
|
+
"edit.view_history": "Переглянути історію",
|
|
60
|
+
"edit.back_to_edit": "← Назад до редагування",
|
|
61
|
+
"edit.history_empty": "Історію для цього налаштування не знайдено.",
|
|
62
|
+
"edit.history_loading": "Завантаження історії…",
|
|
63
|
+
"edit.history_prev": "← Новіші",
|
|
64
|
+
"edit.history_next": "Старіші →",
|
|
65
|
+
"edit.history_by": "від",
|
|
66
|
+
"edit.history_deleted": "Видалено",
|
|
67
|
+
"edit.history_created": "Створено",
|
|
68
|
+
"language.label": "Мова",
|
|
69
|
+
"language.name": "Українська",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
data/app/locales/ur.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "ایپلی کیشن کی تشکیل",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "تشکیل معائنہ کار",
|
|
5
|
+
"sidebar.open_nav_menu": "نیویگیشن مینو کھولیں",
|
|
6
|
+
"sidebar.config_list": "تشکیلات کی فہرست",
|
|
7
|
+
"sidebar.filter_placeholder": "تشکیلات اور فیلڈز فلٹر کریں…",
|
|
8
|
+
"sidebar.filter_aria_label": "تشکیلات فلٹر کریں",
|
|
9
|
+
"sidebar.configurations_label": "تشکیلات",
|
|
10
|
+
"sidebar.config_nav": "تشکیل نیویگیشن",
|
|
11
|
+
"search.placeholder": "ترتیبات تلاش کریں…",
|
|
12
|
+
"search.filter_aria_label": "ترتیبات تلاش کریں",
|
|
13
|
+
"search.clear_aria": "انتخاب صاف کریں اور فہرست پر واپس جائیں",
|
|
14
|
+
"config_list.fields": "فیلڈز",
|
|
15
|
+
"field.secret": "خفیہ",
|
|
16
|
+
"field.static": "جامد",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "پھیلانے کے لیے کلک کریں",
|
|
19
|
+
"field.not_set": "سیٹ نہیں",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "ترتیب",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "طے شدہ",
|
|
24
|
+
"source.active": "● فعال",
|
|
25
|
+
"source.overridden": "اووررائیڈ شدہ",
|
|
26
|
+
"detail.field_detail": "فیلڈ کی تفصیل",
|
|
27
|
+
"detail.close_panel": "پینل بند کریں",
|
|
28
|
+
"detail.type_label": "قسم:",
|
|
29
|
+
"detail.secret_badge": "خفیہ",
|
|
30
|
+
"detail.secret_value": "•••••••• (خفیہ)",
|
|
31
|
+
"config.file_not_found": "(نہیں ملا)",
|
|
32
|
+
"config.edit_tooltip": "${name} میں ترمیم کریں",
|
|
33
|
+
"edit.title": "رن ٹائم ترتیب میں ترمیم کریں",
|
|
34
|
+
"edit.open_dashboard": "ترتیبات ڈیش بورڈ میں کھولیں ↗",
|
|
35
|
+
"edit.loading": "ترتیب لوڈ ہو رہی ہے…",
|
|
36
|
+
"edit.close_panel": "پینل بند کریں",
|
|
37
|
+
"edit.edit_setting": "رن ٹائم ترتیب میں ترمیم کریں",
|
|
38
|
+
"edit.key_label": "کلید",
|
|
39
|
+
"edit.value_type_label": "قدر کی قسم",
|
|
40
|
+
"edit.value_label": "قدر",
|
|
41
|
+
"edit.description_label": "تفصیل",
|
|
42
|
+
"edit.type_string": "سٹرنگ",
|
|
43
|
+
"edit.type_integer": "صحیح عدد",
|
|
44
|
+
"edit.type_float": "اعشاری عدد",
|
|
45
|
+
"edit.type_boolean": "بولین",
|
|
46
|
+
"edit.type_datetime": "تاریخ اور وقت",
|
|
47
|
+
"edit.type_array": "ارے",
|
|
48
|
+
"edit.enabled": "فعال",
|
|
49
|
+
"edit.cancel": "منسوخ کریں",
|
|
50
|
+
"edit.save": "محفوظ کریں",
|
|
51
|
+
"edit.saving": "محفوظ کیا جا رہا ہے…",
|
|
52
|
+
"edit.placeholder_array": "ہر سطر میں ایک اندراج",
|
|
53
|
+
"edit.placeholder_integer": "ایک صحیح عدد درج کریں",
|
|
54
|
+
"edit.placeholder_float": "ایک عدد درج کریں",
|
|
55
|
+
"edit.placeholder_datetime": "تاریخ اور وقت درج کریں (مثلاً 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "ترتیب محفوظ نہ ہو سکی۔",
|
|
57
|
+
"edit.http_error": "سرور نے ایک خامی لوٹائی (HTTP ${status})۔ براہ کرم دوبارہ کوشش کریں۔",
|
|
58
|
+
"edit.network_error": "سرور تک پہنچنے سے قاصر۔ براہ کرم اپنا کنکشن چیک کریں اور دوبارہ کوشش کریں۔",
|
|
59
|
+
"edit.view_history": "تاریخچہ دیکھیں",
|
|
60
|
+
"edit.back_to_edit": "← ترمیم پر واپس جائیں",
|
|
61
|
+
"edit.history_empty": "اس ترتیب کے لئے کوئی تاریخچہ نہیں ملا۔",
|
|
62
|
+
"edit.history_loading": "تاریخچہ لوڈ ہو رہا ہے…",
|
|
63
|
+
"edit.history_prev": "← نیا",
|
|
64
|
+
"edit.history_next": "پرانا →",
|
|
65
|
+
"edit.history_by": "کی طرف سے",
|
|
66
|
+
"edit.history_deleted": "حذف کر دیا گیا",
|
|
67
|
+
"edit.history_created": "تشکیل دیا گیا",
|
|
68
|
+
"language.label": "زبان",
|
|
69
|
+
"language.name": "اردو",
|
|
70
|
+
"dir": "rtl"
|
|
71
|
+
}
|
data/app/locales/vi.json
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "Cấu hình ứng dụng",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "Trình kiểm tra cấu hình",
|
|
5
|
+
"sidebar.open_nav_menu": "Mở menu điều hướng",
|
|
6
|
+
"sidebar.config_list": "Danh sách cấu hình",
|
|
7
|
+
"sidebar.filter_placeholder": "Lọc cấu hình và trường…",
|
|
8
|
+
"sidebar.filter_aria_label": "Lọc cấu hình",
|
|
9
|
+
"sidebar.configurations_label": "Cấu hình",
|
|
10
|
+
"sidebar.config_nav": "Điều hướng cấu hình",
|
|
11
|
+
"search.placeholder": "Tìm kiếm cấu hình…",
|
|
12
|
+
"search.filter_aria_label": "Tìm kiếm cấu hình",
|
|
13
|
+
"search.clear_aria": "Xóa lựa chọn và quay lại danh sách",
|
|
14
|
+
"config_list.fields": "các trường",
|
|
15
|
+
"field.secret": "Bí mật",
|
|
16
|
+
"field.static": "Tĩnh",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "Bấm để mở rộng",
|
|
19
|
+
"field.not_set": "chưa đặt",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "CÀI ĐẶT",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "MẶC ĐỊNH",
|
|
24
|
+
"source.active": "● Hoạt động",
|
|
25
|
+
"source.overridden": "Bị ghi đè",
|
|
26
|
+
"detail.field_detail": "Chi tiết trường",
|
|
27
|
+
"detail.close_panel": "Đóng bảng",
|
|
28
|
+
"detail.type_label": "Loại:",
|
|
29
|
+
"detail.secret_badge": "BÍ MẬT",
|
|
30
|
+
"detail.secret_value": "•••••••• (bí mật)",
|
|
31
|
+
"config.file_not_found": "(không tìm thấy)",
|
|
32
|
+
"config.edit_tooltip": "Chỉnh sửa ${name}",
|
|
33
|
+
"edit.title": "Chỉnh sửa cài đặt runtime",
|
|
34
|
+
"edit.open_dashboard": "Mở trong bảng điều khiển cài đặt ↗",
|
|
35
|
+
"edit.loading": "Đang tải cài đặt…",
|
|
36
|
+
"edit.close_panel": "Đóng bảng",
|
|
37
|
+
"edit.edit_setting": "Chỉnh sửa cài đặt runtime",
|
|
38
|
+
"edit.key_label": "Khóa",
|
|
39
|
+
"edit.value_type_label": "Loại giá trị",
|
|
40
|
+
"edit.value_label": "Giá trị",
|
|
41
|
+
"edit.description_label": "Mô tả",
|
|
42
|
+
"edit.type_string": "chuỗi",
|
|
43
|
+
"edit.type_integer": "số nguyên",
|
|
44
|
+
"edit.type_float": "số thập phân",
|
|
45
|
+
"edit.type_boolean": "boolean",
|
|
46
|
+
"edit.type_datetime": "ngày giờ",
|
|
47
|
+
"edit.type_array": "mảng",
|
|
48
|
+
"edit.enabled": "Bật",
|
|
49
|
+
"edit.cancel": "Hủy",
|
|
50
|
+
"edit.save": "Lưu",
|
|
51
|
+
"edit.saving": "Đang lưu…",
|
|
52
|
+
"edit.placeholder_array": "Mỗi dòng một mục",
|
|
53
|
+
"edit.placeholder_integer": "Nhập một số nguyên",
|
|
54
|
+
"edit.placeholder_float": "Nhập một số",
|
|
55
|
+
"edit.placeholder_datetime": "Nhập ngày giờ (ví dụ: 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "Không thể lưu cài đặt.",
|
|
57
|
+
"edit.http_error": "Máy chủ trả về một lỗi (HTTP ${status}). Vui lòng thử lại.",
|
|
58
|
+
"edit.network_error": "Không thể kết nối với máy chủ. Vui lòng kiểm tra kết nối của bạn và thử lại.",
|
|
59
|
+
"edit.view_history": "Xem lịch sử",
|
|
60
|
+
"edit.back_to_edit": "← Quay lại chỉnh sửa",
|
|
61
|
+
"edit.history_empty": "Không tìm thấy lịch sử cho cài đặt này.",
|
|
62
|
+
"edit.history_loading": "Đang tải lịch sử…",
|
|
63
|
+
"edit.history_prev": "← Mới hơn",
|
|
64
|
+
"edit.history_next": "Cũ hơn →",
|
|
65
|
+
"edit.history_by": "bởi",
|
|
66
|
+
"edit.history_deleted": "Đã xóa",
|
|
67
|
+
"edit.history_created": "Đã tạo",
|
|
68
|
+
"language.label": "Ngôn ngữ",
|
|
69
|
+
"language.name": "Tiếng Việt",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "应用配置",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "配置检查器",
|
|
5
|
+
"sidebar.open_nav_menu": "打开导航菜单",
|
|
6
|
+
"sidebar.config_list": "配置列表",
|
|
7
|
+
"sidebar.filter_placeholder": "筛选配置和字段…",
|
|
8
|
+
"sidebar.filter_aria_label": "筛选配置",
|
|
9
|
+
"sidebar.configurations_label": "配置",
|
|
10
|
+
"sidebar.config_nav": "配置导航",
|
|
11
|
+
"search.placeholder": "搜索配置…",
|
|
12
|
+
"search.filter_aria_label": "搜索配置",
|
|
13
|
+
"search.clear_aria": "清除选择并返回列表",
|
|
14
|
+
"config_list.fields": "字段",
|
|
15
|
+
"field.secret": "机密",
|
|
16
|
+
"field.static": "静态",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "点击展开",
|
|
19
|
+
"field.not_set": "未设置",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "设置",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "默认",
|
|
24
|
+
"source.active": "● 当前生效",
|
|
25
|
+
"source.overridden": "已覆盖",
|
|
26
|
+
"detail.field_detail": "字段详情",
|
|
27
|
+
"detail.close_panel": "关闭面板",
|
|
28
|
+
"detail.type_label": "类型:",
|
|
29
|
+
"detail.secret_badge": "机密",
|
|
30
|
+
"detail.secret_value": "•••••••• (机密)",
|
|
31
|
+
"config.file_not_found": "(未找到)",
|
|
32
|
+
"config.edit_tooltip": "编辑 ${name}",
|
|
33
|
+
"edit.title": "编辑运行时设置",
|
|
34
|
+
"edit.open_dashboard": "在设置仪表板中打开 ↗",
|
|
35
|
+
"edit.loading": "正在加载设置…",
|
|
36
|
+
"edit.close_panel": "关闭面板",
|
|
37
|
+
"edit.edit_setting": "编辑运行时设置",
|
|
38
|
+
"edit.key_label": "键",
|
|
39
|
+
"edit.value_type_label": "值类型",
|
|
40
|
+
"edit.value_label": "值",
|
|
41
|
+
"edit.description_label": "说明",
|
|
42
|
+
"edit.type_string": "字符串",
|
|
43
|
+
"edit.type_integer": "整数",
|
|
44
|
+
"edit.type_float": "浮点数",
|
|
45
|
+
"edit.type_boolean": "布尔值",
|
|
46
|
+
"edit.type_datetime": "日期时间",
|
|
47
|
+
"edit.type_array": "数组",
|
|
48
|
+
"edit.enabled": "已启用",
|
|
49
|
+
"edit.cancel": "取消",
|
|
50
|
+
"edit.save": "保存",
|
|
51
|
+
"edit.saving": "正在保存…",
|
|
52
|
+
"edit.placeholder_array": "每行一项",
|
|
53
|
+
"edit.placeholder_integer": "请输入整数",
|
|
54
|
+
"edit.placeholder_float": "请输入数字",
|
|
55
|
+
"edit.placeholder_datetime": "请输入日期时间 (例如 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "保存设置失败。",
|
|
57
|
+
"edit.http_error": "服务器返回错误 (HTTP ${status})。请重试。",
|
|
58
|
+
"edit.network_error": "无法连接到服务器。请检查您的连接并重试。",
|
|
59
|
+
"edit.view_history": "查看历史记录",
|
|
60
|
+
"edit.back_to_edit": "← 返回编辑",
|
|
61
|
+
"edit.history_empty": "未找到此设置的历史记录。",
|
|
62
|
+
"edit.history_loading": "正在加载历史记录…",
|
|
63
|
+
"edit.history_prev": "← 较新",
|
|
64
|
+
"edit.history_next": "较旧 →",
|
|
65
|
+
"edit.history_by": "由",
|
|
66
|
+
"edit.history_deleted": "已删除",
|
|
67
|
+
"edit.history_created": "已创建",
|
|
68
|
+
"language.label": "语言",
|
|
69
|
+
"language.name": "简体中文",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"page.title": "應用程式設定",
|
|
3
|
+
"page.brand_title": "UltraSettings",
|
|
4
|
+
"page.brand_subtitle": "設定檢查器",
|
|
5
|
+
"sidebar.open_nav_menu": "開啟導覽選單",
|
|
6
|
+
"sidebar.config_list": "設定清單",
|
|
7
|
+
"sidebar.filter_placeholder": "篩選設定與欄位…",
|
|
8
|
+
"sidebar.filter_aria_label": "篩選設定",
|
|
9
|
+
"sidebar.configurations_label": "設定",
|
|
10
|
+
"sidebar.config_nav": "設定導覽",
|
|
11
|
+
"search.placeholder": "搜尋配置…",
|
|
12
|
+
"search.filter_aria_label": "搜尋配置",
|
|
13
|
+
"search.clear_aria": "清除選取並返回列表",
|
|
14
|
+
"config_list.fields": "欄位",
|
|
15
|
+
"field.secret": "機密",
|
|
16
|
+
"field.static": "靜態",
|
|
17
|
+
"field.nil": "nil",
|
|
18
|
+
"field.click_to_expand": "點擊以展開",
|
|
19
|
+
"field.not_set": "未設定",
|
|
20
|
+
"source.env": "ENV",
|
|
21
|
+
"source.setting": "設定",
|
|
22
|
+
"source.yaml": "YAML",
|
|
23
|
+
"source.default": "預設",
|
|
24
|
+
"source.active": "● 目前生效",
|
|
25
|
+
"source.overridden": "已覆寫",
|
|
26
|
+
"detail.field_detail": "欄位詳細資料",
|
|
27
|
+
"detail.close_panel": "關閉面板",
|
|
28
|
+
"detail.type_label": "類型:",
|
|
29
|
+
"detail.secret_badge": "機密",
|
|
30
|
+
"detail.secret_value": "•••••••• (機密)",
|
|
31
|
+
"config.file_not_found": "(找不到)",
|
|
32
|
+
"config.edit_tooltip": "編輯 ${name}",
|
|
33
|
+
"edit.title": "編輯執行階段設定",
|
|
34
|
+
"edit.open_dashboard": "在設定儀表板中開啟 ↗",
|
|
35
|
+
"edit.loading": "正在載入設定…",
|
|
36
|
+
"edit.close_panel": "關閉面板",
|
|
37
|
+
"edit.edit_setting": "編輯執行階段設定",
|
|
38
|
+
"edit.key_label": "鍵",
|
|
39
|
+
"edit.value_type_label": "值類型",
|
|
40
|
+
"edit.value_label": "值",
|
|
41
|
+
"edit.description_label": "描述",
|
|
42
|
+
"edit.type_string": "字串",
|
|
43
|
+
"edit.type_integer": "整數",
|
|
44
|
+
"edit.type_float": "浮點數",
|
|
45
|
+
"edit.type_boolean": "布林值",
|
|
46
|
+
"edit.type_datetime": "日期時間",
|
|
47
|
+
"edit.type_array": "陣列",
|
|
48
|
+
"edit.enabled": "已啟用",
|
|
49
|
+
"edit.cancel": "取消",
|
|
50
|
+
"edit.save": "儲存",
|
|
51
|
+
"edit.saving": "儲存中…",
|
|
52
|
+
"edit.placeholder_array": "每行一項",
|
|
53
|
+
"edit.placeholder_integer": "請輸入整數",
|
|
54
|
+
"edit.placeholder_float": "請輸入數字",
|
|
55
|
+
"edit.placeholder_datetime": "請輸入日期時間 (例如 2025-01-15T10:30:00Z)",
|
|
56
|
+
"edit.save_error": "儲存設定失敗。",
|
|
57
|
+
"edit.http_error": "伺服器回傳錯誤 (HTTP ${status})。請重試。",
|
|
58
|
+
"edit.network_error": "無法連線至伺服器。請檢查您的連線並重試。",
|
|
59
|
+
"edit.view_history": "查看歷史記錄",
|
|
60
|
+
"edit.back_to_edit": "← 返回編輯",
|
|
61
|
+
"edit.history_empty": "未找到此設定的歷史記錄。",
|
|
62
|
+
"edit.history_loading": "正在加載歷史記錄…",
|
|
63
|
+
"edit.history_prev": "← 較新",
|
|
64
|
+
"edit.history_next": "較舊 →",
|
|
65
|
+
"edit.history_by": "由",
|
|
66
|
+
"edit.history_deleted": "已刪除",
|
|
67
|
+
"edit.history_created": "已創建",
|
|
68
|
+
"language.label": "語言",
|
|
69
|
+
"language.name": "繁體中文",
|
|
70
|
+
"dir": "ltr"
|
|
71
|
+
}
|
|
@@ -18,17 +18,20 @@ module UltraSettings
|
|
|
18
18
|
# Initialize the application view with a color scheme.
|
|
19
19
|
#
|
|
20
20
|
# @param color_scheme [Symbol] The color scheme to use (:light, :dark, or :system).
|
|
21
|
-
|
|
21
|
+
# @param locale [String] The locale code for translations.
|
|
22
|
+
def initialize(color_scheme: :light, locale: UltraSettings::MiniI18n::DEFAULT_LOCALE)
|
|
22
23
|
@css = application_css(color_scheme)
|
|
23
24
|
@css = @css.html_safe if @css.respond_to?(:html_safe)
|
|
25
|
+
@locale = locale
|
|
24
26
|
end
|
|
25
27
|
|
|
26
28
|
# Render the HTML for the configuration settings UI.
|
|
27
29
|
#
|
|
28
|
-
# @param select_class [String]
|
|
29
|
-
# @param table_class [String]
|
|
30
|
+
# @param select_class [String] @deprecated; no longer used.
|
|
31
|
+
# @param table_class [String] @deprecated; no longer used.
|
|
30
32
|
# @return [String] The rendered HTML.
|
|
31
33
|
def render(select_class: nil, table_class: nil)
|
|
34
|
+
locale = @locale # used by ERB template via binding
|
|
32
35
|
html = ViewHelper.erb_template("index.html.erb").result(binding)
|
|
33
36
|
html = html.html_safe if html.respond_to?(:html_safe)
|
|
34
37
|
html
|
|
@@ -52,6 +55,21 @@ module UltraSettings
|
|
|
52
55
|
|
|
53
56
|
private
|
|
54
57
|
|
|
58
|
+
# Look up a translation key for the current locale.
|
|
59
|
+
#
|
|
60
|
+
# @param key [String] dotted translation key
|
|
61
|
+
# @return [String]
|
|
62
|
+
def t(key)
|
|
63
|
+
UltraSettings::MiniI18n.t(key, locale: @locale)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Return the full translations hash as JSON for inlining into the page.
|
|
67
|
+
#
|
|
68
|
+
# @return [String] JSON string
|
|
69
|
+
def translations_json
|
|
70
|
+
UltraSettings::MiniI18n.translations_for(@locale).to_json
|
|
71
|
+
end
|
|
72
|
+
|
|
55
73
|
def javascript
|
|
56
74
|
ViewHelper.read_app_file("application.js")
|
|
57
75
|
end
|