aclui: Populate the access list.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Michael Müller 2021-02-28 10:27:48 -06:00 committed by Alexandre Julliard
parent fe7d44dfa3
commit fa0a8f56c7
51 changed files with 445 additions and 0 deletions

View File

@ -41,6 +41,11 @@ BEGIN
5, 115, 230, 95, WS_EX_NOPARENTNOTIFY | WS_EX_CLIENTEDGE
END
STRINGTABLE
BEGIN
IDS_PERMISSION_FOR "Permissions for %1"
END
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* @makedep: user_icons.bmp */

View File

@ -51,6 +51,9 @@ struct security_page
SI_OBJECT_INFO info;
PSECURITY_DESCRIPTOR sd;
SI_ACCESS *access;
ULONG access_count;
struct user *users;
unsigned int user_count;
@ -60,6 +63,19 @@ struct security_page
static HINSTANCE aclui_instance;
static WCHAR *WINAPIV load_formatstr(UINT resource, ...)
{
__ms_va_list valist;
WCHAR *str;
DWORD ret;
__ms_va_start(valist, resource);
ret = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE,
aclui_instance, resource, 0, (WCHAR*)&str, 0, &valist);
__ms_va_end(valist);
return ret ? str : NULL;
}
static WCHAR *get_sid_name(PSID sid, SID_NAME_USE *sid_type)
{
WCHAR *name, *domain;
@ -135,6 +151,80 @@ static PSID get_sid_from_ace(ACE_HEADER *ace)
}
}
static void compute_access_masks(PSECURITY_DESCRIPTOR sd, PSID sid, ACCESS_MASK *allowed, ACCESS_MASK *denied)
{
BOOL defaulted, present;
ACE_HEADER *ace;
PSID ace_sid;
DWORD index;
ACL *dacl;
*allowed = 0;
*denied = 0;
if (!GetSecurityDescriptorDacl(sd, &present, &dacl, &defaulted) || !present)
return;
for (index = 0; index < dacl->AceCount; index++)
{
if (!GetAce(dacl, index, (void**)&ace))
break;
ace_sid = get_sid_from_ace(ace);
if (!ace_sid || !EqualSid(ace_sid, sid))
continue;
if (ace->AceType == ACCESS_ALLOWED_ACE_TYPE)
*allowed |= ((ACCESS_ALLOWED_ACE*)ace)->Mask;
else if (ace->AceType == ACCESS_DENIED_ACE_TYPE)
*denied |= ((ACCESS_DENIED_ACE*)ace)->Mask;
}
}
static void update_access_list(struct security_page *page, struct user *user)
{
ACCESS_MASK allowed, denied;
WCHAR *infotext;
ULONG i, index;
LVITEMW item;
HWND control;
compute_access_masks(page->sd, user->sid, &allowed, &denied);
if ((infotext = load_formatstr(IDS_PERMISSION_FOR, user->name)))
{
SetDlgItemTextW(page->dialog, IDC_ACE_USER, infotext);
LocalFree(infotext);
}
control = GetDlgItem(page->dialog, IDC_ACE);
index = 0;
for (i = 0; i < page->access_count; i++)
{
if (!(page->access[i].dwFlags & SI_ACCESS_GENERAL))
continue;
item.mask = LVIF_TEXT;
item.iItem = index;
item.iSubItem = 1;
if ((page->access[i].mask & allowed) == page->access[i].mask)
item.pszText = (WCHAR *)L"X";
else
item.pszText = (WCHAR *)L"-";
SendMessageW(control, LVM_SETITEMW, 0, (LPARAM)&item);
item.iSubItem = 2;
if ((page->access[i].mask & denied) == page->access[i].mask)
item.pszText = (WCHAR *)L"X";
else
item.pszText = (WCHAR *)L"-";
SendMessageW(control, LVM_SETITEMW, 0, (LPARAM)&item);
index++;
}
}
static void init_users(struct security_page *page)
{
BOOL defaulted, present;
@ -162,6 +252,37 @@ static void init_users(struct security_page *page)
}
}
static void init_access_list(struct security_page *page)
{
ULONG i, index;
WCHAR str[256];
LVITEMW item;
HWND control;
control = GetDlgItem(page->dialog, IDC_ACE);
index = 0;
for (i = 0; i < page->access_count; i++)
{
if (!(page->access[i].dwFlags & SI_ACCESS_GENERAL))
continue;
item.mask = LVIF_TEXT;
item.iItem = index;
item.iSubItem = 0;
if (IS_INTRESOURCE(page->access[i].pszName))
{
str[0] = 0;
LoadStringW(page->info.hInstance, (DWORD_PTR)page->access[i].pszName, str, ARRAY_SIZE(str));
item.pszText = str;
}
else
item.pszText = (WCHAR *)page->access[i].pszName;
SendMessageW(control, LVM_INSERTITEMW, 0, (LPARAM)&item);
index++;
}
}
static HIMAGELIST create_image_list(UINT resource, UINT width, UINT height, UINT count, COLORREF mask_color)
{
HIMAGELIST image_list;
@ -207,6 +328,7 @@ static void security_page_init_dlg(HWND hwnd, struct security_page *page)
LVCOLUMNW column;
HWND control;
HRESULT hr;
ULONG def;
RECT rect;
page->dialog = hwnd;
@ -218,6 +340,15 @@ static void security_page_init_dlg(HWND hwnd, struct security_page *page)
return;
}
if (FAILED(hr = ISecurityInformation_GetAccessRights(page->security,
NULL, 0, &page->access, &page->access_count, &def)))
{
ERR("Failed to get access mapping, hr %#x.\n", hr);
return;
}
/* user list */
control = GetDlgItem(hwnd, IDC_USERS);
SendMessageW(control, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
@ -233,6 +364,23 @@ static void security_page_init_dlg(HWND hwnd, struct security_page *page)
init_users(page);
/* ACE list */
control = GetDlgItem(hwnd, IDC_ACE);
SendMessageW(control, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
column.mask = LVCF_FMT | LVCF_WIDTH;
column.fmt = LVCFMT_LEFT;
column.cx = 170;
SendMessageW(control, LVM_INSERTCOLUMNW, 0, (LPARAM)&column);
column.fmt = LVCFMT_CENTER;
column.cx = 85;
SendMessageW(control, LVM_INSERTCOLUMNW, 1, (LPARAM)&column);
SendMessageW(control, LVM_INSERTCOLUMNW, 2, (LPARAM)&column);
init_access_list(page);
if (page->user_count)
{
LVITEMW item;
@ -252,9 +400,25 @@ static INT_PTR CALLBACK security_page_proc(HWND dialog, UINT msg, WPARAM wparam,
case WM_INITDIALOG:
{
PROPSHEETPAGEW *propsheet = (PROPSHEETPAGEW *)lparam;
SetWindowLongPtrW(dialog, DWLP_USER, propsheet->lParam);
security_page_init_dlg(dialog, (struct security_page *)propsheet->lParam);
break;
}
case WM_NOTIFY:
{
struct security_page *page = (struct security_page *)GetWindowLongPtrW(dialog, DWLP_USER);
NMHDR *hdr = (NMHDR *)lparam;
if (hdr->hwndFrom == GetDlgItem(dialog, IDC_USERS) && hdr->code == LVN_ITEMCHANGED)
{
NMLISTVIEW *listview = (NMLISTVIEW *)lparam;
if (!(listview->uOldState & LVIS_SELECTED) && (listview->uNewState & LVIS_SELECTED))
update_access_list(page, (struct user *)listview->lParam);
return TRUE;
}
break;
}
}
return FALSE;
}

View File

@ -35,6 +35,12 @@ msgstr "أصفر"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "الوصول محظور.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "إضافة و إزالة البرامج"

View File

@ -34,6 +34,12 @@ msgstr "Mariellu"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Propiedaes de %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -33,6 +33,12 @@ msgstr "Жълт"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Свойства на %s"
#: dlls/appwiz.cpl/appwiz.rc:58
#, fuzzy
msgid "Install/Uninstall"

View File

@ -36,6 +36,12 @@ msgstr "Groga"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "S'ha denegat el permís"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instal·la/desinstal·la"

View File

@ -35,6 +35,12 @@ msgstr "žlutá"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Přístup odepřen.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instalovat/Odinstalovat"

View File

@ -34,6 +34,12 @@ msgstr "Gul"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Adgang nægtet.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installer/Fjern"

View File

@ -35,6 +35,12 @@ msgstr "Gelb"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Keine Berechtigung"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Software"

View File

@ -32,6 +32,12 @@ msgstr "Κίτρινο"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Ιδιότητες για %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -30,6 +30,10 @@ msgstr "Allow"
msgid "Deny"
msgstr "Deny"
#: dlls/aclui/aclui.rc:47
msgid "Permissions for %1"
msgstr "Permissions for %1"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Install/Uninstall"

View File

@ -30,6 +30,10 @@ msgstr "Allow"
msgid "Deny"
msgstr "Deny"
#: dlls/aclui/aclui.rc:47
msgid "Permissions for %1"
msgstr "Permissions for %1"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Install/Uninstall"

View File

@ -34,6 +34,12 @@ msgstr "Flavo"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Ecoj laŭ %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instali/Malinstali"

View File

@ -35,6 +35,12 @@ msgstr "Amarillo"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Acceso denegado"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instalar/Desinstalar"

View File

@ -31,6 +31,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "انتخاب &همه\tCtrl+A"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -34,6 +34,12 @@ msgstr "Keltainen"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Pääsy estetty"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Asenna/Poista"

View File

@ -34,6 +34,12 @@ msgstr "Jaune"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Accès refusé.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installation/Désinstallation"

View File

@ -36,6 +36,11 @@ msgstr "צהוב"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "הגישה נדחתה.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "התקנה/הסרה"

View File

@ -30,6 +30,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "सूचना (&o)"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -34,6 +34,12 @@ msgstr "Žuta"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Pristup odbijen.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instaliraj/Ukloni"

View File

@ -34,6 +34,12 @@ msgstr "Sárga"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Hozzáférés megtagadva.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Telepítés/Eltávolítás"

View File

@ -34,6 +34,12 @@ msgstr "Giallo"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Accesso negato.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installa/Disinstalla"

View File

@ -35,6 +35,12 @@ msgstr "黄"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "許可がありません"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "インストールとアンインストール"

View File

@ -34,6 +34,12 @@ msgstr "노랑"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "허가가 거부되었습니다"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "설치/제거"

View File

@ -36,6 +36,12 @@ msgstr "Geltona"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Prieiga nesuteikta"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Įdiegti/Pašalinti"

View File

@ -30,6 +30,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "വി_വര"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "ഇൻസ്റ്റാൾ/അൺഇൻസ്റ്റാൾ"

View File

@ -36,6 +36,12 @@ msgstr "Gul"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Tilgang nektet.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installer/Avinstaller"

View File

@ -34,6 +34,12 @@ msgstr "Geel"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Toegang geweigerd"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installeren/Verwijderen"

View File

@ -30,6 +30,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "ସୂଚନା (&o)"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -30,6 +30,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "ਜਾਣਕਾਰੀ(&o)"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -40,6 +40,12 @@ msgstr "Żółty"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Dostęp zastrzeżony.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Zainstaluj/Odinstaluj"

View File

@ -35,6 +35,12 @@ msgstr "Amarelo"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Acesso negado"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instalar/Desinstalar"

View File

@ -45,6 +45,12 @@ msgstr "Amarelo"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Acesso negado.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instalar/Desinstalar"

View File

@ -31,6 +31,10 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
msgid "Permissions for %1"
msgstr ""
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -34,6 +34,12 @@ msgstr "Galben"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Acces refuzat.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instalare/dezinstalare"

View File

@ -35,6 +35,12 @@ msgstr "Жёлтый"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Доступ запрещён.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Установка/Удаление"

View File

@ -37,6 +37,12 @@ msgstr "කහ"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "ප්‍රවේශය අත්හිටුවා ඇත.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "ස්ථාපනය/අස්ථාපනය කරන්න"

View File

@ -34,6 +34,12 @@ msgstr "Žltá"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Prístup zamietnutý.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Inštalovať/Odinštalovať"

View File

@ -34,6 +34,12 @@ msgstr "Rumena"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Dostop je zavrnjen.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Dodaj/odstrani programe"

View File

@ -34,6 +34,12 @@ msgstr "Жута"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Својства за %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Инсталирај/уклони"

View File

@ -34,6 +34,12 @@ msgstr "Žuta"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "Svojstva za %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Instaliraj/ukloni"

View File

@ -35,6 +35,12 @@ msgstr "Gul"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "Åtkomst nekad.\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Installera/Avinstallera"

View File

@ -34,6 +34,10 @@ msgstr "மஞ்சள்"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
msgid "Permissions for %1"
msgstr ""
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "நிறுவு/நிறுவல்நீக்கு"

View File

@ -30,6 +30,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "సమాచారము (&o)"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -33,6 +33,12 @@ msgstr "สีเหลือง"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Properties for %s"
msgid "Permissions for %1"
msgstr "คุณสมบัติของ %s"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -36,6 +36,12 @@ msgstr "Sarı"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "İzin engellendi."
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Yükle/Kaldır"

View File

@ -34,6 +34,12 @@ msgstr "Жовтий"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "Доступ заборонено"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "Встановлення/Видалення"

View File

@ -31,6 +31,11 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
msgid "Permissions for %1"
msgstr "&Propietés"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -27,6 +27,10 @@ msgstr ""
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
msgid "Permissions for %1"
msgstr ""
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr ""

View File

@ -36,6 +36,12 @@ msgstr "黄色"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Permission denied"
msgid "Permissions for %1"
msgstr "没有权限"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "安装/卸载"

View File

@ -35,6 +35,12 @@ msgstr "黃色"
msgid "Deny"
msgstr ""
#: dlls/aclui/aclui.rc:47
#, fuzzy
#| msgid "Access denied.\n"
msgid "Permissions for %1"
msgstr "存取被拒。\n"
#: dlls/appwiz.cpl/appwiz.rc:58
msgid "Install/Uninstall"
msgstr "安裝/移除"