From 917d14c74deaff54e75bb33a12d55168d7ba73d7 Mon Sep 17 00:00:00 2001 From: catborise Date: Thu, 5 Nov 2020 12:40:56 +0300 Subject: [PATCH] localization updates --- locale/de/LC_MESSAGES/django.po | 489 +++++++++---------- locale/en/LC_MESSAGES/django.po | 489 +++++++++---------- locale/es/LC_MESSAGES/django.po | 489 +++++++++---------- locale/fr/LC_MESSAGES/django.po | 489 +++++++++---------- locale/nl/LC_MESSAGES/django.po | 489 +++++++++---------- locale/ru/LC_MESSAGES/django.po | 489 +++++++++---------- locale/tr/LC_MESSAGES/django.mo | Bin 56368 -> 60656 bytes locale/tr/LC_MESSAGES/django.po | 824 ++++++++++++++++---------------- locale/uk/LC_MESSAGES/django.po | 489 +++++++++---------- 9 files changed, 2130 insertions(+), 2117 deletions(-) diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index d393cd9..8d397e1 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,49 +299,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -354,11 +354,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -501,19 +502,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -799,18 +801,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1698,7 +1700,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1752,7 +1754,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1770,20 +1772,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1795,7 +1797,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1803,7 +1805,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2505,387 +2507,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3019,63 +3029,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3271,57 +3281,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3385,32 +3388,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3461,27 +3464,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3614,42 +3617,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/en/LC_MESSAGES/django.po b/locale/en/LC_MESSAGES/django.po index d393cd9..8d397e1 100644 --- a/locale/en/LC_MESSAGES/django.po +++ b/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,49 +299,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -354,11 +354,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -501,19 +502,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -799,18 +801,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1698,7 +1700,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1752,7 +1754,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1770,20 +1772,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1795,7 +1797,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1803,7 +1805,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2505,387 +2507,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3019,63 +3029,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3271,57 +3281,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3385,32 +3388,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3461,27 +3464,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3614,42 +3617,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/es/LC_MESSAGES/django.po b/locale/es/LC_MESSAGES/django.po index d393cd9..8d397e1 100644 --- a/locale/es/LC_MESSAGES/django.po +++ b/locale/es/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,49 +299,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -354,11 +354,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -501,19 +502,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -799,18 +801,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1698,7 +1700,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1752,7 +1754,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1770,20 +1772,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1795,7 +1797,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1803,7 +1805,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2505,387 +2507,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3019,63 +3029,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3271,57 +3281,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3385,32 +3388,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3461,27 +3464,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3614,42 +3617,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index fddef4a..7e306e3 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,49 +299,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -354,11 +354,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -501,19 +502,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -799,18 +801,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1698,7 +1700,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1752,7 +1754,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1770,20 +1772,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1795,7 +1797,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1803,7 +1805,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2505,387 +2507,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3019,63 +3029,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3271,57 +3281,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3385,32 +3388,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3461,27 +3464,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3614,42 +3617,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/nl/LC_MESSAGES/django.po b/locale/nl/LC_MESSAGES/django.po index d393cd9..8d397e1 100644 --- a/locale/nl/LC_MESSAGES/django.po +++ b/locale/nl/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -299,49 +299,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -354,11 +354,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -501,19 +502,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -799,18 +801,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1698,7 +1700,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1752,7 +1754,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1770,20 +1772,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1795,7 +1797,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1803,7 +1805,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2505,387 +2507,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3019,63 +3029,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3271,57 +3281,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3385,32 +3388,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3461,27 +3464,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3614,42 +3617,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/ru/LC_MESSAGES/django.po b/locale/ru/LC_MESSAGES/django.po index 59dc57b..f1f18e0 100644 --- a/locale/ru/LC_MESSAGES/django.po +++ b/locale/ru/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -301,49 +301,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -356,11 +356,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -503,19 +504,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -801,18 +803,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1700,7 +1702,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1754,7 +1756,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1772,20 +1774,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1797,7 +1799,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1805,7 +1807,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2452,7 +2454,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2507,387 +2509,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3021,63 +3031,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3273,57 +3283,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3387,32 +3390,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3463,27 +3466,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3616,42 +3619,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3 diff --git a/locale/tr/LC_MESSAGES/django.mo b/locale/tr/LC_MESSAGES/django.mo index 663af1dbd1e6530ddfd933b184ad7c4ec1b7d500..4d879b11cddc25bab992a41e7b3cdfa027bd2619 100644 GIT binary patch literal 60656 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 Ts=S^C!QjV9%+3jO$1VO1GSclw delta 23398 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, 2020\n" "Language-Team: Turkish (https://www.transifex.com/catborise/teams/110663/" "tr/)\n" @@ -23,8 +23,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: accounts/forms.py:25 -#, fuzzy -#| msgid "Instance owners" msgid "Instance owned by another user" msgstr "Diğer kullanının sanal makineleri" @@ -37,8 +35,6 @@ msgid "Public key already exist" msgstr "Açık anahtar zaten mevcut" #: accounts/forms.py:59 -#, fuzzy -#| msgid "Invalid cache mode" msgid "Invalid key" msgstr "Geçersiz anahtar" @@ -85,8 +81,6 @@ msgid "Can change password" msgstr "Parola değiştirebilir" #: accounts/templates/account.html:7 accounts/templates/account.html:8 -#, fuzzy -#| msgid "View Profile" msgid "User Profile" msgstr "Kullanıcı Profili" @@ -95,14 +89,10 @@ msgid "Email OTP QR code" msgstr "OTP QR Kodu e-postası" #: accounts/templates/account.html:16 -#, fuzzy -#| msgid "Edit user info" msgid "Edit user" msgstr "Kullanıcı düzenle" #: accounts/templates/account.html:19 -#, fuzzy -#| msgid "Create new instance" msgid "Create user instance" msgstr "Yeni sanal makine oluştur" @@ -123,8 +113,6 @@ msgid "Instances" msgstr "Sanal Makineler" #: accounts/templates/account.html:30 -#, fuzzy -#| msgid "Public key" msgid "Public Keys" msgstr "Açık anahtar" @@ -147,7 +135,7 @@ msgstr "VNC" #: instances/templates/instances/resize_tab.html:153 #: instances/templates/instances/resize_tab.html:158 msgid "Resize" -msgstr "Yeniden Boyutlandır" +msgstr "Boyutlandır" #: accounts/templates/account.html:43 accounts/templates/account.html:61 #: accounts/templates/profile.html:51 admin/templates/admin/group_list.html:46 @@ -190,8 +178,6 @@ msgstr "Açık anahtar" #: accounts/templates/accounts/change_password_form.html:7 #: accounts/templates/accounts/change_password_form.html:14 #: accounts/templates/profile.html:29 -#, fuzzy -#| msgid "Can change password" msgid "Change Password" msgstr "Parola Değiştir" @@ -218,7 +204,9 @@ msgstr "Değiştir" msgid "" "\n" "Scan this QR code to get OTP for account '%(user)s'\n" -msgstr "'%(user)s' hesabında OTP açmak içim bu QR kodunu tara\n" +msgstr "" +"\n" +"'%(user)s' hesabı için bu OTP QR kodunu tarayin\n" #: accounts/templates/accounts/email_otp_form.html:12 msgid "" @@ -227,7 +215,7 @@ msgid "" " " msgstr "" "\n" -" OTP QR kodunun gönderileceği e-posta adresini giriniz.\n" +" OTP QR kodunun gönderileceği e-posta adresini giriniz.\n" " " #: accounts/templates/accounts/email_otp_form.html:27 @@ -293,16 +281,12 @@ msgstr "SSH Anahtarları" #: accounts/templates/profile.html:34 #: instances/templates/instances/settings_tab.html:686 #: instances/templates/instances/settings_tab.html:688 -#, fuzzy -#| msgid "date" msgid "Update" msgstr "Güncelle" #: accounts/templates/profile.html:64 -#, fuzzy -#| msgid "SSH Keys" msgid "Add SSH Key" -msgstr "Ekle SSH Anahtarı" +msgstr "SSH Anahtarı Ekle" #: accounts/templates/profile.html:72 #: instances/templates/add_instance_network_block.html:50 @@ -321,66 +305,52 @@ msgid "Please view HTML version of this message." msgstr "Lütfen bu mesajın HTML sürümünü görüntüleyin." #: accounts/views.py:26 -#, fuzzy -#| msgid "Profile" msgid "Profile updated" msgstr "Profil güncellendi" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "SSH anahtarı eklendi" -#: accounts/views.py:45 -#, fuzzy -#| msgid "SSH Keys" +#: accounts/views.py:52 msgid "Add SSH key" msgstr "SSH Anahtarı Ekle" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "SSH anahtarı silindi" -#: accounts/views.py:58 -#, fuzzy -#| msgid "Delete entry" +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "SSH anahtarı sil" -#: accounts/views.py:86 -#, fuzzy -#| msgid "Password" +#: accounts/views.py:101 msgid "Password Changed" msgstr "Parola Değişti" -#: accounts/views.py:106 -#, fuzzy -#| msgid "Create new instance" +#: accounts/views.py:121 msgid "Create User Instance" msgstr "Yeni Kullanıcı Sanal Makinesi Oluştur" -#: accounts/views.py:124 -#, fuzzy -#| msgid "Update User" +#: accounts/views.py:139 msgid "Update User Instance" msgstr "Kullanıcı Sanal Makinesini Güncelle" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "OTP %s ye gönderildi" - -#: accounts/views.py:165 -#, fuzzy -#| msgid "Email" -msgid "Email OTP" -msgstr "OTP e-posta" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" -msgstr "OTP QR kodu %s kullanıcısına gönderildi" +msgid "OTP Sent to %(email)s" +msgstr "OTP %(email)s ye gönderildi" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "OTP E-Posta" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "OTP QR kodu %(user)s kullanıcısına gönderildi" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "Kullanıcı e-postası girilmemiş, QR kod gönderimi başarısız" @@ -393,11 +363,17 @@ msgstr "İzinler" msgid "Groups" msgstr "Gruplar" -#: admin/forms.py:79 +#: admin/forms.py:81 +#, fuzzy +#| msgid "" +#| "Raw passwords are not stored, so there is no way to see\n" +#| " this user's password, but you can change the password " +#| "using this form." msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" "Açık parolalar saklanmadığından bu kullanıcının parolasını\n" " görme imkanı yok. Faka parolayı bu formu " @@ -543,21 +519,20 @@ msgstr "Grup Oluştur" msgid "Update Group" msgstr "Grubu Güncelle" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "Kullanıcı Oluştur" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "Kullanıcı Güncelle" -#: admin/views.py:149 -#, fuzzy -#| msgid "Password" -msgid "User password changed: {}" -msgstr "Kullanıcı parolası değişti: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" +msgstr "%(user)s parolası değiştirildi" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "Hatalı Veri" @@ -774,10 +749,8 @@ msgid "Show access ssh keys" msgstr "SSH Erişim Anahtarlarını Göster" #: appsettings/migrations/0004_auto_20200716_0637.py:11 -#, fuzzy -#| msgid "Console Access" msgid "Console Scale" -msgstr "Konsol Ölçekle" +msgstr "Konsolu Ölçekle" #: appsettings/migrations/0004_auto_20200716_0637.py:11 msgid "Allow console to scaling view" @@ -792,26 +765,18 @@ msgid "Allow only view not modify" msgstr "Sadece görüntülemeye izin ver düzenlemeye izin verme" #: appsettings/migrations/0004_auto_20200716_0637.py:13 -#, fuzzy -#| msgid "Console Access" msgid "Console Resize Session" -msgstr "Konsol Oturum Boyutlandır" +msgstr "Konsol Oturumunu Boyutlandır" #: appsettings/migrations/0004_auto_20200716_0637.py:13 -#, fuzzy -#| msgid "Allow to have multiple owner for instance" msgid "Allow to resize session for console" msgstr "Bir sanal makine için çoklu sahip atanmasına izin verir" #: appsettings/migrations/0004_auto_20200716_0637.py:14 -#, fuzzy -#| msgid "Console port" msgid "Console Clip Viewport" msgstr "Konsol bağlantı noktası" #: appsettings/migrations/0004_auto_20200716_0637.py:14 -#, fuzzy -#| msgid "Console port" msgid "Clip console viewport" msgstr "Konsol bağlantı noktası" @@ -857,19 +822,19 @@ msgid "Other Settings" msgstr "Diğer Ayarlar" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" -msgstr "SASS dizin yolu değiştirildi. Şimdi: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" +msgstr "SASS dizin yolu değiştirildi. Şimdi: %(dir)s" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" -msgstr "Tema değiştirildi. Şimdi: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" +msgstr "Tema değiştirildi. Şimdi: %(theme)s" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" -msgstr "{setting.name} değiştirildi. Şimdi: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" +msgstr "%(setting)s değiştirildi. Şimdi: %(value)s" #: computes/forms.py:21 msgid "FQDN/IP" @@ -1037,10 +1002,8 @@ msgstr "Kapalı" #: computes/templates/computes/instances.html:98 #: instances/templates/allinstances_index_grouped.html:60 #: instances/templates/allinstances_index_nongrouped.html:44 -#, fuzzy -#| msgid "Suspend" msgid "Suspended" -msgstr "Duraklat" +msgstr "Duraklatılmış" #: computes/templates/computes/list.html:6 #: computes/templates/computes/list.html:12 templates/navbar.html:18 @@ -1048,8 +1011,6 @@ msgid "Computes" msgstr "Sunucular" #: computes/templates/computes/list.html:20 -#, fuzzy -#| msgid "You don't have any groups" msgid "You don't have any computes" msgstr "Hiç sunucunuz yok" @@ -1183,15 +1144,11 @@ msgstr "sunucu adresi ve portu ayarlanmalı" #: console/templates/console-spice-full.html:97 #: console/templates/console-spice-lite.html:138 #: console/templates/console-spice-lite.html:150 -#, fuzzy -#| msgid "Disconnected" msgid "disconnect" msgstr "bağlantı kes" #: console/templates/console-spice-full.html:114 #: console/templates/console-spice-lite.html:167 -#, fuzzy -#| msgid "Console type not supported" msgid "File API is not supported" msgstr "Dosya API desteklenmiyor" @@ -1289,8 +1246,6 @@ msgid "created" msgstr "oluşturuldu" #: instances/models.py:220 -#, fuzzy -#| msgid "Show access root password" msgid "Can access console without password" msgstr "Parolasız konsol erişimi yapabilir" @@ -1767,7 +1722,7 @@ msgstr "Sıfırları yakala" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "Duraklat" @@ -1821,7 +1776,7 @@ msgstr "İstatistikler" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "Sil" @@ -1839,20 +1794,20 @@ msgstr "Klonla" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "Başlat" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "Kapat" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "Yeniden başlat" @@ -1864,7 +1819,7 @@ msgstr "VNC Konsol" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "Devam ettir" @@ -1872,7 +1827,7 @@ msgstr "Devam ettir" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "Zorla Kapat" @@ -1896,14 +1851,12 @@ msgid "VDI" msgstr "VDI" #: instances/templates/instances/access_tab.html:39 -#, fuzzy, python-format -#| msgid "" -#| "This action opens a new window with a VNC connection to the console of " -#| "the instance." +#, python-format msgid "" " This action opens a new window with a %(type)s connection to the console of " "the instance." -msgstr "Bu eylem sanal makinenin konsoluna bir VNC bağlantısı penceresi açar." +msgstr "" +"Bu eylem sanal makinenin konsoluna bir %(type)s bağlantısı penceresi açar." #: instances/templates/instances/access_tab.html:47 msgid "Scale" @@ -1914,8 +1867,6 @@ msgid "View Only" msgstr "Sadece Görüntüle" #: instances/templates/instances/access_tab.html:63 -#, fuzzy -#| msgid "Resize Memory" msgid "Resize Session" msgstr "Oturumu Boyutlandır" @@ -1975,20 +1926,14 @@ msgid "To download console.vv file for virt-viewer." msgstr "virt-viewer için console.vv dosyasını indir." #: instances/templates/instances/access_tab.html:160 -#, fuzzy -#| msgid "Send console.vv file" msgid "Get console.vv" -msgstr "console.vv dosyası gönder" +msgstr "console.vv dosyası al" #: instances/templates/instances/destroy_instance_form.html:4 -#, fuzzy -#| msgid "Destroy" msgid "Confirm Destroy" -msgstr "Sil" +msgstr "Silme işlemini onayla" #: instances/templates/instances/destroy_instance_form.html:8 -#, fuzzy -#| msgid "Destroy Instance" msgid "Destroy instance" msgstr "Sanal makineyi sil" @@ -2009,8 +1954,6 @@ msgid "Remove Instance's NVRAM" msgstr "Sanal makine NVRAM'ini sil" #: instances/templates/instances/destroy_instance_form.html:46 -#, fuzzy -#| msgid "Destroy Instance" msgid "You cannot destroy instance!" msgstr "Sanal makineyi silemezsiniz!" @@ -2019,8 +1962,6 @@ msgid "Destroy Instance" msgstr "Sanal makineyi sil" #: instances/templates/instances/destroy_tab.html:15 -#, fuzzy -#| msgid "This action restore the instance after suspend." msgid "This action starts remove instance process" msgstr "Bu eylem sanal makine silme işlemini başlatır." @@ -2331,6 +2272,8 @@ msgid "" "In most configurations, macvtap does not work for host to guest network " "communication" msgstr "" +"macvtap bir çok yapılandırmada sunucu ile sanal makine ağı arasındaki " +"iletişimde çalışmaz" #: instances/templates/instances/settings_tab.html:481 #: networks/templates/network.html:322 @@ -2430,8 +2373,6 @@ msgid "Instance owners" msgstr "Sanal makine sahipleri" #: instances/templates/instances/settings_tab.html:680 -#, fuzzy -#| msgid "To create console password, shutdown the instance." msgid "To change console settings, shutdown the instance." msgstr "Konsol ayarlarını değiştirmek için sanal makineyi kapatın" @@ -2544,8 +2485,10 @@ msgstr "Anlık Görüntüleri Yönet" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" +"Bu işlem diskinizin büyüklüğüne ve sanal makinenizin boyutuna göre bir " +"saatten fazla sürebilir" #: instances/templates/instances/snapshots_tab.html:27 msgid "Enter Snapshot Name" @@ -2599,47 +2542,44 @@ msgstr "Disk I/O aygıtı" msgid "None available device name" msgstr "Hiçbiri uygun aygıt adı değil" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "Şablon makineler başlatılamaz." -#: instances/views.py:339 +#: instances/views.py:345 #, fuzzy, python-format -#| msgid "Migrate to {new_compute.hostname}" -msgid "Migrate to %(hostname)%" -msgstr "%(hostname)% ya taşı" +#| msgid "Instance is migrated to %(hostname)s" +msgid "Instance is migrated to %(hostname)s" +msgstr "Sanal makine %(hostname)% ya taşındı" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "Kök parolayı sıfırla" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "Lütfen sanal makinenizi kapatın ve yeniden deneyin" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "Yeni %(keyname)s SSH açık anahtarı kuruldu" -#: instances/views.py:416 -#, fuzzy, python-format -#| msgid "" -#| "User {quota_msg} quota reached, cannot resize CPU of '{instance.name}'!" +#: instances/views.py:422 +#, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -"%(quota_msg)s kullanıcısı kotası doldu, '%(instance_name)s' in CPU su yeniden " -"boyutlandırılamıyor!" +"%(quota_msg)s kullanıcısı kotası doldu, '%(instance_name)s' in CPU su " +"yeniden boyutlandırılamıyor!" -#: instances/views.py:425 -msgid "Resize CPU" -msgstr "CPU Boyutlandır" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" +msgstr "CPU sayısı değiştirildi: %(old)s -> %(new)s" -#: instances/views.py:453 -#, fuzzy, python-format -#| msgid "" -#| "User {quota_msg} quota reached, cannot resize memory of '{instance.name}'!" +#: instances/views.py:459 +#, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" @@ -2647,195 +2587,196 @@ msgstr "" "%(quota_msg)s kullanıcı kotası doldu, '%(instance_name)s' in belleği yeniden " "boyutlandırılamıyor!" -#: instances/views.py:462 -msgid "Resize Memory" -msgstr "Bellek Boyutlandır" - -#: instances/views.py:491 +#: instances/views.py:466 #, fuzzy, python-format -#| msgid "" -#| "User {quota_msg} quota reached, cannot resize disks of '{instance.name}'!" +#| msgid "Memory is resized" +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" +msgstr "" +"Bellek kapasitesi değiştirildi: current/max: %(old_cur)s/%(old_max)s/" +"%(new_max)s" + +#: instances/views.py:500 +#, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" "%(quota_msg)s kullanıcı kotası doldu, '%(instance_name)s' in diski yeniden " "boyutlandırılamıyor!" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "Disk Boyutlandır" +#: instances/views.py:507 +#, python-format +msgid "Disk is resized: %(dev)s" +msgstr "Disk boyutu değiştirildi: %(dev)s" -#: instances/views.py:537 +#: instances/views.py:546 #, fuzzy, python-format -#| msgid "Attach new disk {name} ({format})" -msgid "Attach new disk %(name)s (%(format)s)" +#| msgid "Attach new disk %(name)s (%(format)s)" +msgid "Attach new disk: %(name)s (%(format)s)" msgstr "Yeni disk tak %(name)s (%(format)s)" -#: instances/views.py:568 -#, fuzzy, python-format -#| msgid "Attach Existing disk: {target_dev}" +#: instances/views.py:577 +#, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "Takılan mevcut disk: %(target_dev)s" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" "Birim değişiklikleri uygulandı. Ama yeniden başlatıldıktan sonra uygulanacak" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "Birim başarıyla değiştirildi." -#: instances/views.py:627 -#, fuzzy, python-format -#| msgid "Edit disk: {target_dev}" +#: instances/views.py:639 +#, python-format msgid "Edit disk: %(target_dev)s" msgstr "Disk düzenle: %(target_dev)s" -#: instances/views.py:649 -#, fuzzy, python-format -#| msgid "Delete disk: {dev}" +#: instances/views.py:661 +#, python-format msgid "Delete disk: %(dev)s" msgstr "Disk sil: %(dev)s" -#: instances/views.py:665 -#, fuzzy, python-format -#| msgid "Detach disk: {dev}" +#: instances/views.py:677 +#, python-format msgid "Detach disk: %(dev)s" msgstr "Diski ayır: %(dev)s" -#: instances/views.py:678 -#, fuzzy, python-format -#| msgid "Add CD-ROM: {target}" +#: instances/views.py:690 +#, python-format msgid "Add CD-ROM: %(target)s" msgstr "CD-ROM Ekle: %(target)s" -#: instances/views.py:691 -#, fuzzy, python-format -#| msgid "Detach CD-ROM: {dev}" +#: instances/views.py:703 +#, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "CD-ROM ayır: %(dev)s" -#: instances/views.py:704 -#, fuzzy, python-format -#| msgid "Mount media: {dev}" +#: instances/views.py:716 +#, python-format msgid "Mount media: %(dev)s" msgstr "Medya tak: %(dev)s" -#: instances/views.py:717 -#, fuzzy, python-format -#| msgid "Umount media: {dev}" +#: instances/views.py:729 +#, python-format msgid "Unmount media: %(dev)s" msgstr "Medyayı ayır: %(dev)s" -#: instances/views.py:730 +#: instances/views.py:742 #, fuzzy, python-format -#| msgid "New snapshot : {name}" -msgid "New snapshot: %(name)s" -msgstr "Yeni anlık görüntü: %(name)s" +#| msgid "Create snapshot: %(snap)s" +msgid "Create snapshot: %(snap)s" +msgstr "Anlık görüntü oluştur: %(snap_name)s" -#: instances/views.py:741 +#: instances/views.py:753 #, fuzzy, python-format -#| msgid "Delete snapshot : {snap_name}" -msgid "Delete snapshot: %(snap_name)s" +#| msgid "Delete snapshot: %(snap)s" +msgid "Delete snapshot: %(snap)s" msgstr "Anlık görüntü sil: %(snap_name)s" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "Anlık görüntü geri dönüş başarılı:" -#: instances/views.py:755 -msgid "Revert snapshot" -msgstr "Snapshota dön" +#: instances/views.py:767 +#, fuzzy +#| msgid "Delete snapshot: %(snap_name)s" +msgid "Revert snapshot: %(snap)" +msgstr "Anlık görüntüye dönüldü: %(snap_name)s" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "Otomatik başlatmayı ayarla" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "Otomatik başlatmayı iptal et" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "Ön yükleme menüsünü etkinleştir" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "Ön yükleme menüsünü devredışı bırak" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "Ön yükleme sırasını ayarla" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" "Ön yükleme menüsü değişiklikleri uygulandı. Fakat yeniden başlatılınca " "uygulanacak" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "Ön yükleme sırası başarıyla değiştirildi." -#: instances/views.py:849 -msgid "Edit XML" -msgstr "XML Düzenle" +#: instances/views.py:861 +#, fuzzy +#| msgid "Can clone instances" +msgid "Change instance XML" +msgstr "Sanal makineleri klonlayabilir" -#: instances/views.py:863 -#, fuzzy, python-format -#| msgid "Set Quest Agent {status}" -msgid "Set Guest Agent %(status)s" -msgstr "Misafir Aracı Ayarla {status}" +#: instances/views.py:875 +#, python-format +msgid "Set Guest Agent: %(status)s" +msgstr "Misafir Ajanını Ayarla: %(status)s" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +#, fuzzy +#| msgid "Set Video Model" +msgid "Set Video Model: %(model)" msgstr "Video Modeli Ayarla" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "Ağ değiştir" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" "Ağ aygıtı yapılandırması değiştirildi. Aktifleştirmek için lütfen sanal " "makineyi kapatın." -#: instances/views.py:903 -msgid "Add network" -msgstr "Ağ ekle" - -#: instances/views.py:917 -msgid "Delete network" -msgstr "Ağ sil" +#: instances/views.py:922 +#, fuzzy, python-format +#| msgid "Add network" +msgid "Add network: %(mac)s" +msgstr "Ağ ekle: %(mac)s" #: instances/views.py:933 -#, fuzzy, python-format -#| msgid "Set Link State: {state}" +#, python-format +msgid "Delete Network: %(mac)s" +msgstr "Ağ sil: %(mac)s" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "Bağlantı durumunu ayarla: %(state)s" -#: instances/views.py:952 -#, fuzzy, python-format -#| msgid "{qos_dir.capitalize()} QoS is set" +#: instances/views.py:966 networks/views.py:231 +#, python-format msgid "%(qos_dir)s QoS is set" msgstr "%(qos_dir)s QoS ayarlandı" -#: instances/views.py:956 -#, fuzzy, python-format -#| msgid "" -#| "Network XML is changed. \\Stop and start network to activate new config." +#: instances/views.py:971 +#, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." @@ -2843,16 +2784,13 @@ msgstr "" "%(qos_dir)s QoS ayarlandı. Ağ XML i değiştirildi. \\ Aktifleştirmek için " "durdurun ve yeniden başlatın." -#: instances/views.py:970 -#, fuzzy, python-format -#| msgid "{qos_dir.capitalize()} QoS is deleted" +#: instances/views.py:988 networks/views.py:246 +#, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "%(qos_dir)s QoS silindi" -#: instances/views.py:974 -#, fuzzy, python-format -#| msgid "" -#| "Network XML is changed. \\Stop and start network to activate new config." +#: instances/views.py:993 +#, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." @@ -2860,56 +2798,48 @@ msgstr "" "%(qos_dir)s QoS silindi. Ağ XML i değiştirildi. \\ Aktifleştirmek için " "durdurun ve yeniden başlatın." -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "Sadece bir sahibe izin verilmiştir ve bir sahip zaten eklenmiş" -#: instances/views.py:995 -#, fuzzy, python-format -#| msgid "Added owner {user_id}" -msgid "Added owner %(user)s" -msgstr "Eklenmiş sahip %(user)s" +#: instances/views.py:1017 +#, python-format +msgid "Add owner: %(user)s" +msgstr "Sahip ekle: %(user)s" -#: instances/views.py:1006 -#, fuzzy, python-format -#| msgid "Deleted owner {userinstance_id}" -msgid "Deleted owner %(userinstance_id)s" -msgstr "Silinmiş sahip %(userinstance_id)s" +#: instances/views.py:1028 +#, python-format +msgid "Delete owner: %(userinstance_id)s " +msgstr "Sahip sil: %(userinstance_id)s" -#: instances/views.py:1038 -#, fuzzy, python-format -#| msgid "" -#| "User {quota_msg} quota reached, cannot resize CPU of '{instance.name}'!" +#: instances/views.py:1060 +#, python-format msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" "%(quota_msg)s' Kullanıcı kotası doldu, '%(clone_name)s' in CPU su yeniden " "boyutlandırılamıyor!" -#: instances/views.py:1044 -#, fuzzy -#| msgid "Instance '{clone_data['name']}' already exists!" +#: instances/views.py:1066 +#, python-format msgid "Instance '%(clone_name)s' already exists!" msgstr "'%(clone_name)s' sanal makinesi zaten mevcut!" -#: instances/views.py:1047 -#, fuzzy, python-format -#| msgid "Instance name '{clone_data['name']}' contains invalid characters!" +#: instances/views.py:1069 +#, python-format msgid "Instance name '%(clone_name)s' contains invalid characters!" msgstr "Sanal makine adı '%(clone_name)s' geçersiz karakterler içermektedir!" -#: instances/views.py:1050 -#, fuzzy, python-format -#| msgid "Instance MAC '{clone_data['clone-net-mac-0']}' invalid format!" +#: instances/views.py:1072 +#, python-format msgid "Instance MAC '%(clone_mac)s' invalid format!" msgstr "Sanal makine MAC adresi '%(clone_mac)s' geçersiz biçemde belirtilmiş!" -#: instances/views.py:1060 -#, fuzzy, python-format -#| msgid "Clone of '{instance.name}'" -msgid "Clone of '%(instance_name)s'" -msgstr "'%(instance_name)s' un klonu" +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "'%(instance_name)s' un klonu oluştur" -#: instances/views.py:1093 +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." @@ -2917,135 +2847,125 @@ msgstr "" "Konsol parolası ayarlanırken hata oluştu. Sanal makinenin bir grafik " "aygıtına sahip olduğundan emin olunuz." -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "VNC parolası ayarlar" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "VNC Keymapi ayarla" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "VNC tipini ayarla" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "VNC dinleme adresini ayarla" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "Seçenekleri düzenle" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "console.vv dosyası gönder" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "Bu isimde bir sanal makine mevcut" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "Hiç bir depolama havuzu tanımlamadınız" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "Hiç bir ağ havuzu tanımlamadınız" -#: instances/views.py:1300 -#, fuzzy -#| msgid "There is an instance with same name. Are you sure?" +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "Aynı isimde başka bir sanal makine var. Onu silip yeniden deneyin!" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "Sanal makine için MAC adresi belirtmediniz" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" "İmaj zaten mevcut. Lütfen ya makine adını değişin ya da disk alanlarını " "kontrol edin" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "Ya daha önce oluşturun ya da bir imaj seçin" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "Geçersiz önbellek modu" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "Sanal makine oluşturuldu" -#: instances/views.py:1423 -#, fuzzy -#| msgid "Create" +#: instances/views.py:1481 msgid "Flavor Created" msgstr "Flavor Oluşturuldu" -#: instances/views.py:1431 -#, fuzzy -#| msgid "Create User" +#: instances/views.py:1487 msgid "Create Flavor" msgstr "Kullanıcı Oluştur" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "Flavor Güncellendi" -#: instances/views.py:1450 -#, fuzzy -#| msgid "Update User" +#: instances/views.py:1503 msgid "Update Flavor" msgstr "Flavor Güncelle" -#: instances/views.py:1460 -#, fuzzy -#| msgid "Delete" +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "Flavor Silindi" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "IPv4 adresi herhangi bir özel karakter içeremez" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "IPv4 adresi 20 karakterden fazla olamaz" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "IPv4 ağ geçidi adresi herhangi bir özel karakter içeremez" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "IPv4 ağ geçidi adresi 20 karakterden fazla olamaz" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "IPv6 adresi herhangi bir özel karakter içeremez" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "IPv6 adresi 100 karakterden fazla olamaz" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "IPv6 ağ geçidi adresi herhangi bir özel karakter içeremez" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "IPv6 ağ geçidi adresi 100 karakterden fazla olamaz" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "Arabirim hehangi bir özel karakter içeremez" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "Arabirim 10 karakterden fazla olamaz" @@ -3179,63 +3099,63 @@ msgstr "Hız" msgid "Hypervisor doesn't have any Interfaces" msgstr "Hipervizör hiçbir arabirime sahip değil" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "kullanıcı" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "sanal makine" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "mesaj" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "tarih" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "Havuz adı girilmedi" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "IPv4 subneti girilmemiş" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "IPv6 subneti girilmemiş" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "Havuz adı herhangi bir özel karakter içermemelidir" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "Havuz adı 20 karakterden fazla olamaz" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "IPv4 subnet herhangi bir özel karakter içeremez" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "IPv4 subneti 20 karakterden fazla olamaz" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "IPv6 subneti herhangi bir özel karakter içeremez" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "IPv6 subneti 42 karakterden fazla olamaz" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "Havuz köprü adı herhangi bir özel karakter içeremez" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "Havuz köprü adı 20 karakterden fazla olamaz" @@ -3428,66 +3348,62 @@ msgid "Network pool name already in use" msgstr "Ağ havuzu adı zaten kullanımda" #: networks/views.py:47 -#, fuzzy -#| msgid "Please enter bridge name" msgid "Please enter bridge/dev name" msgstr "Lütfen köprü/aygıt adı giriniz" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "Libvirt için IPv6 ağ prefixi /64 olmak zorundadır" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "Bilinmeyen Ağ Ailesi" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." -msgstr "{family.upper()} sabit adres operasyonu tamamlandı." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" +msgstr "{%(family)s} sabit adres operasyonu tamamlandı." -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." -msgstr "{family.upper()} sabit adresi silindi." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." +msgstr "%(family)s sabit adresi silindi." -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." -msgstr "{family.upper()} DHCP aralığı değiştirildi." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." +msgstr "%(family)s DHCP aralığı değiştirildi." -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" "Ağ XML i değiştirildi. \\ Aktifleştirmek için durdurun ve yeniden başlatın." -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "Ağ XML i değiştirildi." -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -"{qos_dir.capitalize()} QoS ayarlandı. Ağ ayarları XML ile değiştirildi." +"%(qos_dir)s QoS is updated.Ağ XML i değiştirildi. \\ Aktifleştirmek için " +"durdurun ve yeniden başlatın." -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "Yeni yapılandırmayı aktifleştirmek için ağı durdurun ve başlatın" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "{} QoS ayarlandı" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "{qos_dir.capitalize()} QoS silindi. Ağ XML'i değiştirildi." - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." +#: networks/views.py:242 +#, fuzzy, python-format +#| msgid "" +#| "%(qos_dir)s QoS is deleted. Network XML is changed. Stop " +#| "and start network to activate new config." +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" -"Yeni yapılandırmayı aktifleştirmek için ağı durdurun ve yeniden başlatın." - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" -msgstr "{qos_dir.capitalize()} QoS silindi" +"%(qos_dir)s QoS silindi. Ağ XML i değiştirildi. \\ Aktifleştirmek için " +"durdurun ve yeniden başlatın." #: nwfilters/templates/add_nwf_rule.html:12 msgid "Add New NWFilter Rule" @@ -3550,33 +3466,33 @@ msgstr "AğFiltresi Klonla" msgid "Hypervisor doesn't have any NWFilters" msgstr "Hipervizör hiç bir AğFiltresine sahip değil" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "Bu isimde bir ağ filtresi zaten mevcut" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "Bu UUID ye sahip bir ağ filtresi zaten mevcut" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" -msgstr "AğFiltresi Oluşturuluyor: %s" +msgid "%(filter)s network filter is created" +msgstr "%(filter)s ağ filtresi oluşturuldu" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" -msgstr "AğFiltresi Siliniyor: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" +msgstr "%(filter)s ağ filtresi silindi" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." -msgstr "AğFiltresi, {inst} tarafından kullanımda. Silinemiyor." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." +msgstr "AğFiltresi, %(instance)s tarafından kullanımda. Silinemiyor." -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" -msgstr "Ağfiltresi {name} , {cln_name} olarak klonlanıyor" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" +msgstr "Ağfiltresi %(name)s , %(clone)s olarak klonlanıyor" #: secrets/templates/create_secret_block.html:12 msgid "Create New Secret" @@ -3626,27 +3542,27 @@ msgstr "" msgid "Value" msgstr "Değer" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "Yol girilmedi" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "Hedef herhangi bir özel karakter içeremez" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "Aygıt ya da yol girilmedi" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "Disk kaynağı herhangi bir özel karakter içermemelidir" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "İmaj adı herhangi bir özel karakter içeremez" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "İmaj adı 120 karakterden fazla olamaz" @@ -3697,7 +3613,7 @@ msgstr "Uzak Yol" #: storages/templates/create_stg_block.html:186 msgid "auto" -msgstr "oto" +msgstr "otomatik" #: storages/templates/create_stg_block.html:187 msgid "nfs" @@ -3779,43 +3695,45 @@ msgstr "Hipervizör hiçbir birime sahip değil" msgid "Hypervisor doesn't have any Storages" msgstr "Hipervizör hiç bir depolama alanına sahip değil" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "Havuz adı zaten kullanılıyor" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" -msgstr "" +msgstr "CEPH havuzu oluşturmak için tüm alanların doldurulmasına ihtiyaç var" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." -msgstr "Birim: {volname} silindi." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." +msgstr "Birim: %(volume)s silindi." -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "ISO imajı zaten mevcut" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." -msgstr "ISO: {request.FILES['file']}  yüklendi." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." +msgstr "ISO: %(file)s  yüklendi." -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "Birim adı zaten kullanımda" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" -msgstr "{data['image']} imajı {name} olarak başarıyla klonlandı" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" +msgstr "%(image)s imajı %(clone)s olarak başarıyla klonlandı" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" -msgstr "İmaj dosyası {name} başarıyla oluşturuldu" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" +msgstr "İmaj dosyası %(name)s başarıyla oluşturuldu" #: templates/403.html:3 msgid "403" @@ -3823,7 +3741,7 @@ msgstr "403" #: templates/403.html:7 templates/404.html:7 templates/500.html:7 msgid "Oops!" -msgstr "Oops!" +msgstr "Amann!" #: templates/403.html:9 msgid "403 Forbidden" @@ -5290,12 +5208,12 @@ msgstr "Bağlan, yardım al veya katkıda bulun" #: venv/lib/python3.6/site-packages/django_icons/renderers/image.py:217 msgid "Icon of {}" -msgstr "" +msgstr "{} ikonu" #: venv/lib/python3.6/site-packages/qr_code/qrcode/utils.py:73 #, python-format msgid "The option '%s' is not a valid option for a QR code." -msgstr "" +msgstr "'%s' seçeneği QR kodu için geçerli bir seçenek değil." #: venv2/lib/python2.7/site-packages/django/forms/models.py:1093 msgid "The inline foreign key did not match the parent instance primary key." @@ -5350,10 +5268,8 @@ msgstr "" "ayarlamamışsınız." #: venv2/lib/python2.7/site-packages/gunicorn/argparse_compat.py:313 -#, fuzzy -#| msgid "Usage" msgid "usage: " -msgstr "Kullanım" +msgstr "kullanım:" #: venv2/lib/python2.7/site-packages/gunicorn/argparse_compat.py:821 msgid ".__call__() not defined" @@ -5498,13 +5414,78 @@ msgstr "" #: venv2/lib/python2.7/site-packages/gunicorn/argparse_compat.py:2362 #, python-format msgid "%s: error: %s\n" -msgstr "" +msgstr "%s hata: %s\n" #: webvirtcloud/middleware.py:18 #, python-format msgid "libvirt Error - %(exception)s" msgstr "libvirt Hatası - %(exception)s" +#~ msgid "" +#~ "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and start " +#~ "network to activate new config" +#~ msgstr "" +#~ "Ağ XML i değiştirildi. \\ Aktifleştirmek için durdurun ve yeniden " +#~ "başlatın." + +#~ msgid "Stop and start network to activate new config." +#~ msgstr "" +#~ "Yeni yapılandırmayı aktifleştirmek için ağı durdurun ve yeniden başlatın." + +#~ msgid "CPU is resized" +#~ msgstr "Disk yeniden boyutlandırıldı" + +#~ msgid "New snapshot: %(name)s" +#~ msgstr "Yeni anlık görüntü: %(name)s" + +#~ msgid "Revert snapshot" +#~ msgstr "Snapshota dön" + +#~ msgid "Edit XML" +#~ msgstr "XML Düzenle" + +#, fuzzy +#~| msgid "Password" +#~ msgid "User password changed: {}" +#~ msgstr "Kullanıcı parolası değişti: {}" + +#, fuzzy +#~| msgid "Theme changed. Now: {theme}" +#~ msgid "{} is changed. Now: {}" +#~ msgstr "Tema değiştirildi. Şimdi: {theme}" + +#~ msgid "{} QoS is set" +#~ msgstr "{} QoS ayarlandı" + +#~ msgid "{} QoS is deleted" +#~ msgstr "{} QoS silindi" + +#, fuzzy +#~| msgid "Creating NWFilter: %s" +#~ msgid "Creating NWFilter: {}" +#~ msgstr "AğFiltresi Oluşturuluyor: {}" + +#, fuzzy +#~| msgid "Deleting NWFilter: {name}" +#~ msgid "Deleting NWFilter: {}" +#~ msgstr "AğFiltresi Siliniyor: {}" + +#~ msgid "Resize CPU" +#~ msgstr "CPU Boyutlandır" + +#~ msgid "Resize Memory" +#~ msgstr "Bellek Boyutlandır" + +#~ msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#~ msgstr "" +#~ "{qos_dir.capitalize()} QoS ayarlandı. Ağ ayarları XML ile değiştirildi." + +#~ msgid "Stop and start network to activate new config" +#~ msgstr "Yeni yapılandırmayı aktifleştirmek için ağı durdurun ve başlatın" + +#~ msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " +#~ msgstr "{qos_dir.capitalize()} QoS silindi. Ağ XML'i değiştirildi." + #~ msgid "Login" #~ msgstr "Bağlan" @@ -5514,9 +5495,6 @@ msgstr "libvirt Hatası - %(exception)s" #~ msgid "Is superuser" #~ msgstr "Süperkullanıcı mı" -#~ msgid "Can clone instances" -#~ msgstr "Sanal makineleri klonlayabilir" - #~ msgid "Max instances" #~ msgstr "Maksimum sanal makine" diff --git a/locale/uk/LC_MESSAGES/django.po b/locale/uk/LC_MESSAGES/django.po index 6de07c0..3d66de4 100644 --- a/locale/uk/LC_MESSAGES/django.po +++ b/locale/uk/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-10-23 07:53+0000\n" +"POT-Creation-Date: 2020-11-05 09:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -302,49 +302,49 @@ msgstr "" msgid "Profile updated" msgstr "" -#: accounts/views.py:40 +#: accounts/views.py:44 msgid "SSH key added" msgstr "" -#: accounts/views.py:45 +#: accounts/views.py:52 msgid "Add SSH key" msgstr "" -#: accounts/views.py:53 +#: accounts/views.py:61 msgid "SSH key deleted" msgstr "" -#: accounts/views.py:58 +#: accounts/views.py:69 msgid "Delete SSH key" msgstr "" -#: accounts/views.py:86 +#: accounts/views.py:101 msgid "Password Changed" msgstr "" -#: accounts/views.py:106 +#: accounts/views.py:121 msgid "Create User Instance" msgstr "" -#: accounts/views.py:124 +#: accounts/views.py:139 msgid "Update User Instance" msgstr "" -#: accounts/views.py:160 -#, python-format -msgid "OTP Sent to %s" -msgstr "" - -#: accounts/views.py:165 -msgid "Email OTP" -msgstr "" - #: accounts/views.py:175 #, python-format -msgid "OTP QR code was emailed to user %s" +msgid "OTP Sent to %(email)s" msgstr "" -#: accounts/views.py:177 +#: accounts/views.py:183 +msgid "Email OTP" +msgstr "" + +#: accounts/views.py:194 +#, python-format +msgid "OTP QR code was emailed to user %(user)s" +msgstr "" + +#: accounts/views.py:196 msgid "User email not set, failed to send QR code" msgstr "" @@ -357,11 +357,12 @@ msgstr "" msgid "Groups" msgstr "" -#: admin/forms.py:79 +#: admin/forms.py:81 msgid "" -"Raw passwords are not stored, so there is no way to see\n" -" this user's password, but you can change the password using " -"this form." +"Raw passwords are not stored, so there is no way to see this user's " +"password, \n" +" but you can change the password using this " +"form." msgstr "" #: admin/templates/admin/group_list.html:5 admin/views.py:87 @@ -504,19 +505,20 @@ msgstr "" msgid "Update Group" msgstr "" -#: admin/views.py:113 +#: admin/views.py:110 msgid "Create User" msgstr "" -#: admin/views.py:136 +#: admin/views.py:129 msgid "Update User" msgstr "" -#: admin/views.py:149 -msgid "User password changed: {}" +#: admin/views.py:141 +#, python-format +msgid "Password changed for %(user)s" msgstr "" -#: admin/views.py:152 +#: admin/views.py:144 msgid "Wrong Data Provided" msgstr "" @@ -802,18 +804,18 @@ msgid "Other Settings" msgstr "" #: appsettings/views.py:38 -#, python-brace-format -msgid "SASS directory path is changed. Now: {sass_dir.value}" +#, python-format +msgid "SASS directory path is changed. Now: %(dir)s" msgstr "" -#: appsettings/views.py:65 -#, python-brace-format -msgid "Theme changed. Now: {theme}" +#: appsettings/views.py:67 +#, python-format +msgid "Theme is changed. Now: %(theme)s" msgstr "" -#: appsettings/views.py:80 -#, python-brace-format -msgid "{setting.name} is changed. Now: {setting.value}" +#: appsettings/views.py:82 +#, python-format +msgid "%(setting)s is changed. Now: %(value)s" msgstr "" #: computes/forms.py:21 @@ -1701,7 +1703,7 @@ msgstr "" #: instances/templates/instance_actions.html:25 #: instances/templates/instance_actions.html:37 #: instances/templates/instances/power_tab.html:25 -#: instances/templates/instances/power_tab.html:82 instances/views.py:264 +#: instances/templates/instances/power_tab.html:82 instances/views.py:270 msgid "Suspend" msgstr "" @@ -1755,7 +1757,7 @@ msgstr "" #: instances/templates/instances/destroy_instance_form.html:40 #: instances/templates/instances/destroy_tab.html:18 #: instances/templates/instances/destroy_tab.html:20 -#: instances/templates/instances/destroy_tab.html:23 instances/views.py:306 +#: instances/templates/instances/destroy_tab.html:23 instances/views.py:312 msgid "Destroy" msgstr "" @@ -1773,20 +1775,20 @@ msgstr "" #: instances/templates/instance_actions.html:35 #: instances/templates/instances/power_tab.html:47 #: instances/templates/instances/power_tab.html:121 -#: instances/templates/instances/power_tab.html:123 instances/views.py:239 +#: instances/templates/instances/power_tab.html:123 instances/views.py:245 msgid "Power On" msgstr "" #: instances/templates/instance_actions.html:15 #: instances/templates/instances/power_tab.html:9 -#: instances/templates/instances/power_tab.html:59 instances/views.py:255 +#: instances/templates/instances/power_tab.html:59 instances/views.py:261 msgid "Power Off" msgstr "" #: instances/templates/instance_actions.html:16 #: instances/templates/instance_actions.html:29 #: instances/templates/instances/power_tab.html:14 -#: instances/templates/instances/power_tab.html:66 instances/views.py:248 +#: instances/templates/instances/power_tab.html:66 instances/views.py:254 msgid "Power Cycle" msgstr "" @@ -1798,7 +1800,7 @@ msgstr "" #: instances/templates/instance_actions.html:22 #: instances/templates/instances/power_tab.html:34 #: instances/templates/instances/power_tab.html:93 -#: instances/templates/instances/power_tab.html:108 instances/views.py:272 +#: instances/templates/instances/power_tab.html:108 instances/views.py:278 msgid "Resume" msgstr "" @@ -1806,7 +1808,7 @@ msgstr "" #: instances/templates/instances/power_tab.html:19 #: instances/templates/instances/power_tab.html:39 #: instances/templates/instances/power_tab.html:74 -#: instances/templates/instances/power_tab.html:100 instances/views.py:279 +#: instances/templates/instances/power_tab.html:100 instances/views.py:285 msgid "Force Off" msgstr "" @@ -2453,7 +2455,7 @@ msgstr "" #: instances/templates/instances/snapshots_tab.html:22 msgid "" "This may take more than an hour, depending on how much content is on your " -"droplet and how large the disk is." +"instance and how large the disk is." msgstr "" #: instances/templates/instances/snapshots_tab.html:27 @@ -2508,387 +2510,395 @@ msgstr "" msgid "None available device name" msgstr "" -#: instances/views.py:236 +#: instances/views.py:242 msgid "Templates cannot be started." msgstr "" -#: instances/views.py:339 +#: instances/views.py:345 #, python-format -msgid "Migrate to %(hostname)%" +msgid "Instance is migrated to %(hostname)s" msgstr "" -#: instances/views.py:362 +#: instances/views.py:368 msgid "Reset root password" msgstr "" -#: instances/views.py:368 instances/views.py:397 +#: instances/views.py:374 instances/views.py:403 msgid "Please shutdown down your instance and then try again" msgstr "" -#: instances/views.py:389 +#: instances/views.py:395 #, python-format msgid "Installed new SSH public key %(keyname)s" msgstr "" -#: instances/views.py:416 +#: instances/views.py:422 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize CPU of '%(instance_name)s'!" msgstr "" -#: instances/views.py:425 -msgid "Resize CPU" +#: instances/views.py:431 +#, python-format +msgid "CPU is resized: %(old)s to %(new)s" msgstr "" -#: instances/views.py:453 +#: instances/views.py:459 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize memory of " "'%(instance_name)s'!" msgstr "" -#: instances/views.py:462 -msgid "Resize Memory" +#: instances/views.py:466 +#, python-format +msgid "" +"Memory is resized: current/max: %(old_cur)s/%(old_max)s to %(new_cur)s/" +"%(new_max)s" msgstr "" -#: instances/views.py:491 +#: instances/views.py:500 #, python-format msgid "" "User %(quota_msg)s quota reached, cannot resize disks of '%(instance_name)s'!" msgstr "" -#: instances/views.py:498 -msgid "Disk resize" -msgstr "" - -#: instances/views.py:537 +#: instances/views.py:507 #, python-format -msgid "Attach new disk %(name)s (%(format)s)" +msgid "Disk is resized: %(dev)s" msgstr "" -#: instances/views.py:568 +#: instances/views.py:546 +#, python-format +msgid "Attach new disk: %(name)s (%(format)s)" +msgstr "" + +#: instances/views.py:577 #, python-format msgid "Attach Existing disk: %(target_dev)s" msgstr "" -#: instances/views.py:624 +#: instances/views.py:635 msgid "Volume changes are applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:626 +#: instances/views.py:638 msgid "Volume is changed successfully." msgstr "" -#: instances/views.py:627 +#: instances/views.py:639 #, python-format msgid "Edit disk: %(target_dev)s" msgstr "" -#: instances/views.py:649 +#: instances/views.py:661 #, python-format msgid "Delete disk: %(dev)s" msgstr "" -#: instances/views.py:665 +#: instances/views.py:677 #, python-format msgid "Detach disk: %(dev)s" msgstr "" -#: instances/views.py:678 +#: instances/views.py:690 #, python-format msgid "Add CD-ROM: %(target)s" msgstr "" -#: instances/views.py:691 +#: instances/views.py:703 #, python-format msgid "Detach CD-ROM: %(dev)s" msgstr "" -#: instances/views.py:704 +#: instances/views.py:716 #, python-format msgid "Mount media: %(dev)s" msgstr "" -#: instances/views.py:717 +#: instances/views.py:729 #, python-format msgid "Unmount media: %(dev)s" msgstr "" -#: instances/views.py:730 +#: instances/views.py:742 #, python-format -msgid "New snapshot: %(name)s" +msgid "Create snapshot: %(snap)s" msgstr "" -#: instances/views.py:741 +#: instances/views.py:753 #, python-format -msgid "Delete snapshot: %(snap_name)s" +msgid "Delete snapshot: %(snap)s" msgstr "" -#: instances/views.py:752 +#: instances/views.py:764 msgid "Successful revert snapshot: " msgstr "" -#: instances/views.py:755 -msgid "Revert snapshot" +#: instances/views.py:767 +msgid "Revert snapshot: %(snap)" msgstr "" -#: instances/views.py:769 +#: instances/views.py:781 #, python-format msgid "VCPU %(id)s is enabled=%(enabled)s" msgstr "" -#: instances/views.py:780 +#: instances/views.py:790 #, python-format msgid "VCPU Hot-plug is enabled=%(status)s" msgstr "" -#: instances/views.py:791 +#: instances/views.py:800 msgid "Set autostart" msgstr "" -#: instances/views.py:800 +#: instances/views.py:809 msgid "Unset autostart" msgstr "" -#: instances/views.py:809 +#: instances/views.py:818 msgid "Enable boot menu" msgstr "" -#: instances/views.py:818 +#: instances/views.py:827 msgid "Disable boot menu" msgstr "" -#: instances/views.py:833 +#: instances/views.py:842 msgid "Set boot order" msgstr "" -#: instances/views.py:836 +#: instances/views.py:847 msgid "Boot menu changes applied. But it will be activated after shutdown" msgstr "" -#: instances/views.py:838 +#: instances/views.py:850 msgid "Boot order changed successfully." msgstr "" -#: instances/views.py:849 -msgid "Edit XML" +#: instances/views.py:861 +msgid "Change instance XML" msgstr "" -#: instances/views.py:863 +#: instances/views.py:875 #, python-format -msgid "Set Guest Agent %(status)s" +msgid "Set Guest Agent: %(status)s" msgstr "" -#: instances/views.py:873 -msgid "Set Video Model" +#: instances/views.py:885 +msgid "Set Video Model: %(model)" msgstr "" -#: instances/views.py:882 +#: instances/views.py:894 msgid "Change network" msgstr "" -#: instances/views.py:895 +#: instances/views.py:907 msgid "Network Device Config is changed. Please shutdown instance to activate." msgstr "" -#: instances/views.py:903 -msgid "Add network" -msgstr "" - -#: instances/views.py:917 -msgid "Delete network" +#: instances/views.py:922 +#, python-format +msgid "Add network: %(mac)s" msgstr "" #: instances/views.py:933 #, python-format +msgid "Delete Network: %(mac)s" +msgstr "" + +#: instances/views.py:946 +#, python-format msgid "Set Link State: %(state)s" msgstr "" -#: instances/views.py:952 +#: instances/views.py:966 networks/views.py:231 #, python-format msgid "%(qos_dir)s QoS is set" msgstr "" -#: instances/views.py:956 +#: instances/views.py:971 #, python-format msgid "" "%(qos_dir)s QoS is set. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:970 +#: instances/views.py:988 networks/views.py:246 #, python-format msgid "%(qos_dir)s QoS is deleted" msgstr "" -#: instances/views.py:974 +#: instances/views.py:993 #, python-format msgid "" "%(qos_dir)s QoS is deleted. Network XML is changed. Stop and " "start network to activate new config." msgstr "" -#: instances/views.py:990 +#: instances/views.py:1012 msgid "Only one owner is allowed and the one already added" msgstr "" -#: instances/views.py:995 +#: instances/views.py:1017 #, python-format -msgid "Added owner %(user)s" +msgid "Add owner: %(user)s" msgstr "" -#: instances/views.py:1006 +#: instances/views.py:1028 #, python-format -msgid "Deleted owner %(userinstance_id)s" -msgstr "" - -#: instances/views.py:1038 -#, python-format -msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" -msgstr "" - -#: instances/views.py:1044 -msgid "Instance 'clone_name' already exists!" -msgstr "" - -#: instances/views.py:1047 -#, python-format -msgid "Instance name '%(clone_name)s' contains invalid characters!" -msgstr "" - -#: instances/views.py:1050 -#, python-format -msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgid "Delete owner: %(userinstance_id)s " msgstr "" #: instances/views.py:1060 #, python-format -msgid "Clone of '%(instance_name)s'" +msgid "User '%(quota_msg)s' quota reached, cannot create '%(clone_name)s'!" msgstr "" -#: instances/views.py:1093 +#: instances/views.py:1066 +#, python-format +msgid "Instance '%(clone_name)s' already exists!" +msgstr "" + +#: instances/views.py:1069 +#, python-format +msgid "Instance name '%(clone_name)s' contains invalid characters!" +msgstr "" + +#: instances/views.py:1072 +#, python-format +msgid "Instance MAC '%(clone_mac)s' invalid format!" +msgstr "" + +#: instances/views.py:1082 +#, python-format +msgid "Create a clone of '%(instance_name)s'" +msgstr "" + +#: instances/views.py:1121 msgid "" "Error setting console password. You should check that your instance have an " "graphic device." msgstr "" -#: instances/views.py:1096 +#: instances/views.py:1126 msgid "Set VNC password" msgstr "" -#: instances/views.py:1104 +#: instances/views.py:1135 msgid "Set VNC keymap" msgstr "" -#: instances/views.py:1109 +#: instances/views.py:1140 msgid "Set VNC type" msgstr "" -#: instances/views.py:1114 +#: instances/views.py:1145 msgid "Set VNC listen address" msgstr "" -#: instances/views.py:1137 +#: instances/views.py:1168 msgid "Edit options" msgstr "" -#: instances/views.py:1151 +#: instances/views.py:1182 msgid "Send console.vv file" msgstr "" -#: instances/views.py:1206 instances/views.py:1298 +#: instances/views.py:1243 instances/views.py:1337 msgid "A virtual machine with this name already exists" msgstr "" -#: instances/views.py:1281 +#: instances/views.py:1320 msgid "You haven't defined any storage pools" msgstr "" -#: instances/views.py:1283 +#: instances/views.py:1322 msgid "You haven't defined any network pools" msgstr "" -#: instances/views.py:1300 +#: instances/views.py:1339 msgid "There is an instance with same name. Remove it and try again!" msgstr "" -#: instances/views.py:1304 +#: instances/views.py:1343 msgid "No Virtual Machine MAC has been entered" msgstr "" -#: instances/views.py:1327 +#: instances/views.py:1374 msgid "Image has already exist. Please check volumes or change instance name" msgstr "" -#: instances/views.py:1347 +#: instances/views.py:1401 msgid "First you need to create or select an image" msgstr "" -#: instances/views.py:1365 +#: instances/views.py:1419 msgid "Invalid cache mode" msgstr "" -#: instances/views.py:1402 +#: instances/views.py:1460 msgid "Instance is created" msgstr "" -#: instances/views.py:1423 +#: instances/views.py:1481 msgid "Flavor Created" msgstr "" -#: instances/views.py:1431 +#: instances/views.py:1487 msgid "Create Flavor" msgstr "" -#: instances/views.py:1442 +#: instances/views.py:1497 msgid "Flavor Updated" msgstr "" -#: instances/views.py:1450 +#: instances/views.py:1503 msgid "Update Flavor" msgstr "" -#: instances/views.py:1460 +#: instances/views.py:1512 msgid "Flavor Deleted" msgstr "" -#: interfaces/forms.py:25 +#: interfaces/forms.py:26 msgid "The IPv4 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:27 +#: interfaces/forms.py:28 msgid "The IPv4 address must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:34 +#: interfaces/forms.py:35 msgid "The IPv4 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:36 +#: interfaces/forms.py:37 msgid "The IPv4 gateway must not exceed 20 characters" msgstr "" -#: interfaces/forms.py:43 +#: interfaces/forms.py:44 msgid "The IPv6 address must not contain any special characters" msgstr "" -#: interfaces/forms.py:45 +#: interfaces/forms.py:46 msgid "The IPv6 address must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:52 +#: interfaces/forms.py:53 msgid "The IPv6 gateway must not contain any special characters" msgstr "" -#: interfaces/forms.py:54 +#: interfaces/forms.py:55 msgid "The IPv6 gateway must not exceed 100 characters" msgstr "" -#: interfaces/forms.py:61 interfaces/forms.py:70 +#: interfaces/forms.py:62 interfaces/forms.py:71 msgid "The interface must not contain any special characters" msgstr "" -#: interfaces/forms.py:63 interfaces/forms.py:72 +#: interfaces/forms.py:64 interfaces/forms.py:73 msgid "The interface must not exceed 10 characters" msgstr "" @@ -3022,63 +3032,63 @@ msgstr "" msgid "Hypervisor doesn't have any Interfaces" msgstr "" -#: logs/models.py:6 +#: logs/models.py:5 msgid "user" msgstr "" -#: logs/models.py:7 +#: logs/models.py:6 msgid "instance" msgstr "" -#: logs/models.py:8 +#: logs/models.py:7 msgid "message" msgstr "" -#: logs/models.py:9 +#: logs/models.py:8 msgid "date" msgstr "" -#: networks/forms.py:7 storages/forms.py:7 +#: networks/forms.py:8 storages/forms.py:8 msgid "No pool name has been entered" msgstr "" -#: networks/forms.py:9 +#: networks/forms.py:10 msgid "No IPv4 subnet has been entered" msgstr "" -#: networks/forms.py:11 +#: networks/forms.py:15 msgid "No IPv6 subnet has been entered" msgstr "" -#: networks/forms.py:24 storages/forms.py:22 +#: networks/forms.py:30 storages/forms.py:23 msgid "The pool name must not contain any special characters" msgstr "" -#: networks/forms.py:26 storages/forms.py:24 +#: networks/forms.py:32 storages/forms.py:25 msgid "The pool name must not exceed 20 characters" msgstr "" -#: networks/forms.py:33 +#: networks/forms.py:39 msgid "The IPv4 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:35 +#: networks/forms.py:41 msgid "The IPv4 subnet must not exceed 20 characters" msgstr "" -#: networks/forms.py:42 +#: networks/forms.py:48 msgid "The IPv6 subnet must not contain any special characters" msgstr "" -#: networks/forms.py:44 +#: networks/forms.py:50 msgid "The IPv6 subnet must not exceed 42 characters" msgstr "" -#: networks/forms.py:52 +#: networks/forms.py:58 msgid "The pool bridge name must not contain any special characters" msgstr "" -#: networks/forms.py:54 +#: networks/forms.py:60 msgid "The pool bridge name must not exceed 20 characters" msgstr "" @@ -3274,57 +3284,50 @@ msgstr "" msgid "Please enter bridge/dev name" msgstr "" -#: networks/views.py:56 +#: networks/views.py:57 msgid "For libvirt, the IPv6 network prefix must be /64" msgstr "" -#: networks/views.py:126 +#: networks/views.py:130 msgid "Unknown Network Family" msgstr "" -#: networks/views.py:176 -msgid "{family.upper()} Fixed Address Operation Completed." +#: networks/views.py:180 +#, python-format +msgid "Fixed address operation completed for %(family)s" msgstr "" -#: networks/views.py:186 -msgid "{family.upper()} Fixed Address is Deleted." +#: networks/views.py:190 +#, python-format +msgid "%(family)s Fixed Address is Deleted." msgstr "" -#: networks/views.py:194 -msgid "{family.upper()} DHCP Range is Changed." +#: networks/views.py:198 +#, python-format +msgid "%(family)s DHCP Range is Changed." msgstr "" -#: networks/views.py:203 +#: networks/views.py:210 msgid "" "Network XML is changed. \\Stop and start network to activate new config." msgstr "" -#: networks/views.py:205 +#: networks/views.py:215 msgid "Network XML is changed." msgstr "" -#: networks/views.py:218 -msgid "{qos_dir.capitalize()} QoS is set. Network XML is changed." +#: networks/views.py:228 +#, python-format +msgid "" +"%(qos_dir)s QoS is updated. Network XML is changed. Stop and start network " +"to activate new config" msgstr "" -#: networks/views.py:219 -msgid "Stop and start network to activate new config" -msgstr "" - -#: networks/views.py:221 -msgid "{} QoS is set" -msgstr "" - -#: networks/views.py:232 -msgid "{qos_dir.capitalize()} QoS is deleted. Network XML is changed. " -msgstr "" - -#: networks/views.py:233 -msgid "Stop and start network to activate new config." -msgstr "" - -#: networks/views.py:235 -msgid "{qos_dir.capitalize()} QoS is deleted" +#: networks/views.py:242 +#, python-format +msgid "" +"%(qos_dir)s QoS is deleted. Network XML is changed. " +"Stop and start network to activate new config" msgstr "" #: nwfilters/templates/add_nwf_rule.html:12 @@ -3388,32 +3391,32 @@ msgstr "" msgid "Hypervisor doesn't have any NWFilters" msgstr "" -#: nwfilters/views.py:41 +#: nwfilters/views.py:44 msgid "A network filter with this name already exists" msgstr "" -#: nwfilters/views.py:44 +#: nwfilters/views.py:47 msgid "A network filter with this UUID already exists" msgstr "" -#: nwfilters/views.py:48 +#: nwfilters/views.py:51 #, python-format -msgid "Creating NWFilter: %s" +msgid "%(filter)s network filter is created" msgstr "" -#: nwfilters/views.py:57 -#, python-brace-format -msgid "Deleting NWFilter: {name}" +#: nwfilters/views.py:60 +#, python-format +msgid "%(filter)s network filter is deleted" msgstr "" -#: nwfilters/views.py:69 -#, python-brace-format -msgid "NWFilter is in use by {inst}. Cannot be deleted." +#: nwfilters/views.py:76 +#, python-format +msgid "NWFilter is in use by %(instance)s. Cannot be deleted." msgstr "" -#: nwfilters/views.py:86 -#, python-brace-format -msgid "Cloning NWFilter {name} as {cln_name}" +#: nwfilters/views.py:93 +#, python-format +msgid "Cloning NWFilter %(name)s as %(clone)s" msgstr "" #: secrets/templates/create_secret_block.html:12 @@ -3464,27 +3467,27 @@ msgstr "" msgid "Value" msgstr "" -#: storages/forms.py:9 storages/forms.py:36 +#: storages/forms.py:10 storages/forms.py:37 msgid "No path has been entered" msgstr "" -#: storages/forms.py:33 +#: storages/forms.py:34 msgid "The target must not contain any special characters" msgstr "" -#: storages/forms.py:45 +#: storages/forms.py:46 msgid "No device or path has been entered" msgstr "" -#: storages/forms.py:47 +#: storages/forms.py:48 msgid "The disk source must not contain any special characters" msgstr "" -#: storages/forms.py:61 storages/forms.py:76 +#: storages/forms.py:62 storages/forms.py:77 msgid "The image name must not contain any special characters" msgstr "" -#: storages/forms.py:78 +#: storages/forms.py:79 msgid "The image name must not exceed 120 characters" msgstr "" @@ -3617,42 +3620,44 @@ msgstr "" msgid "Hypervisor doesn't have any Storages" msgstr "" -#: storages/views.py:40 +#: storages/views.py:39 msgid "Pool name already use" msgstr "" -#: storages/views.py:45 +#: storages/views.py:44 msgid "You need create secret for pool" msgstr "" -#: storages/views.py:49 +#: storages/views.py:48 msgid "You need input all fields for creating ceph pool" msgstr "" -#: storages/views.py:132 -#, python-brace-format -msgid "Volume: {volname} is deleted." +#: storages/views.py:144 +#, python-format +msgid "Volume: %(volume)s is deleted." msgstr "" -#: storages/views.py:137 +#: storages/views.py:149 msgid "ISO image already exist" msgstr "" -#: storages/views.py:141 -msgid "ISO: {request.FILES['file']} is uploaded." +#: storages/views.py:153 +#, python-format +msgid "ISO: %(file)s is uploaded." msgstr "" -#: storages/views.py:150 +#: storages/views.py:162 msgid "Name of volume already in use" msgstr "" -#: storages/views.py:160 -msgid "{data['image']} image cloned as {name} successfully" +#: storages/views.py:174 +#, python-format +msgid "%(image)s image cloned as %(clone)s successfully" msgstr "" -#: storages/views.py:199 -#, python-brace-format -msgid "Image file {name} is created successfully" +#: storages/views.py:220 +#, python-format +msgid "Image file %(name)s is created successfully" msgstr "" #: templates/403.html:3