[FINDSTR]

- Port findstr (incomplete, as author of this patch states, it may satisfy RosBE, .c .h and .rc files) from FreeDOS project. Needed for RosBE-on-ReactOS support.
See issue #5724 for more details.

svn path=/trunk/; revision=49875
This commit is contained in:
Aleksey Bragin 2010-11-30 19:14:41 +00:00
parent 7ca7ff0cbd
commit ed5da47acd
24 changed files with 659 additions and 0 deletions

View file

@ -22,6 +22,9 @@
<directory name="extrac32">
<xi:include href="extrac32/extrac32.rbuild" />
</directory>
<directory name="findstr">
<xi:include href="findstr/findstr.rbuild" />
</directory>
<directory name="fontview">
<xi:include href="fontview/fontview.rbuild" />
</directory>

View file

@ -0,0 +1,295 @@
/* findstr.c */
/* Copyright (C) 1994-2002, Jim Hall <jhall@freedos.org> */
/* Adapted for ReactOS -Edited for Findstr.exe K'Williams */
/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/* This program locates a string in a text file and prints those lines
* that contain the string. Multiple files are clearly separated.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <windows.h>
#include <io.h>
#include <dos.h>
#include "resource.h"
/* Symbol definition */
#define MAX_STR 1024
/* This function prints out all lines containing a substring. There are some
* conditions that may be passed to the function.
*
* RETURN: If the string was found at least once, returns 1.
* If the string was not found at all, returns 0.
*/
int
find_str (char *sz, FILE *p, int invert_search,
int count_lines, int number_output, int ignore_case, int at_start, int literal_search,
int at_end, int reg_express, int exact_match, int sub_dirs, int only_fname)
{
int i, length;
long line_number = 0, total_lines = 0;
char *c, temp_str[MAX_STR], this_line[MAX_STR];
/* Convert to upper if needed */
if (ignore_case)
{
length = strlen (sz);
for (i = 0; i < length; i++)
sz[i] = toupper (sz[i]);
}
/* Scan the file until EOF */
while (fgets (temp_str, MAX_STR, p) != NULL)
{
/* Remove the trailing newline */
length = strlen (temp_str);
if (temp_str[length-1] == '\n')
{
temp_str[length-1] = '\0';
}
/* Increment number of lines */
line_number++;
strcpy (this_line, temp_str);
/* Convert to upper if needed */
if (ignore_case)
{
for (i = 0; i < length; i++)
{
temp_str[i] = toupper (temp_str[i]);
}
}
/* Locate the substring */
/* strstr() returns a pointer to the first occurrence in the
string of the substring */
c = strstr (temp_str, sz);
if ( ((invert_search) ? (c == NULL) : (c != NULL)) )
{
if (!count_lines)
{
if (number_output)
printf ("%ld:", line_number);
/* Print the line of text */
puts (this_line);
}
total_lines++;
} /* long if */
} /* while fgets */
if (count_lines)
{
/* Just show num. lines that contain the string */
printf ("%ld\n", total_lines);
}
/* RETURN: If the string was found at least once, returns 1.
* If the string was not found at all, returns 0.
*/
return (total_lines > 0 ? 1 : 0);
}
/* Show usage */
void
usage (void)
{
TCHAR lpUsage[4096];
LoadString( GetModuleHandle(NULL), IDS_USAGE, (LPTSTR)lpUsage, 4096);
CharToOem(lpUsage, lpUsage);
printf( lpUsage );
}
/* Main program */
int
main (int argc, char **argv)
{
char *opt, *needle = NULL;
int ret = 0;
TCHAR lpMessage[4096];
int invert_search = 0; /* flag to invert the search */
int count_lines = 0; /* flag to whether/not count lines */
int number_output = 0; /* flag to print line numbers */
int ignore_case = 0; /* flag to be case insensitive */
int at_start = 0; /* flag to Match if at the beginning of a line. */
int at_end = 0; /* flag to Match if at the beginning of a line. */
int reg_express = 0; /* flag to use/not use regular expressions */
int exact_match = 0; /* flag to be exact match */
int sub_dirs= 0; /* this and all subdirectories */
int only_fname= 0; /* print only the name of the file*/
int literal_search=0;
FILE *pfile; /* file pointer */
int hfind; /* search handle */
struct _finddata_t finddata; /* _findfirst, filenext block */
/* Scan the command line */
while ((--argc) && (needle == NULL))
{
if (*(opt = *++argv) == '/')
{
switch (opt[1])
{
case 'b':
case 'B': /* Matches pattern if at the beginning of a line */
at_start = 1;
break;
//case 'c':
//case 'C': /* Literal? */
// literal_search = 1;
// break;
case 'e':
case 'E': /* matches pattern if at end of line */
at_end = 1;
break;
case 'i':
case 'I': /* Ignore */
ignore_case = 1;
break;
case 'm':
case 'M': /* only filename */
only_fname = 1;
break;
case 'n':
case 'N': /* Number */
number_output = 1;
break;
case 'r':
case 'R': /* search strings as regular expressions */
reg_express = 1;
break;
case 's':
case 'S': /* search files in child directory too*/
sub_dirs = 1;
break;
case 'v':
case 'V': /* Not with */
invert_search = 1;
break;
case 'x':
case 'X': /* exact match */
exact_match = 1;
break;
default:
usage ();
exit (2); /* syntax error .. return error 2 */
break;
}
}
else
{
/* Get the string */
if (needle == NULL)
{
/* Assign the string to find */
needle = *argv;
}
}
}
/* Check for search string */
if (needle == NULL)
{
/* No string? */
usage ();
exit (1);
}
/* Scan the files for the string */
if (argc == 0)
{
ret = find_str (needle, stdin, invert_search, count_lines,
number_output, ignore_case, at_start, literal_search, at_end, reg_express, exact_match,
sub_dirs, only_fname);
}
while (--argc >= 0)
{
hfind = _findfirst (*++argv, &finddata);
if (hfind < 0)
{
/* We were not able to find a file. Display a message and
set the exit status. */
LoadString( GetModuleHandle(NULL), IDS_NO_SUCH_FILE, (LPTSTR)lpMessage, 4096);
CharToOem(lpMessage, lpMessage);
fprintf (stderr, lpMessage, *argv);//
}
else
{
/* repeat find next file to match the filemask */
do
{
/* We have found a file, so try to open it */
if ((pfile = fopen (finddata.name, "r")) != NULL)
{
printf ("---------------- %s\n", finddata.name);
ret = find_str (needle, pfile, invert_search, count_lines,
number_output, ignore_case, at_start, literal_search, at_end, reg_express, exact_match,
sub_dirs, only_fname);
fclose (pfile);
}
else
{
LoadString(GetModuleHandle(NULL), IDS_CANNOT_OPEN, (LPTSTR)lpMessage, 4096);
CharToOem(lpMessage, lpMessage);
fprintf (stderr, lpMessage,
finddata.name);
}
}
while (_findnext(hfind, &finddata) > 0);
}
_findclose(hfind);
} /* for each argv */
/* RETURN: If the string was found at least once, returns 0.
* If the string was not found at all, returns 1.
* (Note that find_str.c returns the exact opposite values.)
*/
exit ( (ret ? 0 : 1) );
}

View file

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
<module name="findstr" type="win32cui" installbase="system32" installname="findstr.exe">
<library>user32</library>
<file>findstr.c</file>
<file>findstr.rc</file>
<file>rsrc.rc</file>
</module>

View file

@ -0,0 +1,6 @@
#define REACTOS_STR_FILE_DESCRIPTION "W32 findstr command\0"
#define REACTOS_STR_INTERNAL_NAME "findstr\0"
#define REACTOS_STR_ORIGINAL_FILENAME "findstr.exe\0"
#include <reactos/version.rc>
#include "rsrc.rc"

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Извежда всички редове във файла, които съдържат указания низ..\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"низ\" [ файл... ]\n\
/C Брои колко реда съдържат низа\n\
/I Пренебрегва ГлАвНОсТта\n\
/N Брой показани редове, като се започва от 1\n\
/V Извеждане на редовете, НЕсъдържащи низа."
IDS_NO_SUCH_FILE, "FIND: %s: Няма такъв файл\n"
IDS_CANNOT_OPEN, "FIND: %s: Отварянето на файла е невъзможно\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_CATALAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Mostra totes les linies que continguin una determinada cadena de caràcters.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"Cadena de caràcters\" [ file... ]\n\
/C Conta el numero de linies que contenen la cadena de caràcters\n\
/I Ignora majúscules i minúscules\n\
/N Numero de linies mostrades, començant per la primera\n\
/V Mostra les linies que no contenen la cadena de caràcters"
IDS_NO_SUCH_FILE, "FIND: %s: No he trobat el fitxer\n"
IDS_CANNOT_OPEN, "FIND: %s: No puc obrir el fitxer\n"
END

View file

@ -0,0 +1,23 @@
/* FILE: applications/cmdutils/find/lang/cs-CZ.rc
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
* THANKS TO: Mario Kacmar aka Kario (kario@szm.sk)
* UPDATED: 2008-02-29
*/
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Zobrazí všechny øádky souboru obsahující hledaný øetìzec.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"øetìzec\" [ soubor... ]\n\
/C Zobrazí poèet øádkù obsahující øetìzec.\n\
/I Ignoruje velikost písmen.\n\
/N Èísluje zobrazené øádky, zaèíná od 1.\n\
/V Zobrazí všechny øádky, které NEobsahují zadaný øetìžec."
IDS_NO_SUCH_FILE, "FIND: Soubor %s nebyl nalezen.\n"
IDS_CANNOT_OPEN, "FIND: Soubor %s nelze otevøít!\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "Sucht in einer Datei nach einer Zeichenfolge.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"string\" [ file... ]\n\
/C Zeigt nur die Anzahl der die Zeichenfolge enthaltenen Zeilen an.\n\
/I Ignoriert Groß-/Kleinbuchstaben bei der Suche.\n\
/N Zeigt die Zeilen mit ihren Zeilennummern an.\n\
/V Zeigt alle Zeilen an, die die Zeichenfolge NICHT enhalten."
IDS_NO_SUCH_FILE, "Datei %s nicht gefunden\n"
IDS_CANNOT_OPEN, "Datei %s kann nicht geöffnet werden.\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Εκτυπώνει όλες τις γραμμές ενός αρχείου που περιέχουν ένα αλφαριθμητικό.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"αλφαριθμητικό\" [ αρχείο... ]\n\
/C Μέτρηση γραμμών που περιέχουν το αλφαριθμητικό\n\
/I Αγνόηση κεφαλαίων\n\
/N Εμφάνιση αριθμών στις εμφανιζόμενες γραμμές, ξεκινώντας από το 1\n\
/V Εκτύπωση γραμμών που δεν περιέχουν το αλφαριθμητικό"
IDS_NO_SUCH_FILE, "FIND: %s: Δεν υπάρχει αυτό το αρχείο\n"
IDS_CANNOT_OPEN, "FIND: %s: Δεν ήταν δυνατό το άνοιγμα του αρχείου\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FINDSTR: Prints all lines of a file that contain a string.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"string\" [ file... ]\n\
/C Count the number of lines that contain string\n\
/I Ignore case\n\
/N Number the displayed lines, starting at 1\n\
/V Print lines that do not contain the string"
IDS_NO_SUCH_FILE, "FINDSTR: %s: No such file\n"
IDS_CANNOT_OPEN, "FINDSTR: %s: Cannot open file\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Imprime todas las líneas de un fichero que contiene una cadena.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"cadena\" [ fichero... ]\n\
/C Cuenta el número de líneas que contienen la cadena de caracteres\n\
/I Ignora mayúsculas y minúsculas\n\
/N Numero de líneas a mostrar en pantalla, a partir de la primera\n\
/V Muestra las líneas que no contienen la cadena de caracteres."
IDS_NO_SUCH_FILE, "FIND: %s: No se encontró el fichero\n"
IDS_CANNOT_OPEN, "FIND: %s: No se pudo abrir el fichero\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Affiche toutes les lignes d'un fichier qui contiennent un morceau de texte.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"texte\" [ fichier... ]\n\
/C Compte le nombre de lignes qui contiennent le texte\n\
/I Insensible à la casse\n\
/N Numérote les lignes affichées en commençant à 1\n\
/V Affiche les lignes qui ne contiennent pas le texte"
IDS_NO_SUCH_FILE, "FIND: %s : fichier inexistant\n"
IDS_CANNOT_OPEN, "FIND: %s : impossible d'ouvrir le fichier\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Visualizza le linee di un file che contengono un stringa.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"stringa\" [ file... ]\n\
/C Conta il numero di linee che contengono la stringa\n\
/I Ignora maiuscole/minuscole\n\
/N Numera le linee visualizzate a partire da 1\n\
/V Visualizza le linee che non contengono la stringa"
IDS_NO_SUCH_FILE, "FIND: %s: File non trovato\n"
IDS_CANNOT_OPEN, "FIND: %s: Impossibile aprire il file\n"
END

View file

@ -0,0 +1,26 @@
/*
* PROJECT: ReactOS find command
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/cmdutils/find/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdþijauskas (cman@cman.us)
* DATE: 2007-09-23
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Spausdina visas bylos eilutes, kuriose yra ieðkomas tekstas.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"tekstas\" [ byla... ]\n\
/C Skaièiuoti eilutes, kuriose yra ieðkomas tekstas\n\
/I Ignoruoti raidþiø dydá\n\
/N Numeruoti vaizduojamas eilutes, pradedant nuo 1\n\
/V Spausdinti eilutes, kuriose nëra ieðkomo teksto"
IDS_NO_SUCH_FILE, "FIND: %s: Tokios bylos nëra\n"
IDS_CANNOT_OPEN, "FIND: %s: Nepavyko atverti bylos\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FINN: Skriv alle linjene for filen som inneholder en streng.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"streng\" [ fil... ]\n\
/C Teller nummer av linjer som inneholder strenger\n\
/I Ignorere sak\n\
/N Nummer viste linjer, start med 1\n\
/V Skriv linjer som ikke inneholder en streng"
IDS_NO_SUCH_FILE, "FINN: %s: Ingen filer\n"
IDS_CANNOT_OPEN, "FINN: %s: Kan ikke åpne filen\n"
END

View file

@ -0,0 +1,24 @@
/*
* translated by Caemyr - Olaf Siejka (Dec,2007)
* Use ReactOS forum PM or IRC to contact me
* http://www.reactos.org
* IRC: irc.freenode.net #reactos-pl
*/
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Wyświetla wszystkie linie danego pliku, zawierające szukany ciąg znaków.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"ciąg znaków\" [ plik... ]\n\
/C Oblicza w ilu liniach pojawił się szukany ciąg znaków\n\
/I Ignoruje wielkość liter\n\
/N Numeruje wyświetlane linie, zaczynając od 1\n\
/V Wyświetla te linie które nie zawierają szukanego ciągu znaków"
IDS_NO_SUCH_FILE, "FIND: %s: Plik nie został znaleziony\n"
IDS_CANNOT_OPEN, "FIND: %s: Nie można otworzyć pliku\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Localiza uma seqüência de texto em um ou mais arquivos.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"seqüência\" [ arquivo... ]\n\
/C Exibe apenas o número de linhas que contêm a seqüência.\n\
/I Ignora maiúsculas/minúsculas ao localizar uma seqüência.\n\
/N Exibe o número de cada linha, iniciando no 1.\n\
/V Exibe todas as linhas que NÃO contêm a seqüência especificada."
IDS_NO_SUCH_FILE, "FIND: %s: Arquivo não encontrado\n"
IDS_CANNOT_OPEN, "FIND: %s: Não foi possível abrir o arquivo\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Поиск текстовой строки в одном или нескольких файлах.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"строка\" [ файл... ]\n\
/C Вывод только общего числа строк, содержащих заданную строку.\n\
/I Поиск без учета регистра символов.\n\
/N Вывод номеров отображаемых строк (начиная с 1).\n\
/V Вывод всех строк, НЕ содержащих заданную строку."
IDS_NO_SUCH_FILE, "FIND: %s: Файл не существует.\n"
IDS_CANNOT_OPEN, "FIND: %s: Невозможно открыть файл.\n"
END

View file

@ -0,0 +1,21 @@
/* TRANSLATOR: M rio KaŸm r /Mario Kacmar/ aka Kario (kario@szm.sk)
* DATE OF TR: 12-02-2008
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Zobraz¡ vçetky riadky s£boru obsahuj£ce hadanì reœazec.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"reœazec\" [ s£bor... ]\n\
/C Zobraz¡ poŸet riadkov, ktor obsahuj£ reœazec.\n\
/I Ignoruje vekosœ p¡smen.\n\
/N ¬¡sluje zobrazen riadky, zaŸ¡na od 1.\n\
/V Zobraz¡ vçetky riadky, ktor neobsahuj£ hadanì reœazec."
IDS_NO_SUCH_FILE, "FIND: S£bor %s sa nenaçiel.\n"
IDS_CANNOT_OPEN, "FIND: S£bor %s sa ned  otvoriœ.\n"
END

View file

@ -0,0 +1,17 @@
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Skriver ut alla rader i en fil som innehåller en sträng.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"sträng\" [ fil... ]\n\
/C Räkna nummren av linjer som innehåller en strängen\n\
/I Ignorera skiftläge\n\
/N Antal visade rader, börjar på 1\n\
/V Skriver ut rader som inte innehåller strängen"
IDS_NO_SUCH_FILE, "FIND: %s: Ingen sorts fil\n"
IDS_CANNOT_OPEN, "FIND: %s: Kan inte öppna filen\n"
END

View file

@ -0,0 +1,25 @@
/*
* PROJECT: Find
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/cmdutils/find/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for find
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE, "FIND: Âèâåäåííÿ âñ³õ ðÿäê³â ôàéëó, ÿê³ ì³ñòÿòü ðÿäîê.\n\n\
FIND [ /C ] [ /I ] [ /N ] [ /V ] \"ðÿäîê\" [ ôàéë... ]\n\
/C Ïîðàõóâàòè ê³ëüê³ñòü ðÿäê³â, ÿê³ ì³ñòÿòü ðÿäîê\n\
/I Íå âðàõîâóâàòè ðåã³ñòð ñèìâîë³â\n\
/N Íóìåðóâàòè ðÿäêè, ÿê³ â³äîáðàæàþòüñÿ (ïî÷èíàþ÷è ç 1)\n\
/V Âèâåäåííÿ ðÿäê³â, ÿê³ íå ì³ñòÿòü çàäàíèé ðÿäîê"
IDS_NO_SUCH_FILE, "FIND: %s: Ôàéë íå ³ñíóº\n"
IDS_CANNOT_OPEN, "FIND: %s: Íåìîæëèâî â³äêðèòè ôàéë\n"
END

View file

@ -0,0 +1,3 @@
#define IDS_USAGE 1000
#define IDS_NO_SUCH_FILE 1001
#define IDS_CANNOT_OPEN 1002

View file

@ -0,0 +1,20 @@
#include <windows.h>
#include "resource.h"
#include "lang/bg-BG.rc"
#include "lang/ca-ES.rc"
#include "lang/cs-CZ.rc"
#include "lang/de-DE.rc"
#include "lang/el-GR.rc"
#include "lang/en-US.rc"
#include "lang/es-ES.rc"
#include "lang/fr-FR.rc"
#include "lang/it-IT.rc"
#include "lang/lt-LT.rc"
#include "lang/no-NO.rc"
#include "lang/pl-PL.rc"
#include "lang/pt-BR.rc"
#include "lang/ru-RU.rc"
#include "lang/sk-SK.rc"
#include "lang/sv-SE.rc"
#include "lang/uk-UA.rc"

View file

@ -45,6 +45,7 @@ base\applications\cmdutils\xcopy\xcopy.exe 1
base\applications\control\control.exe 1
base\applications\dxdiag\dxdiag.exe 1
base\applications\extrac32\extrac32.exe 1
base\applications\findstr\findstr.exe 1
base\applications\fontview\fontview.exe 1
base\applications\games\solitaire\sol.exe 1
base\applications\games\spider\spider.exe 1