Tuesday, August 28, 2018

7-zip command line examples

Start. Download the 7-Zip command line executable: 7za.exe. This is the exe you will use to run commands on archives. Please go to 7-zip.org and get the command line version. Tip: For convenience and so you don't need to change environment paths, put the 7za.exe file in your user directory.
Next: Open the Windows console and test the 7za.exe program out with a few commands. Type in the exe name 7za and this will display.
Grammar: We see the grammar we need to use with 7za.exe. The "command" is the main verb.
Switches: Then you specify optional switches, the archive name (source or destination) and files. My user directory is "C:\Users\Sam\".
7-Zip default output

7-Zip (A)  4.60 beta  Copyright (c) 1999-2008 Igor Pavlov
    2008-08-19

Usage: 7za <command> [<switches>...] <archive_name>
       [<file_names>...]
       [<@listfiles...>]
Command a. You can use the "a" command with the single letter a. This command stands for "archive" or "add." Use it to put files in an archive. Arguments: You have to specify the destination archive, and the source files (in that order).
Note: On the test system, "C:\Users\Sam" contains two files (file1.txt and file2.txt). The command puts those two files in an archive.
Tip: To open your archive, right click on it and select 7-Zip -> Open archive. The screenshot shows the files compressed in files.7z.
Example command line 1

C:\Users\Sam>7za a -t7z files.7z *.txt

7-Zip (A)  4.60 beta  Copyright (c) 1999-2008 Igor Pavlov  2008-08-19
Scanning

Creating archive files.7z

Compressing  file1.txt
Compressing  file2.txt

Everything is Ok

C:\Users\Sam>
Command d. We use the "d" command in 7-Zip command lines. This stands for delete. It allows you to remove a certain file (or set of files) from inside an archive. Note: You will need this if you use huge archives and need to save time. This is from the manual.
Tip: You can also remove a single file from an archive with "d". This is more useful when you do not have a solid archive.
Example d command line

7z d archive.zip *.bak -r

7z:          use executable
d:           delete files
archive.zip: delete from this archive
*.bak:       only match bak files
-r:          traverse all subdirectories
Command e. The "e" stands for extract, and it means to unzip or expand an archive. You must specify the source archive always, and may also specify a destination. Info: The "e" command extracts everything to a specified directory. Another command "x" can preserve directory structures in archives.
Overwrite prompts: 7-Zip will always prompt you if there is a file it needs to overwrite to extract the new file.
However: This can be problematic if you are scripting or embedding 7za.exe. In that case, see the -y switch.
Example e command line

7z e archive.zip

7z:          executable
e:           use extract command
archive.zip: source archive you want to expand
Command l. The lowercase L is used to list the contents of archives. You probably will not need to use it often. I thought I would test it and show an example. Next: This shows the listing of a solid archive. The originals are 27216 bytes and 3888 bytes. They compress down to 1030 bytes.
Example l command line

C:\Users\Sam>7za l files.7z

7-Zip (A)  4.60 beta  Copyright (c) 1999-2008 Igor Pavlov  2008-08-19

Listing archive: files.7z

Method = LZMA
Solid = +
Blocks = 1
Physical Size = 1202
Headers Size = 172

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2008-10-02 15:48:01 ....A        27216         1030  file1.txt
2008-10-02 15:47:45 ....A         3888               file2.txt
------------------- ----- ------------ ------------  ------------------------
                                 31104         1030  2 files, 0 folders
Command t. Here we use the "t" command in the 7z program. This command allows you to test the integrity of archives. It stands for 'test' and is much less useful than the "-t" switch. Warning: Don't confuse the two. This one is used for diagnostics. We usually want the hyphen "-t."
Example t command line

7z t archive.zip *.doc -r

7z:          use this executable
t:           test the specified archive
archive.zip: the archive you want to test
*.doc:       test all these files in the archive
-r:          recurse all child directories
Command u. This stands for update. This command replaces old files in your archive with newer files. This prevents needing to decompress and recompress the entire archive. Warning: The "u" command doesn't work with solid archives. A solid archive is one where all the files are compressed together.
So: You cannot update specific files in solid archives with the "u" command. Solid archives are limited.
Example u command line

7z u archive.zip *.doc

7z:          executable name
u:           update command
archive.zip: archive you want to update files in
*.doc:       only update these files (Word documents)
Switch m. We can change the optimization settings in 7-Zip on the command line. This is the most important and useful option you can use. Tip: It specifies the method of compression. Here I will show a bunch of options, and also some examples.
Compression levels:

Switch -mx0: Don't compress at all.
             This is called "copy mode."

Switch -mx1: Low compression.
             This is called "fastest" mode.

Switch -mx3: Fast compression mode.
             Will automatically set various parameters.

Switch -mx5: Same as above, but "normal."

Switch -mx7: This means "maximum" compression.

Switch -mx9: This means "ultra" compression.
             You probably want to use this.
Switch m, advanced. Here are advanced compression method (-m) switches. The first three are usually of limited use. My experience is that manual optimizations doesn't produce big benefits. Switch -mfb: Specifies number of fast bytes. Sometimes helps with "sparse" files. Don't bother.
Switch -mpass: Number of passes for deflate compression. Don't bother with this. Automatically set with levels.
Switch -md: This specifies dictionary size. It is automatically set, so don't bother.
Switch -mmt: Enable multithreading. Use if you have quad-core and a huge archive. Specify "on" or "off".
Command x. This command is like "e" except it preserves the full paths. If you have an elaborate or important directory structure, use this option. This would be most useful for backups.
Example x command line

7z x archive.zip

7z:          executable name
x:           use the extract command
archive.zip: the archive you want to extract all the files from
Switch t type. Here I show how to specify the archive type. Note that you can specify any file name you want for any type. But some extensions are recommended—they are standard.
Type switches

          Switch: -t7z
          Format: 7Z
Example filename: archive.7z (default option)

          Switch: -tgzip
          Format: GZIP
Example filename: archive.gzip, archive.gz

          Switch: -tzip
          Format: ZIP
Example filename: archive.zip (compatible)

          Switch: -tbzip2
          Format: BZIP2
Example filename: archive.bzip2

          Switch: -ttar
          Format: TAR
Example filename: tarball.tar (UNIX and Linux)

          Switch: -tiso
          Format: ISO
Example filename: image.iso (may not be supported)

          Switch: -tudf
          Format: UDF
Example filename: disk.udf
Type switch examples. The 7-Zip manual shows the -tiso and -tudf switches. These are not the most common. Almost all of the examples in this document use -t switches.
Example a command lines

7z a -tiso archive.iso
7z a -tudf archive.udf

7z:                         executable name
a:                          add to archive
-tiso or -tudf:             format of archive to create
archive.iso or archive.udf: name of archive to create
Solid archives. 7z is the only file format in 7-Zip that you can specify whether the archive is solid or not. Solid makes it impossible to use the "u" command to update individual files. Switch -ms=on: Enable solid mode. This is the default so you won't often need to specify it.
Switch -ms=off: Disable solid mode. Useful when you need to update individual files. Will reduce compression ratios normally.
7z archives. Some things you can change are dictionary sizes, FastBytes values, MatchFinder values, and filters. Normally you don't need to deal with these.
PPMd. With the 7z format, you can specify the algorithm. PPMd is good for compressing plain text files. It is ideal for Word documents. PPMd does not perform as well on binary data. PPMd switch -mmem=24b, -mmem=24k, -mmem=24m: These control the amount of memory you use. They are useful and higher is normally better.
PPMd switch -mo=2, -mo=32: These specify the model order in PPMd. They are not normally useful.
Tip: You should use PPMd when you have a large corpus (body) of text. This could include HTML. It can improve ratios by around 30%.
Example commands. Here I show the example compression commands from the 7-Zip manual. I demonstrated simple ones at the start of this document. These are more complex.
Example a command line 2

7z a -tzip archive.zip *.jpg -mx0

7z:          name of executable
a:           add to archive command
-tzip:       specify a ZIP archive (useful for compatibility)
archive.zip: destination archive
*.jpg:       only add jpg files to archive
-mx0:        don't compress, just copy
             useful for already-compressed files
Example of 7z format. This next command line shows how to create a solid 7z archive of program files (executables). It uses multithreading mode, which means it will be fast.
Example ms command line

7z a -t7z archive.7z *.exe *.dll -ms -mmt

7z:         name of executable
a:          archive command specified
-t7z:       use 7z file type (less compatible and smaller results)
archive.7z: destination archive file
*.exe:      include all *.exe files in directory in new archive
*.dll:      include all *.dll files in new archive
-ms:        create solid archive (default)
-mmt:       multithread the operation (faster)
Create PPMd archive. PPMd is an extraordinary algorithm for compressing text. Here I show a command in the 7-Zip manual that compresses all the text files in the working directory. Tip: The command is useful because you will normally want to compress only text files with PPMd.
PPMd Compression
Example PPMd command line

7z a -t7z archive.7z *.txt -m0=PPMd

7z:         executable name/path
a:          add command specified
-t7z:       use the 7z format (needed for PPMd)
archive.7z: destination archive file
*.txt:      select all text files
-mo=PPMd:   compress with this algorithm
Switch o. Sometimes you do not want to extract to the current directory. This is where -o can come in handy. Use this to set the destination directory.
Example o command line

7z x archive.zip -oC:\Doc

7z:          executable name
x:           extract archive with paths intact
archive.zip: archive to extract files from
-oC:\Doc:    extract all files to the Doc folder on the C: drive
Switch p. We can use the "-p" switch, which refers to the word "password". This is really helpful when security and encryption is involved. You can specify a password on the command line.
Example p command line

7za a pw.7z *.txt -pSECRET

7za:      name and path of 7-Zip executable
a:        add to archive
pw.7z:    name of destination archive
*.txt:    add all text files to destination archive
-pSECRET: specify the password "SECRET"
Opening password-protected archives. This next console output shows what happens when you try to open the password-protected archive. The password here is SECRET. I am so clever. Header encryption: Add -mhe to encrypt headers. The password command will automatically deal with encrypted headers.
Tip: Remember, encrypted headers will hide the names of the files in your archive.
Example x command line 2

C:\Users\Sam>7za x pw.7z

7-Zip (A)  4.60 beta  Copyright (c) 1999-2008 Igor Pavlov  2008-08-19

Processing archive: pw.7z

Enter password:
More switches. Here we take a closer look at more switches that are of limited use. They are sometimes useful to know. Usually you can do better just by using the defaults. Switch -ssc: Specify case-sensitive mode. The default is -ssc- on Windows (insensitive). The default is -scc on Linux (sensitive).
Switch -ssw: Compress locked files. You can try this if you have problems opening files.
Switch -w: Set working directory. You can use this when you want to specify temp folders.
Case-sensitive. We can use case-insensitive file names. For cross-platform stuff, the case-sensitive option is useful. I will show my own example here with some explanation.
Example ssc command line

7za.exe a archive.7z Z*.* -ssc

7za.exe:    7-Zip command-line executable path and name
a:          archive command
archive.7z: add files to this target archive
Z*.*:       select only files whose first letter is a capital Z
-ssc:       case-insensitive matching
Switch v. In data compression, a volume is a segment of a data set that is a certain number of bytes long. The volume switch specifies the exact size in bytes, kilobytes or megabytes. Also: You can specify sequential volumes with the "v" switch on the 7za.exe command line.
Switch ao. The "ao" switch allows you to specify whether you want to overwrite old files. Be careful—you cannot restore an overwritten file normally. This switch takes another argument. Switch -aoa: This switch overwrites all destination files. Use it when the new versions are preferred.
Switch -aos: Skip over existing files without overwriting. Use this for files where the earliest version is most important.
Switch -aou: Avoid name collisions. New files extracted will have a number appending to their names. You will have to deal with them later.
Switch -aot: Rename existing files. This will not rename the new files, just the old ones already there.
Examples:

7z x test.zip -aoa

7z:       use the 7-zip executable
x:        use the extract command
test.zip: extract files from this archive
-aoa:     overwrite all existing files
Multiple files. To add many files to one archive, please use the "a" command and the wildcard * symbol. Specify the name of the destination archive file and the source files afterwards.
How do I add many files with a specific extension? Use the "a" command and the wildcard * symbol, but specify the extension after the wildcard. Example: For example, *.txt means all text files. You can use the wildcard anywhere.
How can I add many files from an entire subdirectory? Specify just the directory name. You do not need to use a wildcard. This command specifies an entire directory called "subdir".
Example subdirectory command line

7z a -tzip archive.zip subdir\

7z:          use executable
a:           add to archive
-tzip:       use zip compression
archive.zip: create this archive
subdir\:     source directory
How do I use BZip2? You can use BZip2 by specifying the "-tbzip2" switch. This can be combined with any compression level. The modes in 7-Zip automatically use many different settings.
How do I use 7z format? Specify the "-t7z" switch for type. Or you can simply omit the type switch and that will default to 7z. This format offers the greatest compression ratios.
Prompts. You can stop 7-Zip from displaying prompts. Please use the -y switch. This will assume a yes answer to all prompts. Use this only when you are confident.
Why can't I update my archive? It is probably a solid archive. 7z archives are by default solid archives—all the files are compressed together. Tip: Change the archive not to be solid if you want to update it. Search this page for "solid".
Can I specify the output directory? Use the "e" command and combine it with the -o switch. The syntax with -o is a bit funny. This is the example from the 7-Zip help file.
Example output directory command line

7z e archive.zip -oC:\soft *.cpp -r

7z:          executable
e:           use extract command
archive.zip: source archive you want to extract from
-oC:\soft:   the destination folder
             (-o is the switch and C:\soft is the argument)
*.cpp:       only extract cpp files (C++)
-r:          traverse all subdirectories
How can I see what's inside an archive? Use the "l" command. You might want to use "l" in a utility that you run from a command line to make sure your batch archiving properly works.
How can I exclude certain files? Sometimes you want to manually exclude certain files. Use the -x switch, followed immediately with an exclamation mark and then the filename. So: If you want to exclude "file1.txt", use the switch "-x!file1.txt". Please include the hyphen and exclamation.
How can I replace files? By using the -ao switch, described above. There are other options, and it is usually a better idea to use one of the renaming options (-aou or -aot).
Can I ignore extracting files already on disk? Yes—specify the -aos option, which means "skip overwriting files." This will cause 7za.exe to not copy the newer files out of the archive. Note: Use -aos if your files don't change over time and overwriting would just be a waste.
Embed. You can embed 7-Zip in a Windows .NET program. This yields the same great compression but in your own GUI. The link shows some compression ratios. 7-Zip Executable
Internal settings. You can change internal settings. You do not need to do this normally. I recommend just using the mx=0 (and 3, 5, 7, 9) settings. An in-depth study would be fascinating. Filters: You can change compression filters, which change behaviors on executable files such as *.exe and *.dll.
And: You can enable header compression and encryption (-mhc=on and -mhe=on). Header compression is by default enabled.
Zopfli. If you are reading this page, you probably want even better compression. I have found that Zopfli can create gzip archives a few bytes smaller than 7-Zip can. It is slow to run. Zopfli: github.com
AdvanceCOMP. You can use AdvanceCOMP to improve compression ratios. The improvement is often small, less than 1%. AdvanceCOMP has more options and is more fine-grained. AdvanceMAME: github.com 
Source: https://www.dotnetperls.com

Online Dictionaries - Medical and Technical

Afrikaans

Paramediese Vakwoordeboek - Afrikaans medical vocabulary list with translations into English and Afrikaans.

Arabic

Dictionarybay Specialized Dictionaries - A number of medical, technical, and other specialized dictionaries in Arabic-English - great repository.
Altibbi - The Arabic Medical Dictionry - Online Arabic medical dictionary and medical reference, with over 20,000 concise definitions of medical terms and terms used in the health sciences, with authoritative descriptions of medical conditions, medications, conventional medical and healing practices, anatomical terms, physiology terms, disease terms, drugs, tests and procedures, noted medical personalities, medical disorders and more. All Arabised and explained in Arabic, with a glossary matching each word with its synonym in English.
ACMLS Medical Dictionaries - Hosts a number of different Arabic medical dictionaries online; very extensive.
Unified Medical Dictionary from World Health Organization - Searchable bilingual Arabic-English medical dictionary database with access to a number of different specialized dictionaries.
HMC Arabic-English Medical Dictionaries - Translates medical terms in both direcitons.
Arabic Microfinance Gateway - English-Arabic dictionary of financial terms.
Online Financial Glossary - Searchable, in Arabic-French-English.

Armenian

The First English-Russian-Armenian On-Line Dictionary For Businessman - HTML online trilingual dictionary for Armenian-English-Russian legal and business terminology; requires Armenian fonts.
Armenian-English Medical Terms - Bidirectional glossary of medical terms
Armenian Medical Glossaries - For English-Armenian-and Russian-Armenian.

Basque

Banco Terminológico Público Vasco Multilingual Dictionary - Online dictionary of terminology that takes a word in either Basque, English, French, or Spanish, and gives the equivalent words in the other languages. English interface here.

Bulgarian

Bulgarian-English Math Dictionary - Math dictionary in HTML format.
Dictionary.Fashion - English-Bulgarian dictionary of fashion and textile terms.

Catalan

Diccionari Enciclopèdic de Medicina - Online Catalan dictionary of medicine; gives the meanings for medical terms in Catalan, English, and Spanish, with definitions and explanations in Catalan.
ESADE Technological Dictionary - Terminology used in the fields of economics, law and computer science, with translation from Catalan, English, and Spanish.

Chinese

Esaurus English-Chinese Medical Dictionary - This online resource tool, intended for both professional and public use, is manually compiled with reference to an extensive collection of bilingual medical dictionaries and glossaries published by institutions and healthcare authorities in the People's Republic of China, Taiwan and Hong Kong.
Dr.Dict English-Chinese Medical Dictionary - With a total of 638,000 entries, with 420,000 unique entries including a English Chinese Medical Dictionary, English Chinese Biological Terms, and English Chinese Technological Terms.
Traditional Chinese Medical Glossary - Terms are listed in both English and Chinese phonetic alphabets for easier searching, and the explanations are written in English and Chinese.
English-Chinese Glossary of Legal Terms - Searchable by headwords and expressions, in both English and Chinese.
English-Chinese Glossary of Financial Terms (in PDF) - Finanical and economic vocabulary.

Czech-Slovak

Czech-English Environmental Dictionary - With over 85,000 terms
Slovak Medical Terminology (in PDF) - Slovak-English translations of around 7500 medical terms

Danish

List and Glossary of medical terms: Danish - Online medical glossary for a number of languages.
Danish-English Environmental Dictionary - Danish interface, with around 5000 words.
Informationsordbogen - Provides definitions for over 3000 terms related to library science and information technology
IT-leksikon - Information technology terms in Danish and English, HTML format.

Dutch

Mijnwoordenboek - Dutch dictionaries to and from English, French, German, and Spanish, plus a number of specialized dictionaries, synonyms, verb conjugation, spelling, games, and more.
Taalvlinder's Collection of Dutch-English Specialty Dictionaries - A very extensive listing of dictionaries of all kinds - one of the most useful Dutch-English collections
Taalvlinder List of Medical Terms - A number of medical glossaries divided as to content.
Ziekenhuis.nl Dutch-English Medical Dictionary - Dutch-English glossary of medical terms.
List and Glossary Of Medical Terms: Dutch - Online medical glossary for a number of languages.
FiDict.com Dutch-English Financial Dictionary - Contains over five thousand financial terms translated in their context and periodically updated with frequently asked translations - ideal for analysts, consultants, auditors and investors.
English-Dutch Listing of Legal Terms - A glossary of translations of English legal terminology into Dutch.
Dutch-English Business Dictionary - A practical dictionary for people who need to be able to read Dutch documents or business journals. The emphasis is on the translation of words that business people will need to use in business situations.
Dictionary of Technical Terms - A large collection of English and Dutch terms used in Computer Aided Technologies such as CAD, CAM, CAE, as well as Logistics and Information Technology in general.
Dutch Car Dictionary - Dictionary of automobile terminology to and from Dutch and English, French, and German.
Dutch-English Botanical Glossary - Bilingual Dutch-English glossary of botanical terms.
Woordenboek Organische - Dutch dictionary of organic chemistry.
Elektro.be Dictionary of Electronics - Dutch dictionary of electronic terms.
Glossary of Construction Terms - Dutch-English glossary of terms used in the construction industry.
Rijmwoorden.nl Dutch Dictionary - Dutch rhyming dictionary.
Mick's Rijmwoorden Boek - Dutch rhyming dictionary.

Estonian

ESTERM Legal Database - Estonian Legal Language Centre database of legal terminology and translations to and from Estonian, English, Danish, French, and Finnish.
English-Estonian-English Dictionary of Economics - With nearly 2100 terms defined.
UML Dictionary - Dictionary of terms from the Unified Modeling Language (UML) to and from English and Estonian.

Finnish

Finnish Medical Glossary - Glossary of medical terms with definitions and explanations in Finnish.
Finnish-Swedish-English-Russian Mathematics Dictionary - Keyword search, also provides a view of all words in one page.
Finnish Mathematical Dictionaries - Listings of various mathematical translation materials in Finnish; the page is in English.
English-Finnish Mathematical Dictionary - With regular expression search.
Lexitec Finnish Glossaries - Features English-Finnish and Finnish-English glossaries of computer terms, free dictionary of Business English, and other items.
Index of Finnish Special Dictionaries - Directory in Finnish.

French

Le Grand Dictionnaire Terminologique anglais-francais - French interface, provides dictionary translations for technical terminology to and from French, English, and Latin.
Collins - Reverso English-French Medical Dictionary - Medical dictionary with English-French bidirectional translations.
List and Glossary of medical terms: French - Online medical glossary for a number of languages.
Dictionnaire économique - French dictionary of economics in HTML format, alphabetical index.
English-French Legal Glossary of Federal Statutes - English-French glossary of legal terminology and statutes, from Canada.
Canadian Common Law Dictionary - A dictionary of Canadian common law with translations into French, meant to serve the needs of French-speaking Canadians.
English-French European Employment and Industrial Relations Glossary - Glossary of employment and industrial management terms in the Euro zone for French and English.
Collins - Reverso English-French Business Dictionary - Business dictionary with English-French bidirectional translations.
Collins - Reverso English-French Computer Dictionary - Computer and information technology dictionary with English-French bidirectional translations.
Le Jargon Francais - A monolingual French computer and information technology dictionary in a wiki format, with contributions by users.
EBSI IT Glossary - Monolingual French glossary of information technology terms.
SIL French/English Glossary of Linguistic Terms - Glossary of linguistic tecnical vocabulary with 7,837 French linguistic terms and 8,059 English linguistic terms.
French-English-French Dictionary of Wine Economic Expressions - HTML dictionary of wine expressions in French and English.

Gaelic

Téarmaí Ríomhaireachta/Computing Terminology - Glossary of computing terms in Gaelic.
Gaelic Computing Terminology - Glossary of computing terms in Gaelic.

German

Deutsches Wörterbuch von Jacob und Wilhelm Grimm - The Grimm brothers lifework in a searchable form on the web contains 331,056 entries and 67,744 dictionary columns.
HEXAL Englischwörterbuch Medizin - German-English medical dictionary with over 30,000 terms.
Roche Lexikon Medizin - German monolingual glossary of medical terms
List and Glossary of medical terms: German - Online medical glossary for a number of languages.
Canoo.net - German-English Linguistic Glossary - "This glossary contains definitions of linguistic terms, which are used for the generation of links and for indexing in canoonet. A search for one of these terms results in a hit list, where the individual list members point to glossary entries and grammatical descriptions."
Oesterreichischen Nationalbank - Financial Terms - Large German-English dictionary of financial and business terminology.
Deutsche Bank Banking and Stock Glossary - Financial, banking, and investment definitions in German and English.
Encyclopaedic Dictionary of Marketing - German-English bidirectional dictionary of marketing terms.
MathematicsThesaurus - Brief explanations of mathematical terms and ideas in English, Danish, German, Spanish, Finnish, Hungarian, Lithuanian, Polish, and Slovak
IMS - Ferrous Metallurgy, Electrical Engineering and Mechanical Engineering Technical Dictionary - Comprehensive English-German dictionary of engineering terminology.
German-English Mechatronics Lexikon - Dictionary of mechanical, engineering, and electronics terms in German and English.
Tranzmatic - A German-English technical dictionary containing approx. 40,000 terms, phrases and abbreviations.
Beilstein Dictionary of Organic Chemistry - HTML bilingual German-English dictionary.
Acronyms and Abbreviations - Acronyms and abbreviations in German and English, with a special emphasis on abbreviations of chemical compound names.
Computer-Lexikon Glossar Online-Lexikon - German translations of computer and information technology terms.
Lebensmittel Lexikon - German dictionary of culinary terms.

Greek

Dictionary of Medical Terminology - Greek monolingual medical dictionary with a Greek interface, in HTML format.
Immunology Glossary - English to Greek glossary of immunology terms, with an interface in Flash.
LawNet English-Greek Legal Dictionary - Dictionary of English legal terms and their Greek equivalents.
European Finance Dictionary 2008 - PDF Greek dictionaries of accounting and financial terminology for the EU, viewable and downloadable in PDF format.
English-Greek Dictionary of Insurance and Financial Terms - Bidirectional Greek-English HTML dictionary of financial terms.
Business Glossary - Bidirectional Greek-English HTML dictionary of business terms.
Infolex Informatics Terminology Dictionary - Bilingual dictionary of technical terminology with searches on terms and abbreviations.
Inforterm - Greek-English-French dictionary of information technology terminology with searchable interface.
Leo Burnett's Internet Glossary - Glossary of English internet vocabulary and their Greek equivalents.
Online Glossary of Linguistics Terminology - Bidirectional Greek-English dictionary of linguistics terminology, searchable and with HTML format.

Hungarian

Pirula.net Hungarian-English Medical Dictionary - Medical dictionary in Hungarian and English.
Jarmuszotar Automotive Dictionary - Hungarian-English dictionary of automotive terms, with over 24,000 terms.
Electronics Glossary - An electronic library of documents and computerized information resources using the most common English words and abbreviations and their definitions in Hungarian.
Internet Glossary - HTML glossary of English internet terms with their Hungarian explanations.

Indonesian

Glosarium - A collection of specialized dictionaries for Indonesian

Italian

Pneumonet Medical Dictionary - Searchable dictionary of medical terms in Italian and English.
Italian>English Obstretic Glossary (PDF) - Downloadable and viewable online.
Acronimi (italiani e anglosassoni) usati in medicina di Gilberto Lacchia (PDF) - English medical acronyms and their Italian translations.
List and Glossary of medical terms: Italian - Online medical glossary for a number of languages.
Dental Dictionary - In English and Italian, searchable online.
Glossario di Economia e Finanza - Definitions of financial term in Italian and English in HTML format.
Dizionario di economia aziendale - HTML glossary of economic terms without index, single page, from Italian to English

Japanese

Japan Surgical Society Dictionary - Medical terms and their definitions in Japanese.
Terminology of Cardiology - With Latin and katakana input.
MEDO (Medical English Dictionary Online) - Short medical glossary
Japanese-English Online Life Sciences Dictionary Project - Includes Life Sciences Dictionary, English to Japanese translation.
Biological Glossary - translations into Japanese of biological terms.
Chemical Substances Database - In Japanese and English, with over 25,000 terms.
An English-Japanese Dictionary of Electrical Engineering - With over 30,000 entires.
eWord IT Dictionary - Information technology terminology in HTML indexed format.
JAANUS : Japanese Architectural and Art Historical Terminology - In both English and Japanese

Korean

KMLE: Korean Medical Library Engine - Searchable Korean-English medical dictionary.
Korean-English Computer Terms - Searchable, with Korean interface.

Latin

Simone's Latin to Italian Dictionary of Roman Law Terms - Roman legal terminology and its translation into modern Italian.
William Smith's A Dictionary of Greek and Roman Antiquities.1875. - "This single volume, of 1294 pages in rather fine print set in two columns and amounting to well over a million words, is a treasure trove of information on the ancient world, and was for many years a standard reference work, carried thru several British and American editions from the first in 1842 to the last in 1890-91 with relatively few alterations. It shares one of its selling points with the Web: many illustrations. They are woodcuts, but often rather good ones, and sometimes clearer than photographs could be."

Latvian

Multilingual Dictionary of Mathematics and Informatics - Multilingual (Latvian, Lithuanian, Estonian, Polish, English, French, German, Russian, Swedish, Finnish, Bulgarian) of mathematics and informatics.

Lithuanian

Encyclopaedic Glossary of Astronomy - Astronomical terms in Lithuanian, with over 2200 terms.
Dictionary of Physics Terms - Physics terms in five languages (Lithuanian, English, French, German and Russian), with over 19,000 terms.
Multilingual Dictionary of Mathematics and Informatics - Multilingual (Latvian, Lithuanian, Estonian, Polish, English, French, German, Russian, Swedish, Finnish, Bulgarian) of mathematics and informatics.
English-Lithuanian Dictionary of Computer Science Terms - With over 7000 definitions.
Dictionary of Radionics Terms - Radionics terms in five languages (Lithuanian, English, French, German and Russian), with over 22,000 terms.
Dictionary of Building Terms - Short Lithuanian-English dictionary of terms in the construction industry.

Norwegian

The Green Dictionary - Terms from food and environmental science, agriculture, forestry, etc. 28,400 English, German and Norwegian entries.
Words and Phrases in Insurance - Monolingual Norwegian dictionary of insurance terms, searchable, or with entire page view of dictionary.
Norwegian Rhyming Dictionary - Listing by vowel word ending.

Pashto

Qamosona Pashto Dictionaries Project - Site includes a number of Pasho dictionaries, which are all searchable for translations of English terms into Pashto, and includes datasets with computer and science terms.

Persian

Partran English to Parsi Translator - Translates text from English to Persian, with a great number of different specialized dictionaries for use. Text limit of 150 words per search. Also includes online English-Persian dictionary with a number of special lexical datasets.
An English-Persian Dictionary of Algorithms and Data Structures - Online dictionary of computer science terms categorized by letter, subject matter, area, and searchable.

Polish

Multilingual Dictionary of Mathematics and Informatics - Multilingual (Latvian, Lithuanian, Estonian, Polish, English, French, German, Russian, Swedish, Finnish, Bulgarian) of mathematics and informatics.

Portuguese

Dicionario Medico - Monolingual Portuguese medical dictionary.
List and Glossary of medical terms: Portuguese - Online medical glossary for a number of languages.
Dicionario Financeiro - Monolingual Portguese financial dictionary.
Portuguese Dictionary of Places and Names - Monolingual Portguese geographical dictionary.
Portuguese Dictionary of Foreign Words - Monolingual Portguese foreign loanwords dictionary.
Psiqweb - Portuguese psychological and mental health vocabulary.

Romanian

Dictionar de Termeni Matematici Roman-Englez - Glossary of mathematical terms from Romanian into English.
Alcor Romanian Rhyming Dictionary - Romanian rhyming dictionary with a host of rhyming dictionaries in other languages.

Russian

Doktor.ru Comprehensive Medical Encyclopedia - Monolingual Russian encyclopedia with a questions about medical problems.
Glossary of Medical Terms - HTML glossary of medical terms and their Russian translations.
The Comprehensive Russian Computer Dictionary - Russian-English bilingual search; requires Cyrillic Windows-1251 encoding, and offers embedded regular expressions for substring and complex search patterns.
English-Russian Dictionary of Computing for Everyone - HTML English-Russian dictionary of computer terms.
Russian-English Oil Dictionary - Bilingual dictionary of oil and gas, financial, electrical, sea drilling, abbreviations terms, with phrase-book.
A Russian-English Collocational Dictionary of the Human Body - With font downloads.
Anatomical Dictionary (Russian-Latin)
Glossary of International Banking & Finance Acronyms and Abbreviation - HTML English-Russian dictionary of computer terms.

Serbian and Croatian

Croatian-English Glossary of Computer Terms - Croatian-English bilingual glossary of computer science terminology.

Slovenian

English-Slovenian Dictionary of Computer Science - Online searchable English-Slovenian computer science dictionary.

Spanish

Medical Spanish Dictionary - "Click on one of the above medical Spanish dictionaries to look up Spanish medical terminology. Translations include coloquial usage, and all terms inlcude audio."
Diccionario medico-biologico, historico y etimologico - Spanish dictionary of biological and medical terms, with historical background and etymology
123teachme Spanish Medical Dictionary - HTML Spanish-English medical dictionary
List and Glossary of medical terms: Spanish - Online medical glossary for a number of languages.
Andy Miles English-Spanish Business Dictionary - With over 6000 terms.
Comparative CyberLexicon - Compilation of English terminology peculiar to computer culture and technology and its equivalents in Spanish.
Source: http://multilingualbooks.com

Sunday, August 5, 2018

Autohotkey and Google Translate

Run Translation Program.ahk. A Messagebox will appear on every initial start. Just click ok to get rid of it. Now everytime you copy something a new Messagebox will apear with the translated text. 
To close the program: First close all Messageboxes then press Control+j. This can be changed to whatever if you know your way around Autohotkey. Check Translate Program.ahk
Changing the language: Open Translate.ahk with any text edito of your choice and change "LangIn" and "LangOut" correspondingly. "LangIn" is the language of the original text and "LangOut" the language it is meant to be translated to.
You need to know the language codes. The Text is translated with Google Translator so expect some bad grammar and broken sentences, but for getting a basic understading of what is being said. Source: https://github.com/Pjer4/Translation-Program
 
Translation Program.ahk 

OnClipBoardChange:
Loop
{
Run Translate.ahk
return
}
^j:: Exitapp
Numpad1::

 Translate.ahk
#SingleInstance force
phrase := clipboard
LangIn := "de"
LangOut := "en"
SetTimer, WinMoveMsgBox, 50
MsgBox,4096, Translation, % GoogleTranslate(phrase,LangIn,LangOut)
ID:=WinExist("Translation")
return

WinMoveMsgBox:
ID:=WinExist("Translation")
WinGetPos, Xc, Yc, Width, Height, ahk_id %ID%
x=A_Screenwidth-WidthSetTimer, WinMoveMsgBox, OFF
ID:=WinExist("Translation")
WinMove, ahk_id %ID%, , %x%, 400
return

GoogleTranslate(phrase,LangIn,LangOut)
{
base := "https://translate.google.com.tw/?hl=en&tab=wT#"
path := base . LangIn . "/" . LangOut . "/" . phrase
IE := ComObjCreate("InternetExplorer.Application")
;~ IE.Visible := true
IE.Navigate(path)

While IE.readyState!=4 || IE.document.readyState!="complete" || IE.busy
Sleep 50

Result := IE.document.all.result_box.innertext
IE.Quit
return Result
}
return

GuiClose:

ExitApp

Tuesday, July 31, 2018

Activate Windows 10 Manually

Step 1: Select the right key for your Windows.
Here is the list of Windows 10 volume license keys.
Home: TX9XD-98N7V-6WMQ6-BX7FG-H8Q99
Home N: 3KHY7-WNT83-DGQKR-F7HPR-844BM
Home Single Language: 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH
Home Country Specific: PVMJN-6DFY6-9CCP6-7BKTT-D3WVR
Professional: W269N-WFGWX-YVC9B-4J6C9-T83GX
Professional N: MH37W-N47XK-V7XM9-C7227-GCQG9
Education: NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Education N: 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Enterprise: NPPR9-FWDCX-D2C8J-H872K-2YT43
Enterprise N: DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4

Step 2: Right-click on the start button and open Command Prompt (Admin).
Step 3: Use the command “slmgr /ipk yourlicensekey” to install a license key (yourlicensekey is the activation key you got above). (*Note*: You need to hit [Enter] key to execute commands.)
Step 4: Use the command “slmgr /skms kms8.msguides.com” to connect to my KMS server.
Step 5: The last step is to activate your Windows using the command “slmgr /ato”.

Or use o batch file:
Step 1: Copy the following code into a new text document.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
title Activate Windows 10 ALL versions for FREE!&cls&echo ============================================================================&echo #Project: Activating Microsoft software products for FREE without software&echo ============================================================================&echo.&echo #Supported products:&echo - Windows 10 Home&echo - Windows 10 Home N&echo - Windows 10 Home Single Language&echo - Windows 10 Home Country Specific&echo - Windows 10 Professional&echo - Windows 10 Professional N&echo - Windows 10 Education N&echo - Windows 10 Education N&echo - Windows 10 Enterprise&echo - Windows 10 Enterprise N&echo - Windows 10 Enterprise LTSB&echo - Windows 10 Enterprise LTSB N&echo.&echo.&echo ============================================================================&echo Activating your Windows...&cscript //nologo slmgr.vbs /upk >nul&cscript //nologo slmgr.vbs /cpky >nul&wmic os | findstr /I "enterprise" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 >nul&cscript //nologo slmgr.vbs /ipk DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4 >nul&cscript //nologo slmgr.vbs /ipk WNMTR-4C88C-JK8YV-HQ7T2-76DF9 >nul&cscript //nologo slmgr.vbs /ipk 2F77B-TNFGY-69QQF-B8YKP-D69TJ >nul&cscript //nologo slmgr.vbs /ipk DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ >nul&cscript //nologo slmgr.vbs /ipk QFFDN-GRT3P-VKWWX-X7T3R-8B639 >nul) else wmic os | findstr /I "10 pro" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX >nul&cscript //nologo slmgr.vbs /ipk MH37W-N47XK-V7XM9-C7227-GCQG9 >nul) else wmic os | findstr /I "home" >nul
if %errorlevel% EQU 0 (cscript //nologo slmgr.vbs /ipk TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 >nul&cscript //nologo slmgr.vbs /ipk 3KHY7-WNT83-DGQKR-F7HPR-844BM >nul&cscript //nologo slmgr.vbs /ipk 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH >nul&cscript //nologo slmgr.vbs /ipk PVMJN-6DFY6-9CCP6-7BKTT-D3WVR >nul) else (echo.)
set i=1
:server
if %i%==1 set KMS_Sev=kms7.MSGuides.com
if %i%==2 set KMS_Sev=kms8.MSGuides.com
if %i%==3 set KMS_Sev=kms9.MSGuides.com
if %i%==4 goto notsupported
cscript //nologo slmgr.vbs /skms %KMS_Sev% >nul&echo ============================================================================&echo.&echo.
cscript //nologo slmgr.vbs /ato | find /i "successfully" && (echo.&echo ============================================================================&echo.&echo #My official blog: MSGuides.com&echo.&echo #How it works: bit.ly/kms-server&echo.&echo #Please feel free to contact me at msguides.com@gmail.com if you have any questions or concerns.&echo.&echo #Please consider supporting this project: donate.msguides.com&echo #Your support is helping me keep my servers running everyday!&echo.&echo ============================================================================&choice /n /c YN /m "Would you like to visit my blog [Y,N]?" & if errorlevel 2 exit) || (echo The connection to my KMS server failed! Trying to connect to another one... & echo Please wait... & echo. & echo. & set /a i+=1 & goto server)
explorer "http://MSGuides.com"&goto halt
:notsupported
echo ============================================================================&echo.&echo Sorry! Your version is not supported.&echo.
:halt
pause >nul

Create a new text document.
Step 2: Paste the code into the text file. Then save it as a batch file (named “1click.cmd”).
Step 3: Run the batch file as administrator. Done
Source: https://msguides.com

Saturday, July 28, 2018

MemoQ MT tag editing

Support for Machine Translation (MT) is done în MemoQ through series of plugins. Pseudo-translation which is fine, but limited. Although they’ve enhanced it in Adriatic version. Second plugin is for Google Translate. There’s not much in terms of configuration, you set the API key, can specify regex which matches will be ignored in MT process, and enable option to put the tags from source at the end of the translation.
Word of advice here. If plugin is enabled and set as preferred in your client, MT results show up alongside Translation Memory ™ hits in Translation results pane. So if you spend a lot of time there clicking through segments it’ll cost you some money. Make sure to uncheck Offer machine-translated results while working in the translation grid or adjust it to your actual needs.
Tags in memoQ, as in other localization tools, serve as placeholders for source file elements which are wrapping or are placed between text to be translated. If you translate Word documents your tags will be mainly formatting. So, if these tags will be placed at the end of translation, formatting will be broken. Which is maybe not big thing if you’re using MT as support to human translation, because your translator will place tags where they belong. Although he probably won’t be very happy about it. But I’ve wanted to use MT as some kind of self-service for teams which don’t require quality translations, just want to understand the text.
Luckily memoQ offers export/import of bilingual files and its native format is mqxliff which is XML. Each segment is wrapped in trans-unit tag. Source segment if it contains tags looks like this.
<source xml:space="preserve" mq:segpart="8">You can <bpt id="1" ctype="underlined">{}</bpt>
<bpt id="2">&lt;hlnk id=&quot;rId8&quot; history=&quot;1&quot; fileName=&quot;document.xml&quot; href=&quot;@07c1b597-2ac9-446f-b816-78a8a151172a&quot;&gt;</bpt>
<bpt id="3">&lt;rpr id=&quot;0&quot;&gt;</bpt>download it here for free<ept id="1">{}</ept>
<ept id="3">&lt;/rpr id=&quot;0&quot; transform=&quot;close&quot;&gt;</ept><ept id="2">&lt;/hlnk&gt;</ept>.</source>
We need to work on XML level as we want these tags encoded back exactly as they’re now. First we need to get rid of source tags, I don’t like regex in my code, but this time it’s necessary </?source(.+?)?>. Now we have this.
You can <bpt id="1" ctype="underlined">{}</bpt>
<bpt id="2">&lt;hlnk id=&quot;rId8&quot; history=&quot;1&quot; fileName=&quot;document.xml&quot; href=&quot;@07c1b597-2ac9-446f-b816-78a8a151172a&quot;&gt;</bpt>
<bpt id="3">&lt;rpr id=&quot;0&quot;&gt;</bpt>download it here for free<ept id="1">{}</ept>
<ept id="3">&lt;/rpr id=&quot;0&quot; transform=&quot;close&quot;&gt;</ept><ept id="2">&lt;/hlnk&gt;</ept>.
Not bad, but still you don’t want to translate tags, so we’ll split this with another regex (<.+?>.+?</.+?>) to get nice array of strings. And then if item in array starts with < we add it as-is to target tag, else we first MT it.
Of course we could pass it as-is to Google Translate and receive back translation with tags intact, but then while adding it to original mqxliff all tags will be escaped, like &lt;bpt id="1" ctype="underlined"&gt;. And after import they’ll appear as regular text in memoQ and will be exported to DOCX (or whatever was original format) as such. So not only formatting will be broken, you’ll have garbage text within your translated text.
Last, but very important, thing. We need to set mq:status attribute for each changed trans-unit tag, so it equals "MachineTranslated". Otherwise even though we have translation for memoQ it’s empty and on export it’ll either not be exported or reverted to source text, depending on your settings.
As I was digging through mqxliff I’ve found another interesting thing. If segment is locked, it has following attributes translate="no" mq:locked="locked". Apparently, it’s enough to remove them from trans-unit tag and after import segment will be unlocked in memoQ project. It’s very useful as currently you need to have PM license to be able to lock/unlock segments, which is expensive. Plus, it’s tedious task if you need to do it manually. Source: https://blog.liox.eu

Memsource files in MemoQ

When it comes to online CAT-tools I personally consider Memsource as one of the better ones – it’s reasonably fast, offers decent functionality and usability. It’s even better with local (but not offline) client, which can undock some windows, so you can have concordance and TM matches on screen at the same time. Still, it’s not the same as memoQ when it comes to comfort and features, so whenever possible, I process Memsource files in memoQ – that is, if PM allows to download .mxliff files for work with local tool.

To do so I’m running pre-translation with relatively low threshold, download project files and open them in memoQ with another copy in Memsource for concordance and TB checks. After translation I open the files in memsource editor and use upload functionality to synchronize files with the server.
Unfortunately, the XLIFF format is a bit loose when it comes to how certain features should be implemented, so things like match rate and translation status are not imported by default and need some tinkering. I have created a template that can be used to import Memsource files in a bit more comfortable way.

There is a substantial edit concerning the template:

Originally .mxliff files were modified only before importing into memoQ, and I left cleaning up extra content to memsource editor. Now when you export finished translation, extra bits added for memoQ’s compatibility will be removed.
Additionally:
  1. Segments confirmed in memoQ will show as confirmed in Memsource. Of course you should still update the Memsource TM.
  2. Content of “Alt-trans” imported by default to memoQ from Memsource as comment will be ignored now. I was asked by multiple users to disable this. If you want alternative translations from Memsource, you can enable them in memoQ filter filter options.
  3. I removed my export path rules from template settings – this was causing problems for some users. Still, it’s a good idea to edit export path rules so memoQ will overwrite original files and you won’t have to manually re-name files exported from memoQ (to remove defalut “_iso” target language addition).
Original post content (still valid):
The template work by performing automated actions: the files are edited with regex-based Find and Replace rules to insert additional attributes for match rate and segment states (regex rules are included in .xml configuration files). Subsequently customixed XLIFF filter is used, configured to recognize the introduced attributes and regex-based tagging is run to convert Memsource tags into memoQ tags.
To use the template you need to follow instructions below for import and setup. When everything is configured correctly, you can create project from template and work with Memsource files more comfortably. But always remember to back up your files in case something goes wrong. Also while the conversions and template were tested by two people without any issues (at the time of publication), I can’t predict every possible case and setup, so you are doing this at your own risk – if something goes wrong, I may tray to help, but I won’t be held responsible.
Before you start: the template will work only with memoQ 8.x and 7.8, not older. However, executable file “FindAndReplace.exe” is only installed with memoQ version 8.1 and newer. If you have older version, you need to download it separately (see below).
Template Memsource does the following:
  • match rate will be visible in memoQ
  • locked status will be kept (segments locked in memsource will be locked in memoQ)
  • “translated” status will be kept
  • segments populated with machine translation will have “MT” status in memoQ
  • memsource tags will be converted into memoQ tags

Preparation:

1. memoQ version 8.1 and newer: none
2. memoQ version 7.8: download and unzip executable FindAndReplace (alternatively download and install newest memoQ version, you can still use 7.8, but FindAndReplace will be installed in the default path).

Installation:

  1. Download this file: memsource_updated.zip
  2. Unzip the content (remember where you unzipped it).
  3. Start memoQ, open Resource console.
  4. Select Filter configurations.
  5. Select Import new and import:  ChainedConverter#memsource-tagged.mqres
  6. Select Project templates.
  7. Select Import new > Memsource.mqres
    The template contains hard-coded path for configuration file: C:\memoQ\FindAndReplace\memsource.xml. If you don’t want to edit the template, create this folder and put “memsource.xml” in this path. Alternatively edit the template:
    Select Resource console > Templates > memsource with states > Edit > Automated actions > Script before import and edit path in Command line arguments field, then click Update.
    You can now create template project and import Memsource files.
Tagging mechanism will create empty (single) tags for numbers enclosed in curly brackets ( {1} ), opening (left) tags for any content starting with left curly bracket and closed by “greater than” sign (e.g. {1> or {i> ) and closing (right) tags for any content starting with “less than” sign closed by right curly bracket (e.g. <1} or <i} ). However, it is unlikely but possible that incorrect content will be tagged. In such case please contact me.
PRO tip: File extension “mxliff” is not recognized by memoQ, so when you are adding files to memoQ project, you need to “Show all“. But when you create a project based on this template you can skip “Add files” step (just don’t add any files) and when the template-based project is created, simply drag and drop mxliff files into “Translations” memoQ window. Files will be recognized and correct filter will be applied automatically.

To update already installed template you need to:

  1. Using resouce console delete existing filter configuration and project template and install updated version
    OR
  2. Using resouce console rename existing filter configuration and project template and install updated version
    OR
  3. Import updated filter configuration with new name, import updated project template with new name and modify it to include updated filter configuration name.
Please note: the templates reference FindAndReplace.exe file, which should be available at C:\Program Files (x86)\Kilgray\FindAndReplace Tool folder (for memoQ 8.1 and up). If you have non-standard memoQ installation path, you need to edit exe configuration in template settings (see below). If you have memoQ version older than 8.1, you need to download the file separately and edit the path in template settings:
  1. Select Resource console > Templates > memsource with states > Edit > Automated actions > Script before import > Select findandreplace.exe and click Delete.
  2. Click Add files…, browse to and select FindAndReplace.exe.
  3. Click Update.
Template can be further customized with your default languages, TMs, light resources etc.
Additional help for templates with find and replace scripts can be found here: https://help.memoq.com/8-3/en/index.html?edit-template-find-and-replace.html
Template configuration file (actual find and replace commands) is commented and you can customize it any way you like. Source: http://wasaty.pl