i18n.patch

VIVOSS company, 11/24/2011 08:52 AM

Download (202 KB)

View differences:

sunstone/views/index.erb (revision 89)
2 2
<html>
3 3
<head>
4 4
    <title>OpenNebula Sunstone: Cloud Operations Center</title>
5
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
5
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
6 6

  
7 7
    <!-- Vendor Libraries -->
8 8
    <link rel="stylesheet" type="text/css" href="vendor/dataTables/demo_table_jui.css" />
......
11 11
    <link rel="stylesheet" type="text/css" href="vendor/jQueryLayout/layout-default-latest.css" />
12 12
    <link rel="stylesheet" href="vendor/noVNC/include/plain.css">
13 13

  
14
    <script type="text/javascript" src="vendor/jQuery/jquery-1.4.4.min.js"></script>
14
    <script type="text/javascript" src="vendor/jQuery/jquery-1.4.4.min.js"></script>  
15 15
    <script type="text/javascript" src="vendor/jGrowl/jquery.jgrowl_minimized.js"></script>
16 16
    <script type="text/javascript" src="vendor/jQueryUI/jquery-ui-1.8.7.custom.min.js"></script>
17 17
    <script type="text/javascript" src="vendor/jQueryLayout/jquery.layout.min-1.2.0.js"></script>
18 18
    <script type="text/javascript" src="vendor/dataTables/jquery.dataTables.min.js"></script>
19 19
    <script language="javascript" type="text/javascript" src="vendor/flot/jquery.flot.min.js"></script>
20
	<script type="text/javascript" src="js/locale.js"></script>
21
    <!--Languages-->
22
    <%if settings.config[:lang]%>   
23
        <script type="text/javascript" src="/locale/<%=settings.config[:lang]%>.js"></script>
24
    <%end%>
25
    <!--endLanguages-->
20 26

  
21 27
    <!-- End Vendor Libraries -->
22 28

  
......
42 48

  
43 49
</head>
44 50
<body>
51

  
45 52
<div class="outer-center">
46 53
    <div class="inner-center">
47 54
    </div>
sunstone/public/locale/ru.js (revision 89)
1
//Переведено ЗАО «ВИВОСС и ОИ», 2011
2

  
3
datatable_lang = "ru_datatable.txt"
4
locale={
5
"information":"информация",
6
"#VMS":"Кол-во ВМ",
7
"+ New Group":"Создать группу",
8
"+ New":"Добавить",
9
". No disk id or image name specified":". Не указано название образа или № диска",
10
"ACL Rules":"Правила контроля доступа",
11
"ACL String preview:":"Предпросмотр правила:",
12
"ACLs":"Списки контроля",
13
"ACPI":"ACPI",
14
//"ACTIVE":"",
15
"Accept (default)":"Принять (по умолчанию)",
16
"Acl create":"Список контроля создан",
17
"Acl delete":"Удален список контроля с номером ",
18
"Acl":"Список контроля доступа",
19
"Add Graphics":"Добавить графические устройства",
20
"Add Hypervisor raw options":"Добавить исходные опции гипервизора",
21
"Add context variables":"Добавить контекстные переменные",
22
"Add custom variables":"Добавить пользовательские переменные",
23
"Add disk/image":"Добавить диск/образ",
24
"Add disks/images":"Добавить диски/образы",
25
"Add inputs":"Добавить устройства ввода",
26
"Add lease":"Добавить адрес",
27
"Add network":"Добавить сеть",
28
"Add placement options":"Добавить опции размещения",
29
"Add to group":"Включить в группу",
30
"Add":"Добавить",
31
"Advanced mode":"Расширенный режим",
32
"Affected resources":"Затрагиваемые правилом ресурсы",
33
"All":"Все",
34
"Allowed operations":"Разрешенные действия",
35
"Amount of RAM required for the VM, in Megabytes.":"Объем ОЗУ (в МБ), необходимый для ВМ.",
36
"Applies to":"Применено к",
37
"ARCH":"Архитектура",
38
"Architecture:":"Архитектура:",
39
"Arguments for the booting kernel":"Параметры для загрузки ядра",
40
"BOOT":"Тип ус-ва загрузки",
41
"BRIDGE":"Шлюз",
42
"BUS":"Тип шины",
43
"Block":"Block",
44
"Boolean expression that rules out provisioning hosts from list of machines suitable to run this VM":"Логическое выражение, исключающее элементы из списка узлов, подходящих для запуска данной ВМ",
45
"Boot device type":"Тип устройства загрузки",
46
"Boot method:":"Метод загрузки:",
47
"Boot/OS options":"Загрузка и тип ОС",
48
"Boot:":"Загрузка:",
49
"Bootloader:":"Загрузчик:",
50
"Bridge":"Шлюз",
51
"Bus:":"Тип шины:",
52
"CD-ROM":"CD-ROM",
53
"CLONE":"Образ клонируется",
54
"CPU Monitoring information":"Мониторинг ЦП",
55
"CPU Use":"Использование ЦП",
56
"CPU architecture to virtualization":"Архитектура ЦП для виртуализации",
57
"CPU":"ЦП",
58
"CPUSPEED":"Тактовая частота ЦП",
59
"Cancel":"Отменить",
60
"Canvas not supported.":"Canvas не поддерживается.",
61
"Capacity options":"Настройки производительности",
62
"Capacity":"Производительность",
63
"Change group":"Сменить группу",
64
"Change owner":"Сменить владельца",
65
"Clone this image":"Клонировать образ",
66
"Clone:":"Образ клонируется:",
67
"Confirmation of action":"Подтверждение действия",
68
"Context variable name and value must be filled in":"Поля «Имя переменной» и «Значение» должны быть заполнены",
69
"Context":"Контекст",
70
"Create ACL":"Создать список контроля",
71
"Create VM Template":"Создать шаблон ВМ",
72
"Create Virtual Machine":"Создать виртуальную машину",
73
"Create Virtual Network":"Создать виртуальную сеть",
74
"Create an empty datablock":"Создать пустой блок данных", //!!
75
"Create group":"Создать группу",
76
"Create host":"Создать узел",
77
"Create user":"Создать пользователя",
78
"Create":"Создать",
79
"Current NICs:":"Текущие контроллеры сет. интерфейса:",
80
"Current disks:":"Текущие диски:",
81
"Current inputs:":"Текущие УВВ:",
82
"Current leases:":"Текущие адреса:",
83
"Current variables:":"Текущее значение:",
84
"Custom variable name and value must be filled in":"Поля «Имя переменной» и «Значение» должны быть заполнены",
85
"Custom variables":"Пользовательские переменные",
86
"DESCRIPTION":"Краткое описание",
87
"DEV_PREFIX":"Префикс устройства",
88
//"DISABLED":"",
89
"DISK":"Сведения о диске",
90
"DISK_ID":"№ диска",
91
"DRIVER":"Драйвер",
92
"Dashboard":"Инф. панель",
93
"Data:":"Данные:",
94
"Datablock":"Блок данных",
95
"Default":"По умолчанию",
96
"Delete from group":"Исключить из группы",
97
"Delete host":"Удалить узел",
98
"Delete":"Удалить",
99
"Deploy # VMs:":"Кол-во экземпляров ВМ для размещения:",
100
"Deploy ID":"№ размещения",
101
"Deploy":"Разместить на узле",
102
"Description:":"Описание:",
103
"Device prefix:":"Префикс устройства:",
104
"Device to be mounted as root":"Устройство, монтируемое как корневое",
105
"Device to map image disk. If set, it will overwrite the default device mapping":"Устройство для образа диска. Если установлено, то оно перезапищет устройсво картографирования по умолчанию.",
106
"Disable":"Отключить",
107
"Disallow access to the VM through the specified ports in the TCP protocol":"Запретить доступ к ВМ через указанные порты для TCP протокола",
108
"Disallow access to the VM through the specified ports in the UDP protocol":"Запретить доступ к ВМ через указанные порты для UDP протокола",
109
"Disk file location path or URL":"Путь расположения файла диска или URL",
110
"Disk type":"Тип диска",
111
"Disk":"Диск",
112
"Disks":"Диски",
113
"Do you want to proceed?":"Хотите продолжить?",
114
"Driver default":"Драйвер по умолчанию",
115
"Driver:":"Драйвер:",
116
"Drivers":"Драйверы",
117
"Drop":"Сбросить",
118
"Dummy":"Заглушка",
119
"EC2":"EC2",
120
"ERROR":"Сведения об ошибках",
121
"Enable":"Включить",
122
"Error":"Ошибка",
123
"FEATURES":"Особенности",
124
//"FIXED":"",
125
"FREECPU":"Незадействованный ресурс ЦП",
126
"FREEMEMORY":"Свободно ОЗУ",
127
"FS type:":"Тип ФС:",
128
"FS":"FS",
129
"Features":"Особенности",
130
"Fields marked with":"Поля помеченные",
131
"File":"Файл",
132
"Filesystem type for the fs images":"Тип файловой системы для образов ФС",
133
"Fixed network":"Фиксированные адреса",
134
"Floppy":"Floppy",
135
"Fold / Unfold all sections":"Свернуть/развернуть все разделы",
136
"Format:":"Формат:",
137
"GRAPHICS":"Параметры графического доступа",
138
"Get Information":"Получить информацию",
139
"Get Pool of my/group\'s resources":"Получить пул доступных мне/группе ресурсов",
140
"Get Pool of resources":"Получить пул ресурсов",
141
"Graphics type:":"Тип ГУ:",
142
"Graphics":"Графические устройства",
143
"Group create":"Группа создана",
144
"Group delete":"Группа удалена",
145
"Group name:":"Название группы:",
146
"Group":"Группа пользователей",
147
"Groups":"Группы",
148
"HOSTNAME":"Название узла",
149
"HW address associated with the network interface":"MAC-адрес, связанный с сетевым интерфейсом",
150
"HYPERVISOR":"Гипервизор",
151
"Hardware that will emulate this network interface. With Xen this is the type attribute of the vif.":"Аппаратное устройствое, которое будет отвечать за эмуляцию сетевого интерфейса. Для Xen это атрибут vif.",
152
"Historical monitoring information":"Мониторинг состояния",
153
"Hold":"Запретить размещение",
154
"Host information":"Состояние узла",
155
"Host parameters":"Параметры узла",
156
"Host shares":"Ресурсы узла",
157
"Host template":"Шаблон узла",
158
"Host":"Узел",
159
"Hostname":"Название узла",
160
"Hosts (total/active)":"Узлы (всего/из них активных)",
161
"Hosts CPU":"Загрузка ЦП",
162
"Hosts memory":"Загрузка ОЗУ",
163
"Hosts":"Узлы",
164
"Human readable description of the image for other users.":"Краткое описание образа.",
165
"ICMP policy":"Политика ICMP",
166
"ID":"№",
167
"IDE":"IDE",
168
"IM MAD":"Модуль ср-ва мониторинга",
169
"IMAGE":"Используемый образ",
170
"IMAGE_ID":"№ образа",
171
//"INIT":"",
172
"IP to listen on":"IP-адрес для прослушивания",
173
"IP":"IP-адрес",
174
"IP:":"IP:",
175
"Icmp:":"Icmp:",
176
"Image information":"Информация об образе",
177
"Image name:":"Название образа:",
178
"Image template":"Шаблон образа",
179
"Images (total/public)":"Образы (всего/из них открытых)",
180
"Images":"Образы ВМ",
181
"Image":"Образ",
182
"Info":"Информация",
183
"Information Manager:":"Cредство мониторинга:",
184
"Information":"Информация",
185
"information":" ",
186
"Initrd:":"Диск нач. иниц.(initrd):",
187
"Inputs":"Устройства ввода",
188
"Instantiate":"Создать экземпляр ВМ",
189
"KVM":"KVM",
190
"Kernel commands:":"Команды ядра:",
191
"Kernel:":"Ядро:",
192
"Keyboard configuration locale to use in the VNC display":"Раскладка клавиатуры, используемая при работе с VNC-дисплеем",
193
"Keymap":"Раскладка клавиатуры",
194
"LCM State":"Текущее состояние ВМ",
195
"LEASES":"АДРЕСА",
196
"LISTEN":"Прослушивать IP", 
197
"Lease IP:":"IP-адрес:",
198
"Lease MAC (opt):":"MAC-адрес (необяз.):",
199
"Lease MAC:":"MAC-адрес:",
200
"Leases information":"Сведения по имеющимся адресам виртуальной сети",
201
"Listen IP:":"Прослушивать IP:",
202
"Live migrate":"Перенести запущенную ВМ",
203
"Loading":"Идет загрузка",
204
"MAC":"MAC-адрес",
205
"MAC:":"MAC-адрес:",
206
"MEMORY":"Объем ОЗУ",
207
"MESSAGE":"Сообщение",
208
"MODELNAME":"Модель ЦП",
209
//"MONITORED":"",
210
//"MONITORING":"",
211
"Make non persistent":"Сделать непостоянным",
212
"Make persistent":"Сделать постоянным",
213
"Manage":"Управлять",
214
"Manual":"В ручную",
215
"Max Mem":"Доступно ОЗУ",
216
"Memory monitoring information":"Мониторинг ОЗУ",
217
"Memory use":"Использование ОЗУ",
218
"Memory":"Память",
219
"Migrate":"Перенести ВМ",
220
"Model:":"Модель:",
221
"Monitoring information":"Мониторинг",
222
"Mount image as read-only":"Монтировать образ только для чтения",
223
"Mouse":"Мышь",
224
"NAME":"Название",
225
"Name for the context variable":"Имя контекстной переменной",
226
"Name for the custom variable":"Имя пользовательской переменной",
227
"Name for the tun device created for the VM":"Имя сетевого туннеля, созданного для ВМ",
228
"Name of a shell script to be executed after creating the tun device for the VM":"shell-скрипт, который будет выполнен после создания сетевого туннеля для ВМ",
229
"Name of the bridge the network device is going to be attached to":"Шлюз, с которым будет связано сетевое устройство",
230
"Name of the image to use":"Название образа для использования",
231
"Name of the network to attach this device":"Сеть, подключаемая к данному устройству",
232
"Name that the Image will get. Every image must have a unique name.":"Название, которое получит образ. Каждый образ должен обладать уникальным названием.",
233
"Name that the VM will get for description purposes. If NAME is not supplied a name generated by one will be in the form of one-&lt;VID&gt;.":"Название, которое получит ВМ. Если название не будет указано, то оно будет сгенерировано в формате one-&lt;№ ВМ&gt;.",
234
"Name":"Название",
235
"Net_RX":"Принято",
236
"Net_TX":"Отправлено",
237
"NETRX":"Принято по сети",
238
"NETTX":"Отправлено по сети",
239
"NETWORK":"Название вирт. сети",
240
"NETWORK_ADDRESS":"Адрес сети",
241
"NETWORK_ID":"№ вирт. сети",
242
"NETWORK_SIZE":"Размер сети",
243
"NIC":"Контроллер сетевого интерфейса",
244
"NO":"нет",
245
"Network Address:":"Адрес сети:",
246
"Network reception":"Сеть: принято",
247
"Network size:":"Размер сети:",
248
"Network transmission":"Сеть: отправлено",
249
"Network type:":"Тип сети:",
250
"Network":"Сеть",
251
"New: ":"Создать новый ресурс: ",
252
"No disks defined":"Дисков не обнаружено",
253
"No":"Нет",
254
"None":"Никакой",
255
"Number of virtual cpus. This value is optional, the default hypervisor behavior is used, usually one virtual CPU.":"Количество виртуальных процессоров. Это значение опционально, используется поведение гипервизора по умолчанию - один виртуальный ЦП.",
256
"OK":"OK",
257
"OS and Boot options":"Опции загрузки и ОС",
258
"OS":"ОС",
259
"Open VNC Session":"Открыть VNC-сессию",
260
"Optional, please select":"Опционально, пожалуйста выберите",
261
"Owned by group":"Принадлежит группе",
262
"Owner":"Владелец",
263
"PAE:":"PAE:",
264
"PATH":"ПУТЬ",
265
"PERSISTENT":"Постоянный",
266
"PORT":"Номер порта доступа",
267
"PS2":"PS/2",
268
"Password for the VNC server":"Пароль для VNC сервера",
269
"Password:":"Пароль:",
270
"Path to the OS kernel to boot the image":"Путь к ядру ОС для загрузки образа",
271
"Path to the bootloader executable":"Путь к исполняемому файлу загрузчика",
272
"Path to the initrd image":"Путь к образу initrd",
273
"Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.":"Путь к исходному файлу, который будет скопирован в хранилище образов. Если путь не указан для типа образа БЛОК ДАННЫХ, то будет создан пустой образ.",
274
"Path vs. source:":"Исходные данные образа:",
275
"Path:":"Путь к эталонному файлу образа:",
276
"Percentage of CPU divided by 100 required for the Virtual Machine. Half a processor is written 0.5.":"Процент процессорного времени ЦП, предоставлемого ВМ, разделенный на 100. Например, для выделения половины процессорного времени следует указать 0.5.",
277
"Permits access to the VM only through the specified ports in the TCP protocol":"Разрешить доступ к ВМ только через указанные порты протокола TCP",
278
"Permits access to the VM only through the specified ports in the UDP protocol":"Разрешить доступ к ВМ только через указанные порты протокола UPD",
279
"Persistence of the image":"Если образ является постоянным, то при каждом завершении работы с полученной на его основе виртуальной машиной все изменения будут сохранены в образе.\n\n Важно помнить, что сохранение выполнится только в случае завершения работы соответствующей ВМ при помощи операций «Выключить» и «Отменить».\n\nПостоянный образ всегда хранится в одном экземпляре.",
280
"Persistent":"Постоянный",
281
"Physical address extension mode allows 32-bit guests to address more than 4 GB of memory":"Режим расширенной физической адресации позволяет использовать 32-битным ВМ больше 4-х ГБ ",
282
"Placement":"Размещение",
283
"Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.":"«Путь к эталонному файлу образа» — образ создается путем копирования эталонного файла образа в хранилище образов.\n\n«Источник» — в данное поле следует указывать местоположение образа (в качестве образа будет использован ресурс, непосредственно указанный в поле «Источник», а не копия этого ресурса).",
284
"Please choose":"Пожалуйста выберите",
285
"Please provide a lease IP":"Необходимо указать IP-адрес",
286
"Please provide a network address":"Укажите адрес сети",
287
"Please provide a resource ID for the resource(s) in this rule":"Необходимо указать № ресурса(ов) для данного правила)",
288
"Please select a group to which the selected resources belong to":"Необходимо выбрать группу пользователей, которой принадлежат выбранные ресурсы",
289
"Please select at least one operation":"Необходимо выбрать по меньшей мере одну операцию",
290
"Please select at least one resource":"Необходимо выбрать по меньшей мере один ресурс",
291
"Please select":"Выберите",
292
"Please specify to who this ACL applies":"Необходимо указать, к кому применять данный список контроля",
293
"Please specify:":"Укажите:",
294
"Please, choose and modify the template you want to update:":"Укажите шаблон, который хотите обновить:",
295
"Port blacklist":"Список запрещенных портов",
296
"Port for the VNC server":"Порт для сервера VNC",
297
"Port whitelist":"Список разрешенных портов",
298
"Port:":"Порт:",
299
"Predefined":"По умолчанию",
300
"Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).":"Префикс эмулируемого устройства, на которое будет смонтирован образ. Например, «hd» и «sd». Если не указать префикс, его значение будет считано из конфигурационного файла oned.conf (значение по умолчанию — «hd»).",
301
"Previous action":"Предыдущее действие",
302
"Provide a path":"Указать путь к эталонному файлу образа",
303
"Provide a source":"Указать источник для образа", 
304
"Public scope of the image":"Информация о доступности образа",
305
"Public":"Открытый",
306
"Publish":"Сделать открытым",
307
"Quickstart":"Типовые операции",
308
//"RANGED":""
309
"RAW":"RAW",
310
"READONLY":"Доступен только на чтение",
311
//"READY":"",
312
"Ranged network":"Диапазон адресов",
313
"Rank:":"Степень:",
314
"Raw data to be passed directly to the hypervisor":"Исходные данные, передаваемые напрямую гипервизору",
315
"Raw":"Исходная опция",
316
"Read only:":"Только чтение:",
317
"Refresh list":"Обновить список",
318
"Register time":"Время регистрации",
319
"Registration time":"Время регистрации",
320
"Release":"Разрешить размещение",
321
"Remove lease":"Удалить адрес",
322
"Remove selected":"Удалить выбранные",
323
"Request an specific IP from the Network":"Запросить определенный IP-адрес из сети",
324
"Requirements:":"Требования:",
325
"Reset":"Сбросить",
326
"Resource ID / Owned by":"№ ресурса / Принадлежит",
327
"Resource ID:":"№ ресурса:",
328
"Resource subset:":"Подмножество ресурсов:",
329
"Restart":"Перезапустить",
330
"Resubmit":"Разместить повторно",
331
"Resume":"Возобновить работу ВМ",
332
"Retrieving...":"Извлечение...",
333
"Root:":"Корень:",
334
"Running VMs":"Запущено ВМ",
335
"SAVE":"Сохранение изменений",
336
"SCSI":"SCSI",
337
"SDL":"SDL",
338
"SHARED":"Общий каталог",
339
"SOURCE":"Источник",
340
"Save as":"Сохранить как",
341
"Save this image after shutting down the VM":"Сохранить образ после выключения ВМ",
342
"Save:":"Сохранить:",
343
"Saveas for VM with ID":"Сохранить как для ВМ с №",
344
"Script:":"Скрипт:",
345
"Select a template":"Выберите шаблон",
346
"Select boot method":"Выберите метод загрузки",
347
"Select disk:":"Выберите диск:",
348
"Select template:":"Использовать шаблон:",
349
"Select the group from which to delete users:":"Выберите группу, из которой требуется исключить пользователей:",
350
"Select the new ":"Выбрать новую группу",
351
"Select the new group to add users:":"Выберите новую группу, в которую требуется включить пользователей:",
352
"Select the new group:":"Выберите новую группу:",
353
"Select the new owner:":"Выбрать нового владельца:",
354
"Setup Networks":"Настройка сетей",
355
"Shutdown":"Выключить",
356
"Size in MB":"Размер в МБ",
357
"Size of the datablock in MB.":"Размер блока данных в МБ.",
358
"Size:":"Размер:",
359
"Skipping VM ":"Пропуск ВМ ",
360
"Source to be used in the DISK attribute. Useful for not file-based images.":"В качестве источника указывается местоположение образа, который планируется использовать непосредственно.",
361
"Source":"Источник",
362
"Specific ID":"Ресурс с конкретным №",
363
"Specific image mapping driver. KVM: raw, qcow2. Xen:tap:aio:, file:. VMware unsupported":"Формат образа виртуального диска. Для KVM: raw, qcow2. Для Xen: tap:aio:, file:. Форматы VMware не поддерживаются",
364
"Start Time":"Время запуска",
365
"Start time":"Время запуска",
366
"State":"Состояние",
367
"Status":"Статус",
368
"Stop":"Остановить",
369
"Submitted":"Выполнено",
370
"Summary of resources":"Использование ресурсов",
371
"Suspend":"Приостановить работу ВМ",
372
"Swap":"Swap",
373
"TARGET":"Ус-во загрузки",
374
"TEMPLATE_ID":"№ шаблона ВМ",
375
"TM MAD":"Модуль ср-ва передачи",
376
"TYPE":"Тип",
377
"Tablet":"Планшетный ПК",
378
"Target:":"Ус-во загрузки:",
379
"Tcp black ports:":"Запрещенные TCP-порты:",
380
"Tcp firewall mode:":"TCP режим брандмауэра:",
381
"Tcp white ports:":"Разрешенные TCP-порты:",
382
"Template information":"Сведения о шаблоне",
383
"Template updated correctly":"Шаблон успешно обновлен",
384
"Template":"Шаблон",
385
"Templates":"Шаблоны ВМ",
386
"There are mandatory fields missing in the OS Boot options section":"В разделе «Загрузка и тип ОС» не заполнены некоторые обязательные поля",
387
"There are mandatory fields missing in the capacity section":"В разделе «Производительность» не заполнены некоторые обязательные поля",
388
"There are mandatory parameters missing in this section":"В данном разделе указаны не все обязательные параметры",
389
"There are mandatory parameters missing":"Указаны не все обязательные параметры",
390
"This field sets which attribute will be used to sort the suitable hosts for this VM. Basically, it defines which hosts are more suitable than others":"В данном поле устанавливается значение атрибута, используемое для ранжирования узлов, пригодных для размещения ВМ. Значение атрибута определяет, какие из узлов лучше подходят для размещения ВМ.",
391
"This rule applies to:":"Прим. правило к:",
392
"This will cancel selected VMs":"Прервать работу выбранных ВМ",
393
"This will change the main group of the selected users. Select the new group:":"Изменение основной группы для выбранных пользователей. Выберите новую группу:",
394
"This will delete the selected VMs from the database":"Удалить выбранные ВМ и связанные с ними образы дисков из базы данных и хранилища образов",
395
"This will deploy the selected VMs on the chosen host":"Разместить выбранные ВМ на определенном узле",
396
"This will hold selected pending VMs from being deployed":"Приостановить процедуру размещения ВМ на узле",
397
"This will initiate the shutdown process in the selected VMs":"Запустить процесс выключения выбранных ВМ",
398
"This will live-migrate the selected VMs to the chosen host":"Перенести выбранные запущенные ВМ, не завершая их работы, с текущих узлов на выбранный",
399
"This will migrate the selected VMs to the chosen host":"Перенести выбранные остановленные ВМ с текущих узлов на выбранный",
400
"This will redeploy selected VMs (in UNKNOWN or BOOT state)":"Повторно выполнить процедуру размещения выбранных ВМ, находящихся в состоянии UNKNOWN или BOOT, на узле",
401
"This will release held machines":"Продолжить ранее приостановленное размещение ВМ на узле",
402
"This will resubmits VMs to PENDING state":"Повторно выполнить попытку размещения выбранных ВМ на одном из доступных узлов системы виртуализации (перевод в состояние PENDING)",
403
"This will resume selected stopped or suspended VMs":"Возобновить работу выбранных остановленных или приостановленных ВМ",
404
"This will stop selected VMs":"Остановить выбранные ВМ",
405
"This will suspend selected machines":"Приостановить выбранные ВМ",
406
"TIMESTAMP":"Время",
407
"TOTALCPU":"Ресурс ЦП",
408
"TOTALMEMORY":"Объем ОЗУ",
409
"Total Leases":"Суммарное количество адресов",
410
"Total VM count":"Количество виртуальных машин",
411
"Transfer Manager:":"Средство передачи:",
412
"Type of disk device to emulate.":"Тип эмулируемого дискового устройства",
413
"Type of disk device to emulate: ide, scsi":"Тип эмулируемого дискового устройства: ide, scsi",
414
"Type of file system to be built. This can be any value understood by mkfs unix command.":"Тип создаваемой ФС. Может быть указан любой тип, который используется в unix-команде mkfs.",
415
"Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).":"Тип. Если не указать тип образа, его значение будет считано из конфигурационного файла oned.conf (значение по умолчанию — «OS»).",
416
"Type":"Тип",
417
"USB":"USB",
418
//"USED":"",
419
"USEDCPU":"Использование ресурса ЦП",
420
"USEDMEMORY":"Используемый объем ОЗУ",
421
"USED_BY":"Экземпляров в использовании",
422
"Udp black ports:":"Запрещенные UPD-порты:",
423
"Udp firewall mode:":"UPD режим брандмауэра:",
424
"Udp white ports:":"Разрешенные UPD-порты:",
425
"Unpublish":"Отменить статус «Открытый»",
426
"Update a template":"Обновить шаблон",
427
"Update template":"Обновить шаблон",
428
"Update":"Обновить",
429
"Use":"Использовать",
430
"Used CPU (allocated)":"Использовано ОЗУ(реально)",
431
"Used CPU (real)":"Использовано ЦП(реально)",
432
"Used CPU":"Используется ЦП",
433
"Used Mem (allocated)":"Использовано ОЗУ(выделено)",
434
"Used Mem (real)":"Использовано ОЗУ(реально)",
435
"Used Memory":"Используется памяти",
436
"Useful for power management, for example, normally required for graceful shutdown to work":"Требуется для корректного завершения работы ВМ средствами системы виртуализации",
437
"User chgrp":"Изменение группы",
438
"User create":"Пользователь создан",
439
"User delete":"Пользователь удален",
440
"User name and password must be filled in":"Необходимо указать и имя пользователя, и пароль",
441
"User":"Пользователь",
442
"Username:":"Имя пользователя:",
443
"Users":"Пользователи",
444
"VCPU":"Кол-во вирт. ЦП",
445
"VCPU:":"Кол-во вирт. ЦП:",
446
"VID":"№ ВМ",
447
"VM Instance":"Экземпляр ВМ",
448
"VM Instances (":"Экземпляры ВМ (",
449
"VM MAD":"Модуль ср-ва виртуализации",
450
"VM Name:":"Название ВМ:",
451
"VM Network stats":"Статистика виртуальных сетей",
452
"VM Save As":"ВМ сохранить как",
453
"VM Template":"Шаблон ВМ",
454
"VM Templates (total/public)":"Шаблоны ВМ (всего/из них открытых)",
455
"VM Templates":"Шаблоны ВМ",
456
"VM information":"Информация о ВМ",
457
"VM log":"Журнал ВМ",
458
"VM template":"Шаблон ВМ",
459
"VM":"ВМ",
460
"VMID":"№ ВМ",
461
"VNC Access":"Доступ по VNC",
462
"VNC Disabled":"VNC недоступно",
463
"VNC Session":"VNC сессия",
464
"VNC connection":"VNC соединение",
465
"VNC":"VNC",
466
"Value of the context variable":"Значение контекстной переменной",
467
"Value of the custom variable":"Значение пользовательской перменной",
468
"Value:":"Значение:",
469
"Virtio (KVM)":"Virtio (KVM)",
470
"Virtio":"Virtio",
471
"Virtual Machine information":"Информация о виртуальной машине",
472
"Virtual Machines":"Вирт. машины",
473
"Virtual Network name missing!":"Отсутствует название виртуальной сети!",
474
"Virtual Network template":"Шаблон виртуальной сети",
475
"Virtual Networks (total/public)":"Виртуальные сети (всего/из них открытых)",
476
"Virtual Networks":"Вирт. сети",
477
"Virtual Network":"Виртуальная сеть",
478
"Virtual Network information":"Информация о виртуальной сети",
479
"Virtual network information":"Информация о виртуальной сети",
480
"Virtual network template":"Шаблон виртуальной сети",
481
"Virtualization Manager:":"Средство виртуализации:",
482
"Wizard KVM":"Шаблон KVM",
483
"Wizard VMware":"Шаблон VMware",
484
"Wizard XEN":"Шаблон XEN",
485
"Wizard":"Мастер настройки",
486
"Write the Virtual Machine template here":"Отредактируйте параметры шаблона ВМ вручную",
487
"Write the Virtual Network template here":"Отредактируйте параметры шаблона вирт. сети вручную",
488
"Write the image template here":"Отредактируйте параметры шаблона образа ВМ вручную",
489
"XEN":"XEN",
490
"Xen templates must specify a boot method":"В шаблон Xen необходимо указывать метод загрузки",
491
"YES":"да",
492
"Yes":"Да",
493
"You have not selected a template":"Вы не выбрали шаблон",
494
"You have to confirm this action.":"Необходимо подтвердить данную операцию.",
495
"You need to select something.":"Вы должны что-нибудь выбрать.",
496
"active":"активных",
497
"are mandatory":"обязательные",
498
"cdrom":"cdrom",
499
"cpu_usage":"использование",
500
"disk id :":"диск №: ",
501
"error":"ошибок",
502
"failed":"дефектных",
503
"fd":"fd",
504
"hd":"hd",
505
"id":"№",
506
"max_cpu":"максимально",
507
"max_mem":"максимально",
508
"mem_usage":"использование",
509
"net_rx":"принято",
510
"net_tx":"отправлено",
511
"network":"network",
512
"no":"никак нет",
513
"running":"запущенных",
514
"total":"всего",
515
"used_cpu":"использовано",
516
"used_mem":"использовано",
517
"yes":"да"
518
};
sunstone/public/locale/ru_datatable.txt (revision 89)
1
{
2
	"sProcessing":   "Ждите. Выполняется обработка...",
3
	"sLengthMenu":   "Показывать _MENU_ элементов списка",
4
	"sZeroRecords":  "Список пуст",
5
	"sInfo":         "Показаны элементы списка с _START_ по _END_ из _TOTAL_",
6
	"sInfoEmpty":    "Список пуст",
7
	"sInfoFiltered": "(отфильтровано из _MAX_ элементов списка)",
8
	"sInfoPostFix":  "",
9
	"sSearch":       "Поиск:",
10
	"sUrl":          "",
11
	"oPaginate": {
12
		"sFirst": "Первая",
13
		"sPrevious": "Предыдущая",
14
		"sNext": "Следующая",
15
		"sLast": "Последняя"
16
	}
17
}
sunstone/public/js/plugins/hosts-tab.js (revision 89)
19 19
var HOST_HISTORY_LENGTH = 40;
20 20
var host_graphs = [
21 21
    {
22
        title : "CPU Monitoring information",
22
        title : tr("CPU Monitoring information"),
23 23
        monitor_resources : "cpu_usage,used_cpu,max_cpu",
24 24
        humanize_figures : false,
25 25
        history_length : HOST_HISTORY_LENGTH
26 26
    },
27 27
    {
28
        title: "Memory monitoring information",
28
        title: tr("Memory monitoring information"),
29 29
        monitor_resources : "mem_usage,used_mem,max_mem",
30 30
        humanize_figures : true,
31 31
        history_length : HOST_HISTORY_LENGTH
......
40 40
<table id="datatable_hosts" class="display">\
41 41
  <thead>\
42 42
    <tr>\
43
      <th class="check"><input type="checkbox" class="check_all" value="">All</input></th>\
44
      <th>ID</th>\
45
      <th>Name</th>\
46
      <th>Running VMs</th>\
47
      <th>CPU Use</th>\
48
      <th>Memory use</th>\
49
      <th>Status</th>\
43
      <th class="check"><input type="checkbox" class="check_all" value="">' + tr('All') + '</input></th>\
44
      <th>' + tr('id') + '</th>\
45
      <th>' + tr('Name') + '</th>\
46
      <th>' + tr('Running VMs') + '</th>\
47
      <th>' + tr('CPU Use') + '</th>\
48
      <th>' + tr('Memory use') + '</th>\
49
      <th>' + tr('Status') + '</th>\
50 50
    </tr>\
51 51
  </thead>\
52 52
  <tbody id="tbodyhosts">\
......
57 57
var create_host_tmpl =
58 58
'<div class="create_form"><form id="create_host_form" action="">\
59 59
  <fieldset>\
60
  <legend style="display:none;">Host parameters</legend>\
61
  <label for="name">Name: </label><input type="text" name="name" id="name" />\
60
  <legend style="display:none;">' + tr('Host parameters') + '</legend>\
61
  <label for="name">' + tr('Name') + ':</label><input type="text" name="name" id="name" />\
62 62
  </fieldset>\
63
  <h3>Drivers</h3>\
63
  <h3>' + tr('Drivers') + '</h3>\
64 64
  <fieldset>\
65 65
    <div class="manager clear" id="vmm_mads">\
66
          <label>Virtualization Manager:</label>\
66
          <label>' + tr('Virtualization Manager:') + '</label>\
67 67
          <select id="vmm_mad" name="vmm">\
68
                <option value="vmm_kvm">KVM</option>\
69
                <option value="vmm_xen">XEN</option>\
70
                <option value="vmm_ec2">EC2</option>\
71
                <option value="vmm_dummy">Dummy</option>\
68
                <option value="vmm_kvm">' + tr('KVM') + '</option>\
69
                <option value="vmm_xen">' + tr('XEN') + '</option>\
70
                <option value="vmm_ec2">' + tr('EC2') + '</option>\
71
                <option value="vmm_dummy">' + tr('Dummy') + '</option>\
72 72
          </select>\
73 73
    </div>\
74 74
    <div class="manager clear" id="im_mads">\
75
      <label>Information Manager:</label>\
75
      <label>' + tr('Information Manager:') + '</label>\
76 76
      <select id="im_mad" name="im">\
77
               <option value="im_kvm">KVM</option>\
78
               <option value="im_xen">XEN</option>\
79
               <option value="im_ec2">EC2</option>\
80
               <option value="im_dummy">Dummy</option>\
77
               <option value="im_kvm">' + tr('KVM') + '</option>\
78
               <option value="im_xen">' + tr('XEN') + '</option>\
79
               <option value="im_ec2">' + tr('EC2') + '</option>\
80
               <option value="im_dummy">' + tr('Dummy') + '</option>\
81 81
      </select>\
82 82
    </div>\
83 83
    <div class="manager clear" id="tm_mads">\
84
      <label>Transfer Manager:</label>\
84
      <label>' + tr('Transfer Manager:') + '</label>\
85 85
       <select id="tm_mad" name="tm">\
86
         <option value="tm_shared">SHARED</option>\
87
         <option value="tm_ssh">SSH</option>\
88
         <option value="tm_dummy">Dummy</option>\
86
         <option value="tm_shared">' + tr('SHARED') + '</option>\
87
         <option value="tm_ssh">' + tr('SSH') + '</option>\
88
         <option value="tm_dummy">' + tr('Dummy') + '</option>\
89 89
       </select>\
90 90
    </div>\
91 91
    </fieldset>\
92 92
    <fieldset>\
93 93
    <div class="form_buttons">\
94
        <div><button class="button" id="create_host_submit" value="OpenNebula.Host.create">Create</button>\
95
        <button class="button" type="reset" value="reset">Reset</button></div>\
94
        <div><button class="button" id="create_host_submit" value="OpenNebula.Host.create">' + tr('Create') + '</button>\
95
        <button class="button" type="reset" value="reset">' + tr('Reset') + '</button></div>\
96 96
    </div>\
97 97
  </fieldset>\
98 98
</form></div>';
......
233 233
        type: "single",
234 234
        call: OpenNebula.Host.update,
235 235
        callback: function() {
236
            notifyMessage("Template updated correctly");
236
            notifyMessage(tr("Template updated correctly"));
237 237
        },
238 238
        error: onError
239 239
    }
......
242 242
var host_buttons = {
243 243
    "Host.refresh" : {
244 244
        type: "image",
245
        text: "Refresh list",
245
        text: tr("Refresh list"),
246 246
        img: "images/Refresh-icon.png"
247 247
        },
248 248
    "Host.create_dialog" : {
249 249
        type: "create_dialog",
250
        text: "+ New"
250
        text: tr("+ New")
251 251
    },
252 252
    "Host.update_dialog" : {
253 253
        type: "action",
254
        text: "Update a template",
254
        text: tr("Update a template"),
255 255
        alwaysActive: true
256 256
    },
257 257
    "Host.enable" : {
258 258
        type: "action",
259
        text: "Enable"
259
        text: tr("Enable")
260 260
    },
261 261
    "Host.disable" : {
262 262
        type: "action",
263
        text: "Disable"
263
        text: tr("Disable")
264 264
    },
265 265
    "Host.delete" : {
266 266
        type: "action",
267
        text: "Delete host"
267
        text: tr("Delete host")
268 268
    }
269 269
};
270 270

  
271 271
var host_info_panel = {
272 272
    "host_info_tab" : {
273
        title: "Host information",
273
        title: tr("Host information"),
274 274
        content:""
275 275
    },
276 276

  
277 277
    "host_template_tab" : {
278
        title: "Host template",
278
        title: tr("Host template"),
279 279
        content: ""
280 280
    },
281 281
    "host_monitoring_tab": {
282
        title: "Monitoring information",
282
        title: tr("Monitoring information"),
283 283
        content: ""
284 284
    }
285 285
};
286 286

  
287 287

  
288 288
var hosts_tab = {
289
    title: 'Hosts',
289
    title: tr('Hosts'),
290 290
    content: hosts_tab_content,
291 291
    buttons: host_buttons
292 292
}
......
420 420

  
421 421
    //Information tab
422 422
    var info_tab = {
423
        title : "Host information",
423
        title : tr("Host information"),
424 424
        content :
425 425
        '<table id="info_host_table" class="info_table">\
426 426
            <thead>\
427
               <tr><th colspan="2">Host information - '+host_info.NAME+'</th></tr>\
427
               <tr><th colspan="2">' + tr('Host information') + ' - '+host_info.NAME+'</th></tr>\
428 428
            </thead>\
429 429
            <tbody>\
430 430
            <tr>\
431
                <td class="key_td">ID</td>\
431
                <td class="key_td">' + tr('id') + '</td>\
432 432
                <td class="value_td">'+host_info.ID+'</td>\
433 433
            </tr>\
434 434
            <tr>\
435
                <td class="key_td">State</td>\
436
                <td class="value_td">'+OpenNebula.Helper.resource_state("host",host_info.STATE)+'</td>\
435
                <td class="key_td">' + tr('State') + '</td>\
436
                <td class="value_td">'+tr(OpenNebula.Helper.resource_state("host",host_info.STATE))+'</td>\
437 437
            </tr>\
438 438
            <tr>\
439
                <td class="key_td">IM MAD</td>\
439
                <td class="key_td">' + tr('IM MAD') + '</td>\
440 440
                <td class="value_td">'+host_info.IM_MAD+'</td>\
441 441
            </tr>\
442 442
            <tr>\
443
                <td class="key_td">VM MAD</td>\
443
                <td class="key_td">' + tr('VM MAD') + '</td>\
444 444
                <td class="value_td">'+host_info.VM_MAD+'</td>\
445 445
            </tr>\
446 446
            <tr>\
447
                <td class="key_td">TM MAD</td>\
447
                <td class="key_td">' + tr('TM MAD') + '</td>\
448 448
                <td class="value_td">'+host_info.TM_MAD+'</td>\
449 449
            </tr>\
450 450
            </tbody>\
451 451
         </table>\
452 452
         <table id="host_shares_table" class="info_table">\
453 453
            <thead>\
454
               <tr><th colspan="2">Host shares</th></tr>\
454
               <tr><th colspan="2">' + tr('Host shares') + '</th></tr>\
455 455
            </thead>\
456 456
            <tbody>\
457 457
               <tr>\
458
                  <td class="key_td">Max Mem</td>\
458
                  <td class="key_td">' + tr('Max Mem') + '</td>\
459 459
                  <td class="value_td">'+humanize_size(host_info.HOST_SHARE.MAX_MEM)+'</td>\
460 460
               </tr>\
461 461
               <tr>\
462
                  <td class="key_td">Used Mem (real)</td>\
462
                  <td class="key_td">' + tr('Used Mem (real)') + '</td>\
463 463
                  <td class="value_td">'+humanize_size(host_info.HOST_SHARE.USED_MEM)+'</td>\
464 464
               </tr>\
465 465
               <tr>\
466
                  <td class="key_td">Used Mem (allocated)</td>\
466
                  <td class="key_td">' + tr('Used Mem (allocated)') + '</td>\
467 467
                  <td class="value_td">'+humanize_size(host_info.HOST_SHARE.MAX_USAGE)+'</td>\
468 468
               </tr>\
469 469
               <tr>\
470
                  <td class="key_td">Used CPU (real)</td>\
470
                  <td class="key_td">' + tr('Used CPU (real)') + '</td>\
471 471
                  <td class="value_td">'+host_info.HOST_SHARE.USED_CPU+'</td>\
472 472
               </tr>\
473 473
               <tr>\
474
                  <td class="key_td">Used CPU (allocated)</td>\
474
                  <td class="key_td">' + tr('Used CPU (allocated)') + '</td>\
475 475
                  <td class="value_td">'+host_info.HOST_SHARE.CPU_USAGE+'</td>\
476 476
               </tr>\
477 477
               <tr>\
478
                  <td class="key_td">Running VMs</td>\
478
                  <td class="key_td">' + tr('Running VMs') + '</td>\
479 479
                  <td class="value_td">'+host_info.HOST_SHARE.RUNNING_VMS+'</td>\
480 480
               </tr>\
481 481
            </tbody>\
......
484 484

  
485 485
    //Template tab
486 486
    var template_tab = {
487
        title : "Host template",
487
        title : tr("Host template"),
488 488
        content :
489 489
        '<table id="host_template_table" class="info_table" style="width:80%">\
490
                <thead><tr><th colspan="2">Host template</th></tr></thead>'+
490
                <thead><tr><th colspan="2">' + tr('Host template') + '</th></tr></thead>'+
491 491
                prettyPrintJSON(host_info.TEMPLATE)+
492 492
                '</table>'
493 493
    }
494 494

  
495 495
    var monitor_tab = {
496
        title: "Monitoring information",
496
        title: tr("Monitoring information"),
497 497
        content : generateMonitoringDivs(host_graphs,"host_monitor_")
498 498
    }
499 499

  
......
513 513

  
514 514
//Prepares the host creation dialog
515 515
function setupCreateHostDialog(){
516
    dialogs_context.append('<div title="Create host" id="create_host_dialog"></div>');
516
    dialogs_context.append('<div title=\"'+tr("Create host")+'\" id="create_host_dialog"></div>');
517 517
    $create_host_dialog = $('div#create_host_dialog');
518 518
    var dialog = $create_host_dialog;
519 519

  
......
529 529
    //Handle the form submission
530 530
    $('#create_host_form',dialog).submit(function(){
531 531
        if (!($('#name',this).val().length)){
532
            notifyError("Host name missing!");
532
            notifyError(tr("Host name missing!"));
533 533
            return false;
534 534
        }
535 535
        var host_json = {
......
596 596
            { "sWidth": "35px", "aTargets": [1] },
597 597
            { "sWidth": "100px", "aTargets": [6] },
598 598
            { "sWidth": "200px", "aTargets": [4,5] }
599
        ]
599
        ],
600
		"oLanguage": (datatable_lang != "") ?
601
		{
602
			"sUrl": "/locale/"+datatable_lang
603
		} : ""
600 604
    });
601 605

  
602 606
    //preload it
sunstone/public/js/plugins/users-tab.js (revision 89)
26 26
<table id="datatable_users" class="display">\
27 27
  <thead>\
28 28
    <tr>\
29
      <th class="check"><input type="checkbox" class="check_all" value="">All</input></th>\
30
      <th>ID</th>\
31
      <th>Name</th>\
32
      <th>Group</th>\
29
      <th class="check"><input type="checkbox" class="check_all" value="">'+tr("All")+'</input></th>\
30
      <th>'+tr("ID")+'</th>\
31
      <th>'+tr("Name")+'</th>\
32
      <th>'+tr("Group")+'</th>\
33 33
    </tr>\
34 34
  </thead>\
35 35
  <tbody id="tbodyusers">\
......
41 41
'<form id="create_user_form" action="">\
42 42
  <fieldset>\
43 43
        <div>\
44
                <label for="username">Username:</label>\
44
                <label for="username">'+tr("Username:")+'</label>\
45 45
                <input type="text" name="username" id="username" /><br />\
46
                <label for="pass">Password:</label>\
46
                <label for="pass">'+tr("Password:")+'</label>\
47 47
                <input type="password" name="pass" id="pass" />\
48 48
        </div>\
49 49
        </fieldset>\
50 50
        <fieldset>\
51 51
        <div class="form_buttons">\
52
                <button class="button" id="create_user_submit" value="user/create">Create</button>\
53
                <button class="button" type="reset" value="reset">Reset</button>\
52
                <button class="button" id="create_user_submit" value="user/create">'+tr("Create")+'</button>\
53
                <button class="button" type="reset" value="reset">'+tr("Reset")+'</button>\
54 54
        </div>\
55 55
</fieldset>\
56 56
</form>';
......
148 148
var user_buttons = {
149 149
    "User.refresh" : {
150 150
        type: "image",
151
        text: "Refresh list",
151
        text: tr("Refresh list"),
152 152
        img: "images/Refresh-icon.png"
153 153
    },
154 154
    "User.create_dialog" : {
155 155
        type: "create_dialog",
156
        text: "+ New"
156
        text: tr("+ New")
157 157
    },
158 158
    "User.chgrp" : {
159 159
        type: "confirm_with_select",
160
        text: "Change group",
160
        text: tr("Change group"),
161 161
        select: groups_sel,
162
        tip: "This will change the main group of the selected users. Select the new group:"
162
        tip: tr("This will change the main group of the selected users. Select the new group:")
163 163
    },
164 164
    // "User.addgroup" : {
165 165
    //     type: "confirm_with_select",
166
    //     text: "Add to group",
166
    //     text: tr("Add to group"),
167 167
    //     select: function(){ return groups_select; },
168
    //     tip: "Select the new group to add users:",
168
    //     tip: tr("Select the new group to add users:"),
169 169
    //     condition: True
170 170
    // },
171 171
    // "User.delgroup" : {
172 172
    //     type: "confirm_with_select",
173
    //     text: "Delete from group",
173
    //     text: tr("Delete from group"),
174 174
    //     select: function(){ return groups_select; },
175 175
    //     tip: "Select the group from which to delete users:",
176 176
    //     condition: True
177 177
    // },
178 178
    "User.delete" : {
179 179
        type: "action",
180
        text: "Delete"
180
        text: tr("Delete")
181 181
    }
182 182
}
183 183

  
184 184
var users_tab = {
185
    title: "Users",
185
    title: tr("Users"),
186 186
    content: users_tab_content,
187 187
    buttons: user_buttons
188 188
}
......
251 251

  
252 252
// Prepare the user creation dialog
253 253
function setupCreateUserDialog(){
254
    dialogs_context.append('<div title="Create user" id="create_user_dialog"></div>');
254
    dialogs_context.append('<div title=\"'+tr("Create user")+'\" id="create_user_dialog"></div>');
255 255
    $create_user_dialog = $('#create_user_dialog',dialogs_context);
256 256
    var dialog = $create_user_dialog;
257 257
    dialog.html(create_user_tmpl);
......
269 269
        var user_name=$('#username',this).val();
270 270
        var user_password=$('#pass',this).val();
271 271
        if (!user_name.length || !user_password.length){
272
            notifyError("User name and password must be filled in");
272
            notifyError(tr("User name and password must be filled in"));
273 273
            return false;
274 274
        }
275 275

  
......
310 310
            { "bSortable": false, "aTargets": ["check"] },
311 311
            { "sWidth": "60px", "aTargets": [0] },
312 312
            { "sWidth": "35px", "aTargets": [1] }
313
        ]
313
        ],
314
		"oLanguage": (datatable_lang != "") ?
315
		{
316
			"sUrl": "/locale/"+datatable_lang
317
		} : ""
314 318
    });
315 319
    dataTable_users.fnClearTable();
316 320
    addElement([
sunstone/public/js/plugins/acls-tab.js (revision 89)
25 25
<table id="datatable_acls" class="display">\
26 26
  <thead>\
27 27
    <tr>\
28
      <th class="check"><input type="checkbox" class="check_all" value="">All</input></th>\
29
      <th>ID</th>\
30
      <th>Applies to</th>\
31
      <th>Affected resources</th>\
32
      <th>Resource ID / Owned by</th>\
33
      <th>Allowed operations</th>\
28
      <th class="check"><input type="checkbox" class="check_all" value="">'+tr("All")+'</input></th>\
29
      <th>'+tr("ID")+'</th>\
30
      <th>'+tr("Applies to")+'</th>\
31
      <th>'+tr("Affected resources")+'</th>\
32
      <th>'+tr("Resource ID / Owned by")+'</th>\
33
      <th>'+tr("Allowed operations")+'</th>\
34 34
    </tr>\
35 35
  </thead>\
36 36
  <tbody id="tbodyaclss">\
......
42 42
'<form id="create_acl_form" action="">\
43 43
  <fieldset>\
44 44
        <div>\
45
                <label for="applies">This rule applies to:</label>\
45
                <label for="applies">'+tr("This rule applies to:")+'</label>\
46 46
                <select name="applies" id="applies"></select>\
47 47
                <div class="clear"></div>\
48
                <label style="height:9em">Affected resources:</label>\
49
                <input type="checkbox" name="res_host" class="resource_cb" value="HOST">Hosts</input><br />\
50
                <input type="checkbox" name="res_vm" class="resource_cb" value="VM">Virtual Machines</input><br />\
51
                <input type="checkbox" name="res_net" class="resource_cb" value="NET">Virtual Networks</input><br />\
52
                <input type="checkbox" name="res_image" class="resource_cb" value="IMAGE">Images</input><br />\
53
                <input type="checkbox" name="res_template" class="resource_cb" value="TEMPLATE">Templates</input><br />\
54
                <input type="checkbox" name="res_user" class="resource_cb" value="USER">Users</input><br />\
55
                <input type="checkbox" name="res_group" class="resource_cb" value="GROUP">Groups</input><br />\
48
                <label style="height:9em">'+tr("Affected resources")+':</label>\
49
                <input type="checkbox" name="res_host" class="resource_cb" value="HOST">'+tr("Hosts")+'</input><br />\
50
                <input type="checkbox" name="res_vm" class="resource_cb" value="VM">'+tr("Virtual Machines")+'</input><br />\
51
                <input type="checkbox" name="res_net" class="resource_cb" value="NET">'+tr("Virtual Networks")+'</input><br />\
52
                <input type="checkbox" name="res_image" class="resource_cb" value="IMAGE">'+tr("Images")+'</input><br />\
53
                <input type="checkbox" name="res_template" class="resource_cb" value="TEMPLATE">'+tr("Templates")+'</input><br />\
54
                <input type="checkbox" name="res_user" class="resource_cb" value="USER">'+tr("Users")+'</input><br />\
55
                <input type="checkbox" name="res_group" class="resource_cb" value="GROUP">'+tr("Groups")+'</input><br />\
56 56
                <div class="clear"></div>\
57
                <label for="mode_select" style="height:3em;">Resource subset:</label>\
58
                <input type="radio" class="res_subgroup" name="mode_select" value="*" id="res_subgroup_all">All</input><br />\
59
                <input type="radio" class="res_subgroup" name="mode_select" value="res_id" id="res_subgroup_id">Specific ID</input><br />\
60
                <input type="radio" class="res_subgroup" name="mode_select" value="belonging_to" id="res_subgroup_group">Owned by group</input><br />\
57
                <label for="mode_select" style="height:3em;">'+tr("Resource subset:")+'</label>\
58
                <input type="radio" class="res_subgroup" name="mode_select" value="*" id="res_subgroup_all">'+tr("All")+'</input><br />\
59
                <input type="radio" class="res_subgroup" name="mode_select" value="res_id" id="res_subgroup_id">'+tr("Specific ID")+'</input><br />\
60
                <input type="radio" class="res_subgroup" name="mode_select" value="belonging_to" id="res_subgroup_group">'+tr("Owned by group")+'</input><br />\
61 61
                <div class="clear"></div>\
62
                <label for="res_id">Resource ID:</label>\
62
                <label for="res_id">'+tr("Resource ID:")+'</label>\
63 63
                <input type="text" name="res_id" id="res_id"></input>\
64 64
                <div class="clear"></div>\
65
                <label for="belonging_to">Group:</label>\
65
                <label for="belonging_to">'+tr("Group")+':</label>\
66 66
                <select name="belonging_to" id="belonging_to"></select>\
67 67
                <div class="clear"></div>\
68
                <label style="height:12em;">Allowed operations:</label>\
69
                <input type="checkbox" name="right_create" class="right_cb" value="CREATE">Create</input><br />\
70
                <input type="checkbox" name="right_delete" class="right_cb" value="DELETE">Delete</input><br />\
71
                <input type="checkbox" name="right_use" class="right_cb" value="USE">Use</input><br />\
72
                <input type="checkbox" name="right_manage" class="right_cb" value="MANAGE">Manage</input><br />\
73
                <input type="checkbox" name="right_info" class="right_cb" value="INFO">Get Information</input><br />\
74
                <input type="checkbox" name="right_info_pool" class="right_cb" value="INFO_POOL">Get Pool of resources</input><br />\
75
                <input type="checkbox" name="right_info_pool_mine" class="right_cb" value="INFO_POOL_MINE">Get Pool of my/group\'s resources</input><br />\
76
                <input type="checkbox" name="right_chown" class="right_cb" value="CHOWN">Change owner</input><br />\
77
                <input type="checkbox" name="right_deploy" class="right_cb" value="DEPLOY">Deploy</input><br />\
68
                <label style="height:12em;">'+tr("Allowed operations")+':</label>\
69
                <input type="checkbox" name="right_create" class="right_cb" value="CREATE">'+tr("Create")+'</input><br />\
70
                <input type="checkbox" name="right_delete" class="right_cb" value="DELETE">'+tr("Delete")+'</input><br />\
71
                <input type="checkbox" name="right_use" class="right_cb" value="USE">'+tr("Use")+'</input><br />\
72
                <input type="checkbox" name="right_manage" class="right_cb" value="MANAGE">'+tr("Manage")+'</input><br />\
73
                <input type="checkbox" name="right_info" class="right_cb" value="INFO">'+tr("Get Information")+'</input><br />\
74
                <input type="checkbox" name="right_info_pool" class="right_cb" value="INFO_POOL">'+tr("Get Pool of resources")+'</input><br />\
75
                <input type="checkbox" name="right_info_pool_mine" class="right_cb" value="INFO_POOL_MINE">'+tr("Get Pool of my/group\'s resources")+'</input><br />\
76
                <input type="checkbox" name="right_chown" class="right_cb" value="CHOWN">'+tr("Change owner")+'</input><br />\
77
                <input type="checkbox" name="right_deploy" class="right_cb" value="DEPLOY">'+tr("Deploy")+'</input><br />\
78 78
                <div class="clear"></div>\
79
                <label for="acl_preview">ACL String preview:</label>\
79
                <label for="acl_preview">'+tr("ACL String preview:")+'</label>\
80 80
                <input type="text" name="acl_preview" id="acl_preview" style="width:400px;"></input>\
81 81
        </div>\
82 82
        </fieldset>\
83 83
        <fieldset>\
84 84
        <div class="form_buttons">\
85
                <button class="button" id="create_acl_submit" value="Acl.create">Create</button>\
86
                <button class="button" type="reset" value="reset">Reset</button>\
85
                <button class="button" id="create_acl_submit" value="Acl.create">'+tr("Create")+'</button>\
86
                <button class="button" type="reset" value="reset">'+tr("Reset")+'</button>\
87 87
        </div>\
88 88
</fieldset>\
89 89
</form>';
......
143 143
var acl_buttons = {
144 144
    "Acl.refresh" : {
145 145
        type: "image",
146
        text: "Refresh list",
146
        text: tr("Refresh list"),
147 147
        img: "images/Refresh-icon.png"
148 148
    },
149 149
    "Acl.create_dialog" : {
150 150
        type: "create_dialog",
151
        text: "+ New"
151
        text: tr("+ New")
152 152
    },
153 153
    "Acl.delete" : {
154 154
        type: "action",
155
        text: "Delete"
155
        text: tr("Delete")
156 156
    }
157 157
}
158 158

  
159 159
var acls_tab = {
160
    title: "ACLs",
160
    title: tr("ACLs"),
161 161
    content: acls_tab_content,
162 162
    buttons: acl_buttons
163 163
}
......
232 232
    for (var i=0; i<resources_array.length;i++){
233 233
        switch (resources_array[i]){
234 234
        case "HOST":
235
            resources_str+="Hosts, ";
235
            resources_str+=tr("Hosts")+", ";
236 236
            break;
237 237
        case "VM":
238
            resources_str+="Virtual Machines, ";
238
            resources_str+=tr("Virtual Machines")+", ";
239 239
            break;
240 240
        case "NET":
241
            resources_str+="Virtual Networks, ";
241
            resources_str+=tr("Virtual Networks")+", ";
242 242
            break;
243 243
        case "IMAGE":
244
            resources_str+="Images, ";
244
            resources_str+=(tr("Images")+", ");
245 245
            break;
246 246
        case "TEMPLATE":
247
            resources_str+="VM Templates, ";
247
            resources_str+=tr("VM Templates")+", ";
248 248
            break;
249 249
        case "USER":
250
            resources_str+="Users, ";
250
            resources_str+=tr("Users")+", ";
251 251
            break;
252 252
        case "GROUP":
253
            resources_str+="Groups, ";
253
            resources_str+=tr("Groups")+", ";
254 254
            break;
255 255
        };
256 256
    };
......
303 303
}
304 304

  
305 305
function setupCreateAclDialog(){
306
    dialogs_context.append('<div title="Create ACL" id="create_acl_dialog"></div>');
306
    dialogs_context.append('<div title=\"'+tr("Create ACL")+'\" id="create_acl_dialog"></div>');
307 307
    $create_acl_dialog = $('#create_acl_dialog',dialogs_context);
308 308
    var dialog = $create_acl_dialog;
309 309
    dialog.html(create_acl_tmpl);
......
391 391
    $('#create_acl_form',dialog).submit(function(){
392 392
        var user = $('#applies',this).val();
393 393
        if (!user.length) {
394
            notifyError("Please specify to who this ACL applies");
394
            notifyError(tr("Please specify to who this ACL applies"));
395 395
            return false;
396 396
        };
397 397

  
398 398
        var resources = $('.resource_cb:checked',this).length;
399 399
        if (!resources) {
400
            notifyError("Please select at least one resource");
400
            notifyError(tr("Please select at least one resource"));
401 401
            return false;
402 402
        }
403 403

  
......
406 406
        case "res_id":
407 407
            var l=$('#res_id',this).val().length;
408 408
            if (!l){
409
                notifyError("Please provide a resource ID for the resource(s) in this rule");
409
                notifyError(tr("Please provide a resource ID for the resource(s) in this rule"));
410 410
                return false;
411 411
            }
412 412
            break;
......
441 441
    var users = $('<select>'+users_select+'</select>');
442 442
    $('.empty_value',users).remove();
443 443
    $('option',users).addClass("user");
444
    users.prepend('<option value="">---Users---</option>');
444
    users.prepend('<option value="">---'+tr("Users")+'---</option>');
445 445

  
446 446
    var groups = $('<select>'+groups_select+'</select>');
447 447
    $('.empty_value',groups).remove();
448 448
    $('option',groups).addClass("group");
449
    groups.prepend('<option value="">---Groups---</option>');
449
    groups.prepend('<option value="">---'+tr("Groups")+'---</option>');
450 450

  
451 451
    var dialog =  $create_acl_dialog;
452
    $('#applies',dialog).html('<option value="*">All</option>'+
452
    $('#applies',dialog).html('<option value="*">'+tr("All")+'</option>'+
453 453
                                          users.html()+groups.html());
454 454
    $('#belonging_to',dialog).html(groups_select);
455 455

  
......
479 479
            { "bSortable": false, "aTargets": ["check"] },
480 480
            { "sWidth": "60px", "aTargets": [0] },
481 481
            { "sWidth": "35px", "aTargets": [1] }
482
        ]
482
        ],
483
		"oLanguage": (datatable_lang != "") ?
484
		{
485
			"sUrl": "/locale/"+datatable_lang
486
		} : ""
483 487
    });
484 488
    dataTable_acls.fnClearTable();
485 489
    addElement([
sunstone/public/js/plugins/images-tab.js (revision 89)
23 23
<table id="datatable_images" class="display">\
24 24
  <thead>\
25 25
    <tr>\
26
      <th class="check"><input type="checkbox" class="check_all" value="">All</input></th>\
27
      <th>ID</th>\
28
      <th>Owner</th>\
29
      <th>Group</th>\
30
      <th>Name</th>\
31
      <th>Type</th>\
32
      <th>Registration time</th>\
33
      <th>Public</th>\
34
      <th>Persistent</th>\
35
      <th>Status</th>\
36
      <th>#VMS</th>\
26
      <th class="check"><input type="checkbox" class="check_all" value="">'+tr('All')+'</input></th>\
27
      <th>'+tr('ID')+'</th>\
28
      <th>'+tr('Owner')+'</th>\
29
      <th>'+tr('Group')+'</th>\
30
      <th>'+tr('Name')+'</th>\
31
      <th>'+tr('Type')+'</th>\
32
      <th>'+tr('Registration time')+'</th>\
33
      <th>'+tr('Public')+'</th>\
34
      <th>'+tr('Persistent')+'</th>\
35
      <th>'+tr('Status')+'</th>\
36
      <th>'+tr('#VMS')+'</th>\
37 37
    </tr>\
38 38
  </thead>\
39 39
  <tbody id="tbodyimages">\
......
43 43

  
44 44
var create_image_tmpl =
45 45
'<div id="img_tabs">\
46
        <ul><li><a href="#img_easy">Wizard</a></li>\
47
                <li><a href="#img_manual">Advanced mode</a></li>\
46
        <ul><li><a href="#img_easy">'+tr('Wizard')+'</a></li>\
47
                <li><a href="#img_manual">'+tr('Advanced mode')+'</a></li>\
48 48
        </ul>\
49 49
        <div id="img_easy">\
50 50
           <form id="create_image_form_easy" action="">\
51
             <p style="font-size:0.8em;text-align:right;"><i>Fields marked with <span style="display:inline-block;" class="ui-icon ui-icon-alert" /> are mandatory</i><br />\
51
             <p style="font-size:0.8em;text-align:right;"><i>'+tr('Fields marked with')+' <span style="display:inline-block;" class="ui-icon ui-icon-alert" />'+tr('are mandatory')+'</i><br />\
52 52
             <fieldset>\
53 53
               <div class="img_param img_man">\
54
               <label for="img_name">Name:</label>\
54
               <label for="img_name">'+tr('Name')+':</label>\
55 55
               <input type="text" name="img_name" id="img_name" />\
56
               <div class="tip">Name that the Image will get. Every image must have a unique name.</div>\
56
               <div class="tip">'+tr('Name that the Image will get. Every image must have a unique name.')+'</div>\
57 57
               </div>\
58 58
               <div class="img_param">\
59
                 <label for="img_desc">Description:</label>\
59
                 <label for="img_desc">'+tr('Description:')+'</label>\
60 60
                 <textarea name="img_desc" id="img_desc" style="height:4em"></textarea>\
61
               <div class="tip">Human readable description of the image for other users.</div>\
61
               <div class="tip">'+tr('Human readable description of the image for other users.')+'</div>\
62 62
               </div>\
63 63
             </fieldset>\
64 64
             <fieldset>\
65 65
               <div class="img_param">\
66
                 <label for="img_type">Type:</label>\
66
                 <label for="img_type">'+tr('Type')+':</label>\
67 67
                 <select name="img_type" id="img_type">\
68
                      <option value="OS">OS</option>\
69
                      <option value="CDROM">CD-ROM</option>\
70
                      <option value="DATABLOCK">Datablock</option>\
68
                      <option value="OS">'+tr('OS')+'</option>\
69
                      <option value="CDROM">'+tr('CD-ROM')+'</option>\
70
                      <option value="DATABLOCK">'+tr('Datablock')+'</option>\
71 71
                 </select>\
72
                 <div class="tip">Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).</div>\
72
                 <div class="tip">'+tr('Type of the image, explained in detail in the following section. If omitted, the default value is the one defined in oned.conf (install default is OS).')+'</div>\
73 73
               </div>\
74 74
               <div class="img_param">\
75
                 <label for="img_public">Public:</label>\
75
                 <label for="img_public">'+tr('Public')+':</label>\
76 76
                 <input type="checkbox" id="img_public" name="img_public" value="YES" />\
77
                 <div class="tip">Public scope of the image</div>\
77
                 <div class="tip">'+tr('Public scope of the image')+'</div>\
78 78
               </div>\
79 79
               <div class="img_param">\
80
                 <label for="img_persistent">Persistent:</label>\
80
                 <label for="img_persistent">'+tr('Persistent')+':</label>\
81 81
                 <input type="checkbox" id="img_persistent" name="img_persistent" value="YES" />\
82
                 <div class="tip">Persistence of the image</div>\
82
                 <div class="tip">'+('Persistence of the image')+'</div>\
83 83
               </div>\
84 84
               <div class="img_param">\
85
                  <label for="img_dev_prefix">Device prefix:</label>\
85
                  <label for="img_dev_prefix">'+tr('Device prefix:')+'</label>\
86 86
                  <input type="text" name="img_dev_prefix" id="img_dev_prefix" />\
87
                  <div class="tip">Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).</div>\
87
                  <div class="tip">'+tr('Prefix for the emulated device this image will be mounted at. For instance, “hd”, “sd”. If omitted, the default value is the one defined in oned.conf (installation default is “hd”).')+'</div>\
88 88
               </div>\
89 89
               <div class="img_param">\
90
                 <label for="img_bus">Bus:</label>\
90
                 <label for="img_bus">'+tr('Bus:')+'</label>\
91 91
                 <select name="img_bus" id="img_bus">\
92
                    <option value="IDE">IDE</option>\
93
                    <option value="SCSI">SCSI</option>\
94
                    <option value="virtio">Virtio (KVM)</option>\
92
                    <option value="IDE">'+tr('IDE')+'</option>\
93
                    <option value="SCSI">'+tr('SCSI')+'</option>\
94
                    <option value="virtio">'+tr('Virtio (KVM)')+'</option>\
95 95
                 </select>\
96
                 <div class="tip">Type of disk device to emulate.</div>\
96
                 <div class="tip">'+tr('Type of disk device to emulate.')+'</div>\
97 97
                 </div>\
98 98
              </fieldset>\
99 99
              <fieldset>\
100 100
                 <div class="" id="src_path_select">\
101
                   <label style="height:3em;">Path vs. source:</label>\
101
                   <label style="height:3em;">'+tr('Path vs. source:')+'</label>\
102 102
                   <input type="radio" name="src_path" id="path_img" value="path" />\
103
                   <label style="float:none">Provide a path</label><br />\
103
                   <label style="float:none">'+tr('Provide a path')+'</label><br />\
104 104
                   <input type="radio" name="src_path" id="source_img" value="source" />\
105
                   <label style="float:none">Provide a source</label><br />\
105
                   <label style="float:none">'+tr('Provide a source')+'</label><br />\
106 106
                   <input type="radio" name="src_path" id="datablock_img" value="datablock" />\
107
                   <label style="float:none;vertical-align:top">Create an empty datablock</label>\
108
                   <div class="tip">Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.</div><br />\
107
                   <label style="float:none;vertical-align:top">'+tr('Create an empty datablock')+'</label>\
108
                   <div class="tip">'+tr('Please choose path if you have a file-based image. Choose source otherwise or create an empty datablock disk.')+'</div><br />\
109 109
                 </div>\
110 110
                 <div class="img_param">\
111
                    <label for="img_path">Path:</label>\
111
                    <label for="img_path">'+tr('Path:')+'</label>\
112 112
                    <input type="text" name="img_path" id="img_path" />\
113
                    <div class="tip">Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.</div>\
113
                    <div class="tip">'+tr('Path to the original file that will be copied to the image repository. If not specified for a DATABLOCK type image, an empty image will be created.')+'</div>\
114 114
                 </div>\
115 115
                 <div class="img_param">\
116
                    <label for="img_source">Source:</label>\
116
                    <label for="img_source">'+tr('Source')+':</label>\
117 117
                    <input type="text" name="img_source" id="img_source" />\
118
                    <div class="tip">Source to be used in the DISK attribute. Useful for not file-based images.</div>\
118
                    <div class="tip">'+tr('Source to be used in the DISK attribute. Useful for not file-based images.')+'</div>\
119 119
                 </div>\
120 120
                 <div class="img_size">\
121
                    <label for="img_size">Size:</label>\
121
                    <label for="img_size">'+tr('Size:')+'</label>\
122 122
                     <input type="text" name="img_size" id="img_size" />\
123
                      <div class="tip">Size of the datablock in MB.</div>\
123
                      <div class="tip">'+tr('Size of the datablock in MB.')+'</div>\
124 124
                      </div>\
125 125
                 <div class="img_param">\
126
                    <label for="img_fstype">FS type:</label>\
126
                    <label for="img_fstype">'+tr('FS type:')+'</label>\
127 127
                    <input type="text" name="img_fstype" id="img_fstype" />\
128
                    <div class="tip">Type of file system to be built. This can be any value understood by mkfs unix command.</div>\
128
                    <div class="tip">'+tr('Type of file system to be built. This can be any value understood by mkfs unix command.')+'</div>\
129 129
                 </div>\
130 130
               </fieldset>\
131 131
               <fieldset>\
132 132
                  <div class="form_buttons">\
133
                    <button class="button" id="create_image_submit" value="user/create">Create</button>\
134
                    <button class="button" type="reset" value="reset">Reset</button>\
133
                    <button class="button" id="create_image_submit" value="user/create">'+tr('Create')+'</button>\
134
                    <button class="button" type="reset" value="reset">'+tr('Reset')+'</button>\
135 135
                    </div>\
136 136
                    </fieldset>\
137 137
            </form>\
......
139 139
        <div id="img_manual">\
140 140
            <form id="create_image_form_manual" action="">\
141 141
               <fieldset style="border-top:none;">\
142
                 <h3 style="margin-bottom:10px;">Write the image template here</h3>\
142
                 <h3 style="margin-bottom:10px;">'+tr('Write the image template here')+'</h3>\
143 143
                 <textarea id="template" rows="15" style="width:100%;">\
144 144
                 </textarea>\
145 145
               </fieldset>\
146 146
               <fieldset>\
147 147
               <div class="form_buttons">\
148 148
                 <button class="button" id="create_vn_submit_manual" value="vn/create">\
149
                    Create\
149
                    '+tr('Create')+'\
150 150
                 </button>\
151
                 <button class="button" type="reset" value="reset">Reset</button>\
151
                 <button class="button" type="reset" value="reset">'+tr('Reset')+'</button>\
152 152
               </div>\
153 153
             </fieldset>\
154 154
           </form>\
......
237 237
        type: "single",
238 238
        call: OpenNebula.Image.update,
239 239
        callback: function() {
240
            notifyMessage("Template updated correctly");
240
            notifyMessage(tr("Template updated correctly"));
241 241
        },
242 242
        error: onError
243 243
    },
......
344 344
var image_buttons = {
345 345
    "Image.refresh" : {
346 346
        type: "image",
347
        text: "Refresh list",
347
        text: tr("Refresh list"),
348 348
        img: "images/Refresh-icon.png"
349 349
    },
350 350
    "Image.create_dialog" : {
351 351
        type: "create_dialog",
352
        text: "+ New"
352
        text: tr('+ New')
353 353
    },
354 354
    "Image.update_dialog" : {
355 355
        type: "action",
356
        text: "Update a template",
356
        text: tr("Update a template"),
357 357
        alwaysActive: true
358 358
    },
359 359
    "Image.chown" : {
360 360
        type: "confirm_with_select",
361
        text: "Change owner",
361
        text: tr("Change owner"),
362 362
        select: users_sel,
363
        tip: "Select the new owner:",
363
        tip: tr("Select the new owner:"),
364 364
        condition: mustBeAdmin
365 365
    },
366 366
    "Image.chgrp" : {
367 367
        type: "confirm_with_select",
368
        text: "Change group",
368
        text: tr("Change group"),
369 369
        select: groups_sel,
370
        tip: "Select the new group:",
370
        tip: tr("Select the new group:"),
371 371
        condition: mustBeAdmin
372 372
    },
373 373
    "action_list" : {
......
375 375
        actions: {
376 376
            "Image.enable" : {
377 377
                type: "action",
378
                text: "Enable"
378
                text: tr("Enable")
379 379
            },
380 380
            "Image.disable" : {
381 381
                type: "action",
382
                text: "Disable"
382
                text: tr("Disable")
383 383
            },
384 384
            "Image.publish" : {
385 385
                type: "action",
386
                text: "Publish"
386
                text: tr("Publish")
387 387
            },
388 388
            "Image.unpublish" : {
389 389
                type: "action",
390
                text: "Unpublish"
390
                text: tr("Unpublish")
391 391
            },
392 392
            "Image.persistent" : {
393 393
                type: "action",
394
                text: "Make persistent"
394
                text: tr("Make persistent")
395 395
            },
396 396
            "Image.nonpersistent" : {
397 397
                type: "action",
398
                text: "Make non persistent"
398
                text: tr("Make non persistent")
... This diff was truncated because it exceeds the maximum size that can be displayed.