pax_global_header00006660000000000000000000000064136357440550014526gustar00rootroot0000000000000052 comment=95ab355099720dd33a61122b458260b0fbfb3e9d ConvertAll-0.8.0/000077500000000000000000000000001363574405500136045ustar00rootroot00000000000000ConvertAll-0.8.0/.gitignore000066400000000000000000000000511363574405500155700ustar00rootroot00000000000000*.pyc *~ *.swp */__pycache__/ *.hgignore ConvertAll-0.8.0/README.md000066400000000000000000000011571363574405500150670ustar00rootroot00000000000000# What is ConvertAll? Why write another unit converter? There are plenty of them out there. Well, I couldn't find one that worked quite the way I wanted. With ConvertAll, you can combine the units any way you want. If you want to convert from inches per decade, that's fine. Or from meter-pounds. Or from cubic nautical miles. The units don't have to make sense to anyone else. # More Info See the [ConvertAll homepage](http://convertall.bellz.org) for more info. There is also an [online version](http://convertall-js.bellz.org), written in JavaScript (see the doug-101/ConvertAll-js repository for the source code). ConvertAll-0.8.0/convertall.desktop000066400000000000000000000003431363574405500173500ustar00rootroot00000000000000[Desktop Entry] Type=Application Version=1.1 Name=ConvertAll GenericName=Unit Converter Comment=a flexible unit converter Exec=convertall Icon=convertall-icon StartupNotify=true Terminal=false Categories=Math;Science;Education ConvertAll-0.8.0/data/000077500000000000000000000000001363574405500145155ustar00rootroot00000000000000ConvertAll-0.8.0/data/units.dat000066400000000000000000000774741363574405500163740ustar00rootroot00000000000000#***************************************************************************** #units.dat, the units data file, version 0.7.3 # # ConvertAll, a units conversion program # Copyright (C) 2020, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A Python expression may be used for the quantity, but is # restricted to using only the following operators: *, /, +, -. # Beware of integer division truncation: be sure to use a float for at least # one of the values. # # The unit type must be placed in square brackets before a set of units. The # first comment after the equivalent unit will be put in parenthesis after the # unit name (usually used to give the full name of an abbreviated unit). The # next comment will be used in the program list's comment column; later # comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. For # equations, two are given, separated by a ';'. Both are functions of "x", the # first going from the unit to the equivalent unit and the second one in # reverse. Any valid Python expression returning a float (including the # functions in the math module) should work. The equivalency list is a Python # list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # mass units # [mass] kg = ! # kilogram kilogram = kg key = kg # # drug slang hectogram = 100 gram dekagram = 10 gram gram = 0.001 kg g = gram # gram decigram = 0.1 gram centigram = 0.01 gram milligram = 0.001 gram mg = milligram # milligram microgram = 0.001 mg tonne = 1000 kg # # metric metric ton = tonne megagram = tonne kilotonne = 1000 tonne # # metric gigagram = 1e9 gram teragram = 1e12 gram carat = 0.2 gram ct = carat # carat amu = 1.660539066605e-27 kg # atomic mass atomic mass unit = amu dalton = amu # # atomic mass Da = amu # dalton # atomic mass pound = 0.45359237 kg # # avoirdupois lb = pound # pound # avoirdupois lbm = pound # pound # avoirdupois ounce = 1/16.0 pound # # avoirdupois oz = ounce # ounce # avoirdupois lid = ounce # # drug slang dram = 1/16.0 ounce # # avoirdupois pound troy = 5760 grain lb troy = pound troy # pound troy ounce troy = 1/12.0 lb troy oz troy = ounce troy # ounce troy ton = 2000 lb # # non-metric kiloton = 1000 ton # # non-metric long ton = 2240 lb # # Imperial ton imperial = long ton slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # Imperial hundredweight short = 100 lb # # US & Canada solar mass = 1.9891e30 kg # # length / distance units # [length] m = ! # meter meter = m metre = m dm = 0.1 m # decimeter decimeter = dm cm = 0.01 m # centimeter centimeter = cm mm = 0.001 m # millimeter millimeter = mm micrometer = 1e-6 m micron = micrometer nanometer = 1e-9 m nm = nanometer # nanometer dekameter = 10 m hectometer = 100 m km = 1000 m # kilometer kilometer = km megameter = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # nuclear sizes inch = 2.54 cm in = inch # inch inches = inch mil = 0.001 inch microinch = 1e-6 inch microinches = microinch foot = 12 inch ft = foot # foot feet = foot foot US survey = 1200/3937.0 m Cape foot = 1.033 foot yard = 3 ft yd = yard # yard mile = 5280 ft # # statute mile mi = mile # mile # statute mile nautical mile = 1852 m nmi = nautical mile # nautical mile mile US survey = 5280 foot US survey league = 3 mile chain = 66 ft chain US survey = 66 foot US survey link = 0.01 chain fathom = 6 ft cable = 0.1 nautical mile rod = 5.5 yard furlong = 40 rod hand = 4 inch cubit = 21.8 inch # # biblical unit point = 1/72.0 inch # # desktop publishing point pica = 12 point caliber = 1.0 inch # # bullet sizes rack unit = 1.75 in # # computing smoot = 67 inch football field = 100 yd marathon = 46145 yd mil Swedish = 10 km versta = 3500 ft # # Russian unit au = 1.495978707e11 m # astronomical unit astronomical unit = au LD = 384400 km # lunar distance # astronomical lunar distance = LD # # astronomical distance light year = 365.25 light speed * day light minute = light speed * min light second = light speed * s parsec = 648000 au/pi kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec screw size = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # Unified diameters, non-linear AWG Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # use -1, -2 for 00, 000; non-linear British Std Wire Gauge = [in] [(-6, .500), (-5, .464), (-3, .400), \ (-2, .372), (3, .252), (6, .192), (10, .128), \ (14, .080), (19, .040), (23, .024), (26, .018), \ (28, .0148), (30, .0124), (39, .0052), \ (49, .0012), (50, .001)] \ # # use -1, -2 for 2/0, 3/0; non-linear standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # steel \ # Manufacturers Std. Gauge, non-linear zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # sheet metal thickness, non-linear ring size = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # US size, circum., non-linear shoe size mens = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # US sizes, non-linear shoe size womens = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # US sizes, non-linear drill bit size = [in] [(104,0.0031), (103,0.0035), (102,0.0039), \ (101,0.0043), (100,0.0047), (99,0.0051), \ (98,0.0055), (97,0.0059), (96,0.0063), \ (95,0.0067), (94,0.0071), (93,0.0075), \ (92,0.0079), (91,0.0083), (90,0.0087), \ (89,0.0091), (88,0.0095), (87,0.01), \ (86,0.0105), (85,0.011), (84,0.0115), \ (83,0.012), (82,0.0125), (81,0.013), \ (80,0.0135), (79,0.0145), (78,0.016), \ (77,0.018), (76,0.02), (75,0.021), \ (74,0.0225), (73,0.024), (72,0.025), \ (71,0.026), (70,0.028), (69,0.0292), \ (68,0.031), (67,0.032), (66,0.033), \ (65,0.035), (64,0.036), (63,0.037), \ (62,0.038), (61,0.039), (60,0.04), \ (59,0.041), (58,0.042), (57,0.043), \ (56,0.0465), (55,0.052), (54,0.055), \ (53,0.0595), (52,0.0635), (51,0.067), \ (50,0.07), (49,0.073), (48,0.076), \ (47,0.0785), (46,0.081), (45,0.082), \ (44,0.086), (43,0.089), (42,0.0935), \ (41,0.096), (40,0.098), (39,0.0995), \ (38,0.1015), (37,0.104), (36,0.1065), \ (35,0.11), (34,0.111), (33,0.113), \ (32,0.116), (31,0.12), (30,0.1285), \ (29,0.136), (28,0.1405), (27,0.144), \ (26,0.147), (25,0.1495), (24,0.152), \ (23,0.154), (22,0.157), (21,0.159), \ (20,0.161), (19,0.166), (18,0.1695), \ (17,0.173), (16,0.177), (15,0.18), \ (14,0.182), (13,0.185), (12,0.189), \ (11,0.191), (10,0.1935), (9,0.196), \ (8,0.199), (7,0.201), (6,0.204), \ (5,0.2055), (4,0.209), (3,0.213), \ (2,0.221), (1,0.228)] \ # # American drill bit gauge, non-linear # # time units # [time] s = ! # second sec = s # second second = s ms = 0.001 s # millisecond millisecond = ms microsecond = 1e-6 s ns = 1e-9 s # nanosecond nanosecond = ns minute = 60 s min = minute # minute hour = 60 min hr = hour # hour bell = 30 min # # naval definition watch = 4 hour watches = watch day = 24 hr week = 7 day wk = week # week fortnight = 14 day month = 1/12.0 year year = 365.242198781 day yr = year # year calendar year = 365 day decade = 10 year century = 100 year centuries = century millennium = 1000 year millennia = millennium [scheduling] man hour = 168/40.0 hour man week = 40 man hour man month = 1/12.0 man year man year = 52 man week # # temperature # [temperature] K = ! # Kelvin Kelvin = K deg K = K # Kelvin degree Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # non-linear Celsius = [K] x + 273.15 ; x - 273.15 # # non-linear deg C = [K] x + 273.15 ; x - 273.15 # Celsius # non-linear degree Celsius = [K] x + 273.15 ; x - 273.15 # # non-linear R = 5/9.0 K # Rankine Rankine = R deg R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non-linear Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non-linear deg F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non-linear degree Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non-linear [temp. diff.] C deg = K # Celsius degree Celsius degree = C deg F deg = R # Fahrenheit deg. Fahrenheit degree = F deg # # electrical units # [current] A = ! # ampere ampere = A amp = A milliampere = 0.001 A milliamp = milliampere mA = milliampere # milliampere microampere = 0.001 mA kiloampere = 1000 A kA = kiloampere # kiloampere [charge] coulomb = A*s amp hour = A*hr mAh = 0.001 amp hour # milliamp hour milliamp hour = mAh [potential] volt = W/A V = volt # volt millivolt = 0.001 volt mV = millivolt # millivolt kilovolt = 1000 volt kV = kilovolt # kilovolt [resistance] ohm = V/A milliohm = 0.001 ohm microhm = 0.001 milliohm kilohm = 1000 ohm [conductance] siemens = A/V [capacitance] farad = coulomb/V millifarad = 0.001 farad microfarad = 0.001 millifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [magn. flux] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [inductance] henry = Wb/A H = henry # henry millihenry = 0.001 henry mH = millihenry # millihenry microhenry = 0.001 mH [flux density] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # molecular units # [molecular qty] mol = ! # mole # gram mole mole = mol # # gram mole gram mole = mol kilomole = 1000 mol kmol = kilomole # kilomole pound mole = mol*lbm/gram lbmol = pound mole # pound mole [size of a mol] avogadro = gram/(amu*mol) # # Illumination units # [lum. intens.] cd = ! # candela candela = cd [luminous flux] lumen = cd * sr lm = lumen # lumen [illuminance] lux = lumen/m^2 footcandle = lumen/ft^2 metercandle = lumen/m^2 [luminance] lambert = cd/(pi*cm^2) millilambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # angular units # [angle] radian = ! rad = radian # radian circle = 2 pi*radian turn = circle revolution = circle rev = revolution # revolution degree = 1/360.0 circle deg = degree # degree arc min = 1/60.0 degree # minute arc minute = arc min min arc = arc min # minute minute arc = arc min arc sec = 1/60.0 arc min # second arc second = arc sec sec arc = arc sec # second second arc = arc sec quadrant = 1/4.0 circle right angle = quadrant gradian = 0.01 quadrant # # solid angle units # [solid angle] sr = ! # steradian steradian = sr sphere = 4 pi*sr hemisphere = 1/2.0 sphere # # information units # [data] bit = ! kilobit = 1000 bit # # based on power of 10 megabit = 1000 kilobit # # based on power of 10 gigabit = 1000 megabit # # based on power of 10 terabit = 1000 gigabit # # based on power of 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # based on power of 2 kB = kilobyte # kilobyte # based on power of 2 megabyte = 1024 kB # # based on power of 2 MB = megabyte # megabyte # based on power of 2 gigabyte = 1024 MB # # based on power of 2 GB = gigabyte # gigabyte # based on power of 2 terabyte = 1024 GB # # based on power of 2 TB = terabyte # terabyte # based on power of 2 petabyte = 1024 TB # # based on power of 2 PB = petabyte # petabyte # based on power of 2 kilobyte SI std = 1000 byte # # based on power of 10 kB SI std = kilobyte SI std # kilobyte # based on power of 10 megabyte SI std = 1000 kB SI std # # based on power of 10 MB SI std = megabyte SI std # megabyte # based on power of 10 gigabyte SI std = 1000 MB SI std # # based on power of 10 GB SI std = gigabyte SI std # gigabyte # based on power of 10 terabyte SI std = 1000 GB SI std # # based on power of 10 TB SI std = terabyte SI std # terabyte # based on power of 10 petabyte SI std = 1000 TB SI std # # based on power of 10 PB SI std = petabyte SI std # petabyte # based on power of 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [data transfer] bps = bit/sec # bits / second kbps = 1000 bps # kilobits / sec. # based on power of 10 # # Unitless numbers # [quantity] unit = !! 1 = unit # unit pi = 3.14159265358979323846 unit pair = 2 unit hat trick = 3 unit # # sports dozen = 12 unit doz = dozen # dozen bakers dozen = 13 unit score = 20 unit gross = 144 unit great gross = 12 gross ream = 500 unit percent = 0.01 unit % = percent mill = 0.001 unit [interest rate] APR = [unit] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual % rate # based on continuous compounding [concentration] proof = 1/200.0 unit # # alcohol content ppm = 1e-6 unit # parts per million parts per million = ppm ppb = 1e-9 unit # parts per billion parts per billion = ppb ppt = 1e-12 unit # parts per trillion parts per trillion = ppt karat = 1/24.0 unit # # gold purity carat gold = karat # # gold purity # # force units # [force] newton = kg*m/s^2 N = newton # newton dekanewton = 10 newton kilonewton = 1000 N kN = kilonewton # kilonewton meganewton = 1000 kN millinewton = 0.001 N dyne = cm*g/s^2 kg force = kg * gravity # kilogram f kgf = kg force # kilogram force kilogram force = kg force kp = kg force # kilopond kilopond = kg force gram force = g * gravity pound force = lbm * gravity # # avoirdupois lbf = pound force # pound force # avoirdupois ton force = ton * gravity ounce force = ounce * gravity ozf = ounce force # ounce force tonne force = tonne * gravity # # metric pdl = lbm * ft / sec^2 # poundal # Imperial force poundal = pdl # # Imperial force # # area units # [area] barn = 1e-28 m^2 # # particle physics are = 100 m^2 decare = 10 are dekare = 10 are hectare = 100 are stremma = 1000 m^2 acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre square perch = 30.25 yd^2 rood = 0.25 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai circular inch = 1/4.0 pi*in^2 # # area of 1 inch circle circular mil = 1/4.0 pi*mil^2 # # area of 1 mil circle AWG Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # use -1, -2 for 00, 000; non-linear # # volume units # [volume] cc = cm^3 # cubic centimeter cubic centimeter = cc liter = 1000 cc l = liter # liter litre = liter deciliter = 0.1 liter centiliter = 0.01 liter milliliter = cc ml = milliliter # milliliter microliter = 1e-6 liter dekaliter = 10 liter hectoliter = 100 liter kiloliter = 1000 liter kl = kiloliter # kiloliter megaliter = 1000 kiloliter gallon = 231 in^3 # # US liquid gal = gallon # gallon # US liquid quart = 1/4.0 gallon # # US liquid qt = quart # quart # US liquid pint = 1/2.0 quart # # US liquid pt = pint # pint # US liquid fluid ounce = 1/16.0 pint # # US fl oz = fluid ounce # fluid ounce # US ounce fluid = fluid ounce # # US fluid dram = 1/8.0 fluid ounce # # US minim = 1/480.0 fluid ounce # # US imperial gallon = 4.54609 liter imp gal = imperial gallon # imperial gallon gallon imperial = imperial gallon imperial quart = 1/4.0 imp gal imp qt = imperial quart # imperial quart quart imperial = imperial quart imperial pint = 1/8.0 imp gal imp pt = imperial pint # imperial pint pint imperial = imperial pint imperial fluid ounce = 1/160.0 imp gal imp fl oz = imperial fluid ounce # imperial fluid ounce imperial fluid dram = 1/8.0 imp fl oz imperial minim = 1/480.0 imp fl oz cup = 8 fl oz tablespoon = 1/16.0 cup tbsp = tablespoon # tablespoon teaspoon = 1/3.0 tbsp tsp = teaspoon # teaspoon barrel = 42 gallon bbl = barrel # barrel shot = 1.5 fl oz fifth = 1/5.0 gallon # # alcohol wine bottle = 750 ml magnum = 1.5 liter # # alcohol keg = 15.5 gallon # # beer hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # velocity units # [velocity] knot = nmi/hr kt = knot # knot light speed = 2.99792458e8 m/s mph = mi/hr # miles/hour kph = km/hr # kilometers/hour mach = 340.29 m/s # # speed sound at STP Beaufort wind = [m/s] 0.836 * x**1.5 ; (x / 0.836)**(2/3) \ # # wind speed, non-linear [rot. velocity] rpm = rev/min # rev/min rps = rev/sec # rev/sec # # flow rate units # [fluid flow] gph = gal/hr # gallons/hour gpm = gal/min # gallons/minute cfs = ft^3/sec # cu ft/second cfm = ft^3/min # cu ft/minute lpm = l/min # liter/min [gas flow] sccm = atm*cc/min # std cc/min # pressure * flow sccs = atm*cc/sec # std cc/sec # pressure * flow slpm = atm*l/min # std liter/min # pressure * flow slph = atm*l/hr # std liter/hour # pressure * flow scfh = atm*ft^3/hour # std cu ft/hour # pressure * flow scfm = atm*ft^3/min # std cu ft/min # pressure * flow # # pressure units # [pressure] Pa = N/m^2 # pascal pascal = Pa hPa = 100 Pa # hectopascal hectopascal = hPa kPa = 1000 Pa # kilopascal kilopascal = kPa MPa = 1000 kPa # megapascal megapascal = MPa GPa = 1000 MPa # gigapascal gigapascal = GPa atm = 101325 Pa # atmosphere atmosphere = atm bar = 1e5 Pa mbar = 0.001 bar # millibar millibar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*density Hg*gravity millimeter of Hg = mm Hg torr = mm Hg micron of Hg = micron*density Hg*gravity in Hg = in*density Hg*gravity # inch of Hg inch of Hg = in Hg m water = m*density water*gravity # meter of H2O # fresh water m H2O = m water # meter of H2O # fresh water meter of water = m water # # fresh water in water = in*density water*gravity # inch of H2O # fresh water in H2O = in water # inch of H2O # fresh water inch of water = in water # # fresh water ft water = ft*density water*gravity # feet of H2O # fresh water ft H2O = ft water # feet of H20 # fresh water feet of water = ft water # # fresh water foot of head = ft water # # fresh water ft hd = ft water # foot of head # fresh water psi = lbf/in^2 # pound / sq inch pound per sq inch = psi ksi = 1000 psi # 1000 lb / sq inch # # density units # [density] density water = gram/cm^3 density sea water = 1.025 gram/cm^3 density Hg = 13.5950981 gram/cm^3 density air = 1.293 kg/m^3 # # at STP density steel = 0.283 lb/in^3 # # carbon steel density aluminum = 0.098 lb/in^3 density zinc = 0.230 lb/in^3 density brass = 0.310 lb/in^3 # # 80Cu-20Zn density copper = 0.295 lb/in^3 density iron = 0.260 lb/in^3 # # cast iron density nickel = 0.308 lb/in^3 density tin = 0.275 lb/in^3 density titanium = 0.170 lb/in^3 density silver = 0.379 lb/in^3 density nylon = 0.045 lb/in^3 density polycarbonate = 0.045 lb/in^3 # # energy units # [energy] joule = N*m J = joule # joule kilojoule = 1000 joule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule millijoule = 0.001 joule mJ = millijoule # millijoule calorie = 4.1868 J cal = calorie # calorie kilocalorie = 1000 cal kcal = kilocalorie # kilocalorie calorie food = kilocalorie thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal unit British thermal unit = Btu therm = 100000 Btu erg = cm*dyne electronvolt = 1.602176634e-19 J eV = electronvolt # electronvolt Ry = 2.179872361103542e-18 J # Rydberg unit Rydberg unit = Ry hartree = 2 Ry kWh = kW*hour # kilowatt-hour kilowatt hour = kWh ton TNT = 4.184e9 J tonne oil equivalent = 41.868 gigajoule tonne coal equivalent = 7000000 kcal # # power units # [power] watt = J/s W = watt # watt kilowatt = 1000 W kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt milliwatt = 0.001 W horsepower = 550 ft*lbf/sec hp = horsepower # horsepower metric horsepower = 75 kgf*m/s ton refrigeration = 12000 Btu/hr MBH = 1000 Btu/hr # 1000 Btu/hr boiler horsepower = 33475 Btu/hr # # frequency # [frequency] hertz = unit/sec Hz = hertz # hertz millihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactivity # [radioactivity] becquerel = unit/sec Bq = becquerel # becquerel curie = 3.7e10 Bq millicurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [radiation dose] gray = J/kg Gy = gray # gray centigray = 0.01 Gy rad. abs. dose = 0.01 Gy # # commonly rad sievert = J/kg # # equiv. dose millisievert = 0.001 sievert # # equiv. dose Sv = sievert # sievert # equiv. dose rem = 0.01 Sv # # roentgen equiv mammal millirem = 0.001 rem # # roentgen equiv mammal # # viscosity # [dyn viscosity] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [kin viscosity] stokes = cm^2/s St = stokes # stokes centistokes = 0.01 stokes cSt = centistokes # centistokes # # misc. units # [acceleration] gravity = 9.80665 m/s^2 galileo = cm/s^2 [constant] gravity constant = 6.673e-11 N*m^2/kg^2 gas constant = 8.314472 J/(mol*K) # R Planck constant = 6.62607015e-34 J*s [fuel consumpt.] mpg = mi/gal # miles/gallon mpg imp = mi/gallon imperial # miles/gallon imp liter per 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # non-linear [optical power] diopter = m^-1 # # American spelling dioptre = diopter # # British spelling [permeability] darcy = 1 cm^2*centipoise/atm/s millidarcy = 0.001 darcy [thermal resistance] Rvalue = R*ft^2*hr/Btu RSI = K*m^2/W # R-value SI Rvalue SI = RSI ConvertAll-0.8.0/data/units_ca.dat000066400000000000000000001171301363574405500170170ustar00rootroot00000000000000#***************************************************************************** #units.dat, the units data file, version 0.7.3 # # ConvertAll, a units conversion program # Copyright (C) 2017, Douglas W. Bell # Copyright (C) 2019, Pere Orga , per la versió catalana. # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A Python expression may be used for the quantity, but is # restricted to using only the following operators: *, /, +, -. # Beware of integer division truncation: be sure to use a float for at least # one of the values. # # The unit type must be placed in square brackets before a set of units. The # first comment after the equivalent unit will be put in parenthesis after the # unit name (usually used to give the full name of an abbreviated unit). The # next comment will be used in the program list's comment column; later # comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. For # equations, two are given, separated by a ';'. Both are functions of "x", the # first going from the unit to the equivalent unit and the second one in # reverse. Any valid Python expression returning a float (including the # functions in the math module) should work. The equivalency list is a Python # list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # unitats de massa # [massa] kg = ! # kilogram quilogram = kg # kilogram kilogram = kg quilo = kg # kilogram key = kg # # argot de drogues hectogram = 100 gram decagram = 10 gram gram = 0.001 kg g = gram # gram decigram = 0.1 gram centigram = 0.01 gram mil·ligram = 0.001 gram mg = mil·ligram # mil·ligram microgram = 0.001 mg tona = 1000 kg # # mètrica tona mètrica = tona megagram = tona kilotona = 1000 tona # # mètrica quilotona = kilotona # kilotona gigagram = 1e9 gram teragram = 1e12 gram quirat = 0.2 gram ct = quirat # quirat amu = 1.66053873e-27 kg # # massa atòmica u = amu # # massa atòmica dalton = amu # # massa atòmica Da = amu # dalton unitat de massa atòmica = amu # # massa atòmica lliura = 0.45359237 kg # # Països anglosaxons lb = lliura # lliura # avoirdupois lbm = lliura # lliura # avoirdupois unça = 1/16.0 lliura # # avoirdupois oz = unça # unça # avoirdupois lid = unça # # argot de drogues dram = 1/16.0 unça # # avoirdupois lliura troy = 5760 gra lb troy = lliura troy # lliura troy unça troy = 1/12.0 lb troy oz troy = unça troy # unça troy tona no mètrica = 2000 lliura kilotona no mètrica = 1000 ton tona llarga = 2240 lliura # # imperial tona imperial = tona llarga slug = lbf*s^2/ft stone = 14 lliura gra = 1/7000.0 lliura pennyweight = 24 gra hundredweight llarg = 112 lliura # # Imperial hundredweight curt = 100 lliura # # Estats Units i Canadà massa solar = 1.9891e30 kg lliura catalana = 0.4 kg # # Catalunya terça = lliura catalana # # Catalunya, carn arrova = 26 lliura catalana # # Catalunya, Balears unça catalana = 1/12.0 lliura catalana # # Catalunya argenç = 1/16.0 unça # # Països Catalans # # unitats de longitud # [longitud] m = ! # metre metre = m dm = 0.1 m # decímetre decímetre = dm cm = 0.01 m # centímetre centímetre = cm mm = 0.001 m # mil·límetre mil·límetre = mm micròmetre = 1e-6 m micra = micròmetre # micròmetre micró = micròmetre # micròmetre nanòmetre = 1e-9 m nm = nanòmetre # nanòmetre decàmetre = 10 m hectòmetre = 100 m km = 1000 m # kilòmetre quilòmetre = km # kilòmetre kilòmetre = km megàmetre = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # mides nuclears polzada = 2.54 cm # ” in = polzada # polzada mil = 0.001 polzada # polzada micropolzada = 1e-6 polzada peu = 12 polzada # ' peu romà = 29.57 cm ft = peu # peu peu americà = 1200/3937.0 m Cape foot = 1.033 peu iarda = 3 peu vara anglesa = iarda # iarda yd = iarda # iarda milla = 5280 peu # # milla actual mi = milla # milla # milla actual milla marina = 1852 m milla nàutica = milla marina nmi = milla marina # milla marina milla americana = 5280 peu americà llegua = 3 milla cadena = 66 peu cadena americana = 66 peu americà link = 0.01 cadena fathom = 6 peu cable = 0.1 milla marina rod = 5.5 iarda furlong = 40 rod estadi = furlong mà = 4 polzada # # Països anglosaxons colze = 21.8 polzada # # unitat bíblica punt = 1/72.0 polzada # # punt (publicació) pica = 12 punt calibre = 1.0 polzada # # mida de les bales unitat rack = 1.75 polzada # # computació smoot = 67 polzada camp de futbol = 100 yd marató = 46145 yd mil sueca = 10 km versta = 3500 peu # # Unitat russa au = 1.49597870691e11 m # unitat astronòmica unitat astronòmica = au LD = 384400 km # distància lunar # astronòmica distància lunar = LD # # distància astronòmica any llum = 365.25 velocitat de la llum * dia minut llum = velocitat de la llum * min segon llum = velocitat de la llum * s parsec = 3.0856775813e16 m kiloparsec = 1000 parsec quiloparsec = kiloparsec # kiloparsec megaparsec = 1000 kiloparsec mida del caragol = [polzada] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # diàmetres unificats, no lineal AWG Dia = [polzada] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # galga cable americà \ # feu servir -1, -2 per 00, 000; no lineal galga cable americà = [polzada] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # feu servir -1, -2 per 00, 000; no lineal galga cable estàndard britànic = [polzada] [(-6, .500), (-5, .464), (-3, .400), \ (-2, .372), (3, .252), (6, .192), (10, .128), \ (14, .080), (19, .040), (23, .024), (26, .018), \ (28, .0148), (30, .0124), (39, .0052), \ (49, .0012), (50, .001)] \ # # feu servir -1, -2 per 2/0, 3/0; no lineal ample ferroviari estàndard = [polzada] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # acer \ # estàndard dels fabricants, no lineal galga zinc = [polzada] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # gruix de xapa, no lineal mida de l'anell = [polzada] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # Mida circum., Estats Units, no lineal mida de sabata d'home (Estats Units) = [polzada] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # Mides d'Estats Units, no lineals mida de sabata de dona (Estats Units) = [polzada] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # Mides d'Estats Units, no lineals mida de broca = [polzada] [(104,0.0031), (103,0.0035), (102,0.0039), \ (101,0.0043), (100,0.0047), (99,0.0051), \ (98,0.0055), (97,0.0059), (96,0.0063), \ (95,0.0067), (94,0.0071), (93,0.0075), \ (92,0.0079), (91,0.0083), (90,0.0087), \ (89,0.0091), (88,0.0095), (87,0.01), \ (86,0.0105), (85,0.011), (84,0.0115), \ (83,0.012), (82,0.0125), (81,0.013), \ (80,0.0135), (79,0.0145), (78,0.016), \ (77,0.018), (76,0.02), (75,0.021), \ (74,0.0225), (73,0.024), (72,0.025), \ (71,0.026), (70,0.028), (69,0.0292), \ (68,0.031), (67,0.032), (66,0.033), \ (65,0.035), (64,0.036), (63,0.037), \ (62,0.038), (61,0.039), (60,0.04), \ (59,0.041), (58,0.042), (57,0.043), \ (56,0.0465), (55,0.052), (54,0.055), \ (53,0.0595), (52,0.0635), (51,0.067), \ (50,0.07), (49,0.073), (48,0.076), \ (47,0.0785), (46,0.081), (45,0.082), \ (44,0.086), (43,0.089), (42,0.0935), \ (41,0.096), (40,0.098), (39,0.0995), \ (38,0.1015), (37,0.104), (36,0.1065), \ (35,0.11), (34,0.111), (33,0.113), \ (32,0.116), (31,0.12), (30,0.1285), \ (29,0.136), (28,0.1405), (27,0.144), \ (26,0.147), (25,0.1495), (24,0.152), \ (23,0.154), (22,0.157), (21,0.159), \ (20,0.161), (19,0.166), (18,0.1695), \ (17,0.173), (16,0.177), (15,0.18), \ (14,0.182), (13,0.185), (12,0.189), \ (11,0.191), (10,0.1935), (9,0.196), \ (8,0.199), (7,0.201), (6,0.204), \ (5,0.2055), (4,0.209), (3,0.213), \ (2,0.221), (1,0.228)] \ # # Calibre de broca americà, no lineal pam = 194.5 cm # # mesura aproximativa, Corona d'Aragó cana = 8 pam # # mesura aproximativa, Corona d'Aragó destre = 12 pam # # mesura aproximativa, Corona d'Aragó alna de València = 906 mm # # mesura aproximativa, Catalunya vella i Regne de València colzada = 1/2.0 alna de València # # mesura aproximativa, Catalunya vella i Regne de València # # unitats de temps # [temps] s = ! # segon seg = s # segon segon = s ms = 0.001 s # mil·lisegon mil·lisegon = ms microsegon = 1e-6 s ns = 1e-9 s # nanosegon nanosegon = ns minut = 60 s min = minut # minut hora = 60 min hr = hora # hora bell = 30 min # # definició naval watch = 4 hora watches = watch dia = 24 hr setmana = 7 dia # wk = setmana # setmana quinzena = 15 dia # 15 dies mes = 1/12.0 any any = 365.242198781 dia # 365.242198781 dies # yr = any # any any civil = 365 dia # 365 dies dècada = 10 any segle = 100 any mil·lenni = 1000 any [planificació] hora persona = 168/40.0 hora setmana persona = 40 hora persona mes persona = 1/12.0 any persona any persona = 52 setmana persona # # temperatura # [temperatura] K = ! # graus Kelvin Kelvin = K # graus Kelvin graus Kelvin = K C = [K] x + 273.15 ; x - 273.15 # graus Celsius # no lineal Celsius = [K] x + 273.15 ; x - 273.15 # # no lineal graus Celsius = [K] x + 273.15 ; x - 273.15 # # no lineal R = 5/9.0 K # graus Rankine Rankine = R # graus Rankine graus Rankine = R F = [R] x + 459.67 ; x - 459.67 # graus Fahrenheit # no lineal Fahrenheit = [R] x + 459.67 ; x - 459.67 # # no lineal graus Fahrenheit = [R] x + 459.67 ; x - 459.67 # # no lineal # [dif. de temp.] # C deg = K # Celsius degree # Celsius degree = C deg # F deg = R # Fahrenheit deg. # Fahrenheit degree = F deg # # unitats elèctriques # [corrent] A = ! # ampere ampere = A mil·liampere = 0.001 A mA = mil·liampere # mil·liampere microampere = 0.001 mA kiloampere = 1000 A quiloampere = kiloampere # kiloampere kA = kiloampere # kiloampere [càrrega] coulomb = A*s ampere-hora = A*hr Ah = ampere-hora # ampere-hora mAh = 0.001 ampere-hora # mil·liampere-hora mil·liampere-hora = mAh [potència] volt = W/A V = volt # volt mil·livolt = 0.001 volt mV = mil·livolt # mil·livolt kilovolt = 1000 volt quilovolt = kilovolt # kilovolt kV = kilovolt # kilovolt [resistència] ohm = V/A mil·liohm = 0.001 ohm microhm = 0.001 mil·liohm kilohm = 1000 ohm quilohm = kilohm # kilohm [conductivitat] siemens = A/V [capacitança] farad = coulomb/V mil·lifarad = 0.001 farad microfarad = 0.001 mil·lifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [flux magn.] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [inductància] henry = Wb/A H = henry # henry mil·lihenry = 0.001 henry mH = mil·lihenry # mil·lihenry microhenry = 0.001 mH [densitat de flux] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # unitats moleculars # [quantitat molecular] mol = ! # # gram mol gram mol = mol kilomol = 1000 mol quilomol = kilomol # kilomol kmol = kilomol # kilomol lliura mol = mol*lbm/gram lbmol = lliura mol # lliura mol [pes d'un mol] avogadro = gram/(amu*mol) # # unitats d'il·luminació # [intensitat de llum] cd = ! # candela candela = cd [flux de llum] lumen = cd * sr lm = lumen # lumen [il·luminància] lux = lumen/m^2 candela-peu = lumen/peu^2 candela-metre = lumen/m^2 [luminància] lambert = cd/(pi*cm^2) mil·lilambert = 0.001 lambert lambert-peu = cd/(pi*peu^2) # # unitats angulars # [angle] radian = ! # radiant ° rad = radian # radiant ° circumferència = 2 pi*radian volta = circumferència # circumferència revolució = circumferència rev = revolució # revolució grau sexagesimal = 1/360.0 circumferència # ° minut d'arc = 1/60.0 grau sexagesimal # ′ segon d'arc = 1/60.0 minut d'arc # ′′ quadrant = 1/4.0 circumferència angle recte = quadrant grau centesimal = 0.01 quadrant # ° # # unitats d'angle sòlid # [angle sòlid] sr = ! # estereoradian estereoradian = sr # estereoradiant esfera = 4 pi*sr hemisferi = 1/2.0 esfera semiesfera = hemisferi # # unitats d'informació # [dades] bit = ! kilobit = 1000 bit # # basat en potència de 10 quilobit = kilobit # kilobit # basat en potència de 10 megabit = 1000 kilobit # # basat en potència de 10 gigabit = 1000 megabit # # basat en potència de 10 terabit = 1000 gigabit # # basat en potència de 10 byte = 8 bit # # basat en potència de 2 octet = byte # byte # basat en potència de 2 B = byte # byte # basat en potència de 2 kilobyte = 1024 byte # # basat en potència de 2 quilooctet = kilobyte # kilobyte # basat en potència de 2 kB = kilobyte # kilobyte # basat en potència de 2 megabyte = 1024 kB # # basat en potència de 2 megaoctet = megabyte # megabyte # basat en potència de 2 MB = megabyte # megabyte # basat en potència de 2 gigabyte = 1024 MB # # basat en potència de 2 gigaoctet = gigabyte # gigabyte # basat en potència de 2 GB = gigabyte # gigabyte # basat en potència de 2 terabyte = 1024 GB # # basat en potència de 2 teraoctet = terabyte # terabyte # basat en potència de 2 TB = terabyte # terabyte # basat en potència de 2 petabyte = 1024 TB # # basat en potència de 2 petaoctet = petabyte # petabyte # basat en potència de 2 PB = petabyte # petabyte # basat en potència de 2 kilobyte estàndard CEI = 1000 byte # # basat en potència de 10 kB estàndard CEI = kilobyte estàndard CEI # kilobyte # basat en potència de 10 megabyte estàndard CEI = 1000 kB estàndard CEI # # basat en potència de 10 MB estàndard CEI = megabyte estàndard CEI # megabyte # basat en potència de 10 gigabyte estàndard CEI = 1000 MB estàndard CEI # # basat en potència de 10 GB estàndard CEI = gigabyte estàndard CEI # gigabyte # basat en potència de 10 terabyte estàndard CEI = 1000 GB estàndard CEI # # basat en potència de 10 TB estàndard CEI = terabyte estàndard CEI # terabyte # basat en potència de 10 petabyte estàndard CEI = 1000 TB estàndard CEI # # basat en potència de 10 PB estàndard CEI = petabyte estàndard CEI # petabyte # basat en potència de 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [transferència de dades] bps = bit/seg # bits per segon kbps = 1000 bps # kilobits per segon # basat en potència de 10 # # nombres sense unitat # [quantitat] unitat = !! 1 = unitat # unitat pi = 3.14159265358979323846 unitat parell = 2 unitat hat trick = 3 unitat # # esports de pilota dotzena = 12 unitat dotzena de forner = 13 unitat vintena = 20 unitat grossa = 144 unitat grossa gran = 12 grossa raima = 500 unitat tant per cent = 0.01 unitat # % % = tant per cent mil·lèsima part = 0.001 unitat [tipus d'interès] TAE = [unitat] log(1 + x/100) ; (exp(x) - 1)*100 \ # taxa anual equivalent, en % # basat en compost continu [concentració] proof = 1/200.0 unitat # # contingut d'alcohol ppm = 1e-6 unitat # part per milió part per milió = ppm ppb = 1e-9 unitat # part per bilió part per bilió = ppb ppt = 1e-12 unitat # part per trilió part per trilió = ppt quirat de puresa = 1/24.0 unitat # # unitat de puresa de metalls preciosos # # unitats de força # [força] newton = kg*m/s^2 N = newton # newton decanewton = 10 newton kilonewton = 1000 N quilonewton = kilonewton # kilonewton kN = kilonewton # kilonewton meganewton = 1000 kN mil·linewton = 0.001 N dina = cm*g/s^2 kg force = kg * gravetat # kilogram f kgf = kg force # kilogram-força kilogram-força = kg force # kilopond kp = kg force # kilopond kilopond = kg force # kilogram-força quilopond = kilopond # kilopond gram-força = g * gravetat lliura-força = lbm * gravetat # # avoirdupois lbf = lliura-força # lliura-força # avoirdupois tona-força = tona * gravetat unça-força = unça * gravetat ozf = unça-força # unça-força tona no mètrica-força = tona no mètrica * gravetat pdl = lbm * peu / seg^2 # poundal # Força imperial poundal = pdl # # Força imperial # # unitats d'àrea # [àrea] barn = 1e-28 m^2 # # física de partícules àrea = 100 m^2 decàrea = 10 àrea hectàrea = 100 àrea stremma = 1000 m^2 # # unitat grega acre = 10 cadena^2 # # Estats Units secció = milla^2 # # Estats Units township = 36 section # # Estats Units homestead = 160 acre # # Estats Units perxa quadrada = 30.25 yd^2 # # Estats Units rood = 0.25 acre # # Estats Units rai = 1600 m^2 # # Tailàndia ngaan = 400 m^2 # # Tailàndia polzada circular = 1/4.0 pi*polzada^2 # # àrea d'un cercle d'una polzada mil circular = 1/4.0 pi*mil^2 # # àrea d'un cercle d'un mil àrea AWG = [polzada^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # galga cable americà \ # feu servir -1, -2 per 00, 000; no lineal àrea galga cable americà = [polzada^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # feu servir -1, -2 per 00, 000; no lineal jornal = 4358.3025 m^2 # no estàndard, per terme mitjà # Països Catalans, terrenys de cultiu jornal de mida = 48.96 àrea # # Besalú, terrenys de cultiu jornal de terra = 29.77 àrea # # Seu d'Urgell, terrenys de cultiu jornal de cavar = 3.97 àrea # # Olesa de Montserrat, terrenys de cultiu jornal de dallar prat = 17.43 àrea # # Vall d'Aran, terrenys de cultiu jornal de mula = 34.22 àrea # # Igualada, terrenys de cultiu jornal petit = 29.8 àrea # # Alacant, terrenys de cultiu fanecada = 833.3 m^2 # # Regne de València, terrenys de cultiu cafissada = 6 fanecada # # Regne de València, terrenys de cultiu hort valencià = 1.5 fanecada # # Regne de València, terrenys de cultiu jovada valenciana = 36 fanecada # # Regne de València, terrenys de cultiu quartó de jovada = 9 fanecada # # Regne de València, terrenys de cultiu quartó valencià = 1/4.0 fanecada # # Regne de València, terrenys de cultiu braça quadrada = 4.15548 m^2 # # Regne de València, terrenys de cultiu quarterada = 7103.1 m^2 # # Mallorca, terrenys de cultiu quartó = 1/4.0 quarterada # # Mallorca, terrenys de cultiu hort = 443.94 m^2 # # Mallorca, terrenys de cultiu jovada = 16 quarterada # # Mallorca, terrenys de cultiu tornall = 550 m^2 # # Eivissa, terrenys de cultiu # # unitats de volum # [volum] cc = cm^3 # centímetre cúbic centímetre cúbic = cc litre = 1000 cc l = litre # litre decilitre = 0.1 litre centilitre = 0.01 litre mil·lilitre = cc ml = mil·lilitre # mil·lilitre microlitre = 1e-6 litre decalitre = 10 litre hectolitre = 100 litre kilolitre = 1000 litre quilolitre = kilolitre # kilolitre kl = kilolitre # kilolitre megalitre = 1000 kilolitre galó = 231 in^3 # # Estats Units, líquid gal = galó # galó # Estats Units, líquid quart = 1/4.0 galó # # Estats Units, líquid qt = quart # quart # Estats Units, líquid pinta = 1/2.0 quart # # Estats Units, líquid pt = pinta # pinta # Estats Units, líquid unça líquida = 1/16.0 pinta # # Estats Units, líquid fl oz = unça líquida # unça líquida # Estats Units dram líquid = 1/8.0 unça líquida # # Estats Units minim = 1/480.0 unça líquida # # Estats Units galó imperial = 4.54609 litre imp gal = galó imperial # galó imperial quart imperial = 1/4.0 imp gal imp qt = quart imperial # quart imperial pinta imperial = 1/8.0 imp gal imp pt = pinta imperial # pinta imperial unça líquida imperial = 1/160.0 imp gal imp fl oz = unça líquida imperial # unça líquida imperial dram líquid imperial = 1/8.0 imp fl oz minim imperial = 1/480.0 imp fl oz tassa = 8 fl oz cullerada = 1/16.0 tassa tbsp = cullerada # cullerada culleradeta = 1/3.0 tbsp tsp = culleradeta # culleradeta barril = 42 galó # # Països anglosaxons bbl = barril # barril # Països anglosaxons colpet = 1.5 fl oz # # Països anglosaxons fifth = 1/5.0 galó # # Països anglosaxons, alcohol ampolla de vi = 750 ml magnum = 1.5 litre # # Països anglosaxons, alcohol keg = 15.5 galó # # Països anglosaxons, cervesa vi hogshead = 63 gal cervesa hogshead = 54 gal bushel = 2150.42 polzada^3 peck = 1/4.0 bushel cord = 128 peu^3 peu-taula = peu^2*polzada quinto = 1/5.0 l # # Països Catalans, cervesa mitjana = 1/3.0 l # # Països Catalans, cervesa porró = l # # mesura aproximativa, Països Catalans, líquids xau = 1/2.0 porró # # mesura aproximativa, Països Catalans, líquids quartí = 1/4.0 porró # # mesura aproximativa, Països Catalans, líquids petricó = 1/4.0 porró # # mesura aproximativa, Països Catalans, líquids xicra = 1/8.0 porró # # mesura aproximativa, Països Catalans, líquids càntir = 12 porró # # mesura aproximativa, Països Catalans, líquids # # unitats de velocitat # [velocitat] nus = nmi/hora # nuc kt = nus # nus velocitat de la llum = 2.99792458e8 m/s mph = milla/hora # milles/hora kph = km/hora # quilòmetres/hora mach = 340.29 m/s # # velocitat del so en condicions estàndard de pressió i temperatura [velocitat de rotació] rpm = rev/min # revolucions/minut rps = rev/seg # revolucions/segon # # unitats de taxa de flux # [flux de fluids] gph = gal/hora # galons/hora gpm = gal/min # galons/minut cfs = peu^3/seg # peus cúbics/segon cfm = peu^3/min # peus cúbics/minut lpm = l/min # litres/minut [flux de gasos] sccm = atm*cc/min # centímetres cúbics en condicions estàndard de pressió i temperatura/minut # presió * flux sccs = atm*cc/seg # centímetres cúbics en condicions estàndard de pressió i temperatura/segon # presió * flux slpm = atm*l/min # litres en condicions estàndard de pressió i temperatura/min # presió * flux slph = atm*l/hora # litres en condicions estàndard de pressió i temperatura/hora # presió * flux scfh = atm*peu^3/hora # peus cúbics en condicions estàndard de pressió i temperatura/hora # presió * flux scfm = atm*peu^3/min # peus cúbics en condicions estàndard de pressió i temperatura/minut # presió * flux # # unitats de pressió # [pressió] Pa = N/m^2 # pascal pascal = Pa hPa = 100 Pa # hectopascal hectopascal = hPa kPa = 1000 Pa # kilopascal kilopascal = kPa quilopascal = kPa # kilopascal MPa = 1000 kPa # megapascal megapascal = MPa GPa = 1000 MPa # gigapascal gigapascal = GPa atm = 101325 Pa # atmosfera estàndard atmosfera = atm # atmosfera estàndard bar = 1e5 Pa mbar = 0.001 bar # mil·libar mil·libar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar quilobar = kilobar # kilobar megabar = 1000 kilobar mm Hg = mm*densitat Hg*gravetat mil·límetre d'Hg = mm Hg torr = mm Hg micró d'Hg = micró*densitat Hg*gravetat polzada d'Hg = polzada*densitat Hg*gravetat # polzada Hg m aigua = m*densitat aigua*gravetat # metre H2O metre d'aigua = m aigua # metre H2O polzada d'aigua = polzada*densitat aigua*gravetat # polzada H2O peu d'aigua = peu*densitat aigua*gravetat psi = lbf/polzada^2 # lliura / polzada quadrada lliura per polzada quadrada = psi ksi = 1000 psi # 1000 lliura / polzada quadrada # # unitats de densitat # [densitat] densitat aigua = gram/cm^3 densitat aigua de mar = 1.025 gram/cm^3 densitat Hg = 13.5950981 gram/cm^3 densitat aire = 1.293 kg/m^3 # # en condicions estàndard de pressió i temperatura densitat acer = 0.283 lliura/polzada^3 # # acer carboni densitat alumini = 0.098 lliura/polzada^3 densitat zinc = 0.230 lliura/polzada^3 densitat llautó = 0.310 lliura/polzada^3 # # 80Cu-20Zn densitat coure = 0.295 lliura/polzada^3 densitat ferro = 0.260 lliura/polzada^3 # # ferro colat densitat níquel = 0.308 lliura/polzada^3 densitat estany = 0.275 lliura/polzada^3 densitat titani = 0.170 lliura/polzada^3 densitat plata = 0.379 lliura/polzada^3 densitat niló = 0.045 lliura/polzada^3 densitat policarbonat = 0.045 lliura/polzada^3 # # unitats d'energia # [energia] joule = N*m J = joule # joule kilojoule = 1000 joule quilojoule = kilojoule # kilojoule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule mil·lijoule = 0.001 joule mJ = mil·lijoule # mil·lijoule caloria = 4.1868 J cal = caloria # caloria kilocaloria = 1000 cal quilocaloria = kilocaloria # kilocaloria kcal = kilocaloria # kilocaloria caloria de menjar = kilocaloria # kilocaloria tèrmia = 1000 kcal Btu = cal*lliura*R/(g*K) # # unitat tèrmica britànica unitat tèrmica britànica = Btu therm = 100000 Btu # # 100000 unitats tèrmiques britàniques erg = cm*dina electró-volt = 1.602176462e-19 J eV = electró-volt # electró-volt kWh = kW*hora # kilowatt hora kilowatt hora = kWh tona TNT = 4.184e9 J equivalent a tona d'oli = 41.868 gigajoule equivalent a tona de carbó = 7000000 kcal # # unitats de potència # [potència] watt = J/s W = watt # watt kilowatt = 1000 W quilowatt = kilowatt # kilowatt kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt mil·liwatt = 0.001 W cavall de potència = 550 peu*lbf/seg # no mètric hp = cavall de potència # cavalls de potència cavall de vapor = 75 kgf*m/s # mètric cv = cavall de vapor # cavalls de vapor tona de refrigeració = 12000 Btu/hora # no mètrica MBH = 1000 Btu/hora # 1000 Btu/hora cavall de potència de bullició = 33475 Btu/hora # # freqüència # [freqüència] hertz = unitat/seg Hz = hertz # hertz mil·lihertz = 0.001 Hz kilohertz = 1000 Hz quilohertz = kilohertz # kilohertz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactivitat # [radioactivitat] becquerel = unitat/seg Bq = becquerel # becquerel curie = 3.7e10 Bq mil·licurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [dosi de radiació] gray = J/kg Gy = gray # gray centigray = 0.01 Gy rad. abs. dose = 0.01 Gy # # normalment rad sievert = J/kg # # dosi equivalent mil·lisievert = 0.001 sievert # # dosi equivalent Sv = sievert # sievert # dosi equivalent rem = 0.01 Sv # # dosi equivalent roentgen mil·lirem = 0.001 rem # # dosi equivalent roentgen # # viscositat # [viscositat dinàmica] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [viscositat cinemàtica] stoke = cm^2/s St = stoke # stoke centistoke = 0.01 stoke cSt = centistoke # centistoke # # unitats diverses # [acceleració] gravetat = 9.80665 m/s^2 galileo = cm/s^2 [constant] constant gravitacional = 6.673e-11 N*m^2/kg^2 constant dels gasos = 8.314472 J/(mol*K) # R [consum de combustible] mpg = mi/gal # miles/galó mpg imp = mi/galó imperial # miles/galó imp litre per 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # no lineal [permeabilitat] darcy = 1 cm^2*centipoise/atm/s mil·lidarcy = 0.001 darcy ConvertAll-0.8.0/data/units_de.dat000066400000000000000000001027011363574405500170220ustar00rootroot00000000000000#***************************************************************************** # units.dat, the units data file, version 0.6.0 # # ConvertAll, a units conversion program # Copyright (C) 2015, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITTHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A python expression may be used for the quantity, but is # resticted to using only the following operators: *, /, +, -, **, (, ). # Beware of integer division truncation: be sure to use a float for at # least one of the values. # # The unit type must be placed in square brackets before a set of units. # The first comment after the equivalent unit will be put in parenthesis after # the unit name (usually used to give the full name of an abbreviated unit). # The next comment will be used in the program list's comment column; # later comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. # For equations, two are given, separated by a ';'. Both are functions of # "x", the first going from the unit to the equivalent unit and the second # one in reverse. Any valid Python expression returning a float (including # the functions in the math module) should work. The equivalency list is a # python list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # mass units # [Masse] kg = ! # Kilogramm Kilogramm = kg Hektogramm = 100 Gramm Dekagramm = 10 Gramm Gramm = 0.001 kg g = Gramm # Gramm Dezigramm = 0.1 Gramm Zentigramm = 0.01 Gramm Milligramm = 0.001 Gramm mg = Milligramm # Milligramm Mikrogramm = 0.001 mg µg = Mikrogramm # Mikrogramm t = 1000 kg # Tonne # metrisch Tonne = t Metrische Tonne = t Megagramm = t Kilotonne = 1000 t # # metrisch Gigagramm = 1e9 g Teragramm = 1e12 g Karat = 0.2 g # # Gewichtsmaß für Edelsteine ct = Karat # Karat # engl. carat amu = 1.66053873e-27 kg # Atomare Masseneinheit atomare Masseneinheit = amu Pfund deutsch = 500 g # # dt. Sprachraum, ugs. pound = 0.45359237 kg # # angloamer. Pfund Pfund = pound # # angloamer. Pfund lb = pound # Pfund # engl. pound lbm = pound # Pfund # engl. pound ounce = 1/16.0 pound # Unze Unze = ounce # # engl. ounce oz = ounce # Unze # engl. ounce lid = ounce # Unze # Drogenslang pound troy = 5760 grain # # angloamer. Apotheker-Pfund lb troy = pound troy # # angloamer. Apotheker-Pfund ounce troy = 1/12.0 lb troy # Feinunze # angloamer. Apotheker-Unze oz troy = ounce troy # Feinunze # angloamer. Apotheker-Unze Feinunze = ounce troy # # Gewichtseinheit für Goldhandel ton = 2000 lb # nicht-metrisch # angloamer. Tonne kiloton = 1000 ton # nicht-metrisch # angloamer. Tonne slug = lbf*s^2/ft hyl = kp*s^2/m # # seit 1978 untersagt stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # britisches Maß hundredweight short = 100 lb Erdmasse = 5.974e24 kg Mondmasse = 7.349e22 kg Sonnenmasse = 1.9891e30 kg # # length / distance units # [Länge] m = ! # Meter Meter = m metre = m Dezimeter = 0.1 m dm = Dezimeter # Dezimeter Zentimeter = 0.01 m cm = Zentimeter # Zentimeter Millimeter = 0.001 m mm = Millimeter # Millimeter Mikrometer = 1e-6 m Mikron = Mikrometer µm = Mikrometer # Mikrometer Nanometer = 1e-9 m nm = Nanometer # Nanometer Dekameter = 10 m Hektometer = 100 m Kilometer = 1000 m km = Kilometer # Kilometer Megameter = 1000 km Ångström = 1e-10 m Angström = Ångström Å = Angström # Ångström fm = 1e-15 m # Femtometer Fermi = fm # # Kerngrößen, veraltet Zoll = 2.54 cm in = Zoll # Zoll # engl. inch inch = Zoll inches = inch mil US = 0.001 inch # # angloamer. Millizoll Mikrozoll = 1e-6 Zoll microinch = Mikrozoll Fuß = 12 Zoll foot = Fuß # Fuß ft = foot # Fuß # engl. foot feet = foot # Fuß foot US survey = 1200/3937.0 m yard = 3 ft # # engl. Schritt yd = yard # Yard # engl. Schritt Schritt = yard Meile = 5280 ft mile = Meile # Meile # brit. Landmeile mi = Meile # Meile # brit. Landmeile Nautische Meile = 1852 m nmi = Nautische Meile # nautische Meile league = 3 mile # # engl. Wegstunde / Landleug Wegstunde = league chain = 66 ft # # Kette(nlänge) fathom = 6 ft # # nautischer Faden Faden = fathom # # nautischer Faden rod = 5.5 yard # # Rute furlong = 40 rod # # Furchenlänge (angloamer.) hand = 4 inch # # angloamer. Höhenmaß für Pferde cubit = 21.8 inch # # biblische Einheit point = 1/72.0 inch # # Punkt im Desktop Publishing pica = 12 point Kaliber = 1.0 inch # # Geschossdurchmesser caliber = Kaliber # # Geschossdurchmesser Footballfeld = 100 yd # # amer. Football Marathondistanz = 46145 yd mil = 10 km # # Metrische/Skandinav. Meile au = 1.49597870691e11 m # Astronomische Einheit Astronomische Einheit = au Lichtjahr = 365.25 Tage * Lichtgeschwindigkeit Lichtminute = Lichtgeschwindigkeit * min Lichtsekunde = Lichtgeschwindigkeit * s Parsec = 3.0856775813e16 m pc = Parsec # Parsec Kiloparsec = 1000 Parsec Megaparsec = 1000 Kiloparsec Schraubenmaß = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # zöllig # Vereinheitlichte Durchmesser, nicht-linear AWG Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # American Wire Gauge \ # US-Maß für Drahtdurchmesser; -1, -2 für 00, 000 benutzen; nicht-linear American Wire Gauge Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # US-Maß für Drahtdurchmesser; -1, -2 für 00, 000 benutzen; nicht-linear Standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # Stahl \ # US-Maß für Dicke von Stahlblechen, nicht-linear Zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # US-Maß für Dicke von Zinkblechen, nicht-linear Ringgröße US = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # Umfang, nicht-linear Schuhgrößen Männer US = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # US-Größen, nicht-linear Schuhgrößen Frauen US = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # US-Größen, nicht-linear Schuhgrößen EU = [cm] (x * 2.0 / 3.0) - 1.5 ; (x + 1.5) * 3.0 / 2.0 \ # # Innenmaß, nicht-linear # # time units # [Zeit] s = ! # Sekunde sec = s # Sekunde Sekunde = s Sekunden = Sekunde ms = 0.001 s # Millisekunde Millisekunde = ms Mikrosekunde = 1e-6 s µs = Mikrosekunde # Mikrosekunde ns = 1e-9 s # Nanosekunde Nanosekunde = ns Minute = 60 s min = Minute # Minute Stunde = 60 min Stunden = Stunde Std = Stunde # Stunde hr = Stunde # Stunde # (lat. hora) Glasen = 30 min # # Schifffahrt Glasenschläge = Glasen # # Schifffahrt Wache = 4 hr # # Schifffahrt Wachen = 4 hr # # Schifffahrt Tag = 24 hr Tage = Tag d = Tag # Tag # (lat. dies) Woche = 7 Tage Wochen = Woche fortnight = 14 Tage # 14 Tage # (engl.) Monat = 1/12.0 Jahr Jahr = 365.242198781 Tage Jahre = Jahr y = Jahr # Jahr # (engl. year) yr = Jahr # Jahr # (engl. year) Kalenderjahr = 365 Tage Dekade = 10 Jahre Jahrzehnt = Dekade Jahrzehnte = Dekade Dezennium = Dekade Jahrhundert = 100 Jahre Centennium = Jahrhundert Hektode = Jahrhundert Jahrhunderte = Jahrhundert Millennium = 1000 Jahre Millennia = Millennium [Zeitplanung] Personenstunde = 168/40.0 Stunden # # auf 40-Std.-Wochen gerechnet Personenstunden = Personenstunde Mannstunde = Personenstunde # # veraltet für "Personenstunde" Mannstunden = Personenstunde # # veraltet für "Personenstunden" Personentag = 8 Personenstunden Personentage = Personentag Manntag = Personentag # # veraltet für "Personentag" Manntage = Personentag # # veraltet für "Personentage" Personenwoche = 5 Personentage Personenwochen = Personenwoche Mannwoche = Personenwoche # # veraltet für "Personenwoche" Mannwochen = Personenwoche # # veraltet für "Personenwochen" Personenmonat = 20 Personentage Personenmonate = Personenmonat Mannmonat = Personenmonat # # veraltet für "Personenmonat" Mannmonate = Personenmonat # # veraltet für "Personenmonate" Personenjahr = 2000 Personenstunden Personenjahre = Personenjahr Mannjahr = Personenjahr # # veraltet für "Personenjahr" Mannjahre = Personenjahr # # veraltet für "Personenjahre" # # temperature # [Temperatur] K = ! # Kelvin Kelvin = K °K = K # Kelvin Grad Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # nicht-linear Celsius = [K] x + 273.15 ; x - 273.15 # # nicht-linear °C = [K] x + 273.15 ; x - 273.15 # Celsius # nicht-linear Grad Celsius = [K] x + 273.15 ; x - 273.15 # # nicht-linear R = 5/9.0 K # Rankine Rankine = R °R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # nicht-linear Fahrenheit = [R] x + 459.67 ; x - 459.67 # # nicht-linear °F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # nicht-linear Grad Fahrenheit = [R] x + 459.67 ; x - 459.67 # # nicht-linear [Temperaturdifferenz] C Grad = K # Grad Celsius Celsius Grad = C Grad F Grad = R # Grad Fahrenheit Fahrenheit Grad = F Grad # # electrical units # [Strom] A = ! # Ampere Ampere = A Milliampere = 0.001 A mA = Milliampere # Milliampere Mikroampere = 0.001 mA Kiloampere = 1000 A kA = Kiloampere # Kiloampere [Ladung] Coulomb = A*s Amperestunde = A*hr Amperestunden = Amperestunde mAh = 0.001 Amperestunde # Milliamperestunde Milliamp hr = mAh [Spannung] Volt = W/A V = Volt # Volt Millivolt = 0.001 Volt mV = Millivolt # Millivolt Kilovolt = 1000 Volt kV = Kilovolt # Kilovolt [Widerstand] Ohm = V/A Ω = Ohm # Ohm Milliohm = 0.001 ohm Mikroohm = 0.001 Milliohm Kiloohm = 1000 ohm [Leitfähigkeit] Siemens = A/V ℧ = Siemens # Mho # veraltet für Siemens ("Ohm" rückwärts) [Kapazität] Farad = Coulomb/V Millifarad = 0.001 Farad Mikrofarad = 0.001 Millifarad Nanofarad = 1e-9 Farad Pikofarad = 1e-12 Farad [Magn. Fluss] Weber = V*s Wb = Weber # Weber Maxwell = 1e-8 Wb [Induktivität] Henry = Wb/A H = Henry # Henry Millihenry = 0.001 Henry mH = Millihenry # Millihenry Mikrohenry = 0.001 mH [Flussdichte] Tesla = Wb/m^2 # T = Tesla # Tesla ### t = metric ton! Gauss = Maxwell/cm^2 Gauß = Gauss # # molecular units # [Molekulare Mengen] mol = ! # Mol Kilomol = 1000 mol kmol = Kilomol # Kilomol pound mole = mol*lbm/gramm # Pfund Mol # engl. lbmol = pound mole # Pfund Mol # engl. pound mole [Größe eines Mol] Avogadrozahl = Gramm/(amu*mol) # # Illumination units # [Lichtstärke] cd = ! # Candela Candela = cd [Lichtstrom] Lumen = cd * sr lm = Lumen # Lumen [Beleuchtungsstärke] lx = Lumen/m^2 # Lux Lux = lx footcandle = Lumen/ft^2 metercandle = lx [Leuchtdichte] Lambert = cd/(pi*cm^2) # # US-Maß la = Lambert # Lambert Millilambert = 0.001 Lambert footlambert = cd/(pi*ft^2) # # Fuß-Lambert (angloamer.) # # angular units # [Winkel] Radian = ! rad = Radian # Radian # Bogengrad Kreis = 2 pi*rad Umdrehung = Kreis rev = Umdrehung # Umdrehung # engl. revolution Grad = 1/360.0 Kreis degree = Grad # Grad # engl. deg = degree # Grad # engl. degree Bogenminute = 1/60.0 Grad arc min = Bogenminute # Bogenminute # engl. arc minute arc minute = Bogenminute # Bogenminute # engl. arc minute min arc = Bogenminute # Bogenminute # engl. minute arc minute arc = Bogenminute # Bogenminute Bogensekunde = 1/60.0 Bogenminute arc sec = Bogensekunde # Bogensekunde # engl. arc second arc second = Bogensekunde # Bogensekunde sec arc = Bogensekunde # Bogensekunde # engl. second arc second arc = Bogensekunde # Bogensekunde Halbkreis = 1/2.0 Kreis Viertelkreis = 1/4.0 Kreis Quadrant = Viertelkreis rechter Winkel = Viertelkreis gon = 0.01 Viertelkreis gradian = gon # gon # engl. Maß # # solid angle units # [Raumwinkel] sr = ! # Steradian Steradian = sr Kugel = 4 pi*sr Halbkugel = 1/2.0 Kugel Hemisphäre = Halbkugel # # information units # [Daten] bit = ! Kilobit = 1000 bit # # basierend auf Basis 10 Megabit = 1000 Kilobit # # basierend auf Basis 10 Nibble = 4 bit Byte = 8 bit Bytes = byte B = byte # Byte Kilobyte = 1024 byte # # basierend auf Basis 2 kB = Kilobyte # Kilobyte # basierend auf Basis 2 Megabyte = 1024 kB # # basierend auf Basis 2 MB = Megabyte # Megabyte # basierend auf Basis 2 Gigabyte = 1024 MB # # basierend auf Basis 2 GB = Gigabyte # Gigabyte # basierend auf Basis 2 Terabyte = 1024 GB # # basierend auf Basis 2 TB = Terabyte # Terabyte # basierend auf Basis 2 petabyte = 1024 TB # # basierend auf Basis 2 PB = petabyte # Petabyte # basierend auf Basis 2 Kilobyte IEC std = 1000 byte # # basierend auf Basis 10 kB IEC std = Kilobyte IEC std # Kilobyte # basierend auf Basis 10 Megabyte IEC std = 1000 kB IEC std # # basierend auf Basis 10 MB IEC std = Megabyte IEC std # Megabyte # basierend auf Basis 10 Gigabyte IEC std = 1000 MB IEC std # # basierend auf Basis 10 GB IEC std = Gigabyte IEC std # Gigabyte # basierend auf Basis 10 Terabyte IEC std = 1000 GB IEC std # # basierend auf Basis 10 TB IEC std = terabyte IEC std # Terabyte # basierend auf Basis 10 petabyte IEC std = 1000 TB IEC std # # basierend auf Basis 10 PB IEC std = petabyte IEC std # Petabyte # basierend auf Basis 10 Kibibyte = 1024 byte KiB = Kibibyte # Kibibyte Mebibyte = 1024 KiB MiB = Mebibyte # Mebibyte Gibibyte = 1024 MiB GiB = Gibibyte # Gibibyte Tebibyte = 1024 GiB TiB = Tebibyte # Tebibyte Pebibyte = 1024 TiB PiB = Pebibyte # Pebibyte [Datenübertragung] bps = bit/sec # Bit/sec kbps = 1000 bps # Kilobit/sec # basierend auf Basis 10 Mbps = 1000 kbps # Megabit/sec # basierend auf Basis 10 Gbps = 1000 Mbps # Gigabit/sec # basierend auf Basis 10 # # Unitless numbers # [Anzahl] unit = !! Stück = unit 1 = Stück # Stück pi = 3.14159265358979323846 Stück # π # Kreiszahl π = pi # # Kreiszahl Paar = 2 Stück hat trick = 3 Stück # # Sport Halbstiege = 10 Stück Dutzend = 12 Stück dozen = Dutzend # Dutzend # engl. Dtz = Dutzend # Dutzend doz = Dutzend # Dutzend # engl. dozen bakers dozen = 13 Stück # # engl. Mandel = 15 Stück Malter = Mandel Große Mandel = 16 Stück Bauernmandel = Große Mandel score = 20 Stück # # engl. Stiege = 20 Stück Steige = Stiege Band = 30 Stück Bund = Band Schock = 5 Dutzend Großschock = 4 Bauernmandel Bauernschock = Großschock Gros = 12 Dutzend gross = Gros # # engl. Großgros = 12 Gros great gross = 12 gross # # engl. ream = 500 Stück # # engl. Prozent = 0.01 Stück percent = Prozent # # engl. % = Prozent Promille = 0.001 Stück mill = 0.001 Stück # # engl. [Verzinsung] APR = [unit] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual percent rate # basierend auf stetiger Verzinsung [Konzentration] proof = 1/200.0 Stück # # Alkoholgehalt ppm = 1e-6 Stück # parts per million # Teile auf eine Million parts per million = ppm # # Teile auf eine Million ppb = 1e-9 Stück # parts per billion # Teile auf eine Milliarde parts per billion = ppb # # Teile auf eine Milliarde ppt = 1e-12 Stück # parts per trillion # Teile auf eine Billion parts per trillion = ppt # # Teile auf eine Billion Karat Gold = 1/24.0 Stück # # Goldreinheit # # force units # [Kraft] Newton = kg*m/s^2 N = Newton # Newton Dekanewton = 10 Newton Kilonewton = 1000 N kN = Kilonewton # Kilonewton Meganewton = 1000 kN Millinewton = 0.001 N dyn = cm*g/s^2 dyne = dyn Kilopond = kg * Erdbeschleunigung kp = Kilopond # Kilopond kg force = Kilopond # Kilopond kgf = Kilopond # Kilopond Pond = g * Erdbeschleunigung gram force = Pond # Pond pound force = lbm * Erdbeschleunigung # # Gewichtskraft eines Pfunds lbf = pound force # pound force # Gewichtskraft eines Pfunds ton force = ton * Erdbeschleunigung # # Gewichtskraft einer angloamer. Tonne ounce force = ounce * Erdbeschleunigung # # Gewichtskraft einer Unze ozf = ounce force # ounce force # Gewichtskraft einer Unze tonne force = Tonne * Erdbeschleunigung # # Gewichtskraft einer metrischen Tonne # # area units # [Fläche] Quadratmeter = m^2 qm = m^2 # Quadratmeter Barn = 1e-28 m^2 # # Teilchenphysik Ar = 100 m^2 are = Ar # # engl. Ar Dekar = 10 Ar Hektar = 100 Ar acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre rai = 1600 m^2 # # Thailändisch ngaan = 400 m^2 # # Thailändisch circular inch = 1/4.0 pi*in^2 # # Fläche eines Kreises mit 1 Zoll Durchmesser circular mil = 1/4.0 pi*mil^2 # # Fläche eines Kreises mit 1 Zoll Durchmesser AWG Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # American Wire Gauge \ # US-Maß für Drahtquerschnitte; -1, -2 für 00, 000 benutzen; nicht-linear American Wire Gauge Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # US-Maß für Drahtquerschnitte; -1, -2 für 00, 000 benutzen; nicht-linear # # volume units # [Volumen] cc = cm^3 # Kubikzentimeter # engl. cubic centimeter Kubikzentimeter = cc Liter = 1000 cc l = Liter # Liter litre = Liter # # engl. Deziliter = 0.1 Liter Zentiliter = 0.01 Liter Milliliter = cc ml = Milliliter # Milliliter Dekaliter = 10 Liter Hektoliter = 100 Liter Kiloliter = 1000 Liter kl = Kiloliter # Kiloliter Megaliter = 1000 Kiloliter gallon = 231 in^3 # Gallone Gallone = gallon # gal = gallon # Gallone quart = 1/4.0 gallon # qt = quart # Quart pint = 1/2.0 quart # pt = pint # Pint fluid ounce = 1/16.0 pint # # Flüssigunze fl oz = fluid ounce # fluid ounce # US ounce fluid = fluid ounce # # US imperial gallon = 4.54609 Liter imp gal = imperial gallon # imperial gallon gallon imperial = imperial gallon imperial quart = 1/4.0 imp gal imp qt = imperial quart # imperial quart quart imperial = imperial quart imperial pint = 1/8.0 imp gal imp pt = imperial pint # imperial pint pint imperial = imperial pint imperial fluid ounce = 1/160.0 imp gal imp fl oz = imperial fluid ounce # imperial fluid ounce cup = 8 fl oz # Tasse # engl. tablespoon = 1/16.0 cup # Esslöffel # engl. tbsp = tablespoon # Esslöffel # engl. tablespoon teaspoon = 1/3.0 tbsp # Teelöffel # engl. tsp = teaspoon # Teelöffel # engl. teaspoon barrel = 42 gallon bbl = barrel # barrel shot = 1.5 fl oz fifth = 1/5.0 gallon # # Alkohol wine bottle = 750 ml magnum = 1.5 Liter # # Alkohol keg = 15.5 gallon # Fass # Bierfass hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # velocity units # [Geschwindigkeit] knot = nmi/hr # Knoten # Schifffahrt kt = knot # Knoten # Schifffahrt, engl. knot Lichtgeschwindigkeit = 2.99792458e8 m/s # # definiert kmh = km/hr # Kilometer/Std Stundenkilometer = kmh # # ugs. für km/h mph = mi/hr # Meilen pro Stunde # engl. miles per hour Mach = 340.29 m/s # # Schallgeschwindigkeit unter Std.bedingungen [Umdrehungsgeschw.] rpm = rev/min # Umdrehungen/min # engl. rounds per min rps = rev/sec # Umdrehungen/sec # engl. rounds per sec Upm = rev/min # Umdrehungen/min Ups = rev/sec # Umdrehungen/sec # # flow rate units # [Flüssigkeitsfluss] gph = gal/hr # Gallonen/Std gpm = gal/min # Gallonen/min cfs = ft^3/sec # cu ft/sec # Kubikfuß pro Sekunde cfm = ft^3/min # cu ft/min # Kubikfuß pro Minute lpm = l/min # Liter/min [Gasfluss] sccm = atm*cc/min # std cc/min # Druck * Fluss sccs = atm*cc/sec # std cc/sec # Druck * Fluss slpm = atm*l/min # std Liter/min # Druck * Fluss slph = atm*l/hr # std Liter/hr # Druck * Fluss scfh = atm*ft^3/hr # std cu ft/hr # Druck * Fluss scfm = atm*ft^3/min # std cu ft/min # Druck * Fluss # # pressure units # [Druck] Pa = N/m^2 # Pascal Pascal = Pa hPa = 100 Pa # Hektopascal Hektopascal = hPa kPa = 1000 Pa # Kilopascal Kilopascal = kPa MPa = 1000 kPa # Megapascal Megapascal = MPa GPa = 1000 MPa # Gigapascal Gigapascal = GPa atm = 101325 Pa # Atmosphäre Atmosphäre = atm Atmosphären = atm Normaldruck = atm # # definiert bar = 1e5 Pa mbar = 0.001 bar # Millibar Millibar = mbar Mikrobar = 0.001 mbar Dezibar = 0.1 bar Kilobar = 1000 bar Megabar = 1000 Kilobar mm Hg = mm*Dichte Hg*Erdgravitation # Millimeter Quecksilbersäule Millimeter Quecksilbersäule = mm Hg Torr = mm Hg in Hg = in*Dichte Hg*Erdgravitation # Zoll Quecksilbersäule Zoll Hg = in Hg # Zoll Quecksilbersäule Zoll Quecksilbersäule = in Hg m Wassersäule = Meter Wassersäule m H2O = Meter Wassersäule # Meter Wassersäule Meter Wassersäule = m*Dichte Wasser*Erdgravitation in water = Zoll Wassersäule # Zoll Wassersäule in H2O = Zoll Wassersäule # Zoll Wassersäule Zoll Wassersäule = in*Dichte Wasser*Erdgravitation ft H2O = Fuß Wassersäule # Fuß Wassersäule Fuß Wassersäule = ft*Dichte Wasser*Erdgravitation foot of head = Fuß Wassersäule # Fuß Wassersäule ft hd = Fuß Wassersäule # Fuß Wassersäule # engl. foot of head ft water = Fuß Wassersäule # Fuß Wassersäule psi = lbf/in^2 # pound per sq inch # Pfund pro Quadratzoll (engl.) pound per sq inch = psi ksi = 1000 psi # kilopound per sq inch # Kilopfund pro Quadratzoll (engl. 1000 lb / sq inch) # # density units # [Dichte] Dichte Wasser = g/cm^3 Dichte Seewasser = 1.025 g/cm^3 Dichte Hg = 13.5950981 g/cm^3 # Quecksilber Dichte Quecksilber = Dichte Hg Dichte Luft = 1.293 kg/m^3 # # unter Standardbedingungen Dichte Stahl = 0.283 lb/in^3 # # Kohlenstoffstahl Dichte Aluminium = 0.098 lb/in^3 Dichte Zink = 0.230 lb/in^3 Dichte Messing = 0.310 lb/in^3 # # 80Cu-20Zn Dichte Kupfer = 0.295 lb/in^3 Dichte Eisen = 0.260 lb/in^3 # # Gusseisen Dichte Nickel = 0.308 lb/in^3 Dichte Zinn = 0.275 lb/in^3 Dichte Titan = 0.170 lb/in^3 Dichte Silber = 0.379 lb/in^3 Dichte Nylon = 0.045 lb/in^3 Dichte Polykarbonat = 0.045 lb/in^3 # # energy units # [Energie] Joule = N*m J = Joule # Joule Kilojoule = 1000 Joule kJ = Kilojoule # Kilojoule Megajoule = 1000 Kilojoule Gigajoule = 1000 Megajoule Millijoule = 0.001 Joule mJ = Millijoule # Millijoule Kalorie = 4.1868 J Kalorien = Kalorie cal = Kalorie # Kalorie Kilokalorie = 1000 Kalorie kcal = Kilokalorie # Kilokalorie Kalorien in Nahrung = Kilokalorie # Kilokalorie thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal unit British thermal unit = Btu therm = 100000 Btu erg = cm*dyne Elektronenvolt = 1.602176462e-19 J eV = Elektronenvolt # Elektronenvolt kWh = kW*hr # Kilowattstunde Kilowattstunde = kWh Tonne TNT = 4.184e9 J Tonne Erdöläquivalent = 41.868 Gigajoule Tonne Kohleäquivalent = 7000000 kcal # # power units # [Leistung] Watt = J/s W = Watt # Watt Kilowatt = 1000 W kW = Kilowatt # Kilowatt Megawatt = 1000 kW MW = Megawatt # Megawatt Gigawatt = 1000 MW GW = Gigawatt # Gigawatt Milliwatt = 0.001 W PS = 735.49875 W # Pferdestärke Pferdestärke = PS horsepower = 550 ft*lbf/sec # engl. Pferdestärke hp = horsepower # engl. Pferdestärke # engl. horsepower metric horsepower = 75 kgf*m/s # Pferdestärke ton refrigeration = 12000 Btu/hr # # amer. Einheit für Kühlleistung # # frequency # [Frequenz] Hertz = unit/sec Hz = Hertz # Hertz Millihertz = 0.001 Hz Kilohertz = 1000 Hz kHz = Kilohertz # Kilohertz Megahertz = 1000 kHz MHz = Megahertz # Megahertz Gigahertz = 1000 MHz GHz = Gigahertz # Gigahertz # # radioactivity # [Radioaktivität] Becquerel = unit/sec Bq = Becquerel # Becquerel Curie = 3.7e10 Bq Millicurie = 0.001 Curie Roentgen = 2.58e-4 Coulomb/kg Röntgen = Roentgen [Strahlungsdosis] Gray = J/kg Gy = Gray # Gray rad Dosis = 0.01 Gy # # Sievert = J/kg # # Äquivalentdosis Millisievert = 0.001 Sievert # # Äquivalentdosis Sv = Sievert # Sievert # Äquivalentdosis rem = 0.01 Sv # # Äquivalentdosis, veraltet Millirem = 0.001 rem # # Äquivalentdosis, veraltet # # viscosity # [dyn. Viskosität] Poise = g/(cm*s) P = Poise # Poise Zentipoise = 0.01 Poise cP = Zentipoise # Zentipoise [kinem. Viskosität] Stokes = cm^2/s St = Stokes # Stokes Zentistokes = 0.01 Stokes cSt = Zentistokes # Zentistokes # # misc. units # [Beschleunigung] Erdbeschleunigung = 9.80665 m/s^2 # # Mittelwert, internat. Konvention Erdschwerebeschleunigung = Erdbeschleunigung Erdgravitation = Erdbeschleunigung Gravitation = Erdbeschleunigung # Erdbeschleunigung [Konstanten] Gravitationskonstante = 6.673e-11 N*m^2/kg^2 Gaskonstante = 8.314472 J/(mol*K) # R [Benzinverbrauch] Meilen pro Gallone = mi/gal mpg = Meilen pro Gallone # Meilen pro Gallone mpg imp = mi/gallon imperial # Meilen pro Gallone (brit.) Liter pro 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # non-linear [Permeabilität] Darcy = 1 cm^2*Zentipoise/atm/s Millidarcy = 0.001 Darcy ConvertAll-0.8.0/data/units_es.dat000066400000000000000000000667641363574405500170630ustar00rootroot00000000000000#***************************************************************************** # units.dat, el archivo de datos de unidad, versión 0.6.0 # # ConvertAll, un programa para convertir unidades # Copyright (C) 2015, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITTHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A python expression may be used for the quantity, but is # resticted to using only the following operators: *, /, +, -, **, (, ). # Beware of integer division truncation: be sure to use a float for at # least one of the values. # # The unit type must be placed in square brackets before a set of units. # The first comment after the equivalent unit will be put in parenthesis after # the unit name (usually used to give the full name of an abbreviated unit). # The next comment will be used in the program list's comment column; # later comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. # For equations, two are given, separated by a ';'. Both are functions of # "x", the first going from the unit to the equivalent unit and the second # one in reverse. Any valid Python expression returning a float (including # the functions in the math module) should work. The equivalency list is a # python list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # unidades de masa # [masa] kg = ! # kilogramo kilogramo = kg key = kg # # jerga de drogas hectogramo = 100 gramo decagramo = 10 gramo gramo = 0.001 kg g = gramo # gramo decigramo = 0.1 gramo centigramo = 0.01 gramo miligramo = 0.001 gramo mg = miligramo # miligramo microgramo = 0.001 mg tonelada = 1000 kg # # métrica tonelada métrica = tonelada megagramo = tonelada kilotonelada = 1000 tonelada # # métrica gigagramo = 1e9 gramo teragramo = 1e12 gramo carat = 0.2 gramo ct = carat # carat amu = 1.66053873e-27 kg # masa atómica unidad de masa atómica = amu libra = 0.45359237 kg lb = libra # libra lbm = libra # libra onza = 1/16.0 libra oz = onza # onza lid = onza # # jerga de drogas libra troy = 5760 grain lb troy = libra troy # libra troy onza troy = 1/12.0 lb troy oz troy = onza troy # onza troy ton = 2000 lb # # no métrico kilotón = 1000 ton # # no métrico slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # Imperial hundredweight short = 100 lb # # US & Canadá masa solar = 1.9891e30 kg # # unidades de longitud / distancia # [longitud] m = ! # metro metro = m metre = m decímetro = 0.1 m cm = 0.01 m # centímetro centímetro = cm mm = 0.001 m # milímetro milímetro = mm micrómetro = 1e-6 m micrón = micrómetro nanómetro = 1e-9 m nm = nanómetro # nanómetro decámetro = 10 m hectómetro = 100 m km = 1000 m # kilómetro kilómetro = km megámetro = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # tamaño nuclear pulgada = 2.54 cm in = pulgada # pulgada pulgadas = pulgada mil = 0.001 pulgada micropulgada = 1e-6 pulgada micropulgadas = micropulgada pie = 12 pulgada ft = pie # pie pies = pie pie US survey = 1200/3937.0 m yarda = 3 ft yd = yarda # yarda milla = 5280 ft mi = milla # milla milla náutica = 1852 m nmi = milla náutica # milla náutica legua = 3 milla chain = 66 ft braza = 6 ft rod = 5.5 yarda furlong = 40 rod estadio = furlong mano = 4 pulgada codo = 21.8 pulgada # # unidad bíblica point = 1/72.0 pulgada # # punto de carácter tipográfico pica = 12 point calibre = 1.0 pulgada # # tamaño de una bala football field = 100 yd marathon = 46145 yd milla escandinava = 10 km au = 1.49597870691e11 m # unidad astronómica unidad astronómica = au año luz = 365.25 velocidad de la luz * día minuto luz = velocidad de la luz * min segundo luz = velocidad de la luz * s parsec = 3.0856775813e16 m kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec screw size = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # Diámetro unificado, no linear AWG Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # use -1, -2 for 00, 000; non-linear standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # steel \ # Manufacturers Std. Gauge, non-linear zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # sheet metal thickness, non-linear ring size = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # US size, circum., non-linear tamaño de zapato para hombres = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # medida US, no linear tamaño de zapato para mujeres = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # medida US, no linear # # unidades de tiempo # [tiempo] s = ! # segundo seg = s # segundo segundo = s ms = 0.001 s # milisegundo milisegundo = ms microsegundo = 1e-6 s ns = 1e-9 s # nanosegundo nanosegundo = ns minuto = 60 s min = minuto # minuto hora = 60 min hr = hora # hora bell = 30 min # # definición naval watch = 4 hora watches = watch día = 24 hr semana = 7 día wk = semana # semana fortnight = 14 días mes = 1/12.0 año año = 365.242198781 día años = año yr = año # año año calendario = 365 día década = 10 año siglo = 100 año siglos = siglo milenio = 1000 año milenios = milenio [planificación] horas hombre = 168/40.0 hora semanas hombre = 40 horas hombre meses hombre = 1/12.0 años hombre años hombre = 52 semanas hombre # # temperatura # [temperatura] K = ! # Kelvin Kelvin = K deg K = K # Kelvin grado Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # no linear Celsius = [K] x + 273.15 ; x - 273.15 # # no linear deg C = [K] x + 273.15 ; x - 273.15 # Celsius # no linear grado Celsius = [K] x + 273.15 ; x - 273.15 # # no linear R = 5/9.0 K # Rankine Rankine = R deg R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # no linear Fahrenheit = [R] x + 459.67 ; x - 459.67 # # no linear deg F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # no linear grado Fahrenheit = [R] x + 459.67 ; x - 459.67 # # no linear [temp. diff.] C deg = K # grados Celsius grados Celsius = C deg F deg = R # grados Fahrenheit grados Fahrenheit = F deg # # unidades eléctricas # [corriente] A = ! # ampere ampere = A amp = A amperio = A miliamperio = 0.001 A miliamp = miliamperio mA = miliamperio # miliamperio microamperio = 0.001 mA kiloamperio = 1000 A kA = kiloamperio # kiloamperio [carga] coulomb = A*s amp hora = A*hr mAh = 0.001 amp hora # miliamp hora miliamp hora = mAh [potencial] voltio = W/A V = voltio # voltio milivoltio = 0.001 voltio mV = milivoltio # milivoltio kilovoltio = 1000 voltio kV = kilovoltio # kilovoltio [resistencia] ohm = V/A miliohm = 0.001 ohm microhm = 0.001 miliohm kilohm = 1000 ohm [conductancia] siemens = A/V [capacitancia] farad = coulomb/V milifarad = 0.001 farad microfarad = 0.001 milifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [flujo magnético] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [inductancia] henry = Wb/A H = henry # henry milihenry = 0.001 henry mH = milihenry # milihenry microhenry = 0.001 mH [densidad de flujo] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # unidades moleculares # [cantidades moleculares] mol = ! # mole # gramo mole mole = mol # # gramo mole gramo mole = mol kilomol = 1000 mol kmol = kilomol # kilomol libra mole = mol*lbm/gramo lbmol = libra mole # libra mole [tamaño de un mol] avogadro = gramo/(amu*mol) # # Unidades de iluminación # [intensidad de iluminación] cd = ! # candela candela = cd [flujo luminoso] lumen = cd * sr lm = lumen # lumen [iluminancia] lux = lumen/m^2 footcandle = lumen/ft^2 metercandle = lumen/m^2 [luminancia] lambert = cd/(pi*cm^2) mililambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # unidades angulares # [ángulo] radián = ! rad = radián # radián círculo = 2 pi*radián giro = círculo revolución = círculo rev = revolución # revolución grado = 1/360.0 círculo deg = grado # grado arc min = 1/60.0 grado # minuto arc minute = arc min min arc = arc min # minuto minute arc = arc min arc seg = 1/60.0 arc min # segundo arc segundo = arc seg seg arc = arc seg # segundo segundo arc = arc seg cuadrante = 1/4.0 círculo ángulo recto = cuadrante gradián = 0.01 cuadrante # # unidades de ángulo sólido # [ángulo sólido] sr = ! # estereorradián estereorradián = sr esfera = 4 pi*sr hemiesfera = 1/2.0 esfera # # unidades de información # [datos] bit = ! kilobit = 1000 bit # # basado en potencias de 10 megabit = 1000 kilobit # # basado en potencias de 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # basado en potencias de 2 kB = kilobyte # kilobyte # basado en potencias de 2 megabyte = 1024 kB # # basado en potencias de 2 MB = megabyte # megabyte # basado en potencias de 2 gigabyte = 1024 MB # # basado en potencias de 2 GB = gigabyte # gigabyte # basado en potencias de 2 terabyte = 1024 GB # # basado en potencias de 2 TB = terabyte # terabyte # basado en potencias de 2 petabyte = 1024 TB # # basado en potencias de 2 PB = petabyte # petabyte # basado en potencias de 2 kilobyte IEC std = 1000 byte # # basado en potencias de 10 kB IEC std = kilobyte IEC std # kilobyte # basado en potencias de 10 megabyte IEC std = 1000 kB IEC std # # basado en potencias de 10 MB IEC std = megabyte IEC std # megabyte # basado en potencias de 10 gigabyte IEC std = 1000 MB IEC std # # basado en potencias de 10 GB IEC std = gigabyte IEC std # gigabyte # basado en potencias de 10 terabyte IEC std = 1000 GB IEC std # # basado en potencias de 10 TB IEC std = terabyte IEC std # terabyte # basado en potencias de 10 petabyte IEC std = 1000 TB IEC std # # basado en potencias de 10 PB IEC std = petabyte IEC std # petabyte # basado en potencias de 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [transferencia de datos] bps = bit/seg # bits / segundo kbps = 1000 bps # kilobits / sec. # basado en potencias de 10 # # Números sin unidades # [cantidad] unidad = !! 1 = unidad # unidad pi = 3.14159265358979323846 unidad par = 2 unidad hat trick = 3 unidad # # deportes docena = 12 unidad doz = docena # docena bakers dozen = 13 unidad score = 20 unidad gross = 144 unidad great gross = 12 gross ream = 500 unidad porciento = 0.01 unidad % = porciento mill = 0.001 unidad [tasa de interés] APR = [unidad] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual % rate # based on continuous compounding [concentración] proof = 1/200.0 unidad # # contenido alcohólico ppm = 1e-6 unidad # partes por millón partes por millón = ppm ppb = 1e-9 unidad # partes por billón (US: en realidad es millardo) partes por billón = ppb ppt = 1e-12 unidad # partes por trillón (US: en realidad es billón) partes por trillón = ppt karat = 1/24.0 unidad # # pureza del oro carat oro = karat # # pureza del oro # # unidades de fuerza # [fuerza] newton = kg*m/s^2 N = newton # newton decanewton = 10 newton kilonewton = 1000 N kN = kilonewton # kilonewton meganewton = 1000 kN milinewton = 0.001 N dyna = cm*g/s^2 kg fuerza = kg * gravedad # kilogramo f kgf = kg fuerza # kilogramo fuerza kilogramo fuerza = kg fuerza gramo fuerza = g * gravedad libra fuerza = lbm * gravedad lbf = libra fuerza # libra fuerza ton fuerza = ton * gravedad onza fuerza = onza * gravedad ozf = onza fuerza # onza fuerza tonelada fuerza = tonelada * gravedad # # métrica # # unidades de área # [área] barn = 1e-28 m^2 # # física de partículas área = 100 m^2 decaárea = 10 área dekare = 10 área hectárea = 100 área acre = 10 chain^2 section = milla^2 township = 36 section homestead = 160 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai pulgada circular = 1/4.0 pi*in^2 # # área de un círculo de 1 pulgada de diámetro milla circular = 1/4.0 pi*mil^2 # # área de un círculo de 1 milla de diámetro AWG Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # use -1, -2 for 00, 000; non-linear # # unidades de volumen # [volumen] cc = cm^3 # centímetro cúbico centímetro cúbico = cc litro = 1000 cc l = litro # litro litros = litro decilitro = 0.1 litro centilitro = 0.01 litro mililitro = cc ml = mililitro # mililitro decalitro = 10 litro hectolitro = 100 litro kilolitro = 1000 litro kl = kilolitro # kilolitro megalitro = 1000 kilolitro galón = 231 in^3 # # líquidos en US gal = galón # galón # líquidos en US quart = 1/4.0 galón # # líquidos en US qt = quart # quart # líquidos en US pint = 1/2.0 quart # # líquidos en US pt = pint # pint # líquidos en US onza líquida = 1/16.0 pint # # US fl oz = onza líquida # onza líquida # US galón imperial = 4.54609 litro imp gal = galón imperial # galón imperial imperial galón = galón imperial cuarto imperial = 1/4.0 imp gal imp qt = cuarto imperial # cuarto imperial imperial cuarto = cuarto imperial imperial pinta = 1/8.0 imp gal imp pt = imperial pinta # pinta imperial pinta imperial = imperial pinta onza líquida imperial = 1/160.0 imp gal imp fl oz = onza líquida imperial # onza líquida imperial taza = 8 fl oz cuchara de mesa = 1/16.0 taza tbsp = cuchara de mesa # cuchara de mesa cuchara de té = 1/3.0 tbsp tsp = cuchara de té # cuchara de té barril = 42 galón bbl = barril # barril shot = 1.5 fl oz fifth = 1/5.0 galón # # alcohol botella de vino = 750 ml magnum = 1.5 litro # # alcohol keg = 15.5 galón # # cerveza hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # unidades de velocidad # [velocidad] nudo = nmi/hr kt = nudo # nudo velocidad de la luz = 2.99792458e8 m/s mph = mi/hr # millas/hora kph = km/hr # kilómetros/hora mach = 340.29 m/s # # velocidad del sonido a STP [velocidad de rotación] rpm = rev/min # rev/min rps = rev/seg # rev/seg # # unidades de flujo # [unidades de flujo] gph = gal/hr # galón/hora gpm = gal/min # galón/minuto cfs = ft^3/seg # cu ft/segundo cfm = ft^3/min # cu ft/minuto lpm = l/min # litro/min [flujo de gas] sccm = atm*cc/min # std cc/min # presión * flujo sccs = atm*cc/seg # std cc/seg # presión * flujo slpm = atm*l/min # std litro/min # presión * flujo slph = atm*l/hr # std litro/hora # presión * flujo scfh = atm*ft^3/hora # std cu ft/hora # presión * flujo scfm = atm*ft^3/min # std cu ft/min # presión * flujo # # unidades de presión # [presión] Pa = N/m^2 # pascal pascal = Pa hPa = 100 Pa # hectopascal hectopascal = hPa kPa = 1000 Pa # kilopascal kilopascal = kPa MPa = 1000 kPa # megapascal megapascal = MPa GPa = 1000 MPa # gigapascal gigapascal = GPa atm = 101325 Pa # atmósfera atmósfera = atm bar = 1e5 Pa mbar = 0.001 bar # milibar milibar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*densidad Hg*gravedad milímetro de Hg = mm Hg torr = mm Hg in Hg = in*densidad Hg*gravedad # pulgadas de Hg pulgadas de Hg = in Hg m agua = m*densidad agua*gravedad # metros de H2O m H2O = m agua # metros de H2O metros de agua = m agua in de agua = in*densidad agua*gravedad # pulgadas de H2O in H2O = in de agua # pulgadas de H2O pulgadas de agua = in de agua ft de agua = ft*densidad agua*gravedad # pies de H2O ft H2O = ft de agua # pies de H20 pies de agua = ft de agua pies de head = ft de agua ft hd = ft de agua # pies de head psi = lbf/in^2 # libra / pulgada cuadrada libra por pulgada cuadrada = psi ksi = 1000 psi # 1000 lb / pulgada cuadrada # # unidades de densidad # [densidad] densidad agua = gramo/cm^3 densidad agua de mar = 1.025 gramo/cm^3 densidad Hg = 13.5950981 gramo/cm^3 densidad aire = 1.293 kg/m^3 # # a STP densidad acero = 0.283 lb/in^3 # # acero al carbón densidad aluminio = 0.098 lb/in^3 densidad zinc = 0.230 lb/in^3 densidad bronce = 0.310 lb/in^3 # # 80Cu-20Zn densidad cobre = 0.295 lb/in^3 densidad hierro = 0.260 lb/in^3 # # hierro colado densidad nickel = 0.308 lb/in^3 densidad estaño = 0.275 lb/in^3 densidad titanio = 0.170 lb/in^3 densidad plata = 0.379 lb/in^3 densidad nylon = 0.045 lb/in^3 densidad polycarbonato = 0.045 lb/in^3 # # unidades de energía # [energía] joule = N*m J = joule # joule kilojoule = 1000 joule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule milijoule = 0.001 joule mJ = milijoule # milijoule caloría = 4.1868 J cal = caloría # caloría kilocaloría = 1000 cal kcal = kilocaloría # kilocaloría caloría comida = kilocaloría thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal unit British thermal unit = Btu therm = 100000 Btu erg = cm*dyna electronvolt = 1.602176462e-19 J eV = electronvolt # electronvolt kWh = kW*hora # kilowatt-hora kilowatt hora = kWh ton TNT = 4.184e9 J tonelada de aceite equivalente = 41.868 gigajoule tonelada de carbón equivalente = 7000000 kcal # # unidades de potencia # [potencia] watt = J/s W = watt # watt kilowatt = 1000 W kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt miliwatt = 0.001 W caballo de fuerza = 550 ft*lbf/seg caballo de potencia = caballo de fuerza hp = caballo de fuerza # caballo de fuerza caballo de fuerza métrico = 75 kgf*m/s ton refrigeración = 12000 Btu/hr # # frecuencia # [frecuencia] hertz = unidad/seg Hz = hertz # hertz milihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactividad # [radioactividad] becquerel = unidad/seg Bq = becquerel # becquerel curie = 3.7e10 Bq milicurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [dosis de radiación] gray = J/kg Gy = gray # gray rad. abs. dose = 0.01 Gy # # comúnmente rad sievert = J/kg # # dosis equivalente milisievert = 0.001 sievert # # dosis equivalente Sv = sievert # sievert # dosis equivalente rem = 0.01 Sv # # roentgen equiv mamífero milirem = 0.001 rem # # roentgen equiv mamífero # # viscosidad # [viscosidad dinámica] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [viscosidad cinemática] stokes = cm^2/s St = stokes # stokes centistokes = 0.01 stokes cSt = centistokes # centistokes # # unidades misceláneas # [aceleración] gravedad = 9.80665 m/s^2 [constante] constante gravitacional = 6.673e-11 N*m^2/kg^2 constante de los gases = 8.314472 J/(mol*K) # R [consumo de combustible] mpg = mi/gal # millas/galón mpg imp = mi/galón imperial # millas/galón imp litro por 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # non-linear [permeabilidad] darcy = 1 cm^2*centipoise/atm/s milidarcy = 0.001 darcy ConvertAll-0.8.0/data/units_fr.dat000066400000000000000000000632711363574405500170510ustar00rootroot00000000000000#***************************************************************************** # units.dat, the units data file, version 0.6.0 # # ConvertAll, a units conversion programme # Copyright (C) 2014, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This programme is # distributed in the hope that it will be useful, but WITTHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A python expression may be used for the quantity, but is # resticted to using only the following operators: *, /, +, -, **, (, ). # Beware of integer division truncation: be sure to use a float for at # least one of the values. # # The unit type must be placed in square brackets before a set of units. # The first comment after the equivalent unit will be put in parenthesis after # the unit name (usually used to give the full name of an abbreviated unit). # The next comment will be used in the programme list's comment column; # later comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. # For equations, two are given, separated by a ';'. Both are functions of # "x", the first going from the unit to the equivalent unit and the second # one in reverse. Any valid Python expression returning a float (including # the functions in the math module) should work. The equivalency list is a # python list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # mass units # [masse] kg = ! # kilogramme kilogramme = kg key = kg # # jargon de drogue hectogramme = 100 gramme decagramme = 10 gramme gramme = 0.001 kg g = gramme # gramme decigramme = 0.1 gramme centigramme = 0.01 gramme milligramme = 0.001 gramme mg = milligramme # milligramme microgramme = 0.001 mg tonne = 1000 kg # # metriqu tonne metrique = tonne megagramme = tonne kilotonne = 1000 tonne # # metrique gigagramme = 1e9 gramme teragramme = 1e12 gramme carat = 0.2 gramme ct = carat # carat amu = 1.66053873e-27 kg # masse atomique masse atomique = amu livre = 0.45359237 kg lb = livre # livres lbm = livre # livres once = 1/16.0 livre oz = once # once lid = once # # jargon de drogue livre troy = 5760 grain lb troy = livre troy # livre troy once troy = 1/12.0 lb troy oz troy = once troy # once troy ton = 2000 lb # # impériale kiloton = 1000 ton # # impériale slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain masse solaire = 1.9891e30 kg # # length / distance units # [longueur] m = ! # mètre mètre = m decimètre = 0.1 m cm = 0.01 m # centimètre centimètre = cm mm = 0.001 m # millimètre millimètre = mm micromètre = 1e-6 m micron = micromètre nanomètre = 1e-9 m nm = nanomètre # nanomètre decamètre = 10 m hectomètre = 100 m km = 1000 m # kilomètre kilomètre = km megamètre = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # grandeur nucléaire pouce = 2.54 cm in = pouce # pouce inches = pouce mil = 0.001 pouce microinch = 1e-6 pouce microinches = microinch pied = 12 pouce ft = pied # pied feet = pied pied US survey = 1200/3937.0 m verge = 3 ft yd = verge # verge mile = 5280 ft mi = mile # mille nautical mile = 1852 m nmi = nautical mile # mille nautique league = 3 mile chain = 66 ft brasse = 6 ft fm = brasse perche = 5.5 verge furlong = 40 perche main = 4 pouce cubit = 21.8 pouce # # coudée biblique point = 1/72.0 pouce # # point de caractère pica = 12 point calibre = 1.0 pouce # # calibre d'une arme terrain de football = 100 yd marathon = 46145 yd mille suedois = 10 km ua = 1.49597870691e11 m # unité astronomique unite astronomique = ua annee lumiere = 365.25 vitesse lumiere * jour minute lumiere = vitesse lumiere * min seconde lumiere = vitesse lumiere * s parsec = 3.0856775813e16 m kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec screw size = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # Diamètre unifié, non linéaire AWG = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # Diamètre de câble électrique \ # utilisé -1, -2 for 00, 000; non linéaire American Wire Gauge = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # utilisé -1, -2 for 00, 000; non linéaire standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # acier \ # Diamètre standard, non linéaire zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # épaisseur de la feuille de métal, non linéaire taille bague = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # Taille américaine, circ., non linéaire grandeur soulier homme = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # Taille américainre, non linéaire grandeur soulier femme = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # Taille américainre, non linéaire # # unités de temps # [temps] s = ! # seconde sec = s # seconde seconde = s ms = 0.001 s # milliseconde milliseconde = ms microseconde = 1e-6 s ns = 1e-9 s # nanoseconde nanoseconde = ns minute = 60 s min = minute # minute heure = 60 min hr = heure # heure bell = 30 min # # définition nautique watch = 4 heure watches = watch jour = 24 hr semaine = 7 jour wk = semaine # semaine fortnight = 14 jour mois = 1/12.0 annee annee = 365.242198781 jour yr = annee # année annee calendrier = 365 jour decennie = 10 annee siecle = 100 annee siecles = siecle millenaire = 1000 annee millennia = millenaire [horaire] man heure = 168/40.0 heure man week = 40 man heure man month = 1/12.0 man year man year = 52 man week # # température # [temperature] K = ! # Kelvin Kelvin = K deg K = K # Kelvin degree Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # non linéaire Celsius = [K] x + 273.15 ; x - 273.15 # # non linéaire deg C = [K] x + 273.15 ; x - 273.15 # Celsius # non linéaire degre Celsius = [K] x + 273.15 ; x - 273.15 # # non linéaire R = 5/9.0 K # Rankine Rankine = R deg R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non linéaire Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non linéaire deg F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non linéaire degree Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non linéaire [temp. diff.] C deg = K # degré Celsius Celsius degree = C deg F deg = R # degré Fahrenheit Fahrenheit degree = F deg # # electrical units ## [intensité du courrant] A = ! # ampère ampère = A amp = A milliampère = 0.001 A milliamp = milliampère mA = milliampère # milliamèpre microampère = 0.001 mA kiloampère = 1000 A kA = kiloampère # kiloampère [charge] coulomb = A*s amp heure = A*hr mAh = 0.001 amp heure # miliampère-heure milliamp heure = mAh [voltage] volt = W/A V = volt # volt millivolt = 0.001 volt mV = millivolt # millivolt kilovolt = 1000 volt kV = kilovolt # kilovolt [resistance] ohm = V/A milliohm = 0.001 ohm microhm = 0.001 milliohm kilohm = 1000 ohm [conductance] siemens = A/V [capacité] farad = coulomb/V millifarad = 0.001 farad microfarad = 0.001 millifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [flux mag.] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [inductance] henry = Wb/A H = henry # henry millihenry = 0.001 henry mH = millihenry # millihenry microhenry = 0.001 mH [flux de densité] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # molecular units # [quantité moléculaire] mol = ! # mole # masse molaire mole = mol # # masse molaire gramme mole = mol kilomole = 1000 mol kmol = kilomole # kilomole livre mole = mol*lbm/gramme lbmol = livre mole # mole-livres [nombre d'atomes] avogadro = gramme/(amu*mol) # # Illumination units # [lum. intens.] cd = ! # candela candela = cd [flux lumineux] lumen = cd * sr lm = lumen # lumen [illuminance] lux = lumen/m^2 footcandle = lumen/ft^2 mètrecandle = lumen/m^2 [luminance] lambert = cd/(pi*cm^2) millilambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # angular units # [angle] radian = ! rad = radian # radian cercle = 2 pi*radian tour = cercle revolution = cercle rev = revolution # tour degre = 1/360.0 cercle deg = degre # degré arc min = 1/60.0 degre # minute arc minute = arc min min arc = arc min # minute minute arc = arc min arc sec = 1/60.0 arc min # seconde arc seconde = arc sec sec arc = arc sec # seconde seconde arc = arc sec quadrant = 1/4.0 cercle right angle = quadrant gradian = 0.01 quadrant # # solid angle units # [angle dans les solides] sr = ! # stéradian steradian = sr sphère = 4 pi*sr hemisphère = 1/2.0 sphère # # information units # [données informatiques] bit = ! kilobit = 1000 bit # # en base 10 megabit = 1000 kilobit # # en base 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # en binaire kB = kilobyte # kilobyte # en binaire megabyte = 1024 kB # # en binaire MB = megabyte # megabyte # en binaire gigabyte = 1024 MB # # en binaire GB = gigabyte # gigabyte # en binaire terabyte = 1024 GB # # en binaire TB = terabyte # terabyte # en binaire petabyte = 1024 TB # # en binaire PB = petabyte # petabyte # en binaire kilobyte IEC std = 1000 byte # # en base 10 kB IEC std = kilobyte IEC std # kilobyte # en base 10 megabyte IEC std = 1000 kB IEC std # # en base 10 MB IEC std = megabyte IEC std # megabyte # en base 10 gigabyte IEC std = 1000 MB IEC std # # en base 10 GB IEC std = gigabyte IEC std # gigabyte # en base 10 terabyte IEC std = 1000 GB IEC std # # en base 10 TB IEC std = terabyte IEC std # terabyte # en base 10 petabyte IEC std = 1000 TB IEC std # # en base 10 PB IEC std = petabyte IEC std # petabyte # en base 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [transfert de donnée] bps = bit/sec # bits / seconde kbps = 1000 bps # kilobits / sec. # en base 10 # # Unitless numbers # [quantitée] unite = !! 1 = unite # unité pi = 3.14159265358979323846 unite paire = 2 unite tour du chapeau = 3 unite # # sports douzaine = 12 unite doz = douzaine # douzaine trieze à la douzaine = 13 unite score = 20 unite grosse = 144 unite grande grosse = 12 grosse ream = 500 unite pourcent = 0.01 unite % = pourcent millieme = 0.001 unite [taux d'intérêt] APR = [unite] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual % rate # based on continuous comlivreing [concentration] proof = 1/200.0 unite # # contenant d'alcool ppm = 1e-6 unite # parties par million partie par million = ppm ppb = 1e-9 unite # parties par milliard partie par milliard = ppb ppt = 1e-12 unite # parties par billion partie par billion = ppt karat = 1/24.0 unite # # pureté de l'or carat d'or = karat # # pureté de l'or # # force units # [force] newton = kg*m/s^2 N = newton # newton dekanewton = 10 newton kilonewton = 1000 N kN = kilonewton # kilonewton meganewton = 1000 kN millinewton = 0.001 N dyne = cm*g/s^2 kg force = kg * acceleration gravitationnelle # kilogramme-force kgf = kg force # kilogramme-force kilogramme force = kg force gramme force = g * acceleration gravitationnelle livre force = lbm * acceleration gravitationnelle lbf = livre force # livres-force tonne force = tonne * acceleration gravitationnelle once force = once * acceleration gravitationnelle ozf = once force # once-force # # area units # [aire] barn = 1e-28 m^2 # # physique des particules are = 100 m^2 decare = 10 are dekare = 10 are hectare = 100 are acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai circular pouce = 1/4.0 pi*in^2 # # cercle d'un pouce de surface circular mil = 1/4.0 pi*mil^2 # # cercle d'un mille de surface # # volume units # [volume] cc = cm^3 # centimètre cube centimètre cube = cc litre = 1000 cc l = litre # litre liter = litre decilitre = 0.1 litre centilitre = 0.01 litre millilitre = cc ml = millilitre # millilitre dekalitre = 10 litre hectolitre = 100 litre kilolitre = 1000 litre kl = kilolitre # kilolitre megalitre = 1000 kilolitre gallon = 231 in^3 # # US liquide gal = gallon # gallon # US liquide quart = 1/4.0 gallon # # US liquide qt = quart # litre # US liquide pint = 1/2.0 quart # # US liquide pt = pint # pinte # US liquide once liquide = 1/16.0 pint # # US fl oz = once liquide # once liquide # US impérial gallon = 4.54609 litre imp gal = impérial gallon # gallon impérial gallon impérial = impérial gallon impérial quart = 1/4.0 imp gal imp qt = impérial quart # litre impérial quart impérial = impérial quart impérial pint = 1/8.0 imp gal imp pt = impérial pint # pinte impériale pint impérial = impérial pint once liquide impériale = 1/160.0 imp gal imp fl oz = once liquide impériale # once liquide impériale tasse = 8 fl oz cuillier a table = 1/16.0 tasse c-a-t = cuillier a table # cuillère à table cuillier a the = 1/3.0 c-a-t tsp = cuillier a the # cuillère à thé baril = 42 gallon bbl = baril # baril shot = 1.5 fl oz fifth = 1/5.0 gallon # # alcool bouteille de vin = 750 ml magnum = 1.5 litre # # alcool tonneau = 15.5 gallon # # bière hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # velocity units # [vitesse] noeud = nmi/hr kt = noeud # noeud vitesse lumiere = 2.99792458e8 m/s mph = mi/hr # milles/heure kph = km/hr # kilomètres/heure mach = 340.29 m/s # # mur du son [vitesse de rotation] rpm = tour/min # tour/min rps = tour/sec # tour/sec # # flow rate units # [flux de fluide] gph = gal/hr # gallons/heure gpm = gal/min # gallons/minute cfs = ft^3/sec # pieds cubes/seconde cfm = ft^3/min # pieds cubes/minute lpm = l/min # litre/min [flux de gaz] sccm = atm*cc/min # TPN cc/min # pression * flux sccs = atm*cc/sec # TPN cc/sec # pression * flux slpm = atm*l/min # TPN litre/min # pression * flux slph = atm*l/hr # TPN litre/heure # pression * flux scfh = atm*ft^3/heure # TPN pied cube/heure # pression * flux scfm = atm*ft^3/min # TPN pied cube/min # pression * flux # # pressure units # [pression] Pa = N/m^2 # Pascal pascal = Pa hPa = 100 Pa # hectoPascal hectopascal = hPa kPa = 1000 Pa # kiloPascal kilopascal = kPa MPa = 1000 kPa # megaPascal megapascal = MPa GPa = 1000 MPa # gigaPascal gigapascal = GPa atm = 101325 Pa # atmosphère atmosphère = atm bar = 1e5 Pa mbar = 0.001 bar # millibar millibar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*densité Hg*acceleration gravitationnelle millimètre de Hg = mm Hg torr = mm Hg in Hg = in*densité Hg*acceleration gravitationnelle # mm de Hg pouce de Hg = in Hg m water = m*densité eau*acceleration gravitationnelle # mètre de H2O m H2O = m water # mètre de H2O metre de water = m water in water = in*densité eau*acceleration gravitationnelle # pouce de H2O in H2O = in water # pouce de H2O inch of water = in water ft water = ft*densité eau*acceleration gravitationnelle # pied de H2O ft H2O = ft water # pied de H20 feet of water = ft water foot of head = ft water ft hd = ft water # foot of head psi = lbf/in^2 # livre / pouce carré livre par pouce carre = psi ksi = 1000 psi # 1000 lb / pouce carré # # density units # [densite] densité eau = gramme/cm^3 densité eau salee = 1.025 gramme/cm^3 densité Hg = 13.5950981 gramme/cm^3 densité air = 1.293 kg/m^3 # # a TPN densité acier = 0.283 lb/in^3 # # acier carbone densité aluminum = 0.098 lb/in^3 densité zinc = 0.230 lb/in^3 densité cuivre-zinc = 0.310 lb/in^3 # # 80Cu-20Zn densité cuivre = 0.295 lb/in^3 densité fonte = 0.260 lb/in^3 # # fonte densité nickel = 0.308 lb/in^3 densité tin = 0.275 lb/in^3 densité titane = 0.170 lb/in^3 densité argent = 0.379 lb/in^3 densité nylon = 0.045 lb/in^3 densité polycarbonate = 0.045 lb/in^3 # # energy units # [energie] joule = N*m J = joule # joule kilojoule = 1000 joule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule millijoule = 0.001 joule mJ = millijoule # millijoule calorie = 4.1868 J cal = calorie # calorie kilocalorie = 1000 cal kcal = kilocalorie # kilocalorie calorie food = kilocalorie thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal unit British thermal unit = Btu therm = 100000 Btu erg = cm*dyne electronvolt = 1.602176462e-19 J eV = electronvolt # electronvolt kWh = kW*heure # kilowatt-heure kilowatt heure = kWh tonne TNT = 4.184e9 J # # power units # [puissance] watt = J/s W = watt # watt kilowatt = 1000 W kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt milliwatt = 0.001 W horsepower = 550 ft*lbf/sec hp = horsepower # chevaux-vapeur horsepower metrique = 75 kgf*m/s # # frequency # [frequence] hertz = unite/sec Hz = hertz # hertz millihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactivity # [radioactivite] becquerel = unite/sec Bq = becquerel # becquerel curie = 3.7e10 Bq millicurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [dose de radiation] gray = J/kg Gy = gray # gray rad. abs. dose = 0.01 Gy # # rad commun sievert = J/kg # # equiv. dose millisievert = 0.001 sievert # # equiv. dose Sv = sievert # sievert # equiv. dose rem = 0.01 Sv # # roentgen equiv mammal millirem = 0.001 rem # # roentgen equiv mammal # # viscosity # [viscosite] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [viscosite] stokes = cm^2/s St = stokes # stokes centistokes = 0.01 stokes cSt = centistokes # centistokes # # misc. units # [acceleration] acceleration gravitationnelle = 9.80665 m/s^2 [constante] constante de gravite = 6.673e-11 N*m^2/kg^2 constante des gaz = 8.314472 J/(mol*K) # R [consommation d'essence] mpg = mi/gal # milles/gallon mpg imp = mi/gallon impérial # milles/gallon imp. litre par 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # non linéaire ConvertAll-0.8.0/data/units_ru.dat000066400000000000000000001145001363574405500170600ustar00rootroot00000000000000#***************************************************************************** # units.dat, файл данных величин, версия 0.7.3 # # ConvertAll - программа для конвертирования величин # Copyright (C) 2018, Douglas W. Bell # # Это свободное программное обеспечение; Вы можете распространять и/или изменять # его в соответствии с условиями GNU General Public License, версии 2. # Эта программа распространяется в надежде, что будет полезна, но БЕЗ ВСЯКОЙ ГАРАНТИИ. #***************************************************************************** # # Величины определяются количеством и эквивалентной величиной или комбиначией # величин. Для описания количества может быть использовано выражение Python, # но оно ограничено использованием операторов: *, /, +, -, **, (, ). # Будьте внимательны при округлении целых величин (integer) при делении: # необходимо использовать хотябы одно значение с плавующей точкой (float). # # Тип величины должен быть взят в квадратные скобки [] перед набором величин. # Первый комментарий после эквивалента величины будет отображаться непосредственно # после имени величины (обычно для описания аббревиатуры величины). # Следующий комментарий будет отображён в колонке для комментариев. # Последующие комментарии и комментарии всей строки игнорируются. # # Для нелинейных величин эквивалентная величина указывается в квадратных скобках, # за ней следуют выражения (функции) или список эквивалентности для определения. # Необходимо указать два выражения разделённые ";". Оба являются функциями от "x", # перавая lz перевода из величины в эквивалентную величину, а вторая - обратно. # Любое выражение Python возвращающее значение с плавующей точкой (float) (включая # функции математического модуля) должны работать. Список эквивалентности - это # список Python набора точек для интерполяции. # # Все величины должны ссылаться на примитивные величины, обозначенные знаком '!' # как эквивалент величины. Специальные "безразмерные" примитивы величины обозначены # знаком '!!' для эквивалента величины. Цикличные ссылки также необходимо избегать. # # Примитивы величин: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # Раздел МАССЫ # [масса] kg = ! # килограмм kilogram = kg key = kg # килограмм # разговорное hectogram = 100 gram dekagram = 10 gram gram = 0.001 kg g = gram # грамм decigram = 0.1 gram centigram = 0.01 gram milligram = 0.001 gram mg = milligram # миллиграмм microgram = 0.001 mg tonne = 1000 kg # # метрическая metric ton = tonne megagram = tonne kilotonne = 1000 tonne # # метрическая gigagram = 1e9 gram teragram = 1e12 gram carat = 0.2 gram ct = carat # карат amu = 1.66053873e-27 kg # атомная масса atomic mass unit = amu pound = 0.45359237 kg # # вес lb = pound # фунт # вес lbm = pound # фунт # вес ounce = 1/16.0 pound # # вес oz = ounce # унция lid = ounce # # разговорное dram = 1/16.0 ounce # # вес pound troy = 5760 grain lb troy = pound troy # pound troy ounce troy = 1/12.0 lb troy oz troy = ounce troy # ounce troy ton = 2000 lb # # неметрическая kiloton = 1000 ton # # неметрическая long ton = 2240 lb # # Imperial ton imperial = long ton slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # Imperial hundredweight short = 100 lb # # US & Канада solar mass = 1.9891e30 kg кг = kg # килограмм килограмм = kg грамм = gram г = gram # грамм мг = milligram # миллиграмм миллиграмм = milligram тонна = tonne # # метрическая карат = carat фунт = pound # # Раздел ДЛИНА / ДИСТАНЦИЯ # [длина] m = ! # метр meter = m metre = m dm = 0.1 m # дециметр decimeter = dm cm = 0.01 m # сантиметр centimeter = cm mm = 0.001 m # миллиметр millimeter = mm micrometer = 1e-6 m micron = micrometer nanometer = 1e-9 m nm = nanometer # нанометр dekameter = 10 m hectometer = 100 m km = 1000 m # километр kilometer = km megameter = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # размер ядра inch = 2.54 cm in = inch # дюйм inches = inch mil = 0.001 inch microinch = 1e-6 inch microinches = microinch foot = 12 inch ft = foot # фут feet = foot foot US survey = 1200/3937.0 m Cape foot = 1.033 foot yard = 3 ft yd = yard # ярд mile = 5280 ft mi = mile # миля nautical mile = 1852 m nmi = nautical mile # морская миля mile US survey = 5280 foot US survey league = 3 mile chain = 66 ft chain US survey = 66 foot US survey link = 0.01 chain fathom = 6 ft cable = 0.1 nautical mile rod = 5.5 yard furlong = 40 rod hand = 4 inch cubit = 21.8 inch # локоть # библейская величина point = 1/72.0 inch # точка # точка на экране компьютера pica = 12 point caliber = 1.0 inch # # размер пули rack unit = 1.75 in # # computing smoot = 67 inch football field = 100 yd # # футбольное поле marathon = 46145 yd mil Swedish = 10 km versta = 3500 ft # # Русская величина au = 1.49597870691e11 m # # астрономическая величина astronomical unit = au LD = 384400 km # расстояние до луны # астрономическая lunar distance = LD # # астрономическое расстояние light year = 365.25 light speed * day # световой год light minute = light speed * min light second = light speed * s parsec = 3.0856775813e16 m # парсек kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec screw size = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # Стандартные диаметры, нелинейная AWG Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; нелинейная American Wire Gauge Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # use -1, -2 for 00, 000; нелинейная British Std Wire Gauge = [in] [(-6, .500), (-5, .464), (-3, .400), \ (-2, .372), (3, .252), (6, .192), (10, .128), \ (14, .080), (19, .040), (23, .024), (26, .018), \ (28, .0148), (30, .0124), (39, .0052), \ (49, .0012), (50, .001)] \ # # use -1, -2 for 2/0, 3/0; нелинейная standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # steel \ # Manufacturers Std. Gauge, нелинейная zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # sheet metal thickness, нелинейная ring size = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # US размер, circum., нелинейная shoe size mens = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # US размеры, нелинейная shoe size womens = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # US размеры, нелинейная drill bit size = [in] [(104,0.0031), (103,0.0035), (102,0.0039), \ (101,0.0043), (100,0.0047), (99,0.0051), \ (98,0.0055), (97,0.0059), (96,0.0063), \ (95,0.0067), (94,0.0071), (93,0.0075), \ (92,0.0079), (91,0.0083), (90,0.0087), \ (89,0.0091), (88,0.0095), (87,0.01), \ (86,0.0105), (85,0.011), (84,0.0115), \ (83,0.012), (82,0.0125), (81,0.013), \ (80,0.0135), (79,0.0145), (78,0.016), \ (77,0.018), (76,0.02), (75,0.021), \ (74,0.0225), (73,0.024), (72,0.025), \ (71,0.026), (70,0.028), (69,0.0292), \ (68,0.031), (67,0.032), (66,0.033), \ (65,0.035), (64,0.036), (63,0.037), \ (62,0.038), (61,0.039), (60,0.04), \ (59,0.041), (58,0.042), (57,0.043), \ (56,0.0465), (55,0.052), (54,0.055), \ (53,0.0595), (52,0.0635), (51,0.067), \ (50,0.07), (49,0.073), (48,0.076), \ (47,0.0785), (46,0.081), (45,0.082), \ (44,0.086), (43,0.089), (42,0.0935), \ (41,0.096), (40,0.098), (39,0.0995), \ (38,0.1015), (37,0.104), (36,0.1065), \ (35,0.11), (34,0.111), (33,0.113), \ (32,0.116), (31,0.12), (30,0.1285), \ (29,0.136), (28,0.1405), (27,0.144), \ (26,0.147), (25,0.1495), (24,0.152), \ (23,0.154), (22,0.157), (21,0.159), \ (20,0.161), (19,0.166), (18,0.1695), \ (17,0.173), (16,0.177), (15,0.18), \ (14,0.182), (13,0.185), (12,0.189), \ (11,0.191), (10,0.1935), (9,0.196), \ (8,0.199), (7,0.201), (6,0.204), \ (5,0.2055), (4,0.209), (3,0.213), \ (2,0.221), (1,0.228)] \ # # American drill bit gauge, нелинейная верста = versta # # Русская величина метр = m м = m # метр см = cm # сантиметр мм = mm # миллиметр км = km # километр дюйм = inch фут = foot нм = nanometer # нанометр ангстрем = angstrom ярд = yard миля = mile # # Раздел ВРЕМЕНИ # [время] s = ! # секунда sec = s # секунда second = s ms = 0.001 s # миллисекунда millisecond = ms microsecond = 1e-6 s ns = 1e-9 s # наносекунда nanosecond = ns minute = 60 s min = minute # минута hour = 60 min hr = hour # час bell = 30 min # # naval definition watch = 4 hour watches = watch day = 24 hr week = 7 day wk = week # неделя fortnight = 14 day month = 1/12.0 year year = 365.242198781 day yr = year # год calendar year = 365 day decade = 10 year century = 100 year centuries = century millennium = 1000 year millennia = millennium мс = ms # миллисекунда сек = s мин = minute час = hour [трудоёмкость] man hour = 168/40.0 hour man week = 40 man hour man month = 1/12.0 man year man year = 52 man week # # Раздел ТЕМПЕРАТУРА # [температура] K = ! # Кельвин Kelvin = K deg K = K # Кельвин degree Kelvin = K К = K # Кельвин Кельвин = K C = [K] x + 273.15 ; x - 273.15 # Цельсий # нелинейная Celsius = [K] x + 273.15 ; x - 273.15 # # нелинейная deg C = [K] x + 273.15 ; x - 273.15 # Цельсий # нелинейная degree Celsius = [K] x + 273.15 ; x - 273.15 # # нелинейная R = 5/9.0 K # Ранкин Rankine = R deg R = R # Ранкин F = [R] x + 459.67 ; x - 459.67 # фаренгейт # нелинейная Fahrenheit = [R] x + 459.67 ; x - 459.67 # # нелинейная deg F = [R] x + 459.67 ; x - 459.67 # фаренгейт # нелинейная degree Fahrenheit = [R] x + 459.67 ; x - 459.67 # # нелинейная [темературы различные] C deg = K # Celsius degree Celsius degree = C deg F deg = R # Fahrenheit deg. Fahrenheit degree = F deg # # Раздел ЭЛЕКТРИЧЕСТВО # [ток] A = ! # ампер ampere = A amp = A milliampere = 0.001 A milliamp = milliampere mA = milliampere # миллиампер мА = milliampere # миллиампер microampere = 0.001 mA kiloampere = 1000 A kA = kiloampere # килоампер [заряд] coulomb = A*s amp hour = A*hr mAh = 0.001 amp hour # миллиампер час milliamp hour = mAh [напряжение] volt = W/A V = volt # вольт millivolt = 0.001 volt mV = millivolt # милливольт kilovolt = 1000 volt kV = kilovolt # киловольт [сопротивление] ohm = V/A # Ом milliohm = 0.001 ohm microhm = 0.001 milliohm kilohm = 1000 ohm [проводимость] siemens = A/V [ёмкость] farad = coulomb/V millifarad = 0.001 farad microfarad = 0.001 millifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [магнетизм] weber = V*s Wb = weber # Вебер maxwell = 1e-8 Wb [индуктивность] henry = Wb/A H = henry # Генри millihenry = 0.001 henry mH = millihenry # миллигенри microhenry = 0.001 mH [плотность потока] tesla = Wb/m^2 T = tesla # Тесла gauss = maxwell/cm^2 # # Раздел МОЛЕКУЛЯРНЫЙ # [количество вещества] mol = ! # моль # gram mole mole = mol # # gram mole gram mole = mol kilomole = 1000 mol kmol = kilomole # киломоль pound mole = mol*lbm/gram lbmol = pound mole # pound mole [размер моля] avogadro = gram/(amu*mol) авогадро = avogadro # # Раздел ОСВЕЩЕНИЕ # [интенсивность света] cd = ! # candela candela = cd [световой поток] lumen = cd * sr lm = lumen # люмен люмен = lumen [освещенность] lux = lumen/m^2 footcandle = lumen/ft^2 metercandle = lumen/m^2 [светимость] lambert = cd/(pi*cm^2) millilambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # Раздел УГЛОВЫХ величин # [угол] radian = ! rad = radian # радиан circle = 2 pi*radian turn = circle revolution = circle rev = revolution # revolution degree = 1/360.0 circle deg = degree # градус arc min = 1/60.0 degree # минута arc minute = arc min min arc = arc min # минута minute arc = arc min arc sec = 1/60.0 arc min # секунда arc second = arc sec sec arc = arc sec # секунда second arc = arc sec quadrant = 1/4.0 circle right angle = quadrant gradian = 0.01 quadrant # # Раздел УГЛЫ пространственные # [пространственный угол] sr = ! # стерадиан steradian = sr sphere = 4 pi*sr hemisphere = 1/2.0 sphere # # Раздел ИНФОРМАЦИИ / ДАННЫХ # [данные] bit = ! kilobit = 1000 bit # # based on power of 10 megabit = 1000 kilobit # # based on power of 10 gigabit = 1000 megabit # # based on power of 10 terabit = 1000 gigabit # # based on power of 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # based on power of 2 kB = kilobyte # kilobyte # based on power of 2 megabyte = 1024 kB # # based on power of 2 MB = megabyte # megabyte # based on power of 2 gigabyte = 1024 MB # # based on power of 2 GB = gigabyte # gigabyte # based on power of 2 terabyte = 1024 GB # # based on power of 2 TB = terabyte # terabyte # based on power of 2 petabyte = 1024 TB # # based on power of 2 PB = petabyte # petabyte # based on power of 2 kilobyte IEC std = 1000 byte # # based on power of 10 kB IEC std = kilobyte IEC std # kilobyte # based on power of 10 megabyte IEC std = 1000 kB IEC std # # based on power of 10 MB IEC std = megabyte IEC std # megabyte # based on power of 10 gigabyte IEC std = 1000 MB IEC std # # based on power of 10 GB IEC std = gigabyte IEC std # gigabyte # based on power of 10 terabyte IEC std = 1000 GB IEC std # # based on power of 10 TB IEC std = terabyte IEC std # terabyte # based on power of 10 petabyte IEC std = 1000 TB IEC std # # based on power of 10 PB IEC std = petabyte IEC std # petabyte # based on power of 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [передача данных] bps = bit/sec # бит / сек. kbps = 1000 bps # кбит / сек. # based on power of 10 # # Раздел ПОСТОЯННЫХ величин # [количество] unit = !! 1 = unit # unit pi = 3.14159265358979323846 unit ПИ = pi pair = 2 unit # пара hat trick = 3 unit # # спорт dozen = 12 unit doz = dozen # дюжина дюжина = dozen bakers dozen = 13 unit # # чёртова дюжина чёртова дюжина = bakers dozen score = 20 unit gross = 144 unit great gross = 12 gross ream = 500 unit percent = 0.01 unit % = percent mill = 0.001 unit [процентная ставка] APR = [unit] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual % rate # based on continuous compounding [концентрация] proof = 1/200.0 unit # # содержание алкоголя ppm = 1e-6 unit # частиц на миллион parts per million = ppm ppb = 1e-9 unit # частиц на биллион parts per billion = ppb ppt = 1e-12 unit # частиц на триллион parts per trillion = ppt karat = 1/24.0 unit # # чистота золота carat gold = karat # # чистота золота # # Раздел СИЛА # [сила] newton = kg*m/s^2 N = newton # Ньютон dekanewton = 10 newton kilonewton = 1000 N kN = kilonewton # килоньютон meganewton = 1000 kN millinewton = 0.001 N dyne = cm*g/s^2 kg force = kg * gravity # килограм силы kgf = kg force # килограм силы kilogram force = kg force kp = kg force # килограм силы kilopond = kg force gram force = g * gravity pound force = lbm * gravity # # вес lbf = pound force # pound force # вес ton force = ton * gravity ounce force = ounce * gravity ozf = ounce force # ounce force tonne force = tonne * gravity # # метрическая pdl = lbm * ft / sec^2 # poundal # Imperial force poundal = pdl # # Imperial force Н = newton # Ньютон кгс = kgf # килограм силы # # Раздел ПЛОЩАДЕЙ # [площадь] barn = 1e-28 m^2 # # particle physics are = 100 m^2 decare = 10 are dekare = 10 are hectare = 100 are stremma = 1000 m^2 acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre square perch = 30.25 yd^2 rood = 0.25 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai circular inch = 1/4.0 pi*in^2 # # area of 1 inch circle circular mil = 1/4.0 pi*mil^2 # # area of 1 mil circle AWG Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; нелинейная American Wire Gauge Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # use -1, -2 for 00, 000; нелинейная # # Раздел ОБЪЁМОВ # [объём] cc = cm^3 # кубический сантиметр cubic centimeter = cc liter = 1000 cc l = liter # литр litre = liter deciliter = 0.1 liter centiliter = 0.01 liter milliliter = cc ml = milliliter # миллилитр microliter = 1e-6 liter dekaliter = 10 liter hectoliter = 100 liter kiloliter = 1000 liter kl = kiloliter # килолитр megaliter = 1000 kiloliter gallon = 231 in^3 # # US жидкость gal = gallon # галлон # US жидкость quart = 1/4.0 gallon # # US жидкость qt = quart # кварта # US жидкость pint = 1/2.0 quart # # US жидкость pt = pint # пинта # US жидкость fluid ounce = 1/16.0 pint # # US fl oz = fluid ounce # fluid ounce # US ounce fluid = fluid ounce # # US fluid dram = 1/8.0 fluid ounce # # US minim = 1/480.0 fluid ounce # # US imperial gallon = 4.54609 liter imp gal = imperial gallon # imperial gallon gallon imperial = imperial gallon imperial quart = 1/4.0 imp gal imp qt = imperial quart # imperial quart quart imperial = imperial quart imperial pint = 1/8.0 imp gal imp pt = imperial pint # imperial pint pint imperial = imperial pint imperial fluid ounce = 1/160.0 imp gal imp fl oz = imperial fluid ounce # imperial fluid ounce imperial fluid dram = 1/8.0 imp fl oz imperial minim = 1/480.0 imp fl oz cup = 8 fl oz # чашка tablespoon = 1/16.0 cup tbsp = tablespoon # столовая ложка teaspoon = 1/3.0 tbsp tsp = teaspoon # чайная ложка barrel = 42 gallon bbl = barrel # баррель shot = 1.5 fl oz # алкоголь fifth = 1/5.0 gallon # # алкоголь wine bottle = 750 ml magnum = 1.5 liter # # алкоголь keg = 15.5 gallon # # пиво hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot литр = liter л = liter # литр мл = milliliter # миллилитр # # Раздел СКОРОСТЬ # [скорость] knot = nmi/hr kt = knot # узел light speed = 2.99792458e8 m/s mph = mi/hr # миль в час kph = km/hr # километров в час mach = 340.29 m/s # # скорость маха [количество оборотов] rpm = rev/min # оборотов в минуту rps = rev/sec # оборотов в секунду # # Раздел СКОРОСТЬ ПОТОКА # [поток жидкости] gph = gal/hr # gallons/hour gpm = gal/min # gallons/minute cfs = ft^3/sec # cu ft/second cfm = ft^3/min # cu ft/minute lpm = l/min # liter/min [поток газа] sccm = atm*cc/min # std cc/min # pressure * flow sccs = atm*cc/sec # std cc/sec # pressure * flow slpm = atm*l/min # std liter/min # pressure * flow slph = atm*l/hr # std liter/hour # pressure * flow scfh = atm*ft^3/hour # std cu ft/hour # pressure * flow scfm = atm*ft^3/min # std cu ft/min # pressure * flow # # Раздел ДАВЛЕНИЙ # [давление] Pa = N/m^2 # паскаль pascal = Pa hPa = 100 Pa # гектопаскаль hectopascal = hPa kPa = 1000 Pa # килопаскаль kilopascal = kPa MPa = 1000 kPa # мегапаскаль megapascal = MPa GPa = 1000 MPa # гигапаскаль gigapascal = GPa atm = 101325 Pa # атмосфера atmosphere = atm bar = 1e5 Pa mbar = 0.001 bar # миллибар millibar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*density Hg*gravity millimeter of Hg = mm Hg torr = mm Hg micron of Hg = micron*density Hg*gravity in Hg = in*density Hg*gravity # inch of Hg inch of Hg = in Hg m water = m*density water*gravity # метр H2O # чистой воды m H2O = m water # метр H2O # чистой воды meter of water = m water # # чистой воды in water = in*density water*gravity # дюйм H2O # чистой воды in H2O = in water # дюйм H2O # чистой воды inch of water = in water ft water = ft*density water*gravity # фут H2O # чистой воды ft H2O = ft water # фут H20 # чистой воды feet of water = ft water # # чистой воды foot of head = ft water # # чистой воды ft hd = ft water # foot of head # чистой воды psi = lbf/in^2 # фунт / кв. дюйм pound per sq inch = psi ksi = 1000 psi # 1000 lb / кв. дюйм Па = Pa # паскаль кПа = kPa # килопаскаль МПа = MPa # мегапаскаль бар = bar атм = atm # атмосфера # # Раздел ПЛОТНОСТЬ # [плотность] density water = gram/cm^3 density sea water = 1.025 gram/cm^3 density Hg = 13.5950981 gram/cm^3 density air = 1.293 kg/m^3 # # at STP density steel = 0.283 lb/in^3 # # карбоновая сталь density aluminum = 0.098 lb/in^3 density zinc = 0.230 lb/in^3 density brass = 0.310 lb/in^3 # # 80Cu-20Zn density copper = 0.295 lb/in^3 density iron = 0.260 lb/in^3 # # cast iron density nickel = 0.308 lb/in^3 density tin = 0.275 lb/in^3 density titanium = 0.170 lb/in^3 density silver = 0.379 lb/in^3 density nylon = 0.045 lb/in^3 density polycarbonate = 0.045 lb/in^3 # # Раздел ЭНЕРГИЯ # [энергия] joule = N*m J = joule # джоуль kilojoule = 1000 joule kJ = kilojoule # килоджоуль megajoule = 1000 kilojoule gigajoule = 1000 megajoule millijoule = 0.001 joule mJ = millijoule # миллиджоуль calorie = 4.1868 J cal = calorie # калория kilocalorie = 1000 cal kcal = kilocalorie # килокалория calorie food = kilocalorie thermie = 1000 kcal Btu = cal*lb*R/(g*K) # # британская тепловая единица British thermal unit = Btu therm = 100000 Btu erg = cm*dyne electronvolt = 1.602176462e-19 J eV = electronvolt # электронвольт kWh = kW*hour # киловатт в час kilowatt hour = kWh ton TNT = 4.184e9 J tonne oil equivalent = 41.868 gigajoule tonne coal equivalent = 7000000 kcal # # Раздел МОЩНОСТИ # [мощность] watt = J/s W = watt # Ватт kilowatt = 1000 W kW = kilowatt # киловатт megawatt = 1000 kW MW = megawatt # мегаватт gigawatt = 1000 MW GW = gigawatt # гигаватт milliwatt = 0.001 W horsepower = 550 ft*lbf/sec # # лошадиная сила hp = horsepower # лошадиная сила metric horsepower = 75 kgf*m/s ton refrigeration = 12000 Btu/hr MBH = 1000 Btu/hr # 1000 Btu/hr boiler horsepower = 33475 Btu/hr # # Раздел ЧАСТОТ # [частота] hertz = unit/sec Hz = hertz # герц millihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # килогерц megahertz = 1000 kHz MHz = megahertz # мегагерц gigahertz = 1000 MHz GHz = gigahertz # гигагерц # # Раздел РАДИОАКТИВНОСТЬ # [радиоактивность] becquerel = unit/sec Bq = becquerel # беккерель curie = 3.7e10 Bq millicurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [доза радиации] gray = J/kg Gy = gray # Грей # единица измерения поглощённой дозы centigray = 0.01 Gy rad. abs. dose = 0.01 Gy # # commonly rad sievert = J/kg # # equiv. dose millisievert = 0.001 sievert # # equiv. dose Sv = sievert # sievert # equiv. dose rem = 0.01 Sv # # roentgen equiv mammal millirem = 0.001 rem # # roentgen equiv mammal # # Раздел ВЯЗКОСТИ # [вязкость (динамическая)] poise = g/(cm*s) P = poise # пуаз # единица вязкости centipoise = 0.01 poise cP = centipoise # сентипауаз # единица абсолютной вязкости [вязкость (кинематическая)] stokes = cm^2/s St = stokes # стокс centistokes = 0.01 stokes cSt = centistokes # сентистокс # # Раздел РАЗНОЕ # [ускорение] gravity = 9.80665 m/s^2 # # ускорение свободного падения galileo = cm/s^2 [константы] gravity constant = 6.673e-11 N*m^2/kg^2 gas constant = 8.314472 J/(mol*K) # R [потребление топлива] mpg = mi/gal # миль/галлон mpg imp = mi/gallon imperial # miles/gallon imp liter per 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # нелинейная [проницаемость] darcy = 1 cm^2*centipoise/atm/s millidarcy = 0.001 darcy ConvertAll-0.8.0/data/units_sv.dat000066400000000000000000000773601363574405500170760ustar00rootroot00000000000000#***************************************************************************** #enheters.dat, the enheters data file, version 0.7.3 # # ConvertAll, a enheters conversion program # Copyright (C) 2017, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent enheter or enheter # combination. A Python expression may be used for the quantity, but is # restricted to using only the following operators: *, /, +, -. # Beware of integer division truncation: be sure to use a float for at least # one of the values. # # The enheter type must be placed in square brackets before a set of enheters. The # first comment after the equivalent enheter will be put in parenthesis after the # enheter name (usually used to give the full name of an abbreviated enheter). The # next comment will be used in the program list's comment column; later # comments and full line comments are ignored. # # Non-linear enheters are indicated with an equivalent enheter in square brackets, # followed by either equations or equivalency lists for the definition. For # equations, two are given, separated by a ';'. Both are functions of "x", the # first going from the enheter to the equivalent enheter and the second one in # reverse. Any valid Python expression returning a float (including the # functions in the math module) should work. The equivalency list is a Python # list of tuples giving points for linear interpolation. # # All enheters must reduce to primitive enheters, which are indicated by an # equivalent enheter starting with '!'. A special "enheterless" primitve enheter # (usualty called "enheter") has '!!' for an equivalent enheter. Circular references # must also be avoided. # # Primitive enheters: kg, m, s, K, A, mol, cd, rad, sr, bit, enheter # ############################################################################## # # mass enheters # [massa] kg = ! # kilogram kilogram = kg key = kg # # drogslang hektogram = 100 gram dekagram = 10 gram gram = 0.001 kg g = gram # gram decigram = 0.1 gram centigram = 0.01 gram milligram = 0.001 gram mg = milligram # milligram mikrogram = 0.001 mg ton = 1000 kg # # metriskt metriskt ton = ton megagram = ton kiloton = 1000 ton # # metriskt gigagram = 1e9 gram teragram = 1e12 gram carat = 0.2 gram ct = karat # karat amu = 1.66053873e-27 kg # atommassa atommasseenhet = amu pound = 0.45359237 kg # # avoirdupois lb = pound # pound # avoirdupois lbm = pound # pound # avoirdupois ounce = 1/16.0 pound # # avoirdupois oz = ounce # ounce # avoirdupois lid = ounce # # drogslang dram = 1/16.0 ounce # # avoirdupois pound troy = 5760 grain lb troy = pound troy # pound troy ounce troy = 1/12.0 lb troy oz troy = ounce troy # ounce troy ton* = 2000 lb # # icke-metriskt kiloton* = 1000 ton # # icke-metriskt long ton = 2240 lb # # Imperial ton imperial = long ton slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # Imperial hundredweight short = 100 lb # # US & Canada solmassa = 1.9891e30 kg # # length / distance enheters # [längd] m = ! # meter meter = m metre = m dm = 0.1 m # decimeter decimeter = dm cm = 0.01 m # centimeter centimeter = cm mm = 0.001 m # millimeter millimeter = mm mikrometer = 1e-6 m mikron = mikrometer nanometer = 1e-9 m nm = nanometer # nanometer dekameter = 10 m hectometer = 100 m km = 1000 m # kilometer kilometer = km megameter = 1000 km ångstrom = 1e-10 m fermi = 1e-15 m # # atomkärnestorlek inch = 2.54 cm in = inch # inch inches = inch mil = 0.001 inch microinch = 1e-6 inch microinches = microinch foot = 12 inch ft = foot # foot feet = foot foot US survey = 1200/3937.0 m Cape foot = 1.033 foot yard = 3 ft yd = yard # yard mile = 5280 ft # # stadgad mile mi = mile # mile # stadgad mile nautisk mil = 1852 m nmi = nautisk mil # nautisk mil mile US survey = 5280 foot US survey league = 3 mile chain = 66 ft chain US survey = 66 foot US survey link = 0.01 chain fathom = 6 ft cable = 0.1 nautical mile rod = 5.5 yard furlong = 40 rod hand = 4 inch cubit = 21.8 inch # # biblisk enhet point = 1/72.0 inch # # desktop publishing point pica = 12 point kaliber = 1.0 inch # # kulstorlekar rackenheter = 1.75 in # # datormontage smoot = 67 inch fotbollsplan = 100 yd maraton = 46145 yd mil Svensk = 10 km versta = 3500 ft # # Rysk enhet au = 1.49597870691e11 m # astronomisk enhet astronomisk enhet = au LD = 384400 km # månavstånd # astronomisk månavstånd = LD # # astronomiskt avstånd ljusår = 365.25 ljusets hastighet * dag ljusminut = ljusets hastighet * min ljussekund = ljusets hastighet * s parsec = 3.0856775813e16 m kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec skruvstorlek = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # enhetliga diametrar, icke-linjär AWG Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # Amerikanskt vajermått \ # använd -1, -2 för 00, 000; icke-linjärt American Wire Gauge Dia = [in] pow(92.0,(36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # använd -1, -2 för 00, 000; icke-linjärt British Std Wire Gauge = [in] [(-6, .500), (-5, .464), (-3, .400), \ (-2, .372), (3, .252), (6, .192), (10, .128), \ (14, .080), (19, .040), (23, .024), (26, .018), \ (28, .0148), (30, .0124), (39, .0052), \ (49, .0012), (50, .001)] \ # # använd -1, -2 för 2/0, 3/0; icke-linjärt standardmått = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # stål \ # Tillverkares standardmått, icke-linjärt zinkmått = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # plåttjocklek, icke-linjärt ringstorlek = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # US storlekar, circum., icke-linjär skostorlek män = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # US storlekar, icke-linjärt skostorlek kvinnor = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # US storlekar, icke-linjärt borrstorlek = [in] [(104,0.0031), (103,0.0035), (102,0.0039), \ (101,0.0043), (100,0.0047), (99,0.0051), \ (98,0.0055), (97,0.0059), (96,0.0063), \ (95,0.0067), (94,0.0071), (93,0.0075), \ (92,0.0079), (91,0.0083), (90,0.0087), \ (89,0.0091), (88,0.0095), (87,0.01), \ (86,0.0105), (85,0.011), (84,0.0115), \ (83,0.012), (82,0.0125), (81,0.013), \ (80,0.0135), (79,0.0145), (78,0.016), \ (77,0.018), (76,0.02), (75,0.021), \ (74,0.0225), (73,0.024), (72,0.025), \ (71,0.026), (70,0.028), (69,0.0292), \ (68,0.031), (67,0.032), (66,0.033), \ (65,0.035), (64,0.036), (63,0.037), \ (62,0.038), (61,0.039), (60,0.04), \ (59,0.041), (58,0.042), (57,0.043), \ (56,0.0465), (55,0.052), (54,0.055), \ (53,0.0595), (52,0.0635), (51,0.067), \ (50,0.07), (49,0.073), (48,0.076), \ (47,0.0785), (46,0.081), (45,0.082), \ (44,0.086), (43,0.089), (42,0.0935), \ (41,0.096), (40,0.098), (39,0.0995), \ (38,0.1015), (37,0.104), (36,0.1065), \ (35,0.11), (34,0.111), (33,0.113), \ (32,0.116), (31,0.12), (30,0.1285), \ (29,0.136), (28,0.1405), (27,0.144), \ (26,0.147), (25,0.1495), (24,0.152), \ (23,0.154), (22,0.157), (21,0.159), \ (20,0.161), (19,0.166), (18,0.1695), \ (17,0.173), (16,0.177), (15,0.18), \ (14,0.182), (13,0.185), (12,0.189), \ (11,0.191), (10,0.1935), (9,0.196), \ (8,0.199), (7,0.201), (6,0.204), \ (5,0.2055), (4,0.209), (3,0.213), \ (2,0.221), (1,0.228)] \ # # Amerikanska borrstorlekar, icke-linjärt # # time enheters # [tid] s = ! # sekund sek = s # sekund sekund = s ms = 0.001 s # millisekund millisekund = ms mikrosekund = 1e-6 s ns = 1e-9 s # nanosekund nanosekund = ns minut = 60 s min = minut # minut timma = 60 min tim = timma # timma bell = 30 min # # marin definition watch = 4 tim watches = watch dag = 24 tim vecka = 7 dagar wk = vecka # vecka fortnight = 14 dagar månad = 1/12.0 år år = 365.242198781 dagar yr = år # år kalenderår = 365 dagar decennium = 10 år sekel = 100 år centuries = sekel millennium = 1000 år millennia = millennium [schemaläggning] man hour = 168/40.0 hour man week = 40 man hour man month = 1/12.0 man year man year = 52 man week # # temperature # [temperatur] K = ! # Kelvin Kelvin = K deg K = K # Kelvin grader Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # icke-linjärt Celsius = [K] x + 273.15 ; x - 273.15 # # icke-linjärt deg C = [K] x + 273.15 ; x - 273.15 # Celsius # icke-linjärt grader Celsius = [K] x + 273.15 ; x - 273.15 # # icke-linjärt R = 5/9.0 K # Rankine Rankine = R deg R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # icke-linjärt Fahrenheit = [R] x + 459.67 ; x - 459.67 # # icke-linjärt deg F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # icke-linjärt grader Fahrenheit = [R] x + 459.67 ; x - 459.67 # # icke-linjärt [temperaturdifferens] C deg = K # Celsius grader Celsius grader = C deg F deg = R # Fahrenheit deg. Fahrenheit grader = F deg # # electrical enheters # [elektrisk ström] A = ! # ampere ampere = A amp = A milliampere = 0.001 A milliamp = milliampere mA = milliampere # milliampere mikroampere = 0.001 mA kiloampere = 1000 A kA = kiloampere # kiloampere [laddning] coulomb = A*s amp hour = A*tim mAh = 0.001 amperetimmar # milliamperetimmar milliamp hour = mAh [spänning] volt = W/A V = volt # volt millivolt = 0.001 volt mV = millivolt # millivolt kilovolt = 1000 volt kV = kilovolt # kilovolt [resistans] ohm = V/A milliohm = 0.001 ohm mikrohm = 0.001 milliohm kilohm = 1000 ohm [konduktans] siemens = A/V [kapacitans] farad = coulomb/V millifarad = 0.001 farad mikrofarad = 0.001 millifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [magnetiskt flöde] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [induktans] henry = Wb/A H = henry # henry millihenry = 0.001 henry mH = millihenry # millihenry mikrohenry = 0.001 mH [flödestäthet] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # molecular enheters # [molekylär kvalitet] mol = ! # mole # gram mole mole = mol # # gram mole gram mole = mol kilomole = 1000 mol kmol = kilomole # kilomole pound mole = mol*lbm/gram lbmol = pound mole # pound mole [molekylstorlek] avogadro = gram/(amu*mol) # # Illumination enheters # [ljusintensitet] cd = ! # candela candela = cd [ljusföde] lumen = cd * sr lm = lumen # lumen [belysning] lux = lumen/m^2 footcandle = lumen/ft^2 metercandle = lumen/m^2 [ljusstyrka] lambert = cd/(pi*cm^2) millilambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # angular enheters # [vinkel] radie = ! rad = radie # radie circle = 2 pi*radie turn = cirkel revolution = cirkel rev = revolution # revolution grader = 1/360.0 circle deg = grader # degree arc min = 1/60.0 grader # minut arc minut = arc min min arc = arc min # minut minut arc = arc min arc sec = 1/60.0 arc min # sekund arc second = arc sek sek arc = arc sek # sekund seckund arc = arc sek kvadrant = 1/4.0 cirkel right angle = kvadrant gradian = 0.01 kvadrant # # solid angle enheters # [fast vinkel] sr = ! # steradian steradian = sr sfär = 4 pi*sr hemisfär = 1/2.0 sfär # # information enheters # [data] bit = ! kilobit = 1000 bit # # baserat på effekten av 10 megabit = 1000 kilobit # # baserat på effekten av 10 gigabit = 1000 megabit # # baserat på effekten av 10 terabit = 1000 gigabit # # baserat på effekten av 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # baserat på effekten av 2 kB = kilobyte # kilobyte # baserat på effekten av 2 megabyte = 1024 kB # # baserat på effekten av 2 MB = megabyte # megabyte # baserat på effekten av 2 gigabyte = 1024 MB # # baserat på effekten av 2 GB = gigabyte # gigabyte # baserat på effekten av 2 terabyte = 1024 GB # # baserat på effekten av 2 TB = terabyte # terabyte # baserat på effekten av 2 petabyte = 1024 TB # # baserat på effekten av 2 PB = petabyte # petabyte # baserat på effekten av 2 kilobyte IEC std = 1000 byte # # baserat på effekten av 10 kB IEC std = kilobyte IEC std # kilobyte # baserat på effekten av 10 megabyte IEC std = 1000 kB IEC std # # baserat på effekten av 10 MB IEC std = megabyte IEC std # megabyte # baserat på effekten av 10 gigabyte IEC std = 1000 MB IEC std # # baserat på effekten av 10 GB IEC std = gigabyte IEC std # gigabyte # baserat på effekten av 10 terabyte IEC std = 1000 GB IEC std # # baserat på effekten av 10 TB IEC std = terabyte IEC std # terabyte # baserat på effekten av 10 petabyte IEC std = 1000 TB IEC std # # baserat på effekten av 10 PB IEC std = petabyte IEC std # petabyte # baserat på effekten av 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [dataöverföring] bps = bit/sek # bitar / sekund kbps = 1000 bps # kilobit / sek. # baserat på effekten av 10 # # Unitless numbers # [kvantitet] enhet = !! 1 = enhet # enhet pi = 3.14159265358979323846 enheter par = 2 enheter hat trick = 3 enheter # # sport dussin = 12 enheter doz = dussin # dussin bageridussin = 13 enheter score = 20 enheter gross = 144 enheter stort gross = 12 gross ream = 500 enheter procent = 0.01 enheter % = procent mill = 0.001 enheter [ränta] APR = [enheter] log(1 + x/100) ; (exp(x) - 1)*100 \ # årlig % ränta # baserat på kontinuerlig sammansättning [koncentration] proof = 1/200.0 enheter # # alkoholinnehåll ppm = 1e-6 enheter # delar per miljon parts per million = ppm ppb = 1e-9 enheter # delar per miljard parts per billion = ppb ppt = 1e-12 enheter # delar per biljon parts per trillion = ppt karat = 1/24.0 enheter # # gulds renhet karat guld = karat # # gulds renhet # # force units # [kraft] newton = kg*m/s^2 N = newton # newton dekanewton = 10 newton kilonewton = 1000 N kN = kilonewton # kilonewton meganewton = 1000 kN millinewton = 0.001 N dyne = cm*g/s^2 kg kraft = kg * gravitation # kilogram f kgf = kg kraft # kilogram kraft kilogram kraft = kg kraft kp = kg kraft # kilopond kilopond = kg kraft gram kraft = g * gravitation pound kraft = lbm * gravitation # # avoirdupois lbf = pound kraft # pound kraft # avoirdupois ton kraft = ton * gravitation ounce kraft = ounce * gravitation ozf = ounce force # ounce kraft tonne kraft = tonne * gravitation # # metriskt pdl = lbm * ft / sek^2 # poundal # Imperial kraft poundal = pdl # # Imperial kraft # # area units # [area] barn = 1e-28 m^2 # # partikelfysik are = 100 m^2 decare = 10 are dekare = 10 are hectare = 100 are stremma = 1000 m^2 acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre square perch = 30.25 yd^2 rood = 0.25 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai circular inch = 1/4.0 pi*in^2 # # område på 1 tums cirkel circular mil = 1/4.0 pi*mil^2 # # område på 1 mils cirkel AWG Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # Amerikanskt vajermått \ # använd -1, -2 för 00, 000; icke-linjärt American Wire Gauge Area = [in^2] pi/4*pow(pow(92.0,(36-x)/39.0)/200.0,2) ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # använd -1, -2 för 00, 000; icke-linjärt # # volume units # [volym] cc = cm^3 # kubikcentimeter kubikcentimeter = cc liter = 1000 cc l = liter # liter litre = liter deciliter = 0.1 liter centiliter = 0.01 liter milliliter = cc ml = milliliter # milliliter mikroliter = 1e-6 liter dekaliter = 10 liter hectoliter = 100 liter kiloliter = 1000 liter kl = kiloliter # kiloliter megaliter = 1000 kiloliter gallon = 231 in^3 # # US vätska gal = gallon # gallon # US vätska quart = 1/4.0 gallon # # US vätska qt = quart # quart # US vätska pint = 1/2.0 quart # # US vätska pt = pint # pint # US vätska fluid ounce = 1/16.0 pint # # US fl oz = fluid ounce # fluid ounce # US ounce fluid = fluid ounce # # US fluid dram = 1/8.0 fluid ounce # # US minim = 1/480.0 fluid ounce # # US imperial gallon = 4.54609 liter imp gal = imperial gallon # imperial gallon gallon imperial = imperial gallon imperial quart = 1/4.0 imp gal imp qt = imperial quart # imperial quart quart imperial = imperial quart imperial pint = 1/8.0 imp gal imp pt = imperial pint # imperial pint pint imperial = imperial pint imperial fluid ounce = 1/160.0 imp gal imp fl oz = imperial fluid ounce # imperial fluid ounce imperial fluid dram = 1/8.0 imp fl oz imperial minim = 1/480.0 imp fl oz kaffekopp = 8 fl oz matsked = 1/16.0 kaffekopp msk = matsked # matsked tesked = 1/3.0 matsked tsk = tesked # tesked barrel = 42 gallon bbl = barrel # barrel shot = 1.5 fl oz fifth = 1/5.0 gallon # # alkohol vinflaska = 750 ml magnum = 1.5 liter # # alkohol keg = 15.5 gallon # # öl hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # velocity enheters # [hastighet] knop = nmi/tim kt = knop # knot light speed = 2.99792458e8 m/s mph = mi/hr # miles/timma kph = km/t # kilometer/timma mach = 340.29 m/s # # ljudhastighet vid STP [rotationshastighet] rpm = varv/min # varv/min rps = varv/sek # varv/sek # # flow rate enheters # [vätskeflöde] gph = gal/tim # gallons/timma gpm = gal/min # gallons/minut cfs = ft^3/sek # cu ft/sekund cfm = ft^3/min # cu ft/minut lpm = l/min # liter/min [gasflöde] sccm = atm*cc/min # std cc/min # tryck * flöde sccs = atm*cc/sek # std cc/sec # tryck * flöde slpm = atm*l/min # std liter/min # tryck * flöde slph = atm*l/tim # std liter/tim # tryck * flöde scfh = atm*ft^3/tim # std cu ft/tim # tryck * flöde scfm = atm*ft^3/min # std cu ft/min # tryck * flöde # # pressure enheters # [tryck] Pa = N/m^2 # pascal pascal = Pa hPa = 100 Pa # hektopascal hectopascal = hPa kPa = 1000 Pa # kilopascal kilopascal = kPa MPa = 1000 kPa # megapascal megapascal = MPa GPa = 1000 MPa # gigapascal gigapascal = GPa atm = 101325 Pa # atmosfär atmosfär = atm bar = 1e5 Pa mbar = 0.001 bar # millibar millibar = mbar mikrobar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*densitet Hg*gravitation millimeter of Hg = mm Hg torr = mm Hg micron of Hg = micron*densitet Hg*gravitation i Hg = in*densitet Hg*gravitation # inch Hg inch Hg = i Hg m vatten = m*densitet vatten*gravitation # meter H2O # färskvatten m H2O = m vatten # meter of H2O # färskvatten meter vatten = m vatten # # färskvatten in vatten = in*densitet vatten*gravitation # inch H2O # färskvatten i H2O = i vatten # inch of H2O # färskvatten inch vatten = i vatten # # färskvatten ft vatten = ft*densitet vatten*gravitation # feet H2O # färskvatten ft H2O = ft vatten # feet of H20 # färskvatten feet vatten = ft vatten # # färskvatten foot of head = ft vatten # # färskvatten ft hd = ft vatten # foot of head # färskvatten psi = lbf/in^2 # pound / sq inch pound per sq inch = psi ksi = 1000 psi # 1000 lb / sq inch # # densitet enheters # [densitet] densitet vatten = gram/cm^3 densitet sjövatten = 1.025 gram/cm^3 densitet Hg = 13.5950981 gram/cm^3 densitet luft = 1.293 kg/m^3 # # at STP densitet stål = 0.283 lb/in^3 # # kolstål densitet aluminum = 0.098 lb/in^3 densitet zink = 0.230 lb/in^3 densitet mässing = 0.310 lb/in^3 # # 80Cu-20Zn densitet koppar = 0.295 lb/in^3 densitet järn = 0.260 lb/in^3 # # gjutjärn densitet nickel = 0.308 lb/in^3 densitet tenn = 0.275 lb/in^3 densitet titanium = 0.170 lb/in^3 densitet silver = 0.379 lb/in^3 densitet nylon = 0.045 lb/in^3 densitet polykarbonat = 0.045 lb/in^3 # # energy enheters # [energi] joule = N*m J = joule # joule kilojoule = 1000 joule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule millijoule = 0.001 joule mJ = millijoule # millijoule kalori = 4.1868 J cal = calorie # kalori kilocalori = 1000 cal kcal = kilokalori # kilokalori calorie food = kilokalori thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal enheter British thermal enheter = Btu therm = 100000 Btu erg = cm*dyne electronvolt = 1.602176462e-19 J eV = electronvolt # electronvolt kWh = kW*hour # kilowatt-hour kilowatt hour = kWh ton TNT = 4.184e9 J tonne oil equivalent = 41.868 gigajoule tonne coal equivalent = 7000000 kcal # # power enheters # [kraft] watt = J/s W = watt # watt kilowatt = 1000 W kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt milliwatt = 0.001 W hästkraft = 550 ft*lbf/sec hp = hästkraft # hästkraft metrisk hästkraft = 75 kgf*m/s ton refrigeration = 12000 Btu/hr MBH = 1000 Btu/hr # 1000 Btu/hr boiler horsepower = 33475 Btu/hr # # frequency # [frekvens] hertz = enheter/sec Hz = hertz # hertz millihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactivity # [radioaktivitet] becquerel = enheter/sek Bq = becquerel # becquerel curie = 3.7e10 Bq millicurie = 0.001 curie röntgen = 2.58e-4 coulomb/kg [stråldos] gray = J/kg Gy = gray # gray centigray = 0.01 Gy rad. abs. dose = 0.01 Gy # # commonly rad sievert = J/kg # # equiv. dose millisievert = 0.001 sievert # # equiv. dose Sv = sievert # sievert # equiv. dose rem = 0.01 Sv # # roentgen equiv mammal millirem = 0.001 rem # # roentgen equiv mammal # # viscosity # [dynamisk viskositet] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [kinematisk viskositet] stokes = cm^2/s St = stokes # stokes centistokes = 0.01 stokes cSt = centistokes # centistokes # # misc. enheters # [acceleration] gravitation = 9.80665 m/s^2 galileo = cm/s^2 [konstant] gravitationskonstant = 6.673e-11 N*m^2/kg^2 gaskonstant = 8.314472 J/(mol*K) # R [bränsleförbrukning] mpg = mi/gal # miles/gallon mpg imp = mi/gallon imperial # miles/gallon imp liter per 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # icke-linjärt [permeabilitet] darcy = 1 cm^2*centipoise/atm/s millidarcy = 0.001 darcy ConvertAll-0.8.0/doc/000077500000000000000000000000001363574405500143515ustar00rootroot00000000000000ConvertAll-0.8.0/doc/INSTALL000066400000000000000000000006361363574405500154070ustar00rootroot00000000000000ConvertAll Installation Notes Extract the source files from the convertall tar file, then change to the 'ConvertAll' directory in a terminal. For a basic installation, simply execute the following command as root: 'python install.py' To see all install options, use: 'python install.py -h' To install ConvertAll with a different prefix (the default is '/usr/local'), use: 'python install.py -p /prefix/path' ConvertAll-0.8.0/doc/LICENSE000066400000000000000000000431031363574405500153570ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ConvertAll-0.8.0/doc/README.html000066400000000000000000000731771363574405500162130ustar00rootroot00000000000000 ConvertAll ReadMe

ReadMe file for ConvertAll

a unit conversion program

Written by Doug Bell
Version 0.8.0
March 22, 2020

Contents

Background

Why write another unit converter? There are plenty of them out there. Well, I couldn't find one that worked quite the way I wanted.

With ConvertAll, you can combine the units any way you want. If you want to convert from inches per decade, that's fine. Or from meter-pounds. Or from cubic nautical miles. The units don't have to make sense to anyone else.

Since I'm not in the software business, I'm making this program free for anyone to use, distribute and modify, as long as it is not incorporated into any proprietary programs. If you like the software, feel free to let others know about it. And let me know what you think - my email address is doug101 AT bellz DOT org

Features

  • The base units for conversion may be either typed (with auto-completion) or selected from a list.
  • As a unit is typed, the unit list is automatically filtered to show only units with matching words.
  • In general, either a unit's full name or its abbreviation can be used.
  • Units may be combined with the "*" and "/" operators.
  • Units may be raised to powers (squared, cubed, etc.) with the "^" operator.
  • Units in the denominator may be grouped with parenthesis.
  • Units with non-linear scales, such as temperature, can also be converted.
  • Recently used unit combinations may be picked from a menu.
  • Numbers may be entered on either the "From" or the "To" units side, for conversions in both directions.
  • Basic mathematical expressions may be entered in place of numbers.
  • Options control the formatting of numerical results.
  • The unit data includes over 500 units.
  • Conversions between various number bases (decimal, hexadecimal, octal and binary) can be done in a separate dialog window.
  • A decimal number can be converted to fractional numbers in a separate dialog window.
  • The format of the unit data file makes it easy to add additional units.
  • Command line options are available to do conversions without the GUI.
  • The user interface and the unit data are available in Catalan, English, French, German, Russian, Spanish and Swedish.

Legal Issues

ConvertAll 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. See the LICENSE file provided with this program for more information.

System Requirements

Linux

ConvertAll requires the following libraries:

  • Python (Version 3.4 or higher)
  • Qt (Version 5.4 or higher - see Qt Project for more information)
  • PyQt (Version 5.4 or higher - see Riverbank for more information)

Windows

Using the files provided in the binary distribution, ConvertAll should run on any computer running Windows XP, Vista, 7, 8 or 10.

Installation

Linux

Extract the source files from the convertall tar file, then change to the ConvertAll directory in a terminal. For a basic installation, simply execute the following command as root: python install.py

If your distribution defaults to Python 2.x, you may need to substitute python3 for python in these commands.

To see all install options, use: python install.py -h. To install ConvertAll with a different prefix (the default is /usr/local), use: python install.py -p /prefix/path

Windows

To install for all users, execute the ConvertAll-x.x.x-install-all.exe file. Administrator permissions are required.

To install for a single user (administrator rights are not required), execute the ConvertAll-x.x.x-install-user.exe file.

For a portable install, execute the ConvertAll-x.x.x-install-user.exe file, uncheck the shortcuts and uninstaller tasks, and check the portable config task.

Using ConvertAll

Basics

Simply type a unit name in the "From Unit" edit window. As you type, the list below the window will be filtered to show only matching units. Matching unit names contain words starting with the words that are typed. Either type the complete unit name/abbreviation or hit the return key to use the unit highlighted (blue letters) in the list. Of course, clicking with the mouse on a unit in the list will also add the unit to the edit window. You may also use the up and down arrow keys to highlight nearby units from the list.

Repeat the unit selection in the "To Unit" edit window. When done, if the units are compatible, the numeric edit windows below the unit lists will activate. A number may be entered into either numeric window and the other window will display the conversion result.

Combining Units

The real strength of ConvertAll lies in its ability to combine multiple units. Simply type the unit names with an '*' or a '/' between them. This allows the entry of units such as "ft * lbf" or "mi / hr". The '^' symbol may be used for exponents, such as "ft^3" or "ft * lbm / sec^2". Negative exponents are allowed for units such as "sec^-1" (per second), but may switch the multiplication or division symbol ("ft * sec^-2" becomes "ft / sec^2").

Multiplication and division have the same precedence, so they are evaluated left-to-right. Parenthesis may also be used to group units in the denominator. So "m / sec / kg" can also be entered as "m / (sec * kg)". The version with parenthesis is probably less confusing.

The buttons below the unit text boxes can also be used to add operators to the active unit that is closest to the cursor. The Square and Cube buttons will add or replace exponents. The Multiply and Divide buttons will add "*" and "/" operators.

Similarly, clicking on a unit from the list generally replaces the unit nearest the cursor.

The "Clear Unit" button below the operator buttons may be used to empty the unit edit window to allow a new unit to be entered.

The "Filter List" button can be used to show only one type of unit in the list. Note that this doesn't show units that could be combined to form a type.

Non-Linear Conversions

The conversion of some units is non-linear. Examples of these include the Fahrenheit and Celsius temperature scales (due to an offset zero point) and the American Wire Gauge (logarithmic). The non-linear units are labeled as such in the comments column.

These units can be converted only when they are not combined with other units or used with an exponential operator. Otherwise the conversion would not be meaningful.

Shortcuts

When typing unit names, spaces are ignored, so they may be skipped. It is also generally ignored if a plural form of the unit name is typed. For squared and cubed units (positive exponents of 2 or 3) the "^" symbol does not need to be typed.

When a partially typed unit is highlighted in the list (blue lettering), hitting enter will complete the name. The up an down arrow keys can be used to highlight nearby units in the list prior to hitting enter. The unit closet to the cursor will be replaced.

The "Recent Unit" button opens a menu of recently used units and unit combinations. The current unit combination is replaced with any selections from this menu.

The tab key can be used to cycle between the "From" and "To" unit test boxes and the "From" and "To" number editors.

The number to be converted may be entered in either the "From" or "To" unit side. Standard or scientific notation may be used, or an expression including the normal math operators (+, -, *, /, **) and parenthesis may be entered.

Numbering System Conversions

The "Bases" button brings up a dialog that can convert between various numbering system bases. There are entry boxes for decimal, hexadecimal, octal and binary entries. A number can be entered into any of the boxes and equivalents will be shown in the others.

The "Fractions" button brings up a dialog that can list fractional equivalents for a decimal number. Type the number and press enter. The fractions are listed in order of increasing accuracy.

Options

The "Options..." button allows for changing several default settings. These settings are automatically stored so that ConvertAll will re-start with the settings last used.

The first options control the display of numerical results, including the use of scientific notation and the number of decimal places. Be cautious about setting the number of decimal places to a low value, which can result in a significant loss of accuracy. Six places or higher is recommended (eight is the default).

There is an option to set the number of recent units to be saved. Setting it to zero will disable the Recent Unit buttons. Another option will automatically load the most recent previous units at startup.

There are options to hide the operator text buttons (first row), and the unit buttons (second row). These can be hidden to save space if the keyboard will be used to enter the operators.

Buttons are also included on the options dialog to control GUI colors and fonts. Colors can be selected by theme or individually. Larger fonts can be selected for use on high-resolution displays.

Command Line Usage

Conversions may be done from the command line (Linux or DOS console) without invoking the graphical interface. Enter the command ("convertall" on Linux, "convertall_dos" from the Windows binary), the number, the from unit and the to unit (separated by spaces) to do the conversion. Unit names containing spaces should be surrounded by quotes. Or, to be prompted for each unit entry, use the "-i" option ("convertall -i" on Linux, "convertall_dos -i" from Windows).

After the conversion is done, ConvertAll will prompt for a new number to do the same conversion. Or "n" can be entered to start a new conversion, "r" to reverse the conversion or "q" to quit.

For a more detailed list of options, use the "-h" option ("convertall -h" on Linux, "convertall_dos -h" on Windows).

Revision History

March 15, 2020 - Release 0.8.0

    New Features:
  • Added a separate base conversion dialog to convert between different base numbering systems. It converts from/to decimal, hexadecimal, octal and binary bases.
  • Added a separate fraction conversion dialog to convert from decimal to fractional numbers. It provides a list of fractions in order of increasing accuracy.
  • A GUI font selection button was added to the Options dialog. This allows larger fonts to be used for high resolution displays.
  • A new GUI color setting dialog was added to the Options dialog. It allows a dark theme to be selected, or colors can be selected individually.
    Updates:
  • Added the Beaufort wind speed unit.
  • R-value thermal resistance units were added.
  • The diopter/dioptre optical power unit was added.
  • Added the rydberg and hartree energy units.
  • Added the Planck constant as a unit.
  • Slightly adjusted the conversion value of the atomic mass unit (amu) and added the dalton synonym.
  • Slightly adjusted the conversion value of the astronomical (au) and the parsec units.
  • Add Swedish translation (thanks to Ake Engelbrektson).
  • Add Catalan translation (thanks to Pere Orga).
  • Update the libraries used to build the Windows binaries to Python 3.8 and Qt/PyQt 5.14.
    Bug Fixes:
  • Fixed a problem with the ConvertAll window being positioned off the screen after major changes in resolution when using external monitors.
  • Clarified the labels for several power-of-10 data units (KB, MB, etc.) to show as "SI standard" rather than "IEC standard".

July 4, 2018 - Release 0.7.5

    Updates:
  • Updated the Russian GUI and unit translation (thanks to Ivan / vantu5z).
    Bug Fixes:
  • Fix the tab sequence to allow tabbing between the unit edit boxes and the numeric edit boxes.

April 4, 2018 - Release 0.7.4

    New Features:
  • Added a desktop file to the Linux version to provide menu entries.
  • Added an option to disable saving the window position and size at startup.
    Updates:
  • Added US drill bit gauge sizes as a non-linear unit.
  • Added gigabit and terabit data units.
  • Adjusted the liter per 100 km fuel economy unit definition in the German translation to match the English version.

October 15, 2017 - Release 0.7.3

    Updates:
  • Added the boiler horsepower unit.
    Bug Fixes:
  • Fixed a crash if a zero value is entered when the engineering notation option is enabled.
  • Fixed an initialization issue that caused problems with some versions of Python.

February 20, 2017 - Release 0.7.2

    Bug Fixes:
  • Fix a crash due to an overflow error when typing part of an exponent in the denominator of the second unit.
  • Avoid flipping the preceding operator between multiplication and division as a unit exponent of 0.5 is typed.

February 4, 2017 - Release 0.7.1 (Linux only)

    Bug Fixes:
  • Replaced outdated dependency checks in the Linux installer - it now runs checks for Qt5 libraries.
  • Fixed a timing issue in the Linux installer so that byte-compiled files do not have old timestamps.

January 8, 2017 - Release 0.7.0

    New Features:
  • Dual unit lists have been replaced with a single list that works with the active unit line editor.
  • As a unit is typed, the listing of units is reduced to only include units that match the typed words.
  • The unit list can be sorted by clicking on the column headings.
  • The unit list can be filtered to only show units of a certain type.
  • Simple unit exponents (positive 2 and 3) can be typed with just the number (leaving out the "^" character).
  • Now permits decimals to be entered for unit exponents, supporting roots of units.
  • ConvertAll has been ported from the Qt4 to the Qt5 library.
    Updates:
  • Since the main unit list can now be searched, sorted and filtered, the Unit Finder Dialog has been removed.
  • Added the British Std Wire Gauge non-linear unit.
  • Added the ton imperial unit.
  • Added the cable nautical unit.
  • Added the MBH (1000 Btu/hr) unit.
  • Added Cape foot, square perch and rood units.
    Bug Fixes:
  • Corrected some unit definitions in the French translation, including avogadro's number, lambert, poise and the gravitational constant.

September 10, 2015 - Release 0.6.1

    New Features:
  • Added an option to output results in engineering notation (a version of scientific notation with exponents divisible by three).
  • A Russian translation was added. Thanks to vantu5z for translating.
    Updates:
  • Added the dram mass unit.
  • Added the fluid dram and the minim volume units, in both US and Imperial versions.
  • Added the smoot length unit.
  • Added "dm" as an abbreviation for the decimeter length unit.
  • Added "avoirdupois" to the comment column for applicable mass and weight units.
  • Added "fresh water" to the comment column for applicable depth-based pressure units.
  • The German translation was updated. Thanks to Thomas Helmke for translating.
  • Added some MSVC runtime DLL files to the Windows installers to avoid problems on PCs that do not already have them.
  • Clarified some dependency checker error messages in the Linux installer.
    Bug Fixes:
  • Fixed an error in the unit data formula for the AWG area unit.
  • Changed the value of the caliber unit to be equivalent to inches (typical written usage), not hundredths of an inch (typical verbal usage).

February 1, 2014 - Release 0.6.0

    New Features:
  • ConvertAll has been ported from Python 2 to Python 3. This porting includes some code cleanup.
  • Added an option to automatically load the last used units at startup.
  • Added an introductory tip dialog box that explains combined units. There is also an option to hide this dialog.
  • There is an additional Windows installer for users without administrator rights and for portable installations.
  • Added a Windows installer option to add a config file to the program's directory for portable installations. If that file is present, no config files will be written to users' directories.
    Updates:
  • The Windows binaries are built using more recent Python, Qt and PyQt libraries.
  • The user interface and unit data language translations are now included in the main installation files.
  • Added the long ton unit (Imperial version of the ton).
  • Added the kilopond unit as a synonym of kilogram-force.
  • Added the micron of Hg pressure unit.
  • Added the lunar distance (LD) astronomical distance unit.
  • Added the rack unit (height of an electrical rack).
  • Added the versta Russian length unit.
    Bug Fixes:
  • Fixed the operation of the "Clear" button in the Unit Finder dialog.
  • Fixed a problem with the definition of the BTU unit in the French translation.

November 2, 2011 - Release 0.5.2

    Updates:
  • Added the microliter volume unit.
  • Added the galileo acceleration unit.
  • Added the stremma land area unit.
    Bug Fixes:
  • Changed the method of identifying a "unitless" portion of a unit to avoid falsely reporting incompatibility between some units when using language translations.

March 31, 2011 - Release 0.5.1

    Updates:
  • Added the link length unit.
  • Added US survey variations of the mile and chain length units.
  • Added the centigray radiation dose unit.
  • Use DOS newline characters in the Windows version of the unit data file for easier editing by users.
    Bug Fixes:
  • Fixed incorrect definition of the rad radiation dose unit (it was off by a factor of 10).

May 2, 2010 - Translation Update 0.5.0b

    Updates:
  • Added a Spanish translation. The French and German translations remain unchanged.

April 23, 2010 - Release 0.5.0

    New Features:
  • Multiplication and division operators now have the same precedence. In previous versions of ConvertAll, a series of units after a division symbol were assumed to be in the denominator. Now, a division operator only affects the unit (or the unit group in parenthesis) immediately after the operator.
  • Parenthesis are now supported to group units in the denominator of a combined unit. For example, ""m / sec / kg" can also be entered as "m / (sec * kg)".
  • "Recent Unit" buttons have been added that open a menu of recently used units and unit combinations. A unit selected from the menu will replace the current unit combination. There is also a new option dialog entry that controls the maximum length of this menu.
    Updates:
  • Added the tonne force metric force unit.
  • Added hundredweight long and hundredweight short mass units.
  • Added an American Wire Gauge (AWG) area unit in addition to the existing AWG diameter unit.
  • Added the tonne oil equivalent and the tonne coal equivalent energy units.
  • Added the ton refrigeration power unit.
  • Added the darcy and millidarcy permeability units.
  • French and German translations have been added for the user interface and the unit data. To use them, download and install the "convertall-i18n..." file for your platform (in addition to installing the standard ConvertAll package).
    Bug Fixes:
  • Fixed problems with running in the command line mode from Linux consoles without X11 present.

September 24, 2009 - Release 0.4.3

    New Features:
  • Prepared ConvertAll for translation efforts by properly handling Unicode characters in unit data and by marking internal program strings for translation. Volunteers for translating ConvertAll into other languages are welcome.
    Updates:
  • Added solar mass and pennyweight mass units.
  • Added therm and thermie energy units.
  • Added gauss and maxwell magnetic units.
  • Added the US survey foot length unit.
  • Added the mpg imp mileage unit.
  • Changed the value of the point unit from the old American point to the more modern desktop publishing point.
    Bug Fixes:
  • A critical QString conversion bug that caused ConvertAll to not run with the latest version of PyQt (4.5.4) was fixed.
  • Command line quiet mode was fixed to avoid an interactive prompt when bad unit data is entered.

May 28, 2008 - Release 0.4.2

    Updates:
  • Added the "liter per 100 km" unit for fuel consumption.
    Bug Fixes:
  • Changed the "mach" unit from 331.46 m/s to 340.29 m/s. It is now correct for STP conditions (15 degrees C). The previous value was for 0 degrees C.
  • Fixed a bug that could hide messages about errors in a manually edited unit data file.

January 22, 2008 - Release 0.4.1

    New Features:
  • An optional command line mode was added to do conversions without the graphical interface. Enter the command ("convertall"), the number, the from unit and the to unit (separated by spaces) to do the conversion. For a more detailed list of options, enter "convertall -h" on the command line.
    Updates:
  • The icon used for ConvertAll has been updated. Thanks to Ricardo Berlasso for the new artwork.
  • Alternate units have been added for kilobyte, megabyte, etc., marked "IEC std". These convert using powers of 10, rather than powers of 2.
  • Troy pounds and troy ounces have been added.
  • Gigapascal, hectopascal and megabar have been added.
  • Hogshead units for wine and beer have been added.
  • The Swedish mil unit of distance has been added.
  • The Thai rai and ngaan units of land area have been added.

October 5, 2006 - Release 0.4.0

    New Features:
  • ConvertAll was ported to the Qt4 library. This involved a significant rewrite of the code. The previous versions used Qt3.x on Linux and Qt2.3 on Windows. Benefits include updated widgets and removal of the non-commercial license exception in Windows.
    Updates:
  • On Windows, the ConvertAll.ini file has been moved from the installation directory to a location under the "Documents and Settings" folder. This avoids problems on multi-user systems and for users with limited access rights.

October 5, 2006 - Release 0.3.2

    Updates:
  • Added Imperial (UK) gallons, quarts, pints and fluid ounces.
  • Added gigagram and teragram units.
  • Added the pound-mole unit and clarified that the existing mole is a gram-mole.

February 14, 2005 - Release 0.3.1

    Updates:
  • Added the decare unit for land area.
  • The Linux installer has been updated to be more robust and give more install directory options.
    Bug Fixes:
  • The barn unit, used in particle physics, was corrected. It had been incorrectly listed as a length unit instead of an area unit.

March 11, 2004 - Release 0.3.0

    New Features:
  • A unit finder window was added to allow the unit list to be filtered and searched.
  • The size and position of the main and finder windows are now saved at exit.
  • A new option allows the operator text entry buttons (x, /, ^2, ^3 and Clear Unit) to be hidden.
  • An install program has been added for windows.
    Bug Fixes:
  • Fixed Linux install script problems with certain versions of Python.

November 18, 2003 - Release 0.2.4

    Updates:
  • Keyboard shortcuts and tab-focus order for the main dialog have been improved.
  • An install script was added for Linux and Unix systems.
  • The windows build now uses Python version 2.3 and PyQt version 3.8.

March 24, 2003 - Release 0.2.3

    Updates:
  • When an expression using division is entered for the number to be converted, floating point division is now used even if the entries are integers (Python 2.2 or greater only).
  • Mouse wheels are now supported in the unit lists.
  • Icon files are now provided with the distribution files.

May 28, 2002 - Release 0.2.2a

    Bug Fixes:
  • A fix of the Windows binary only. Fixes major problems by upgrading the library version to PyQt 3.2.4.

May 16, 2002 - Release 0.2.2

    Updates:
  • ConvertAll has been ported to Qt 3.x. It now works with both Qt 2.x and 3.x using the same source code.
  • The help/readme file has been rewritten and now includes section links.
  • The binaries for windows have been updated to Python 2.2 and PyQt 3.2 (but are still using Qt 2.3 Non-commercial).

September 17, 2001 - Release 0.2.1

    Bug Fixes:
  • Some window captions and icons were corrected.
  • A window maximizing bug was fixed.

August 20, 2001 - Release 0.2.0

    New Features:
  • A major rewrite was done of the conversion engine.
  • A new data file format makes it easier to add and verify units.
  • The unit name and abbreviation are now listed separately for better sorting and searching.
  • Entering of units has been improved by changing operator precedence, by ignoring spaces and plurals, and by changing the partial selection list highlight.
  • An expression can now be used for the number to be converted.
    Updates:
  • Many additional units were added to the database.
  • For MS Windows users, the binary files were upgraded to PyQt Version 2.5.

August 10, 2001 - Release 0.1.1

    New Features:
  • Added color controls to the options dialog.
    Updates:
  • The convertall.ini file on windows was moved to the program directory.
    Bug Fixes:
  • Fixed problems with using the same unit twice in a combined unit.
  • Fixed an occasional shutdown when auto-completing.
  • Fixed a problem with the updating of the unit label.

July 28, 2001 - Release 0.1.0

    Initial release.

Questions, Comments, Criticisms?

I can be contacted by email at: doug101 AT bellz DOT org
I welcome any feedback, including reports of any bugs you find. Also, you can periodically check back to www.bellz.org for any updates.

ConvertAll-0.8.0/doc/README_de.html000066400000000000000000000357071363574405500166600ustar00rootroot00000000000000 README-Datei zu ConvertAll

README-Datei zu ConvertAll

Ein Programm zum Konvertieren von Einheiten

Geschrieben von Doug Bell
Version 0.8.0

Inhalt

Hintergrund

Warum noch ein Einheiten-Konverter? Es gibt doch bereits jede Menge. Tja, ich konnte aber keinen finden, der so funktionierte, wie ich es mir vorstellte.

Mit ConvertAll kann man Einheiten auf beliebige Weise kombinieren. Wenn Sie von Zoll pro Dekade konvertieren wollen, in Ordnung. Oder von Meterpfund. Oder von nautischen Kubikmeilen. Die Einheiten müssen für niemand anderen einen Sinn ergeben.

Da ich nichts mit dem Software-Business zu tun habe, erlaube ich jedem, das Programm kostenlos zu nutzen, zu verteilen und zu modifizieren, so lange es nicht Teil eines proprietären Programms wird. Wenn Ihnen die Software gefällt, sagen Sie es ruhig weiter. Und teilen Sie mir mit, was Sie denken. Meine E-Mail-Adresse ist doug101 AT bellz DOT org.

Features

  • Die Basiseinheiten für die Konvertierung können eingetippt (mit Auto-Vervollständigung) oder aus einer Liste ausgewählt werden.
  • Einheiten können sowohl mit ihrer Abkürzung als auch mit ihrem vollen Namen angegeben werden.
  • Einheiten können mit den Rechenoperationen „*“ und „/“ kombiniert werden.
  • Mit dem Operator „^“ können Einheiten zu einer Potenz erhoben werden.
  • Einheiten im Nenner können mit Klammern gruppiert werden.
  • Auch Einheiten mit nichtlinearen Skalen, wie Temperatur, können konvertiert werden.
  • Eine Liste von Einheiten kann gefiltert und durchsucht werden.
  • Die zuletzt benutzten Einheitenkombinationen können in einem Menü ausgewählt werden.
  • Zahlen können sowohl auf der Seite der Quell- als auch der Zieleinheit angegeben werden, um in beide Richtungen konvertieren zu können.
  • Anstelle von Zahlen können auch einfache mathematische Ausdrücke eingegeben werden.
  • Die Formatierung der numerischen Ergebnisse kann durch Optionen festgelegt werden.
  • Die Einheitendaten enthalten mehr als 500 Einheiten.
  • Das Format der Einheitendatei macht es einfach, neue Einheiten hinzuzufügen.
  • Mit Hilfe von Kommandozeilenoptionen können Umwandlungen ohne die GUI vorgenommen werden.

Rechtliches

ConvertAll ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE. Details finden Sie in der Datei LICENSE, die mit diesem Programm ausgeliefert wird.

Systemanforderungen

Linux

ConvertAll benötigt die folgenden Bibliotheken:

  • Python (Version 3.2 oder höher)
  • Qt (Version 4.6 oder höher - siehe Trolltech für weitere Informationen)
  • PyQt (Version 4.8 oder höher - siehe Riverbank für weitere Informationen)

Diese Libraries sind relativ neu - evtl. gibt es kein Paket für Ihre Distribution. In diesem Fall gibt es noch eine frühere Version von ConvertAll (0.3.2), die von älteren Versionen der Libraries abhängt. Diese steht aber leider nur in Englisch zur Verfügung.

Windows

Wenn Sie die Dateien aus dem Binärpaket nutzen, sollte ConvertAll auf jedem Computer mit Windows XP, Vista, 7 oder 8 laufen.

Installation

Linux

Packen Sie die Quelldateien aus dem convertall tar-Archiv aus, wechseln Sie dann in einem Terminal in das Verzeichnis ConvertAll. Für eine einfache Installation führen Sie nur den folgenden Befehl als „root“ aus: python install.py

Um alle Installationsoptionen zu sehen, geben Sie ein: python install.py -h

Um ConvertAll unter einem anderen Verzeichnispräfix zu installieren (der Default ist /usr/local), geben Sie dies ein: python install.py -p /prefix/pfad

Windows

Führen Sie einfach die heruntergeladene Installationsdatei aus (convertall-x.x.x-install-all.exe). Damit wird das Programm mit den Libraries installiert und optional werden Dateitypzuordnungen und Verweise angelegt.

Wenn Sie den Quellcode modifizieren wollen oder eigene PyQt-Programme für Windows schreiben wollen, dann folgen Sie nicht den gerade beschrieben Ablauf. Stattdessen müssen Sie Python und das Binary von PyQt installieren. Dann entpacken Sie den Sourcecode und die Daten-Dateien der Linux-Version (die convertall tar-Datei) in ein Verzeichnis Ihrer Wahl und führen die Datei convertall.py aus.

ConvertAll benutzen

Grundlagen

Geben Sie einfach einen Einheitennamen in das Eingabefeld „Ausgangseinheit“ ein. Während Sie tippen, verschiebt sich die Liste unter dem Eingabefeld, bis Einheitennamen angezeigt werden, die Ihrer Eingabe ähnlich sind. Geben Sie entweder das Einheitenkürzel bzw. den Einheitennamen komplett an oder drücken Sie die Eingabetaste, um die in der Liste hervorgehobene Einheit zu nehmen. Natürlich können Sie auch mit der Maus auf eine Einheit aus der Liste klicken, um sie in das Eingabefeld zu übernehmen. Sie können auch die Pfeiltasten nach oben und unten benutzen, um benachbarte Einheiten aus der Liste auszuwählen.

Wiederholen Sie die Einheiteneingabe im Eingabefeld „Zieleinheit”. Wenn Sie fertig und die Einheiten kompatibel sind, dann sehen Sie, dass die numerischen Eingabefelder unterhalb der Einheitenlisten aktiviert werden. Sie können in eines der beiden Felder einen Zahlenwert eingeben, und im anderen Feld wird das Ergebnis der Umwandlung stehen.

Einheiten kombinieren

Die wahre Stärke von ConvertAll liegt in seiner Fähigkeit, mehrere Einheiten zu kombinieren. Geben Sie einfach die Einheitennamen mit einem ‚*‘ oder ‚/‘ dazwischen ein. Damit können Sie Einheiten wie „N*m” oder „km/hr“ ausdrücken. Das Symbol ‚^‘ kann für Exponenten genutzt werden, wie „m^3“ oder „kg*m/s^2”. Negative Exponenten sind erlaubt, um Einheiten wie „sec^-1“ (pro Sekunde) angeben zu können, aber es kann sein, dass sich dadurch Multiplikations- oder Divisionszeichen umkehren („m*s^-2“ wird zu „m/s^2”).

Multiplikation und Division haben die gleiche Präzedenz und werden daher von links nach rechts ausgewertet. Es können auch Klammern benutzt werden, um die Einheiten im Nenner zu gruppieren. Daher kann „m / sec / hr“ auch als „m / (sec * hr)“ eingegeben werden. Die Variante mit den Klammern ist möglicherweise weniger verwirrend.

Die Schaltflächen unter den Einheitenlisten („X“, „/“, „^2“, „^3“) fügen ebenfalls den jeweiligen Operator hinter der Einheit ein, die der Schreibmarke am nächsten steht. Die Schaltflächen für die Exponenten ersetzen den Exponenten der Einheit.

Auch wenn Sie auf eine Einheit aus der Liste klicken, wird im Allgemeinen die der Schreibmarke am nächsten stehende Einheit im Eingabefeld ersetzt.

Die Schaltfläche „Einheit löschen“ unter den Operator-Schaltflächen kann benutzt werden, um das Eingabefeld zu löschen und eine neue Einheit eingeben zu können.

Abkürzungen

Wenn Sie Einheitennamen eingeben, werden Leerzeichen ignoriert. Sie können sie also weglassen. Wenn Sie einen Teil eines Einheitennamens bereits eingetippt haben, wird der entsprechende Eintrag in der Liste hervorgehoben. Durch Drücken der Eingabetaste wird der Name im Eingabefeld vervollständigt. Auch durch Betätigen der Tabulatortaste wird der Name vervollständigt und zum nächsten Eingabefeld gesprungen.

Die Schaltfläche „Zuletzt benutzte Einheit“ öffnet ein Menü der zuletzt verwendeten Einheiten und Einheitenkombinationen. Die aktuelle Einheitenkombination wird durch eine Auswahl in diesem Menü ersetzt.

Der zu konvertierende Zahlenwert kann entweder auf der „Ausgangs”- oder der „Ziel”-Seite eingegeben werden. Für die Eingabe kann Standard- oder wissenschaftliche Schreibweise benutzt werden, oder ein Ausdruck mit einfachen mathematischen Operatoren (+, -, *, /, **) und Klammern.

Einheitensuche

Die Einheitensuche kann benutzt werden, um Einheiten nach Typ zu filtern und/oder mit einem Textstring nach Einheiten zu suchen. Sie zeigt in einem neuen Fenster eine separate Einheitenliste. Die Liste wird anhand des Filters und der Sucheingabe aktualisiert.

Mit Schaltflächen weiter unten im Suchfenster kann die ausgewählte Einheit zu den Einheiten in einem Eingabefeld im Hauptfenster hinzugefügt werden. Die „Ersetzen”-Schaltflächen ersetzen die gesamte Eingabe durch die ausgewählte Einheit. Die „Einfügen”-Schaltflächen ändern nur den Teil einer kombinierten Einheit, der aktiv ist (bei der Schreibmarke im jeweiligen Eingabefeld des Hauptfensters).

Optionen

Die Schaltfläche „Optionen...“ öffnet ein Fenster, in dem sich verschiedene Voreinstellungen ändern lassen. Diese werden automatisch gespeichert, ConvertAll startet das nächste Mal automatisch mit den zuletzt gewählten Einstellungen.

Die erste Option bestimmt die Anzeige numerischer Ergebnisse, einschließlich der Verwendung einer wissenschaftlichen Zahlennotation und der Anzahl der dargestellten Dezimalstellen. Setzen Sie die Zahl der Dezimalstellen nicht zu niedrig, da hierdurch die Genauigkeit stark leiden kann. Sechs oder mehr Stellen sind empfohlen (acht ist die Voreinstellung).

Es gibt eine Option, um festzulegen, wie viele der zuletzt benutzten Einheiten gespeichert werden sollen. Setzt man die Zahl auf Null, dann werden die Schaltflächen für den Zugriff auf die zuletzt benutzten Einheiten deaktiviert.

Ein Option dient dazu, die Schaltflächen mit den Operationen („X“, „/“, „^2“, „^3“, „Einheit löschen“ und „Zuletzt verwendete Einheit“) zu verstecken. Durch diese Option kann man Platz sparen, falls Sie die Operatoren nur mit der Tastatur eingeben.

Weitere Schaltflächen im Optionsdialog dienen dazu, die Farben der Textfelder zu ändern.

Nichtlineare Umwandlungen

Bei einigen Einheiten ist die Umwandlung nichtlinear. Dazu gehören zum Beispiel die Temperaturenskalen für Fahrenheit und Celsius (da der Nullpunkt einen Offset hat) und für American Wire Gauge (amer. Kodierung für Drahtdurchmesser, logarithmische Skala). Die nichtlinearen Einheiten sind in der Kommentarspalte (rechts von der Typ-Spalte) als solche gekennzeichnet.

Diese Einheiten können nur umgewandelt werden, wenn sie nicht mit anderen Einheiten kombiniert werden und keinen Exponenten tragen. Andernfalls wäre die Umwandlung nicht sinnvoll.

Verwendung auf der Kommandozeile

Umwandlungen können auf der Kommandozeile (Linux-Konsole oder Windows/DOS Befehlsaufforderung) ausgeführt werden, ohne die grafische Benutzerschnittstelle aufzurufen. Geben Sie den Befehl („convertall“ unter Linux, „convertall_dos“ aus dem Windows-Binäarpaket), gefolgt von der Zahl, der Ausgangseinheit und der Quelleinheit an, getrennt durch Leerzeichen. Wenn Einheitennamen Leerzeichen enthalten, müssen sie in Anführungszeichen gesetzt werden. Alternativ können Sie auch die Option „-i“ auf der Kommandozeile verwenden („convertall -i“ unter Linux, „convertall_dos -i“ unter Windows), die Angaben werden dann interaktiv eingegeben.

Wenn die Umwandlung erfolgt ist, fragt ConvertAll nach einer neuen Zahl für die gleiche Umwandlung. Mit „n“ wird eine neue Umwandlung gestartet, mit „r“ kann die Konversion umgekehrt werden, mit „q“ wird das Programm beendet.

Mit der Option „-h“ auf der Kommandozeile („convertall -h“ unter Linux, „convertall_dos -h“ unter Windows) bekommen Sie eine ausführlichere Liste der Optionen.

Versionshistorie

Die vollständige Versionshistorie befindet sich in der englischen Version der README-Datei.

Fragen, Kommentare, Kritik?

Man kann mich per E-Mail erreichen unter: doug101 AT bellz DOT org
Ich freue mich über jedes Feedback, einschließlich Mitteilung über Fehler, die Sie finden. Schauen Sie auch regelmäßig unter www.bellz.org nach Updates.

ConvertAll-0.8.0/doc/README_es.html000066400000000000000000000325551363574405500166750ustar00rootroot00000000000000 Archivo "léame" para ConvertAll

Archivo "Léame" para ConvertAll

Un programa para convertir unidades

Escrito por Doug Bell
Versión 0.8.0

Contenidos

Introducción

¿Porqué otro convertidor de unidades? Existen muchos por allí. Bien, no he podido encontrar uno que funcionara en la forma que yo quería.

Con ConvertAll, usted puede combinar las unidades en la forma que quiera. Si usted quiere convertir desde pulgadas por década, está bien. O desde metro-libra. O desde millas náuticas al cubo. Las unidades no tienen porqué tener sentido para los demás.

Dado que no estoy en el negocio del software, distribuyo este programa libremente para que cualquiera lo utilice, lo distribuya o lo modifique, siempre y cuando no sea incorporado en ningún programa propietario. Si le gusta este programa siéntase en libertad de darlo a conocer a otros. Y hágame saber qué es lo que piensa - mi dirección de e-mail es doug101 AT bellz DOT org

Características

  • Las unidades básicas para la conversión pueden ser escritas (con completado automático) o seleccionadas desde una lista.
  • Las unidades pueden ser elegidas ya sea por una abreviación o por su nombre completo.
  • Las unidades pueden combinarse con las operaciones "*" y "/".
  • Las unidades pueden elevarse a una potencia con el operador "^".
  • Las unidades en el denominador pueden agruparse con paréntesis.
  • Las unidades con escalas no lineales, como la temperatura, pueden también ser convertidas.
  • Una lista de unidades puede ser filtrada y se pueden realizar búsquedas en ella.
  • Combinaciones de unidades ya utilizadas pueden ser seleccionadas desde un menú.
  • Los números pueden introducirse ya sea en las entradas "Desde" o "Hacia" para conversiones en ambas direcciones.
  • Expresiones matemáticas básicas pueden ser introducidas en lugar de números.
  • Existen opciones para controlar el formato de los resultados numéricos.
  • El archivo de datos cuenta con más de 500 unidades.
  • El formato del archivo de datos permite agregar unidades muy fácilmente.
  • Opciones para la línea de comandos están disponibles para realizar conversiones sin interfaz gráfica.

Cuestiones legales

ConvertAll es software libre; puede usted distribuirlo y/o modificarlo bajo los términos de la licencia pública general GNU como ha sido publicada por la Free Software Foundation; ya sea la versión 2 de la licencia o (a su opción) cualquier versión posterior.

Este programa es distribuido con la esperanza de que resulte de utilidad, pero SIN NINGUNA GARANTÍA. Mire el archivo de LICENCIA distribuido con este programa para mayor información.

Requerimientos del sistema

Linux

ConvertAll requiere las siguientes librerías:

  • Python (Versión 3.2 o superior)
  • Qt (Versión 4.6 o superior - ver Trolltech para más información)
  • PyQt (Versión 4.8 o superior - ver Riverbank para más información)

Windows

Utilizando los archivos provistos en la distribución binaria, ConvertAll debería correr en cualquier computador utilizando Windows XP, Vista, 7 o 8.

Instalación

Linux

Extraiga los archivos fuente del archivo tar de convertall, cambie al directorio ConvertAll en la terminal. Para una instalación básica, simplemente ejecute el siguiente comando como administrador: python install.py

Para ver todas las opciones de instalación, utilice: python install.py -h

Para instalar ConvertAll con un prefijo diferente (el valor por defecto es /usr/local), utilice: python install.py -p /prefix/path

Windows

Simplemente ejecute el archivo de instalación descargado (convertall-x.x.x-install-all.exe). Esto instalará el programa con sus librerías y opcionalmente creará las asociaciones de archivos y los accesos directos.

Si usted desea modificar el código fuente o escribir sus propios programas PyQt para Windows, no utilice el procedimiento anterior. En cambio, usted necesita instalar Python y los binarios para PyQt. Extraiga entonces el código fuente y los archivos de datos desde la versión para Linux (el archivo tar para convertall) a un directorio de su elección y ejecute el archivo convertall.py.

Utilizando ConvertAll

Bases

Simplemente escriba el nombre de una unidad en la ventana de edición "Desde unidad" (From Unit). Mientras escribe, la lista debajo se moverá para mostrar el nombre de la unidad más cercano. Puede o bien escribir el nombre completo de la unidad o su abreviación o presionar Enter para utilizar la unidad seleccionada en la lista. Por supuesto, clickando con el ratón en una unidad de la lista también agregará la unidad a la ventana de edición. También es posible utilizar las teclas "arriba" y "abajo" para seleccionar una unidad de la lista.

Repita el procedimiento para seleccionar unidades en la ventana de edición "A unidad" (To Unit). Cuando esté listo, si las unidades son compatibles verá que se activa la ventana de edición numérica debajo de la lista de unidades. Un número puede ser escrito en cualquiera de las ventanas numéricas y la otra mostrará el resultado de la conversión.

Combinando unidades

La verdadera fuerza de ConvertAll descansa en su habilidad para combinar múltiples unidades. Simplemente escriba los nombres de las unidades con '*' o '/' entre ellas. Esto permite entradas como "m*kg" o "km/hr". El símbolo '^' puede utilizarse para exponentes, como "cm^3" o "cm*gr/seg^2". Exponentes negativos pueden utilizarse para unidades como "seg^-1" (por segundo), pero puede cambiar entre los símbolos de multiplicación y división ("cm*seg^-2" se convierte en "cm/seg^2").

Multiplicación y división tienen la misma precedencia, por lo que son evaluadas de izquierda a derecha. Es posible utilizar paréntesis para agrupar unidades en el denominador. De esta forma "m / seg / kg" puede ser también escrito como "m / (seg * kg)". La versión entre paréntesis es probablemente menos confusa.

Los botones debajo de las listas de unidades ('X', '/', '^2', '^3') insertarán también los correspondientes operadores después de la unidad más cercana al cursor. Los botones con exponentes reemplazarán los exponentes de la unidad.

En modo semejante, haciendo click en una unidad de la lista generalmente reemplaza la unidad más cercana al cursor.

El botón de "Limpiar unidades" (Clear Unit) debajo de los botones con los operadores puede ser utilizado para vaciar la ventana de edición de unidades y así permitir que nuevas unidades sean escritas.

Atajos de teclado

Cuando se escriben unidades, los espacios son ignorados por lo que pueden evitarse. También será generalmente ignorado si la forma plural del nombre de la unidad es introducida. Cuando una unidad escrita parcialmente es seleccionada de la lista, presionar Enter completará el nombre. Además, presionar la tecla tab completará el nombre y moverá el cursor al siguiente campo de entrada.

El botón "Unidades recientes" (Recent Unit) abre un menú con las unidades y combinaciones de unidades recientemente utilizadas. La combinación de unidades actual será reemplazada con cualquier selección de ese menú.

El número a ser convertido puede ser ingresado ya sea en "Desde" o en "a". Notación científica estándar puede utilizarse, o una expresión incluyendo los operadores matemáticos normales (+, -, *, /, **) y paréntesis puede ser escrita.

Buscador de unidades

El buscador de unidades (Unit Finder) puede utilizarse para filtrar unidades por tipo y/o buscar unidades utilizando una cadena de texto. El buscador mostrará una lista de unidades separada en una nueva ventana. La lista será actualizada según el filtro y la cadena de búsqueda utilizados.

Los botones cerca de la parte baja de la ventana del buscador agregarán la unidad elegida a las unidades de la ventana principal. El botón "Reemplazar" (Replace) reemplazará toda la combinación de unidades con la selección. El botón "Insertar" (Insert) cambia solo la parte de la unidad combinada que está activa (a la posición del cursor en la ventana principal).

Opciones

El botón "Opciones..." (Options) permite cambiar varios valores por defecto de la configuración. Estos valores son automáticamente almacenados y por lo tanto ConvertAll iniciará con los valores utilizados por última vez.

La primer opción controla la forma en que se muestran los resultados numéricos, incluyendo el uso de notación científica y el número de decimales a utilizar. Tenga cuidado con seleccionar el número de decimales muy bajo ya que podría significar una importante pérdida de precisión. Seis o más dígitos es recomendable (ocho es el valor por defecto).

Sigue la opción para configurar el número de unidades recientemente utilizadas a ser salvadas. Configurando este valor en cero deshabilita el botón "Unidades recientes".

A continuación se tiene la opción de ocultar los botones con los operadores (x, /, ^2, ^3, Clear Unit and Recent Unit). Esto puede utilizarse para salvar espacio en el caso que el teclado sea utilizado para entrar los operadores.

La última opción controla los colores de los campos de texto.

Conversiones no-lineares

La conversión de algunas unidades es no linear. Ejemplos de esto incluyen las escalas de temperatura Fahrenheit y Celsius (debido a los diferentes puntos para el cero) y el "American Wire Gauge" que es logarítmica. Las unidades no lineares están etiquetadas como tales en la columna comentarios (Comments) situada a la derecha de la columna "Tipo" (Type).

Estas unidades pueden ser convertidas solo cuando no están combinadas con otras unidades o utilizadas con un exponente. De otro modo la conversión no tendrá significado.

Uso desde la línea de comandos

Conversiones pueden ser efectuadas desde la línea de comandos (consola Linux o DOS) sin invocar la interfaz gráfica. Es suficiente entrar el comando ("convertall" en Linux, "convertall_dos" con el binario para Windows), el número, la unidad desde la que se quiere convertir y la unidad a la que se quiere llegar (separada por espacios) para realizar la conversión. Los nombres de las unidades que contengan espacios deberán ser rodeados de comillas. O, para que el programa pregunte por cada unidad, utilizar la opción "-i" ("convertall -i" en Linux, "convertall_dos -i" en Windows).

Después de la conversión, ConvertAll preguntará por un nuevo número para realizar la misma conversión. Puede utilizarse "n" para iniciar una nueva conversión, "r" para invertir la conversión o "q" para salir del programa.

Para una lista detallada de las opciones, utilice la opción "-h" ("convertall -h" en Linux, "convertall_dos -h" en Windows).

Historia

La revisión histórica completa puede ser encontrada en la versión inglesa de este archivo.

¿Preguntas, comentarios, críticas?

Puedo ser contactado por email a: doug101 AT bellz DOT org
Agradezco cualquier feedback, incluyendo reporte de cualquier error que usted encuentre. Además, puede usted también consultar periódicamente el sitio www.bellz.org por cualquier actualización.

ConvertAll-0.8.0/doc/README_fr.html000066400000000000000000000321341363574405500166660ustar00rootroot00000000000000 ConvertAll ReadMe

Fichier ReadMe de ConvertAll

un logiciel de conversion d'unités

écrit par Doug Bell
Version 0.8.0

Contenus

Fondement

Pourquoi écrire un autre convertisseur d'unités? Eh bien, je n'en avais trouvé aucun qui était comme je le voulais.

Avec ConvertAll, vous pouvez combiner les unités comme vous le voulez. Si vous voulez convertir des pouces en kilomètre, ca fonctionne! Les unités n'ont pas à avoir de sens pour personne d'autres que vous.

Comme je ne suis pas dans l'industrie du logiciel, je fais ce programme librement, je le distribue librement et j'autorise n'importe qui à le copier ou le modifier tant qu'il ne se retrouve pas dans un logiciel propriétaire. Si vous aimez ce logiciel, sentez-vous libre d'en parler. Aussi, donnez-moi des commentaires par courriel - mon adresse est doug101 AT bellz.org

Capacités

  • L'unité à convertir peut être écrite (avec auto complétion) ou choisie dans une liste.
  • Vous pouvez utiliser les abréviations ou les unités au long.
  • Les unités peuvent être combinées avec les opérateurs "*" et "/".
  • Le symbole "^" peut être utilisé pour les exposants.
  • Les unités non linaires (comme la température) peuvent être converties.
  • Une liste d'unité peut être filtrée et cherchée
  • Les nombres peuvent être écrits et convertis dans les deux directions.
  • Des expressions mathématiques de bases peuvent être écrites à la place de nombres.
  • Le menu Options contrôle le formatage des résultats numériques.
  • Vous trouverez au-delà de 500 unités.
  • Le format du fichier de données est facilement modifiable pour ajouter de nouvelles unités.
  • La version en lignes de commandes peut être utilisée.

Dispositions légales

ConvertAll est un logiciel libre; vous pouvez le redistribuer et/ou le modifier sous les termes de la licence GNU GPL (GNU General Public License) comme publiée par la Free Software Foundation; la version 2 de cette license ou (comme vous le voulez) une version plus récente.

Ce programme est distribué dans l'espoir d'être utile, mais SANS AUCUNE GARANTIE. Voyez le fichier LICENSE fourni avec ce programme pour plus d'information.

Minimum système

Linux

ConvertAll requiert les librairies suivantes :

  • Python (Version 3.2 or higher)
  • Qt (Version 4.6 or higher - voyez Trolltech pour plus d'information)
  • PyQt (Version 4.8 or higher - voyez Riverbank pour plus d'information)

Ces librairies sont relativement nouvelles. Des paquets n'existent peut-être pas pour votre distribution. Dans ce cas, une version antérieure de ConvertAll (0.3.2) est toujours disponible.

Windows

En utilisant les binaires de ConvertAll, n'importe quel PC utilsant Windows XP, Vista, Windows 7 ou Windows 8 devrait fonctionner.

Installation

Linux

Extraire les sources du fichier tar de convertall. Ensuite, allez dans le dossier ConvertAll. Pour une utilisation de base, tapez la commande suivante en mode super utilisateur (root) : python install.py

Pour les options, utilisez: python install.py -h

Pour installer ConvertAll avec un prefix différent (par défaut c'est /usr/local), utilisez: python install.py -p /prefix/path

Windows

Simplement utiliser le fichier téléchargé (convertall-x.x.x-install-all.exe). Cela installera les fichiers nécessaires, fera les associations et créera les raccourcis.

Si vous souhaitez modifier le code source ou écrire vos propres programmes PyQt pour Windows, n'utilisez pas les procédures ci-haut. À la place, vous devez installer Python et les fichiers binaires pour PyQt. Ensuite, extraire le code source et les fichiers de données de la version Linux (fichier tar convertall) dans un dossier de votre choix et exécuter convertall.py

Utiliser ConvertAll

Bases

Simplement écrire le nom d'une unité dans le champ "de l'unité". Au fur que vous écrivez, une liste apparaîtra et vous pourrez sélectionner la bonne. Tapez l'abréviation complète, le nom complet ou sélectionné en un dans la liste et taper retour. Cliquer avec la souris fonctionne également tout comme les flèches haut et bas.

Refaire les mêmes étapes dans le champ "vers l'unité". Quand vous aurez terminé, si les unités sont compatibles, vous verrez un champ pour entrer des valeurs numériques sous les listes. Entrer un nombre dans un champ et vous verrez le résultat de la conversion dans l'autre champ.

Combiner les unités

La force de ConvertAll repose dans son habileté à combiner plusieurs unités. Écrivez simplement le nom de deux unités avec un "*" ou un "/" entre eux. Ainsi, cela permet les km/h ou les j/s. Le symbole "^" peut être utilisé pour des m?? "m^2". Même les exposants négatifs "sec^-1" sont possibles, mais le symbole de la division apparaîtra. ("m*sec^-2" deviendra "m/sec^2")

Dans ConvertAll, la multiplication passe avant la division. Donc "m/sec*h" veut dire "m/(sec*h)". Donc, "m/sec/h" revient au même que "m*h/sec". Faites donc attention aux priorités.

Les boutons sous les listes d'unités ('X', '/', '^2', '^3') placeront l'opérateur sur l'unité le plus près du curseur.

Aussi, cliquer sur une unité dans la liste remplace généralement l'unité la plus près du curseur.

Le bouton "Effacer l'unité" sous les opérateurs peu être utilisé pour nettoyer le champ et ainsi laissez de la place pour une nouvelle unité.

Raccouris

Quand vous tapez le nom d'une unité, les espaces seront ignorés. Ils peuvent donc être sautés. Le pluriel aussi est ignoré. Quand vous avez entré un nom partiel d'unité, si vous tapez retour, le nom s'écrira au complet. Si vous utilisez la touche TAB, le curseur ira au champ suivant en plus.

Le nombre devant être converti peut être entré dans le champ "De" ou "Vers" sans problème. La notation décimale et scientifique peuvent être utilisés tout comme les expressions usuelles en mathématique (+, -, *, /, **).

Trouver une unité

Le chercheur d'unité peut être utilisé pour filtrer les unités par type et/ou pour chercher des unités en utilisant une chaîne de caractères. Cela fera apparaître une liste séparée dans une nouvelle fenêtre. Cette liste sera ensuite mise à jour en fonction des filtres utilisés.

Les boutons près du bas de la fenêtre du chercheur ajoutent l'unité sélectionnée dans la fenêtre principale. Le bouton "Remplacer" remplace toutes les unités combinées par la sélection. Le bouton "Insertion" remplace seulement la partie active des unités.

Options

Le bouton "Options..." permet de changer les paramètres par défaut. Les nouveaux paramètres sont enregistrés automatiquement, donc à la prochaine utilisation de ConvertAll, vos paramètres modifiés seront encore présents.

Les premières options contrôlent l'affichage de résultats numériques, incluant l'utilisation de notation scientifique et le nombre de décimales. Faites attention si vous mettez un très petit nombre de décimal, car tout deviendrait moins précis. Six décimales ou plus sont recommandées (par défaut c'est huit).

Il y a une option pour cacher les boutons des opérateurs (x, /, ^2, ^3 and Clear Unit). Ils peuvent être cachés pour sauver de l'espace si le clavier est utilisé pour entrer ces opérateurs.

Des boutons sont aussi disponibles pour changer la couleur des champs de texte.

Conversion non linéaire

La conversion de quelques unités est non linéaire (non proportionnel). La conversion de la température des Fahrenheit et des Celsius est un exemple de conversion non linéaire. Les unités non linéaires sont identifiées dans les commentaires (à droite de la colonne "Type").

Ces unités ne peuvent être converties que lorsqu'ils sont utilisés seuls et sans exposants. Sinon la conversion ne sera pas juste.

Utilisation de la ligne de commande

Les conversions peuvent être faites à partir de la ligne de commande (dans un terminal Linux ou DOS). Entrer la commande ("convertall"), le nombre, l'unité à partir de et l'unité vers (le tout séparé par des espaces) pour faire une conversion. Les unités dont le nom comporte des espaces doit être entourées de guillemets. Encore, si vous voulez qu'on vous demande les entrées, utilisez "convertall -i" en ligne de commande.

Une fois la conversion terminée, ConvertAll vous demandera pour un nouveau nombre pour faire la même conversion. Vous pourrez soit utiliser "r" pour faire la conversion inverse ou "q" pour quitter.

Pour la liste complète des options, entrer "convertall -h" à l'invite.

Historique

23 mars 2010 - Version 0.4.90

    Nouveautés :
  • La multiplication et la division ont la même importance. Les priorités d'opérations mathématiques seront donc respectées.
  • Les parenthèses sont supportés pour grouper des unités au dénominateur. Par exemple, " m / sec / kg " peut maintenant être écrit " m / (sec * kg) ".
  • Un boutton "Unité récente" a été ajouté et ouvre un menu affichant les unités ou combinaisons d'unités récentes. Vous trouverez aussi un nouveau menu pour choisir la longueure de cette nouvelle option.
  • Nous avons ajoutés des traductions allemande et française pour l'interface graphique et le fichier d'unités. Pour les utiliser, téléchargez et installez le fichier "convertall-il8n..." spécifique à votre système (en plus de l'installateur stantard de ConvertAll).

L'historique complet du logiciel peut être trouvé dans la version anglaise du fichier README.

Questions, Commentaires, Critiques?

Vous pouvez me contacter par email à l'adresse : doug101 AT bellz.org
Tous les commentaires sont les bienvenus incluant les rapports de bogues. Aussi, vérifié périodiquement au www.bellz.org pour les mises à jour.

ConvertAll-0.8.0/doc/README_ru.html000066400000000000000000001362541363574405500167150ustar00rootroot00000000000000 ConvertAll ReadMe

Руководство по ConvertAll

программа для конвертирования величин

Автор Doug Bell
Версия 0.8.0

Содержание

Введение

Для чего писать ещё один конвертер величин? Да, их множество. Но, я не нашёл такого, который бы работал так, как я хочу.

С помощью ConvertAll можно комбинировать величины как вам захочется. Если Вы хотите конвертировать дюймы за декаду, запросто. Или перевести величину из метр-фунтов. Или морских миль в кубе. Величины не должны иметь смысл для кого-то ещё.

Я не преследую коммерческой цели и делаю эту программу бесплатной для использования, распространения и изменения, так как она не включает в себя никаких проприетарных программ. Если Вам понравилась программа, поделитесь с другими своей находкой. Можете также сообщить своё мнение о программе - мой электронный адрес: doug101 собака bellz точка org.

Возможности

  • Базовая величина для конвертации может быть напечатана (с автозавершением) или выбрана из списка.

  • По мере ввода названия величины, список величин автоматически фильтруется и содержит только величины с совпадающими словами.

  • Величину можно выбирать как по аббревиатуре, так и по полному имени.

  • Величины можно комбинировать с операторами "*" и "/".

  • Величину можно возвести в степень (квадрат, куб и т.д.) с помощью оператора "^".

  • Величины в знаменателе можно группировать используя круглые скобки.

  • Нелинейные величины, такие как температура, тоже могут быть конвертированы.

  • Недавно использованные величины можно выбрать из меню.

  • Значение величин можно вводить как со стороны «Из», так и «В» для конвертации в обе стороны.

  • Базовые математические выражения могут использоваться вместо значений.

  • Настраиваемый формат представления результата.

  • Базе включает более 500 величин.

  • Формат базы величин позволяет с лёгкостью добавить дополнительные величины.

  • С помощью командной строки возможно выполнить конвертацию без GUI.

  • Пользовательский интерфейс и база величин доступны на Английском, Французском, Немецком, Русском и Испанском языках.

Лицензия и распространение

ConvertAll является свободным программным обеспечением ; Вы можете распространять и / или изменять его в соответствии с условиями GNU General Public License , опубликованной Фондом свободного программного обеспечения, либо версии 2 Лицензии, либо (по вашему выбору ) любой более поздней версии.

Эта программа распространяется в надежде, что будет полезна, но БЕЗ ВСЯКОЙ ГАРАНТИИ. Смотри файл LICENSE для подробной информации.

Системные требования

Linux

ConvertAll зависит от следующих библиотек:

  • Python (Версии 3.4 или выше)

  • Qt (Версии 5.4 или выше - смотри Qt Project для подробной информации)

  • PyQt ( Версии 5.4 или выше - смотри Riverbank для подробной информации )

Windows

Используя файлы дистрибутива, ConvertAll должен работать на любом компьютере под Windows XP, Vista, 7, 8 или 10.

Установка

Linux

Распакуйте исходные файлы convertall из tar архива, затем перейдите в директорию ConvertAll в терминале. Для стандартной установки просто запустите команду с правами root:

python install.py

Если в Вашем дистрибутиве по умолчанию используется Python 2.x, необходимо подставить python3 вместо python в этих командах.

Чтобы посмотреть все возможные параметры установки, используйте: python install.py -h.

Чтобы установить ConvertAll с отличным префиксом (по умолчанию /usr/local), используйте: python install.py -p /путь/для/установки

Windows

Чтобы установить для всех пользователей, запустите файл ConvertAll-x.x.x-install-all.exe. Потребуются права администратора.

Для пользовательской установки (права администратора не требуются), запустите файл ConvertAll-x.x.x-install-user.exe.

Для установки портативной версии, запустите файл ConvertAll-x.x.x-install-user.exe, снимите отметки установки ярлыков и деинсталлятора, а также выберите установку портативной версии.

Использование ConvertAll

Основы

Просто напечатайте имя величины в поле «Из величины». Пока Вы набираете название величины список будет фильтроваться, чтобы показать только подходящие величины. Фильтрация производится по словам входящим в величину (начиная с начала). Вы можете напечатать полностью название/аббревиатуру величины или нажать клавишу «Enter» для выбора величины подсвеченной (синие буквы) в списке. Конечно же, простое нажатие мышкой на элементе списка выберет величину в поле ввода. Также можно использовать клавиши курсора для выбора величин в списке расположенных рядом.

Повторите выбор величины в поле «В величину». Когда завершите выбор и если величины совместимы, то поле для ввода значений под списком станет активным. Значение величины можно указать в любом из полей, а в другом будет отображён результат конвертации.

Комбинирование величин

Настоящая сила ConvertAll заключается в возможности комбинирования нескольких величин. Просто напечатайте имена величин с операторами '*' или '/' между ними. Это даёт возможность получить величины типа "ft * lbf" или "mi / hr". Символ '^' используется для возведения в степень, например "m^3" или "ft * lbm / sec^2". Его также можно использовать для получения величин типа "sec^-1" (в секунду), или переключения операции умножения или деления ("ft * sec^-2" равнозначно "ft / sec^2").

Умножение и деление имеют одинаковый приоритет, поэтому обрабатываются слева на право. Скобки могут быть использованы для группировки знаменателя. Например "м / сек / кг" можно записать как "м / (сек * кг)". Вариант со скобками вероятно менее запутывающий.

Кнопки под полями ввода величин также могут быть использованы для вставки операторов после величины ближайшей к курсору. Кнопки возведения в степень заменяют экспоненту. Кнопки умножения и деления добавят операторы "*" и "/".

Также, выбор величины из списка заменит величину на ближайшую к курсору.

Кнопка «Очистить величину» под кнопками операторов используется для очистки поля выбора величины.

Кнопка «Фильтр» используется для отображение одного типа величин в списке. Учтите, что не будут показаны величины образующие другой тип в комбинации.

Нелинейное конвертирование

Конвертирование некоторых величин нелинейное. Примером такой величины является Фаренгейт. Нелинейные величины отмечены в колонке комментариев.

Такие величины могут быть конвертированы только, если они не комбинированы с другими величинами и не возведены в степень. Иначе результат будет неточным.

Ускорение набора

Когда набираете имена величин пробелы игнорируются, поэтому их можно пропускать. Также игнорируются множественные формы величин. Для квадрата или куба величин (положительная степень 2 и 3) символ "^" вводить не обязательно.

Когда частично введённая величина подсвечена в списке (синие буквы) нажатие «Enter» завершит имя. Можно использовать кнопки курсора (вверх и вниз) для выбора другой величины из списка, при нажатии «Enter» активная величина в поле ввода будет заменена.

Кнопка «Недавняя величина» открывает меню недавно использованных величин и комбинаций величин. Текущая комбинация величин полностью заменяется выбранной из этого меню.

Клавиша «Tab» используется для переключения между полями величин "Из" или "В", а также полями значения величин.

Значение для конвертации можно вводить с любой стороны в "Из" или "В". Можно использовать как стандартную, так и научную запись значения, или выражение включающее нормальные математические операторы (+, -, *, /, **), а также круглые скобки.

Настройки

Кнопка "Настройки..." позволяет изменить некоторые параметры установленные по умолчанию. Изменения автоматически сохраняются и при следующем запуске ConvertAll будет использовать последние установленные параметры.

Первый раздел включает в себя настройки представления результата, включая научное представление и количество знаков после запятой. Имейте в виду, что установка маленького числа знаков после запятой может повлиять на точность результата. Рекомендуется шесть и более знаков (восемь по умолчанию).

В следующем разделе можно установить количество недавно использованных величин, которые будут запоминаться. При установке нулевого значения, кнопки «Недавние величины» будут отключены. Далее можно включить автоматическую загрузку последней использованной величины при запуска приложения.

Есть возможность скрыть кнопки текстовых операторов (первая строка) и кнопки величин (вторая строка). Ей можно воспользоваться для экономии места, если операторы вводятся с клавиатуры.

Также можно настроить цвет текстовых полей с помощью кнопок расположенных ниже.

Режим командной строки (без GUI)

Конвертирование можно выполнить из командной строки (консоль Linux или DOS) без использования графического интерфейса. Введите команду ("convertall" для Linux, "convertall_dos" для Windows), значение, величина из которой и величина в которую (разделённые пробелами) провести конвертацию. Величины содержащие пробелы необходимо взять в кавычки. Или их можно ввести в интерактивном режиме, использую "-i" параметр ("convertall -i" для Linux, "convertall_dos -i" для Windows).

После выполнения конвертации, ConvertAll запросит новое значение величины для аналогичной конвертации. Также можно ввести "n" для начала новой конвертации, "r" чтобы поменять местами величины или "q" для выхода.

Для более детального списка параметров, используйте "-h" параметр ("convertall -h" для Linux, "convertall_dos -h" для Windows).

История версий

Апрель 4, 2018 - Release 0.7.4

    Новые функции:

  • Добавлен файл запуска для версии Linux для использования в меню.

  • Добавлен параметр для отмены сохранения позиции и размера окна при запуске.

    Обновления:

  • Добавлен US drill bit gauge sizes как нелинейная величина.

  • Добавлены величины gigabit и terabit.

  • Изменено определение величины liter per 100 km в Немецкой локализации в соответствии с Английской версией.

Октябрь 15, 2017 - Release 0.7.3

    Обновления:

  • Добавлена величина boiler horsepower.

    Исправления:

  • Fixed a crash if a zero value is entered when the engineering notation option is enabled.

  • Исправлена проблема инициализации проявляющаяся на некоторых версиях Python.

Февраль 20, 2017 - Release 0.7.2

    Исправления:

  • Fix a crash due to an overflow error when typing part of an exponent in the denominator of the second unit.

  • Avoid flipping the preceding operator between multiplication and division as a unit exponent of 0.5 is typed.

Февраль 4, 2017 - Release 0.7.1 (Linux only)

    Исправления:

  • Изменена устаревшая проверка зависимости в установщике для Linux – теперь проверяется наличие Qt5 библиотек.

  • Fixed a timing issue in the Linux installer so that byte-compiled files do not have old timestamps.

Январь 8, 2017 - Release 0.7.0

    Новые функции:

  • Dual unit lists have been replaced with a single list that works with the active unit line editor.

  • As a unit is typed, the listing of units is reduced to only include units that match the typed words.

  • The unit list can be sorted by clicking on the column headings.

  • The unit list can be filtered to only show units of a certain type.

  • Simple unit exponents (positive 2 and 3) can be typed with just the number (leaving out the "^" character).

  • Now permits decimals to be entered for unit exponents, supporting roots of units.

  • ConvertAll переведён с библиотек Qt4 на Qt5.

    Обновления:

  • Since the main unit list can now be searched, sorted and filtered, the Unit Finder Dialog has been removed.

  • Added the British Std Wire Gauge non-linear unit.

  • Added the ton imperial unit.

  • Added the cable nautical unit.

  • Added the MBH (1000 Btu/hr) unit.

  • Added Cape foot, square perch and rood units.

    Исправления:

  • Corrected some unit definitions in the French translation, including avogadro's number, lambert, poise and the gravitational constant.

Сентябрь 10, 2015 - Release 0.6.1

    Новые функции:

  • Added an option to output results in engineering notation (a version of scientific notation with exponents divisible by three).

  • Добавлен русский перевод. Спасибо vantu5z за перевод.

    Обновления:

  • Добавлена величина dram mass.

  • Добавлены величины fluid dram и minim volume, для US и Imperial версий.

  • Добавлена величина smoot length.

  • Добавлена аббревиатура "dm" для величины decimeter length.

  • Добавлен комментарий "avoirdupois" для applicable mass и weight величин.

  • Добавлен комментарий "fresh water" для applicable depth-based pressure величин.

  • Обновлён немецкий перевод. Спасибо Thomas Helmke за перевод.

  • Добавлены некоторые MSVC библиотеки DLL для инсталлятора Windows, чтобы предотвратить ошибки на компьютерах, где они отсутствуют.

  • Уточнены некоторые сообщения об ошибках в зависимостях для инсталлятора Linux.

    Исправлены ошибки:

  • Fixed an error in the unit data formula for the AWG area unit.

  • Changed the value of the caliber unit to be equivalent to inches (typical written usage), not hundredths of an inch (typical verbal usage).

Февраль 1, 2014 - Release 0.6.0

    Новые функции:

  • ConvertAll has been ported from Python 2 to Python 3. This porting includes some code cleanup.

  • Added an option to automatically load the last used units at startup.

  • Added an introductory tip dialog box that explains combined units. There is also an option to hide this dialog.

  • There is an additional Windows installer for users without administrator rights and for portable installations.

  • Added a Windows installer option to add a config file to the program's directory for portable installations. If that file is present, no config files will be written to users' directories.

    Обновления:

  • The Windows binaries are built using more recent Python, Qt and PyQt libraries.

  • The user interface and unit data language translations are now included in the main installation files.

  • Added the long ton unit (Imperial version of the ton).

  • Added the kilopond unit as a synonym of kilogram-force.

  • Added the micron of Hg pressure unit.

  • Added the lunar distance (LD) astronomical distance unit.

  • Added the rack unit (height of an electrical rack).

  • Added the versta Russian length unit.

    Исправлены ошибки:

  • Fixed the operation of the "Clear" button in the Unit Finder dialog.

  • Fixed a problem with the definition of the BTU unit in the French translation.

Ноябрь 2, 2011 - Release 0.5.2

    Обновления:

  • Added the microliter volume unit.

  • Added the galileo acceleration unit.

  • Added the stremma land area unit.

    Bug Fixes:

  • Changed the method of identifying a "unitless" portion of a unit to avoid falsely reporting incompatibility between some units when using language translations.

Март 31, 2011 - Release 0.5.1

    Обновления:

  • Added the link length unit.

  • Added US survey variations of the mile and chain length units.

  • Added the centigray radiation dose unit.

  • Use DOS newline characters in the Windows version of the unit data file for easier editing by users.

    Исправлены ошибки:

  • Fixed incorrect definition of the rad radiation dose unit (it was off by a factor of 10).

Май 2, 2010 - Обновление перевода 0.5.0b

    Обновления:

  • Added a Spanish translation. The French and German translations remain unchanged.

Апрель 23, 2010 - Release 0.5.0

    Новые функции:

  • Multiplication and division operators now have the same precedence. In previous versions of ConvertAll, a series of units after a division symbol were assumed to be in the denominator. Now, a division operator only affects the unit (or the unit group in parenthesis) immediately after the operator.

  • Parenthesis are now supported to group units in the denominator of a combined unit. For example, ""m / sec / kg" can also be entered as "m / (sec * kg)".

  • "Recent Unit" buttons have been added that open a menu of recently used units and unit combinations. A unit selected from the menu will replace the current unit combination. There is also a new option dialog entry that controls the maximum length of this menu.

    Обновления:

  • Added the tonne force metric force unit.

  • Added hundredweight long and hundredweight short mass units.

  • Added an American Wire Gauge (AWG) area unit in addition to the existing AWG diameter unit.

  • Added the tonne oil equivalent and the tonne coal equivalent energy units.

  • Added the ton refrigeration power unit.

  • Added the darcy and millidarcy permeability units.

  • French and German translations have been added for the user interface and the unit data. To use them, download and install the "convertall-i18n..." file for your platform (in addition to installing the standard ConvertAll package).

    Исправлены ошибки:

  • Fixed problems with running in the command line mode from Linux consoles without X11 present.

Сентябрь 24, 2009 - Release 0.4.3

    Новые функции:

  • Prepared ConvertAll for translation efforts by properly handling Unicode characters in unit data and by marking internal program strings for translation. Volunteers for translating ConvertAll into other languages are welcome.

    Обновления:

  • Added solar mass and pennyweight mass units.

  • Added therm and thermie energy units.

  • Added gauss and maxwell magnetic units.

  • Added the US survey foot length unit.

  • Added the mpg imp mileage unit.

  • Changed the value of the point unit from the old American point to the more modern desktop publishing point.

    Исправлены ошибки:

  • A critical QString conversion bug that caused ConvertAll to not run with the latest version of PyQt (4.5.4) was fixed.

  • Command line quiet mode was fixed to avoid an interactive prompt when bad unit data is entered.

Май 28, 2008 - Release 0.4.2

    Обновления:

  • Added the "liter per 100 km" unit for fuel consumption.

    Исправлены ошибки:

  • Changed the "mach" unit from 331.46 m/s to 340.29 m/s. It is now correct for STP conditions (15 degrees C). The previous value was for 0 degrees C.

  • Fixed a bug that could hide messages about errors in a manually edited unit data file.

Январь 22, 2008 - Release 0.4.1

    Новые функции:

  • An optional command line mode was added to do conversions without the graphical interface. Enter the command ("convertall"), the number, the from unit and the to unit (separated by spaces) to do the conversion. For a more detailed list of options, enter "convertall -h" on the command line.

    Обновления:

  • The icon used for ConvertAll has been updated. Thanks to Ricardo Berlasso for the new artwork.

  • Alternate units have been added for kilobyte, megabyte, etc., marked "IEC std". These convert using powers of 10, rather than powers of 2.

  • Troy pounds and troy ounces have been added.

  • Gigapascal, hectopascal and megabar have been added.

  • Hogshead units for wine and beer have been added.

  • The Swedish mil unit of distance has been added.

  • The Thai rai and ngaan units of land area have been added.

Октябрь 5, 2006 - Release 0.4.0

    Новые функции:

  • ConvertAll was ported to the Qt4 library. This involved a significant rewrite of the code. The previous versions used Qt3.x on Linux and Qt2.3 on Windows. Benefits include updated widgets and removal of the non-commercial license exception in Windows.

    Обновления:

  • On Windows, the ConvertAll.ini file has been moved from the installation directory to a location under the "Documents and Settings" folder. This avoids problems on multi-user systems and for users with limited access rights.

Октябрь 5, 2006 - Release 0.3.2

    Обновления:

  • Added Imperial (UK) gallons, quarts, pints and fluid ounces.

  • Added gigagram and teragram units.

  • Added the pound-mole unit and clarified that the existing mole is a gram-mole.

Февраль 14, 2005 - Release 0.3.1

    Обновления:

  • Added the decare unit for land area.

  • The Linux installer has been updated to be more robust and give more install directory options.

    Исправлены ошибки:

  • The barn unit, used in particle physics, was corrected. It had been incorrectly listed as a length unit instead of an area unit.

Март 11, 2004 - Release 0.3.0

    Новые функции:

  • A unit finder window was added to allow the unit list to be filtered and searched.

  • The size and position of the main and finder windows are now saved at exit.

  • A new option allows the operator text entry buttons (x, /, ^2, ^3 and Clear Unit) to be hidden.

  • An install program has been added for windows.

    Исправлены ошибки:

  • Fixed Linux install script problems with certain versions of Python.

Ноябрь 18, 2003 - Release 0.2.4

    Обновления:

  • Keyboard shortcuts and tab-focus order for the main dialog have been improved.

  • An install script was added for Linux and Unix systems.

  • The windows build now uses Python version 2.3 and PyQt version 3.8.

Март 24, 2003 - Release 0.2.3

    Обновления:

  • When an expression using division is entered for the number to be converted, floating point division is now used even if the entries are integers (Python 2.2 or greater only).

  • Mouse wheels are now supported in the unit lists.

  • Icon files are now provided with the distribution files.

Май 28, 2002 - Release 0.2.2a

    Исправлены ошибки:

  • A fix of the Windows binary only. Fixes major problems by upgrading the library version to PyQt 3.2.4.

Май 16, 2002 - Release 0.2.2

    Обновления:

  • ConvertAll has been ported to Qt 3.x. It now works with both Qt 2.x and 3.x using the same source code.

  • The help/readme file has been rewritten and now includes section links.

  • The binaries for windows have been updated to Python 2.2 and PyQt 3.2 (but are still using Qt 2.3 Non-commercial).

Сентябрь 17, 2001 - Release 0.2.1

    Исправлены ошибки:

  • Some window captions and icons were corrected.

  • A window maximizing bug was fixed.

Август 20, 2001 - Release 0.2.0

    Новые функции:

  • A major rewrite was done of the conversion engine.

  • A new data file format makes it easier to add and verify units.

  • The unit name and abbreviation are now listed separately for better sorting and searching.

  • Entering of units has been improved by changing operator precedence, by ignoring spaces and plurals, and by changing the partial selection list highlight.

  • An expression can now be used for the number to be converted.

    Обновления:

  • Many additional units were added to the database.

  • For MS Windows users, the binary files were upgraded to PyQt Version 2.5.

Август 10, 2001 - Release 0.1.1

    Новые функции:

  • Added color controls to the options dialog.

    Обновления:

  • The convertall.ini file on windows was moved to the program directory.

    Исправлены ошибки:

  • Fixed problems with using the same unit twice in a combined unit.

  • Fixed an occasional shutdown when auto-completing.

  • Fixed a problem with the updating of the unit label.

Июль 28, 2001 - Release 0.1.0

    Начальный релиз.

Вопросы, Комментарии, Критика?

Со мной можно связаться по электронной почте: doug101 собака bellz точка org
Приветствуются различные отзывы, включая сообщения о найденных Вами ошибках. Также Вы можете переодически проверять наличие каких либо обновлений на www.bellz.org.

ConvertAll-0.8.0/docs/000077500000000000000000000000001363574405500145345ustar00rootroot00000000000000ConvertAll-0.8.0/docs/CNAME000066400000000000000000000000241363574405500152760ustar00rootroot00000000000000convertall.bellz.orgConvertAll-0.8.0/docs/README.html000066400000000000000000000731771363574405500163760ustar00rootroot00000000000000 ConvertAll ReadMe

ReadMe file for ConvertAll

a unit conversion program

Written by Doug Bell
Version 0.8.0
March 15, 2020

Contents

Background

Why write another unit converter? There are plenty of them out there. Well, I couldn't find one that worked quite the way I wanted.

With ConvertAll, you can combine the units any way you want. If you want to convert from inches per decade, that's fine. Or from meter-pounds. Or from cubic nautical miles. The units don't have to make sense to anyone else.

Since I'm not in the software business, I'm making this program free for anyone to use, distribute and modify, as long as it is not incorporated into any proprietary programs. If you like the software, feel free to let others know about it. And let me know what you think - my email address is doug101 AT bellz DOT org

Features

  • The base units for conversion may be either typed (with auto-completion) or selected from a list.
  • As a unit is typed, the unit list is automatically filtered to show only units with matching words.
  • In general, either a unit's full name or its abbreviation can be used.
  • Units may be combined with the "*" and "/" operators.
  • Units may be raised to powers (squared, cubed, etc.) with the "^" operator.
  • Units in the denominator may be grouped with parenthesis.
  • Units with non-linear scales, such as temperature, can also be converted.
  • Recently used unit combinations may be picked from a menu.
  • Numbers may be entered on either the "From" or the "To" units side, for conversions in both directions.
  • Basic mathematical expressions may be entered in place of numbers.
  • Options control the formatting of numerical results.
  • The unit data includes over 500 units.
  • Conversions between various number bases (decimal, hexadecimal, octal and binary) can be done in a separate dialog window.
  • A decimal number can be converted to fractional numbers in a separate dialog window.
  • The format of the unit data file makes it easy to add additional units.
  • Command line options are available to do conversions without the GUI.
  • The user interface and the unit data are available in Catalan, English, French, German, Russian, Spanish and Swedish.

Legal Issues

ConvertAll 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. See the LICENSE file provided with this program for more information.

System Requirements

Linux

ConvertAll requires the following libraries:

  • Python (Version 3.4 or higher)
  • Qt (Version 5.4 or higher - see Qt Project for more information)
  • PyQt (Version 5.4 or higher - see Riverbank for more information)

Windows

Using the files provided in the binary distribution, ConvertAll should run on any computer running Windows XP, Vista, 7, 8 or 10.

Installation

Linux

Extract the source files from the convertall tar file, then change to the ConvertAll directory in a terminal. For a basic installation, simply execute the following command as root: python install.py

If your distribution defaults to Python 2.x, you may need to substitute python3 for python in these commands.

To see all install options, use: python install.py -h. To install ConvertAll with a different prefix (the default is /usr/local), use: python install.py -p /prefix/path

Windows

To install for all users, execute the ConvertAll-x.x.x-install-all.exe file. Administrator permissions are required.

To install for a single user (administrator rights are not required), execute the ConvertAll-x.x.x-install-user.exe file.

For a portable install, execute the ConvertAll-x.x.x-install-user.exe file, uncheck the shortcuts and uninstaller tasks, and check the portable config task.

Using ConvertAll

Basics

Simply type a unit name in the "From Unit" edit window. As you type, the list below the window will be filtered to show only matching units. Matching unit names contain words starting with the words that are typed. Either type the complete unit name/abbreviation or hit the return key to use the unit highlighted (blue letters) in the list. Of course, clicking with the mouse on a unit in the list will also add the unit to the edit window. You may also use the up and down arrow keys to highlight nearby units from the list.

Repeat the unit selection in the "To Unit" edit window. When done, if the units are compatible, the numeric edit windows below the unit lists will activate. A number may be entered into either numeric window and the other window will display the conversion result.

Combining Units

The real strength of ConvertAll lies in its ability to combine multiple units. Simply type the unit names with an '*' or a '/' between them. This allows the entry of units such as "ft * lbf" or "mi / hr". The '^' symbol may be used for exponents, such as "ft^3" or "ft * lbm / sec^2". Negative exponents are allowed for units such as "sec^-1" (per second), but may switch the multiplication or division symbol ("ft * sec^-2" becomes "ft / sec^2").

Multiplication and division have the same precedence, so they are evaluated left-to-right. Parenthesis may also be used to group units in the denominator. So "m / sec / kg" can also be entered as "m / (sec * kg)". The version with parenthesis is probably less confusing.

The buttons below the unit text boxes can also be used to add operators to the active unit that is closest to the cursor. The Square and Cube buttons will add or replace exponents. The Multiply and Divide buttons will add "*" and "/" operators.

Similarly, clicking on a unit from the list generally replaces the unit nearest the cursor.

The "Clear Unit" button below the operator buttons may be used to empty the unit edit window to allow a new unit to be entered.

The "Filter List" button can be used to show only one type of unit in the list. Note that this doesn't show units that could be combined to form a type.

Non-Linear Conversions

The conversion of some units is non-linear. Examples of these include the Fahrenheit and Celsius temperature scales (due to an offset zero point) and the American Wire Gauge (logarithmic). The non-linear units are labeled as such in the comments column.

These units can be converted only when they are not combined with other units or used with an exponential operator. Otherwise the conversion would not be meaningful.

Shortcuts

When typing unit names, spaces are ignored, so they may be skipped. It is also generally ignored if a plural form of the unit name is typed. For squared and cubed units (positive exponents of 2 or 3) the "^" symbol does not need to be typed.

When a partially typed unit is highlighted in the list (blue lettering), hitting enter will complete the name. The up an down arrow keys can be used to highlight nearby units in the list prior to hitting enter. The unit closet to the cursor will be replaced.

The "Recent Unit" button opens a menu of recently used units and unit combinations. The current unit combination is replaced with any selections from this menu.

The tab key can be used to cycle between the "From" and "To" unit test boxes and the "From" and "To" number editors.

The number to be converted may be entered in either the "From" or "To" unit side. Standard or scientific notation may be used, or an expression including the normal math operators (+, -, *, /, **) and parenthesis may be entered.

Numbering System Conversions

The "Bases" button brings up a dialog that can convert between various numbering system bases. There are entry boxes for decimal, hexadecimal, octal and binary entries. A number can be entered into any of the boxes and equivalents will be shown in the others.

The "Fractions" button brings up a dialog that can list fractional equivalents for a decimal number. Type the number and press enter. The fractions are listed in order of increasing accuracy.

Options

The "Options..." button allows for changing several default settings. These settings are automatically stored so that ConvertAll will re-start with the settings last used.

The first options control the display of numerical results, including the use of scientific notation and the number of decimal places. Be cautious about setting the number of decimal places to a low value, which can result in a significant loss of accuracy. Six places or higher is recommended (eight is the default).

There is an option to set the number of recent units to be saved. Setting it to zero will disable the Recent Unit buttons. Another option will automatically load the most recent previous units at startup.

There are options to hide the operator text buttons (first row), and the unit buttons (second row). These can be hidden to save space if the keyboard will be used to enter the operators.

Buttons are also included on the options dialog to control GUI colors and fonts. Colors can be selected by theme or individually. Larger fonts can be selected for use on high-resolution displays.

Command Line Usage

Conversions may be done from the command line (Linux or DOS console) without invoking the graphical interface. Enter the command ("convertall" on Linux, "convertall_dos" from the Windows binary), the number, the from unit and the to unit (separated by spaces) to do the conversion. Unit names containing spaces should be surrounded by quotes. Or, to be prompted for each unit entry, use the "-i" option ("convertall -i" on Linux, "convertall_dos -i" from Windows).

After the conversion is done, ConvertAll will prompt for a new number to do the same conversion. Or "n" can be entered to start a new conversion, "r" to reverse the conversion or "q" to quit.

For a more detailed list of options, use the "-h" option ("convertall -h" on Linux, "convertall_dos -h" on Windows).

Revision History

March 15, 2020 - Release 0.8.0

    New Features:
  • Added a separate base conversion dialog to convert between different base numbering systems. It converts from/to decimal, hexadecimal, octal and binary bases.
  • Added a separate fraction conversion dialog to convert from decimal to fractional numbers. It provides a list of fractions in order of increasing accuracy.
  • A GUI font selection button was added to the Options dialog. This allows larger fonts to be used for high resolution displays.
  • A new GUI color setting dialog was added to the Options dialog. It allows a dark theme to be selected, or colors can be selected individually.
    Updates:
  • Added the Beaufort wind speed unit.
  • R-value thermal resistance units were added.
  • The diopter/dioptre optical power unit was added.
  • Added the rydberg and hartree energy units.
  • Added the Planck constant as a unit.
  • Slightly adjusted the conversion value of the atomic mass unit (amu) and added the dalton synonym.
  • Slightly adjusted the conversion value of the astronomical (au) and the parsec units.
  • Add Swedish translation (thanks to Ake Engelbrektson).
  • Add Catalan translation (thanks to Pere Orga).
  • Update the libraries used to build the Windows binaries to Python 3.8 and Qt/PyQt 5.14.
    Bug Fixes:
  • Fixed a problem with the ConvertAll window being positioned off the screen after major changes in resolution when using external monitors.
  • Clarified the labels for several power-of-10 data units (KB, MB, etc.) to show as "SI standard" rather than "IEC standard".

July 4, 2018 - Release 0.7.5

    Updates:
  • Updated the Russian GUI and unit translation (thanks to Ivan / vantu5z).
    Bug Fixes:
  • Fix the tab sequence to allow tabbing between the unit edit boxes and the numeric edit boxes.

April 4, 2018 - Release 0.7.4

    New Features:
  • Added a desktop file to the Linux version to provide menu entries.
  • Added an option to disable saving the window position and size at startup.
    Updates:
  • Added US drill bit gauge sizes as a non-linear unit.
  • Added gigabit and terabit data units.
  • Adjusted the liter per 100 km fuel economy unit definition in the German translation to match the English version.

October 15, 2017 - Release 0.7.3

    Updates:
  • Added the boiler horsepower unit.
    Bug Fixes:
  • Fixed a crash if a zero value is entered when the engineering notation option is enabled.
  • Fixed an initialization issue that caused problems with some versions of Python.

February 20, 2017 - Release 0.7.2

    Bug Fixes:
  • Fix a crash due to an overflow error when typing part of an exponent in the denominator of the second unit.
  • Avoid flipping the preceding operator between multiplication and division as a unit exponent of 0.5 is typed.

February 4, 2017 - Release 0.7.1 (Linux only)

    Bug Fixes:
  • Replaced outdated dependency checks in the Linux installer - it now runs checks for Qt5 libraries.
  • Fixed a timing issue in the Linux installer so that byte-compiled files do not have old timestamps.

January 8, 2017 - Release 0.7.0

    New Features:
  • Dual unit lists have been replaced with a single list that works with the active unit line editor.
  • As a unit is typed, the listing of units is reduced to only include units that match the typed words.
  • The unit list can be sorted by clicking on the column headings.
  • The unit list can be filtered to only show units of a certain type.
  • Simple unit exponents (positive 2 and 3) can be typed with just the number (leaving out the "^" character).
  • Now permits decimals to be entered for unit exponents, supporting roots of units.
  • ConvertAll has been ported from the Qt4 to the Qt5 library.
    Updates:
  • Since the main unit list can now be searched, sorted and filtered, the Unit Finder Dialog has been removed.
  • Added the British Std Wire Gauge non-linear unit.
  • Added the ton imperial unit.
  • Added the cable nautical unit.
  • Added the MBH (1000 Btu/hr) unit.
  • Added Cape foot, square perch and rood units.
    Bug Fixes:
  • Corrected some unit definitions in the French translation, including avogadro's number, lambert, poise and the gravitational constant.

September 10, 2015 - Release 0.6.1

    New Features:
  • Added an option to output results in engineering notation (a version of scientific notation with exponents divisible by three).
  • A Russian translation was added. Thanks to vantu5z for translating.
    Updates:
  • Added the dram mass unit.
  • Added the fluid dram and the minim volume units, in both US and Imperial versions.
  • Added the smoot length unit.
  • Added "dm" as an abbreviation for the decimeter length unit.
  • Added "avoirdupois" to the comment column for applicable mass and weight units.
  • Added "fresh water" to the comment column for applicable depth-based pressure units.
  • The German translation was updated. Thanks to Thomas Helmke for translating.
  • Added some MSVC runtime DLL files to the Windows installers to avoid problems on PCs that do not already have them.
  • Clarified some dependency checker error messages in the Linux installer.
    Bug Fixes:
  • Fixed an error in the unit data formula for the AWG area unit.
  • Changed the value of the caliber unit to be equivalent to inches (typical written usage), not hundredths of an inch (typical verbal usage).

February 1, 2014 - Release 0.6.0

    New Features:
  • ConvertAll has been ported from Python 2 to Python 3. This porting includes some code cleanup.
  • Added an option to automatically load the last used units at startup.
  • Added an introductory tip dialog box that explains combined units. There is also an option to hide this dialog.
  • There is an additional Windows installer for users without administrator rights and for portable installations.
  • Added a Windows installer option to add a config file to the program's directory for portable installations. If that file is present, no config files will be written to users' directories.
    Updates:
  • The Windows binaries are built using more recent Python, Qt and PyQt libraries.
  • The user interface and unit data language translations are now included in the main installation files.
  • Added the long ton unit (Imperial version of the ton).
  • Added the kilopond unit as a synonym of kilogram-force.
  • Added the micron of Hg pressure unit.
  • Added the lunar distance (LD) astronomical distance unit.
  • Added the rack unit (height of an electrical rack).
  • Added the versta Russian length unit.
    Bug Fixes:
  • Fixed the operation of the "Clear" button in the Unit Finder dialog.
  • Fixed a problem with the definition of the BTU unit in the French translation.

November 2, 2011 - Release 0.5.2

    Updates:
  • Added the microliter volume unit.
  • Added the galileo acceleration unit.
  • Added the stremma land area unit.
    Bug Fixes:
  • Changed the method of identifying a "unitless" portion of a unit to avoid falsely reporting incompatibility between some units when using language translations.

March 31, 2011 - Release 0.5.1

    Updates:
  • Added the link length unit.
  • Added US survey variations of the mile and chain length units.
  • Added the centigray radiation dose unit.
  • Use DOS newline characters in the Windows version of the unit data file for easier editing by users.
    Bug Fixes:
  • Fixed incorrect definition of the rad radiation dose unit (it was off by a factor of 10).

May 2, 2010 - Translation Update 0.5.0b

    Updates:
  • Added a Spanish translation. The French and German translations remain unchanged.

April 23, 2010 - Release 0.5.0

    New Features:
  • Multiplication and division operators now have the same precedence. In previous versions of ConvertAll, a series of units after a division symbol were assumed to be in the denominator. Now, a division operator only affects the unit (or the unit group in parenthesis) immediately after the operator.
  • Parenthesis are now supported to group units in the denominator of a combined unit. For example, ""m / sec / kg" can also be entered as "m / (sec * kg)".
  • "Recent Unit" buttons have been added that open a menu of recently used units and unit combinations. A unit selected from the menu will replace the current unit combination. There is also a new option dialog entry that controls the maximum length of this menu.
    Updates:
  • Added the tonne force metric force unit.
  • Added hundredweight long and hundredweight short mass units.
  • Added an American Wire Gauge (AWG) area unit in addition to the existing AWG diameter unit.
  • Added the tonne oil equivalent and the tonne coal equivalent energy units.
  • Added the ton refrigeration power unit.
  • Added the darcy and millidarcy permeability units.
  • French and German translations have been added for the user interface and the unit data. To use them, download and install the "convertall-i18n..." file for your platform (in addition to installing the standard ConvertAll package).
    Bug Fixes:
  • Fixed problems with running in the command line mode from Linux consoles without X11 present.

September 24, 2009 - Release 0.4.3

    New Features:
  • Prepared ConvertAll for translation efforts by properly handling Unicode characters in unit data and by marking internal program strings for translation. Volunteers for translating ConvertAll into other languages are welcome.
    Updates:
  • Added solar mass and pennyweight mass units.
  • Added therm and thermie energy units.
  • Added gauss and maxwell magnetic units.
  • Added the US survey foot length unit.
  • Added the mpg imp mileage unit.
  • Changed the value of the point unit from the old American point to the more modern desktop publishing point.
    Bug Fixes:
  • A critical QString conversion bug that caused ConvertAll to not run with the latest version of PyQt (4.5.4) was fixed.
  • Command line quiet mode was fixed to avoid an interactive prompt when bad unit data is entered.

May 28, 2008 - Release 0.4.2

    Updates:
  • Added the "liter per 100 km" unit for fuel consumption.
    Bug Fixes:
  • Changed the "mach" unit from 331.46 m/s to 340.29 m/s. It is now correct for STP conditions (15 degrees C). The previous value was for 0 degrees C.
  • Fixed a bug that could hide messages about errors in a manually edited unit data file.

January 22, 2008 - Release 0.4.1

    New Features:
  • An optional command line mode was added to do conversions without the graphical interface. Enter the command ("convertall"), the number, the from unit and the to unit (separated by spaces) to do the conversion. For a more detailed list of options, enter "convertall -h" on the command line.
    Updates:
  • The icon used for ConvertAll has been updated. Thanks to Ricardo Berlasso for the new artwork.
  • Alternate units have been added for kilobyte, megabyte, etc., marked "IEC std". These convert using powers of 10, rather than powers of 2.
  • Troy pounds and troy ounces have been added.
  • Gigapascal, hectopascal and megabar have been added.
  • Hogshead units for wine and beer have been added.
  • The Swedish mil unit of distance has been added.
  • The Thai rai and ngaan units of land area have been added.

October 5, 2006 - Release 0.4.0

    New Features:
  • ConvertAll was ported to the Qt4 library. This involved a significant rewrite of the code. The previous versions used Qt3.x on Linux and Qt2.3 on Windows. Benefits include updated widgets and removal of the non-commercial license exception in Windows.
    Updates:
  • On Windows, the ConvertAll.ini file has been moved from the installation directory to a location under the "Documents and Settings" folder. This avoids problems on multi-user systems and for users with limited access rights.

October 5, 2006 - Release 0.3.2

    Updates:
  • Added Imperial (UK) gallons, quarts, pints and fluid ounces.
  • Added gigagram and teragram units.
  • Added the pound-mole unit and clarified that the existing mole is a gram-mole.

February 14, 2005 - Release 0.3.1

    Updates:
  • Added the decare unit for land area.
  • The Linux installer has been updated to be more robust and give more install directory options.
    Bug Fixes:
  • The barn unit, used in particle physics, was corrected. It had been incorrectly listed as a length unit instead of an area unit.

March 11, 2004 - Release 0.3.0

    New Features:
  • A unit finder window was added to allow the unit list to be filtered and searched.
  • The size and position of the main and finder windows are now saved at exit.
  • A new option allows the operator text entry buttons (x, /, ^2, ^3 and Clear Unit) to be hidden.
  • An install program has been added for windows.
    Bug Fixes:
  • Fixed Linux install script problems with certain versions of Python.

November 18, 2003 - Release 0.2.4

    Updates:
  • Keyboard shortcuts and tab-focus order for the main dialog have been improved.
  • An install script was added for Linux and Unix systems.
  • The windows build now uses Python version 2.3 and PyQt version 3.8.

March 24, 2003 - Release 0.2.3

    Updates:
  • When an expression using division is entered for the number to be converted, floating point division is now used even if the entries are integers (Python 2.2 or greater only).
  • Mouse wheels are now supported in the unit lists.
  • Icon files are now provided with the distribution files.

May 28, 2002 - Release 0.2.2a

    Bug Fixes:
  • A fix of the Windows binary only. Fixes major problems by upgrading the library version to PyQt 3.2.4.

May 16, 2002 - Release 0.2.2

    Updates:
  • ConvertAll has been ported to Qt 3.x. It now works with both Qt 2.x and 3.x using the same source code.
  • The help/readme file has been rewritten and now includes section links.
  • The binaries for windows have been updated to Python 2.2 and PyQt 3.2 (but are still using Qt 2.3 Non-commercial).

September 17, 2001 - Release 0.2.1

    Bug Fixes:
  • Some window captions and icons were corrected.
  • A window maximizing bug was fixed.

August 20, 2001 - Release 0.2.0

    New Features:
  • A major rewrite was done of the conversion engine.
  • A new data file format makes it easier to add and verify units.
  • The unit name and abbreviation are now listed separately for better sorting and searching.
  • Entering of units has been improved by changing operator precedence, by ignoring spaces and plurals, and by changing the partial selection list highlight.
  • An expression can now be used for the number to be converted.
    Updates:
  • Many additional units were added to the database.
  • For MS Windows users, the binary files were upgraded to PyQt Version 2.5.

August 10, 2001 - Release 0.1.1

    New Features:
  • Added color controls to the options dialog.
    Updates:
  • The convertall.ini file on windows was moved to the program directory.
    Bug Fixes:
  • Fixed problems with using the same unit twice in a combined unit.
  • Fixed an occasional shutdown when auto-completing.
  • Fixed a problem with the updating of the unit label.

July 28, 2001 - Release 0.1.0

    Initial release.

Questions, Comments, Criticisms?

I can be contacted by email at: doug101 AT bellz DOT org
I welcome any feedback, including reports of any bugs you find. Also, you can periodically check back to www.bellz.org for any updates.

ConvertAll-0.8.0/docs/convertall.png000066400000000000000000001027271363574405500174240ustar00rootroot00000000000000PNG  IHDRjbKGD pHYs+tIMETAiTXtCommentCreated with GIMPd.e IDATxy\TU3 (l{jfV+O[jnhkUkz|˵IMsEEa30zss|p=.M=&P  QD$%&mgPآ9)[4E=    $6jG| sHIMHC/D)lYZ?b˸8wqW 2uhךCGߎGr8zC/:*V8o!A5{- Zc -^iզU38#w   }qez.Fq@'F桷%#3(SfV672 KGK:tGNWbТq$@NjcgfA餧׃+ Ķ JbWql[|M &+/ޜ$$ (P@\ eEb'x m~>.uDVz3MNv6quu-޽dd z쉓o#>öaA%WyyydefR{{{ &8#3}1m;욕 @*Dl DIFCי,@(VffVgAj>ΑFq8;;ώ_w4i5/_" @_E酋KC}{yeK:sGGG6}%`cc}:pY* ҈Cvvqj/z[-uY15iaQl&ׯЃ灃qSzs!)<ܩ#u>ٛ]s*m,6: ;;̬pf 5:AϿUBN7<((Vf؂ \&6booO͛\CHp͛MH6Ɔ+/q#9 VJEpH8u8rbAϬ  Za8wru^O$'%iqW iR,q Z]ᅠM떌5CHOO#C=aa}zϿ mب\msȂP+(_4@϶ Þ#1.u**ʝǮm?g/-vFM:vh˓&0͞OVV_DpP ZGNPUURKS NFc32,朳;D}pUQwq:;ҿDmS/3'Xj :3Np=Lxq vdggN4n֒lCprtH>+hCܕK}n666|ٗn8.ggg=~l+ 9W3ȥ C#ȑoiw\*rx~Hx qd#ʕX~!b\Fr sQ4i܈6_>YYhuz(P 0富L[f:zMoܰo7ҋLcԑq%|C̷u彷t'DO[xc݃Ѥq4nsQ?qӯo/Gӽ|t0zt طfYʍI-mZd‹/soxщ:=7q uo6o3Ç2tyrhd8 HN[C`G04rya u,]h %_2r+mcė }x1_BѶ=g_/b˜Enna;-9oH&PޗdE"Z]3/+;;h[N#--{;;\]BiSЦhZ2hN8EFڣ.;uyF1ڼ ڋbPTh4F<=I1|N4oF CiEVzAّV;"LmӚx,ZQ9ŷrpAWEh4LKL:?Gώ7\NZZ:eŮr?4s˝N5pA[y/[aSk+.;'Ppx4mw\H%[H+ڬ鳰Sپ>qHk+;'h[#&OΎ cpqUV37RR /7=zzyb377^N32ۮ*5}_F<=a$88y4yy(6%c:mQ_nO{\㫘(x 3o CǻfH!z]qOpv B-Ew6r=)'=O^ӫ;:A1/2|1~a7o2Յ:rdY|[;|Kޘ_X~_븡CŽ&uΝm{t$ׯ'jѡ՝}6Ý8|(C? oo~Vۻ}z@*SsP)h= )/V-3eߊ[./~iryO7j <=j"9yQwiܨ{v凭wp*ۄTV8e%˷ |dCG# |>r>sяs3ŋIc7ˉiU?+ r'BmL#+=z^8;;s54ZPyP(搞z[I'c^+oƖ̴SptvU]y2nqԺ{bWq向#j'%[(/=:@T>deUDžrI ^>A$%\4Y9AW<3prq־ұn\-3ObjQrؿ/[BN=Wx4?o݁N逍ԔT:{}x[ FC|<@?Z =A:>r>\zltJ=W9yi ZuiAG19K^C zzRB!Az+]vlN6?[J+s*]r/E3"&Ⱦ*{&'~Qa}0SW/TءvW?QmAj+ePVH$BS_Ic+t:O,H+s=11&83+h KKG@K:RFOy'f͋[5lbpQ1  F+]Ѩ3R3AA*Q1 >sCBAA,{{S  1  `AAA,  bAAAL   AA1   &XAA  V$AAGGArRa^^\] , p`BID 8A.DРF*&X]׷ľ "sTU6LA,!=-.{E h۾tפZtvP^[ ?P{HNN1׮Tq꺾{hz~4iц&[Yz ФEmkڸ-kϟen`z ̙H1fR^[% E^'% pGǟc׎H`5D=˞_gN>7z'yfIvc2{t_X2ڳ?~Gك3f#r=AzgbN[% szմ;T۹+Xj&T%1lw,_??_| _(9quueAdeeʬ&euD8'Fs*iAZøm6u\hڬ9|m3y_eF ܑ1F Wd !>8Z}ikkK^{{;þ< vvvFիWϰDNN܉ XVI#5LpUp ƍ ѽ;,[3#GrGC( m_.]d؎:c'|ѾsQ o P{GX3< !!!;&{srr1c&A!3cLrrr wポpW{иIS>ڸѐjYl9M6׏ 'qWˌqO=8s'>>̝SO>nÆfW}?s V0;9fq5>og߾}lߺ3NƢEU٬AL1cTcb)V=Ixv4q!4d͛ip 2,mr\u!^g Ӿ|5~~oZ2!C1o֖x  y?ڸM"(`زKҭ;˗.W8:s|Gwj5R+AAvuUyMgz]#999$z"Gcyx8'j5+VЧOoywyBSP(HZ5Udճ?6ln?ѺnD  B{fi׾wRu_bbb .\װݦMks.D|2ECZ@@Ǐf RSHJZjJՍ ,  Tq3g`%l޼ k4fGl\3gfAQp̙[=iƎeҤDFFɓxn4AAR-[4g[xcb5f͜nt33Bt O< 1|H\BMw i'C#Gre6hss)4Z  T;w&,?:NİRɶm[+=&XzAA|;DMX&==d2 XO/OTnTI{y5Cщ" VCh=Zx[j1uLOM.&XMRAb.Dq!:V6#GomעAp峃ذ7wktMpJR1ӽg_ TٳkF^M'n8QQjaR_53cj5:R!TPoe whkE'E?8r))̡V*77N>EfQ(B+=:3ϠR hu2ڗ uG&%%E3ZJaлL|8İpBMVjګgys璚ʾ}믿 ik֬a޽޽ .hX`!=<<{n ڂ 5ZѨ3w~t{Vcvv3hp_M1j(/^Lr ?.ԩS4oSNcqyλqFn_][BB>>>deeEVV!ŋI-;7hxsd^yz*vڵktؑG^f{bI8::mT*rrr*^2sLqׯo֬Y3~xvE5jO˖-KmoAщ7 [憉Ռΰ޺nD;^V # )BCoAř}-[0p2)4dggYd Vk<<<ppp([~`ѢExxxvZ t/]D- nwhull, 6.h3HNJ1 +VAM%,uYf7+Fa׮]w po1m4ڴiäI2sګvߣٺu+cƌ!!!c}[~}Ο?_'X;c %]1,CJ*ˋ3gTISG\\SNeĈf۷oM4^zRA0 ,W_r^=Ӝ>}FS /9s yyy8qaÆGɓ&%%S;DzZ:`,,/mw --WyO9sx衇HMMzOI=h׮aÆe%F[oUe0zx't͚5?7M<RɓO>ILL 76z̙3̤k׮dff2|pHNN{_q6\N6̧+p}֬Yf([l)=: 5BUmKګaÆET2yd&Ol2Ύ%KdPz1–bᨶQsIA+A_ұfRAA4]A8y!}=t|j7iG7`}RA>tq[X(ǥ4:(G;m?B+r.y,_v:}v?`DDD0Wɥٙ[ @x N>0vxV`Cu'l߆k׭c޹1cU#11˖3Ti.DǐFrR|A'*7!U($q(:QjtG+?>#]01z6՞^\38 7\ǕYӦ9sCrqCzVFQܢZj7_mi f?yʢ~P0 M1u 03 ^={ʦMn`Awk$"Pmto}ILL42x{ 2lP+^ %$\5R"z NNNdgg7}%Ytj5+VЧO練V"τ  T Ƽ1ڷcmFlJ^xѰa[P[[CLLa… Fkj_6ϹxfL0&&XALoi,Ym۶Y|9ӧM32B\\st/\H]x'1}Q|Se-׿Gʕ+4i܄̼mJ0[8AA2vMXXt:U⹩=IK/)P*l۶x0NAAM _pAAZ`='5`1  5$%'%)QL`*8MzzII"FBJh9EWUtj>j^BڸRDסV w+Jv%bT#BtL֢̈* OY( 5 DEN3T*1!=-.{ՊT5mw`ߞ*"D-aDÇIIIA@VRh TLpgHNN.Q*BQ"B5!&X0=z h-h ՌL,XU3x5/oCZ=ShS=c3;:ލZ[ۊ2Zݢku\t4nVXWA w6nį^c=ze˖{'%'o%;~Kر>}r'0(')9ِlX<7۶mPՍ͚ɧZ4ݢmٳn*;v׮]3KGkj~Xb۱wpU45Es5kr;8Rѣ,֩c*SKȑhѲu" &XKM1c[. U.\wO> |->~ |1>|XS{2ֆcxtKcǎ3n͛K|\,}W \äɓt"'#8$g},+|H~~UߴHǚʗUԵ7~2n "F2;֭[ӧO9bNSz^Z޲u aY\7 `s_nݺ#wsssy)olH/nj߹sp|aa$%%n:4l zV˲eiҴ>~L82{S{1}֭cݺػg7=zGݳubݺu6}///.Yac-V7Ù? Ņ{Xj5gʔ癩۷m_RQN^<M#aӦmݶƍ5G}NΥ{G'27oTͺ g+0{+pEV 3>}:˖.34oNgدhּO0T{Sl֨fq,w`` 6ֶ},\_x&^UbEQQQ}zߎS4#F$"b}>y :/ ;ۋ/k=c-3m XeL~'NҶMrL4ɓ&%ߟw^f`=j(}۶;v<|0+/+;nڵ&W Ru阙;C.]>?aa!( .]|`v-\ɥٙeݝ!2kL~7/Oe1u-^_"~Xh[1Ŏ'Xv-[޽{ޭ{ݝV-Z)F~:QQQ#{esk۶ӣ{wlmm U7ke˱d32B֭7$l$Ǐw=FcHOH 8(ȰR 1|!ǹ+>~\z؀\pUSMEHƖHwwwnܸQcА|j(-%%wwby,׺m_j ]`U41~83t[UB}^8,^I/h8+{ t>k;~~~Ym93>! 2_~ׯsu~ݹ!S^{c:}vx`ftj>i׮C|RU.mw -- 7^!xW8R___.^h؎6Rrtt$3+mEӟ5ßıLAKhNE[ǧ~3ҟnٲG77|CH?|c=Jii׾wRjzyF&&&__jӱpS'Gc񥒺ӭ[7rrrΡG%̖9+rMpYס/6l8::Z|-2nWG\_1~uT777g>~pss+u://={һw/fuj>fdxd3b z#slXgH2x0B\\S>Syfcko*[5jW<'#R'%~D ,S+1Yx1A@G.\8cH1}*AAtԉGtg ׼_~@^7-?G]/\&NG~ 97*FPlJ\|7sr%6舫ݰdd눋c˖ 2(nŗ-u,Y)y!ҥ3tBN f)բc~}5z >~&yې^ŗj>J3GiSгw\U&˻ID]\ sF}5z׏ǏeOngڥ3ѥ#&)l޶m;}XJ*Ԗ7LU/OpvU=uΏnjR FܵtkԞ$UmY N<ԪqG<,Zbάƿd\K|/quHu5Շu1Y4l؀8r0)))"HQըT*6EWUt1d35e #(0|E/^H&M&>ls ̦Q"h- Xٰi\8yLĊpBBB:Oʕ|#1fy  'w~L5[޶>`AA{ߞzQWơT#t2 4`FNhԓI}J;_yەJbh3HNJ1 +!h[t[i)&ݯT(8a<'/Y14)/M6򶭦`A(L(Jv%bXr!: UtW',ZҽBڶ=;EWѶ*{-b 5*LmNtmkP[Lpщue I 97 z1PmUFd˱d3bҿͩ=~Z+Z5j[X`^E&Kݪ͈ j6Pl߾ I@@2gy(ΝщܜlÒ|ɰ;2b 6:`翛4_E/rƭ:a \p"X5',z| ƍ ѽ;,[3#GV .|#';ԙJל,nܸ3vsԃ{E,Ծ*SUiSqJj2L `Z3< !!!;Ffp]ղlr4m&N$##Ð~9==_?}2tIIItG'g֭[Gprv1Y]t3>4]A8yQz_G'g>sKu-OV3e?nnxF˚5k[~;59e/ZǕV>sth-zݻN=hܤ)mX9 ׯcYz[8s$< o,ZdH1b$Os=//0m/Y垯ۈ|}z3yfgfQnf=UFRn`մhlVZ[<}ظX󖥅ٟNjn:kVM򙣳5c3kW8X A gWޣQg=_Be{v3`c=t:_@vٴ+7j@bb"]u')yiFbE>E```)z;q%yʢ~P0Mk*^BWf\EPPYj݆M_}IKhQݚWD(=`Qw7m)/3p_:+35QeLP+1>\~2ĸ| `اQ(#Gaނ;vTlllPflmmް///;;;|3l;99m 隙^':&ǎX, 1YZEjJ-Nfzj:WwҺp/dyx8K.C&b ]j őB6?]vlYc.8~(7SnBTRS ώňOs1/jK[,<={h_dY{Yt)#cb]А>LFzzYs)/oyZж2c-)9:WwKK/M|\fe<*PD$j 6㡙3fORn]uJbb"+V6l(;5nX&MLĊpBBB:Oʕ|`8QVVu\qrr̛ zfLg7 &&"g`ˍc*ӓH4ibhըߟN>Ȧ1GÙ>c&ooX;YlY9i^AmcNZY嫨斥p1c=k&Pjpr>: D 3BJhh`A(Q^_,<-[4g[xcb5f͜np}q(0|H.]L ?!}[xe\5 ooo^<dҘ:ez=Æ'>>???=_\nSӦNg>ܼyJWLۣ{QϕK'Idfe1{L5/O s>ҼږufU\Wva¼1|H\BMw+\W-URP(ڽaG>ȅT˃qBe݄(-DTm2]E{IWA[1}m,چCbmMUFe8Oe$b15VL TWEum1 FL &X&ڊ UVͩyJq 5ZNCTK3Q*:j*]nWYܼEK N?ɾg,XTnn>}f͚P(8s *JtmkPM_acǎw߉b4l؀8r0)))"jT* mUj >czxWZ͚kg!/7̎˼yo <ŋ YF 99 P81P4j@D]E[Af\rss9t/x+#VL,]??a"}UWpiؿƳbE5.2ggfŘҏˑiAA+y3ڶ???kӆ[.GD___"V_ҿ+ W૯twz, pO>ÇG g}nd '$߽&:pAA2Tg311]vc/7ڵkԫW/ҤIbbb5LJ6m  k׮/B, po ~ :F˰aC߯ tW'..s^a! bYmzݰh9Y[= gWޣQgNF*  Bsn8T*ٶm+z0au1܈/cAA *bYJAA(t v[fzju1Umz#"BPp62 BʓvQ^gaEMpJR1b/IPwkr-AIjtz BRDסV,cYjQ ZPPq)5kBe8Nt:gNAR Zsk!BaDÇIIIA@VRh 0,ٍܬGE5't9Fq>{٭Դuwy,2{>3҆ BӨazH9ɼit9T*[zBɩ5佖yGvJ^'N2n lxk =w'11e<3ri bKmS]TG4nwOotS ~+-y<繨  xg#IJJ6:xژ7oeEj|iؤ9pVc4o7YOYb{9nH?0~I8Xz ̔3Ӛp?-`W8`...;osrr1sA iČsɭPcͶQZؽ7:>wOo7kG?Q{Wg߃z F/۶{){1%H ;#ֺ-7KGxMsgy~x.;ȓ2kF^zs'ym}!F4f[eI(qL}%x{ܜ*?ǁʜ,C3Tٴɚ|a֖̬l 򰳳3:ӰmgoOvvQzieAs>òQ9ʂ^pŮ&_ƶvnn˗оC[.P(* Ύ۰_a=ROV{Wk]v|<o?/2Pz@ԵDLIHH0Ҡ~`?n,_|VDdɲpjw—/L$=uCB``}E;wAe ¢ ٲuW._1?z8o㢪?m`T0۲ڃΎ Ql, PVHbn[܇ߖB(%P  0p1<͠@ |޾x9s{>|z렩,G{{{ecyvFon_u _&ND @ cĉV>%^}u7Ӹgl89Vȫh|QI>8kSjaҬ3 Xe}&9-T~%^ڲqqOWC ;:O3PE)Rzj.V^556m*^5}DdƸ9s&O6v/8? <~f{nw炈oAo&zn$ w^x+WYv+H#QC*&u5Dx ׾>Q;;; H<%9ƈ~.A0 aj4&=Z[m_;xpAw~D\c +AgM Z=+炈ߞ?fMͰcϯ~+,[&.}{ӏc }(,,DFFپ9<444`Xn2f AeM_ͦCѠgΜANNNԷlɐ,ʕ+娩}"++ d(Jd2 dggcڴi:̙3bƌ"(J 宭D"---8pltttѐ詯fq!L>PRR\.YH$|Է;,cxe2\PP @,C$δZ-~vv6rssS͸j4r888B@`i?zSL^ @& ׮]u:]5}6',wn]Y[DDDdPHYhkkåKnu2LqDP ++ DLLYp}s0Lfk?^^^f-//T*R)劊 0Txyyپ^lo 7n4 bcc-vZǣHLL5oTTJJJ-^~=bccQZZ шs!22ҪDEEAVCBBV#**㎎Fbb"t:t:hPJ_ڗ둔k^K}h{ƍ1a̟?INNFxx8"""rΖ.] Jl޼dT*8;;cʕj? BXX ˑbq!!!P(Xh[ [kB&!887oƌc^K}Ȗ ɍqDd T*,ㆇ!1lGbb".\F$(JV xgφhҥKJ!""D4jjV*r9Do]lh;^ymmI%bKDDdA0_LDDDD.<{d0~zbH$l۶ݻ GGG̝;EEEfD}H@Pسgf2???bĠYHokkCZZ|||;v=!!H$HHH`0;FqqqpwwD"h@Yjߖh_6FmYzz:4 pts塡/ƺu|;ի&?~'Ovڅ<梢HKKҷn݊|梲ZVH۲e qiV222PVVBl}4,oKmWkDDDՠ,C$ ?(;ǡC0}t@II rYZH$@KK <<g.] Jl޼dT*8;;cʕғ۬AAA CXXr9RRR.{JJ BEрԾoZlŠgB(~_ADƸ;1qh4$%%AT DD4Z8 }}}1{lF,]< D'1C+[s?\{ pm< Dttt~3=0ﵳ|">{j.+Ai2Z=O9"]x8V<H //g.xv""0  9i%3<'EynOC)wk`Dj3DDD 5 y6::zƈM/ Rj;N"1Om:Βm*.]ϣ+e؉6F;F,O{_Ry37~\ϯ~\a0uW ? µVR gWn؜PL;a%lͭµV+F{DZ&,aB2xfzNƃe[1ߓ ?y&`?£-D1V-CRP ]*z)|Y}Í2䭳8}2y i?%y,~Mvv<_5c؉W =\ !;N91n ~<^zh*& pOWȷR03~xdgpa>qzpl}}co IY~G7Fck0l߯kPwՀ&{ iwoz<n\lkݢW?A4qvO5.Se\oCf %hDkͧ^+DzbBvv57:i^19En|D'\y˂omp zY<pu!M<:@o߼gh"!é]qvKuA#ѭvS;=N>boZ~U߂>lo$}zu|Z7FxMSv?. k.zYZ目&ECzik|c}c8 ͌Dx [F-uMDD#]ao}> {)&xc˝p|b_! Ʉ;0N;]oBː% q瀟KaEaE<\ w';Xk.8ymSt~b8['v{=뇧r$"iPv wؖS%8WɄpׄ;l[B;_X{=" Vτ{~"ێhhiԲ͙7.ȯlZ=OkD -6:z= {Op&zS: w:Y-Lعt\:~yV2H" n{Qxo٢- IDATjN4:a0yJSNxSPqoo]1XDDd(^.tslVw~y\*pn.;S;"N֋G+bK7zʀήh|XDw~;끈h8gȚ$""""a*_WXlM]i?1^xP$]xPXXh+`֬Yx'ʓKDDD g᭷ނJɓd}(,,DFFپ9<444`Xn2f usƷZh4#::zUUUxgo$ ooo$''CTB&!;;ӦMaΜ9"++ bƌ"(J(HZH$@KK <<< ៏v;HԭvH$ŋ!a00vXe\~ݪIDDǗe =,cPfPL:lU@.DMMjvz=L",]&,tntbpwv[|9IDD4 JP(zdff"&&FHFyy9Ʉv!]& 3]yyyεRrIRTUU ldI&` PRRn?ׯ_Xh4ܹs׮]xTVVfUjjPՈ\HLLNNCBB[4ȶ,M""",]* ...ؼy3'cɒ%PTpvvʕ+-'''#<< !,, r)))V+%%~~~ BEȦmܸ2#lo$rcƸbn#""""`"""""#@>bA0`""""@Pسgf2???bĠYHokkCZZ|||;vi D"ABBk_E"v ___8::bܹ(**ҍF#D۷yeeeX|9 JeffB&b5m>a0~zbH$l۶K ,]""Q^)))hjjqI!m׮]Cnn.***ڊ4!}֭Gnn.*++j-[OFAA a#G // Xx1֭['edd (((Ç<+V ..ZR6m2s1:u &b5m>F"9s999R%""% ooo$''CTB&!;;ӦMaΜ9"++ bƌ"(J(HZH$@KK <<< AGGUzr h_}%%%BDgK}2!{YFvv6rssS͸j4r888ljqzSLaNNNv횰麭ߗ,Xb"...wW5m>',w]YDDDdP`B,#33111fAcyy9Ʉv!]& 3]yyyRX.//T*\RUUUrEEE###f.]2++R}hYFe':,]""QGEE#6608w"##k">>hllDbbvj5Z-Z-j5.Wtt4鐐gf8;;cܸqh4O4nvIIIHJJ5KDD4KBR7oƾ}x,Y* Xr%d#""f"((aaa \.GJJJIIBBBP(hѢ>ݻ7nĄ 0|DDDXG_'hF;KMML&Cpp0BCC1o<3Ǽ.-6BTyYY7 CvcَD\pIIIP*""XD/fϞ шK"==BDD hdSPլ""Ux91κ> '־򘈈hP( 8::{L&X477 mmmHKKܰcD"Ο  D w/1w\*++WWWT*444Ld2Y-mAp/V^4558y򤐶k.!77hmmEZZuV#77juw˖-(..ӧQPPBddd9rЀŋcݺuldVX8hZh4HRlڴ,ϱcp)L&5$""u ooo$''CTB&!;;ӦMaΜ9"++ +u ;Č3EEEP*(//B"ZZZၖ\\WWW>hiDDd=,cxedgg#77:u*>,i4r888f?\Z-nizSL  ׮]c UPP @,C$~)RfDDDnP`B,#33111f?ֆvL& 2Lғ ^Z^^TʳL#Vdd$֬Y#K.>h6 ** %%%hmmCxEii)F#Ν;H!}ڵGee%(yxxjhZhZjDEE,ӈ ggg7ױoeDDD ,]* ...ؼy3'cɒ%PTpvvʕ+-'''#<<7Sƍpjj*0r,ӈw^lܸ&LaqK}VIDDdk8""""qŐGDDDD41&""""DDDDD 1&""""bLDDDD A0`"""""DDDDD 1&""""@lYDDDD4z9f-MDDDD A0`"""""DDDDD 1&"""" n&zx;ooQ~""""Apjگ=@c}mɁ <'g a'=tKc`qh55֯uVZ' I9|oѪ15(S!y0[{,Go>Q,z^0S1ɾ(-X_:w+ CDf^|9dM,vt߀i&u~)S<{>׸wx>"ɾ'L&f.ܭ~'"!߀iݫh7/=h:/F$7_ޱ8o||CW X74sgNC,+ CϘ yֳƟߟqB]}Vg7'~ں:?ؐR6?zƽ'~,QPpFH{Gӧ֊_o38qd "q(<ƷloF&z]{x5R7mnϞAKƫ&zG0mT_|kq ÿ?^Ⳙ4iڵk2ujk3!Mf!Ǫpу0..}K+J l/t[g}OxhbH'^{  Ϝ|p @DZ̅1UwW_y^^7.[qZ}_ @ׯ_7Kֲfܻ{f~O(#D!M6Y3OttN H '"7(+jP ljjk/ݜUVɉ Du"Tcǎ3O'-/}f{ehmm~̣kN|ee_hlEIi)]'GGlJAFx65'l`l4A|/_{>"mPXDUAD4V,W={2X3=xV-M w^H<!=>hn---H~*'lƀg {! ի`k̈saΑ`b 8H㶯 h( llp1lˀDn_ҝy&h  !i&tttr_X`/^q\$""|gϞŢE0~xHRVۖo)<GylHDd[AW_ix "Jc}m _Gŧ~O?|{w܉~5ktW-y7eeexG 5558q=jmiWZUUUBHHVZNDJ4Cx/ v Fo`|Ӝ9s~HR 板 7⏳8͛7cÇc˖-裏z\^ɓ'zocc#f͚>ӧO7y!..mKoƍÅ 0a+Wfv"8H~y\*pf'Nq!$$oc@.3&gర0X\}*ӦMiӦ:xyyk֬ASSӐ> ~hjj!Ѡno0p9$$$ nٲyhDo",ի>/K>>OؐhP #N/KÇq]w!((gFǛ]$vaɒ%طof͚euyw^<7;wĤI0i$?9dڵkF466"::g"" aرݾ/bÆ <D4r>}ZX.((\.߱rJ~Я8qAAAfOh3gvV'9 ָcӦMpuu+6nș`" 8** EEE0(--ţ>+V9z(D"͛3@D#~3 O;HMMڵk{ 0-߹s'y=zsO{:>(_믿Z?$|}}xZƛoɆDDjFDth}Dh!{Dp 1ÝHDz|8HDFa2>Ś$"3OeT+A"-GM⇊*|s.Fpqv?Qqh2)~I"8GDDDD 1&""""bLDDDD A00r >pHDDDԃ1hjA0(<š$""""!A@ÅK >,+mU#""""}*3n IDAT*.F\|6>4*J??>a3X_˖ADDD v|6$qen0)% wcڌؔ(Mğf*fC2/~_s!@h& ٹ w+_tDmݯC~I^ŒDO߮{*KcIJ6c&^~I&"""A>Ǣ#Hޅ/_`gfyr>|o?*Jp3<?;WWgk#>~>ֶVdzv?rK_>g{*Mّ-NX8VEDDD4຺:{w[^'<5#xgY۷[&l9(B7zn|߷}K ^|9!zˋH$:;D"D"AƋ/U sѻ .˫j/\7ZI& qu–p" <@MseDf۝8kDMFXuѺ8?Ǣ3@6Y3Ottfw .Dr""""Q?Kކ ͨ/Lҗؘz}-ZlLٌe*_}{}X)|?5P'>`4Ůs[b1ʾc]R… pR6?g&9KDDDDdAp\W^މSaO1/|S aE>mJJz?Fc+~pǰG`x 8,_>>|O%b s!~0~̙sƌÖEDDD4&uE7f{>pM+W??= ""\=$hju;A9sa .}&gS_FͿCBDDD49 n Zxp">BDDD4"Q/x9w!xbh5DDDD A0`"""""DDDDD 1&""""bLDDDD hW&""""i8LDDDD36&hĻ&uuX X3DDDD4b/*Gi/tZh4P<$0yIENDB`ConvertAll-0.8.0/docs/convertall_sm.png000066400000000000000000000525721363574405500201250ustar00rootroot00000000000000PNG  IHDRa'NZbKGD pHYs+tIME5 p iTXtCommentCreated with GIMPd.e IDATxwxU3S - @DDR"TiB% XKEQ.tew}f?v!AJvSyssA7إϡȈ@`` (1YqQ@qkeeQPB&vHi z.HMFvhQ`t`0Fbrn}~m5oEU+M6DoLh:NrR2>Od?tF-$"< j4jk(j$IȒtC-EFQʤcLÜ4xP|9ԞGg *N'm&>o%%5 Ͳ%ٲ.76.Z1% iX~7XDa;:<(2cZ5A -9 nJ V+= c@ 0X̸,V+ IY{+BXsXVY噙fEǃ#I8NdEj"9\(vo¨K(U΂dvp8Xm8"9UYPн|&N:Mpp u|)_f|חh5"&;c,Iݸs'~eҔYJW63pض3^swz3:=m`y';dt"IZ1%mDftQZ'Hbr:( 8CH'mlN_ă Ѷ3~ϟl Ȋ¸ϣp:]l6'( $cfm2|Z:vNcƷxmgn-lN $ w7QB2ÈL>Ӈ9_:bM Oe8#(4YY>( Cd2Θ/Q XNY^E v?M6 $ N/khdx㭷ԡ=K/dI26m|EQh"""X3g3{tfΎ`0[EB.KV-_$I<յ;Z} }=*`x4ii^X "%d1rJ% "#rHXD.]ʱ'uӸqc FNQ|NVFC<~^N'K_YDfVvWUj/ԩ] S09H.xo. W'|j*xq#Yao3x1v;бWUEEc-k5/\HXVPH: ^[TQpSNŚ믽_Ï?rX Mj!$4iS?С/f8lAM>=W:}Nxq#v.n]QÆfśooP[V BΎ[7mdނE4n6ǚ|;y&'Mxa#FZ,aRTh)\N'v3yر};7nĠt:߷/k׮C7Y,e*Tm鸔L E2 ՛w7́yYp#ڒLҴi-ZoeС^A {9;v:γ5˖UPq'AQd Y\۲Yr9ӧO'+3qc f͚Y1cƿo\\cƌnJ9{ow׬y[kGTo9v_~%y'..zOFw/%9}4?ʓ{'Ó&M/`ժU=Zmu%gf~֮]|Á?~Ad&LÇ?x 'OV+vuQ/GQFEzhт֭[pB, O=T ԩS| 0 6иqcz왇̹… ݻq#`.\*JAG,/_'ɓt)O2d?mʕq8ر ?3o<ڶmW_}Ů] %rO۹UrA;RQ3fLwD6l@ڵ ԩSy>{T^=gKC֭ tHҪ_A8rfcӹsgN8رc?|pocUrjv%><~ᜎC9+>SFK^|)ڴiV5|VQ2Wnݺ^9Ĝǣ(W ʢlٲSZ5Ԋp'mV3hpFGG䷒:Dz#덮PQ|x,;秤P\tnd2X%v j-HJ ***v_G)`vpEVa+: 枚݊Oq *–~J@6xB|i}(B.]8p }$ `d8-:F?/y$zVzvPdcU\._N $PWpAu^ *n+ԮP )6ad־eʔ3ЩTVS9*jժeV?o6g(j2u*5k֤C'0[,[՛ѹs'ZxH𿎎dj*TNb(&}/ZR-(Jyjs(sTr/\8Ohh(v;4A;=aI?7"p|xyƏG~п?_dz`УjyY3"{1!jzjժ-toTY- 9$|̆wޡ{n/_bhtP|ˊ9` BoYN#S-Ft֍[ЭkWlJ.],ίu}5W*T.*jmnN%f\/ƀ7jԐQ^bXlV3A ݺ#3"Y5FSU*GlWD!*jl6F&)jA8>آd~].p +K{ܿ:k;N@PMS,z[=hF6oU<}ԭ]J͖HfEy("j4Hn7('aC otEK/hVMWƂߤ<EN>mժ@m0_^ [9;nI&( gΞey% "3;Kʒ$1'&q_9s9{9'8o|K0UԹjJbbWyiHƎ;9̙Xtj"f\$I"%5ˉ$KZ*"2{ct:dYC=u?$t:4mB@@ZΠ1k,E)|YQ񹌴by%FG+"?3-Z"11I'SN]'O~ɓ4Aysy}dZg;X":޽0|PRRR֣']ta֭x1/#;NݵjsdžVEE~W |Y~7>;?ukfYɿVOl$_NR%׼A.`<݅۷~Z z݁ $rƀ@V4 ZӅ`nݚݺLTT?H>ٱGڵZPHWt9L330H)09 V1 EQg[S`68ƎC@P0ᄈ]rjhZ232 7dK/4.L$\ ~vmۃFgD#w*9+ñZ-dY3gЧ_oߎݖ̙.]b޼DOB6Ν(10#N9~aaaDSjğ?/®]_кU]U"@e*TƏGjrO/3 2)`  c={=%v!2,SlOWcs(wg1w$IK4Yy9A@x$ A.c2p\_}Q#+VJRȶX| ^իVRjt4gϞB f ʕʲBPP w׮R{V^}r϶0??)ҭkW|#G2@8} կСCH#T\٧7-/Wd +7TRdl;vжüh!۶m_>nNbx!%._Z:t_|~KgdNPQSIo'Nt:y繿A=իW' 5ӡC{V$˸\.<. _r9y}jߏtMyفt:n[|;wǞhϰC7>'L`…thDfEBfEb$44eKxaL8.m6v;cǽ F6mO>EEì}cOg:Nfϙ#1gldYbK',VBRX->UԹ35C?'Mf? 2:Ŷ[/CR~-x /bZ8aW*U%kA 'L =-m[7#aۨVSp:86OHUq88l[M+kFԩwTXVF#2q_,D,Nۖ SN =F7/Q;~Y ,+Fo{'88Y*YV0v;.HPP${ɮݻySyh M\LH >>zu "{|IV-};eʖba ,+Z@NP@tKNV?,iѽ^n79B 0l&(0A@(``4b1AQ)]vp8 Z{uyOB su?޽zIk<15'`μ4l IDATPQef3!0 z@^h2q]?S6 TR͛䓝5[,NGbJ*E] ۇi}|WȒqXp&Nbd8\R#~M)Klkė9++9łFkgAȒDVfYYs.u::up +>0:jyI9_S%ٷYv22 << @n]*͗4Hs@(kͫ/_fv;~4aNc̨Q^u\ot(^z.9bȟWE /eS9il6l:@*UB$EQ޽eJ!>>u^tos%u[CxjTVKbrҽ쟺UZ=y$. ֩ퟌ2 d=B1[}ͳZPؑ?d2q_{(:=Rܯ{)+A)]Bvv6Ν5deJ}:tdT–٣۴ݻifwG1j\?FZM\SRHKMVcǎ]Q^/'JԴEmj^ /_RoDQB|}ȗ^"""%Kp8 B\m0W_]ng 9sbx<裈 s̡c|~kbfqq6~?Nĉ0x<11sĉ9z7MɄ(̉!3+E :R !a Wog8A3'4.~0{LZ-?KP;ɓ'([INNfi̞3ˉ,[W ͵U5M:/\‘=@_~̛7Gb4e^ye ii FbbhW Ksbb5c: 7Ҹ8bclyQƅ{#Xr%E0{0+WB#,Z'ڷGUP$_9u7q$b 6Z5k 礿F٪D|;u"wѣGQFѿ`_&Ñ#G1|8 |nJ";;;z9ELB \.M6uU_(Q%uFXY3Q{kLx<~'AsNG9b>Y   ,,|A`J*ylv;/_.\7Bb(rVXj˱mV :'O2r<0,3|Ϻ<}[v6AAA׏q~Q굄7W mm $|-+5jTWT\<0o=_},Q4"##l[ {ϞT^T6,_;fZ1 ߀[Z>wDAѢp8X29|[7ob](7;vF3x2ze%WBcUx<~njEQn䓭Ӗy̯1!\ND h4Z$t+:vq/EX-z3M8kh4OS4j4qK S$QE-oPCnDDVȣфf> YZZ.NO_!7&:>6D,3BYYDvE6ޗ"$47KVdgg(^ t;m6L&D A( ^QY&nDV(q_)/|?Q .Syi9^`2aa}Wpho9+kͳ^93Nǜ>WxVK^UԪVP@EM QjP݁g՚ȯ5PF-;Y9>J1UYɣC5)|ɫ+UO 侯B EQr=\Νyo[3!yG XTQStz#nwE* Fn?ERQSIBדL2o$IDwEĤ˔/^,2!!t"""h5rˉr!ڹ_ rz_+6D |6q ^scuD\ĩo!&K}@W׿lY"KR+@re|;{^> e˔EUM+SQS`R֭3X'NU&L`Ԩ@xx8S0k &N@3f4~6C^7 P\Y#d !2e([PeJFVBTL\.Zj!C3ߏ/3z!"##7v }XeI& G}lzݡEUQSmUPq{pljǹtÇ Cجvڍ`FG;vn7ٺm;Zm?FձhBީZ*T7*j;oNf?O1x FzeKcdq;WaN3v,^z "<{)vM5&"gϞG҈*;wDiD7Wŝ^dj*UP*j}?>ܽ{76lx$^EMQ[mۍ`6cǹNmBlƒq]=z /TǠA6;.٬ᆩIDo eJ@o4197xԽAޅպT/HeV(ϝVo 9'ZC?nM$/zS{K(}z7^Go ᙞ={uMӳG7>C\//\.ˬs1s6ǁ5tbdQg"2@fAPu5RE9_ԪS̙VܯW\vgMgİ.fFlf,_Æ|*\vA㲛}/`#z\v 7VW$32yy.+d0(n\;zw#+ F#z kg6r&.Wڪ5ѭdb-fSܳ|+#| XP kF _gΰsvf̜ɓR|9b_Y" W-`7Xhu?CTX 'ijq ޹+Q+dδn>ٻI5;?͏@$dYN۷"#G #99pz=sfРjwUslqw{ΜeGbŸfM!/8}YB3K]r|ڰr\)svG<%Y~}q]wQニ4hp:uo>ӻ~‹ pw߱mfÆ7С3;wCdg[\9 Q:GmCf;f[${(<Ƿv]&(( 摐p4Z5s:5jT6umHo̙g0q2￷իVi\:+*jTSo!x$OO6vћb )՜Nphf͜Nl"F#v NOѯ_jT Ӊ ,^8NOOSbx$"ʕEԈ稸~Ӓk[2.|g<@c.^"yr4l%Ih0a|$]veÆw/ǟ~Ox<-! ṭ=%u8Xhju.Fٌ#) &.X̸cXz Kcc[Z>_,+$ϕk@,)+W&M3xd֯P5`𐡴j֓,Ȓ”ɓ8ʗà7д]^[qcxۍGUYn׀p%$I37f )AaXyE=zJ`&9$J| h4efN7˅w!"ЪUK/XVa$yF$j֬]Ul=vTXczA*|r}tR=HDڵ$N:rün=?AφG#(0(,ˈS ̚L*BMP|fr}5jлwo'¢ŋ0~Z*-gQ皫&d֛|7ocǼQʕj΅3fBEqs_k.Ο?Gɓ\t-ZЭ[7G}(^UVqdY&66e˖q94iR/9s&}!22.]0p@[nDEEѳgOZl*knӦ ?n:Yl[l7̓^vҥ t҅}p>BEhh(B!͛7SjUDQdܸqӇm۶۾};w歷ࡇ"66M6o>6l` >>s2o< "..˗//ȩSdddPJZ-O}RߗhPCTCHfk|ՋVZ@ǎILLq֮ӲUCT73DrڵG؄OQ/?1j]5*!j۷ŋٳ &ӷo_ڵkG||T\ ( 矧}ԩSUVѯ_?ʕ+ŋq83?¦BM&֭c 8зRO=.p tޝzʕ+h:u*mڴa֭| ۶mcmۖXx ;sNV\`]w݅FcǎXҥ _~%ׯgѢE/_*ő ŁjԨ `0p?gX;h 7oN~0`գiӦ/駟ҠA*Vw(tWrj-^F͛ӳgq֊`0Xv-m *n,n׮O>$={>|^O֭vʋ/Ȱa2dee1e֯_c=˗ 6hiR# .I-ɘtDQᖐkp%A#ӈd$t6*9[ jEiH.ۤ+%IttKj=67Q'pEDAvaq8 6hTfPqˠN5qbNQU YPDA`snA H8hsyoV9%HL{67'Slofrj%~M0d,FR6PV#s֘$S&Pό/Db0ۏ$K|[T&r΄h)UH2 YNҒ]&ؠ%!5͆XݽNvL%3TE(o@qKZAtdIc2(Bd\T-e` =ԉddIDAT[BN*Y_HZV e?Y<" Fm]~d浃|!YyIEPƤ-w5AKbޗgi[ :f 5jI0;pK +V{ VE&bYЩ&OpwqQiyc`pP3"m+WM$Vj)[hJ[ .ifںRXYe (b0y@Np}?>83gss{u_ iwoW*.wJX|uGr蔝>sx"mc%[c򊜀wdFmWQՋJJ/+ KBiʁv';P !WO<==KS_Kvb~+1a'y. nT9 m2 ODʶ<mQ`(($Kéb{-pY!DQvĆ<53 ⫯ٔ^| >Ҫ?rdG ;bJ;IBpmڼP+>z_L$}<+;B2զռڗ @@QPIܬd'Qj\;⣏>?L׿III̟?>wņ #>>͛7K=8q6Q.Vbb"S;2x`ƍb!>>VZI֭`ѢE|w8233QF^^W&33G'0p@wθqxlDB4 l2p 6 L}Q6mDRR⭷ުp>S^/ .;&>|6aZӂڵk LJF՛>[l]kb v˵S^^^n`S|8BYduFrrVD< dڴiȕ'۳e"##IIIaȐ!jՊAċ/Hpp0֭@;wy*rnn.Cm ,} @pHH;瓐Ç+OϒΖ-[ <<\{D?NJJ NVZE=(,,$..ݻrXjl6|Iڵk>}t&Nܹs2eJn`S^OY񍼍L&7F;gm^ Q1+e\mO!D=-+WVLQQQ Q_JZϞ=>^}(/H#jN @p]EEEƍ1bV `ٲe$v5rREMhD\%Ec귊*jBz>q=^}UEAQ ^UQw~>}j*N>MZZ˗/W^>Z5ٌd(XYhB>B W_Y_2)qfF#VkM_ifڲ;?1QiAy移5HI]@ͥ5U/of3S05^7tш/3g%*(/b&^g vu??5k> s4i҄i^)(L&VZMk63wdmejCWUPtޠ]+d:&'#sܼ^\N<ɜ8sl%̬x7IL&ᆍq ْ!$~ \RR Gk/p\SjDG$O#Yٳ4m*_^Gm Ѷ8H“QBT2e2G\ժA8q6: ޫ  9q62fS ?3.QOe3q\-į5EQp\PZR̥B\n7@ޭ+n[{]{zy}q̩wG$zsR>g (--~PB7b{~2nʰؤp&M@II6dQqBC]\pT BTrtebhZ۹JPFvxPUW3-ؤD; p|UoTU??ʼ^|||tvL&NgyO`0z 4Ph4jCx<\.W=Qr?v{CVk.\ #s1&>uZc(8 ۭBnE B!j/_s{EQtRVV (4iP2ӚtHR6L4n++??X4T2h;8.:9_/F[Zj0 Ao0qOXi} Zi 9ʀe >ޅ(#(\.TUQZE,Y&aj6fhxNg75*( [f( &L^SNEؿ?'N䡇0a}`ԩDGG3dTU%&&cرcsN~hJKK>}:6Vy\\\ջ22fРAA![zo;N?v&$$1c0uT_PZZJRR3f̐=H}>лN 16mڐÑ#Gh۶z_5wy iٲ%:*"KVV^Aqw-ӳgOvء G{`0PZZ @v8|0#44*J-xV:uP/5 yy駵SRR$:s)-^f̘q̞W^y-[h}5kjV$11gy*$$u Gܹ@*gΜ=(Ldd$eeeK/aڰEZZ˖-z<6 UUx<?>}ТE*ω SNeŤ^8\p8ϟ_~Bԅ7xYf1t*/YD"""P+Wt:l8Nbbb5kZ5--Dz= .d Lʫ[N[ll,3f`@pBB=W^̜9}( %KDŽvLXhlc— Q[۔qVQmo\NIi~f:k_m׶-ǾRWA3UUmR;Bho0i`y툛I#AظjGTx#-BTGB6 SJ> 6ln--/u75 Cvt:mAmLLMƍF#+W&bczpH,!Y(.<8z•8x{"9-yc2ܥ<v| |KbF;{zCm :ş^ʮ;ǧ7*w{t:=w999كzlA aCSR"3 !1MFIHFb|M75gIKNkZ[0.j Kf_,0EtO<>L,H_DdemfL!-%Ka}!DRp7͛a9b;Ԓ޽{Sp uʮ{Z=5ss)uQ>ӎRmrEn QTX,ŋ/h=qQDbK g:|"6E+(()af͌'"bݎҲGI [aWP+kxbXS XX,t$u-7j  >߻{6\h̋?vEL&NgxV Pٌ`nc0q:](v'bp80\.~8};ykTUڌs7tvD>ab-o7c.\`A"F w%GGPU/ s !MCQn}+k~1wg MJB B!AX!D4&*R]!jOzUUnB:̨mNz5pBq#PU_UPZIENDB`ConvertAll-0.8.0/docs/default.css000066400000000000000000000026641363574405500167020ustar00rootroot00000000000000/* bellz.org style sheet */ body { background: #033; color: white; } a { color: #0f9; text-decoration: none; } a:hover { text-decoration: underline; } hr { height: 4px; } h1 { text-align: center; border-top: thick double #ccc; padding: .3em; margin: 1em 0 0; clear: both; } h2 { border-top: thin solid #ccc; padding: .3em 0 0; margin: 1em 0 0; } ul { margin-left: 0; } li { list-style-type: square; padding: .2em 0; margin-left: 2em; } img { border: 0; } .interior { margin: 0 auto; width: 90%; } .title { margin: 0; padding: 4px 0; float: left; } .title h1 { font-size: 4em; margin: 0; padding: 0; } .toplinks { float: right; text-align: right; } .toplinks p { margin: 0; padding: 0; } .navigation { clear: both; line-height: 3em; margin: 0; padding: 0; } .navigation a { background: #366; margin-right: 3px; padding: .4em .4em; } .navigation a:hover { background: #099; text-decoration: none; } .current-nav { background: #366; margin-right: 3px; padding: .4em .4em 1em; } .content { background: #366; margin: 0 0 2em; padding: .5em 1.5em; zoom: 1; /* fixes IE layout bug */ /* height: 1%; /* fixes IE layout bug */ } .centered { text-align: center; } .smallimage { float: left; margin: 0 1em; } .clearer { clear: both; } ConvertAll-0.8.0/docs/download.html000066400000000000000000000060111363574405500172270ustar00rootroot00000000000000 Convertall - Downloads
Convertall

ConvertAll Downloads

Linux

On a Linux system that has the libraries noted on the requirements page, all that is needed is the source code (with an install script), included in convertall-0.8.0.tar.gz (276 KB).

But please read about the installation and use of ConvertAll. This information is available on this site and in the ReadMe file inside the above tar file.

Windows

Two windows installers are available. Use convertall-0.8.0-install-all.exe (16 MB) to install for all users (administrator permissions are required). Use convertall-0.8.0-install-user.exe (16 MB) to install for a single user (administrator rights are not required). The source code for the libraries used to build the Windows binaries is available upon request.

But please read about the installation and use of ConvertAll. This information is available on this site and in the ReadMe file included in the installer.

ConvertAll-0.8.0/docs/feature.html000066400000000000000000000062451363574405500170640ustar00rootroot00000000000000 Convertall - Features
Convertall

ConvertAll Features

  • The base units for conversion may be either typed (with auto-completion) or selected from a list.
  • As a unit is typed, the unit list is automatically filtered to show only units with matching words.
  • In general, either a unit's full name or its abbreviation can be used.
  • Units may be combined with the "*" and "/" operators.
  • Units may be raised to powers (squared, cubed, etc.) with the "^" operator.
  • Units in the denominator may be grouped with parenthesis.
  • Units with non-linear scales, such as temperature, can also be converted.
  • Recently used unit combinations may be picked from a menu.
  • Numbers may be entered on either the "From" or the "To" units side, for conversions in both directions.
  • Basic mathematical expressions may be entered in place of numbers.
  • Options control the formatting of numerical results.
  • The unit data includes over 500 units.
  • Conversions between various number bases (decimal, hexadecimal, octal and binary) can be done in a separate dialog window.
  • A decimal number can be converted to fractional numbers in a separate dialog window.
  • The format of the unit data file makes it easy to add additional units.
  • Command line options are available to do conversions without the GUI.
  • The user interface and the unit data are available in Catalan, English, French, German, Russian, Spanish and Swedish.
ConvertAll-0.8.0/docs/index.html000066400000000000000000000626541363574405500165460ustar00rootroot00000000000000 Convertall - News
Convertall

What is ConvertAll?

Why write another unit converter? There are plenty of them out there. Well, I couldn't find one that worked quite the way I wanted.

With ConvertAll, you can combine the units any way you want. If you want to convert from inches per decade, that's fine. Or from meter-pounds. Or from cubic nautical miles. The units don't have to make sense to anyone else.

In addition to this installed version, there is also an online version, written in JavaScript. See convertall-js.bellz.org to try it out.

A source code repository is available at GitHub.

News

March 22, 2020 - Release 0.8.0

    New Features:
  • Added a separate base conversion dialog to convert between different base numbering systems. It converts from/to decimal, hexadecimal, octal and binary bases.
  • Added a separate fraction conversion dialog to convert from decimal to fractional numbers. It provides a list of fractions in order of increasing accuracy.
  • A GUI font selection button was added to the Options dialog. This allows larger fonts to be used for high resolution displays.
  • A new GUI color setting dialog was added to the Options dialog. It allows a dark theme to be selected, or colors can be selected individually.
    Updates:
  • Added the Beaufort wind speed unit.
  • R-value thermal resistance units were added.
  • The diopter/dioptre optical power unit was added.
  • Added the rydberg and hartree energy units.
  • Added the Planck constant as a unit.
  • Slightly adjusted the conversion value of the atomic mass unit (amu) and added the dalton synonym.
  • Slightly adjusted the conversion value of the astronomical (au) and the parsec units.
  • Add Swedish translation (thanks to Ake Engelbrektson).
  • Add Catalan translation (thanks to Pere Orga).
  • Update the libraries used to build the Windows binaries to Python 3.8 and Qt/PyQt 5.14.
    Bug Fixes:
  • Fixed a problem with the ConvertAll window being positioned off the screen after major changes in resolution when using external monitors.
  • Clarified the labels for several power-of-10 data units (KB, MB, etc.) to show as "SI standard" rather than "IEC standard".

July 4, 2018 - Release 0.7.5

    Updates:
  • Updated the Russian GUI and unit translation (thanks to Ivan / vantu5z).
    Bug Fixes:
  • Fix the tab sequence to allow tabbing between the unit edit boxes and the numeric edit boxes.

April 4, 2018 - Release 0.7.4

    New Features:
  • Added a desktop file to the Linux version to provide menu entries.
  • Added an option to disable saving the window position and size at startup.
    Updates:
  • Added US drill bit gauge sizes as a non-linear unit.
  • Added gigabit and terabit data units.
  • Adjusted the liter per 100 km fuel economy unit definition in the German translation to match the English version.

October 15, 2017 - Release 0.7.3

    Updates:
  • Added the boiler horsepower unit.
    Bug Fixes:
  • Fixed a crash if a zero value is entered when the engineering notation option is enabled.
  • Fixed an initialization issue that caused problems with some versions of Python.

February 20, 2017 - Release 0.7.2

    Bug Fixes:
  • Fix a crash due to an overflow error whem typing part of an exponent in the denominator of the second unit.
  • Avoid flipping the preceeding operator between multiplication and division as a unit exponent of 0.5 is typed.

February 4, 2017 - Release 0.7.1 (Linux only)

    Bug Fixes:
  • Replaced outdated dependency checks in the Linux installer - it now runs checks for Qt5 libraries.
  • Fixed a timing issue in the Linux installer so that byte-compiled files do not have old timestamps.

January 8, 2017 - JavaScript Version - Release 0.1.1

Announcing a new online version of ConvertAll that is written in JavaScript. See http://convertall.bellz.org/js/ to try it out. It will be developed in parallel with the regular PyQt version.

January 8, 2017 - Release 0.7.0

    New Features:
  • Dual unit lists have been replaced with a single list that works with the active unit line editor.
  • As a unit is typed, the listing of units is reduced to only include units that match the typed words.
  • The unit list can be sorted by clicking on the column headings.
  • The unit list can be filtered to only show units of a certain type.
  • Simple unit exponents (positive 2 and 3) can be typed with just the number (leaving out the "^" character).
  • Now permits decimals to be entered for unit exponents, supporting roots of units.
  • ConvertAll has been ported from the Qt4 to the Qt5 library.
    Updates:
  • Since the main unit list can now be searched, sorted and filtered, the Unit Finder Dialog has been removed.
  • Added the British Std Wire Gauge non-linear unit.
  • Added the ton imnperial unit.
  • Added the cable nautical unit.
  • Added the MBH (1000 Btu/hr) unit.
  • Added Cape foot, square perch and rood units.
    Bug Fixes:
  • Corrected some unit definitions in the French translation, including avogadro's number, lambert, poise and the gravitational constant.

September 10, 2015 - Release 0.6.1

    New Features:
  • Added an option to output results in engineering notation (a version of scientific notation with exponents divisible by three).
  • A Russian translation was added. Thanks to vantu5z for translating.
    Updates:
  • Added the dram mass unit.
  • Added the fluid dram and the minim volume units, in both US and Imperial versions.
  • Added the smoot length unit.
  • Added "dm" as an abbreviation for the decimeter length unit.
  • Added "avoirdupois" to the comment column for applicable mass and weight units.
  • Added "fresh water" to the comment column for applicable depth-based pressure units.
  • The German translation was updated. Thanks to Thomas Helmke for translating.
  • Added some MSVC runtime DLL files to the Windows installers to avoid problems on PCs that do not already have them.
  • Clarified some dependency checker error messages in the Linux installer.
    Bug Fixes:
  • Fixed an error in the unit data formula for the AWG area unit.
  • Changed the value of the caliber unit to be equivalent to inches (typical written usage), not hundredths of an inch (typical verbal usage).

February 1, 2014 - Release 0.6.0

    New Features:
  • ConvertAll has been ported from Python 2 to Python 3. This porting includes some code cleanup.
  • Added an option to automatically load the last used units at startup.
  • Added an introductory tip dialog box that explains combined units. There is also an option to hide this dialog.
  • There is an additional Windows installer for users without administrator rights and for portable installations.
  • Added a Windows installer option to add a config file to the program's directory for portable installations. If that file is present, no config files will be written to users' directories.
    Updates:
  • The Windows binaries are built using more recent Python, Qt and PyQt libraries.
  • The user interface and unit data language translations are now included in the main installation files.
  • Added the long ton unit (Imperial version of the ton).
  • Added the kilopond unit as a synonym of kilogram-force.
  • Added the micron of Hg pressure unit.
  • Added the lunar distance (LD) astronomical distance unit.
  • Added the rack unit (height of an electrical rack).
  • Added the versta Russian length unit.
    Bug Fixes:
  • Fixed the operation of the "Clear" button in the Unit Finder dialog.
  • Fixed a problem with the definition of the BTU unit in the French translation.

November 2, 2011 - Release 0.5.2

    Updates:
  • Added the microliter volume unit.
  • Added the galileo acceleration unit.
  • Added the stremma land area unit.
    Bug Fixes:
  • Changed the method of identifying a "unitless" portion of a unit to avoid falsely reporting incompatibility between some units when using language translations.

April 12, 2011 - Translation Update 0.5.1b

    Bug Fixes:
  • Fixed inconsistencies in all three unit data translations (French, German and Spanish) that caused some unit conversions to fail.

March 31, 2011 - Release 0.5.1

    Updates:
  • Added the link length unit.
  • Added US survey variations of the mile and chain length units.
  • Added the centigray radiation dose unit.
  • Use DOS newline characters in the Windows version of the unit data file for easier editing by users.
    Bug Fixes:
  • Fixed incorrect definition of the rad radiation dose unit (it was off by a factor of 10).

May 2, 2010 - Translation Update 0.5.0b

    Updates:
  • Added a Spanish translation to the 0.5.0b version of the translations. The French and German translations remain unchanged.

April 23, 2010 - Release 0.5.0

    New Features:
  • Multiplication and division operators now have the same precedence. In previous versions of ConvertAll, a series of units after a division symbol were assumed to be in the denominator. Now, a division operator only affects the unit (or the unit group in parenthesis) immediately after the operator.
  • Parenthesis are now supported to group units in the denominator of a combined unit. For example, ""m / sec / kg" can also be entered as "m / (sec * kg)".
  • "Recent Unit" buttons have been added that open a menu of recently used units and unit combinations. A unit selected from the menu will replace the current unit combination. There is also a new option dialog entry that controls the maximum length of this menu.
    Updates:
  • Added the tonne force metric force unit.
  • Added hundredweight long and hundredweight short mass units.
  • Added an American Wire Gauge (AWG) area unit in addition to the existing AWG diameter unit.
  • Added the tonne oil equivalent and the tonne coal equivalent energy units.
  • Added the ton refrigeration power unit.
  • Added the darcy and millidarcy permeability units.
  • French and German translations have been added for the user interface and the unit data. To use them, download and install the "convertall-i18n..." file for your platform (in addition to installing the standard ConvertAll package).
    Bug Fixes:
  • Fixed problems with running in the command line mode from Linux consoles without X11 present.

September 24, 2009 - Release 0.4.3

    New Features:
  • Prepared ConvertAll for translation efforts by properly handling Unicode characters in unit data and by marking internal program strings for translation. Volunteers for translating ConvertAll into other languages are welcome.
    Updates:
  • Added solar mass and pennyweight mass units.
  • Added therm and thermie energy units.
  • Added gauss and maxwell magnetic units.
  • Added the US survey foot length unit.
  • Added the mpg imp mileage unit.
  • Changed the value of the point unit from the old American point to the more modern desktop publishing point.
    Bug Fixes:
  • A critical QString conversion bug that caused ConvertAll to not run with the latest version of PyQt (4.5.4) was fixed.
  • Command line quiet mode was fixed to avoid an interactive prompt when bad unit data is entered.

May 28, 2008 - Release 0.4.2

    Updates:
  • Added the "liter per 100 km" unit for fuel consumption.
    Bug Fixes:
  • Changed the "mach" unit from 331.46 m/s to 340.29 m/s. It is now correct for STP conditions (15 degrees C). The previous value was for 0 degrees C.
  • Fixed a bug that could hide messages about errors in a manually edited unit data file.

January 22, 2008- Release 0.4.1

    New Features:
  • An optional command line mode was added to do conversions without the graphical interface. Enter the command ("convertall"), the number, the from unit and the to unit (separated by spaces) to do the conversion. For a more detailed list of options, enter "convertall -h" on the command line.
    Updates:
  • The icon used for ConvertAll has been updated. Thanks to Ricardo Berlasso for the new artwork.
  • Alternate units have been added for kilobyte, megabyte, etc., marked "IEC std". These convert using powers of 10, rather than powers of 2.
  • Troy pounds and troy ounces have been added.
  • Gigapascal, hectopascal and megabar have been added.
  • Hogshead units for wine and beer have been added.
  • The Swedish mil unit of distance has been added.
  • The Thai rai and ngaan units of land area have been added.

October 5, 2006 - Release 0.4.0

    New Features:
  • ConvertAll was ported to the Qt4 library. This involved a significant rewrite of the code. The previous versions used Qt3.x on Linux and Qt2.3 on Windows. Benefits include updated widgets and removal of the non-commercial license exception in Windows.
    Updates:
  • On Windows, the ConvertAll.ini file has been moved from the installation directory to a location under the "Documents and Settings" folder. This avoids problems on multi-user systems and for users with limited access rights.

October 5, 2006 - Release 0.3.2

    Updates:
  • Added Imperial (UK) gallons, quarts, pints and fluid ounces.
  • Added gigagram and teragram units.
  • Added the pound-mole unit and clarified that the existing mole is a gram-mole.

February 14, 2005 - Release 0.3.1

    Updates:
  • Added the decare unit for land area.
  • The Linux installer has been updated to be more robust and give more install directory options.
    Bug Fixes:
  • The barn unit, used in particle physics, was corrected. It had been incorrectly listed as a length unit instead of an area unit.

March 11, 2004 - Release 0.3.0

    New Features:
  • A unit finder window was added to allow the unit list to be filtered and searched.
  • The size and position of the main and finder windows are now saved at exit.
  • A new option allows the operator text entry buttons (x, /, ^2, ^3 and Clear Unit) to be hidden.
  • An install program has been added for windows.
    Bug Fixes:
  • Fixed Linux install script problems with certain versions of Python.

November 18, 2003 - Release 0.2.4

    Updates:
  • Keyboard shortcuts and tab-focus order for the main dialog have been improved.
  • An install script was added for Linux and Unix systems.
  • The windows build now uses Python version 2.3 and PyQt version 3.8.

March 24, 2003 - Release 0.2.3

    Updates:
  • When an expression using division is entered for the number to be converted, floating point division is now used even if the entries are integers (Python 2.2 or greater only).
  • Mouse wheels are now supported in the unit lists.
  • Icon files are now provided with the distribution files.

May 28, 2002 - Release 0.2.2a

    Bug Fixes:
  • A fix of the Windows binary only. Fixes major problems by upgrading the library version to PyQt 3.2.4.

May 16, 2002 - Release 0.2.2

    Updates:
  • ConvertAll has been ported to Qt 3. It now works with both Qt 2.x and 3.x using the same source code.
  • The help/readme file has been rewritten and now includes section links.
  • The binaries for windows have been updated to Python 2.2 and PyQt 3.2 (but are still using Qt 2.3 Non-commercial).

March 19, 2002 - Website Update

    This website now looks a little better. Hopefully, it's more user-friendly, too.
    Stay tuned - I'll soon be porting these programs to use PyQt with Qt 3.0.

September 17, 2001 - Release 0.2.1

    Bug Fixes:
  • Some window captions and icons were corrected.
  • A window maximizing bug was fixed.

August 20, 2001 - Release 0.2.0

    New Features:
  • A major rewrite was done of the conversion engine.
  • A new data file format makes it easier to add and verify units.
  • The unit name and abbreviation are now listed separately for better sorting and searching.
  • Entering of units has been improved by changing operator precedence, by ignoring spaces and plurals, and by changing the partial selection list highlight.
  • An expression can now be used for the number to be converted.
    Updates:
  • Many additional units were added to the database.
  • For MS Windows users, the binary files were upgraded to PyQt Version 2.5.

August 10, 2001 - Release 0.1.1

    New Features:
  • Added color controls to the options dialog.
    Updates:
  • The convertall.ini file on windows was moved to the program directory.
    Bug Fixes:
  • Fixed problems with using the same unit twice in a combined unit.
  • Fixed an occasional shutdown when auto-completing.
  • Fixed a problem with the updating of the unit label.

July 28, 2001 - Release 0.1.0

    Initial release.

ConvertAll-0.8.0/docs/install.html000066400000000000000000000047711363574405500171010ustar00rootroot00000000000000 Convertall - Installation
Convertall

ConvertAll Installation

Linux

Extract the source files from the convertall tar file, then change to the ConvertAll directory in a terminal. For a basic installation, simply execute the following command as root: python install.py

If your distribution defaults to Python 2.x, you may need to substitute python3 for python in these commands.

To see all install options, use: python install.py -h To install ConvertAll with a different prefix (the default is /usr/local), use: python install.py -p /prefix/path

Windows

To install for all users, execute the convertall-x.x.x-install-all.exe file. Administrator permissions are required.

To install for a single user (administrator rights are not required), execute the convertall-x.x.x-install-user.exe file.

For a portable install, execute the convertall-x.x.x-install-user.exe file, uncheck the shortcuts and uninstaller tasks, and check the portable config task.

ConvertAll-0.8.0/docs/logo.png000066400000000000000000000131231363574405500162020ustar00rootroot00000000000000PNG  IHDRPiTsRGBbKGD33` pHYs  tIME &#tEXtCommentCreated with GIMPWIDATx]=l~bx]R@('q…V TVa]JEj C*RPA`;wű\N1sn?f,۝y?`0 XG`0 ,#QϏ&  3!E?La7}ߕ~`0I=oFεV#2\h_FQJLXoTkD/J!>i;TOZ$hBLɂf޵rlܢ>\,|HRn\z3WpʟqSl9KXh\'=,G}]-jz ]]r욘wF4^?.~QCU%J?g2=S``'6{7mכ1G Rn:/hEn^}EtD^L ոL=&{ڔ/(RU(UZzx}kOIx x5n zD5~=vd)~Q9ۗD*ۄ)mXPU~S)W)#vl ʐ$$\\rv8j-7naNr"L1{/y?6yMRXwoy N"gfr{1zO^ S}j=XL"L_|Y#苰>6^%IUBn5bHKT'k3d4G6s3OCWib}4pb\?' c{n I8. z]M^j( I`қĐ0|&@'5 ɸy'=6o -1J5ur= H3.~K,{l\gux&b#UkJOM!e % _y+K{+tg7<`*K^=2+˃vFMh1IjI>6(]?^0jD0l%m&m%Aw7p~O$YVyLUUʞ֐{^UB1oh JxzcJ'F]8jbLVoXY;840F LTIzhbp-B1oO$:g-fZ0&ߛ4'$*0/[G( R,w.ޯ yux`v7~w}lt$IL]*7 Ӈj =^LϦ5&{9k1j\Z_P-vj?gv 3Gn/}$zY C~+wb$.4"<' ݠJElS|c!t Apw}c6^u c"WK¶2f7̃Sa^sՅǂKZFVZ,UL/*MWaJm=!N`Dپ?Y"n.T2MQ|cU;8ǰ\]C/*;Yh.B$S[s]^׳j[0+`KU:uщ1082Mp3}g7=DBWR.;~AuIfai ZQV:/&e++L(^Q`uLd MaSZgsX/`)/Υ&){+,ץ ;#AL^@*xrOElîLqH-x9iK<5;U:>o_8 m(PɨcuXb5UWumBc/6 el$/V') 0)VLEvZR-`xFPh 8*]`60PGxC/G/\Y$|@`[)atTZɹg2kk<'˘m"g>:|*by0mSUzua A(g#hb{.0,'r$BQQtW> h;鴐uqUXmOV^ `4MO_ZHsa5w BT*i3TX_W<"f"ZD)*gMyXEzkw4h1G6&`l2Ò*xM;a""뫗W8^%:B2:mx&!oGǴTXhtU= (`хCTGlEW$\<<ԥ# o 1Z!b|'KCvB3Р.)n@ C"* WNEWDMp}{K0UhNoUL*=Vej1֮*L9Su^Q_.yН%MMTzGᕬ9-DKiC-F292lD`C MI"G1Ht 1}maΒv o_W"aUU4<\ ZQG 1-ޯgFYDLAS58E%VS{p(qW9r-j73QWU6!+ ((q\m00bF38j%dOk2nT>Hrު$Ej2Dk,Lsz3Uxe;d6K5λ־jXi6hуf`yQe*B517S*IϔEr-x.7/B)jY|jbbe0 _Wu`0 ` x0_rD `+=Ϊ^jQ*>`0.6|^Ax Cj#^\ݛJz0 W!62XH3 WL^_ zxUw Fyj ;gvf)?-s\YUn\ `0tɗ 4 5AgmȖ^{(WeS!.PSb`0p 0":9dD>peݦM{8$`0E.Ӽ=`I­M/ѕ%13&0/(^͢qW7\B5_n|m6\ Yxuϓr.I8(+!"7nO{YX=+AAݗYS۪O{"3YӓB K NG:1.{ =phooh(//Bp@ZraIEy ZN/ڃU v PKno`0~`0 ?b܄jIENDB`ConvertAll-0.8.0/docs/require.html000066400000000000000000000046511363574405500171040ustar00rootroot00000000000000 Convertall - Requirements
Convertall

Legal Issues

ConvertAll 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. See the LICENSE file provided with this program for more information.

System Requirements

Linux

ConvertAll requires the following libraries:

  • Python (Version 3.4 or higher)
  • Qt (Version 5.4 or higher - see Qt Project for more information)
  • PyQt (Version 5.4 or higher - see Riverbank for more information)

Windows

Using the files provided in the binary distribution, ConvertAll should run on any computer running Windows XP, Vista, 7, 8 or 10.

ConvertAll-0.8.0/docs/scrnsht.html000066400000000000000000000024671363574405500171170ustar00rootroot00000000000000 Convertall - Screenshots ConvertAll-0.8.0/docs/use.html000066400000000000000000000227131363574405500162230ustar00rootroot00000000000000 Convertall - How to Use
Convertall

How to Use ConvertAll

Contents

Basics

Simply type a unit name in the "From Unit" edit window. As you type, the list below the window will be filtered to show only matching units. Matching unit names contain words starting with the words that are typed. Either type the complete unit name/abbreviation or hit the return key to use the unit highlighted (blue letters) in the list. Of course, clicking with the mouse on a unit in the list will also add the unit to the edit window. You may also use the up and down arrow keys to highlight nearby units from the list.

Repeat the unit selection in the "To Unit" edit window. When done, if the units are compatible, the numeric edit windows below the unit lists will activate. A number may be entered into either numeric window and the other window will display the conversion result.

Combining Units

The real strength of ConvertAll lies in its ability to combine multiple units. Simply type the unit names with an '*' or a '/' between them. This allows the entry of units such as "ft * lbf" or "mi / hr". The '^' symbol may be used for exponents, such as "ft^3" or "ft * lbm / sec^2". Negative exponents are allowed for units such as "sec^-1" (per second), but may switch the multiplication or division symbol ("ft * sec^-2" becomes "ft / sec^2").

Multiplication and division have the same precedence, so they are evaluated left-to-right. Parenthesis may also be used to group units in the denominator. So "m / sec / kg" can also be entered as "m / (sec * kg)". The version with parenthesis is probably less confusing.

The buttons below the unit text boxes can also be used to add operators to the active unit that is closest to the cursor. The Square and Cube buttons will add or replace exponents. The Multiply and Divide buttons will add "*" and "/" operators.

Similarly, clicking on a unit from the list generally replaces the unit nearest the cursor.

The "Clear Unit" button below the operator buttons may be used to empty the unit edit window to allow a new unit to be entered.

The "Filter List" button can be used to show only one type of unit in the list. Note that this doesn't show units that could be combined to form a type.

Non-Linear Conversions

The conversion of some units is non-linear. Examples of these include the Fahrenheit and Celsius temperature scales (due to an offset zero point) and the American Wire Gauge (logarithmic). The non-linear units are labeled as such in the comments column.

These units can be converted only when they are not combined with other units or used with an exponential operator. Otherwise the conversion would not be meaningful.

Shortcuts

When typing unit names, spaces are ignored, so they may be skipped. It is also generally ignored if a plural form of the unit name is typed. For squared and cubed units (positive exponents of 2 or 3) the "^" symbol does not need to be typed.

When a partially typed unit is highlighted in the list (blue lettering), hitting enter will complete the name. The up an ddown arrow keys can be used to highlight nearby units in the list prior to hitting enter. The unit closet to the cursor will be replaced.

The "Recent Unit" button opens a menu of recently used units and unit combinations. The current unit combination is replaced with any selections from this menu.

The tab key can be used to cycle between the "From" and "To" unit test boxes and the "From" and "To" number editors.

The number to be converted may be entered in either the "From" or "To" unit side. Standard or scientific notation may be used, or an expression including the normal math operators (+, -, *, /, **) and parenthesis may be entered.

Numbering System Conversions

The "Bases" button brings up a dialog that can convert between various numbering system bases. There are entry boxes for decimal, hexadecimal, octal and binary entries. A number can be entered into any of the boxes and equivalents will be shown in the others.

The "Fractions" button brings up a dialog that can list fractional equivalents for a decimal number. Type the number and press enter. The fractions are listed in order of increasing accuracy.

Options

The "Options..." button allows for changing several default settings. These settings are automatically stored so that ConvertAll will re-start with the settings last used.

The first options control the display of numerical results, including the use of scientific notation and the number of decimal places. Be cautious about setting the number of decimal places to a low value, which can result in a significant loss of accuracy. Six places or higher is recommended (eight is the default).

There is an option to set the number of recent units to be saved. Setting it to zero will disable the Recent Unit buttons. Another option will automatically load the most recent previous units at startup.

There are options to hide the operator text buttons (first row), and the unit buttons (second row). These can be hidden to save space if the keyboard will be used to enter the operators.

Buttons are also included on the options dialog to control the colors of the text fields.

Buttons are also included on the options dialog to control GUI colors and fonts. Colors can be selected by theme or individually. Larger fonts can be selected for use on high-resolution displays.

Command Line Usage

Conversions may be done from the command line (Linux or DOS console) without invoking the graphical interface. Enter the command ("convertall" on Linux, "convertall_dos" from the Windows binary), the number, the from unit and the to unit (separated by spaces) to do the conversion. Unit names containing spaces should be surrounded by quotes. Or, to be prompted for each unit entry, use the "-i" option ("convertall -i" on Linux, "convertall_dos -i" from Windows).

After the conversion is done, ConvertAll will prompt for a new number to do the same conversion. Or "n" can be entered to start a new conversion, "r" to reverse the conversion or "q" to quit.

For a more detailed list of options, use the "-h" option ("convertall -h" on Linux, "convertall_dos -h" on Windows).

ConvertAll-0.8.0/icons/000077500000000000000000000000001363574405500147175ustar00rootroot00000000000000ConvertAll-0.8.0/icons/convertall-icon.png000066400000000000000000000070701363574405500205300ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs}tEXtSoftwarewww.inkscape.org< IDATx՛ytTu?,if@ Xb$pkfq*qivkn1 Cr'KK RC{Xf fޯh̪7Z\=gw{UR _V f3fN!i%i8K8JTl`EbEbX ` I|~6&KDz~“% ]HtES$# Е`) )OMZN7v Pc݌j& 8udQA̤L$Mt b̪~l8QB3:Urzi2VT\g̣ b 줖|\g,GbB`8%q} 'i3Lptb8I~X@{̭Ls`cY\$6h2g?Gh bDڇ;Q.2U[ix88peۭc*Z8G0$? 7L16ooS<db ȵPms:uꆩ B R;t ؘeŔq3C;T,&VAl|S ʌ?N}yr+c(SkiA娱t IF?@~~@e :2y/sA I=¸RJD`Hbr"*K pVVSI^lEԽ~_2!lb!u<L^dࠉSz??#BZs:>W%{9㢯k:^ƴgq "DbGpm9LJ?j4\IW󙣍,Do?בf+,C68\nH\4iC[i$iLHBRm7@TIwb6N&hE ՋtQ$r :wPXLm7gf6s!Lg 1]bkIr)Lm*nPAFI hТz.VEW vw;Q F7YL-b8p$4(Iu[}Tݨ rf#tG 7s[;e)K p H5D8?B0[w,ki,2gGPC'$%DidJw 4G䲆RD #x* 2fætGo3Z:޹:ƭ+BtRLrBN2S\1;\":7jYvR` !!t0-{1T2p;735龞QsXᫍ^o_ęf+T7bMnҠhšǬ;y/W=[B@>r3BS3k-p1mli󝍫ڸi!4RhPV{0OL3]ˡKM42f7i' r sC/}Xϫl=\lY.@32DC'QaHpCuvV,m܎+v+]hZ Q$=fS#CSb=j؂ѺD9X㯖DA)̧#eɔf~&"'>&V"+e/#5wOX15Q8 (fO!BVC} N3NJ۞yyUsOV4Ŋ_׌t,@ i^yt#2re"yds*dTB7M_ '[L <0;W4^}ym#K8V. w$Q { ۗkM[F[_?yG0s'hơhԒl5 7q 0AZ 0\S#z 55g:}H @ Hb`(-)$[|~hǭ7"3Z3j-**|j}Hq߉ŖGGיjQ{2*H(D ɺb%-ČCvmP^Kl-&m c&Nbea݉anډ؈u"\;VaY%1MaóyI: uӈ sd&UY(܁KDߵˢMaL v:Ϝ\{ {ֆwhzK@˟;\"5i[f.KBSBĮaɣ(Q領TD 4o}i[ u_Q_$[NlH fh< :ii\f .[))lEhcHݗ^{~Y,5ȡ"ѵAUHW'l-"Ow^ooݶO>oOW2G1{^^'͕ySfoyǟ^yfaxc,O6{'+`*Y%cpH*p\>|P= Ӏ1͟՝:]RGo=xB\WݭZ;dIpw]U/#Q _?IENDB`ConvertAll-0.8.0/icons/convertall-icon.svg000066400000000000000000000166221363574405500205460ustar00rootroot00000000000000 image/svg+xml ConvertAll-0.8.0/icons/convertall_lg.png000066400000000000000000000070701363574405500202640ustar00rootroot00000000000000PNG  IHDR@@iqsBIT|d pHYs}tEXtSoftwarewww.inkscape.org< IDATx՛ytTu?,if@ Xb$pkfq*qivkn1 Cr'KK RC{Xf fޯh̪7Z\=gw{UR _V f3fN!i%i8K8JTl`EbEbX ` I|~6&KDz~“% ]HtES$# Е`) )OMZN7v Pc݌j& 8udQA̤L$Mt b̪~l8QB3:Urzi2VT\g̣ b 줖|\g,GbB`8%q} 'i3Lptb8I~X@{̭Ls`cY\$6h2g?Gh bDڇ;Q.2U[ix88peۭc*Z8G0$? 7L16ooS<db ȵPms:uꆩ B R;t ؘeŔq3C;T,&VAl|S ʌ?N}yr+c(SkiA娱t IF?@~~@e :2y/sA I=¸RJD`Hbr"*K pVVSI^lEԽ~_2!lb!u<L^dࠉSz??#BZs:>W%{9㢯k:^ƴgq "DbGpm9LJ?j4\IW󙣍,Do?בf+,C68\nH\4iC[i$iLHBRm7@TIwb6N&hE ՋtQ$r :wPXLm7gf6s!Lg 1]bkIr)Lm*nPAFI hТz.VEW vw;Q F7YL-b8p$4(Iu[}Tݨ rf#tG 7s[;e)K p H5D8?B0[w,ki,2gGPC'$%DidJw 4G䲆RD #x* 2fætGo3Z:޹:ƭ+BtRLrBN2S\1;\":7jYvR` !!t0-{1T2p;735龞QsXᫍ^o_ęf+T7bMnҠhšǬ;y/W=[B@>r3BS3k-p1mli󝍫ڸi!4RhPV{0OL3]ˡKM42f7i' r sC/}Xϫl=\lY.@32DC'QaHpCuvV,m܎+v+]hZ Q$=fS#CSb=j؂ѺD9X㯖DA)̧#eɔf~&"'>&V"+e/#5wOX15Q8 (fO!BVC} N3NJ۞yyUsOV4Ŋ_׌t,@ i^yt#2re"yds*dTB7M_ '[L <0;W4^}ym#K8V. w$Q { ۗkM[F[_?yG0s'hơhԒl5 7q 0AZ 0\S#z 55g:}H @ Hb`(-)$[|~hǭ7"3Z3j-**|j}Hq߉ŖGGיjQ{2*H(D ɺb%-ČCvmP^Kl-&m c&Nbea݉anډ؈u"\;VaY%1MaóyI: uӈ sd&UY(܁KDߵˢMaL v:Ϝ\{ {ֆwhzK@˟;\"5i[f.KBSBĮaɣ(Q領TD 4o}i[ u_Q_$[NlH fh< :ii\f .[))lEhcHݗ^{~Y,5ȡ"ѵAUHW'l-"Ow^ooݶO>oOW2G1{^^'͕ySfoyǟ^yfaxc,O6{'+`*Y%cpH*p\>|P= Ӏ1͟՝:]RGo=xB\WݭZ;dIpw]U/#Q _?IENDB`ConvertAll-0.8.0/icons/convertall_med.png000066400000000000000000000031611363574405500204240ustar00rootroot00000000000000PNG  IHDR szzsBIT|d pHYsiZBtEXtSoftwarewww.inkscape.org<IDATX]lUU}~o_[mKhA $!D1h0<  3qQ'L?1Fg MdB$@)" -yhsoA]{:{}R.ƟXeTl,Kyď$t{׵>T$3ƫ)KX$`iKsɔb Xkَ4wEӪѹ5 st!-}I UhjXPtE*ќEk~F/=<"އ(mŷ;(lzZz}{PxV/MEV_"Ӽ:XJ=zOIBiQۣ+̰fig-]L|C">uXK'hajn4t aB?/:z#&yWiUĘ+ x+Lq{p1HCUY uxˉhUf%!I& 2v:f1|yhd #6\ig@_pboC6j=Te=U}+~D=uYQD#{7h7UoלLb8)qCL8K8*Me/BSxid=TIXMg4\D|y/:3@*PR!wmM#9_0H89F@) nb%[Fl&ABfFӱ.2Kӂ5HNXjE$]aBZ0.& lb`s>%߻7 m9T,d !6g}9YϜ]2p19HRlzgpH G8Cu(L1<6Lk6rxHLR@w_b:I rbo2cEzF*TC)PƋw]bBAǫձt+>DӖ KiG*KNpݝ! ʫ+:`np-1|k6^#g~ʺHl,!١$p"",$>L2i?$:f-!S$6*I @?̎oR$*pIENDB`ConvertAll-0.8.0/icons/convertall_sm.png000066400000000000000000000013331363574405500202750ustar00rootroot00000000000000PNG  IHDRasRGBbKGD pHYs B(xtIME *q2r[IDAT8ˍMHTa{ޙ{q "$ED!)VB@e(ڇ#Aj#Iqɜ8sgt-4ryW9//(If/$lӒĐbgLHnI#j2<*>|7{Lcb"!#hBP"nsPU0$Y3+Uկja6<&C:G"GFK]#+ /!+J 1'}d;Y\ǩ'FQQKsoSw(lDXKf̓6JGTGGhxwojOX1w`Q*&pؿ>kQUHEG+:KUԆJl$%/(:Q7BOg@&Tafh|IENDB`ConvertAll-0.8.0/icons/helpback.png000066400000000000000000000031311363574405500171740ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs ,tIME *IMIDATxŗ][Gwڬ#.Iv6P%6{D " )/-m +CߪTBJ""%* UԈ .]lM^3<ڎl 33yhx.PGA(ٴAw|tZ},L$X@:8K&+9K?0vfx%!A"8;%>@فFj,e8O[Io%|?'EDۚR}[L'5鴿ur= yx`MFh;<[gLn.,_XWH]ɍ;vle}nvl}QZ0rh>5P!gYdT3o0ϜTU̕9u$;\Z>5s$ >v]sCӗ ~u$?]oMr(C,)<}4 ل6sZƵNG{/P(`gJfҶ[f,rP 4-^8TX:GK6a{ˀm}]abe?Z lٕWWJ咋BfF'k'Z  2H*Yb{Ӎ?/u%^XqpEjn1bfA`jM(>VOrkWWs#-h@D=@ܥ|O=ݢ<^&] "؍$ȧ"F2Ru܍9Q=FsJxnk( v CzJCz18kQuz.ς@yY@aAө>ޚCg]7hM/]ˢw%em8^.]t a 7yčv|'={-X<AVOH_(pOG_9T_(mlRT[d2f_+oO $Čvq׬D旦ow_]o\{S&Pl>] @v>G荺mF]bGv>W7t/z ɨϫ Ǘ5vE:Ϳ9*5>)Pu>>.Ĥ#DϢcQSɭ IueMx Uj_Cw 6]PD T>{M]G WK>۴X-߇m (tښk{1""{I /KP2a wjV9 az2`p6jN JWIENDB`ConvertAll-0.8.0/icons/helpforward.png000066400000000000000000000031571363574405500177500ustar00rootroot00000000000000PNG  IHDR szzbKGD pHYs ,tIME 3rIDATxŗ]lWckfi;V! T""J}iX`ɭPU$ @H< JWN BC !%J)Im)_κ;;3nkĕZ͞sϹg9K8ã;@1 !E;RL!'3H|8F@ ۸f_n+":^LdM?*پ)U8\$<:^sjttMavkK+ ֬^═=ȧ! pw+%ǒ˛ǒyCqnNԔ#=ǁ7E`x~1{o_[S&|ӯҕ\-Y3߫L],)M.;)bMZcIR?i(hP |i`?r%Xzc-g^m-|-# mhrd'Wj$_*Ͼ<=Zx藋-ޢ3}+ˆ, uCXmYT `b$*ޏ|YcI0L-i*/X4t编q8n5lѕ ^͚΢iP]@U\gu_.9Wg8smk?H+59e 8x  /d_g[1[ʿ%{33ŗ(`6Gj}ůqz̀wZ <|[}"^R^ρ|2gžO`hI~UE!syf$Jr~ڶ-Zz6+? z|@oah*{]wٖ:TA5e t:h,˒LNfB5P_ҟR0蚲 /8Rk S̅%'4=<0 U۶gB۶,+v3.PٶQUtuHyBJxmQʦ6I|]ۻ33sNvCHR#}3].;!<3{i8JPr_p8d:V&>< < Lv@zz[>@o8w?N˻`x %LًiEYཅ^*ୂz/8{I6Z :ٵ=ı]oHNKɆ .aLrY4Ȼ6Q <#fUyT|s|thRb"N*M6s5ށɩ߶_Msb'}DRK2RBsh:%7#ޮh8WJvҿ@u!D4qo&& z 2҃;f lch> y'EݲDo zaԛLoivgJ6A NZ>tאOª67v@+Mª~ |ⵚתOE]\zI7|^}o|<_m +Mڏ{Ph2z҉rkPW  '40t4[s){>T/9_r@!N;p8 {v\<~2];g\1'08N8lN-R%_ w "-40}̥O lenV״cY>55%tG0/铖!7蠤7~a賶Vk/d0{ٱޚk~(lLB@jZ=<>5/Qbd0ON JїfSSSZ=āt1 yaz:񳄕,|dJVկԜ֭a-îωF0ݮ9/B6z:IENDB`ConvertAll-0.8.0/icons/helpnext.png000066400000000000000000000041321363574405500172540ustar00rootroot00000000000000PNG  IHDR szzgAMA a pHYs B(xIDATXåil\wy3{o8^}=Ϲ9~m4Y@'t`lǁwVqp;T$C`u\cXY9^һ>]1~{@:hmAru&Bgc cce&>±q\%ۮ@ۮfe  -7^̎)"Z  !T|xg,ϼ>{ ‘cP(|я'ж 4ӵ[yN.;/A&d<!^`L%ђ#qfKȾ{Ndϐ}v}H-ܹRفkxDVD R1L)/ok? ;sfZ< K;! C_V,Q2pʾe- K۟#Z@r@/pmW/91Ua!ΩamC]LqNC3doB`9J%[ ضwl ګ $aﷻ02%r~c)&ZeI+mq:m$?KG@<FK̖ E\r|]r֎츺Z+\"rKΫD͝F*vΩiR ,2Q805i̓PRe}N3+ τ.xwFhn}7us$obIX[FMR*$bq'+|pc3SŀB@bSŀ-!GP2|" Rj,b5bÙ29א_%Ko.!VfB<Ԫ]KPkB =Qp*WBOO)JT+݆0[,RJ֞VZ Kk6N}& 2$>,?\ՙ\X odug)fNI"Ra8YHD$Z Lj s$O :x>~BrWւcRjuTJA:C+A8zZ LTɄ!{z;vr罏 cΒ}];HR H~-3 1e<W*ijogS2 x,XD>O5+ZiYͧe67.-3ΟɵG~/y}' HD&#*KfI'|'&HD$^>G ~|cοD?oyD-Hūy z..WHJINMꢊH(ntR=VƧ&]~15Eh-$RT'`xo5合VQ߆Zx]'7Sί0jC3I0χftDkam1JcQZ#Ɔ()88\bmT08Z9@6$X>L)4FJ/eMijFsͤҜt!^FCkR~@5&jA&3=pjBmGږ_nP?'I55D9k(HM*QE,"K:134X <g|wb m7% T"s2{;=Jw_@O7 k;X,ƚ&" S5f*!ib  ntǀI`O_-g[HցZ!i^z(r9S<]~u nĞpcG ơ@I$IPo>z‹/ཌ~zwuMqh)(צ(bZIhrՈ?zG `ŌΞ\ s&na3Xrt)rh8ǪMw6Q)LW"B ВF8њxUT+D[ `*nR۱ r1[gD! S(iVw$H} g)ZIhAB=bZx(}庁ҁgN oH%c\Γ_XV)-~#K9\5⪁ mggkRD"N`ogflp3-t,b*<ʾetgt2XHn,R}Ӏbݠ-0Z؞=ͼ~.??x!X:U9/igU{Sy~E)gmMI(>K۴ ŭK;*b,D5n<֞XD~3RvēqusV OҖz{ïeZju5w1[G1U %z yhC -d7ܢ}m1]ȑi&fc' Ocy&TBK=xZ+I."0xot%=knFc`:-t$iѹ:gwFۺ`E!ZwCQ%_'sd QiUM4Ihgk(cKbk- /M1N 2sZ|@7 !IVPG"r _)GRJցTZyp2S .E*_7${߲ )YQ sX.dxt1Z),J))S0SH$Z uꆩRo( S\ԮJ`)b})Gd!`xJ)A\ϿHU)"Z bӧa\b1Ş[7EɏZd <$^PG ZR?KŐ"Dox`FIŽ15J%HP鵟8.4)ZLru lJQvphxEIwZ oN -I)w쾛E2 R1I& |Q~$9 /z8O 2J%D!ڛw/wI+nrcs>z2D(%N5bM&71T"{rǤn"庥'㑊S{&p#80(xi渤;Q frAj'wdѲKJaWRDBn?xp\W x55FQ.O!|NJysf)]?u#Ċ.2t=[ag)OG'C& gAl>k&jϿAY5y^̊eIx3f$t\I2^ȍ)O9u7< L7y[l-hfa(4R''D~/{0}]' .format(docDir)) print(' -i dir icon dir [default: /{0}]'.format(iconDir)) print(' -b dir temporary build root for packagers [default: {0}]' .format(buildRoot)) print(' -s skip language translation files') print(' -x skip all dependency checks (risky)') sys.exit(exitCode) def cmpVersions(versionStr, reqdTuple): """Return True if point-sep values in versionStr are >= reqdTuple. Arguments: versionStr -- a string with point-separated version numbers reqdTuple -- a tuple of version integers for the minimum acceptable """ match = re.search(r'[0-9\.]+', versionStr) if not match: return False versionStr = match.group() versionList = [int(val) for val in versionStr.split('.') if val] reqdList = list(reqdTuple) while len(versionList) < len(reqdList): versionList.append(0) while len(reqdList) < len(versionList): reqdList.append(0) if versionList >= reqdList: return True return False def copyDir(srcDir, dstDir): """Copy all regular files from srcDir to dstDir. dstDir is created if necessary. Arguments: srcDir -- the source dir path dstDir -- the destination dir path """ try: if not os.path.isdir(dstDir): os.makedirs(dstDir) names = os.listdir(srcDir) for name in names: srcPath = os.path.join(srcDir, name) if os.path.isfile(srcPath): shutil.copy2(srcPath, os.path.join(dstDir, name)) except (IOError, OSError) as e: if str(e).find('Permission denied') >= 0: print('Error - must be root to install files') cleanSource() sys.exit(4) raise def createWrapper(execDir, execName): """Create a wrapper executable file for a python script in execDir. Arguments: execDir -- the path where the executable is placed execName -- the name for the executable file """ text = '#!/bin/sh\n\nexec {0} {1}/{2}.py "$@"'.format(sys.executable, execDir, execName) with open(execName, 'w') as f: f.write(text) os.chmod(execName, 0o755) def replaceLine(path, origLineStart, newLine): """Replaces lines with origLineStart with newLine and rewrites the file. Arguments: path -- the file to modify origLineStart -- the beginning of the line to be replaced newLine -- the replacement line """ with open(path, 'r') as f: lines = f.readlines() with open(path, 'w') as f: for line in lines: if line.startswith(origLineStart): f.write(newLine) else: f.write(line) def cleanSource(): """Remove any temporary files added to untarred dirs. """ for name in glob.glob(os.path.join('source', '*.py[co]')): os.remove(name) removeDir(os.path.join('source', '__pycache__')) global progName if os.path.isfile(progName): os.remove(progName) def removeDir(dir): """Remove dir and all files under it, ignore errors. Arguments: dir -- the directory to remove """ try: shutil.rmtree(dir, 1) except: # shouldn't be needed with ignore error param, but pass # some python versions have a bug def main(): """Main installer function. """ optLetters = 'hp:d:i:b:sx' try: opts, args = getopt.getopt(sys.argv[1:], optLetters) except getopt.GetoptError: usage(2) global prefixDir global docDir global iconDir global buildRoot global progName depCheck = True translated = True for opt, val in opts: if opt == '-h': usage(0) elif opt == '-p': prefixDir = os.path.abspath(val) elif opt == '-d': docDir = val elif opt == '-i': iconDir = val elif opt == '-b': buildRoot = val elif opt == '-s': translated = False elif opt == '-x': depCheck = False if not os.path.isfile('install.py'): print('Error - {0} files not found'.format(progName)) print('The directory containing "install.py" must be current') sys.exit(4) if (os.path.isdir('source') and not os.path.isfile('source/{0}.py'.format(progName))): print('Error - source files not found') print('Retry the extraction from the tar archive') sys.exit(4) if depCheck: print('Checking dependencies...') pyVersion = sys.version_info[:3] pyVersion = '.'.join([str(num) for num in pyVersion]) if cmpVersions(pyVersion, (3, 4)): print(' Python Version {0} -> OK'.format(pyVersion)) else: print(' Python Version {0} -> Sorry, 3.4 or higher is required' .format(pyVersion)) sys.exit(3) try: from PyQt5 import QtCore, QtWidgets except: print(' PyQt not found -> Sorry, PyQt 5.4 or higher is required' ' and must be built for Python 3') sys.exit(3) qtVersion = QtCore.qVersion() if cmpVersions(qtVersion, (5, 4)): print(' Qt Version {0} -> OK'.format(qtVersion)) else: print(' Qt Version {0} -> Sorry, 5.4 or higher is required' .format(qtVersion)) sys.exit(3) pyqtVersion = QtCore.PYQT_VERSION_STR if cmpVersions(pyqtVersion, (5, 4)): print(' PyQt Version {0} -> OK'.format(pyqtVersion)) else: print(' PyQt Version {0} -> Sorry, 5.4 or higher is required' .format(pyqtVersion)) sys.exit(3) pythonPrefixDir = os.path.join(prefixDir, 'share', progName) pythonBuildDir = os.path.join(buildRoot, pythonPrefixDir[1:]) if os.path.isdir('source'): print('Installing files...') print(' Copying python files to {0}'.format(pythonBuildDir)) removeDir(pythonBuildDir) # remove old? copyDir('source', pythonBuildDir) if os.path.isdir('translations') and translated: translationDir = os.path.join(pythonBuildDir, 'translations') print(' Copying translation files to {0}'.format(translationDir)) copyDir('translations', translationDir) if os.path.isdir('doc'): docPrefixDir = docDir.replace('/', '') if not os.path.isabs(docPrefixDir): docPrefixDir = os.path.join(prefixDir, docPrefixDir) docBuildDir = os.path.join(buildRoot, docPrefixDir[1:]) print(' Copying documentation files to {0}'.format(docBuildDir)) copyDir('doc', docBuildDir) if not translated: for name in glob.glob(os.path.join(docBuildDir, '*_[a-z][a-z].html')): os.remove(name) # update help file location in main python script replaceLine(os.path.join(pythonBuildDir, '{0}.py'.format(progName)), 'helpFilePath = None', 'helpFilePath = \'{0}\' # modified by install script\n' .format(docPrefixDir)) if os.path.isdir('data'): dataPrefixDir = os.path.join(prefixDir, 'share', progName, 'data') dataBuildDir = os.path.join(buildRoot, dataPrefixDir[1:]) print(' Copying data files to {0}'.format(dataBuildDir)) removeDir(dataBuildDir) # remove old? copyDir('data', dataBuildDir) if not translated: for name in glob.glob(os.path.join(dataBuildDir, '*_[a-z][a-z].dat')): os.remove(name) # update data file location in main python script replaceLine(os.path.join(pythonBuildDir, '{0}.py'.format(progName)), 'dataFilePath = None', 'dataFilePath = \'{0}\' # modified by install script\n' .format(dataPrefixDir)) if os.path.isdir('icons'): iconPrefixDir = iconDir.replace('/', '') if not os.path.isabs(iconPrefixDir): iconPrefixDir = os.path.join(prefixDir, iconPrefixDir) iconBuildDir = os.path.join(buildRoot, iconPrefixDir[1:]) print(' Copying icon files to {0}'.format(iconBuildDir)) copyDir('icons', iconBuildDir) # update icon location in main python script replaceLine(os.path.join(pythonBuildDir, '{0}.py'.format(progName)), 'iconPath = None', 'iconPath = \'{0}\' # modified by install script\n' .format(iconPrefixDir)) if os.path.isfile(os.path.join('icons', progName + '-icon.svg')): svgIconPrefixDir = os.path.join(prefixDir, 'share', 'icons', 'hicolor', 'scalable', 'apps') svgIconBuildDir = os.path.join(buildRoot, svgIconPrefixDir[1:]) print(' Copying app icon files to {0}'.format(svgIconBuildDir)) if not os.path.isdir(svgIconBuildDir): os.makedirs(svgIconBuildDir) shutil.copy2(os.path.join('icons', progName + '-icon.svg'), svgIconBuildDir) if os.path.isfile(progName + '.desktop'): desktopPrefixDir = os.path.join(prefixDir, 'share', 'applications') desktopBuildDir = os.path.join(buildRoot, desktopPrefixDir[1:]) print(' Copying desktop file to {0}'.format(desktopBuildDir)) if not os.path.isdir(desktopBuildDir): os.makedirs(desktopBuildDir) shutil.copy2(progName + '.desktop', desktopBuildDir) if os.path.isdir('source'): createWrapper(pythonPrefixDir, progName) binBuildDir = os.path.join(buildRoot, prefixDir[1:], 'bin') print(' Copying executable file "{0}" to {1}' .format(progName, binBuildDir)) if not os.path.isdir(binBuildDir): os.makedirs(binBuildDir) shutil.copy2(progName, binBuildDir) compileall.compile_dir(pythonBuildDir, ddir=prefixDir) cleanSource() print('Install complete.') if __name__ == '__main__': main() ConvertAll-0.8.0/source/000077500000000000000000000000001363574405500151045ustar00rootroot00000000000000ConvertAll-0.8.0/source/bases.py000066400000000000000000000267051363574405500165650ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # bases.py, provides conversions of number bases and fractions # # ConvertAll, a units conversion program # Copyright (C) 2019, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import math from PyQt5.QtCore import Qt, QRegularExpression from PyQt5.QtGui import QRegularExpressionValidator from PyQt5.QtWidgets import (QApplication, QCheckBox, QDialog, QHBoxLayout, QLabel, QLineEdit, QMessageBox, QPushButton, QSpinBox, QTreeWidget, QTreeWidgetItem, QVBoxLayout) import numedit class BasesDialog(QDialog): """A dialog for conversion of number bases. """ def __init__(self, parent=None): super().__init__(parent) self.setAttribute(Qt.WA_QuitOnClose, False) self.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) self.setWindowTitle(_('Base Conversions')) self.value = 0 self.numBits = 32 self.twosComplement = False layout = QVBoxLayout(self) layout.setSpacing(0) decimalLabel = QLabel(_('&Decmal')) layout.addWidget(decimalLabel) decimalEdit = QLineEdit() decimalLabel.setBuddy(decimalEdit) decimalEdit.base = 10 decRegEx = QRegularExpression('[-0-9]*') decimalEdit.setValidator(QRegularExpressionValidator(decRegEx)) layout.addWidget(decimalEdit) layout.addSpacing(8) hexLabel = QLabel(_('&Hex')) layout.addWidget(hexLabel) hexEdit = QLineEdit() hexLabel.setBuddy(hexEdit) hexEdit.base = 16 hexRegEx = QRegularExpression('[-0-9a-fA-F]*') hexEdit.setValidator(QRegularExpressionValidator(hexRegEx)) layout.addWidget(hexEdit) layout.addSpacing(8) octalLabel = QLabel(_('&Octal')) layout.addWidget(octalLabel) octalEdit = QLineEdit() octalLabel.setBuddy(octalEdit) octalEdit.base = 8 octRegEx = QRegularExpression('[-0-7]*') octalEdit.setValidator(QRegularExpressionValidator(octRegEx)) layout.addWidget(octalEdit) layout.addSpacing(8) binaryLabel = QLabel(_('&Binary')) layout.addWidget(binaryLabel) binaryEdit = QLineEdit() binaryLabel.setBuddy(binaryEdit) binaryEdit.base = 2 binRegEx = QRegularExpression('[-01]*') binaryEdit.setValidator(QRegularExpressionValidator(binRegEx)) layout.addWidget(binaryEdit) layout.addSpacing(8) self.bitsButton = QPushButton('') self.setButtonLabel() layout.addWidget(self.bitsButton) self.bitsButton.clicked.connect(self.changeBitSettings) layout.addSpacing(8) closeButton = QPushButton(_('&Close')) layout.addWidget(closeButton) closeButton.clicked.connect(self.close) self.editors = (decimalEdit, hexEdit, octalEdit, binaryEdit) for editor in self.editors: editor.textEdited.connect(self.updateValue) def updateValue(self): """Update the current number base and then the other editors. """ activeEditor = self.focusWidget() text = activeEditor.text() if text: try: self.value = baseNum(text, activeEditor.base, self.numBits, self.twosComplement) except ValueError: QMessageBox.warning(self, 'ConvertAll', _('Number overflow')) activeEditor = None else: self.value = 0 for editor in self.editors: if editor is not activeEditor: editor.setText(baseNumStr(self.value, editor.base, self.numBits, self.twosComplement)) def changeBitSettings(self): """Show the dialog to update bit settings. """ dlg = QDialog(self) dlg.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) dlg.setWindowTitle(_('Bit Settings')) topLayout = QVBoxLayout(dlg) dlg.setLayout(topLayout) bitLayout = QHBoxLayout() topLayout.addLayout(bitLayout) bitSizeBox = QSpinBox(dlg) bitSizeBox.setMinimum(1) bitSizeBox.setMaximum(256) bitSizeBox.setSingleStep(16) bitSizeBox.setValue(self.numBits) bitLayout.addWidget(bitSizeBox) label = QLabel(_('&bit overflow limit'), dlg) label.setBuddy(bitSizeBox) bitLayout.addWidget(label) twoCompBox = QCheckBox(_("&Use two's complement\n" "for negative numbers"), dlg) twoCompBox.setChecked(self.twosComplement) topLayout.addWidget(twoCompBox) ctrlLayout = QHBoxLayout() topLayout.addLayout(ctrlLayout) ctrlLayout.addStretch(0) okButton = QPushButton(_('&OK'), dlg) ctrlLayout.addWidget(okButton) okButton.clicked.connect(dlg.accept) cancelButton = QPushButton(_('&Cancel'), dlg) ctrlLayout.addWidget(cancelButton) cancelButton.clicked.connect(dlg.reject) if dlg.exec_() == QDialog.Accepted: self.numBits = bitSizeBox.value() self.twosComplement = twoCompBox.isChecked() self.setButtonLabel() def setButtonLabel(self): """Set the text label on the bitsButton to match settings. """ text = '{0} {1}, '.format(self.numBits, _('bit')) if self.twosComplement: text += _('&two\'s complement') else: text += _('no &two\'s complement') self.bitsButton.setText(text) class FractionDialog(QDialog): """A dialog for conversion of numbers into fractions. """ def __init__(self, parent=None): super().__init__(parent) self.setAttribute(Qt.WA_QuitOnClose, False) self.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) self.setWindowTitle(_('Fraction Conversions')) layout = QVBoxLayout(self) layout.setSpacing(0) expLabel = QLabel(_('&Expression')) layout.addWidget(expLabel) horizLayout = QHBoxLayout() layout.addLayout(horizLayout) horizLayout.setSpacing(5) self.exprEdit = QLineEdit() expLabel.setBuddy(self.exprEdit) horizLayout.addWidget(self.exprEdit) self.exprEdit.setValidator(numedit.FloatExprValidator(self)) self.exprEdit.returnPressed.connect(self.calcFractions) enterButton = QPushButton(_('E&nter')) horizLayout.addWidget(enterButton) enterButton.setAutoDefault(False) enterButton.clicked.connect(self.calcFractions) layout.addSpacing(10) self.resultView = QTreeWidget() self.resultView.setColumnCount(2) self.resultView.setHeaderLabels([_('Fraction'), _('Decimal')]) layout.addWidget(self.resultView) layout.addSpacing(10) self.powerTwoCtrl = QCheckBox(_('Limit denominators to powers of two')) layout.addWidget(self.powerTwoCtrl) layout.addSpacing(10) closeButton = QPushButton(_('&Close')) layout.addWidget(closeButton) closeButton.setAutoDefault(False) closeButton.clicked.connect(self.close) def calcFractions(self): """Find fractions from the expression in the editor. """ self.resultView.clear() text = self.exprEdit.text() try: num = float(text) except ValueError: try: num = float(eval(text)) output = [_('Entry'), '{0}'.format(num)] self.resultView.addTopLevelItem(QTreeWidgetItem(output)) except: QMessageBox.warning(self, 'ConvertAll', _('Invalid expresssion')) return QApplication.setOverrideCursor(Qt.WaitCursor) powerOfTwo = self.powerTwoCtrl.isChecked() for numer, denom in listFractions(num, powerOfTwo): output = ['{0}/{1}'.format(numer, denom), '{0}'.format(numer / denom)] self.resultView.addTopLevelItem(QTreeWidgetItem(output)) QApplication.restoreOverrideCursor() def baseNumStr(number, base, numBits=32, twosComplement=False): """Return string of number in given base (2-16). Arguments: base -- the number base to convert to numBits -- the number of bits available for the result twosComplement -- if True, use two's complement for negative numbers """ digits = '0123456789abcdef' number = int(round(number)) result = '' sign = '' if number == 0: return '0' if twosComplement: if number >= 2**(numBits - 1) or \ number < -2**(numBits - 1): return 'overflow' if number < 0: number = 2**numBits + number else: if number < 0: number = abs(number) sign = '-' if number >= 2**numBits: return 'overflow' while number: number, remainder = divmod(number, base) result = '{0}{1}'.format(digits[remainder], result) return '{0}{1}'.format(sign, result) def baseNum(numStr, base, numBits=32, twosComplement=False): """Convert number string to an integer using given base. Arguments: base -- the number base to convert from numBits -- the number of bits available for the numStr twosComplement -- if True, use two's complement for negative numbers """ numStr = numStr.replace(' ', '') if numStr == '-': return 0 num = int(numStr, base) if num >= 2**numBits: raise ValueError if base != 10 and twosComplement and num >= 2**(numBits - 1): num = num - 2**numBits return num def listFractions(decimal, powerOfTwo=False): """Return a list of numerator, denominator tuples. The tuples approximate the decimal, becoming more accurate. Arguments: decimal -- a real number to approximate as a fraction powerOfTwo -- if True, restrict the denominator to powers of 2 """ results = [] if decimal == 0.0: return results denom = 2 denomLimit = 10**9 minOffset = 10**-10 minDelta = denomLimit numer = round(decimal * denom) delta = abs(decimal - numer / denom) while denom < denomLimit: nextDenom = denom + 1 if not powerOfTwo else denom * 2 nextNumer = round(decimal * nextDenom) nextDelta = abs(decimal - nextNumer / nextDenom) if numer != 0 and (delta == 0.0 or (delta < minDelta - minOffset and delta <= nextDelta)): results.append((numer, denom)) if delta == 0.0: break minDelta = delta denom = nextDenom numer = nextNumer delta = nextDelta if results: # handle when first result is a whole num (2/2, 4/2, etc.) numer, denom = results[0] if denom == 2 and numer / denom == round(numer / denom): results[0] = (round(numer / denom), 1) return results ConvertAll-0.8.0/source/cmdline.py000066400000000000000000000162711363574405500171000ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # cmdline.py, provides a class to read and execute command line arguments # # ConvertAll, a units conversion program # Copyright (C) 2015, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys import re import option import optiondefaults import unitdata import unitgroup usage = [_('Usage:'), '', ' convertall [{0}]'.format(_('qt-options')), '', _('-or- (non-GUI):'), ' convertall [{0}] [{1}] {2} [{3}]'.format(_('options'), _('number'), _('from_unit'), _('to_unit')), '', _('-or- (non-GUI):'), ' convertall -i [{0}]'.format(_('options')), '', _('Units with spaces must be "quoted"'), '', _('Options:'), ' -d, --decimals={0:6} {1}'.format(_('num'), _('set number of decimals to show')), ' -f, --fixed-decimals {0}'.format( _('show set number of decimals, even if zeros')), ' -s, --sci-notation {0}'.format( _('show results in scientific notation')), ' -e, --eng-notation {0}'.format( _('show results in engineering notation')), ' -h, --help {0}'.format( _('display this message and exit')), ' -i, --interactive {0}'.format( _('interactive command line mode (non-GUI)')), ' -q, --quiet {0}'.format( _('convert without further prompts')), ''] def parseArgs(opts, args): """Parse the command line and output conversion results. """ options = option.Option('convertall', 20) options.loadAll(optiondefaults.defaultList) quiet = False dataTestMode = False for opt, arg in opts: if opt in ('-h', '--help'): printUsage() return if opt in ('-d', '--decimals'): try: decimals = int(arg) if 0 <= decimals <= unitgroup.UnitGroup.maxDecPlcs: options.changeData('DecimalPlaces', arg, False) except ValueError: pass elif opt in ('-f', '--fixed-decimals'): options.changeData('Notation', 'fixed', False) elif opt in ('-s', '--sci-notation'): options.changeData('Notation', 'scientific', False) elif opt in ('-e', '--eng-notation'): options.changeData('Notation', 'engineering', False) elif opt in ('-q', '--quiet'): quiet = True elif opt in ('-t', '--test'): dataTestMode = True data = unitdata.UnitData() try: data.readData() except unitdata.UnitDataError as text: print('Error in unit data - {0}'.format(text)) sys.exit(1) if dataTestMode: unitDataTest(data, options) return numStr = '1.0' if args: numStr = args[0] try: float(numStr) del args[0] except (ValueError): numStr = '1.0' fromUnit = None try: fromUnit = getUnit(data, options, args.pop(0)) except IndexError: pass if not fromUnit and quiet: return toUnit = None try: toUnit = getUnit(data, options, args[0]) except IndexError: pass if not toUnit and quiet: return while True: while not fromUnit: text = _('Enter from unit -> ') fromText = input(text) if not fromText: return fromUnit = getUnit(data, options, fromText) while not toUnit: text = _('Enter to unit -> ') toText = input(text) if not toText: return toUnit = getUnit(data, options, toText) if fromUnit.categoryMatch(toUnit): badEntry = False while True: if not badEntry: newNumStr = fromUnit.convertStr(float(numStr), toUnit) print('{0} {1} = {2} {3}'.format(numStr, fromUnit.unitString(), newNumStr, toUnit.unitString())) if quiet: return badEntry = False text = _('Enter number, [n]ew, [r]everse or [q]uit -> ') rep = input(text) if not rep or rep[0] in ('q', 'Q'): return if rep[0] in ('r', 'R'): fromUnit, toUnit = toUnit, fromUnit elif rep[0] in ('n', 'N'): fromUnit = None toUnit = None numStr = '1.0' print() break else: try: float(rep) numStr = rep except ValueError: badEntry = True else: print(_('Units {0} and {1} are not compatible'). format(fromUnit.unitString(), toUnit.unitString())) if quiet: return fromUnit = None toUnit = None def getUnit(data, options, text): """Create unit from text, check unit is valid, return reduced unit or None. """ unit = unitgroup.UnitGroup(data, options) unit.update(text) if unit.groupValid(): unit.reduceGroup() return unit print(_('{0} is not a valid unit').format(text)) return None def printUsage(): """Print usage text. """ print('\n'.join(usage)) def unitDataTest(data, options): """Run through a test of all units for consistent definitions, print results, return True if all pass. """ badUnits = {} errorRegEx = re.compile(r'.*"(.*)"$') for unit in data.values(): if not unit.unitValid(): badUnits.setdefault(unit.name, []).append(unit.name) group = unitgroup.UnitGroup(data, options) group.replaceCurrent(unit) try: group.reduceGroup() except unitdata.UnitDataError as errorText: rootUnitName = errorRegEx.match(errorText).group(1) badUnits.setdefault(rootUnitName, []).append(unit.name) if not badUnits: print('All units pass tests') return True for key in sorted(badUnits.keys()): impacts = ', '.join(sorted(badUnits[key])) print('{0}\n Impacts: {1}\n'.format(key, impacts)) return False ConvertAll-0.8.0/source/colorset.py000066400000000000000000000237501363574405500173170ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # colorset.py, provides storage/retrieval and dialogs for system colors # # ConvertAll, a units conversion program # Copyright (C) 2019, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import enum from collections import OrderedDict from PyQt5.QtCore import pyqtSignal, Qt, QEvent, QObject from PyQt5.QtGui import QColor, QFontMetrics, QPalette, QPixmap from PyQt5.QtWidgets import (QApplication, QColorDialog, QComboBox, QDialog, QFrame, QGroupBox, QHBoxLayout, QLabel, QGridLayout, QPushButton, QVBoxLayout, qApp) roles = OrderedDict([('Window', _('Dialog background color')), ('WindowText', _('Dialog text color')), ('Base', _('Text widget background color')), ('Text', _('Text widget foreground color')), ('Highlight', _('Selected item background color')), ('HighlightedText', _('Selected item text color')), ('Button', _('Button background color')), ('ButtonText', _('Button text color')), ('Text-Disabled', _('Disabled text foreground color')), ('ButtonText-Disabled', _('Disabled button text color'))]) ThemeSetting = enum.IntEnum('ThemeSetting', 'system dark custom') darkColors = {'Window': '#353535', 'WindowText': '#ffffff', 'Base': '#191919', 'Text': '#ffffff', 'Highlight': '#2a82da', 'HighlightedText': '#000000', 'Button': '#353535', 'ButtonText': '#ffffff', 'Text-Disabled': '#808080', 'ButtonText-Disabled': '#808080'} class ColorSet: """Stores color settings and provides dialogs for user changes. """ def __init__(self, option): self.option = option self.sysPalette = QApplication.palette() self.colors = [Color(roleKey) for roleKey in roles.keys()] self.theme = ThemeSetting[self.option.strData('ColorTheme')] for color in self.colors: color.colorChanged.connect(self.setCustomTheme) color.setFromPalette(self.sysPalette) if self.theme == ThemeSetting.dark: color.setFromTheme(darkColors) elif self.theme == ThemeSetting.custom: color.setFromOption(self.option) def setAppColors(self): """Set application to current colors. """ newPalette = QApplication.palette() for color in self.colors: color.updatePalette(newPalette) qApp.setPalette(newPalette) def showDialog(self, parent): """Show a dialog for user color changes. Return True if changes were made. """ dialog = QDialog(parent) dialog.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) dialog.setWindowTitle(_('Color Settings')) topLayout = QVBoxLayout(dialog) dialog.setLayout(topLayout) themeBox = QGroupBox(_('Color Theme'), dialog) topLayout.addWidget(themeBox) themeLayout = QVBoxLayout(themeBox) self.themeControl = QComboBox(dialog) self.themeControl.addItem(_('Default system theme'), ThemeSetting.system) self.themeControl.addItem(_('Dark theme'), ThemeSetting.dark) self.themeControl.addItem(_('Custom theme'), ThemeSetting.custom) self.themeControl.setCurrentIndex(self.themeControl. findData(self.theme)) self.themeControl.currentIndexChanged.connect(self.updateThemeSetting) themeLayout.addWidget(self.themeControl) self.groupBox = QGroupBox(dialog) self.setBoxTitle() topLayout.addWidget(self.groupBox) gridLayout = QGridLayout(self.groupBox) row = 0 for color in self.colors: gridLayout.addWidget(color.getLabel(), row, 0) gridLayout.addWidget(color.getSwatch(), row, 1) row += 1 ctrlLayout = QHBoxLayout() topLayout.addLayout(ctrlLayout) ctrlLayout.addStretch(0) okButton = QPushButton(_('&OK'), dialog) ctrlLayout.addWidget(okButton) okButton.clicked.connect(dialog.accept) cancelButton = QPushButton(_('&Cancel'), dialog) ctrlLayout.addWidget(cancelButton) cancelButton.clicked.connect(dialog.reject) if dialog.exec_() == QDialog.Accepted: self.theme = ThemeSetting(self.themeControl.currentData()) self.option.changeData('ColorTheme', self.theme.name, True) if self.theme == ThemeSetting.system: qApp.setPalette(self.sysPalette) else: # dark theme or custom if self.theme == ThemeSetting.custom: for color in self.colors: color.updateOption(self.option) self.setAppColors() else: for color in self.colors: color.setFromPalette(self.sysPalette) if self.theme == ThemeSetting.dark: color.setFromTheme(darkColors) elif self.theme == ThemeSetting.custom: color.setFromOption(self.option) def setBoxTitle(self): """Set title of group box to standard or custom. """ if self.themeControl.currentData() == ThemeSetting.custom: title = _('Custom Colors') else: title = _('Theme Colors') self.groupBox.setTitle(title) def updateThemeSetting(self): """Update the colors based on a theme control change. """ if self.themeControl.currentData() == ThemeSetting.system: for color in self.colors: color.setFromPalette(self.sysPalette) color.changeSwatchColor() elif self.themeControl.currentData() == ThemeSetting.dark: for color in self.colors: color.setFromTheme(darkColors) color.changeSwatchColor() else: for color in self.colors: color.setFromOption(self.option) color.changeSwatchColor() self.setBoxTitle() def setCustomTheme(self): """Set to custom theme setting after user color change. """ if self.themeControl.currentData != ThemeSetting.custom: self.themeControl.blockSignals(True) self.themeControl.setCurrentIndex(2) self.themeControl.blockSignals(False) self.setBoxTitle() class Color(QObject): """Stores a single color setting for a role. """ colorChanged = pyqtSignal() def __init__(self, roleKey, parent=None): super().__init__(parent) self.roleKey = roleKey if '-' in roleKey: roleStr, groupStr = roleKey.split('-') self.group = eval('QPalette.' + groupStr) else: roleStr = roleKey self.group = None self.role = eval('QPalette.' + roleStr) self.currentColor = None self.swatch = None def setFromPalette(self, palette): """Set the color based on the given palette. """ if self.group: self.currentColor = palette.color(self.group, self.role) else: self.currentColor = palette.color(self.role) def setFromOption(self, option): """Set color based on the option setting. """ colorStr = '#' + option.strData(self.roleKey + 'Color', True) color = QColor(colorStr) if color.isValid(): self.currentColor = color def setFromTheme(self, theme): """Set color based on the given theme dictionary. """ self.currentColor = QColor(theme[self.roleKey]) def updateOption(self, option): """Set the option to the current color. """ if self.currentColor: colorStr = self.currentColor.name().lstrip('#') option.changeData(self.roleKey + 'Color', colorStr, True) def updatePalette(self, palette): """Set the role in the given palette to the current color. """ if self.group: palette.setColor(self.group, self.role, self.currentColor) else: palette.setColor(self.role, self.currentColor) def getLabel(self): """Return a label for this role in a dialog. """ return QLabel(roles[self.roleKey]) def getSwatch(self): """Return a label color swatch with the current color. """ self.swatch = QLabel() self.changeSwatchColor() self.swatch.setFrameStyle(QFrame.Panel | QFrame.Raised) self.swatch.setLineWidth(3) self.swatch.installEventFilter(self) return self.swatch def changeSwatchColor(self): """Set swatch to currentColor. """ height = QFontMetrics(self.swatch.font()).height() pixmap = QPixmap(3 * height, height) pixmap.fill(self.currentColor) self.swatch.setPixmap(pixmap) def eventFilter(self, obj, event): """Handle mouse clicks on swatches. """ if obj == self.swatch and event.type() == QEvent.MouseButtonRelease: color = QColorDialog.getColor(self.currentColor, QApplication.activeWindow(), _('Select {0} color'). format(self.roleKey)) if color.isValid() and color != self.currentColor: self.currentColor = color self.changeSwatchColor() self.colorChanged.emit() return True return False ConvertAll-0.8.0/source/convertall.pro000066400000000000000000000010721363574405500177770ustar00rootroot00000000000000SOURCES = cmdline.py \ convertall.py \ convertdlg.py \ helpview.py \ icondict.py \ numedit.py \ optiondefaults.py \ optiondlg.py \ option.py \ setup.py \ unitatom.py \ unitdata.py \ unitedit.py \ unitgroup.py \ unitlistview.py TRANSLATIONS = convertall_es.ts \ convertall_de.ts \ convertall_fr.ts \ convertall_it.ts \ convertall_ru.ts \ convertall_xx.ts ConvertAll-0.8.0/source/convertall.py000077500000000000000000000115161363574405500176360ustar00rootroot00000000000000#!/usr/bin/env python3 """ **************************************************************************** convertall.py, the main program file ConvertAll, a units conversion program Copyright (C) 2020, Douglas W. Bell This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, either Version 2 or any later version. This program is distributed in the hope that it will be useful, but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. ***************************************************************************** """ __progname__ = 'ConvertAll' __version__ = '0.8.0' __author__ = 'Doug Bell' dataFilePath = None # modified by install script if required helpFilePath = None # modified by install script if required iconPath = None # modified by install script if required translationPath = 'translations' lang = '' import sys import os.path import locale import getopt import signal import builtins from PyQt5.QtCore import (QCoreApplication, QTranslator) from PyQt5.QtWidgets import QApplication def loadTranslator(fileName, app): """Load and install qt translator, return True if sucessful. """ translator = QTranslator(app) modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip'): # for py2exe modPath = os.path.dirname(modPath) path = os.path.join(modPath, translationPath) result = translator.load(fileName, path) if not result: path = os.path.join(modPath, '..', translationPath) result = translator.load(fileName, path) if not result: path = os.path.join(modPath, '..', 'i18n', translationPath) result = translator.load(fileName, path) if result: QCoreApplication.installTranslator(translator) return True else: print('Warning: translation file "{0}" could not be loaded'. format(fileName)) return False def setupTranslator(app): """Set language, load translators and setup translator function. """ try: locale.setlocale(locale.LC_ALL, '') except locale.Error: pass global lang lang = os.environ.get('LC_MESSAGES', '') if not lang: lang = os.environ.get('LANG', '') if not lang: try: lang = locale.getdefaultlocale()[0] except ValueError: pass if not lang: lang = '' numTranslators = 0 if lang and lang[:2] not in ['C', 'en']: numTranslators += loadTranslator('qt_{0}'.format(lang), app) numTranslators += loadTranslator('convertall_{0}'.format(lang), app) def translate(text, comment=''): """Translation function that sets context to calling module's filename. """ try: frame = sys._getframe(1) fileName = frame.f_code.co_filename finally: del frame context = os.path.basename(os.path.splitext(fileName)[0]) return QCoreApplication.translate(context, text, comment) def markNoTranslate(text, comment=''): return text if numTranslators: builtins._ = translate else: builtins._ = markNoTranslate def main(): if len(sys.argv) > 1: try: opts, args = getopt.gnu_getopt(sys.argv, 'd:fhiqset', ['decimals=', 'fixed-decimals', 'help', 'interactive', 'quiet', 'sci-notation', 'eng-notation', 'test']) except getopt.GetoptError: # check that arguments aren't Qt GUI options if sys.argv[1][:3] not in ['-ba', '-bg', '-bt', '-bu', '-cm', '-di', '-do', '-fg', '-fn', '-fo', '-ge', '-gr', '-im', '-in', '-na', '-nc', '-no', '-re', '-se', '-st', '-sy', '-ti', '-vi', '-wi']: app = QCoreApplication(sys.argv) setupTranslator(app) import cmdline cmdline.printUsage() sys.exit(2) else: app = QCoreApplication(sys.argv) setupTranslator(app) import cmdline try: cmdline.parseArgs(opts, args[1:]) except KeyboardInterrupt: pass return userStyle = '-style' in ' '.join(sys.argv) app = QApplication(sys.argv) setupTranslator(app) # must be before importing any convertall modules import convertdlg if not userStyle: QApplication.setStyle('fusion') win = convertdlg.ConvertDlg() win.show() signal.signal(signal.SIGINT, signal.SIG_IGN) app.exec_() if __name__ == '__main__': main() ConvertAll-0.8.0/source/convertall.spec000066400000000000000000000056041363574405500201360ustar00rootroot00000000000000# -*- mode: python -*- #****************************************************************************** # convertall.spec, provides settings for use with PyInstaller # # Creates a standalone windows executable # # Run the build process by running the command 'pyinstaller convertall.spec' # # If everything works well you should find a 'dist/convertall' subdirectory # that contains the files needed to run the application # # ConvertAll, an information storage program # Copyright (C) 2019, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY. See the included LICENSE file for details. #****************************************************************************** block_cipher = None extraFiles = [('../data', 'data'), ('../doc', 'doc'), ('../icons', 'icons'), ('../source/*.py', 'source'), ('../source/*.pro', 'source'), ('../source/*.spec', 'source'), ('../translations', 'translations'), ('../win/*.*', '.')] a = Analysis(['convertall.py'], pathex=['C:\\git\\convertall\\devel\\source'], binaries=[], datas=extraFiles, hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, [], exclude_binaries=True, name='convertall', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, icon='..\\win\\convertall.ico') a.binaries = a.binaries - TOC([('d3dcompiler_47.dll', None, None), ('libcrypto-1_1.dll', None, None), ('libeay32.dll', None, None), ('libglesv2.dll', None, None), ('libssl-1_1.dll', None, None), ('opengl32sw.dll', None, None), ('qt5dbus.dll', None, None), ('qt5network.dll', None, None), ('qt5qml.dll', None, None), ('qt5qmlmodels.dll', None, None), ('qt5quick.dll', None, None), ('qt5websockets.dll', None, None)]) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name='convertall') ConvertAll-0.8.0/source/convertdlg.py000066400000000000000000000527471363574405500176440ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # convertdlg.py, provides the main dialog and GUI interface # # ConvertAll, a units conversion program # Copyright (C) 2020, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys import os.path from PyQt5.QtCore import (QPoint, QRect, Qt) from PyQt5.QtGui import (QColor, QFont, QPalette) from PyQt5.QtWidgets import (QApplication, QCheckBox, QColorDialog, QDialog, QFrame, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLayout, QMenu, QMessageBox, QPushButton, QSizePolicy, QVBoxLayout, QWidget) try: from __main__ import __version__, __author__, helpFilePath, iconPath from __main__ import lang except ImportError: __version__ = __author__ = '??' helpFilePath = None iconPath = None lang = '' import unitdata from unitgroup import UnitGroup from option import Option import recentunits import unitedit import unitlistview import numedit import icondict import optiondefaults import helpview import optiondlg import colorset import fontset import bases class ConvertDlg(QWidget): """Main dialog for ConvertAll program. """ unitData = unitdata.UnitData() def __init__(self, parent=None): super().__init__(parent) self.setWindowTitle('ConvertAll') modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip'): # for py2exe modPath = os.path.dirname(modPath) iconPathList = [iconPath, os.path.join(modPath, 'icons/'), os.path.join(modPath, '../icons')] self.icons = icondict.IconDict() self.icons.addIconPath([path for path in iconPathList if path]) try: QApplication.setWindowIcon(self.icons['convertall_med']) except KeyError: pass self.helpView = None self.basesDialog = None self.fractionDialog = None self.option = Option('convertall', 25) self.option.loadAll(optiondefaults.defaultList) self.colorSet = colorset.ColorSet(self.option) if self.option.strData('ColorTheme') != 'system': self.colorSet.setAppColors() self.sysFont = self.font() self.guiFont = None fontStr = self.option.strData('GuiFont', True) if fontStr: guiFont = self.font() if guiFont.fromString(fontStr): QApplication.setFont(guiFont) self.guiFont = guiFont self.recentUnits = recentunits.RecentUnits(self.option) try: num = ConvertDlg.unitData.readData() except unitdata.UnitDataError as text: QMessageBox.warning(self, 'ConvertAll', _('Error in unit data - {0}'). format(text)) sys.exit(1) try: print(_('{0} units loaded').format(num)) except UnicodeError: print('{0} units loaded'.format(num)) self.fromGroup = UnitGroup(ConvertDlg.unitData, self.option) self.toGroup = UnitGroup(ConvertDlg.unitData, self.option) self.unitButtons = [] self.textButtons = [] topLayout = QHBoxLayout(self) # divide main, buttons mainLayout = QVBoxLayout() mainLayout.setSpacing(8) topLayout.addLayout(mainLayout) unitLayout = QGridLayout() # unit selection unitLayout.setVerticalSpacing(3) unitLayout.setHorizontalSpacing(20) mainLayout.addLayout(unitLayout) fromLabel = QLabel(_('From Unit')) unitLayout.addWidget(fromLabel, 0, 0) self.fromUnitEdit = unitedit.UnitEdit(self.fromGroup) unitLayout.addWidget(self.fromUnitEdit, 1, 0) self.fromUnitEdit.setFocus() toLabel = QLabel(_('To Unit')) unitLayout.addWidget(toLabel, 0, 1) self.toUnitEdit = unitedit.UnitEdit(self.toGroup) unitLayout.addWidget(self.toUnitEdit, 1, 1) self.fromUnitEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.toUnitEdit.gotFocus.connect(self.fromUnitEdit.setInactive) vertButtonLayout = QVBoxLayout() vertButtonLayout.setSpacing(2) mainLayout.addLayout(vertButtonLayout) self.unitListView = unitlistview.UnitListView(ConvertDlg.unitData) mainLayout.addWidget(self.unitListView) self.fromUnitEdit.currentChanged.connect(self.unitListView. updateFiltering) self.toUnitEdit.currentChanged.connect(self.unitListView. updateFiltering) self.fromUnitEdit.keyPressed.connect(self.unitListView.handleKeyPress) self.toUnitEdit.keyPressed.connect(self.unitListView.handleKeyPress) self.unitListView.unitChanged.connect(self.fromUnitEdit.unitUpdate) self.unitListView.unitChanged.connect(self.toUnitEdit.unitUpdate) self.unitListView.haveCurrentUnit.connect(self.enableButtons) self.unitListView.setFocusPolicy(Qt.NoFocus) textButtonLayout = QHBoxLayout() textButtonLayout.setSpacing(6) vertButtonLayout.addLayout(textButtonLayout) textButtonLayout.addStretch(1) self.textButtons.append(QPushButton('{0} (^2)'.format(_('Square')))) self.textButtons.append(QPushButton('{0} (^3)'.format(_('Cube')))) self.textButtons.append(QPushButton('{0} (*)'.format(_('Multiply')))) self.textButtons.append(QPushButton('{0} (/)'.format(_('Divide')))) for button in self.textButtons: button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) button.setFocusPolicy(Qt.NoFocus) textButtonLayout.addWidget(button) button.clicked.connect(self.unitListView.addUnitText) textButtonLayout.addStretch(1) unitButtonLayout = QHBoxLayout() unitButtonLayout.setSpacing(6) vertButtonLayout.addLayout(unitButtonLayout) unitButtonLayout.addStretch(1) self.clearButton = QPushButton(_('Clear Unit')) self.clearButton.clicked.connect(self.unitListView.clearUnitText) self.recentButton = QPushButton(_('Recent Unit')) self.recentButton.clicked.connect(self.recentMenu) self.filterButton = QPushButton(_('Filter List')) self.filterButton.clicked.connect(self.filterMenu) self.unitButtons = [self.clearButton, self.recentButton, self.filterButton] for button in self.unitButtons: button.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) button.setFocusPolicy(Qt.NoFocus) unitButtonLayout.addWidget(button) unitButtonLayout.addStretch(1) self.showHideButtons() numberLayout = QGridLayout() numberLayout.setVerticalSpacing(3) mainLayout.addLayout(numberLayout) statusLabel = QLabel(_('Set units')) statusLabel.setFrameStyle(QFrame.Panel | QFrame.Sunken) mainLayout.addWidget(statusLabel) fromNumLabel = QLabel(_('No Unit Set')) numberLayout.addWidget(fromNumLabel, 0, 0) self.fromNumEdit = numedit.NumEdit(self.fromGroup, self.toGroup, fromNumLabel, statusLabel, self.recentUnits, True) numberLayout.addWidget(self.fromNumEdit, 1, 0) self.fromUnitEdit.unitChanged.connect(self.fromNumEdit.unitUpdate) self.fromNumEdit.gotFocus.connect(self.fromUnitEdit.setInactive) self.fromNumEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.fromNumEdit.gotFocus.connect(self.unitListView.resetFiltering) self.fromNumEdit.setEnabled(False) equalsLabel = QLabel(' = ') equalsLabel.setFont(QFont(self.font().family(), 20)) numberLayout.addWidget(equalsLabel, 0, 1, 2, 1) toNumLabel = QLabel(_('No Unit Set')) numberLayout.addWidget(toNumLabel, 0, 3) self.toNumEdit = numedit.NumEdit(self.toGroup, self.fromGroup, toNumLabel, statusLabel, self.recentUnits, False) numberLayout.addWidget(self.toNumEdit, 1, 3) self.toUnitEdit.unitChanged.connect(self.toNumEdit.unitUpdate) self.toNumEdit.gotFocus.connect(self.fromUnitEdit.setInactive) self.toNumEdit.gotFocus.connect(self.toUnitEdit.setInactive) self.toNumEdit.gotFocus.connect(self.unitListView.resetFiltering) self.toNumEdit.setEnabled(False) self.fromNumEdit.convertNum.connect(self.toNumEdit.setNum) self.toNumEdit.convertNum.connect(self.fromNumEdit.setNum) self.fromNumEdit.convertRqd.connect(self.toNumEdit.convert) self.toNumEdit.convertRqd.connect(self.fromNumEdit.convert) buttonLayout = QVBoxLayout() # major buttons topLayout.addLayout(buttonLayout) closeButton = QPushButton(_('&Close')) buttonLayout.addWidget(closeButton) closeButton.setFocusPolicy(Qt.NoFocus) closeButton.clicked.connect(self.close) optionsButton = QPushButton(_('&Options...')) buttonLayout.addWidget(optionsButton) optionsButton.setFocusPolicy(Qt.NoFocus) optionsButton.clicked.connect(self.changeOptions) basesButton = QPushButton(_('&Bases...')) buttonLayout.addWidget(basesButton) basesButton.setFocusPolicy(Qt.NoFocus) basesButton.clicked.connect(self.showBases) fractionsButton = QPushButton(_('&Fractions...')) buttonLayout.addWidget(fractionsButton) fractionsButton.setFocusPolicy(Qt.NoFocus) fractionsButton.clicked.connect(self.showFractions) helpButton = QPushButton(_('&Help...')) buttonLayout.addWidget(helpButton) helpButton.setFocusPolicy(Qt.NoFocus) helpButton.clicked.connect(self.help) aboutButton = QPushButton(_('&About...')) buttonLayout.addWidget(aboutButton) aboutButton.setFocusPolicy(Qt.NoFocus) aboutButton.clicked.connect(self.about) buttonLayout.addStretch() if self.option.boolData('RemenberDlgPos'): rect = QRect(self.option.intData('MainDlgXPos', 0, 10000), self.option.intData('MainDlgYPos', 0, 10000), self.option.intData('MainDlgXSize', 0, 10000), self.option.intData('MainDlgYSize', 0, 10000)) if rect.isValid(): availRect = (QApplication.primaryScreen(). availableVirtualGeometry()) topMargin = self.option.intData('MainDlgTopMargin', 0, 1000) otherMargin = self.option.intData('MainDlgOtherMargin', 0, 1000) # remove frame space from available rect availRect.adjust(otherMargin, topMargin, -otherMargin, -otherMargin) finalRect = rect.intersected(availRect) if finalRect.isEmpty(): rect.moveTo(0, 0) finalRect = rect.intersected(availRect) if finalRect.isValid(): self.setGeometry(finalRect) if self.option.boolData('LoadLastUnit') and len(self.recentUnits) > 1: self.fromGroup.update(self.recentUnits[0]) self.fromUnitEdit.unitUpdate() self.toGroup.update(self.recentUnits[1]) self.toUnitEdit.unitUpdate() self.unitListView.updateFiltering() self.fromNumEdit.setFocus() self.fromNumEdit.selectAll() if self.option.boolData('ShowStartupTip'): self.show() tipDialog = TipDialog(self.option, self) tipDialog.exec_() def recentMenu(self): """Show a menu with recently used units. """ button = self.sender() menu = QMenu() for unit in self.recentUnits: action = menu.addAction(unit) menu.triggered.connect(self.insertRecent) menu.exec_(button.mapToGlobal(QPoint(0, 0))) def insertRecent(self, action): """Insert the recent unit from the given action. """ editor = (self.fromUnitEdit if self.fromUnitEdit.activeEditor else self.toUnitEdit) editor.unitGroup.update(action.text()) editor.unitUpdate() self.unitListView.updateFiltering() def filterMenu(self): """Show a menu with unit types for filtering or clear filter if set. """ if self.unitListView.typeFilter: # clear filter self.unitListView.typeFilter = '' self.unitListView.updateFiltering() self.filterButton.setText(_('Filter List')) else: # show filter menu button = self.sender() menu = QMenu() for unitType in ConvertDlg.unitData.typeList: action = menu.addAction(unitType) menu.triggered.connect(self.startTypeFilter) menu.exec_(button.mapToGlobal(QPoint(0, 0))) def startTypeFilter(self, action): """Start type filter based on the given action. """ self.unitListView.typeFilter = action.text() self.unitListView.updateFiltering() self.filterButton.setText(_('Clear Filter')) def enableButtons(self, editActive, hasUnit): """Enable text editing buttons if have a current unit. """ for button in self.textButtons: button.setEnabled(hasUnit) self.clearButton.setEnabled(editActive) self.recentButton.setEnabled(editActive and len(self.recentUnits)) def showHideButtons(self): """Show or hide text modify buttons. """ textButtonsVisible = self.option.boolData('ShowOpButtons') unitButtonsVisible = self.option.boolData('ShowUnitButtons') for button in self.textButtons: if textButtonsVisible: button.show() else: button.hide() for button in self.unitButtons: if unitButtonsVisible: button.show() else: button.hide() def changeOptions(self): """Show dialog for option changes. """ dlg = optiondlg.OptionDlg(self.option, self) dlg.startGroupBox(_('Result Precision')) optiondlg.OptionDlgInt(dlg, 'DecimalPlaces', _('Decimal places'), 0, UnitGroup.maxDecPlcs) dlg.endGroupBox() optiondlg.OptionDlgRadio(dlg, 'Notation', _('Result Display'), [('general', _('Use short representation')), ('fixed', _('Use fixed decimal places')), ('scientific', _('Use scientific notation')), ('engineering', _('Use engineering notation'))]) dlg.startGroupBox(_('Recent Units')) optiondlg.OptionDlgInt(dlg, 'RecentUnits', _('Number saved'), 2, 99) optiondlg.OptionDlgBool(dlg, 'LoadLastUnit', _('Load last units at startup')) dlg.startGroupBox(_('User Interface')) optiondlg.OptionDlgBool(dlg, 'ShowOpButtons', _('Show operator buttons (1st row)')) optiondlg.OptionDlgBool(dlg, 'ShowUnitButtons', _('Show unit buttons (2nd row)')) optiondlg.OptionDlgBool(dlg, 'ShowStartupTip', _('Show tip at startup')) optiondlg.OptionDlgBool(dlg, 'RemenberDlgPos', _('Remember window position')) dlg.startGroupBox(_('Appearance')) optiondlg.OptionDlgPush(dlg, _('Set GUI Colors'), self.showColorDlg) optiondlg.OptionDlgPush(dlg, _('Set GUI Fonts'), self.showFontDlg) if dlg.exec_() == QDialog.Accepted: self.option.writeChanges() self.recentUnits.updateQuantity() self.showHideButtons() self.fromNumEdit.unitUpdate() self.toNumEdit.unitUpdate() def showColorDlg(self): """Show the color change dialog. """ self.colorSet.showDialog(self) def showFontDlg(self): """Show the custom font dialog. """ dialog = fontset.CustomFontDialog(self.sysFont, self.guiFont, self) if dialog.exec_() == QDialog.Accepted: newFont = dialog.resultingFont() if newFont: self.option.changeData('GuiFont', newFont.toString(), True) self.guiFont = newFont else: # use system font self.option.changeData('GuiFont', '', True) self.guiFont = None newFont = self.sysFont QApplication.setFont(newFont) def showBases(self): """Show the dialog for base conversions. """ if not self.basesDialog: self.basesDialog = bases.BasesDialog() self.basesDialog.show() def showFractions(self): """Show the dialog for fraction conversions. """ if not self.fractionDialog: self.fractionDialog = bases.FractionDialog() self.fractionDialog.show() def findHelpFile(self): """Return the path to the help file. """ modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip'): # for py2exe modPath = os.path.dirname(modPath) pathList = [helpFilePath, os.path.join(modPath, '../doc/'), modPath, os.path.join(modPath, 'doc/')] fileList = ['README.html'] if lang and lang != 'C': fileList[0:0] = ['README_{0}.html'.format(lang), 'README_{0}.html'.format(lang[:2])] for path in [path for path in pathList if path]: for fileName in fileList: fullPath = os.path.join(path, fileName) if os.access(fullPath, os.R_OK): return fullPath return '' def help(self): """View the ReadMe file. """ if not self.helpView: path = self.findHelpFile() if not path: QMessageBox.warning(self, 'ConvertAll', _('Read Me file not found')) return self.helpView = helpview.HelpView(path, _('ConvertAll README File'), self.icons) self.helpView.show() def about(self): """Show about info. """ QMessageBox.about(self, 'ConvertAll', _('ConvertAll Version {0}\nby {1}'). format(__version__, __author__)) def closeEvent(self, event): """Save window data on close. """ if self.option.boolData('RemenberDlgPos'): contentsRect = self.geometry() frameRect = self.frameGeometry() self.option.changeData('MainDlgXSize', contentsRect.width(), True) self.option.changeData('MainDlgYSize', contentsRect.height(), True) self.option.changeData('MainDlgXPos', contentsRect.x(), True) self.option.changeData('MainDlgYPos', contentsRect.y(), True) self.option.changeData('MainDlgTopMargin', contentsRect.y() - frameRect.y(), True) self.option.changeData('MainDlgOtherMargin', contentsRect.x() - frameRect.x(), True) self.recentUnits.writeList() self.option.writeChanges() event.accept() class TipDialog(QDialog): """Show a static usage tip at startup by default. """ def __init__(self, option, parent=None): super().__init__(parent) self.option = option self.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) self.setWindowTitle(_('Convertall - Tip')) topLayout = QVBoxLayout(self) self.setLayout(topLayout) box = QGroupBox(_('Combining Units')) topLayout.addWidget(box) boxLayout = QVBoxLayout(box) label = QLabel(self) label.setTextFormat(Qt.RichText) label.setText(_('

ConvertAll\'s strength is the ability to combine ' 'units:

' '
  • Enter "m/s" to get meters per second
  • ' '
  • Enter "ft*lbf" to get foot-pounds (torque)
  • ' '
  • Enter "in^2" to get square inches
  • ' '
  • Enter "m^3" to get cubic meters
  • ' '
  • or any other combinations you can imagine
  • ' '
')) boxLayout.addWidget(label) ctrlLayout = QHBoxLayout() topLayout.addLayout(ctrlLayout) self.showCheck = QCheckBox(_('Show this tip at startup'), self) self.showCheck.setChecked(True) ctrlLayout.addWidget(self.showCheck) ctrlLayout.addStretch() okButton = QPushButton(_('&OK'), self) ctrlLayout.addWidget(okButton) okButton.clicked.connect(self.accept) def accept(self): """Called by dialog when OK button pressed. """ if not self.showCheck.isChecked(): self.option.changeData('ShowStartupTip', 'no', True) super().accept() ConvertAll-0.8.0/source/fontset.py000066400000000000000000000231241363574405500171420ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # fontset.py, provides storage/retrieval and a dialog for custom fonts # # ConvertAll, a units conversion program # Copyright (C) 2019, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** from PyQt5.QtCore import (QSize, Qt) from PyQt5.QtGui import (QFontDatabase, QFontInfo, QIntValidator) from PyQt5.QtWidgets import (QAbstractItemView, QCheckBox, QDialog, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, QListWidget, QPushButton, QVBoxLayout) class CustomFontDialog(QDialog): """Dialog for selecting a custom font. """ def __init__(self, sysFont, currentFont=None, parent=None): """Create a font customization dialog. """ super().__init__(parent) self.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowCloseButtonHint) self.setWindowTitle(_('Customize Font')) self.sysFont = sysFont self.currentFont = currentFont topLayout = QVBoxLayout(self) self.setLayout(topLayout) defaultBox = QGroupBox(_('Default Font')) topLayout.addWidget(defaultBox) defaultLayout = QVBoxLayout(defaultBox) self.defaultCheck = QCheckBox(_('&Use system default font')) defaultLayout.addWidget(self.defaultCheck) self.defaultCheck.setChecked(self.currentFont == None) self.defaultCheck.clicked.connect(self.setFontSelectAvail) self.fontBox = QGroupBox(_('Select Font')) topLayout.addWidget(self.fontBox) fontLayout = QGridLayout(self.fontBox) spacing = fontLayout.spacing() fontLayout.setSpacing(0) label = QLabel(_('&Font')) fontLayout.addWidget(label, 0, 0) label.setIndent(2) self.familyEdit = QLineEdit() fontLayout.addWidget(self.familyEdit, 1, 0) self.familyEdit.setReadOnly(True) self.familyList = SmallListWidget() fontLayout.addWidget(self.familyList, 2, 0) label.setBuddy(self.familyList) self.familyEdit.setFocusProxy(self.familyList) fontLayout.setColumnMinimumWidth(1, spacing) families = [family for family in QFontDatabase().families()] families.sort(key=str.lower) self.familyList.addItems(families) self.familyList.currentItemChanged.connect(self.updateFamily) label = QLabel(_('Font st&yle')) fontLayout.addWidget(label, 0, 2) label.setIndent(2) self.styleEdit = QLineEdit() fontLayout.addWidget(self.styleEdit, 1, 2) self.styleEdit.setReadOnly(True) self.styleList = SmallListWidget() fontLayout.addWidget(self.styleList, 2, 2) label.setBuddy(self.styleList) self.styleEdit.setFocusProxy(self.styleList) fontLayout.setColumnMinimumWidth(3, spacing) self.styleList.currentItemChanged.connect(self.updateStyle) label = QLabel(_('Si&ze')) fontLayout.addWidget(label, 0, 4) label.setIndent(2) self.sizeEdit = QLineEdit() fontLayout.addWidget(self.sizeEdit, 1, 4) self.sizeEdit.setFocusPolicy(Qt.ClickFocus) validator = QIntValidator(1, 512, self) self.sizeEdit.setValidator(validator) self.sizeList = SmallListWidget() fontLayout.addWidget(self.sizeList, 2, 4) label.setBuddy(self.sizeList) self.sizeList.currentItemChanged.connect(self.updateSize) fontLayout.setColumnStretch(0, 30) fontLayout.setColumnStretch(2, 25) fontLayout.setColumnStretch(4, 10) sampleBox = QGroupBox(_('Sample')) topLayout.addWidget(sampleBox) sampleLayout = QVBoxLayout(sampleBox) self.sampleEdit = QLineEdit() sampleLayout.addWidget(self.sampleEdit) self.sampleEdit.setAlignment(Qt.AlignCenter) self.sampleEdit.setText(_('AaBbCcDdEeFfGg...TtUuVvWvXxYyZz')) self.sampleEdit.setFixedHeight(self.sampleEdit.sizeHint().height() * 2) ctrlLayout = QHBoxLayout() topLayout.addLayout(ctrlLayout) ctrlLayout.addStretch() self.okButton = QPushButton(_('&OK')) ctrlLayout.addWidget(self.okButton) self.okButton.clicked.connect(self.accept) cancelButton = QPushButton(_('&Cancel')) ctrlLayout.addWidget(cancelButton) cancelButton.clicked.connect(self.reject) self.setFontSelectAvail() def setFontSelectAvail(self): """Disable font selection if default font is checked. Also set the controls with the current or default fonts. """ if self.currentFont and not self.defaultCheck.isChecked(): self.setFont(self.currentFont) else: self.setFont(self.sysFont) self.fontBox.setEnabled(not self.defaultCheck.isChecked()) def setFont(self, font): """Set the font selector to the given font. Arguments: font -- the QFont to set. """ fontInfo = QFontInfo(font) family = fontInfo.family() matches = self.familyList.findItems(family, Qt.MatchExactly) if matches: self.familyList.setCurrentItem(matches[0]) self.familyList.scrollToItem(matches[0], QAbstractItemView.PositionAtTop) style = QFontDatabase().styleString(fontInfo) matches = self.styleList.findItems(style, Qt.MatchExactly) if matches: self.styleList.setCurrentItem(matches[0]) self.styleList.scrollToItem(matches[0]) else: self.styleList.setCurrentRow(0) self.styleList.scrollToItem(self.styleList.currentItem()) size = repr(fontInfo.pointSize()) matches = self.sizeList.findItems(size, Qt.MatchExactly) if matches: self.sizeList.setCurrentItem(matches[0]) self.sizeList.scrollToItem(matches[0]) def updateFamily(self, currentItem, previousItem): """Update the family edit box and adjust the style and size options. Arguments: currentItem -- the new list widget family item previousItem -- the previous list widget item """ family = currentItem.text() self.familyEdit.setText(family) if self.familyEdit.hasFocus(): self.familyEdit.selectAll() prevStyle = self.styleEdit.text() prevSize = self.sizeEdit.text() fontDb = QFontDatabase() styles = [style for style in fontDb.styles(family)] self.styleList.clear() self.styleList.addItems(styles) if prevStyle: try: num = styles.index(prevStyle) except ValueError: num = 0 self.styleList.setCurrentRow(num) self.styleList.scrollToItem(self.styleList.currentItem()) sizes = [repr(size) for size in fontDb.pointSizes(family)] self.sizeList.clear() self.sizeList.addItems(sizes) if prevSize: try: num = sizes.index(prevSize) except ValueError: num = 0 self.sizeList.setCurrentRow(num) self.sizeList.scrollToItem(self.sizeList.currentItem()) self.updateSample() def updateStyle(self, currentItem, previousItem): """Update the style edit box. Arguments: currentItem -- the new list widget style item previousItem -- the previous list widget item """ if currentItem: style = currentItem.text() self.styleEdit.setText(style) if self.styleEdit.hasFocus(): self.styleEdit.selectAll() self.updateSample() def updateSize(self, currentItem, previousItem): """Update the size edit box. Arguments: currentItem -- the new list widget size item previousItem -- the previous list widget item """ if currentItem: size = currentItem.text() self.sizeEdit.setText(size) if self.sizeEdit.hasFocus(): self.sizeEdit.selectAll() self.updateSample() def updateSample(self): """Update the font sample edit font. """ font = self.readFont() if font: self.sampleEdit.setFont(font) def readFont(self): """Return the selected font or None. """ family = self.familyEdit.text() style = self.styleEdit.text() size = self.sizeEdit.text() if family and style and size: return QFontDatabase().font(family, style, int(size)) return None def resultingFont(self): """Return the selected font or None if system font. """ if self.defaultCheck.isChecked(): return None return self.readFont() class SmallListWidget(QListWidget): """ListWidget with a smaller size hint. """ def __init__(self, parent=None): """Initialize the widget. Arguments: parent -- the parent, if given """ super().__init__(parent) def sizeHint(self): """Return smaller width. """ itemHeight = self.visualItemRect(self.item(0)).height() return QSize(100, itemHeight * 6) ConvertAll-0.8.0/source/helpview.py000066400000000000000000000120111363574405500172740ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # helpview.py, provides a window for viewing an html help file # # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import os.path import sys import webbrowser from PyQt5.QtCore import (QUrl, Qt) from PyQt5.QtGui import QTextDocument from PyQt5.QtWidgets import (QAction, QLabel, QLineEdit, QMainWindow, QMenu, QStatusBar, QTextBrowser) class HelpView(QMainWindow): """Main window for viewing an html help file. """ def __init__(self, path, caption, icons, parent=None): """Helpview initialize with text. """ QMainWindow.__init__(self, parent) self.setAttribute(Qt.WA_QuitOnClose, False) self.setWindowFlags(Qt.Window) self.setStatusBar(QStatusBar()) self.textView = HelpViewer(self) self.setCentralWidget(self.textView) path = os.path.abspath(path) if sys.platform.startswith('win'): path = path.replace('\\', '/') self.textView.setSearchPaths([os.path.dirname(path)]) self.textView.setSource(QUrl('file:///{0}'.format(path))) self.resize(520, 440) self.setWindowTitle(caption) tools = self.addToolBar('Tools') self.menu = QMenu(self.textView) self.textView.highlighted[str].connect(self.showLink) backAct = QAction(_('&Back'), self) backAct.setIcon(icons['helpback']) tools.addAction(backAct) self.menu.addAction(backAct) backAct.triggered.connect(self.textView.backward) backAct.setEnabled(False) self.textView.backwardAvailable.connect(backAct.setEnabled) forwardAct = QAction(_('&Forward'), self) forwardAct.setIcon(icons['helpforward']) tools.addAction(forwardAct) self.menu.addAction(forwardAct) forwardAct.triggered.connect(self.textView.forward) forwardAct.setEnabled(False) self.textView.forwardAvailable.connect(forwardAct.setEnabled) homeAct = QAction(_('&Home'), self) homeAct.setIcon(icons['helphome']) tools.addAction(homeAct) self.menu.addAction(homeAct) homeAct.triggered.connect(self.textView.home) tools.addSeparator() tools.addSeparator() findLabel = QLabel(' {0}: '.format(_('Find')), self) tools.addWidget(findLabel) self.findEdit = QLineEdit(self) tools.addWidget(self.findEdit) self.findEdit.textEdited.connect(self.findTextChanged) self.findEdit.returnPressed.connect(self.findNext) self.findPreviousAct = QAction(_('Find &Previous'), self) self.findPreviousAct.setIcon(icons['helpprevious']) tools.addAction(self.findPreviousAct) self.menu.addAction(self.findPreviousAct) self.findPreviousAct.triggered.connect(self.findPrevious) self.findPreviousAct.setEnabled(False) self.findNextAct = QAction(_('Find &Next'), self) self.findNextAct.setIcon(icons['helpnext']) tools.addAction(self.findNextAct) self.menu.addAction(self.findNextAct) self.findNextAct.triggered.connect(self.findNext) self.findNextAct.setEnabled(False) def showLink(self, text): """Send link text to the statusbar. """ self.statusBar().showMessage(text) def findTextChanged(self, text): """Update find controls based on text in text edit. """ self.findPreviousAct.setEnabled(len(text) > 0) self.findNextAct.setEnabled(len(text) > 0) def findPrevious(self): """Command to find the previous string. """ if self.textView.find(self.findEdit.text(), QTextDocument.FindBackward): self.statusBar().clearMessage() else: self.statusBar().showMessage(_('Text string not found')) def findNext(self): """Command to find the next string. """ if self.textView.find(self.findEdit.text()): self.statusBar().clearMessage() else: self.statusBar().showMessage(_('Text string not found')) class HelpViewer(QTextBrowser): """Shows an html help file. """ def __init__(self, parent=None): QTextBrowser.__init__(self, parent) def setSource(self, url): """Called when user clicks on a URL. """ name = url.toString() if name.startswith('http'): webbrowser.open(name, True) else: QTextBrowser.setSource(self, QUrl(name)) def contextMenuEvent(self, event): """Init popup menu on right click"". """ self.parentWidget().menu.exec_(event.globalPos()) ConvertAll-0.8.0/source/icondict.py000066400000000000000000000053321363574405500172550ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # icondict.py, provides a class to load and store icons # # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import os.path from PyQt5.QtGui import (QIcon, QPixmap) class IconDict(dict): """Stores icons by name, loads on demand. """ iconExt = ['.png', '.bmp'] def __init__(self): dict.__init__(self, {}) self.pathList = [] def addIconPath(self, potentialPaths): """Add first good path from potentialPaths. """ for path in potentialPaths: try: for name in os.listdir(path): pixmap = QPixmap(os.path.join(path, name)) if not pixmap.isNull(): self.pathList.append(path) return except OSError: pass def __getitem__(self, name): """Return icon, loading if necessary. """ try: return dict.__getitem__(self, name) except KeyError: icon = self.loadIcon(name) if not icon: raise return icon def loadAllIcons(self): """Load all icons available in self.pathList. """ self.clear() for path in self.pathList: try: for name in os.listdir(path): pixmap = QPixmap(os.path.join(path, name)) if not pixmap.isNull(): name = os.path.splitext(name)[0] try: icon = self[name] except KeyError: icon = QIcon() self[name] = icon icon.addPixmap(pixmap) except OSError: pass def loadIcon(self, iconName): """Load icon from iconPath, add to dictionary and return the icon. """ icon = QIcon() for path in self.pathList: for ext in IconDict.iconExt: fileName = iconName + ext pixmap = QPixmap(os.path.join(path, fileName)) if not pixmap.isNull(): icon.addPixmap(pixmap) if not icon.isNull(): self[iconName] = icon return icon return None ConvertAll-0.8.0/source/numedit.py000066400000000000000000000117751363574405500171360ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # numedit.py, provides a number entry editor # # ConvertAll, a units conversion program # Copyright (C) 2019, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import re import sys from PyQt5.QtCore import pyqtSignal from PyQt5.QtGui import QValidator from PyQt5.QtWidgets import (QLineEdit, QMessageBox) import unitdata class NumEdit(QLineEdit): """Number entry editor. """ convertRqd = pyqtSignal() convertNum = pyqtSignal(str) gotFocus = pyqtSignal() def __init__(self, thisUnit, otherUnit, label, status, recentUnits, primary, parent=None): super().__init__(parent) self.thisUnit = thisUnit self.otherUnit = otherUnit self.label = label self.status = status self.recentUnits = recentUnits self.primary = primary self.onLeft = primary self.setValidator(FloatExprValidator(self)) self.setText(self.thisUnit.formatNumStr(1.0)) self.textEdited.connect(self.convert) def unitUpdate(self): """Update the editor and labels based on a unit change. """ if self.thisUnit.groupValid(): self.label.setText(self.thisUnit.unitString()) if self.otherUnit.groupValid(): try: self.thisUnit.reduceGroup() self.otherUnit.reduceGroup() except unitdata.UnitDataError as text: QMessageBox.warning(self, 'ConvertAll', _('Error in unit data - {0}'). format(text)) return if self.thisUnit.categoryMatch(self.otherUnit): self.status.setText(_('Converting...')) if self.primary: self.convert() else: self.convertRqd.emit() return if self.onLeft: self.status.setText(_('Units are not compatible ' '({0} vs. {1})'). format(self.thisUnit.compatStr(), self.otherUnit.compatStr())) else: self.status.setText(_('Units are not compatible ' '({0} vs. {1})'). format(self.otherUnit.compatStr(), self.thisUnit.compatStr())) else: self.status.setText(_('Set units')) else: self.status.setText(_('Set units')) self.label.setText(_('No Unit Set')) self.setEnabled(False) self.convertNum.emit('') def convert(self): """Do conversion with self primary. """ self.primary = True self.setEnabled(True) if self.onLeft: self.recentUnits.addEntry(self.otherUnit.unitString()) self.recentUnits.addEntry(self.thisUnit.unitString()) else: self.recentUnits.addEntry(self.thisUnit.unitString()) self.recentUnits.addEntry(self.otherUnit.unitString()) try: num = float(eval(self.text())) except: self.convertNum.emit('') return try: numText = self.thisUnit.convertStr(num, self.otherUnit) self.convertNum.emit(numText) except unitdata.UnitDataError as text: QMessageBox.warning(self, 'ConvertAll', _('Error in unit data - {0}'). format(text)) def setNum(self, numText): """Set text based on conversion from other number editor. """ if not numText: self.setEnabled(False) else: self.primary = False self.setEnabled(True) self.setText(numText) def focusInEvent(self, event): """Signal that this number editor received focus. """ super().focusInEvent(event) self.gotFocus.emit() class FloatExprValidator(QValidator): """Validator for float python expressions typed into NumEdit. """ invalidRe = re.compile(r'[^\d\.eE\+\-\*/\(\) ]') def __init__(self, parent): super().__init__(parent) def validate(self, inputStr, pos): """Check for valid characters in entry. """ if FloatExprValidator.invalidRe.search(inputStr): return (QValidator.Invalid, inputStr, pos) return (QValidator.Acceptable, inputStr, pos) ConvertAll-0.8.0/source/option.py000066400000000000000000000161171363574405500167740ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # option.py, provides classes to read and set user preferences # # Copyright (C) 2014, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys import os.path class Option: """Stores and retrieves string options. """ def __init__(self, baseFileName, keySpaces=20): self.path = '' if baseFileName: if sys.platform.startswith('win'): fileName = '{0}.ini'.format(baseFileName) userPath = os.environ.get('APPDATA', '') if userPath: userPath = os.path.join(userPath, 'bellz', baseFileName) else: fileName = '.{0}'.format(baseFileName) userPath = os.environ.get('HOME', '') self.path = os.path.join(userPath, fileName) if not os.path.exists(self.path): modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip') or modPath.endswith('.exe'): modPath = os.path.dirname(modPath) # for py2exe/cx_freeze self.path = os.path.join(modPath, fileName) if not os.access(self.path, os.W_OK): self.path = os.path.join(userPath, fileName) if not os.path.exists(userPath): try: os.makedirs(userPath) except OSError: print('Error - could not write to config dir') self.path = '' self.keySpaces = keySpaces self.dfltDict = {} self.userDict = {} self.dictList = (self.userDict, self.dfltDict) self.chgList = [] def loadAll(self, defaultList): """Reads defaultList & file, writes file if required return true if file read. """ self.loadSet(defaultList, self.dfltDict) if self.path: try: with open(self.path, 'r', encoding='utf-8') as f: self.loadSet(f.readlines(), self.userDict) return True except IOError: try: with open(self.path, 'w', encoding='utf-8') as f: f.writelines([line + '\n' for line in defaultList]) except IOError: print('Error - could not write to config file', self.path) self.path = '' return False def loadSet(self, list, data): """Reads settings from list into dict. """ for line in list: line = line.split('#', 1)[0].strip() if line: item = line.split(None, 1) + [''] # add value if blank data[item[0]] = item[1].strip() def addData(self, key, strData, storeChange=0): """Add new entry, add to write list if storeChange. """ self.userDict[key] = strData if storeChange: self.chgList.append(key) def boolData(self, key): """Returns true or false from yes or no in option data. """ for data in self.dictList: val = data.get(key) if val and val[0] in ('y', 'Y'): return True if val and val[0] in ('n', 'N'): return False print('Option error - bool key', key, 'is not valid') return False def numData(self, key, min=None, max=None): """Return float from option data. """ for data in self.dictList: val = data.get(key) if val: try: num = float(val) if (min == None or num >= min) and \ (max == None or num <= max): return num except ValueError: pass print('Option error - float key', key, 'is not valid') return 0 def intData(self, key, min=None, max=None): """Return int from option data. """ for data in self.dictList: val = data.get(key) if val: try: num = int(val) if (min == None or num >= min) and \ (max == None or num <= max): return num except ValueError: pass print('Option error - int key', key, 'is not valid') return 0 def strData(self, key, emptyOk=0): """Return string from option data. """ for data in self.dictList: val = data.get(key) if val != None: if val or emptyOk: return val print('Option error - string key', key, 'is not valid') return '' def changeData(self, key, strData, storeChange): """Change entry, add to write list if storeChange Return true if changed. """ for data in self.dictList: val = data.get(key) if val != None: if strData == val: # no change reqd return False self.userDict[key] = strData if storeChange: self.chgList.append(key) return True print('Option error - key', key, 'is not valid') return False def writeChanges(self): """Write any stored changes to the option file - rtn true on success. """ if self.path and self.chgList: try: with open(self.path, 'r', encoding='utf-8') as f: fileList = f.readlines() for key in self.chgList[:]: hitList = [line for line in fileList if line.strip().split(None, 1)[:1] == [key]] if not hitList: hitList = [line for line in fileList if line.replace('#', ' ', 1).strip(). split(None, 1)[:1] == [key]] if hitList: fileList[fileList.index(hitList[-1])] = '{0}{1}\n'.\ format(key.ljust(self.keySpaces), self.userDict[key]) self.chgList.remove(key) for key in self.chgList: fileList.append('{0}{1}\n'.format(key.ljust(self.keySpaces), self.userDict[key])) with open(self.path, 'w', encoding='utf-8') as f: f.writelines([line for line in fileList]) return True except IOError: print('Error - could not write to config file', self.path) return False ConvertAll-0.8.0/source/optiondefaults.py000066400000000000000000000037241363574405500205240ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # optiondefaults.py, provides defaults for program options # # ConvertAll, a units conversion program # Copyright (C) 2020, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** defaultList = [ "# Options for the ConvertAll unit conversion program", "#", "# All options are set from within the program,", "# editing here is not recommended", "#", "ColorTheme system", "WindowColor ", "WindowTextColor ", "BaseColor ", "TextColor ", "HighlightColor ", "HighlightedTextColor ", "ButtonColor ", "ButtonTextColor ", "Text-DisabledColor ", "ButtonText-DisabledColor ", "GuiFont ", "#", "DecimalPlaces 8", "Notation general", "ShowOpButtons yes", "ShowUnitButtons yes", "RecentUnits 8", "LoadLastUnit no", "ShowStartupTip yes", "RemenberDlgPos yes", "#", "MainDlgXSize 0", "MainDlgYSize 0", "MainDlgXPos 0", "MainDlgYPos 0", "MainDlgTopMargin 0", "MainDlgOtherMargin 0", "#", "RecentUnit1 ", "RecentUnit2 ", "RecentUnit3 ", "RecentUnit4 ", "RecentUnit5 ", "RecentUnit6 ", "RecentUnit7 ", "RecentUnit8 "] ConvertAll-0.8.0/source/optiondlg.py000066400000000000000000000211341363574405500174560ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # optiondlg.py, provides classes for option setting dialogs # # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import (QDoubleValidator, QValidator) from PyQt5.QtWidgets import (QButtonGroup, QCheckBox, QDialog, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, QPushButton, QRadioButton, QSpinBox, QVBoxLayout) class OptionDlg(QDialog): """Works with Option class to provide a dialog for pref/options. """ def __init__(self, option, parent=None): QDialog.__init__(self, parent) self.setWindowFlags(Qt.Dialog | Qt.WindowTitleHint | Qt.WindowSystemMenuHint) self.option = option topLayout = QVBoxLayout(self) self.setLayout(topLayout) self.columnLayout = QHBoxLayout() topLayout.addLayout(self.columnLayout) self.gridLayout = QGridLayout() self.columnLayout.addLayout(self.gridLayout) self.oldLayout = self.gridLayout ctrlLayout = QHBoxLayout() topLayout.addLayout(ctrlLayout) ctrlLayout.addStretch(0) okButton = QPushButton(_('&OK'), self) ctrlLayout.addWidget(okButton) okButton.clicked.connect(self.accept) cancelButton = QPushButton(_('&Cancel'), self) ctrlLayout.addWidget(cancelButton) cancelButton.clicked.connect(self.reject) self.setWindowTitle(_('Preferences')) self.itemList = [] self.curGroup = None def addItem(self, dlgItem, widget, label=None): """Add a control with optional label, called by OptionDlgItem. """ row = self.gridLayout.rowCount() if label: self.gridLayout.addWidget(label, row, 0) self.gridLayout.addWidget(widget, row, 1) else: self.gridLayout.addWidget(widget, row, 0, 1, 2) self.itemList.append(dlgItem) def startGroupBox(self, title, intSpace=5): """Use a group box for next added items. """ self.curGroup = QGroupBox(title, self) row = self.oldLayout.rowCount() self.oldLayout.addWidget(self.curGroup, row, 0, 1, 2) self.gridLayout = QGridLayout(self.curGroup) self.gridLayout.setVerticalSpacing(intSpace) def endGroupBox(self): """Cancel group box for next added items. """ self.gridLayout = self.oldLayout self.curGroup = None def startNewColumn(self): """Cancel any group box and start a second column. """ self.curGroup = None row = self.oldLayout.rowCount() self.gridLayout = QGridLayout() self.columnLayout.addLayout(self.gridLayout) self.oldLayout = self.gridLayout def parentGroup(self): """Return parent for new widgets. """ if self.curGroup: return self.curGroup return self def accept(self): """Called by dialog when OK button pressed. """ for item in self.itemList: item.updateData() QDialog.accept(self) class OptionDlgItem: """Base class for items to add to dialog. """ def __init__(self, dlg, key, writeChg): self.dlg = dlg self.key = key self.writeChg = writeChg self.control = None def updateData(self): """Dummy update function. """ pass class OptionDlgBool(OptionDlgItem): """Holds widget for bool checkbox. """ def __init__(self, dlg, key, menuText, writeChg=True): OptionDlgItem.__init__(self, dlg, key, writeChg) self.control = QCheckBox(menuText, dlg.parentGroup()) self.control.setChecked(dlg.option.boolData(key)) dlg.addItem(self, self.control) def updateData(self): """Update Option class based on checkbox status. """ if self.control.isChecked() != self.dlg.option.boolData(self.key): if self.control.isChecked(): self.dlg.option.changeData(self.key, 'yes', self.writeChg) else: self.dlg.option.changeData(self.key, 'no', self.writeChg) class OptionDlgInt(OptionDlgItem): """Holds widget for int spinbox. """ def __init__(self, dlg, key, menuText, min, max, writeChg=True, step=1, wrap=False, suffix=''): OptionDlgItem.__init__(self, dlg, key, writeChg) label = QLabel(menuText, dlg.parentGroup()) self.control = QSpinBox(dlg.parentGroup()) self.control.setMinimum(min) self.control.setMaximum(max) self.control.setSingleStep(step) self.control.setWrapping(wrap) self.control.setSuffix(suffix) self.control.setValue(dlg.option.intData(key, min, max)) dlg.addItem(self, self.control, label) def updateData(self): """Update Option class based on spinbox status. """ if self.control.value() != int(self.dlg.option.numData(self.key)): self.dlg.option.changeData(self.key, repr(self.control.value()), self.writeChg) class OptionDlgDbl(OptionDlgItem): """Holds widget for double line edit. """ def __init__(self, dlg, key, menuText, min, max, writeChg=True): OptionDlgItem.__init__(self, dlg, key, writeChg) label = QLabel(menuText, dlg.parentGroup()) self.control = QLineEdit(repr(dlg.option.numData(key, min, max)), dlg.parentGroup()) valid = QDoubleValidator(min, max, 6, self.control) self.control.setValidator(valid) dlg.addItem(self, self.control, label) def updateData(self): """Update Option class based on edit status. """ text = self.control.text() unusedPos = 0 if self.control.validator().validate(text, unusedPos)[0] != \ QValidator.Acceptable: return num = float(text) if num != self.dlg.option.numData(self.key): self.dlg.option.changeData(self.key, repr(num), self.writeChg) class OptionDlgStr(OptionDlgItem): """Holds widget for string line edit. """ def __init__(self, dlg, key, menuText, writeChg=True): OptionDlgItem.__init__(self, dlg, key, writeChg) label = QLabel(menuText, dlg.parentGroup()) self.control = QLineEdit(dlg.option.strData(key, True), dlg.parentGroup()) dlg.addItem(self, self.control, label) def updateData(self): """Update Option class based on edit status. """ newStr = self.control.text() if newStr != self.dlg.option.strData(self.key, True): self.dlg.option.changeData(self.key, newStr, self.writeChg) class OptionDlgRadio(OptionDlgItem): """Holds widget for exclusive radio button group. """ def __init__(self, dlg, key, headText, textList, writeChg=True): # textList is list of tuples: optionText, labelText OptionDlgItem.__init__(self, dlg, key, writeChg) self.optionList = [x[0] for x in textList] buttonBox = QGroupBox(headText, dlg.parentGroup()) self.control = QButtonGroup(buttonBox) layout = QVBoxLayout(buttonBox) buttonBox.setLayout(layout) optionSetting = dlg.option.strData(key) id = 0 for optionText, labelText in textList: button = QRadioButton(labelText, buttonBox) layout.addWidget(button) self.control.addButton(button, id) id += 1 if optionText == optionSetting: button.setChecked(True) dlg.addItem(self, buttonBox) def updateData(self): """Update Option class based on button status. """ data = self.optionList[self.control.checkedId()] if data != self.dlg.option.strData(self.key): self.dlg.option.changeData(self.key, data, self.writeChg) class OptionDlgPush(OptionDlgItem): """Holds widget for extra misc. push button. """ def __init__(self, dlg, text, cmd): OptionDlgItem.__init__(self, dlg, '', 0) self.control = QPushButton(text, dlg.parentGroup()) self.control.clicked.connect(cmd) dlg.addItem(self, self.control) ConvertAll-0.8.0/source/recentunits.py000066400000000000000000000037751363574405500200350ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # recentunits.py, provides a list of recently used units # # ConvertAll, a units conversion program # Copyright (C) 2014, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** class RecentUnits(list): """A list of recent unit combo names. """ def __init__(self, options): list.__init__(self) self.options = options self.updateQuantity() self.loadList() def updateQuantity(self): """Update number of entries from options. """ self.numEntries = self.options.intData('RecentUnits', 0, 99) del self[self.numEntries:] def loadList(self): """Load recent units from option file. """ self[:] = [] for num in range(self.numEntries): name = self.options.strData(self.optionTitle(num), True) if name: self.append(name) def writeList(self): """Write list of paths to options. """ for num in range(self.numEntries): try: name = self[num] except IndexError: name = '' self.options.changeData(self.optionTitle(num), name, True) self.options.writeChanges() def addEntry(self, name): """Move name to start if found, otherwise add it. """ try: self.remove(name) except ValueError: pass self.insert(0, name) del self[self.numEntries:] def optionTitle(self, num): """Return option key for the given nummber. """ return 'RecentUnit{0}'.format(num + 1) ConvertAll-0.8.0/source/setup.py000066400000000000000000000035251363574405500166230ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # setup.py, provides a distutils script for use with cx_Freeze # # Creates a standalone windows executable # # Run the build process by running the command 'python setup.py build' # # If everything works well you should find a subdirectory in the build # subdirectory that contains the files needed to run the application # # ConvertAll, a units conversion program # Copyright (C) 2017, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys from cx_Freeze import setup, Executable from convertall import __version__ base = None if sys.platform == 'win32': base = 'Win32GUI' extraFiles = [('../data', 'data'), ('../doc', 'doc'), ('../icons', 'icons'), ('../source', 'source'), ('../translations', 'translations'), ('../win', '.')] setup(name = 'convertall', version = __version__, description = 'ConvertAll, a units conversion program', options = {'build_exe': {'includes': 'atexit', 'include_files': extraFiles, 'excludes': ['*.pyc'], 'zip_include_packages': ['*'], 'zip_exclude_packages': [], 'include_msvcr': True, 'build_exe': '../../convertall-0.7'}}, executables = [Executable('convertall.py', base=base, icon='../win/convertall.ico')]) ConvertAll-0.8.0/source/unitatom.py000066400000000000000000000120501363574405500173140ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # unitatom.py, provides class to hold data on each available unit # # ConvertAll, a units conversion program # Copyright (C) 2017, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import re import copy import unitdata class UnitDatum: """Reads and stores data for a single unit, without an exponent. """ badOpRegEx = re.compile(r'[^\d\.eE\+\-\*/]') eqnRegEx = re.compile(r'\[(.*?)\](.*)') def __init__(self, dataStr): """Initialize with a string from the data file. """ dataList = dataStr.split('#') unitList = dataList.pop(0).split('=', 1) self.name = unitList.pop(0).strip() self.equiv = '' self.factor = 1.0 self.fromEqn = '' # used only for non-linear units self.toEqn = '' # used only for non-linear units if unitList: self.equiv = unitList[0].strip() if self.equiv[0] == '[': # used only for non-linear units try: self.equiv, self.fromEqn = (UnitDatum.eqnRegEx. match(self.equiv).groups()) if ';' in self.fromEqn: self.fromEqn, self.toEqn = self.fromEqn.split(';', 1) self.toEqn = self.toEqn.strip() self.fromEqn = self.fromEqn.strip() except AttributeError: raise unitdata.UnitDataError(_('Bad equation for "{0}"'). format(self.name)) else: # split factor and equiv unit for linear parts = self.equiv.split(None, 1) if (len(parts) > 1 and UnitDatum.badOpRegEx.search(parts[0]) == None): # only allowed digits and operators try: self.factor = float(eval(parts[0])) self.equiv = parts[1] except: pass self.comments = [comm.strip() for comm in dataList] self.comments.extend([''] * (2 - len(self.comments))) self.keyWords = self.name.lower().split() self.viewLink = None self.typeName = '' def description(self): """Return name and 1st comment (usu. full name) if applicable. """ if self.comments[0]: return '{0} ({1})'.format(self.name, self.comments[0]) return self.name def columnText(self, colNum): """Return text for given column number in the list view. """ if colNum == 0: return self.description() if colNum == 1: return self.typeName return self.comments[1] def partialMatch(self, wordList): """Return True if parts of name start with items from wordList. """ for word in wordList: for key in self.keyWords: if key.startswith(word): return True return False def __lt__(self, other): """Less than comparison for sorting. """ return self.name.lower() < other.name.lower() def __eq__(self, other): """Equality test. """ return self.name.lower() == other.name.lower() class UnitAtom: """Stores a unit datum or a temporary name with an exponent. """ invalidExp = 1000 def __init__(self, name='', unitDatum = None): """Initialize with either a text name or a unitDatum. """ self.datum = None self.unitName = name self.exp = 1 self.partialExp = '' # starts with '^' for incomplete exp if unitDatum: self.datum = unitDatum self.unitName = unitDatum.name def unitValid(self): """Return True if unit and exponent are valid. """ if (self.datum and self.datum.equiv and abs(self.exp) < UnitAtom.invalidExp): return True return False def unitText(self, absExp=False): """Return text for unit name with exponent or absolute value of exp. """ exp = self.exp if absExp: exp = abs(self.exp) if self.partialExp: return '{0}{1}'.format(self.unitName, self.partialExp) if exp == 1: return self.unitName return '{0}^{1}'.format(self.unitName, exp) def __lt__(self, other): """Less than comparison for sorting. """ return self.unitName.lower() < other.unitName.lower() def __eq__(self, other): """Equality test. """ return self.unitName.lower() == other.unitName.lower() ConvertAll-0.8.0/source/unitdata.py000066400000000000000000000077671363574405500173100ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # unitdata.py, reads unit data from file # # ConvertAll, a units conversion program # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import sys import os.path import collections try: from __main__ import dataFilePath, lang except ImportError: dataFilePath = None lang = '' import unitatom class UnitDataError(Exception): """General exception for unit data problems. """ pass class UnitData(collections.OrderedDict): """Reads unit data nad stores in a dictionary based on unit name. """ def __init__(self): super().__init__() self.typeList = [] def findDataFile(self): """Search for data file, return line list or None. """ modPath = os.path.abspath(sys.path[0]) if modPath.endswith('.zip'): # for py2exe modPath = os.path.dirname(modPath) pathList = [dataFilePath, os.path.join(modPath, '../data/'), os.path.join(modPath, 'data/'), modPath] fileList = ['units.dat'] if lang and lang != 'C': fileList[0:0] = ['units_{0}.dat'.format(lang), 'units_{0}.dat'.format(lang[:2])] for path in pathList: if path: for fileName in fileList: try: with open(os.path.join(path, fileName), 'r', encoding='utf-8') as f: lineList = f.readlines() return lineList except IOError: pass raise UnitDataError(_('Can not read "units.dat" file')) def readData(self): """Read all unit data from file, return number loaded. """ lines = self.findDataFile() for i in range(len(lines) - 2, -1, -1): # join continuation lines if lines[i].rstrip().endswith('\\'): lines[i] = ''.join([lines[i].rstrip()[:-1], lines[i+1]]) lines[i+1] = '' units = [unitatom.UnitDatum(line) for line in lines if line.split('#', 1)[0].strip()] # remove comment/empty lines typeText = '' for unit in units: # find & set headings if unit.name.startswith('['): typeText = unit.name[1:-1].strip() self.typeList.append(typeText) unit.typeName = typeText units = [unit for unit in units if unit.equiv] # keep valid units for unit in sorted(units): self[unit.name.lower().replace(' ', '')] = unit if len(self) < len(units): raise UnitDataError(_('Duplicate unit names found')) self.typeList.sort() return len(units) def sortUnits(self, colNum, ascend=True): """Sort units using key from given column. """ unitDict = self.copy() self.clear() self.update(sorted(unitDict.items(), key=lambda u: u[1].columnText(colNum).lower(), reverse=not ascend)) def partialMatches(self, text): """Return list of units with names starting with parts of text. """ textList = text.lower().split() return [unit for unit in self.values() if unit.partialMatch(textList)] def findPartialMatch(self, text): """Return first partially matching unit or None. """ text = text.lower().replace(' ', '') if not text: return None for name in self.keys(): if name.startswith(text): return self[name] return None ConvertAll-0.8.0/source/unitedit.py000066400000000000000000000070141363574405500173050ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # unitedit.py, provides a line edit for unit entry # # ConvertAll, a units conversion program # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** from PyQt5.QtCore import (QEvent, Qt, pyqtSignal) from PyQt5.QtWidgets import (QLineEdit, QWidget) class UnitEdit(QLineEdit): """Text line editor for unit entry. """ unitChanged = pyqtSignal() currentChanged = pyqtSignal(QWidget) # pass line edit for focus proxy keyPressed = pyqtSignal(int) # pass key to list view for some key presses gotFocus = pyqtSignal() def __init__(self, unitGroup, parent=None): super().__init__(parent) self.unitGroup = unitGroup self.activeEditor = False; self.textEdited.connect(self.updateGroup) self.cursorPositionChanged.connect(self.updateCurrentUnit) def unitUpdate(self): """Update text from unit group. """ if not self.activeEditor: return newText = self.unitGroup.unitString() cursorPos = len(newText) - len(self.text()) + self.cursorPosition() if cursorPos < 0: # cursor set to same distance from right end cursorPos = 0 self.blockSignals(True) self.setText(newText) self.setCursorPosition(cursorPos) self.blockSignals(False) self.unitChanged.emit() def updateGroup(self): """Update unit based on edit text change (except spacing change). """ if (self.text().replace(' ', '') != self.unitGroup.unitString().replace(' ', '')): self.unitGroup.update(self.text(), self.cursorPosition()) self.currentChanged.emit(self) # update listView self.unitUpdate() # replace text with formatted text def updateCurrentUnit(self): """Change current unit based on cursor movement. """ self.unitGroup.updateCurrentUnit(self.text(), self.cursorPosition()) self.currentChanged.emit(self) # update listView def keyPressEvent(self, event): """Keys for return and up/down. """ if event.key() in (Qt.Key_Up, Qt.Key_Down, Qt.Key_PageUp, Qt.Key_PageDown, Qt.Key_Return, Qt.Key_Enter): self.keyPressed.emit(event.key()) else: super().keyPressEvent(event) def event(self, event): """Catch tab press to complete unit. """ if (event.type() == QEvent.KeyPress and event.key() == Qt.Key_Tab): # self.unitGroup.completePartial() self.currentChanged.emit(self) # update listView self.unitUpdate() return super().event(event) def setInactive(self): """Set inactive based on a signal from another editor. """ self.activeEditor = False; def focusInEvent(self, event): """Signal that this unit editor received focus. """ super().focusInEvent(event) if not self.activeEditor: self.activeEditor = True self.updateCurrentUnit() self.gotFocus.emit() ConvertAll-0.8.0/source/unitgroup.py000066400000000000000000000377261363574405500175310ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # unitgroup.py, provides a group of units and does conversions # # ConvertAll, a units conversion program # Copyright (C) 2017, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** import re from math import * import unitatom import unitdata class UnitGroup: """Stores, updates and converts a group of units. """ maxDecPlcs = 12 operRegEx = re.compile(r'[\*/]') operGroupRegEx = re.compile(r'(\(.*\)|\(.*$|[\*/])') def __init__(self, unitData, option): self.unitData = unitData self.option = option self.unitList = [] self.currentNum = 0 self.factor = 1.0 self.reducedList = [] self.linear = True self.parenthClosed = True def flatUnitList(self): """Return the units with sub-groups flattened. """ result = [] for unit in self.unitList: if hasattr(unit, 'flatUnitList'): result.extend(unit.flatUnitList()) else: result.append(unit) return result def unitGroups(self): """Return a list of this unit group and all sub-groups. """ result = [self] for group in self.unitList: if hasattr(group, 'unitGroups'): result.extend(group.unitGroups()) return result def unitGroupExpSign(self): """Return True if the first unit's exponent is positive. """ unitList = self.unitList while unitList and not hasattr(unitList[0], 'exp'): unitList = unitList[0].unitList if unitList and unitList[0].exp < 0: return False return True def currentGroupPos(self): """Return a tuple of the group and position of the current unit. """ currentUnit = self.currentUnit() if currentUnit: for group in self.unitGroups(): for i in range(len(group.unitList)): if group.unitList[i] is currentUnit: return (group, i) return (self, 0) def update(self, text, cursorPos=None): """Decode user entered text into units. """ self.unitList = self.parseGroup(text) if cursorPos != None: self.updateCurrentUnit(text, cursorPos) else: self.currentNum = len(self.flatUnitList()) - 1 def updateCurrentUnit(self, text, cursorPos): """Set current unit number. """ self.currentNum = len(UnitGroup.operRegEx.findall(text[:cursorPos])) def currentUnit(self): """Return current unit if set, o/w None. """ try: return self.flatUnitList()[self.currentNum] except IndexError: return None def replaceCurrent(self, newUnit): """Replace the current unit with unit datum. """ if self.unitList: oldUnit = self.currentUnit() group, pos = self.currentGroupPos() group.unitList[pos] = unitatom.UnitAtom('', newUnit) group.unitList[pos].exp = oldUnit.exp else: self.unitList.append(unitatom.UnitAtom('', newUnit)) def addOper(self, mult): """Add new operator & blank unit after current, * if mult is true. """ if self.unitList: group, pos = self.currentGroupPos() self.currentNum += 1 group.unitList.insert(pos + 1, unitatom.UnitAtom('')) if not mult: self.currentUnit().exp = -1 def changeExp(self, newExp): """Change the current unit's exponent. """ currentUnit = self.currentUnit() if currentUnit: if currentUnit.exp > 0: currentUnit.exp = newExp else: currentUnit.exp = -newExp def clearUnit(self): """Remove units. """ self.unitList = [] self.currentNum = 0 self.factor = 1.0 self.reducedList = [] self.linear = True def parseGroup(self, text): """Return list of units from text string. """ unitList = [] parts = [part.strip() for part in UnitGroup.operGroupRegEx.split(text) if part.strip()] numerator = True while parts: part = parts.pop(0) if part == '*' or part == '/': parts.insert(0, part) part = '' # add blank invalid unit if order wrong if part.startswith('('): part = part[1:] group = UnitGroup(self.unitData, self.option) if part.endswith(')'): part = part[:-1] else: group.parenthClosed = False group.update(part) if not group.unitList: group.unitList.append(group.parseUnit('')) if not numerator: for unit in group.flatUnitList(): unit.exp = -unit.exp unitList.append(group) else: unit = self.parseUnit(part) if not numerator: unit.exp = -unit.exp unitList.append(unit) if parts: oper = parts.pop(0) if oper == '*' or oper == '/': numerator = oper == '*' and True or False if not parts: parts.insert(0, '') # add blank invalid unit at end else: parts.insert(0, oper) # put unit back if order wrong return unitList def parseUnit(self, text): """Return a valid or invalid unit with exponent from a text string. """ parts = text.split('^', 1) exp = 1 partialExp = '' if len(parts) > 1: # has exponent expText = parts[1].strip() try: exp = int(expText) if exp == 1: partialExp = '^1' # keep for start of '1.5' elif expText == '-0': partialExp = '^-0' # keep for start of '-0.5' except ValueError: try: exp = float(expText) if expText.endswith('.'): partialExp = '^' + expText except ValueError: if expText == '.': partialExp = '^0.' elif expText == '-.': partialExp = '^-0.' elif expText.startswith('-'): partialExp = '^-' else: partialExp = '^' exp = unitatom.UnitAtom.invalidExp unitText = parts[0].strip().lower().replace(' ', '') unit = self.unitData.get(unitText) if not unit and unitText: if unitText[-1] in ('2', '3') and self.unitData.get(unitText[:-1]): unit = self.unitData.get(unitText[:-1]) exp = int(unitText[-1]) elif (unitText[-1] == 's' and not self.unitData.findPartialMatch(unitText)): # check for plural unit = self.unitData.get(unitText[:-1]) if unit: unitAtom = unitatom.UnitAtom('', unit) else: unitAtom = unitatom.UnitAtom(parts[0].strip()) # tmp invalid unit unitAtom.exp = exp unitAtom.partialExp = partialExp return unitAtom def unitString(self, unitList=None, swapExpSign=False): """Return the full string for this group or a given group. """ if unitList == None: unitList = self.unitList fullText = '' if unitList: firstUnit = True for unit in unitList: if not firstUnit: if hasattr(unit, 'exp'): expSign = unit.exp >= 0 else: expSign = unit.unitGroupExpSign() if swapExpSign: expSign = not expSign fullText = '{0} {1} '.format(fullText, expSign and '*' or '/') if hasattr(unit, 'unitText'): fullText = '{0}{1}'.format(fullText, unit.unitText(swapExpSign or not firstUnit)) else: if firstUnit and not swapExpSign: swap = False else: swap = not unit.unitGroupExpSign() fullText = '{0}({1}{2}'.format(fullText, unit.unitString(None, swap), unit.parenthClosed and ')' or '') firstUnit = False return fullText def groupValid(self): """Return True if all units are valid. """ if not self.unitList or not self.parenthClosed: return False for unit in self.unitList: if hasattr(unit, 'unitValid'): if not unit.unitValid(): return False else: if not unit.groupValid(): return False return True def reduceGroup(self): """Update reduced list of units and factor. """ self.linear = True self.reducedList = [] self.factor = 1.0 if not self.groupValid(): return count = 0 tmpList = self.flatUnitList() while tmpList: count += 1 if count > 5000: raise unitdata.UnitDataError(_('Circular unit definition')) unit = tmpList.pop(0) if unit.datum.equiv.startswith('!'): newUnit = unitatom.UnitAtom('', unit.datum) newUnit.exp = unit.exp self.reducedList.append(newUnit) elif not unit.datum.equiv: raise unitdata.UnitDataError(_('Invalid conversion for "{0}"'). format(unit.unitName)) else: if unit.datum.fromEqn: self.linear = False equivUnit = UnitGroup(self.unitData, self.option) equivUnit.update(unit.datum.equiv) newList = equivUnit.flatUnitList() for newUnit in newList: newUnit.exp *= unit.exp tmpList.extend(newList) self.factor *= unit.datum.factor**unit.exp self.reducedList.sort() tmpList = self.reducedList[:] self.reducedList = [] for unit in tmpList: if self.reducedList and unit == self.reducedList[-1]: self.reducedList[-1].exp += unit.exp else: self.reducedList.append(unit) self.reducedList = [unit for unit in self.reducedList if unit.datum.equiv != '!!' and unit.datum.name != 'unit' and unit.exp != 0] def categoryMatch(self, otherGroup): """Return True if unit types are equivalent. """ if not self.checkLinear() or not otherGroup.checkLinear(): return False return (self.reducedList == otherGroup.reducedList and [unit.exp for unit in self.reducedList] == [unit.exp for unit in otherGroup.reducedList]) def checkLinear(self): """Return True if linear or acceptable non-linear. """ if not self.linear: flatList = self.flatUnitList() if len(flatList) > 1 or flatList[0].exp != 1: return False return True def compatStr(self): """Return string with reduced unit or linear compatability problem. """ if self.checkLinear(): return self.unitString(self.reducedList) return _('Cannot combine non-linear units') def convert(self, num, toGroup): """Return num of this group converted to toGroup. """ if self.linear: num *= self.factor else: num = self.nonLinearCalc(num, 1) * self.factor if toGroup.linear: return num / toGroup.factor return toGroup.nonLinearCalc(num / toGroup.factor, 0) def nonLinearCalc(self, num, isFrom): """Return result of non-linear calculation. """ x = num try: unit = self.flatUnitList()[0] if unit.datum.toEqn: # regular equations if isFrom: return float(eval(unit.datum.fromEqn)) return float(eval(unit.datum.toEqn)) data = list(eval(unit.datum.fromEqn)) # extrapolation list if isFrom: data = [(float(group[0]), float(group[1])) for group in data] else: data = [(float(group[1]), float(group[0])) for group in data] data.sort() pos = len(data) - 1 for i in range(len(data)): if num <= data[i][0]: pos = i break if pos == 0: pos = 1 return ((num-data[pos-1][0]) / float(data[pos][0]-data[pos-1][0]) * (data[pos][1]-data[pos-1][1]) + data[pos-1][1]) except OverflowError: return 1e9999 except: raise unitdata.UnitDataError(_('Bad equation for {0}'). format(unit.datum.name)) def convertStr(self, num, toGroup): """Return formatted string of converted number. """ return self.formatNumStr(self.convert(num, toGroup)) def formatNumStr(self, num): """Return num string formatted per options. """ decPlcs = self.option.intData('DecimalPlaces', 0, UnitGroup.maxDecPlcs) notation = self.option.strData('Notation') if notation == 'fixed': return '{0:0.{prec}f}'.format(num, prec = decPlcs) if notation == 'scientific': return '{0:0.{prec}E}'.format(num, prec = decPlcs) if notation == 'engineering': try: exp = 3 * (floor(log10(abs(num))) // 3) except ValueError: # log10 of zero is undefined exp = 0 num = round(num / 10**exp, decPlcs) # check if rounding bumps exponent if abs(num) >= 1000.0: num /= 1000.0 exp += 3 return '{0:0.{prec}f}E{1:0=+3d}'.format(num, exp, prec = decPlcs) # general short representation return '{0:0.{prec}G}'.format(num, prec = decPlcs) if __name__ == '__main__': import unitdata import option options = option.Option('convertall', 20) options.loadAll(["DecimalPlaces 8", "Notation general"]) data = unitdata.UnitData() data.readData() fromText = input('Enter from unit -> ') fromUnit = UnitGroup(data, options) fromUnit.update(fromText) toText = input('Enter to unit -> ') toUnit = UnitGroup(data, options) toUnit.update(toText) print('{0} TO {1}'.format(fromUnit.unitString(), toUnit.unitString())) fromUnit.reduceGroup() toUnit.reduceGroup() print('{0} TO {1}'.format(fromUnit.unitString(fromUnit.reducedList), toUnit.unitString(toUnit.reducedList))) if not fromUnit.categoryMatch(toUnit): print('NO MATCH') else: print('MATCH') numText = input('Enter value -> ') num = float(numText) print('{0} IS {1}'.format(num, fromUnit.convert(num, toUnit))) ConvertAll-0.8.0/source/unitlistview.py000066400000000000000000000200671363574405500202310ustar00rootroot00000000000000#!/usr/bin/env python3 #**************************************************************************** # unitlistview.py, provides a list view of available units # # ConvertAll, a units conversion program # Copyright (C) 2016, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, either Version 2 or any later # version. This program is distributed in the hope that it will be useful, # but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. #***************************************************************************** from PyQt5.QtCore import (pyqtSignal, Qt, QItemSelectionModel) from PyQt5.QtGui import QPalette from PyQt5.QtWidgets import (QAbstractItemView, QApplication, QTreeWidget, QTreeWidgetItem) import re class UnitListView(QTreeWidget): """ListView of units available. """ unitChanged = pyqtSignal() haveCurrentUnit = pyqtSignal(bool, bool) # pass True if unitEdit active, then True if have unit text, o/w False def __init__(self, unitData, parent=None): super().__init__(parent) self.unitData = unitData self.highlightNum = 0 self.typeFilter = '' self.setRootIsDecorated(False) self.setColumnCount(3) self.setHeaderLabels([_('Unit Name'), _('Unit Type'), _('Comments')]) self.header().setStretchLastSection(False) self.header().setSortIndicatorShown(True) self.header().setSectionsClickable(True) self.header().setSortIndicator(0, Qt.AscendingOrder) self.header().sectionClicked.connect(self.changeSort) self.itemSelectionChanged.connect(self.replaceUnit) self.loadUnits() def loadUnits(self): """Load unit items. """ self.clear() for unit in self.unitData.values(): UnitListViewItem(unit, self) for col in range(3): self.resizeColumnToContents(col) def updateFiltering(self, focusProxy=None): """Update list after change to line editor. Set focus proxy to line editor if given (no change if None). """ if focusProxy: self.setFocusProxy(focusProxy) if self.focusProxy(): currentUnit = self.focusProxy().unitGroup.currentUnit() else: currentUnit = None self.blockSignals(True) self.clear() if currentUnit and currentUnit.unitName: for unit in self.unitData.partialMatches(currentUnit.unitName): if not self.typeFilter or unit.typeName == self.typeFilter: UnitListViewItem(unit, self) else: unit.viewLink = None if currentUnit.datum and currentUnit.datum.viewLink: self.setCurrentItem(currentUnit.datum.viewLink) self.highlightNum = self.indexOfTopLevelItem(currentUnit. datum.viewLink) else: for unit in self.unitData.values(): if not self.typeFilter or unit.typeName == self.typeFilter: UnitListViewItem(unit, self) else: unit.viewLink = None if (not self.currentItem() and self.focusProxy() and self.topLevelItemCount()): self.setHighlight(0) self.blockSignals(False) self.haveCurrentUnit.emit(bool(self.focusProxy()), bool(currentUnit and currentUnit.unitName)) def resetFiltering(self): """Clear the focus proxy and remove search filtering. """ if self.focusProxy(): self.setFocusProxy(None) self.updateFiltering() def replaceUnit(self): """Replace current unit in response to a selection change. """ selectList = self.selectedItems() if selectList: selection = selectList[-1] if self.focusProxy(): self.focusProxy().unitGroup.replaceCurrent(selection.unit) self.unitChanged.emit() # update unitEdit self.updateFiltering() else: self.setCurrentItem(None) self.setHighlight(self.indexOfTopLevelItem(selection)) def addUnitText(self): """Add exponent or operator text from push button to unit group. Autocomplete a highlighted unit if not selected. """ if self.focusProxy(): button = self.sender() text = re.match(r'.*\((.*?)\)$', button.text()).group(1) if not self.selectedItems(): item = self.topLevelItem(self.highlightNum) if item: self.setCurrentItem(item) if text.startswith('^'): self.focusProxy().unitGroup.changeExp(int(text[1:])) else: self.focusProxy().unitGroup.addOper(text == '*') self.updateFiltering() self.unitChanged.emit() def clearUnitText(self): """Remove all unit text. """ if self.focusProxy(): self.focusProxy().unitGroup.clearUnit() self.unitChanged.emit() self.updateFiltering() def setHighlight(self, num): """Set the item at row num to be highlighted. """ self.clearHighlight() item = self.topLevelItem(num) if item: if [item] != self.selectedItems(): pal = QApplication.palette(self) brush = pal.brush(QPalette.Highlight) for col in range(3): item.setForeground(col, brush) self.scrollToItem(item) self.highlightNum = num def clearHighlight(self): """Clear the highlight from currently highlighted item. """ item = self.topLevelItem(self.highlightNum) if item and [item] != self.selectedItems(): pal = QApplication.palette(self) brush = pal.brush(QPalette.Text) for col in range(3): item.setForeground(col, brush) def changeSort(self): """Change the sort order based on a header click. """ colNum = self.header().sortIndicatorSection() order = self.header().sortIndicatorOrder() == Qt.AscendingOrder self.unitData.sortUnits(colNum, order) self.updateFiltering() def handleKeyPress(self, key): """Handle up/down, page up/down and enter key presses. """ if key == Qt.Key_Up: pos = self.highlightNum - 1 elif key == Qt.Key_Down: pos = self.highlightNum + 1 elif key == Qt.Key_PageUp: ht = self.viewport().height() numVisible = (self.indexOfTopLevelItem(self.itemAt(0, ht)) - self.indexOfTopLevelItem(self.itemAt(0, 0))) pos = self.highlightNum - numVisible elif key == Qt.Key_PageDown: ht = self.viewport().height() numVisible = (self.indexOfTopLevelItem(self.itemAt(0, ht)) - self.indexOfTopLevelItem(self.itemAt(0, 0))) pos = self.highlightNum + numVisible elif key in (Qt.Key_Return, Qt.Key_Enter): item = self.topLevelItem(self.highlightNum) if item: self.setCurrentItem(item) return else: return if pos < 0: pos = 0 if pos >= self.topLevelItemCount(): pos = self.topLevelItemCount() - 1 self.setHighlight(pos) def sizeHint(self): """Adjust width smaller. """ size = super().sizeHint() size.setWidth(self.viewportSizeHint().width() + 5 + self.verticalScrollBar().sizeHint().width()) return size class UnitListViewItem(QTreeWidgetItem): """Item in list view, references unit. """ def __init__(self, unit, parent=None): super().__init__(parent) self.unit = unit unit.viewLink = self for colNum in range(3): self.setText(colNum, unit.columnText(colNum)) ConvertAll-0.8.0/translations/000077500000000000000000000000001363574405500163255ustar00rootroot00000000000000ConvertAll-0.8.0/translations/convertall_ca.qm000066400000000000000000000170251363574405500215050ustar00rootroot00000000000000El punt fort del ConvertAll s la possibilitat de combinar unitats:</p><ul><li>Introduu "m/s" per obtenir metres per segon</li><li>Introduu "ft*lbf" per obtenir peu-lliura (fora)</li><li>Introduu "in^2" per obtenir polzades al quadrat</li><li>Introduu "m^3" per obtenir metres cbics</li><li>o qualsevol altra combinaci imaginable</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlg Neteja el filtre Clear Filter convertdlg Neteja la unitat Clear Unit convertdlg ColorsColors convertdlg(Combinaci d'unitatsCombining Units convertdlg8Fitxer README del ConvertAllConvertAll README File convertdlg:ConvertAll versi {0} per {1}ConvertAll Version {0} by {1} convertdlg(Convertall - ConsellConvertall - Tip convertdlgCubCube convertdlg$Nombre de decimalsDecimal places convertdlgDivideixDivide convertdlgJError en les dades de la unitat - {0}Error in unit data - {0} convertdlg Filtra la llista Filter List convertdlgDe la unitat From Unit convertdlgJCarrega les ltimes unitats a l'iniciLoad last units at startup convertdlgMultiplicaMultiply convertdlg6No s'ha establert la unitat No Unit Set convertdlg(S'ha desat el nombre Number saved convertdlg>No s'ha trobat el fitxer READMERead Me file not found convertdlgUnitat recent Recent Unit convertdlgUnitats recents Recent Units convertdlg4Visualitzaci del resultatResult Display convertdlg*Precisi del resultatResult Precision convertdlg4Estableix el color de fonsSet background color convertdlg6Estableix el color del textSet text color convertdlg*Estableix les unitats Set units convertdlgLMostra els botons d'operador (1a fila)Show operator buttons (1st row) convertdlgDMostra aquest consella a l'iniciarShow this tip at startup convertdlg:Mostra un consell a l'iniciarShow tip at startup convertdlgTMostra els botons de les unitats (2a fila)Show unit buttons (2nd row) convertdlgQuadratSquare convertdlgA la unitatTo Unit convertdlgZFes servir els colors per defecte del sistemaUse default system colors convertdlgDFes servir la notaci d'enginyeriaUse engineering notation convertdlgHFes servir un nombre de decimals fixUse fixed decimal places convertdlg@Fes servir la notaci cientficaUse scientific notation convertdlgJFes servir la representaci abreujadaUse short representation convertdlg&Interfcie d'usuariUser Interface convertdlg4S'han carregat {0} unitats{0} units loaded convertdlg&Enrera&Backhelpview&Endavant&Forwardhelpview &Inici&Homehelpview CercaFindhelpview"Cerca el &segent Find &Nexthelpview"Cerca l'&anteriorFind &Previoushelpview@No s'ha trobat la cadena de textText string not foundhelpview(S'est convertint... Converting...numeditJError en les dades de la unitat - {0}Error in unit data - {0}numedit8No s'ha establert cap unitat No Unit Setnumedit*Estableix les unitats Set unitsnumeditXLes unitats no sn compatibles ({0} vs. {1})(Units are not compatible ({0} vs. {1})numedit&Cancella&Cancel optiondlg&D'acord&OK optiondlgPreferncies Preferences optiondlg<L'equaci per {0} no s vlidaBad equation for "{0}"unitatomTNo s'ha pogut llegit el fitxer "units.dat"Can not read "units.dat" fileunitdataHS'ha trobat noms d'unitats duplicatsDuplicate unit names foundunitdata<L'equaci per {0} no s vlidaBad equation for {0} unitgroupNNo es poden combinar unitats no linealsCannot combine non-linear units unitgroupJLa definici de la unitat s circularCircular unit definition unitgroupBLa conversi per {0} no s vlidaInvalid conversion for "{0}" unitgroupComentarisComments unitlistview Unitat Unit Name unitlistviewTipus d'unitat Unit Type unitlistviewConvertAll-0.8.0/translations/convertall_ca.ts000066400000000000000000000437311363574405500215210ustar00rootroot00000000000000 cmdline Usage: qt-options -or- (non-GUI): options number from_unit to_unit Units with spaces must be "quoted" Options: num set number of decimals to show show set number of decimals, even if zeros show results in scientific notation show results in engineering notation display this message and exit interactive command line mode (non-GUI) convert without further prompts Enter from unit -> Enter to unit -> Enter number, [n]ew, [r]everse or [q]uit -> Units {0} and {1} are not compatible {0} is not a valid unit convertdlg Error in unit data - {0} Error en les dades de la unitat - {0} {0} units loaded S'han carregat {0} unitats From Unit De la unitat To Unit A la unitat Square Quadrat Cube Cub Multiply Multiplica Divide Divideix Clear Unit Neteja la unitat Recent Unit Unitat recent Filter List Filtra la llista Set units Estableix les unitats No Unit Set No s'ha establert la unitat &Close &Tanca &Options... &Opcions... &Help... &Ajuda... &About... &Sobre... Clear Filter Neteja el filtre Result Precision Precisió del resultat Decimal places Nombre de decimals Result Display Visualització del resultat Use short representation Fes servir la representació abreujada Use fixed decimal places Fes servir un nombre de decimals fix Use scientific notation Fes servir la notació científica Use engineering notation Fes servir la notació d'enginyeria Recent Units Unitats recents Number saved S'ha desat el nombre Load last units at startup Carrega les últimes unitats a l'inici User Interface Interfície d'usuari Show operator buttons (1st row) Mostra els botons d'operador (1a fila) Show unit buttons (2nd row) Mostra els botons de les unitats (2a fila) Show tip at startup Mostra un consell a l'iniciar Colors Colors Use default system colors Fes servir els colors per defecte del sistema Set background color Estableix el color de fons Set text color Estableix el color del text Read Me file not found No s'ha trobat el fitxer README ConvertAll README File Fitxer README del ConvertAll ConvertAll Version {0} by {1} ConvertAll versió {0} per {1} Convertall - Tip Convertall - Consell Combining Units Combinació d'unitats <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>El punt fort del ConvertAll és la possibilitat de combinar unitats:</p><ul><li>Introduïu "m/s" per obtenir metres per segon</li><li>Introduïu "ft*lbf" per obtenir peu-lliura (força)</li><li>Introduïu "in^2" per obtenir polzades al quadrat</li><li>Introduïu "m^3" per obtenir metres cúbics</li><li>o qualsevol altra combinació imaginable</li></ul> Show this tip at startup Mostra aquest consella a l'iniciar &OK &D'acord helpview &Back &Enrera &Forward &Endavant &Home &Inici Find Cerca Find &Previous Cerca l'&anterior Find &Next Cerca el &següent Text string not found No s'ha trobat la cadena de text numedit Error in unit data - {0} Error en les dades de la unitat - {0} Converting... S'està convertint... Units are not compatible ({0} vs. {1}) Les unitats no són compatibles ({0} vs. {1}) Set units Estableix les unitats No Unit Set No s'ha establert cap unitat optiondlg &OK &D'acord &Cancel &Cancel·la Preferences Preferències unitatom Bad equation for "{0}" L'equació per {0} no és vàlida unitdata Can not read "units.dat" file No s'ha pogut llegit el fitxer "units.dat" Duplicate unit names found S'ha trobat noms d'unitats duplicats unitgroup Circular unit definition La definició de la unitat és circular Invalid conversion for "{0}" La conversió per {0} no és vàlida Cannot combine non-linear units No es poden combinar unitats no lineals Bad equation for {0} L'equació per {0} no és vàlida unitlistview Unit Name Unitat Unit Type Tipus d'unitat Comments Comentaris ConvertAll-0.8.0/translations/convertall_de.qm000066400000000000000000000213051363574405500215060ustar00rootroot00000000000000 Enter from unit -> cmdlinefZahl eingeben, [n]eu, umgekeh[r]t, [q]uittieren -> ,Enter number, [n]ew, [r]everse or [q]uit -> cmdline.Zieleinheit angeben -> Enter to unit -> cmdlineOptionen:Options:cmdlinedEinheiten mit Leerzeichen mssen "gequotet" werden"Units with spaces must be "quoted"cmdline\Einheiten sind nicht kompatibel ({0} bzw. {1})$Units {0} and {1} are not compatiblecmdlineAufruf:Usage:cmdlineDOhne weitere Eingaben konvertierenconvert without further promptscmdline@Diesen Text anzeigen und beendendisplay this message and exitcmdlineAusgangseinheit from_unitcmdlineVInteraktiver Kommandozeilenmodus (ohne GUI)'interactive command line mode (non-GUI)cmdlinezahlnumcmdlineZahlnumbercmdlineOptionenoptionscmdlineQt-Optionen qt-optionscmdlineJAnzahl der Nachkommastellen festlegenset number of decimals to showcmdlinehErgebnis in wissenschaftlicher Schreibweise anzeigen#show results in scientific notationcmdlinevDie angegebene Anzahl Dezimalstellen auch fr Null anzeigen*show set number of decimals, even if zeroscmdlineZieleinheitto_unitcmdline:{0} ist keine gltige Einheit{0} is not a valid unitcmdline&ber... &About... convertdlgS&chlieen&Close convertdlg&Hilfe...&Help... convertdlg&OK&OK convertdlg&Optionen... &Options... convertdlg2<p>Die Strke von ConvertAll ist die Fhigkeit, Einheiten zu kombinieren:</p><ul><li>Geben Sie "m / s" ein, um Meter pro Sekunde zu bekommen</li><li>Geben Sie "ft lbf" ein, um Fu-Pfund (Drehmoment) zu bekommen<li><li>Geben Sie "in ^ 2" ein, um Quadratzoll zu bekommen</li><li>Geben Sie "m ^ 3 " ein, um Kubikmeter zu bekommen</li><li>oder jede andere Kombinationen, die Sie sich vorstellen knnen</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlgEinheit lschen Clear Unit convertdlg FarbenColors convertdlg:Die Kombination von EinheitenCombining Units convertdlg.ConvertAll-README-DateiConvertAll README File convertdlg<ConvertAll Version {0} von {1}ConvertAll Version {0} by {1} convertdlg(Convertall - HinweisConvertall - Tip convertdlgDezimalstellenDecimal places convertdlg<Fehler in Einheitendaten - {0}Error in unit data - {0} convertdlgAusgangseinheit From Unit convertdlgLLaden der letzten Einheiten beim StartLoad last units at startup convertdlg.Keine Einheit angegeben No Unit Set convertdlg&Gespeicherte Anzahl Number saved convertdlg6README-Datei nicht gefundenRead Me file not found convertdlg0Zuletzt benutzte Einheit Recent Unit convertdlg4Zuletzt benutzte Einheiten Recent Units convertdlg Ergebnis-AusgabeResult Display convertdlg.Hintergrundfarbe setzenSet background color convertdlg Textfarbe setzenSet text color convertdlgEinheit angeben Set units convertdlg>Zeige diesen Hinweis beim StartShow this tip at startup convertdlg2Zeige Hinweise beim StartShow tip at startup convertdlgZieleinheitTo Unit convertdlg&Systemfarben nutzenUse default system colors convertdlg6Festkommadarstellung nutzenUse fixed decimal places convertdlgHWissenschaftliche Darstellung nutzenUse scientific notation convertdlgUser InterfaceUser Interface convertdlg*{0} Einheiten geladen{0} units loaded convertdlg&Zurck&Backhelpview&Weiter&ForwardhelpviewZum &Anfang&Homehelpview SuchenFindhelpview &Vorwrts Suchen Find &Nexthelpview"&Rckwrts SuchenFind &Previoushelpview*String nicht gefundenText string not foundhelpviewKonvertiere... Converting...numedit<Fehler in Einheitendaten - {0}Error in unit data - {0}numedit.Keine Einheit angegeben No Unit Setnumedit"Einheiten angeben Set unitsnumedit\Einheiten sind nicht kompatibel ({0} bzw. {1})(Units are not compatible ({0} vs. {1})numedit&Abbrechen&Cancel optiondlg&OK&OK optiondlg Voreinstellungen Preferences optiondlg:Ungltige Gleichung fr "{0}"Bad equation for "{0}"unitatomDKann Datei "units.dat" nicht lesenCan not read "units.dat" fileunitdataBEinheitennamen mehrfach vorhandenDuplicate unit names foundunitdata6Ungltige Gleichung fr {0}Bad equation for {0} unitgroup\Kann keine nichtlinearen Einheiten kombinierenCannot combine non-linear units unitgroupNEinheitendefinition enthlt SelbstbezugCircular unit definition unitgroup<Ungltige Umwandlung fr "{0}"Invalid conversion for "{0}" unitgroupKommentareComments unitlistviewEinheitenname Unit Name unitlistviewEinheitentyp Unit Type unitlistviewConvertAll-0.8.0/translations/convertall_de.ts000066400000000000000000000601141363574405500215200ustar00rootroot00000000000000 cmdline Usage: Aufruf: qt-options Qt-Optionen -or- (non-GUI): oder (nicht GUI): options Optionen number Zahl from_unit Ausgangseinheit to_unit Zieleinheit Units with spaces must be "quoted" Einheiten mit Leerzeichen müssen "gequotet" werden Options: Optionen: num zahl set number of decimals to show Anzahl der Nachkommastellen festlegen show set number of decimals, even if zeros Die angegebene Anzahl Dezimalstellen auch für Null anzeigen display this message and exit Diesen Text anzeigen und beenden interactive command line mode (non-GUI) Interaktiver Kommandozeilenmodus (ohne GUI) convert without further prompts Ohne weitere Eingaben konvertieren show results in scientific notation Ergebnis in wissenschaftlicher Schreibweise anzeigen Enter from unit -> Ausgangseinheit angeben -> Enter to unit -> Zieleinheit angeben -> Enter number, [n]ew, [r]everse or [q]uit -> Zahl eingeben, [n]eu, umgekeh[r]t, [q]uittieren -> Units {0} and {1} are not compatible Einheiten sind nicht kompatibel ({0} bzw. {1}) {0} is not a valid unit {0} ist keine gültige Einheit show results in engineering notation convertdlg %d units loaded %d Einheiten geladen Error in unit data - %s Fehler in Einheitendaten - %s From Unit Ausgangseinheit To Unit Zieleinheit Set units Einheit angeben No Unit Set Keine Einheit angegeben &Close S&chließen &Unit Finder... Einheit s&uchen... &Options... &Optionen... &Help... &Hilfe... &About... &Über... Clear Unit Einheit löschen Result Display Ergebnis-Ausgabe Decimal places Dezimalstellen Use scientific notation Wissenschaftliche Darstellung nutzen Use fixed decimal places Festkommadarstellung nutzen Buttons Schaltflächen Show operator buttons Schaltflächen für Rechenoperationen anzeigen Colors Farben Use default system colors Systemfarben nutzen Set background color Hintergrundfarbe setzen Set text color Textfarbe setzen Read Me file not found README-Datei nicht gefunden ConvertAll README File ConvertAll-README-Datei ConvertAll Version %s by %s ConvertAll Version %s von %s Recent Unit Zuletzt benutzte Einheit Recent Units Zuletzt benutzte Einheiten Number saved Gespeicherte Anzahl Error in unit data - {0} Fehler in Einheitendaten - {0} {0} units loaded {0} Einheiten geladen Load last units at startup Laden der letzten Einheiten beim Start User Interface User Interface Show tip at startup Zeige Hinweise beim Start ConvertAll Version {0} by {1} ConvertAll Version {0} von {1} Convertall - Tip Convertall - Hinweis &OK &OK Combining Units Die Kombination von Einheiten <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li> <p>ConvertAll Stärke ist die Fähigkeit, Geräte zu kombinieren:</p><ul><li>Geben Sie "m / s" in Meter pro Sekunde zu bekommen</li><li>geben Sie "ft · lbf", um Fuß-Pfund (Drehmoment) zu erhalten<li><li>Enter "in ^ 2" auf Platz Zoll zu bekommen</li><li>geben Sie "m ^ 3 ", um Kubikmeter</li<li>oder andere Kombinationen, die Sie sich vorstellen können zu</li></ul> Show this tip at startup Zeige diesen Hinweis beim Start <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>Die Stärke von ConvertAll ist die Fähigkeit, Einheiten zu kombinieren:</p><ul><li>Geben Sie "m / s" ein, um Meter pro Sekunde zu bekommen</li><li>Geben Sie "ft · lbf" ein, um Fuß-Pfund (Drehmoment) zu bekommen<li><li>Geben Sie "in ^ 2" ein, um Quadratzoll zu bekommen</li><li>Geben Sie "m ^ 3 " ein, um Kubikmeter zu bekommen</li><li>oder jede andere Kombinationen, die Sie sich vorstellen können</li></ul> Result Precision Use short representation Use engineering notation Square Cube Multiply Divide Filter List Clear Filter Show operator buttons (1st row) Show unit buttons (2nd row) finddlg Unit Finder Einheitensuche &Filter Unit Types Einheitentypen &filtern &Search String &Suchtext C&lear &Löschen From Unit Ausgangseinheit &Replace &Ersetzen &Insert E&infügen To Unit Zieleinheit Replac&e E&rsetzen Inser&t Ein&fügen &Close S&chließen Unit Name Einheitenname Unit Type Einheitentyp Comments Kommentare [All] [Alle] helpview &Back &Zurück &Forward &Weiter &Home Zum &Anfang Find Suchen Find &Previous &Rückwärts Suchen Find &Next &Vorwärts Suchen Text string not found String nicht gefunden numedit Error in unit data - %s Fehler in Einheitendaten - %s Converting... Konvertiere... Units are not compatible (%s vs. %s) Einheiten sind nicht kompatibel (%s bzw. %s) Set units Einheiten angeben No Unit Set Keine Einheit angegeben Error in unit data - {0} Fehler in Einheitendaten - {0} Units are not compatible ({0} vs. {1}) Einheiten sind nicht kompatibel ({0} bzw. {1}) optiondlg &OK &OK &Cancel &Abbrechen Preferences Voreinstellungen unitatom Bad equation for "%s" Ungültige Gleichung für "%s" Bad equation for "{0}" Ungültige Gleichung für "{0}" unitdata Can not read "units.dat" file Kann Datei "units.dat" nicht lesen Duplicate unit names found Einheitennamen mehrfach vorhanden unitgroup Circular unit definition Einheitendefinition enthält Selbstbezug Invalid conversion for "%s" Ungültige Umwandlung für "%s" Cannot combine non-linear units Kann keine nichtlinearen Einheiten kombinieren Bad equation for %s Ungültige Gleichung für %s Invalid conversion for "{0}" Ungültige Umwandlung für "{0}" Bad equation for {0} Ungültige Gleichung für {0} unitlistview Unit Name Einheitenname Unit Type Einheitentyp Comments Kommentare ConvertAll-0.8.0/translations/convertall_es.qm000066400000000000000000000214311363574405500215250ustar00rootroot00000000000000Enter from unit -> cmdlineZIngresar nmero, [n]uevo, [i]nverso o [s]alir,Enter number, [n]ew, [r]everse or [q]uit -> cmdline:Ingresar unidad de destino ->Enter to unit -> cmdlineOpciones:Options:cmdlinenUnidades con espacios deben encerrarse entre "comillas""Units with spaces must be "quoted"cmdline^Las unidades no son compatibles ({0} vs. {1})$Units {0} and {1} are not compatiblecmdlineUso:Usage:cmdline:convertir sin ms interaccinconvert without further promptscmdline8mostrar este mensaje y salirdisplay this message and exitcmdlinedesde_unidad from_unitcmdlinefmodo interactivo en lnea de comandos (no interfaz)'interactive command line mode (non-GUI)cmdlinenmnumcmdline nmeronumbercmdlineopcionesoptionscmdlineopciones-qt qt-optionscmdlineVseleccione el nmero de decimales a mostrarset number of decimals to showcmdlineRmostrar resultados en notacin cientfica#show results in scientific notationcmdlinemostrar el nmero seleccionado de decimales, incluso si son ceros*show set number of decimals, even if zeroscmdlinea_unidadto_unitcmdline6{0} no es una unidad vlida{0} is not a valid unitcmdline&Acerca de... &About... convertdlg&Cerrar&Close convertdlgA&yuda...&Help... convertdlg&Aceptar&OK convertdlg&Opciones... &Options... convertdlg<p>La fuerza de ConvertAll es la capacidad de combinar unidades:</p><ul><li>introduzca "m / s" para obtener metros por segundo</li<li>Enter "ft * lbf" para obtener libras-pie (par)</li><li>Enter "in ^ 2" para pulgadas cuadradas</li><li>Enter "m ^ 3 "para obtener metros cbicos</li<li>o cualquier otra combinacin que se pueda imaginar</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlgLimpiar unidad Clear Unit convertdlgColoresColors convertdlg4La combinacin de UnidadesCombining Units convertdlg6Archivo LAME de ConvertAllConvertAll README File convertdlgBVersin de ConvertAll {0} por {1}ConvertAll Version {0} by {1} convertdlgConvertAllConvertall - Tip convertdlg"Lugares decimalesDecimal places convertdlgPError en los datos de las unidades - {0}Error in unit data - {0} convertdlgDesde unidad From Unit convertdlgLCargue ltimas unidades en el arranqueLoad last units at startup convertdlg6Ninguna unidad seleccionada No Unit Set convertdlgNmero salvado Number saved convertdlg:Archivo "lame" no encontradoRead Me file not found convertdlgUnidad reciente Recent Unit convertdlg$Unidades recientes Recent Units convertdlg,Pantalla de resultadosResult Display convertdlg:Seleccionar el color de fondoSet background color convertdlg<Seleccionar el color del textoSet text color convertdlg(Seleccionar unidades Set units convertdlg8Mostrar toque en el arranqueShow this tip at startup convertdlg8Mostrar toque en el arranqueShow tip at startup convertdlgHacia unidadTo Unit convertdlgJUsar colores definidos por el sistemaUse default system colors convertdlgHUtilizar un nmero fijo de decimalesUse fixed decimal places convertdlg8Utilizar notacin cientficaUse scientific notation convertdlg&Interfaz de usuarioUser Interface convertdlg&{0} unidades ledas{0} units loaded convertdlg&Retroceder&Backhelpview&Avanzar&Forwardhelpview&Inicio&Homehelpview BuscarFindhelpview"Buscar &siguiente Find &Nexthelpview &Buscar anteriorFind &PrevioushelpviewFCadena de texto que no se encuentraText string not foundhelpviewConvirtiendo... Converting...numeditPError en los datos de las unidades - {0}Error in unit data - {0}numedit6Ninguna unidad seleccionada No Unit Setnumedit(Seleccionar unidades Set unitsnumedit^Las unidades no son compatibles ({0} vs. {1})(Units are not compatible ({0} vs. {1})numedit&Cancelar&Cancel optiondlg&Aceptar&OK optiondlgPreferencias Preferences optiondlg<Ecuacin equivocada para "{0}"Bad equation for "{0}"unitatomNNo se puede leer el archivo "units.dat"Can not read "units.dat" fileunitdata\Se ha encontrado un nombre de unidad duplicadoDuplicate unit names foundunitdata<Ecuacin equivocada para "{0}"Bad equation for {0} unitgroupRNo pueden combinarse unidades no linearesCannot combine non-linear units unitgroup:Definicin de unidad circularCircular unit definition unitgroup>Conversin no vlida para "{0}"Invalid conversion for "{0}" unitgroupComentariosComments unitlistview&Nombre de la unidad Unit Name unitlistviewTipo de unidad Unit Type unitlistviewConvertAll-0.8.0/translations/convertall_es.ts000066400000000000000000000602341363574405500215420ustar00rootroot00000000000000 cmdline Usage: Uso: qt-options opciones-qt -or- (non-GUI): -o- (sin interfaz gráfica): options opciones number número from_unit desde_unidad to_unit a_unidad Units with spaces must be "quoted" Unidades con espacios deben encerrarse entre "comillas" Options: Opciones: num núm set number of decimals to show seleccione el número de decimales a mostrar show set number of decimals, even if zeros mostrar el número seleccionado de decimales, incluso si son ceros display this message and exit mostrar este mensaje y salir interactive command line mode (non-GUI) modo interactivo en línea de comandos (no interfaz) convert without further prompts convertir sin más interacción show results in scientific notation mostrar resultados en notación científica Enter from unit -> Ingresar unidad de origen -> Enter to unit -> Ingresar unidad de destino -> Enter number, [n]ew, [r]everse or [q]uit -> Ingresar número, [n]uevo, [i]nverso o [s]alir Units {0} and {1} are not compatible Las unidades no son compatibles ({0} vs. {1}) {0} is not a valid unit {0} no es una unidad válida show results in engineering notation convertdlg %d units loaded %d unidades leídas Error in unit data - %s Error en los datos de las unidades - %s From Unit Desde unidad To Unit Hacia unidad Set units Seleccionar unidades No Unit Set Ninguna unidad seleccionada &Close &Cerrar &Unit Finder... B&uscador de unidades... &Options... &Opciones... &Help... A&yuda... &About... &Acerca de... Clear Unit Limpiar unidad Result Display Pantalla de resultados Decimal places Lugares decimales Use scientific notation Utilizar notación científica Use fixed decimal places Utilizar un número fijo de decimales Buttons Botones Show operator buttons Mostrar los botones con los operadores Colors Colores Use default system colors Usar colores definidos por el sistema Set background color Seleccionar el color de fondo Set text color Seleccionar el color del texto Read Me file not found Archivo "léame" no encontrado ConvertAll README File Archivo LÉAME de ConvertAll ConvertAll Version %s by %s Versión de ConvertAll %s por %s Recent Unit Unidad reciente Recent Units Unidades recientes Number saved Número salvado Error in unit data - {0} Error en los datos de las unidades - {0} {0} units loaded {0} unidades leídas Load last units at startup Cargue últimas unidades en el arranque User Interface Interfaz de usuario Show tip at startup Mostrar toque en el arranque ConvertAll Version {0} by {1} Versión de ConvertAll {0} por {1} Convertall - Tip ConvertAll &OK &Aceptar Combining Units La combinación de Unidades <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li> <p>La fuerza de ConvertAll es la capacidad de combinar unidades:</p><ul><li>introduzca "m / s" para obtener metros por segundo</li<li>Enter "ft * lbf" para obtener libras-pie (par)</li><li>Enter "en ^ 2" para pulgadas cuadradas</li><li>Enter "m ^ 3 "para obtener metros cúbicos</li<li>o cualquier otra combinación que se pueda imaginar</li></ul> Show this tip at startup Mostrar toque en el arranque <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>La fuerza de ConvertAll es la capacidad de combinar unidades:</p><ul><li>introduzca "m / s" para obtener metros por segundo</li<li>Enter "ft * lbf" para obtener libras-pie (par)</li><li>Enter "in ^ 2" para pulgadas cuadradas</li><li>Enter "m ^ 3 "para obtener metros cúbicos</li<li>o cualquier otra combinación que se pueda imaginar</li></ul> Result Precision Use short representation Use engineering notation Square Cube Multiply Divide Filter List Clear Filter Show operator buttons (1st row) Show unit buttons (2nd row) finddlg Unit Finder Buscador de unidades &Filter Unit Types &Filtro de tipos de unidades &Search String Bu&scar cadena C&lear &Limpiar From Unit Desde unidad &Replace &Reemplazar &Insert &Insertar To Unit A unidad Replac&e Re&emplazar Inser&t Inser&tar &Close &Cerrar Unit Name Nombre de la unidad Unit Type Tipo de unidad Comments Comentarios [All] [Todo] helpview &Back &Retroceder &Forward &Avanzar &Home &Inicio Find Buscar Find &Previous &Buscar anterior Find &Next Buscar &siguiente Text string not found Cadena de texto que no se encuentra numedit Error in unit data - %s Error en los datos de las unidades - %s Converting... Convirtiendo... Units are not compatible (%s vs. %s) Las unidades no son compatibles (%s vs. %s) Set units Seleccionar unidades No Unit Set Ninguna unidad seleccionada Error in unit data - {0} Error en los datos de las unidades - {0} Units are not compatible ({0} vs. {1}) Las unidades no son compatibles ({0} vs. {1}) optiondlg &OK &Aceptar &Cancel &Cancelar Preferences Preferencias unitatom Bad equation for "%s" Ecuación equivocada para "%s" Bad equation for "{0}" Ecuación equivocada para "{0}" unitdata Can not read "units.dat" file No se puede leer el archivo "units.dat" Duplicate unit names found Se ha encontrado un nombre de unidad duplicado unitgroup Circular unit definition Definición de unidad circular Invalid conversion for "%s" Conversión no válida para "%s" Cannot combine non-linear units No pueden combinarse unidades no lineares Bad equation for %s Ecuación equivocada para "%s" Invalid conversion for "{0}" Conversión no válida para "{0}" Bad equation for {0} Ecuación equivocada para "{0}" unitlistview Unit Name Nombre de la unidad Unit Type Tipo de unidad Comments Comentarios ConvertAll-0.8.0/translations/convertall_fr.qm000066400000000000000000000210111363574405500215170ustar00rootroot00000000000000 VxMb&x%[6 -5#P(#ySA=Q[SLSLy}Iz % b1/6eC{#|)s|)s}$KCd\\8jaIo` A' c l[~V yL4 9 ^Sq  +  I V T Vt 2 ”y [u J  G, i$2 m~ h ' RT3aip -ou- (non-GUI) :-or- (non-GUI):cmdline<Entrer partir de l'unit -> Enter from unit -> cmdlinelEntre un nombre, [n]ouveau, [i]nverse ou [q]uitter -> ,Enter number, [n]ew, [r]everse or [q]uit -> cmdline$Entrer l'unit -> Enter to unit -> cmdlineOptions :Options:cmdlinevLes units avec des espaces doivent tre "entre guillemets""Units with spaces must be "quoted"cmdlinedLes units ne sont pas compatibles ({0} vs. {1})$Units {0} and {1} are not compatiblecmdlineUsage :Usage:cmdline<convertir sans autres demandesconvert without further promptscmdline<afficher ce message et quitterdisplay this message and exitcmdlinede l'unit from_unitcmdline^Mode de ligne de commande intractif (sans-GUI)'interactive command line mode (non-GUI)cmdline nombrenumcmdline nombrenumbercmdlineoptionsoptionscmdlineqt-options qt-optionscmdline8nombre de dcimals montrerset number of decimals to showcmdline^afficher les rsultats en notation scientifique#show results in scientific notationcmdlineTmontrer le nombre de dcimals, mme si nul*show set number of decimals, even if zeroscmdlinevers l'unitto_unitcmdline<{0} n'est pas une unit valide{0} is not a valid unitcmdline& propos... &About... convertdlg&Fermer&Close convertdlg&Aide...&Help... convertdlg&Ok&OK convertdlg&Options... &Options... convertdlg<p>La force de ConvertAll est la possibilit de combiner des units:</p><ul><li>Entrez "m / s" pour obtenir mtres par seconde;</li><li>Entrez "ft * lbf" pour obtenir pieds-livres (couple);</li><li>Enter "in^ 2" pour obtenir pouces carrs;</li><li>Enter "m ^ 3 "pour obtenir de mtres cubes</li><li>ou toute autre combinaison que vous pouvez imaginer</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlgEffacer l'unit Clear Unit convertdlgCouleursColors convertdlg0La combinaison de unitsCombining Units convertdlg8Fichier README de ConvertAllConvertAll README File convertdlg:ConvertAll version {0} by {1}ConvertAll Version {0} by {1} convertdlgConvertAllConvertall - Tip convertdlgDcimalDecimal places convertdlg2Erreur dans l'unit - {0}Error in unit data - {0} convertdlgDe l'unit From Unit convertdlgJChargez dernires units au dmarrageLoad last units at startup convertdlg(Aucune unit choisie No Unit Set convertdlgNombre sauv Number saved convertdlg4Fichier Read Me non trouvRead Me file not found convertdlgUnit rcente Recent Unit convertdlgUnits rcentes Recent Units convertdlg(Afficher le rsultatResult Display convertdlg4Choisir la couleur de fondSet background color convertdlg6Choisir la couleur du texteSet text color convertdlg$Choisir les units Set units convertdlg<Afficher allusion au dmarrageShow this tip at startup convertdlg<Afficher allusion au dmarrageShow tip at startup convertdlgVers l'unitTo Unit convertdlg@Utiliser les couleurs par dfautUse default system colors convertdlg6Utilis des dcimales fixesUse fixed decimal places convertdlgBUtiliser la notation scientifiqueUse scientific notation convertdlg*Interface utilisateurUser Interface convertdlg&{0} units charges{0} units loaded convertdlg&Retour&Backhelpview&Avance&Forwardhelpview &Home&HomehelpviewChercherFindhelpview"Chercher &Suivant Find &Nexthelpview&Chercher &PrcdentFind &PrevioushelpviewBChane de caractres non trouveText string not foundhelpviewConversion... Converting...numedit2Erreur dans l'unit - {0}Error in unit data - {0}numedit(Aucune unit choisie No Unit Setnumedit$Choisir les units Set unitsnumeditdLes units ne sont pas compatibles ({0} vs. {1})(Units are not compatible ({0} vs. {1})numedit&Annuler&Cancel optiondlg&Ok&OK optiondlgPrfrences Preferences optiondlg8Mauvaise quation pour "{0}"Bad equation for "{0}"unitatomHNe peut lire le fichier "units.dat" Can not read "units.dat" fileunitdataNDoublons dans les noms d'units trouvsDuplicate unit names foundunitdata4Mauvaise quation pour {0}Bad equation for {0} unitgroupXOn ne peut combiner des units non linairesCannot combine non-linear units unitgroup:Dfinition d'unit circulaireCircular unit definition unitgroup<Conversion invalide pour "{0}"Invalid conversion for "{0}" unitgroupCommentairesComments unitlistviewNom de l'unit Unit Name unitlistviewType d'unit Unit Type unitlistviewConvertAll-0.8.0/translations/convertall_fr.ts000066400000000000000000000561421363574405500215450ustar00rootroot00000000000000 cmdline Usage: Usage : qt-options qt-options -or- (non-GUI): -ou- (non-GUI) : options options number nombre from_unit de l'unité to_unit vers l'unité Units with spaces must be "quoted" Les unités avec des espaces doivent être "entre guillemets" Options: Options : num nombre set number of decimals to show nombre de décimals à montrer show set number of decimals, even if zeros montrer le nombre de décimals, même si nul display this message and exit afficher ce message et quitter interactive command line mode (non-GUI) Mode de ligne de commande intéractif (sans-GUI) convert without further prompts convertir sans autres demandes show results in scientific notation afficher les résultats en notation scientifique Enter from unit -> Entrer à partir de l'unité -> Enter to unit -> Entrer l'unité -> Enter number, [n]ew, [r]everse or [q]uit -> Entre un nombre, [n]ouveau, [i]nverse ou [q]uitter -> Units {0} and {1} are not compatible Les unités ne sont pas compatibles ({0} vs. {1}) {0} is not a valid unit {0} n'est pas une unité valide show results in engineering notation convertdlg %d units loaded %d unités chargées Error in unit data - %s Erreur dans l'unité - %s From Unit De l'unité To Unit Vers l'unité Set units Choisir les unités No Unit Set Aucune unité choisie &Close &Fermer &Unit Finder... &Trouver l'unité... &Options... &Options... &Help... &Aide... &About... &à propos... Clear Unit Effacer l'unité Result Display Afficher le résultat Decimal places Décimal Use scientific notation Utiliser la notation scientifique Use fixed decimal places Utilisé des décimales fixes Buttons Bouttons Show operator buttons Montrer les bouttons de l'opérateur Colors Couleurs Use default system colors Utiliser les couleurs par défaut Set background color Choisir la couleur de fond Set text color Choisir la couleur du texte Read Me file not found Fichier Read Me non trouvé ConvertAll README File Fichier README de ConvertAll ConvertAll Version %s by %s ConvertAll version %s by %s Recent Unit Unité récente Recent Units Unités récentes Number saved Nombre sauvé Error in unit data - {0} Erreur dans l'unité - {0} {0} units loaded {0} unités chargées Load last units at startup Chargez dernières unités au démarrage User Interface Interface utilisateur Show tip at startup Afficher allusion au démarrage ConvertAll Version {0} by {1} ConvertAll version {0} by {1} Convertall - Tip ConvertAll &OK &Ok Combining Units La combinaison de unités Show this tip at startup Afficher allusion au démarrage <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>La force de ConvertAll est la possibilité de combiner des unités:</p><ul><li>Entrez "m / s" pour obtenir mètres par seconde;</li><li>Entrez "ft * lbf" pour obtenir pieds-livres (couple);</li><li>Enter "in^ 2" pour obtenir pouces carrés;</li><li>Enter "m ^ 3 "pour obtenir de mètres cubes</li><li>ou toute autre combinaison que vous pouvez imaginer</li></ul> Result Precision Use short representation Use engineering notation Square Cube Multiply Divide Filter List Clear Filter Show operator buttons (1st row) Show unit buttons (2nd row) finddlg Unit Finder Chercheur d'unité &Filter Unit Types &Filtrer les types d'unité &Search String &Recherche de caractère C&lear N&ettoyer From Unit de l'unité &Replace &Remplacer &Insert &Insérer To Unit Vers l'unité Replac&e Remplac&er Inser&t Insér&er &Close &Fermer Unit Name Nom de l'unité Unit Type Type d'unité Comments Commentaires [All] [Tout] helpview &Back &Retour &Forward &Avance &Home &Home Find Chercher Find &Previous Chercher &Précédent Find &Next Chercher &Suivant Text string not found Chaîne de caractères non trouvée numedit Error in unit data - %s Erreur dans l'unité - %s Converting... Conversion... Units are not compatible (%s vs. %s) Les unités ne sont pas compatibles (%s vs. %s) Set units Choisir les unités No Unit Set Aucune unité choisie Error in unit data - {0} Erreur dans l'unité - {0} Units are not compatible ({0} vs. {1}) Les unités ne sont pas compatibles ({0} vs. {1}) optiondlg &OK &Ok &Cancel &Annuler Preferences Préférences unitatom Bad equation for "%s" Mauvaise équation pour "%s" Bad equation for "{0}" Mauvaise équation pour "{0}" unitdata Can not read "units.dat" file Ne peut lire le fichier "units.dat" Duplicate unit names found Doublons dans les noms d'unités trouvés unitgroup Circular unit definition Définition d'unité circulaire Invalid conversion for "%s" Conversion invalide pour "%s" Cannot combine non-linear units On ne peut combiner des unités non linéaires Bad equation for %s Mauvaise équation pour %s Invalid conversion for "{0}" Conversion invalide pour "{0}" Bad equation for {0} Mauvaise équation pour {0} unitlistview Unit Name Nom de l'unité Unit Type Type d'unité Comments Commentaires ConvertAll-0.8.0/translations/convertall_ru.qm000066400000000000000000000236721363574405500215550ustar00rootroot00000000000000B>@>9 :>=25@B8@>20BL -> Enter from unit -> cmdline2548B5 7=0G5=85 4;O :>=25@B8F88, [n]-=>2K9, [r]-?5@525@=CBL 8;8 [q]-2KE>4 -> ,Enter number, [n]ew, [r]everse or [q]uit -> cmdlinel2548B5 548=8FC 87<5@5=8O 2 :>B>@CN :>=25@B8@>20BL -> Enter to unit -> cmdline0@0<5B@K:Options:cmdlineb5;8G8=C A ?@>15;0<8 =5>1E>48<> 27OBL 2 :02KG:8"Units with spaces must be "quoted"cmdline>5;8G8=0 {0} 8 {1} =5A>2<5AB8<K$Units {0} and {1} are not compatiblecmdlineA?>;L7>20=85:Usage:cmdlineL:>=25@B8@>20BL 157 40;L=59H8E 70?@>A>2convert without further promptscmdline<?>:070BL MB> A>>1I5=85 8 2K9B8display this message and exitcmdline87_25;8G8=K from_unitcmdline\@568< 8=B5@0:B82=>9 :><0=4=>9 AB@>:8 (157-GUI)'interactive command line mode (non-GUI)cmdline G8A;>numcmdline G8A;>numbercmdline?0@0<5B@Koptionscmdlineqt-?0@0<5B@K qt-optionscmdlinen70409B5 :>;8G5AB2> 7=0:>2 ?>A;5 70?OB>9 4;O >B>1@065=8Oset number of decimals to showcmdline^>:07K20BL @57C;LB0B 2 8=65=5@=>< ?@54AB02;5=88$show results in engineering notationcmdlineX>:07K20BL @57C;LB0B 2 =0CG=>< ?@54AB02;5=88#show results in scientific notationcmdline?>:07K20BL 7040==>5 :>;8G5AB2> 7=0:>2 ?>A;5 70?OB>9, 4065 5A;8 =C;8*show set number of decimals, even if zeroscmdline2_25;8G8=Cto_unitcmdline,{0} =5 25@=0O 25;8G8=0{0} is not a valid unitcmdline& A515... &About... convertdlg&0:@KBL&Close convertdlg&!?@02:0...&Help... convertdlg&0&OK convertdlg&0AB@>9:8... &Options... convertdlg<p>0AB>OI0O A8;0 ConvertAll 70:;NG05BAO 2 2>7<>6=>AB8 :><18=8@>20=8O =5A:>;L:8E 25;8G8=:</p><ul><li>2548B5 "m/s", GB>1K ?>;CG8BL <5B@K 2 A5:C=4C</li><li>2548B5 "ft*lbf", GB>1K ?>;CG8BL foot-pounds (torque)</li><li>2548B5 "in^2", GB>1K ?>;CG8BL 4N9<K 2 :204@0B5</li><li>2548B5 "m^3", GB>1K ?>;CG8BL <5B@K 2 :C15</li><li>8;8 ;N1CN 4@C3CN :><18=0F8N :>B>@CN <>65B5 ?@84C<0BL</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlgG8AB8BL D8;LB@ Clear Filter convertdlg"G8AB8BL 25;8G8=C Clear Unit convertdlg &25B0Colors convertdlg,><18=8@>20=85 25;8G8=Combining Units convertdlg,ConvertAll README D09;ConvertAll README File convertdlg8ConvertAll 25@A8O {0} >B {1}ConvertAll Version {0} by {1} convertdlg$Convertall - !>25BConvertall - Tip convertdlgC1Cube convertdlg(=0:>2 ?>A;5 70?OB>9Decimal places convertdlg 0745;8BLDivide convertdlgError in unit data - {0} convertdlg$$8;LB@>20BL A?8A>: Filter List convertdlg7 25;8G8=K From Unit convertdlgj03@C60BL ?>A;54NN 8A?>;L7>20==CN 25;8G=C ?@8 70?Cc:5Load last units at startup convertdlg#<=>68BLMultiply convertdlg.5;8G8=0 =5 CAB0=>2;5=0 No Unit Set convertdlg,>;8G5AB2> A>E@0=5==KE Number saved convertdlg*$09; README =5 =0945=Read Me file not found convertdlg"5402=OO 25;8G8=0 Recent Unit convertdlg"5402=88 25;8G8=K Recent Units convertdlg,B>1@065=85 @57C;LB0B0Result Display convertdlg0@54AB02;5=85 @57C;LB0B0Result Precision convertdlg(#AB0=>28BL F25B D>=0Set background color convertdlg,#AB0=>28BL F25B B5:AB0Set text color convertdlg 0409B5 25;8G8=K Set units convertdlgV>:07K20BL :=>?8 >?5@0B>@>2 (?5@20O AB@>:0)Show operator buttons (1st row) convertdlg:>:07K20BL A>25BK ?@8 70?CA:5Show this tip at startup convertdlg:>:07K20BL A>25BK ?@8 70?CA:5Show tip at startup convertdlgR>:07K20BL :=>?:8 25;8G8= (2B>@0O AB@>:0)Show unit buttons (2nd row) convertdlg204@0BSquare convertdlg 25;8G8=CTo Unit convertdlgRA?>;L7>20BL A8AB5<=K5 F25B0 ?> C<>;G0=8NUse default system colors convertdlg0=65=5@=>5 ?@54AB02;5=85Use engineering notation convertdlg>$8:A8@>20==>5 :>;8G5AB2> 7=0:>2Use fixed decimal places convertdlg*0CG=>5 ?@54AB02;5=85Use scientific notation convertdlg,>@>B:>5 ?@54AB02;5=85Use short representation convertdlg4>;L7>20B5;LA:89 8=B5@D59AUser Interface convertdlg,{0} 25;8G8=K 703@C65=K{0} units loaded convertdlg &0704&Backhelpview&?5@Q4&Forwardhelpview &><>9&Homehelpview 09B8Findhelpview 09B8 &!;54CNI89 Find &Nexthelpview"09B8 &@54K4CI89Find &Previoushelpview6"5:AB>20O AB@>:0 =5 =0945=0Text string not foundhelpview$>=25@B8@>20=85... Converting...numedit<H81:0 2 40==KE 25;8G8=K - {0}Error in unit data - {0}numedit.5;8G8=0 =5 CAB0=>2;5=0 No Unit Setnumedit 0409B5 25;8G8=K Set unitsnumeditJ5;8G8=K =5A>2<5AB8<K ({0} 8. {1})(Units are not compatible ({0} vs. {1})numedit&B<5=0&Cancel optiondlg&0&OK optiondlg0AB@>9:8 Preferences optiondlg8525@=>5 2K@065=85 4;O {0}Bad equation for "{0}"unitatomD5 <>3C ?@>G8B0BL D09; units.datCan not read "units.dat" fileunitdataB0945=> 4C1;8@>20=85 8<Q= 25;8G8=Duplicate unit names foundunitdata4525@=>5 2K@065=85 4;O {0}Bad equation for {0} unitgroupX52>7<>6=> :><18=8@>20BL =5;8=59=K5 25;8G8=KCannot combine non-linear units unitgroup<&8:;8G=>5 >?@545;5=85 25;8G8=KCircular unit definition unitgroup<525@=0O :>=25@B0F8O 4;O {0}Invalid conversion for "{0}" unitgroup><<5=B0@88Comments unitlistview<O 25;8G8=K Unit Name unitlistview"8? 25;8G8=K Unit Type unitlistview ) , ConvertAll-0.8.0/translations/convertall_ru.ts000066400000000000000000000623331363574405500215630ustar00rootroot00000000000000 cmdline Usage: Использование: qt-options qt-параметры -or- (non-GUI): -или- (без-GUI): options параметры number число from_unit из_величины to_unit в_величину Units with spaces must be "quoted" Величину с пробелами необходимо взять в «кавычки» Options: Параметры: num число set number of decimals to show задайте количество знаков после запятой для отображения show set number of decimals, even if zeros показывать заданное количество знаков после запятой, даже если нули display this message and exit показать это сообщение и выйти interactive command line mode (non-GUI) режим интерактивной командной строки (без-GUI) convert without further prompts конвертировать без дальнейших запросов show results in scientific notation Показывать результат в научном представлении Enter from unit -> Введите единицу измерения из которой конвертировать -> Enter to unit -> Введите единицу измерения в которую конвертировать -> Enter number, [n]ew, [r]everse or [q]uit -> Введите значение для конвертиции, [n]-новый, [r]-перевернуть или [q]-выход -> show results in engineering notation Показывать результат в инженерном представлении Units {0} and {1} are not compatible Величина {0} и {1} несовместимы {0} is not a valid unit {0} не верная величина convertdlg %d units loaded %d величин загружено Error in unit data - %s Ошибка в данных величины- %s From Unit Из величины To Unit В величину Set units Задайте величины No Unit Set Величина не установлена &Close &Закрыть &Unit Finder... &Поиск величины... &Options... &Настройки... &Help... &Справка... &About... &О себе... Clear Unit Очистить величину Result Display Отображение результата Result Precision Представление результата Decimal places Знаков после запятой Use short representation Короткое представление Use scientific notation Научное представление Use fixed decimal places Фиксированное количество знаков Use engineering notation Инженерное представление Load last units at startup Загружать последюю использованную величну при запуcке User Interface Пользовательский интерфейс Buttons Кнопки Show operator buttons Показывать кнопки операторов (Х, /, ^2, ^3) Show tip at startup Показывать советы при запуске Colors Цвета Use default system colors Использовать системные цвета по умолчанию Set background color Установить цвет фона Set text color Установить цвет текста Read Me file not found Файл README не найден ConvertAll README File ConvertAll README файл ConvertAll Version %s by %s ConvertAll версия %s от %s Recent Unit Недавняя величина Recent Units Недавнии величины Number saved Количество сохраненных Error in unit data - {0} {0} units loaded {0} величины загружены ConvertAll Version {0} by {1} ConvertAll версия {0} от {1} Convertall - Tip Convertall - Совет Combining Units Комбинирование величин <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>Настоящая сила ConvertAll заключается в возможности комбинирования нескольких величин:</p><ul><li>Введите "m/s", чтобы получить метры в секунду</li><li>Введите "ft*lbf", чтобы получить foot-pounds (torque)</li><li>Введите "in^2", чтобы получить дюймы в квадрате</li><li>Введите "m^3", чтобы получить метры в кубе</li><li>или любую другую комбинацию которую можете придумать</li></ul> Show this tip at startup Показывать советы при запуске &OK &Да Square Квадрат Cube Куб Multiply Умножить Divide Разделить Filter List Фильтровать список Clear Filter Очистить фильтр Show operator buttons (1st row) Показывать кнопи операторов (первая строка) Show unit buttons (2nd row) Показывать кнопки величин (вторая строка) finddlg Unit Finder Поиск величины &Filter Unit Types &Фильтр по типу величины &Search String &Строка поиска C&lear &Очистить From Unit Из величины &Replace За&менить &Insert &Вставить To Unit В величину Replac&e Замен&ить Inser&t Вставит&ь &Close &Закрыть Unit Name Имя величины Unit Type Тип величины Comments Комментарии [All] [Все] helpview &Back &Назад &Forward &Вперёд &Home &Домой Find Найти Find &Previous Найти &Предыдущий Find &Next Найти &Следующий Text string not found Текстовая строка не найдена numedit Error in unit data - %s Ошибка в данных величины- %s Converting... Конвертирование... Units are not compatible (%s vs. %s) Величины несовместимы (%s и %s) Set units Задайте величины No Unit Set Величина не установлена Error in unit data - {0} Ошибка в данных величины - {0} Units are not compatible ({0} vs. {1}) Величины несовместимы ({0} и. {1}) optiondlg &OK &Да &Cancel О&тмена Preferences Настройки unitatom Bad equation for "%s" Неверное выражение для «%s» Bad equation for "{0}" Неверное выражение для «{0}» unitdata Can not read "units.dat" file Не могу прочитать файл «units.dat» Duplicate unit names found Найдено дублирование имён величин unitgroup Circular unit definition Цикличное определение величины Invalid conversion for "%s" Неверная конвертация для «%s» Cannot combine non-linear units Невозможно комбинировать нелинейные величины Bad equation for %s Неверное выражение для %s Invalid conversion for "{0}" Неверная конвертация для «{0}» Bad equation for {0} Неверное выражение для {0} unitlistview Unit Name Имя величины Unit Type Тип величины Comments Комментарии ConvertAll-0.8.0/translations/convertall_sv.qm000066400000000000000000000225101363574405500215450ustar00rootroot00000000000000 Enter from unit -> cmdlineXEnter number, [n]ew, [r]everse or [q]uit -> ,Enter number, [n]ew, [r]everse or [q]uit -> cmdline&Ange till-enhet -> Enter to unit -> cmdlineAlternativ:Options:cmdlinenEnheter med mellanslag mste anges inom citationstecken"Units with spaces must be "quoted"cmdlinePEnheterna {0} och {1} r inte kompatibla$Units {0} and {1} are not compatiblecmdlineAnvndning:Usage:cmdlineNkonvertera utan ytterligare uppmaningarconvert without further promptscmdlineBvisa detta meddelande och avslutadisplay this message and exitcmdlinefrn-enhet from_unitcmdlineNinteraktivt kommandoradslge (utan GUI)'interactive command line mode (non-GUI)cmdlinenumnumcmdline antalnumbercmdlinealternativoptionscmdlineqt-alternativ qt-optionscmdline8anger antal visade decimalerset number of decimals to showcmdlineBvisar resultat i teknisk notation$show results in engineering notationcmdlineHvisar resultat i matematisk notation#show results in scientific notationcmdline`visar angivet antal fasta decimaler, ven nollor*show set number of decimals, even if zeroscmdlinetill-enhetto_unitcmdline6{0} r inte en giltig enhet{0} is not a valid unitcmdline &Om... &About... convertdlg &Stng&Close convertdlg&Hjlp...&Help... convertdlg&OK&OK convertdlg&Alternativ... &Options... convertdlg|<p>ConvertAlls styrka, r frmgan att kombinera enheter.</p><ul><li>Ange "m/s" fr att f meter per sekund.</li><li>Ange "N*m" fr att f newtonmeter (vridmoment).</li><li>Ange "m^2" fr att f kvadratmeter.</li><li>Ange "m^3" fr att f kubikmeter</li><li>eller ngon annan kombination som du kan komma p.</li></ul>*

ConvertAll's strength is the ability to combine units:

  • Enter "m/s" to get meters per second
  • Enter "ft*lbf" to get foot-pounds (torque)
  • Enter "in^2" to get square inches
  • Enter "m^3" to get cubic meters
  • or any other combinations you can imagine
 convertdlgRensa filter Clear Filter convertdlgRensa enhet Clear Unit convertdlg FrgerColors convertdlg"Kombinera enheterCombining Units convertdlg*ConvertAll README-filConvertAll README File convertdlg:ConvertAll version {0} av {1}ConvertAll Version {0} by {1} convertdlg"Convertall - TipsConvertall - Tip convertdlgKubCube convertdlg DecimalplaceringDecimal places convertdlgDivideraDivide convertdlg,Fel i enhetsdata - {0}Error in unit data - {0} convertdlgFilterlista Filter List convertdlgFrn enhet From Unit convertdlgNLs in senaste enheter vid programstartLoad last units at startup convertdlgMultipliceraMultiply convertdlg&Ingen enhet angiven No Unit Set convertdlgAntal sparade Number saved convertdlg4README-filen hittades inteRead Me file not found convertdlgTidigare enhet Recent Unit convertdlg Tidigare enheter Recent Units convertdlg0Kom ihg fnsterpositionRemember window position convertdlgResultatvisningResult Display convertdlg"ResultatprecisionResult Precision convertdlg$Ange bakgrundsfrgSet background color convertdlgAnge textfrgSet text color convertdlgAnge enheter Set units convertdlg@Visa operatrknappar (1:a raden)Show operator buttons (1st row) convertdlgHVisa det hr tipset vid programstartShow this tip at startup convertdlg>Visa tipsrutan vid programstartShow tip at startup convertdlg<Visa enhetsknappar (2:a raden)Show unit buttons (2nd row) convertdlgKvadratSquare convertdlgTill enhetTo Unit convertdlg>Anvnd systemets standardfrgerUse default system colors convertdlg.Anvnd teknisk notationUse engineering notation convertdlg8Anvnd fast decimalplaceringUse fixed decimal places convertdlg4Anvnd matematisk notationUse scientific notation convertdlg4Anvnd kort representationUse short representation convertdlg$AnvndargrnssnittUser Interface convertdlg&{0} enheter inlsta{0} units loaded convertdlg&Tillbaka&Backhelpview&Framt&Forwardhelpview&Hem&HomehelpviewSkFindhelpviewSk &nsta Find &NexthelpviewSk &fregendeFind &Previoushelpview4Textstrngen hittades inteText string not foundhelpviewKonverterar... Converting...numedit,Fel i enhetsdata - {0}Error in unit data - {0}numedit(Inga enheter angivna No Unit SetnumeditAnge enheter Set unitsnumeditXEnheterna r inte kompatibla ({0} vs. {1})(Units are not compatible ({0} vs. {1})numedit&Avbryt&Cancel optiondlg&OK&OK optiondlgInstllningar Preferences optiondlg6Felaktig ekvation fr "{0}"Bad equation for "{0}"unitatom>Kan inte lsa filen "units.dat"Can not read "units.dat" fileunitdata2Dubbla enhetsnamn hittadeDuplicate unit names foundunitdata6Felaktig ekvation fr "{0}"Bad equation for {0} unitgroupNKan inte kombinera icke-linjra enheterCannot combine non-linear units unitgroup2Cirkulr enhetsdefinitionCircular unit definition unitgroup:Ogiltig konvertering fr "{0}Invalid conversion for "{0}" unitgroupKommentarComments unitlistviewEnhetsnamn Unit Name unitlistviewEnhetstyp Unit Type unitlistviewConvertAll-0.8.0/translations/convertall_sv.ts000066400000000000000000000436451363574405500215720ustar00rootroot00000000000000 cmdline Usage: Användning: qt-options qt-alternativ -or- (non-GUI): -eller- (utan GUI): options alternativ number antal from_unit från-enhet to_unit till-enhet Units with spaces must be "quoted" Enheter med mellanslag måste anges inom citationstecken Options: Alternativ: num num set number of decimals to show anger antal visade decimaler show set number of decimals, even if zeros visar angivet antal fasta decimaler, även nollor show results in scientific notation visar resultat i matematisk notation show results in engineering notation visar resultat i teknisk notation display this message and exit visa detta meddelande och avsluta interactive command line mode (non-GUI) interaktivt kommandoradsläge (utan GUI) convert without further prompts konvertera utan ytterligare uppmaningar Enter from unit -> Ange från-enhet -> Enter to unit -> Ange till-enhet -> Enter number, [n]ew, [r]everse or [q]uit -> Enter number, [n]ew, [r]everse or [q]uit -> Units {0} and {1} are not compatible Enheterna {0} och {1} är inte kompatibla {0} is not a valid unit {0} är inte en giltig enhet convertdlg Error in unit data - {0} Fel i enhetsdata - {0} {0} units loaded {0} enheter inlästa From Unit Från enhet To Unit Till enhet Square Kvadrat Cube Kub Multiply Multiplicera Divide Dividera Clear Unit Rensa enhet Recent Unit Tidigare enhet Filter List Filterlista Set units Ange enheter No Unit Set Ingen enhet angiven &Close &Stäng &Options... &Alternativ... &Help... &Hjälp... &About... &Om... Clear Filter Rensa filter Result Precision Resultatprecision Decimal places Decimalplacering Result Display Resultatvisning Use short representation Använd kort representation Use fixed decimal places Använd fast decimalplacering Use scientific notation Använd matematisk notation Use engineering notation Använd teknisk notation Recent Units Tidigare enheter Number saved Antal sparade Load last units at startup Läs in senaste enheter vid programstart User Interface Användargränssnitt Show operator buttons (1st row) Visa operatörknappar (1:a raden) Show unit buttons (2nd row) Visa enhetsknappar (2:a raden) Show tip at startup Visa tipsrutan vid programstart Remember window position Kom ihåg fönsterposition Colors Färger Use default system colors Använd systemets standardfärger Set background color Ange bakgrundsfärg Set text color Ange textfärg Read Me file not found README-filen hittades inte ConvertAll README File ConvertAll README-fil ConvertAll Version {0} by {1} ConvertAll version {0} av {1} Convertall - Tip Convertall - Tips Combining Units Kombinera enheter <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> <p>ConvertAlls styrka, är förmågan att kombinera enheter.</p><ul><li>Ange "m/s" för att få meter per sekund.</li><li>Ange "N*m" för att få newtonmeter (vridmoment).</li><li>Ange "m^2" för att få kvadratmeter.</li><li>Ange "m^3" för att få kubikmeter</li><li>eller någon annan kombination som du kan komma på.</li></ul> Show this tip at startup Visa det här tipset vid programstart &OK &OK helpview &Back &Tillbaka &Forward &Framåt &Home &Hem Find Sök Find &Previous Sök &föregående Find &Next Sök &nästa Text string not found Textsträngen hittades inte numedit Error in unit data - {0} Fel i enhetsdata - {0} Converting... Konverterar... Units are not compatible ({0} vs. {1}) Enheterna är inte kompatibla ({0} vs. {1}) Set units Ange enheter No Unit Set Inga enheter angivna optiondlg &OK &OK &Cancel &Avbryt Preferences Inställningar unitatom Bad equation for "{0}" Felaktig ekvation för "{0}" unitdata Can not read "units.dat" file Kan inte läsa filen "units.dat" Duplicate unit names found Dubbla enhetsnamn hittade unitgroup Circular unit definition Cirkulär enhetsdefinition Invalid conversion for "{0}" Ogiltig konvertering för "{0} Cannot combine non-linear units Kan inte kombinera icke-linjära enheter Bad equation for {0} Felaktig ekvation för "{0}" unitlistview Unit Name Enhetsnamn Unit Type Enhetstyp Comments Kommentar ConvertAll-0.8.0/translations/qt_ca.qm000066400000000000000000000002221363574405500177470ustar00rootroot00000000000000ʴ5>4 Ac>} K!?> bb?( b`? la@ la@8 lf@n t@ @ A ˰BU B %'C- C )D */D9 =Dr BD T^EU c(E eE JE %pF ,Fa F ˔F :G f GO sG G 0NH E9H Mc\I* f)Ir I 5TKa HK $K .@L iLO L L JMF ̺M -DM kN 0NZ N .N RVOC RVO| SO YO [P j7oP pQ\ Q R R %S( Si +>S ;ɾS PtT ^+dTK feT gT iFCU iU uU wV1 w}V ^V RW t5W WpSX XRuXGa.XYY>ݖY[yZ  Z`%4Z-vZ0i)[[0[2wT[a\c5\{~a\`]5]N]ky^J_0P_t2_i`J**QWidget++ QShortcutAMAM QDateTimeEditOKOK QColorDialogOKOKQDialogButtonBoxOKOK QMessageBoxOKOK QPrintDialogOKOKQPrintPropertiesDialogPMPM QDateTimeEditNeinNo QShortcutHochUp QShortcutamam QDateTimeEditpmpm QDateTimeEditto QPrintDialog&OK&OK QErrorMessage N&ein&NoQDialogButtonBoxAltAlt QShortcutF%1F%1 QShortcutEntfDel QShortcutEndeEnd QShortcutEscEsc QShortcut EinfgIns QShortcutTabTab QShortcut AnfangTop QScrollBarXIMXIM QInputContextJaYes QShortcutFehler: Fatal Error: QErrorMessage&Ja&YesQDialogButtonBox ZurckBack QFileDialog ZurckBack QShortcut AnrufCall QShortcut&AusschneidenCu&t QLineEdit&AusschneidenCu&t QTextControlStrgCtrl QShortcut RunterDown QShortcutBeendenExitQMenuBar DateiFile QFileDialog DateiFile QPrintDialogUmdrehenFlip QShortcut HilfeHelpQDialogButtonBox HilfeHelp QMessageBox HilfeHelp QShortcutPos1HomeQObjectPos1Home QShortcutKind QDirModel LinksLeft QShortcutMenMenu QShortcutMetaMeta QShortcutNameNamePPDOptionsModelNameName QDirModel ffnenOpenQDialogButtonBox ffnenOpen QFileDialogBild aufwrtsPgUp QShortcut WiederherstellenRedo QUndoGroup WiederherstellenRedo QUndoStackBeendenQuitQMenuBarSpeichernSaveQDialogButtonBoxSpeichernSaveQPrintPropertiesDialog GreSize QDirModelSortierenSort QFileDialogAbbrechenStop QShortcutWahrTrueQObjectRckgngigUndo QUndoGroupRckgngigUndo QUndoStack"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog&Kopieren&Copy QLineEdit&Kopieren&Copy QTextControl&Schriftart&Font QFontDialogVer&schieben&Move QWorkspace&ffnen&Open QFileDialog &Rot:&Red: QColorDialog"Wieder&herstellen&Redo QLineEdit"Wieder&herstellen&Redo QTextControl &Sat:&Sat: QColorDialogS&peichern&Save QFileDialog &Gre&Size QFontDialog&Gre ndern&Size QWorkspace&Rckgngig&Undo QLineEdit&Rckgngig&Undo QTextControl &Val:&Val: QColorDialogFLegal (8,5 x 14 Zoll, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogAbbrechenAbortQDialogButtonBoxberAboutQMenuBarAnwendenApplyQDialogButtonBoxSchlieenCloseQDialogButtonBoxSchlieenClose QWorkspaceLaufwerkDrive QFileDialog EnterEnter QShortcut FalschFalseQObjectFarb&ton:Hu&e: QColorDialogMinimierenMinimize QWorkspaceAlles drucken Print all QPrintDialog ffnenOpen  QFileDialog PausePause QShortcutSonstigesOther QPrintDialog DruckPrint QPrintDialog DruckPrint QShortcutResetQDialogButtonBoxWiederholenRetryQDialogButtonBox RechtsRight QShortcutEinrichtenSetupQMenuBarUmschaltShift QShortcutSize: QPrintDialogLeertasteSpace QShortcutValuePPDOptionsModelDirekthilfe What's This?QDialogDirekthilfe What's This?QWhatsThisAction

About Qt

%1

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across MS Windows, Mac OS X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qtopia Core.

Qt is a Trolltech product. See www.trolltech.com/qt/ for more information.

 QMessageBoxRestore DefaultsQDialogButtonBoxAufzeichnen Media Record QShortcut"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog$Bildschirm drucken Print Screen QShortcut8Eigene Farben &definieren >>&Define Custom Colors >> QColorDialogPapierquelle: Paper source: QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialog*Nach &Gre sortieren Sort by &Size QFileDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog*Nach &Datum sortieren Sort by &Date QFileDialog(Nach &Name sortieren Sort by &Name QFileDialog9'%1' is write protected. Do you want to delete it anyway? QFileDialogDAktiviert das Programmhauptfenster#Activates the program's main window QApplicationShow Details... QMessageBox"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogHRLE Start of right-to-left embedding$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu.Im &Vordergrund bleiben Stay on &Top QWorkspaceJDiese Meldungen noch einmal an&zeigen&Show this message again QErrorMessage B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog,Windows-EingabemethodeWindows input method QInputContext&Dekrementieren Step &downQAbstractSpinBoxHhen - Treble Down QShortcut$XIM-EingabemethodeXIM input method QInputContext"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialogSchl&ieen&Close QWorkspacePPD PropertiesQPrintPropertiesDialogEinf&gen&Paste QLineEditEinf&gen&Paste QTextControl Selection QPrintDialog*Rollen-Feststelltaste Scroll Lock QShortcut&Nach unten scrollen Scroll down QScrollBarHier scrollen Scroll here QScrollBar&Nach links scrollen Scroll left QScrollBar QUndoModel"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialog*Die Selektion DruckenPrint selection QPrintDialog%1 - [%2] %1 - [%2] QWorkspace*ZWSP Zero width spaceZWSP Zero width spaceQUnicodeControlCharacterMenuLautstrke - Volume Down QShortcutTon aus Volume Mute QShortcut"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogVorherigerMedia Previous QShortcut Home Page QShortcutPapierformat Paper format QPrintDialogLautstrke + Volume Up QShortcut Print dialog QPrintDialog/%1 already exists. Do you want to overwrite it? QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialogFarbauswahl Select color QColorDialog Printer info: QPrintDialogRZu benutzerdefinierten Farben &hinzufgen&Add to Custom Colors QColorDialog Bla&u:Bl&ue: QColorDialogLTRQT_LAYOUT_DIRECTION QApplicationEndeBottom QScrollBarAbbrechenCancel QColorDialogAbbrechenCancelQDialogButtonBoxAbbrechenCancel QPrintDialogAbbrechenCancelQProgressDialogBrowse QPrintDialogStart (6) Launch (6) QShortcutStart (7) Launch (7) QShortcutStart (8) Launch (8) QShortcutStart (9) Launch (9) QShortcutStart (2) Launch (2) QShortcutStart (3) Launch (3) QShortcutStart (4) Launch (4) QShortcutStart (5) Launch (5) QShortcutStart (0) Launch (0) QShortcutStart (1) Launch (1) QShortcutStart (F) Launch (F) QShortcutStart (B) Launch (B) QShortcutStart (C) Launch (C) QShortcutStart (D) Launch (D) QShortcutStart (E) Launch (E) QShortcutStart (A) Launch (A) QShortcutKonfigurationConfigQMenuBarCopies QPrintDialogLschenDelete QLineEditLschenDelete QShortcutLschenDelete QTextControlQuerformat Landscape QPrintDialog EscapeEscape QShortcutAuflegenHangup QShortcut"ElternverzeichnisParent Directory QFileDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog> File not found. Please verify the correct file name was given QFileDialogIgnorierenIgnoreQDialogButtonBoxEinfgenInsert QShortcut(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialogBass Boost Bass Boost QShortcutBild abwrtsPgDown QShortcut$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialog ReturnReturn QShortcutBeispielSample QFontDialog&AufrollenSh&ade QWorkspace SuchenSearch QShortcutAuswhlenSelect QShortcut&Unsortiert &Unsorted QFileDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog"B5 (176 x 250 mm)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog SysReqSysReq QShortcut*Zahlen-FeststelltasteNumLock QShortcutMein Computer My Computer QFileDialogBereich drucken Print range QPrintDialog*Rollen-Feststelltaste ScrollLock QShortcutClose without SavingQDialogButtonBoxKontext1Context1 QShortcutKontext2Context2 QShortcutKontext3Context3 QShortcutKontext4Context4 QShortcutSuchen in:Look in: QFileDialog$Anzahl der Kopien:Number of copies: QPrintDialogOptionenOptionsQMenuBarBild aufwrtsPage Up QShortcut(Eine Seite nach obenPage up QScrollBar File exists QPrintDialog.Mac OS X-EingabemethodeMac OS X input method QInputContextHochformatPortrait QPrintDialogffne URLOpen URL QShortcut Properties QPrintDialogDebug Ausgabe:Debug Message: QErrorMessageFeststelltaste Caps Lock QShortcutDateiname: File name: QFileDialogSeitengre: Page size: QPrintDialog,Eine Seite nach rechts Page right QScrollBarDruckerPrinter QPrintDialogN&ein zu allem N&o to AllQDialogButtonBoxDouble side printing QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialogSchrifts&til Font st&yle QFontDialog8Farbig drucken falls mglichPrint in color if available QPrintDialog direkt verbundenlocally connected QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialog"Dateien des Typs:Files of type: QFileDialogSystem RequestSystem Request QShortcutFeststelltasteCapsLock QShortcutRck-TabBacktab QShortcut Bass +Bass Up QShortcutWarnung:Warning: QErrorMessage&SchriftsystemWr&iting System QFontDialogAktualisierenRefresh QShortcutQuit %1QMenuBarSave AllQDialogButtonBox"Wieder&herstellen&Restore QWorkspace8&Versteckte Dateien anzeigenShow &hidden files QFileDialog!Are sure you want to delete '%1'? QFileDialog@Unicode-Kontrollzeichen einfgen Insert Unicode control characterQUnicodeControlCharacterMenu$Nach oben scrollen Scroll up QScrollBarber QtAbout QtQMenuBarber QtAbout Qt QMessageBoxAbout %1QMenuBarSpeichern unterSave As QFileDialogAlias: %1 Aliases: %1 QPrintDialog%1 Das Verzeichnis konnte nicht gefunden werden. Stellen Sie sicher, dass der Verzeichnisname richtig ist.K%1 Directory not found. Please verify the correct directory name was given. QFileDialogEinstellungenSettingQMenuBarFLRO Start of left-to-right override#LRO Start of left-to-right overrideQUnicodeControlCharacterMenuHLRE Start of left-to-right embedding$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuStart Mail Launch Mail QShortcutPrint To File ... QPrintDialogRcktaste Backspace QShortcut(Schriftart auswhlen Select Font QFontDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialog Bass - Bass Down QShortcutCollate QPrintDialog Liste List View QFileDialogStandbyStandby QShortcut&Inkrementieren&Step upQAbstractSpinBox&Lschen&Delete QFileDialogAktivierenActivate QApplication&Unterstrichen &Underline QFontDialog &Grn:&Green: QColorDialog Alle Dateien (*) All Files (*) QFileDialogVerzeichnisse Directories QFileDialogDiscardQDialogButtonBoxjApplikation '%1' bentigt Qt %2, aber Qt %3 gefunden.,Executable '%1' requires Qt %2, found Qt %3. QApplication4Whlen Sie ein VerzeichnisSelect a Directory QFileDialogJa zu &allem Yes to &AllQDialogButtonBox$Alle Dateien (*.*)All Files (*.*) QFileDialog|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxErne&ut laden&Reload QFileDialog&Umbenennen&Rename QFileDialogCould not delete directory. QFileDialogHhen + Treble Up QShortcut"A4 (210 x 297 mm)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialogAlles auswhlen Select All QLineEditAlles auswhlen Select All QTextControlVerzeichnis: Directory: QFileDialogEffekteEffects QFontDialog Durch&gestrichen Stri&keout QFontDialog(Nach rechts scrollen Scroll right QScrollBar*Zahlen-FeststelltasteNum Lock QShortcut*Zahlen-Feststelltaste Number Lock QShortcutGrundfar&ben &Basic colors QColorDialogUnbekanntUnknown QFileDialogunbekanntunknown QPrintDialog Pages from QPrintDialog&Herabrollen&Unshade QWorkspace,RLM Right-to-left markRLM Right-to-left markQUnicodeControlCharacterMenu|Die Datei %1 existiert bereits. Soll sie berschreiben werden?-%1 already exists. Do you want to replace it? QFileDialog4&Benutzerdefinierte Farben&Custom colors QColorDialog%Do you want to overwrite it? QPrintDialogNExecutive (7,5 x 10 Zoll, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialog<PDF Pop directional formattingPDF Pop directional formattingQUnicodeControlCharacterMenuEinstellungen PreferenceQMenuBar PreferencesQMenuBarA&lphakanal:A&lpha channel: QColorDialogCopy &Link Location QTextControlM&inimieren Mi&nimize QWorkspace6Letzte Seite zuerst druckenPrint last page first QPrintDialogLinke Seite Left edge QScrollBarHLetter (8,5 x 11 Zoll, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogFavoriten Favorites QShortcutVorwrtsForward QShortcutBild abwrts Page Down QShortcut*Eine Seite nach unten Page down QScrollBar*Eine Seite nach links Page left QScrollBarHide Details... QMessageBox4ZWNJ Zero width non-joinerZWNJ Zero width non-joinerQUnicodeControlCharacterMenuMa&ximieren Ma&ximize QWorkspace Wiederherstellen Restore Down QWorkspaceTypAll other platformsType QDirModelFRLO Start of right-to-left override#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu Don't SaveQDialogButtonBox Print to file QPrintDialog*ZWJ Zero width joinerZWJ Zero width joinerQUnicodeControlCharacterMenu=File %1 is not writable. Please choose a different file name. QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog,Neuen Ordner erstellenCreate New Folder QFileDialog Date Modified QDirModel,LRM Left-to-right markLRM Left-to-right markQUnicodeControlCharacterMenuWiedergabe Media Play QShortcut Stopp Media Stop QShortcutNchster Media Next QShortcut^<p>Dieses Programm verwendet Qt Version %1.</p>'

This program uses Qt version %1.

 QMessageBoxRechte Seite Right edge QScrollBar$Start Media Player Launch Media QShortcut A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogDetails Detail View QFileDialog%1 Die Datei konnte nicht gefunden werden. Stellen Sie sicher, dass der Dateiname richtig ist.A%1 File not found. Please verify the correct file name was given. QFileDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"Druckausrichtung: Orientation: QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialog<Qt Bibliothek ist inkompatibelIncompatible Qt Library Error QApplicationConvertAll-0.8.0/translations/qt_es.qm000066400000000000000000001024551363574405500200060ustar00rootroot00000000000000;`;;;;M OO-7}ImS](5c+;o+;+O+OH4HJKLDLPSZr+[`7\O_[_s1}-,CUx%%%%90M0m005 D+,Y RZ ^Zg d\]4 x\ |^ vv@`f߮IA[Iyɵnɵnɵnɵn3ɵnJɵn`ɵny B1 YMqH<po5#Q%UT*42C'CdCCeCeD"!D"^D1MaR?4fP:l^oRdw^|{yW2j. d0yi6ur< B"lH)-/=N1$5~ < d?NNkyT]|``) 6s^= &,fE{8AA [ynL ME*E_ww!e)*/e52;8ByOZf` Bcփ Hu( jl p v$ |$ !!(!^!ֈ7"n n"t,"z";y"""&H"/"IxS"YM#>YM#yh^#i#ssc$=w$C$I$ۊ$N$]$I$I$I%%I%KI%rI%I%I%I&n&*I&0Y&Ji&dy&~&&&&''I'4'N'h'''uD'uD( o(A,(G,(i,(,(,((ɘe(5$(fR)N)6)Nc)z*^*,Pq*2V*~*** **+&%C+,?"+LKN+RM+XR+]+]+k+y^+{y++G%+ǥ,,++,At,]t,{y,r,-(-:%-@C--F5-ƨ-ƨ-˾-ҝz-է?.f.6~b.to.!.+3./.6 /G/4LAU/~U/U/Z/Z/Z0Z0&]k*0>^n0Xe0i0i1rg19y;1a}u1g}w1}w122@t2zt2.2.2P2D3 t3t3t3_ 4%F4=ʢ4Cʢ4Xd4^d4sd4d4594֣44U4B5w5E 5K25Q65D5K6U|6/ar6_p6et6}wZ6}$6}$7Z7LK<7R7l7 7/7E8,@58du8T8i~99h5kE9XU 9bD9gA:i$:nx1 :tz*2:d:U:5:z:҉;m;n;8;\O~;vC;|ʴ5;Ԅ;D<d<F5="Y=(I=.As=b =z }$= qe= ڤ= E>. E>E Ac>K Ac> 35> K!?? bb? b`?l i3? la@ |@6 t@ t@ @ @ A A >A A A B KB B %'Bb B C> C^ )Cd */Cj 7uC| =C BC T^D2 ]DX `D `D c(D dD eD eE f1E& gEj gnE k,F rD"F( xFp ~Fv F| 9F IF IG! ;G9 Ge G| JG %pG ,G ,G G ˔G PH H+ Hd 68H :H f H f I5 4Ig sIm sI AAI J m,J #-tJX 0NJ E9K& E9Ko LK Mc\K SK VK ]$L/ f)L5 f)L| io>L m`M wM 5TM< HMT HM $M .@M M iN Na N N JN JO t.O9 kO? ӇOE OK ̺Ow -DO kO U)O <P 0P  P-  Pd P xHP .P 7FQ >QP >Q >Q >Q >R$ >RZ DTR IR RVR RVR S.S SSN YST [Sv j7oS pT .T< BTB TH TT TT TT TT T T T )dU0 U .U .U .U .V aV yVW V] Vc tV :bV ʜW+ DW1  rW7 +>W 0EW ;ɾX PtX ^+dX feY- gYQ iFCY iY uY wY wZ8 w}Zj w}Z Z [ ^[> R[D o[~ X[ D[ t5\ \( )\L \T\gT\pS\*\/E\I_]$XRu][ ]a.^PvɅ^Vy$^p~^^S^B_V__ݖ`[y`  `H `"#`$U`%4a-va 0i)a?0ak1ca2wTaDaHbqJdbL$.bacc5cyCd{~ad`ddeNe(kyeJePft2f.fvffif*+AMAceptar Q3TabDialogAceptar QAxSelectAceptar QColorDialogAceptarQDialogButtonBoxAceptar QMessageBoxAceptar QPrintDialogAceptarPMNo QShortcutNo Arribaampm%1%&Aceptar Q3FileDialog&Aceptar&No Q3FileDialog&NoAltF%1SuprDirFinEscInsTabPrincipioXIMS QShortcutSError fatal:&S Q3FileDialog&S,Precedente (histrico) Q3FileDialogAnterior QFileDialogAnterior LlamarCor&tar Q3TextEditCor&tar QLineEditCor&tar FechaCtrl AbajoFichero Q3FileDialogFichero QFileDialogFicheroVoltear Ayuda Q3TabDialog AyudaQDialogButtonBox Ayuda QMessageBox Ayuda InicioIzquierdaMenMeta NombrePPDOptionsModel Nombre Q3FileDialog Nombre Abrir Q3FileDialog Abrir QComboBox AbrirQDialogButtonBox Abrir QFileDialog AbrirQMenu Abrir QPushButton Abrir Re Pg QUndoGroupGuardarQDialogButtonBoxGuardar QFileDialogGuardar Tamao Q3FileDialog TamaoOrdenar Q3FileDialogOrdenarDetenerVerdadero Q3DataTableVerdaderoTipo QUndoGroup"A6 (105 x 148 mm)&Copiar Q3TextEdit&Copiar QLineEdit&Copiar&Tipo de letra &Ayuda &Mover &Abrir Q3FileDialog &Abrir &Rojo:&Rehacer Q3TextEdit&Rehacer QLineEdit&Rehacer&Saturacin:&Guardar Q3FileDialog&Guardar&Tamao QFontDialog&Tamao&Deshacer Q3TextEdit&Deshacer QLineEdit&Deshacer&Brillo:NLegal (8,5 x 14 pulgadas, 216 x 356 mm)InterrumpirAplicar Q3TabDialogAplicar QCheckBoxLimpiar Cerrar Q3TitleBar CerrarQDialogButtonBox CerrarQMenu Cerrar Unidad Intro Falso Q3DataTable Falso Error &Tono:Minimizar Q3TitleBarMinimizar0No se ha podido abrir %1Imprimir todo Abrir  Q3FileDialog Abrir  PausaImpr Pant QPrintDialogImpr PantReintentarDerechaMayEspacio>La operacin de red ha expiradoLEl equpo remoto ha cerrado la conexinQu es esto?QDialogQu es esto?ZEl protocolo %1 no permite recibir ficherosPEl listado del directorio ha fallado: %1bNo se ha podido borrar el fichero o directorio %1Escritura: %1Grabar medio"B6 (125 x 176 mm) QDB2Driver QIBaseDriver QIBaseResult QMYSQLDriver QODBCDriverQSQLite2Driver(Equipo no encontradoQAbstractSocket(Equipo no encontrado<Descriptor de socket no vlido"Imprimir pantallaD&Definir colores personalizados >>"Fuente del papel:B8 (62 x 88 mm)treferencia a entidad no analizada en un contexto no vlidoA8 (52 x 74 mm)B9 (44 x 62 mm):Tipo de protocolo no admitidoA9 (37 x 52 mm)&Ordenar por &tamao Q3FileDialog&Ordenar por &tamao&B0 (1000 x 1414 mm)$Ordenar por &fecha Q3FileDialog$Ordenar por &fecha&Ordenar por &nombre Q3FileDialog&Ordenar por &nombreRFallo de la creacin de un directorio: %1LNo se ha podido crear el directorio %1Nueva carpeta 1PActiva la ventana principal del programa"A5 (148 x 210 mm).Tabloide (279 x 432 mm)HRLE Start of right-to-left embedding6Permanecer en &primer plano<Mo&strar este mensaje de nuevoBsintaxis no vlida para lookaheadno se permiten referencias a entidades externas generales ya analizadas en la DTD B10 (31 x 44 mm)2Mtodo de entrada Windows^valor errneo para la declaracin independienteRe&ducirNo conectado Bajar los agudosRConexin para conexin de datos rechazada*Mtodo de entrada XIMse esperaba una declaracin de codificacin o declaracin autnoma al leer la declaracin XML"B2 (500 x 707 mm)el directorio QDB2Result"&Tipo de fichero:&&Nombre de fichero:bNo hay ningn fichero o directorio con ese nombre&Cerrar4Identificacin fallida: %1 &Pegar Q3TextEdit &Pegar QLineEdit &Pegar4Bloqueo del desplazamiento*Desplazar hacia abajo(Desplazar hasta aqu8Desplazar hacia la izquierdaBorrar %1HFallo de la descarga del fichero: %1"A3 (297 x 420 mm) QDB2Result QMYSQLResult QOCIResult QODBCResultQSQLite2Result%1 - [%2]&Conectado al equipoQFtp&Conectado al equipoAlinear Q3MainWindowAlinear*ZWSP Zero width space Bajar el volumenSilenciarIntento de usar un socket IPv6 sobre una plataforma que no contempla IPv6"B4 (250 x 353 mm)>La plataforma no contempla IPv6Medio anterior>no se ha producido ningn errorQRegExp>no se ha producido ningn error|se ha producido un error durante el anlisis de una referencia"Formato del papel Subir el volumense esperaba una declaracin independiente al leer la declaracin XML"A1 (594 x 841 mm)*Seleccin de un colorH&Aadir a los colores personalizados,Conectado al equipo %1QFtp,Conectado al equipo %1 Ms...zEl protocolo %1 no permite renombrar ficheros o directoriosPLa conexin con el equipo ha fallado: %1 Az&ul:LTR FinalCancelar Q3FileDialogCancelarQ3ProgressDialogCancelar Q3TabDialogCancelar QColorDialogCancelarQDialogButtonBoxCancelar QFileDialogCancelar QPrintDialogCancelarQProgressDialogCancelarLanzar (6)Lanzar (7)Lanzar (8)Lanzar (9)Lanzar (2)Lanzar (3)Lanzar (4)Lanzar (5)Lanzar (0)Lanzar (1)Lanzar (F)Lanzar (B)Lanzar (C)Lanzar (D)Lanzar (E)Lanzar (A).Equipo %1 no encontradoQFtp.Equipo %1 no encontrado Borrar Q3DataTable Borrar QLineEdit Borrar QShortcut BorrarQSql BorrarApaisado EscapeR&ecargarNueva carpetaDescolgar&Directorio superiorEl protocolo %1 no permite listar los ficheros de un directorio$B1 (707 x 1000 mm)FEl envo del fichero ha fallado: %1IgnorarInsertar Q3DataTableInsertar QShortcutInsertar(Folio (210 x 330 mm)(desconocido)(Potenciar los graves QIBaseDriver Av Pg$DLE (110 x 220 mm)RetornoMuestraSombre&arBsquedaSeleccionar&Sin ordenar Q3FileDialog&Sin ordenar$C5E (163 x 229 mm)NB5 (176 x 250 mm, 6,93 x 9,84 pulgadas) PetSis<falta el delimitador izquierdoBloq NumActualizar Q3DataTableActualizarBuscar &en:,Borrar este registro?8Imposible recibir un mensajeMi computadoraHContenido del fichero previsualizado$Imprimir intervaloBloq DesplDFallo del cambio de directorio: %1 Permiso denegado QIODevice Permiso denegadoContexto1Contexto2Contexto3Contexto4Buscar en:\nombre de instruccin de tratamiento no vlido Nueva carpeta %1"Equipo encontradoQFtp"Equipo encontrado"Nmero de copias:"Retroceder pgina.Una pgina hacia arriba QScrollBar.Una pgina hacia arriba4error debido al consumidor4Mtodo de entrada Mac OS XVertical QScrollBarVsintaxis no vlida para clase de caracteresvse ha producido un error durante el anlisis de un elemento$Conexin rechazadaQAbstractSocket$Conexin rechazadaQHttp$Conexin rechazadaAbrir URL QDB2Result QDB2Result QMYSQLResult QOCIResult8Guardar las modificaciones?$Imposible escribir&carcter inesperado,Mensaje de depuracin:JEliminacin de directorio fallida: %1.etiqueta desequilibrada"Lectura-escritura*Bloqueo de maysculas$Nombre de fichero:Slo lectura"Tamao de pgina:.Una pgina a la derecha QScrollBar.Una pgina a la derechaN&o a todoXse ha usado una caracterstica no habilitada$A0 (841 x 1189 mm),Solicitud HTTP fallida2&Estilo del tipo de letra>Imprimir en color si es posible2Copiar o mover un fichero(conectado localmenteT<qt>Seguro que desea borrar %1 %2?</qt>*Ledger (432 x 279 mm)*valor octal no vlido"Ficheros de tipo:(Peticin del sistemaJNo se ha podido leer el directorio %1Bloq Mays*Tabulador hacia atrs Subir los graves Aviso:*Sistema de escr&ituraPersonalizar...Actualizar&Restaurartse ha producido un error durante el anlisis del contenidozse ha producido un error durante el anlisis de un comentariono se permiten referencias a entidades internas generales en la DTD.Buscar en el directorioAtributos:Direccin de tipo desconocidobYa hay otro socket escuchando por el mismo puerto QMYSQLResult:Mostrar los ficheros &ocultos Q3FileDialog:Mostrar los ficheros &ocultos6Imposible enviar un mensajeHInsertar carcter de control Unicode,Desplazar hacia arribatEl protocolo %1 no permite borrar ficheros o directoriosAcerca de QtHLa direccin enlazada ya est en usoGuardar como Q3FileDialogGuardar comoAlias: %1%1 Directorio no encontrado. Verique que el nombre del directorio es correcto."Conexin expiradaError de redInaccesible QIBaseResultFLRO Start of left-to-right overrideHLRE Start of left-to-right embedding%1 Fichero no encontrado. Compruebe la ruta y el nombre del fichero.Lanzar correo Borrar(entidades recursivas8Seleccionar un tipo de letraDSobre US Common #10 (105 x 241 mm) Bajar los graves8Operacin socker no admitida QIBaseDriverConfirmarVista de lista Q3FileDialogVista de lista>Conexin rechazada al equipo %18Operacin socket no admitidaTms de una definicin de tipo de documento Fichero especialBOperacin detenida por el usuarioXEl protocolo %1 no permite enviar ficherosSlo escritura&CancelarQ3Wizard&Cancelar&el enlace simblico QMYSQLResult Reposo&Aumentar&Borrar Q3FileDialog&BorrarActivarS&ubrayado&Terminar*Conexin a %1 cerradaQFtp*Conexin a %1 cerradaDsintaxis no vlida para repeticin&Verde:,Todos los ficheros (*) Q3FileDialog,Todos los ficheros (*)Directorios Q3FileDialogDirectoriosDEliminacin de fichero fallida: %1LEnlace simblico a un fichero especialVImposible inicializar el socket de difusinlEl ejecutable %1 requiere Qt %2 (se encontr Qt %3).2Seleccionar un directorio Q3FileDialog2Seleccionar un directorioSiguie&nte >S a &todoDNo queda espacio en el dispositivo0Todos los ficheros (*.*) Q3FileDialog0Todos los ficheros (*.*)bse esperaba la versin al leer la declaracin XMLLectura: %1&Recargar&Renombrar Q3FileDialog&Renombrar Subir los agudosBNo se ha podido renombrar %1 a %2NA4 (210 x 297 mm, 8,26 x 11,7 pulgadas) Seleccionar todo Q3TextEdit Seleccionar todo QLineEdit Seleccionar todoDirectorio: Q3FileDialogDirectorio:&Valores por omisinEfectos&Tachado4Desplazar hacia la derecha0Fragmento HTTP no vlidoBloq num(Equipo %1 encontradoQFtp(Equipo %1 encontrado Bloqueo numrico<Longitud del contenido errnea Colores &bsicos*se esperaba una letra"Error desconocidoQFtp"Error desconocido QHostInfo"Error desconocidoQHostInfoAgent"Error desconocidoQHttp"Error desconocido QIODevice"Error desconocidoHLa secuencia %1, %2 no est definidaDesconocidodesconocido:Cancelar sus modificaciones?Q&uitar sombra,RLM Right-to-left markZEl fichero %1 ya existe. Desea reemplazarlo?.Colores &personalizados2fin de fichero inesperado QDB2Driver QMYSQLDriver QODBCDriverVEjecutivo (7,5 x 10 pulgadas, 191 x 254 mm)ZImposible inicializar el socket no bloqueante<PDF Pop directional formatting QDB2Driver QIBaseDriver QMYSQLDriver6La direccin est protegida6No se ha podido escribir %18se alcanz el lmite internoHCabecera de respuesta HTTP no vlidaError de expiracioD socks5 mientras se estableca una conexin al servidor socksCanal a&lfa:no se permiten referencias a entidades externas generales ya analizadas en el valor de un atributoMi&nimizarBImprimir primero la ltima pginaBorde izquierdoNCarta (8,5 x 11 pulgadas, 216 x 279 mm)FavoritosSiguienteAvanzar pgina,Una pgina hacia abajo QScrollBar,Una pgina hacia abajo2Una pgina a la izquierda QScrollBar2Una pgina a la izquierda Conexin cerradaQFtp Conexin cerrada4ZWNJ Zero width non-joiner2Ir al directorio superiorLInformacin del fichero previsualizadoMa&ximizarRestaurar abajo>Secuencia ambigua %1 no tratada2Operacin socket expiradaTipo< &Anterior Red inalcanzablefNo se ha indicado ningn servidor al que conectarseFRLO Start of right-to-left overridenerror en la declaracin de texto de una entidad externael ficherofin inesperadoZEl servidor cerr la conexin inesperadamenteXDemasiados ficheros abiertos simultneamenteJEl protocolo %1 no est contemplado*ZWJ Zero width joiner>La direccin no est disponible"B3 (353 x 500 mm).Crear una nueva carpeta Q3FileDialog.Crear una nueva carpeta:Enlace simblico a un fichero,LRM Left-to-right mark&Reproducir el medio Detener el medio,Insuficientes recursosSiguiente medioEl protocolo %1 no permite copiar o mover ficheros o directorios@Enlace simblico a un directorio,Solicitud interrumpidase ha producido un error durante el anlisis de la definicin de tipo de documentob<p>Este programa utiliza la versin %1 de Qt.</p>Borde derechojEl protocolo %1 no permite crear nuevos directoriosLanzar medio A7 (74 x 105 mm)Vista detallada Q3FileDialogVista detallada%1 Fichero no encontrado. Verifique que el nombre del fichero es correcto."A2 (420 x 594 mm)Orientacin: B7 (88 x 125 mm)BError: biblioteca Qt incompatible QMYSQLDriverQSQLite2Driver/z "(/8=CFKR\ahu{ $,9AHORenw '-39@ QProgressBarQDialog QDB2Driver QCheckBox QUndoStackQXml Q3TitleBar QMYSQLResultQDialogButtonBoxQ3Accel Q3TextEditQFtpQLibrary QFontDialogQMultiInputContextQRegExp QODBCResultQMultiInputContextPlugin QDB2Result QODBCDriver QDirModel QTcpServer QTDSDriver Q3FileDialog QSQLiteResultQSQLite2Result QToolButton QScrollBarQNativeSocketEngine Q3LocalFsQSlider QTextControl QPSQLDriver QColorDialog QIODevice QMYSQLDriver QAxSelect QWorkspace QApplication QOCIResult QShortcutQAbstractSpinBox QErrorMessage QSQLiteDriverQHostInfoAgent QUdpSocket QRadioButton QDateTimeEdit QMessageBox Q3TabDialogQSqlQTabBar QFileDialogQ3ProgressDialogQProgressDialogPPDOptionsModelQ3NetworkProtocolQMenu Q3MainWindowQWhatsThisAction QPrintDialogQUnicodeControlCharacterMenuQSQLite2DriverQObjectQPrintPropertiesDialog QComboBoxQ3Wizard Q3UrlOperator QInputContextQHttp QIBaseDriver Q3ToolBar QHostInfo QIBaseResultQWidget QLineEdit Q3DataTableQAbstractSocket QPSQLResultQSocks5SocketEngine QUndoModel QOCIDriver QUndoGroup QPushButtonQSpinBoxConvertAll-0.8.0/translations/qt_fr.qm000066400000000000000000001002631363574405500200010ustar00rootroot00000000000000lD J$P$ `( ^ ֈ7! n!,! !&;y!,!T!&H!/!IxS!YM!YM"h^"Mi"cssc"w"##Mۊ#SN#g]#sI#I#I#I#I$I$EI$iI$I$n$I$Y$i%y%%8%R%l%%%I%%&&"&<&VuD&puD&o&,&,&,'%,'K,'l'ɘe'5$'fR'N'( c(,(^(Pq(V)*)>)b) )))%C)?")KN)M)R*]*]*/k*5y^*M{y*S*}G%*ǥ**+*t*t+{y+2r+\++%+C-+5+ƨ+ƨ,˾,2ҝz,8է?,^f,~b,o- !-N+3-T/-Z6 -G-LAU-U-U.$Z.BZ.ZZ.rZ.]k*.^n.e/i/Fi/krg/y;/}u/}w/}w/00dt0t0.0.0P0D1+t1t1t2_ 27F2Qʢ2Wʢ2ld2rd2d2d2592֣22U3 B35w3a 3g23m63D3K4U|4Aar4Gp4Mt4s}wZ4}$4}$4Z5K<55"5J 5P/5zE5@55u6T6Vi~6~65kE7XU 7FbD7pgA7i$7x1 7z*27d7U858z8"҉8Dm8Jn8v8O~8C8ʴ58Ԅ8D9Nd9F5:>Y:DI:JAs: : }$: qe: ڤ: E;6 E;M Ac;S Ac; 35; K!?<( bb<. b`<~ i3< la=D |=f t= t= > ># > > >? ? ?- ?D K?J ?P %'? ? @ @ )@ */@ 7u@ =@ BA( T^Ax ]A `A `A c(A dA eB eBD f1Bh gB gnB k,CB rD"Cf xC ~C C 9D8 IDZ ID} ;D D D JD %pD ,E ,E3 EM ˔Ea PEy E E 68E :FD f FX f F 4F sF sF AAG Gd m,Gj #-tG 0NH E9H E9H LH Mc\I SI3 VI9 ]$I f)I f)I io>J m`Jj wJp 5TJ HJ HJ $J .@J K iKM Ku K K JL JL3 t.LK kLQ ӇLW L] ̺Lw -DL kL U)L <L 0M  M  M6 MX xHM^ .M 7FM >M >N >NG >N~ >N >N DTO IOP RVOV RVOj S.O~ SO YO [O j7oP pPt .P BP P TP TQ TQ TQ0 Q6 Q< QB )dQ Q .R< .RQ .Rh .R aR yR R R tR :bS+ ʜSo DSu  rS{ +>T' 0ETI ;ɾT PtT ^+dT feU? gUa iFCU iU uU wV wV2 w}VR w}V V V ^W RW oWB XWH DW| t5W W )X XNTXTgTXZpSX*X/EXI_XXRuY.[ Yza.YvɅYy$Z~Z2ZSZBZ[[Nݖ[[y[ [ \"#\;$U\A%4\-v\0i)\0\1c\2wT])D]IH]Jd^L$.^Ia^c5_UyC_w{~a_```;`vN`kya>JafPat2aabb,ib2*+AMOK Q3TabDialogOK QAxSelectOK QColorDialogOKQDialogButtonBoxOK QMessageBoxOK QPrintDialogOKPMNon QShortcutNonHautampm%1 %&OK Q3FileDialog&OK&Non Q3FileDialog&NonAltF%1 SupprDossierFin chap InserTabEn hautXIMOui QShortcutOuiErreur fatale:&Oui Q3FileDialog&Oui,Prcdent (historique) Q3FileDialog,Prcdent (historique) QFileDialog,Prcdent (historique)AppelerCo&uper Q3TextEditCo&uper QLineEditCo&uperDateCtrlBasFichier Q3FileDialogFichier QFileDialogFichierRetournerAide Q3TabDialogAideQDialogButtonBoxAide QMessageBoxAide Dbut GaucheMenuMtaNomPPDOptionsModelNom Q3FileDialogNom Ouvrir Q3FileDialog Ouvrir QComboBox OuvrirQDialogButtonBox Ouvrir QFileDialog OuvrirQMenu Ouvrir QPushButton OuvrirPage prc QUndoGroupEnregistrerQDialogButtonBoxEnregistrer QFileDialogEnregistrer Taille Q3FileDialog TailleTri Q3FileDialogTriStopVrai Q3DataTableVraiType QUndoGroup"A6 (105 x 148 mm)Cop&ier Q3TextEditCop&ier QLineEditCop&ier&Police &Aide&Dplacer&Ouvrir Q3FileDialog&Ouvrir&Rouge : A&nnuler Annuler Q3TextEdit A&nnuler Annuler QLineEdit A&nnuler Annuler&Saturation :&Enregistrer Q3FileDialog&Enregistrer&Taille QFontDialog&Redimensionner&Annuler Q3TextEdit&Annuler QLineEdit&Annuler&Valeur :JLegal (8.5 x 14 pouces, 216 x 356 mm)AbandonnerAppliquer Q3TabDialogAppliquer QCheckBoxEffacer Fermer Q3TitleBar FermerQDialogButtonBox FermerQMenu Fermer Unit EntreFaux Q3DataTableFaux Erreur&Teinte :Rduire Q3TitleBarRduire,Impossible d'ouvrir %1Imprimer tout Ouvrir Q3FileDialog Ouvrir PauseImpr cran QPrintDialogImpr cranRessayer DroiteMaj Espace6L'opration rseau a expirFL'hte distant a ferm la connexion*Qu'est-ce que c'est ?QDialog*Qu'est-ce que c'est ?pLe protocole `%1' ne permet pas de recevoir des fichiers@chec du listage du dossier : %1`Impossible de supprimer le fichier ou dossier %1criture : %1"Mdia enregistrer"B6 (125 x 176 mm) QDB2Driver QIBaseDriver QIBaseResult QMYSQLDriver QODBCDriverQSQLite2Driver Hte introuvableQAbstractSocket Hte introuvable<Descripteur de socket invalideNDfinir des &couleurs personnalises >>$Source du papier :B8 (62 x 88 mm)fappel d'entit non parse dans un contexte invalideA8 (52 x 74 mm)B9 (44 x 62 mm)"Protocol non grA9 (37 x 52 mm)"Trier par ta&ille Q3FileDialog"Trier par ta&ille&B0 (1000 x 1414 mm)Trier par &date Q3FileDialogTrier par &dateTrier par &nom Q3FileDialogTrier par &nomLchec de la cration d'un dossier : %1BImpossible de crer le dossier %1"Nouveau dossier 1RActive la fentre principale du programme"A5 (148 x 210 mm).Tablode (279 x 432 mm)HRLE Start of right-to-left embedding.&Rester au premier plan>&Afficher ce message de nouveau>syntaxe invalide pour lookaheadzappel d'entit externe parse gnrale non permis dans la DTD B10 (31 x 44 mm)0Mthode d'entre WindowsRvaleur invalide pour dclaration autonome&DiminuerNon connectAigus bas0Connexion donne refuse(Mthode d'entre XIMdclaration d'encodage ou dclaration autonome attendue dans la dclaration XML"B2 (500 x 707 mm)le dossier QDB2Result$&Type de fichier :"&Nom de fichier :DAucun fichier ou dossier de ce nom&Fermer$chec du login: %1Co&ller Q3TextEditCo&ller QLineEditCo&ller&Dfiler vers le bas"Dfiler jusqu'ici,Dfiler vers la gaucheSupprimer %1Nchec du tlchargement du fichier : %1"A3 (297 x 420 mm) QDB2Result QMYSQLResult QOCIResult QODBCResultQSQLite2Result%1 - [%2]"Connect l'hteQFtp"Connect l'hteAligner Q3MainWindowAligner*ZWSP Zero width spaceVolume basVolume muetTentative d'utiliser un socket IPv6 sur une plateforme qui ne supporte pas IPv6"B4 (250 x 353 mm)JCette plateforme ne supporte pas IPv6Mdia prcdent>aucune erreur ne s'est produiteQRegExp>aucune erreur ne s'est produitevune erreur s'est produite lors de l'analyse d'une rfrence Format du papierVolume haut jdclaration autonome attendue dans la dclaration XML"A1 (594 x 841 mm).Slection d'une couleurH&Ajouter aux couleurs personnalises(Connect l'hte %1QFtp(Connect l'hte %1Reste...Le protocole `%1' ne permet pas de renommer des fichiers ou des dossiersBchec de la connexion l'hte %1Ble&u :LTR En basAnnuler Q3FileDialogAnnulerQ3ProgressDialogAnnuler Q3TabDialogAnnuler QColorDialogAnnulerQDialogButtonBoxAnnuler QFileDialogAnnuler QPrintDialogAnnulerQProgressDialogAnnulerLancer (6)Lancer (7)Lancer (8)Lancer (9)Lancer (2)Lancer (3)Lancer (4)Lancer (5)Lancer (0)Lancer (1)Lancer (F)Lancer (B)Lancer (C)Lancer (D)Lancer (E)Lancer (A)&Hte %1 introuvableQFtp&Hte %1 introuvableSupprimer Q3DataTableSupprimer QLineEditSupprimer QShortcutSupprimerQSqlSupprimerPaysagechapementR&echargerNouveau dossierRaccrocherDossier parentLe protocole `%1' ne permet pas de lister les fichiers d'un dossier$B1 (707 x 1000 mm)<chec du tldchargement : %1IgnorerInsrer Q3DataTableInsrer QShortcutInsrer(Folio (210 x 330 mm)(inconnu)Graves fort QIBaseDriverPage suiv$DLE (110 x 220 mm) RetourExemple&EnroulerRechercheSlectionner&Non tri Q3FileDialog&Non tri$C5E (163 x 229 mm)"B5 (176 x 250 mm)Syst4dlmiteur gauche manquantVerr numActualiser Q3DataTableActualiser Chercher &dans :<Supprimer cet enregistrement ?BImpossible de recevoir un messageMon ordinateur>Contenu du fichier prvisualis*Imprimer la slectionArrt dfilFchec du changement de dossier : %1Accs refus QIODeviceAccs refusContexte1Contexte2Contexte3Contexte4Chercher dans :Pnom d'instruction de traitement invalide$Nouveau dossier %1Hte trouvQFtpHte trouv$Nombre de copies :Page prcdente QScrollBarPage prcdenteJerreur dclenche par le consommateur2Mthode d'entre Mac OS XPortrait QScrollBarRsyntaxe invalide pour classe de caractrepune erreur s'est produite lors de l'analyse d'un lment"Connexion refuseQAbstractSocket"Connexion refuseQHttp"Connexion refuseOuvrir URL QDB2Result QDB2Result QMYSQLResult QOCIResult>Enregistrer les modifications ?&Impossible d'crire&caractre impromptu(Message de dbogage:Rchec de la suppression d'un dossier : %1"balise dbalance Lecture-criture Nom de fichier :Lecture seuleDimensions :Page suivante QScrollBarPage suivanteNon to&ut"option dsactive$A0 (841 x 1189 mm)0chec de la requte HTTP St&yle de police>Imprimer en couleur si possible6Copie ou dplace un fichier"connect en local`<qt>Voulez-vous vraiment supprimer %1 "%2"?</qt>*Ledger (432 x 279 mm),valeur octale invalide$Fichiers de type :Systme@Impossible de lire le dossier %1Verr majTab arrGraves hautAvertissement:&&Systme d'criture Personnaliser...Rafrachir&Restaurerlune erreur s'est produise lors de l'analyse du contenuxune erreur s'est produise lors de l'analyse d'un commentairelappel d'entit interne gnrale non permis dans la DTD0Chercher dans le dossierAttributs.Adresse de type inconnuXUn autre socket coute dj sur le mme port QMYSQLResult:Afficher les fic&hiers cachs Q3FileDialog:Afficher les fic&hiers cachs>Impossible d'envoyer un messageJInsrer caractre de contrle Unicode(Dfiler vers le hautLe protocole `%1' ne permet pas de supprimer des fichiers ou des dossiers propos de Qt@L'adresse lie est dj en usage Enregistrer sous Q3FileDialog Enregistrer sousAlias : %1%1 Dossier introuvable. Veuillez vrifier que le nom du dossier est correct."Connexion expireErreur rseauInaccessible QIBaseResultFLRO Start of left-to-right overrideHLRE Start of left-to-right embedding%1 Impossible de trouver le fichier. Vrifier le chemin et le nom du fichier.Lancer courrierEffacement$entits rcursives$Choisir une policeJUS Common #10 Envelope (105 x 241 mm)Graves bas<Opration socket non supporte QIBaseDriverConfirmerAffichage liste Q3FileDialogAffichage liste:Connexion l'hte %1 refuse<Operation socket non supporteRplus d'une dfinition de type de documentFichier spcialNOpration interrompue par l'utilisateurlLe protocole `%1' ne permet pas d'envoyer des fichierscriture seule&AnnulerQ3Wizard&Annuler$le lien symbolique QMYSQLResultAttente&AugmenterSuppri&mer Q3FileDialogSuppri&merActiver&Soulign&Terminer,Connexion %1 arrteQFtp,Connexion %1 arrte@syntaxe invalide pour rptition&Vert :*Tous les fichiers (*) Q3FileDialog*Tous les fichiers (*)Dossiers Q3FileDialogDossiersRchec de la suppression d'un fichier : %1NLien symbolique vers un fichier spcialXImpossible d'initialiser le socket broadcastbL'excutable '%1' requiert Qt %2 (Qt %3 prsent)..Slectionner un dossier Q3FileDialog.Slectionner un dossier&Suivant >Oui &toutVAucun espace disponible sur le priphrique.Tous les fichiers (*.*) Q3FileDialog.Tous les fichiers (*.*)Pversion attendue dans la dclaration XMLLecture : %1&Recharger&Renommer Q3FileDialog&RenommerAigus haut>Impossible de renommer %1 en %2"A4 (210 x 297 mm)"Tout slectionner Q3TextEdit"Tout slectionner QLineEdit"Tout slectionnerDossier : Q3FileDialogDossier :Par dfaut Effets &Barr,Dfiler vers la droite,Fragment HTTP invalideHte %1 trouvQFtpHte %1 trouv8Longueur du contenu invalide"Couleurs de &baselettre attendueErreur inconnueQFtpErreur inconnue QHostInfoErreur inconnueQHostInfoAgentErreur inconnueQHttpErreur inconnue QIODeviceErreur inconnueHLa squence %1, %2 n'est pas dfinieInconnuinconnu6Annuler vos modifications ?&Drouler,RLM Right-to-left markdLe fichier %1 existe dj. Voulez-vous l'craser ?0&Couleurs personnalises2fin de fichier impromptue QDB2Driver QMYSQLDriver QODBCDriverRExecutive (7,5 x 10 pouces, 191 x 254 mm)ZImpossible d'initialiser le socket asynchrone<PDF Pop directional formatting QDB2Driver QIBaseDriver QMYSQLDriver,L'adresse est protge,Impossible d'crire %10rencontr limite interne>Entte de rponse HTTP invalideErreur d'expiration socks5 lors de l'tablissement d'une connexion au serveur socksCanal a&lpha :appel d'entit externe parse non permis dans la valeur d'un attributRd&uireBImprimer d'abord la dernire pageExtrme gaucheLLetter (8,5 x 11 pouces, 216 x 279 mm)Prfrs.Successeur (historique)Page suivante QScrollBarPage suivantePage prcdente QScrollBarPage prcdente"Connexion arrteQFtp"Connexion arrte4ZWNJ Zero width non-joiner.Aller au dossier parentHInformations du fichier prvisualisMa&ximiser Restaurer en bas>Squence ambigu %1 non traite0Opration socket expireType< &Prcdent:Rseau impossible rejoindre,Aucun serveur spcifiFRLO Start of right-to-left overrideperreur dans la dclaration de texte d'une entit externele fichierfin impromptueHConnexion interrompue par le serveurLTrop de fichiers ouverts simultanment@Le protocole '%1' n'est pas gr*ZWJ Zero width joiner<L'adresse n'est pas disponible"B3 (353 x 500 mm)0Crer un nouveau dossier Q3FileDialog0Crer un nouveau dossier>Lien symbolique vers un fichier,LRM Left-to-right markMdia dmarrerMdia arrt(Manque de ressourcesMdia suivantLe protocole `%1' ne permet pas de copier ou de dplacer des fichiers>Lien symbolique vers un dossier&Requte interrompueune erreur s'est produite lors de l'analyse d'une dfinition de type de document`<p>Ce programme utilise la version %1 de Qt.</p>Extrme droitezLe protocole `%1' ne permet pas de crer de nouveaux dossiersLancer mdia A7 (74 x 105 mm)$Affichage dtaill Q3FileDialog$Affichage dtaill%1 Fichier introuvable. Veuillez vrifier que le nom du fichier est correct."A2 (420 x 594 mm)Orientation : B7 (88 x 125 mm)JErreur : bibliothque Qt incompatible QMYSQLDriverQSQLite2Driver/z "(/8=CFKR\ahu{ $,9AHORenw '-39@ QProgressBarQDialog QDB2Driver QCheckBox QUndoStackQXml Q3TitleBar QMYSQLResultQDialogButtonBoxQ3Accel Q3TextEditQFtpQLibrary QFontDialogQMultiInputContextQRegExp QODBCResultQMultiInputContextPlugin QDB2Result QODBCDriver QDirModel QTcpServer QTDSDriver Q3FileDialog QSQLiteResultQSQLite2Result QToolButton QScrollBarQNativeSocketEngine Q3LocalFsQSlider QTextControl QPSQLDriver QColorDialog QIODevice QMYSQLDriver QAxSelect QWorkspace QApplication QOCIResult QShortcutQAbstractSpinBox QErrorMessage QSQLiteDriverQHostInfoAgent QUdpSocket QRadioButton QDateTimeEdit QMessageBox Q3TabDialogQSqlQTabBar QFileDialogQ3ProgressDialogQProgressDialogPPDOptionsModelQ3NetworkProtocolQMenu Q3MainWindowQWhatsThisAction QPrintDialogQUnicodeControlCharacterMenuQSQLite2DriverQObjectQPrintPropertiesDialog QComboBoxQ3Wizard Q3UrlOperator QInputContextQHttp QIBaseDriver Q3ToolBar QHostInfo QIBaseResultQWidget QLineEdit Q3DataTableQAbstractSocket QPSQLResultQSocks5SocketEngine QUndoModel QOCIDriver QUndoGroup QPushButtonQSpinBoxConvertAll-0.8.0/translations/qt_ru.qm000066400000000000000000004552511363574405500200320ustar00rootroot0000000000000055 W> D'2 DP+--|!RT,M~.!KxExy{+=rAa7L'jVB#F0|nsm2M6ec^q:Te |z!e&#\(9)*(L*(]*(*(*(*(Y*(*(*(*(U*(*(*/eK*ASf+ %+,N*;)=-?4@N9FoDKibO\c `cփd|f$~jCN mtէp/TB qtuu(Z}ka^.X,[Q_~, 0_[ G$2$9t$;SugS0(r^֊U nQ,sAю <3. n=&Hr+ ./rS=BZ?5)@`gCrIxSL6R>)YM]Yu,_oMubUC+c{Cc{DNc{E~dn_eskD>+n v'4O^IpBxQgۊEN]v)II3I-I G(FIYSiy KIc[!uDa}uDid?ݾ D uL o',,EC,v,P,]]l46f! ~2 ɘefRJ#*Gn9N-JTTP TQ >TR TS TT TU 1TV aTW TX TY \SW PqdVfR?BC+ UhQyp=?e l7$&~U)2@.yX58 8>1?"QF(KN L;MJN2'O{@V|Wj]4,]p|]ve4 e6; Cg^|knMrHwy}~1Z 5tFK>'WG%\dصٵ+ `Yzg;Y>JMczxAZ9\YqsYY% rn C-9 5C^i˾wRiZ>'i}%z9zߺt6䏥 f7tӒ롥EF3g!-d/ $~bI~bPM*Q!uT%?)ɯ+y+&Q+3o,$`/+0jIKh4~ҡ6 8- v<h<nTA'D^G]hGbOL|LAU{LOrPѧeUR iRCSfgLSnYU{*U;UToqV(c!YĻZ4l[ ]k*I^o2F^~͝^n_P_p&`74fgkQ)Mn$4̣oN"p4(pq"{ {*B}u}ww}!&>:r{  B\ v.OtNt#^38(P5<>|w bWWDfYtAtht _ @a25uFʢ$ʢIƴd%nd'dޣdGd59tz2э/)j[+kNSWD`}㵾;1rB>ktȗayU0R^dBhpAw$KBD,% t0bˌ25p6b:3>*K?;CUDJ0 LXLU|]\"aroldn8\sFY_Vu[7|#}wZ}$w^?Gϗ.Z.ZDjʆ$ZG[` ezdZk< K<3| +·z·6a׳*8QKТ~HCfC}r؞ etE\#b9%5PQw>-bD`F#%"'̌+i+)[.%4>P5kE7= =>1. ??@JCtISEfZF)NP~V%eV%gXU GC^MT^M_R`|bDbGb^hIUGi$ܢm5x1 z*2~OdUz6c.j4N3Fbm]l%BE/CbsiRaCUʴ5ʶ+ϡ$^ mԄ[۔#$Dd6AՆF5YDple1&DsIG=W $ }$ qeg[ ڤ ڥ)k d( E E AcL t "knv. 35ƴ R b, bb b`y gU hiF la la7 lfG qz s-3 tNי xq | J- tKr  .! y`  9D r x n . $|1 Űe Y+ ˰!   Y : 팤` 팤Ծ E %'{  L| Cy qX  D1z 5 } 9M o7K  1 !E '( '(b )f ) */ *ŎH .> 2* 7u ; =\ H  J" Q Rۮh Ty ` T^ Uj4 YHY \t ] ^& `p `l `o b c('! cE dht, eI e{ f1_ f*(/ g5U" gyX gn t xp ~vb $& [ Id m4 O  t f? j =)U| JN 3T $ ${ %p ,?W >r[ E! `j  4 B' T  v +  l2 ˔[ P L W,E 685 X I : F A f A~ u 4s .Zh "ú sE AAck 9  9 !i r %j #-t ' +i6 0N u =@! @ Aϥ CU[ F)3 LNc L Mc\ Su Vz> Zj ]qt0 ]$" c3 f= io>4 l# sk: spk wq= yCB ] H@  $D. .@}     zd; 5~ ~J b JE ? t. k=  : N>q /a ̷ ̺[ -D\ .; %o G ۷# 6 ky^  )yY }o  9 0N $r  5  I < ITk V %Z L  (G  c e  $ ! 5A "N%Ǒ .M 5! 7Fm :9J >c >f >g >{ >} > > >Ǎ > >3 > @ӊ A Ef K K) K Mbg Ođ RVL RVg SGͶ S+, WoŦ Y [ ^UT' hۮS j7o> p >r  Bx? _S & T! T Tߗ T) ys $ V T T t c S )dŏ T  ." .q . .~ . .n .qW   a eu( sh e %n ҂ K > Y  |} t8 aҦ  9 8< ? $a z ${v #=/ (I$ +> 0EZ 4~; 64~4 8 :n! ;ɾ Fg: K9 Pt| S, fev iFC~ iH iD jӮ} m9He n% u u * u$ v& ww w}w\ |[, u ^ hu <76 Jm ^ KI Y Rh %7% ˤ " U & bv YH &+ x׏ J +E t5 4 HՎ/w2TBH4=jgTF #* *\+.t /E]/E3~72898N޵mOOV5lXRu0[ V[d~`a.gcnyG*y$9y?. %+_%fn4sv;;j !ڕ(>d6S{w'¨²@CN^:n(,`$'rݖ rTcE n6RzrFCN7:5 Q  DlD1K2 ""#r!%4&%4P,--v0i)R01c1hw2wT=|s=e>k7F74MKL$.[m4 jb4rc5x;g3"]iCiTKl?pz3{`f{~a&}&?DhÓH$t[$0Oͣͣ#EwyN=m 8Szt-7ě45UȌ)Ȭ)mg rrܴ-1UC$B(~M6qt2 ,MOm*pfHi,0:@KBL 2:;04:C Close Tab CloseButton ?@>3@0<<5 %1About %1MAC_APPLICATION_MENU!:@KBL %1Hide %1MAC_APPLICATION_MENU!:@KBL 4@C385 Hide OthersMAC_APPLICATION_MENU0AB@>9:8...Preferences...MAC_APPLICATION_MENU025@H8BL %1Quit %1MAC_APPLICATION_MENU !;C61KServicesMAC_APPLICATION_MENU>:070BL 2AQShow AllMAC_APPLICATION_MENU*B:070=> 2 A>548=5=88Connection refusedQAbstractSocket6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQAbstractSocket#75; =5 =0945=Host not foundQAbstractSocket!5BL =54>ABC?=0Network unreachableQAbstractSocketH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supportedQAbstractSocket$!>:5B =5 ?>4:;NGQ=Socket is not connectedQAbstractSocket,@5<O >?5@0F88 8AB5:;>Socket operation timed outQAbstractSocketR>?KB:0 ?>4:;NG8BLAO 2> 2@5<O ?>4:;NG5=8O1Trying to connect while connection is in progressQAbstractSocket&K45;8BL 2AQ &Select AllQAbstractSpinBox(03 22&5@E&Step upQAbstractSpinBox(03 2=&87 Step &downQAbstractSpinBox#<5=LH8BLDecreaseQAccessibleActionInterface$#<5=LH8BL 7=0G5=85Decrease the valueQAccessibleActionInterface#25;8G8BLIncreaseQAccessibleActionInterface$#25;8G8BL 7=0G5=85Increase the valueQAccessibleActionInterface 060BLPressQAccessibleActionInterface#AB0=>28BL$>:CASetFocusQAccessibleActionInterface #AB0=>28BL D>:CASets the focusQAccessibleActionInterface>:070BL5=NShowMenuQAccessibleActionInterface>:070BL <5=NShows the menuQAccessibleActionInterface!<5=8BLToggleQAccessibleActionInterface"!<5=8BL A>AB>O=85Toggles the stateQAccessibleActionInterface$K?>;=8BL 459AB285Triggers the actionQAccessibleActionInterface5BNoQAndroidPlatformTheme5B 4;O 2A5E No to AllQAndroidPlatformTheme0YesQAndroidPlatformTheme0 4;O 2A5E Yes to AllQAndroidPlatformThemej@>3@0<<5 %1 B@51C5BAO Qt %2, 0 8A?>;L7C5BAO Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationDH81:0 A>2<5AB8<>AB8 181;8>B5:8 QtIncompatible Qt Library Error QApplication ?@>3@0<<5AboutQCocoaMenuItem QtAbout QtQCocoaMenuItem>=D83C@ConfigQCocoaMenuItem>?8@>20BLCopyQCocoaMenuItemK@570BLCutQCocoaMenuItem KE>4ExitQCocoaMenuItem0@0<5B@KOptionsQCocoaMenuItemAB028BLPasteQCocoaMenuItem!2>9AB2 PreferenceQCocoaMenuItem 025@HQuitQCocoaMenuItemK45;8BL 2AQ Select AllQCocoaMenuItem0AB@>9:SettingQCocoaMenuItem 0AB@SetupQCocoaMenuItem&5 A>E@0=OBL Don't Save QCocoaThemeF&>1028BL : ?>;L7>20B5;LA:8< F25B0<&Add to Custom Colors QColorDialog&A=>2=K5 F25B0 &Basic colors QColorDialog.&>;L7>20B5;LA:85 F25B0&Custom colors QColorDialog&5;Q=K9:&Green: QColorDialog &HTML:&HTML: QColorDialog&@0A=K9:&Red: QColorDialog &0A:&Sat: QColorDialog &/@::&Val: QColorDialog&;LD0-:0=0;:A&lpha channel: QColorDialog!&8=89:Bl&ue: QColorDialog`C@A>@ 2 %1, %2, F25B: %3 06<8B5 ESC 4;O >B<5=K/Cursor at %1, %2, color: %3 Press ESC to cancel QColorDialog &">=:Hu&e: QColorDialog&7OBL F25B A M:@0=0Pick Screen Color QColorDialogK1>@ F25B0 Select Color QColorDialog5BFalse QComboBox2B:@KBL 2K?040NI89 A?8A>:"Open the combo box selection popup QComboBox0True QComboBox@3C<5=BK: Arguments:QCommandLineParser.B>1@078BL MBC A?@02:C.Displays this help.QCommandLineParser>B>1@078BL 8=D>@<0F8N > 25@A88.Displays version information.QCommandLineParser@BACBAB2C5B 7=0G5=85 ?>A;5 %1.Missing value after '%1'.QCommandLineParser0@0<5B@K:Options:QCommandLineParser@5>6840==>5 7=0G5=85 ?>A;5 %1.Unexpected value after '%1'.QCommandLineParser458725AB=K9 ?0@0<5B@ %1.Unknown option '%1'.QCommandLineParser458725AB=K5 ?0@0<5B@K: %1.Unknown options: %1.QCommandLineParser"A?>;L7>20=85: %1 Usage: %1QCommandLineParser[?0@0<5B@K] [options]QCommandLineParser%1: >H81:0 ftok%1: ftok failedQCoreApplication%1: ?CAB>9 :;NG%1: key is emptyQCoreApplication6%1: =52>7<>6=> A>740BL :;NG%1: unable to make keyQCoreApplicationLTRQT_LAYOUT_DIRECTIONQCoreApplication@8D Banner PagesQCupsJobWidget*;0BQ6=0O 8=D>@<0F8O:Billing information:QCupsJobWidget&3@0=8G5==K9 4>ABC? ClassifiedQCupsJobWidget!5:@5B=> ConfidentialQCupsJobWidget,=Q< (A 6:00 ?> 17:59)Day (06:00 to 17:59)QCupsJobWidget :>=F5:End:QCupsJobWidgetB;>68BLHold IndefinitelyQCupsJobWidget040=85JobQCupsJobWidget#?@02;5=85 Job ControlQCupsJobWidget@8>@8B5B: Job priority:QCupsJobWidget.>GLN (A 18:00 ?> 5:59)Night (18:00 to 05:59)QCupsJobWidget5BNoneQCupsJobWidget"0?5G0B0BL A59G0APrint ImmediatelyQCupsJobWidget$B;>65==0O ?5G0BL:Scheduled printing:QCupsJobWidgetD> 2B>@CN A<5=C (A 16:00 ?> 23:59)Second Shift (16:00 to 23:59)QCupsJobWidget&!>25@H5==> A5:@5B=>SecretQCupsJobWidget( >?@545;Q==>5 2@5<O Specific TimeQCupsJobWidget!B0=40@B=0OStandardQCupsJobWidget =0G0;5:Start:QCupsJobWidget> B@5BLN A<5=C (A 0:00 ?> 7:59)Third Shift (00:00 to 07:59)QCupsJobWidgetA>1>9 206=>AB8 Top SecretQCupsJobWidget&B:@KB0O 8=D>@<0F8O UnclassifiedQCupsJobWidgetD 2KE>4=K5 (AC11>B0 8 2>A:@5A5=L5)Weekend (Saturday to Sunday)QCupsJobWidget>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QDB2Driver,52>7<>6=> A>548=8BLAOUnable to connect QDB2Driver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QDB2Driver^52>7<>6=> CAB0=>28BL 02B>7025@H5=85 B@0=70:F89Unable to set autocommit QDB2Driver:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QDB2Result<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QDB2ResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QDB2ResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QDB2Result:52>7<>6=> ?>;CG8BL 70?8AL %1Unable to fetch record %1 QDB2Result@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEdit'B> MB>? What's This?QDialogOKOKQDialogButtonBox0B0 87<5=5=8O Date Modified QDirModel84Kind QDirModel<OName QDirModel  07<5@Size QDirModel"8?Type QDirModel"?5@0F8O >B<5=5=0Operation cancelled QDnsLookup@5 C40;>AL @0725@=CBL 8<O 4><5=0Could not expand domain nameQDnsLookupRunnable^4@5A0 IPv6 A5@25@>2 8<Q= 5IQ =5 ?>445@6820NBAO9IPv6 addresses for nameservers is currently not supportedQDnsLookupRunnable>5:>@@5:B=0O 70?8AL 04@5A0 IPv4Invalid IPv4 address recordQDnsLookupRunnable>5:>@@5:B=0O 70?8AL 04@5A0 IPv6Invalid IPv6 address recordQDnsLookupRunnableF5:>@@5:B=0O 70?8AL cannonical nameInvalid canonical name recordQDnsLookupRunnable.5:>@@5:B=>5 8<O 4><5=0Invalid domain nameQDnsLookupRunnable*5:>@@5:B=>5 8<O C7;0Invalid hostnameQDnsLookupRunnableB5:>@@5:B=0O 70?8AL mail exchangeInvalid mail exchange recordQDnsLookupRunnable>5:>@@5:B=0O 70?8AL name serverInvalid name server recordQDnsLookupRunnable65:>@@5:B=0O 70?8AL pointerInvalid pointer recordQDnsLookupRunnable4>;CG5= =5:>@@5:B=K9 >B25BInvalid reply receivedQDnsLookupRunnable65:>@@5:B=0O 70?8AL serviceInvalid service recordQDnsLookupRunnable05:>@@5:B=0O 70?8AL textInvalid text recordQDnsLookupRunnable&<O C7;0 =5 C:070=>No hostname givenQDnsLookupRunnable&><5= =5 ACI5AB2C5BNon existent domainQDnsLookupRunnableBIQ =5 ?>445@68205BAO ?>4 AndroidNot yet supported on AndroidQDnsLookupRunnableD$C=:F8O @07@5H5=8O 8<Q= =5 =0945=0Resolver functions not foundQDnsLookupRunnableV5 C40;>AL 8=8F80;878@>20BL @07@5H5=85 8<Q=Resolver initialization failedQDnsLookupRunnable5 C40;>AL 703@C78BL 181;8>B5:C 4;O @07@5H5=8O 8<Q=: 703@C7:0 181;8>B5: 2> 2@5<O @01>BK =5 ?>445@68205BAODResolver library can't be loaded: No runtime library loading supportQDnsLookupRunnable@!5@25@ =5 A<>3 >1@01>B0BL 70?@>AServer could not process queryQDnsLookupRunnableH81:0 A5@25@0Server failureQDnsLookupRunnable,!5@25@ >B:;>=8; 70?@>AServer refused to answerQDnsLookupRunnable0:@KBLClose QDockWidget 0:@K205B 28465BCloses the dock widget QDockWidget;020NI55Float QDockWidgetFBA>548=O5B 8 ?5@53@C??8@C5B 28465B'Undocks and re-attaches the dock widget QDockWidget&0:@KBL&OK QErrorMessageL&>:07K20BL MB> A>>1I5=85 2 40;L=59H5<&Show this message again QErrorMessage*B;04>G=>5 A>>1I5=85:Debug Message: QErrorMessage&@8B8G5A:0O >H81:0: Fatal Error: QErrorMessage@54C?@5645=85:Warning: QErrorMessage@52>7<>6=> A>740BL %1 4;O 2K2>40Cannot create %1 for outputQFile>52>7<>6=> >B:@KBL %1 4;O 22>40Cannot open %1 for inputQFile:52>7<>6=> >B:@KBL 4;O 2K2>40Cannot open for outputQFile@52>7<>6=> C40;8BL 8AE>4=K9 D09;Cannot remove source fileQFile$09; ACI5AB2C5BDestination file existsQFileR$09; =07=0G5=8O B0:>9 65, GB> 8 8AE>4=K9."Destination file is the same file.QFileF>7=8:;0 >H81:0 ?@8 ?5@58<5=>20=88.Error while renaming.QFile"!1>9 70?8A8 1;>:0Failure to write blockQFile4AE>4=K9 D09; >BACBAB2C5B.Source file does not exist.QFileB5 C40;>AL 2>AAB0=>28BL 87 %1: %2Unable to restore from %1: %2QFile>A;54>20B5;L=K9 D09; =5 1C45B ?5@58<5=>20= A 8A?>;L7>20=85< ?>1;>G=>3> :>?8@>20=8O0Will not rename sequential file using block copyQFilet5B D09;>2>3> 4286:0 8;8 >= =5 ?>445@68205B UnMapExtensionBNo file engine available or engine does not support UnMapExtension QFileDevice%1 0B0;>3 =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 :0B0;>30.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 $09; =5 =0945=. @>25@LB5 ?@028;L=>ABL C:070==>3> 8<5=8 D09;0.A%1 File not found. Please verify the correct file name was given. QFileDialog$09; %1%1 File QFileDialogN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?-%1 already exists. Do you want to replace it? QFileDialog&K1@0BL&Choose QFileDialog&#40;8BL&Delete QFileDialog&>20O ?0?:0 &New Folder QFileDialog&B:@KBL&Open QFileDialog&5@58<5=>20BL&Rename QFileDialog&!>E@0=8BL&Save QFileDialogl%1 70I8IQ= >B 70?8A8. 59AB28B5;L=> 65;05B5 C40;8BL?9'%1' is write protected. Do you want to delete it anyway? QFileDialogA524>=8<Alias QFileDialogA5 D09;K (*) All Files (*) QFileDialogA5 D09;K (*) All files (*) QFileDialogAlt+LeftAlt+Left QFileDialogAlt+Right Alt+Right QFileDialog Alt+UpAlt+Up QFileDialog*5;05B5 C40;8BL %1?%Are you sure you want to delete '%1'? QFileDialog 0704Back QFileDialog:5@5:;NG8BL 2 ?>4@>1=K9 @568<Change to detail view mode QFileDialog45@5:;NG8BL 2 @568< A?8A:0Change to list view mode QFileDialog65 C40;>AL C40;8BL :0B0;>3.Could not delete directory. QFileDialog!>740BL ?0?:CCreate New Folder QFileDialog&!>740BL =>2CN ?0?:CCreate a New Folder QFileDialog#40;8BLDelete QFileDialog>4@>1=K9 284 Detail View QFileDialog0B0;>38 Directories QFileDialog0B0;>3: Directory: QFileDialog8A:Drive QFileDialog$09;File QFileDialog&<O D09;0: File &name: QFileDialog0?:0 A D09;0<8 File Folder QFileDialog $09;KFiles QFileDialog"8?K D09;>2:Files of type: QFileDialog09B8 :0B0;>3Find Directory QFileDialog 0?:0Folder QFileDialog ?5@Q4Forward QFileDialog 0704Go back QFileDialog ?5@Q4 Go forward QFileDialog<5@59B8 2 @>48B5;LA:89 :0B0;>3Go to the parent directory QFileDialog !?8A>: List View QFileDialog 5AB0 8 70:;04:8List of places and bookmarks QFileDialog5@59B8 ::Look in: QFileDialog>9 :><?LNB5@ My Computer QFileDialog>20O ?0?:0 New Folder QFileDialogB:@KBLOpen QFileDialog( >48B5;LA:89 :0B0;>3Parent Directory QFileDialog$5402=85 4>:C<5=BK Recent Places QFileDialog#40;8BLRemove QFileDialog!>E@0=8BL :0:Save As QFileDialog /@;K:Shortcut QFileDialog>:070BL Show  QFileDialog.>:070BL A:&@KBK5 D09;KShow &hidden files QFileDialog>:>20O ?0=5;LSidebar QFileDialog58725AB=K9Unknown QFileDialog %1 1%1 GBQFileSystemModel %1 1%1 KBQFileSystemModel %1 1%1 MBQFileSystemModel %1 "1%1 TBQFileSystemModel%1 109B %1 byte(s)QFileSystemModel%1 109B%1 bytesQFileSystemModel<b><O %1 =5 <>65B 1KBL 8A?>;L7>20=>.</b><p>>?@>1C9B5 8A?>;L7>20BL 8<O <5=LH59 4;8=K 8/8;8 157 A8<2>;>2 ?C=:BC0F88.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModel><?LNB5@ComputerQFileSystemModel0B0 87<5=5=8O Date ModifiedQFileSystemModel,5:>@@5:B=>5 8<O D09;0Invalid filenameQFileSystemModel84KindQFileSystemModel>9 :><?LNB5@ My ComputerQFileSystemModel<ONameQFileSystemModel  07<5@SizeQFileSystemModel"8?TypeQFileSystemModel N10OAny QFontDatabase@01A:0OArabic QFontDatabase@<O=A:0OArmenian QFontDatabase5=30;LA:0OBengali QFontDatabase 'Q@=K9Black QFontDatabase 8@=K9Bold QFontDatabase8@8;;8F0Cyrillic QFontDatabase!@54=89Demi QFontDatabase>;C68@=K9 Demi Bold QFontDatabase520=038@8 Devanagari QFontDatabase@C78=A:0OGeorgian QFontDatabase@5G5A:0OGreek QFontDatabaseC460@0B8Gujarati QFontDatabaseC@<C:E8Gurmukhi QFontDatabase 2@8BHebrew QFontDatabase C@A82Italic QFontDatabase/?>=A:0OJapanese QFontDatabase0==040Kannada QFontDatabaseE<5@A:0OKhmer QFontDatabase>@59A:0OKorean QFontDatabase0>AA:0OLao QFontDatabase0B8=8F0Latin QFontDatabase!25B;K9Light QFontDatabase0;09O;0< Malayalam QFontDatabase LO=<0Myanmar QFontDatabase:>N'Ko QFontDatabase1KG=K9Normal QFontDatabase0:;>==K9Oblique QFontDatabase30<8G5A:0OOgham QFontDatabase@8OOriya QFontDatabase C=8G5A:0ORunic QFontDatabase(8B09A:0O C?@>IQ==0OSimplified Chinese QFontDatabase!8=30;LA:0OSinhala QFontDatabase!8<2>;L=0OSymbol QFontDatabase!8@89A:0OSyriac QFontDatabase"0<8;LA:0OTamil QFontDatabase "5;C3CTelugu QFontDatabase "00=0Thaana QFontDatabase"09A:0OThai QFontDatabase"815BA:0OTibetan QFontDatabase,8B09A:0O B@048F8>==0OTraditional Chinese QFontDatabaseL5B=0<A:0O Vietnamese QFontDatabase &(@8DB&Font QFontDialog& 07<5@&Size QFontDialog&>4GQ@:=CBK9 &Underline QFontDialog-DD5:BKEffects QFontDialog&0G5@B0=85 Font st&yle QFontDialog @8<5@Sample QFontDialogK1>@ H@8DB0 Select Font QFontDialog0GQ@&:=CBK9 Stri&keout QFontDialog&!8AB5<0 ?8AL<0Wr&iting System QFontDialog<5 C40;>AL A<5=8BL :0B0;>3: %1Changing directory failed: %1QFtpB#AB0=>2;5=> A>548=5=85 A C7;>< %1Connected to host %1QFtpD5 C40;>AL A>548=8BLAO A C7;><: %1Connecting to host failed: %1QFtp$!>548=5=85 70:@KB>Connection closedQFtp@ A>548=5=88 A C7;>< %1 >B:070=>Connection refused to host %1QFtpL@5<O =0 A>548=5=85 A C7;>< %1 8AB5:;>Connection timed out to host %1QFtp<5 C40;>AL A>740BL :0B0;>3: %1Creating directory failed: %1QFtpbB:;>=5=0 ?>?KB:0 ?>4:;NG5=8O 4;O ?5@540G8 40==KEData Connection refusedQFtp:5 C40;>AL 703@C78BL D09;: %1Downloading file failed: %1QFtp"#75; %1 =5 =0945=Host %1 not foundQFtp@5 C40;>AL ?@>G8B0BL :0B0;>3: %1Listing directory failed: %1QFtp:5 C40;>AL 02B>@87>20BLAO: %1Login failed: %1QFtp2!>548=5=85 =5 CAB0=>2;5=> Not connectedQFtp<5 C40;>AL C40;8BL :0B0;>3: %1Removing directory failed: %1QFtp65 C40;>AL C40;8BL D09;: %1Removing file failed: %1QFtp$58725AB=0O >H81:0 Unknown errorQFtp:5 C40;>AL >B3@C78BL D09;: %1Uploading file failed: %1QFtpB&<5=0&Cancel QGnomeTheme&0:@KBL&Close QGnomeTheme&OK&OK QGnomeTheme&!>E@0=8BL&Save QGnomeTheme,0:@KBL 157 A>E@0=5=8OClose without Saving QGnomeTheme$<O C7;0 =5 7040=>No host name given QHostInfo$58725AB=0O >H81:0 Unknown error QHostInfo#75; =5 =0945=Host not foundQHostInfoAgent*5:>@@5:B=>5 8<O C7;0Invalid hostnameQHostInfoAgent$<O C7;0 =5 7040=>No host name givenQHostInfoAgent,58725AB=K9 B8? 04@5A0Unknown address typeQHostInfoAgent$58725AB=0O >H81:0 Unknown errorQHostInfoAgent.58725AB=0O >H81:0 (%1)Unknown error (%1)QHostInfoAgent$!>548=5=85 70:@KB>Connection closedQHttp*B:070=> 2 A>548=5=88Connection refusedQHttp"0==K5 ?>2@5645=KData corruptedQHttp"#75; %1 =5 =0945=Host %1 not foundQHttp0#75; B@51C5B 02B>@870F8NHost requires authenticationQHttpF@5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>Proxy requires authenticationQHttp628B8@>20=85 SSL =5 C40;>ALSSL handshake failedQHttp6#:070= =58725AB=K9 ?@>B>:>;Unknown protocol specifiedQHttp*"@51C5BAO 02B>@870F8OAuthentication requiredQHttpSocketEngineN5 ?>;CG5= HTTP->B25B >B ?@>:A8-A5@25@0(Did not receive HTTP response from proxyQHttpSocketEngineXH81:0 >1<5=0 40==K<8 A ?@>:A8-A5@25@>< HTTP#Error communicating with HTTP proxyQHttpSocketEnginehH81:0 @071>@0 70?@>A0 02B>@870F88 >B ?@>:A8-A5@25@0/Error parsing authentication request from proxyQHttpSocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>#Proxy connection closed prematurelyQHttpSocketEngineJ A>548=5=88 ?@>:A8-A5@25@>< >B:070=>Proxy connection refusedQHttpSocketEngineB@>:A8-A5@25@ 70?@5B8; A>548=5=85Proxy denied connectionQHttpSocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>!Proxy server connection timed outQHttpSocketEngine.@>:A8-A5@25@ =5 =0945=Proxy server not foundQHttpSocketEngine85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QIBaseDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QIBaseDriverd5 C40;>AL ?>;CG8BL @5AC@AK 4;O A>740=8O 2K@065=8OCould not allocate statement QIBaseResultJ5 C40;>AL >?8A0BL 2E>4OI55 2K@065=85"Could not describe input statement QIBaseResult85 C40;>AL >?8A0BL 2K@065=85Could not describe statement QIBaseResultJ5 C40;>AL ?>;CG8BL A;54CNI89 M;5<5=BCould not fetch next item QIBaseResult.5 C40;>AL =09B8 <0AA82Could not find array QIBaseResult>5 C40;>AL =09B8 40==K5 <0AA820Could not get array data QIBaseResultJ5 C40;>AL =09B8 8=D>@<0F8N > 70?@>A5Could not get query info QIBaseResultN5 C40;>AL =09B8 8=D>@<0F8N > 2K@065=88Could not get statement info QIBaseResult@5 C40;>AL ?>43>B>28BL 2K@065=85Could not prepare statement QIBaseResult85 C40;>AL =0G0BL B@0=70:F8NCould not start transaction QIBaseResult852>7<>6=> 70:@KBL 2K@065=85Unable to close statement QIBaseResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QIBaseResult.52>7<>6=> A>740BL BLOBUnable to create BLOB QIBaseResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QIBaseResult.52>7<>6=> >B:@KBL BLOBUnable to open BLOB QIBaseResult252>7<>6=> ?@>G8B0BL BLOBUnable to read BLOB QIBaseResult052>7<>6=> 70?8A0BL BLOBUnable to write BLOB QIBaseResultD5B A2>1>4=>3> <5AB0 =0 CAB@>9AB25No space left on device QIODevice<$09; 8;8 :0B0;>3 =5 ACI5AB2C5BNo such file or directory QIODevice>ABC? 70?@5IQ=Permission denied QIODevice:!;8H:>< <=>3> >B:@KBKE D09;>2Too many open files QIODevice$58725AB=0O >H81:0 Unknown error QIODeviceF>B:@K205<K9 D09; O2;O5BAO :0B0;>3><file to open is a directory QIODevice$09; =5 =0945=File not found QImageReader.5:>@@5:B=>5 CAB@>9AB2>Invalid device QImageReaderN5 C40;>AL ?@>G8B0BL 40==K5 87>1@065=8OUnable to read image data QImageReader$58725AB=0O >H81:0 Unknown error QImageReaderF5?>445@68205<K9 D>@<0B 87>1@065=8OUnsupported image format QImageReader(#AB@>9AB2> =5 7040=>Device is not set QImageWriterB#AB@>9AB2> =5 ?>445@68205B 70?8ALDevice not writable QImageWriter$58725AB=0O >H81:0 Unknown error QImageWriterF5?>445@68205<K9 D>@<0B 87>1@065=8OUnsupported image format QImageWriter"#:068B5 7=0G5=85:Enter a value: QInputDialog.<CA>@ 2 :>=F5 4>:C<5=B0"garbage at the end of the documentQJsonParseError$=5:>@@5:B=>5 G8A;>illegal numberQJsonParseError*=54>?CAB8<>5 7=0G5=85 illegal valueQJsonParseErrorH=5:>@@5:B=0O ?>A;54>20B5;L=>ABL UTF8invalid UTF8 stringQJsonParseErrorF=5:>@@5:B=0O ESC-?>A;54>20B5;L=>ABLinvalid escape sequenceQJsonParseError<=5:>@@5:B=>5 7025@H5=85 G8A;><invalid termination by numberQJsonParseError8>BACBAB2C5B @0745;8B5;L 8<Q=missing name separatorQJsonParseError@>BACBAB2C5B @0745;8B5;L 7=0G5=89missing value separatorQJsonParseError$>H81:8 >BACBAB2CNBno error occurredQJsonParseError<>BACBAB2C5B >1J5:B ?>A;5 B>G:8object is missing after a commaQJsonParseErrorV4>:C<5=B 8<55B A;8H:>< 3;C1>:CN 2;>65==>ABLtoo deeply nested documentQJsonParseError0A;8H:>< 1>;LH>9 4>:C<5=Btoo large documentQJsonParseError(=57025@HQ==K9 <0AA82unterminated arrayQJsonParseError(57025@HQ==K9 >1J5:Bunterminated objectQJsonParseError(=57025@HQ==0O AB@>:0unterminated stringQJsonParseError%1, ...%1, ...QKeySequenceEdit006<8B5 A>G5B0=85 :;028HPress shortcutQKeySequenceEditX%1 O2;O5BAO =5:>@@5:B=K< >1J5:B>< ELF (%2)"'%1' is an invalid ELF object (%2)QLibrary"%1 =5 ?;038= Qt'%1' is not a Qt pluginQLibraryN%1 =525@=K9 18=0@=K9 D09; Mach-O (%2)&'%1' is not a valid Mach-O binary (%2)QLibrary:%1 =5 O2;O5BAO >1J5:B>< ELF'%1' is not an ELF objectQLibraryD%1 =5 O2;O5BAO >1J5:B>< ELF (%2)'%1' is not an ELF object (%2)QLibraryL52>7<>6=> 703@C78BL 181;8>B5:C %1: %2Cannot load library %1: %2QLibraryR52>7<>6=> @07@5H8BL A8<2>; %1 2 %2: %3$Cannot resolve symbol "%1" in %2: %3QLibraryL52>7<>6=> 2K3@C78BL 181;8>B5:C %1: %2Cannot unload library %1: %2QLibraryf@>25@>G=0O 8=D>@<0F8O 4;O <>4C;O %1 =5 A>2?0405B)Plugin verification data mismatch in '%1'QLibrary\$09; %1  =5 O2;O5BAO :>@@5:B=K< <>4C;5< Qt.'The file '%1' is not a valid Qt plugin.QLibrary>4C;L %1 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibrary>4C;L %1 8A?>;L7C5B =5A><5AB8<CN 181;8>B5:C Qt. (52>7<>6=> A>2<5AB8BL @5;87=K5 8 >B;04>G=K5 181;8>B5:8.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryF8=0<8G5A:0O 181;8>B5:0 =5 =0945=0.!The shared library was not found.QLibrary$58725AB=0O >H81:0 Unknown errorQLibraryD09; ?>2@564Q=file is corruptQLibrary D09; A;8H:>< <0;file too smallQLibrary2=525@=K9 845=B8D8:0B>@ %1invalid magic %1QLibraryD=5B ?>4E>4OI59 0@E8B5:BC@K 2 D09;5&no suitable architecture in fat binaryQLibrary4=5 48=0<8G5A:0O 181;8>B5:0not a dynamic libraryQLibrary(=525@=0O 0@E8B5:BC@0wrong architectureQLibrary&>?8@>20BL&Copy QLineEdit&AB028BL&Paste QLineEdit&&>2B>@8BL 459AB285&Redo QLineEdit$&B<5=8BL 459AB285&Undo QLineEdit&K@570BLCu&t QLineEdit#40;8BLDelete QLineEditK45;8BL 2AQ Select All QLineEdit,%1: 4@5A 8A?>;L7C5BAO%1: Address in use QLocalServer(%1: 5:>@@5:B=>5 8<O%1: Name error QLocalServer&%1: >ABC? 70?@5IQ=%1: Permission denied QLocalServer2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalServer&%1: >ABC? 70?@5IQ=%1: Access denied QLocalSocket*%1: H81:0 A>548=5=8O%1: Connection error QLocalSocket2%1: B:070=> 2 A>548=5=88%1: Connection refused QLocalSocket<%1: 0B03@0<<0 A;8H:>< 1>;LH0O%1: Datagram too large QLocalSocket(%1: 5:>@@5:B=>5 8<O%1: Invalid name QLocalSocketn%1: ?5@0F8O =5 @07@5H5=0, :>340 A>:5B 2 MB>< A>AB>O=888%1: Operation not permitted when socket is in this state QLocalSocket<%1: 0:@KB> C40;5==>9 AB>@>=>9%1: Remote closed QLocalSocket:%1: H81:0 >1@0I5=8O : A>:5BC%1: Socket access error QLocalSocketN%1: @5<O =0 >?5@0F8N A A>:5B>< 8AB5:;>%1: Socket operation timed out QLocalSocketH%1: H81:0 2K45;5=8O @5AC@A>2 A>:5B0%1: Socket resource error QLocalSocketP%1: ?5@0F8O A A>:5B>< =5 ?>445@68205BAO)%1: The socket operation is not supported QLocalSocket,%1: 58725AB=0O >H81:0%1: Unknown error QLocalSocket2%1: 58725AB=0O >H81:0 %2%1: Unknown error %2 QLocalSocketR>?KB:0 ?>4:;NG8BLAO 2> 2@5<O ?>4:;NG5=8O1Trying to connect while connection is in progress QLocalSocket852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QMYSQLDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QMYSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QMYSQLDriverF52>7<>6=> >B:@KBL 107C 40==KE %1Unable to open database '%1' QMYSQLDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QMYSQLDriverX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind outvalues QMYSQLResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind value QMYSQLResultJ52>7<>6=> 2K?>;=8BL A;54CNI89 70?@>AUnable to execute next query QMYSQLResult652>7<>6=> 2K?>;=8BL 70?@>AUnable to execute query QMYSQLResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QMYSQLResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch data QMYSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QMYSQLResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QMYSQLResultP52>7<>6=> A>E@0=8BL A;54CNI89 @57C;LB0BUnable to store next result QMYSQLResult<52>7<>6=> A>E@0=8BL @57C;LB0BUnable to store result QMYSQLResulth52>7<>6=> A>E@0=8BL @57C;LB0BK 2K?>;=5=8O 2K@065=8O!Unable to store statement results QMYSQLResult(5>703;02;5=>) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&0:@KBL&Close QMdiSubWindow&5@5<5AB8BL&Move QMdiSubWindow&>AAB0=>28BL&Restore QMdiSubWindow& 07<5@&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow0:@KBLClose QMdiSubWindow!?@02:0Help QMdiSubWindow &0A?0E=CBL Ma&ximize QMdiSubWindow 0A?0E=CBLMaximize QMdiSubWindow5=NMenu QMdiSubWindow&!25@=CBL Mi&nimize QMdiSubWindow!25@=CBLMinimize QMdiSubWindow>AAB0=>28BLRestore QMdiSubWindow>AAB0=>28BL Restore Down QMdiSubWindow(!25@=CBL 2 703>;>2>:Shade QMdiSubWindow$AB020BLAO &A25@EC Stay on &Top QMdiSubWindow2>AAB0=>28BL 87 703>;>2:0Unshade QMdiSubWindowz<h3> Qt</h3><p>0==0O ?@>3@0<<0 8A?>;L7C5B Qt 25@A88 %1.</p>8

About Qt

This program uses Qt version %1.

 QMessageBox l<p>Qt  MB> 8=AB@C<5=B0@89 4;O @07@01>B:8 :@>AA?;0BD>@<5==KE ?@8;>65=89 =0 C++.</p><p>Qt ?@54>AB02;O5B A>2<5AB8<>ABL =0 C@>2=5 8AE>4=KE B5:AB>2 <564C 4;O 2A5E ?>?C;O@=KE =0AB>;L=KE >?5@0F8>==KE A8AB5<. "0:65 Qt 4>ABC?=0 4;O 2AB@08205<>3> Linux 8 4@C38E <>18;L=KE >?5@0F8>==KE A8AB5<.</p><p>Qt 4>ABC?=0 ?>4 B@5<O @07;8G=K<8 ;8F5=78O<8, @07@01>B0==K<8 4;O C4>2;5B2>@5=8O B@51>20=89 @07=KE ?>;L7>20B5;59.</p><p>Qt ?>4 =0H59 :><<5@G5A:>9 ;8F5=7859 ?@54=07=0G5=0 4;O @0728B8O ?@>?@85B0@=>3>/:><<5@G5A:>3> ?@>3@0<<=>3> >15A?5G5=8O, :>340 =5B 65;0=8O/ ?@54>AB02;OBL 8AE>4=K5 B5:ABK B@5BL8< ;8F0< 2 A;CG05 =52>7<>6=>AB8 ?@8=OB8O CA;>289 ;8F5=789 GNU LGPL 25@A88 3 8;8 GNU LGPL 25@A88 2.1.</p><p>Qt ?>4 ;8F5=7859 GNU LGPL 25@A88 3 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=>3> >15A?5G5=8O C4>2;5B2>@ONI53> B@51>20=8O< ;8F5=788 GNU LGPL 25@A88 3.</p><p>Qt ?>4 ;8F5=7859 GNU LGPL 25@A88 2.1 ?@54=07=0G5=0 4;O @07@01>B:8 ?@>3@0<<=>3> >15A?5G5=8O C4>2;5B2>@ONI53> B@51>20=8O< ;8F5=788 GNU LGPL 25@A88 2.1.</p><p>>4@>1=55 A CA;>28O<8 ;8F5=78@>20=8O Qt <>6=> >7=0:><8BLAO =0 A09B5 <a href="http://%2/">%2</a>.</p><p>Copyright (C) %1 Digia Plc 8/8;8 5Q 4>G5@=85 ?>4@0745;5=8O 8 4@C385 CG0AB=8:8.</p><p>Qt, :0: >B:@KBK9 ?@>5:B, @07@010BK205BAO =0 <a href="http://qt-project.org/">qt-project.org</a>.</p><p>Qt  ?@>4C:B :><?0=88 Digia, @07@010BK205<K9 2 :0G5AB25 ?@>5:B0 A >B:@KBK<8 8AE>4=K<8 B5:AB0<8. >;55 ?>4@>1=CN 8=D>@<0F8N <>6=> =09B8 =0 A09B5 <a href="http://%3/">%3</a>.</p>c

Qt is a C++ toolkit for cross-platform application development.

Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.

Qt is available under three different licensing options designed to accommodate the needs of our various users.

Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 3 or GNU LGPL version 2.1.

Qt licensed under the GNU LGPL version 3 is appropriate for the development of Qt applications provided you can comply with the terms and conditions of the GNU LGPL version 3.

Qt licensed under the GNU LGPL version 2.1 is appropriate for the development of Qt applications provided you can comply with the terms and conditions of the GNU LGPL version 2.1.

Please see %2 for an overview of Qt licensing.

Copyright (C) %1 Digia Plc and/or its subsidiary(-ies) and other contributors.

Qt and the Qt logo are trademarks of Digia Plc and/or its subsidiary(-ies).

Qt is a Digia product developed as an open source project. See %3 for more information.

 QMessageBox QtAbout Qt QMessageBox!?@02:0Help QMessageBox*!:@KBL ?>4@>1=>AB8...Hide Details... QMessageBox0:@KBLOK QMessageBox.>:070BL ?>4@>1=>AB8...Show Details... QMessageBoxN@C3>9 A>:5B C65 ?@>A;CH8205B MB>B ?>@B4Another socket is already listening on the same portQNativeSocketEngine|>?KB:0 8A?>;L7>20BL IPv6 =0 ?;0BD>@<5, =5 ?>445@6820NI59 IPv6=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine*B:070=> 2 A>548=5=88Connection refusedQNativeSocketEngine6@5<O =0 A>548=5=85 8AB5:;>Connection timed outQNativeSocketEngineN0B03@0<<0 A;8H:>< 1>;LH0O 4;O >B?@02:8Datagram was too large to sendQNativeSocketEngine#75; =54>ABC?5=Host unreachableQNativeSocketEngine<5:>@@5:B=K9 45A:@8?B>@ A>:5B0Invalid socket descriptorQNativeSocketEngineH81:0 A5B8 Network errorQNativeSocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQNativeSocketEngine!5BL =54>ABC?=0Network unreachableQNativeSocketEngine*?5@0F8O A =5-A>:5B><Operation on non-socketQNativeSocketEngine*54>AB0B>G=> @5AC@A>2Out of resourcesQNativeSocketEngine>ABC? 70?@5IQ=Permission deniedQNativeSocketEngine4@>B>:>; =5 ?>445@68205BAOProtocol type not supportedQNativeSocketEngine @5<5==0O >H81:0Temporary errorQNativeSocketEngine 4@5A =54>ABC?5=The address is not availableQNativeSocketEngine4@5A 70I8IQ=The address is protectedQNativeSocketEngine,4@5A C65 8A?>;L7C5BAO#The bound address is already in useQNativeSocketEnginef5:>@@5:B=K9 B8? ?@>:A8-A5@25@0 4;O 40==>9 >?5@0F88,The proxy type is invalid for this operationQNativeSocketEngine@#40;Q==K9 C75; 70:@K; A>548=5=85%The remote host closed the connectionQNativeSocketEnginef52>7<>6=> 8=8F80;878@>20BL H8@>:>25I0B5;L=K9 A>:5B%Unable to initialize broadcast socketQNativeSocketEngineX52>7<>6=> 8=8F80;878@>20BL =5-1;>G=K9 A>:5B(Unable to initialize non-blocking socketQNativeSocketEngine:52>7<>6=> ?>;CG8BL A>>1I5=85Unable to receive a messageQNativeSocketEngine<52>7<>6=> >B?@028BL A>>1I5=85Unable to send a messageQNativeSocketEngine&52>7<>6=> 70?8A0BLUnable to writeQNativeSocketEngine$58725AB=0O >H81:0 Unknown errorQNativeSocketEngineH?5@0F8O A A>:5B>< =5 ?>445@68205BAOUnsupported socket operationQNativeSocketEngine$H81:0 >B:@KB8O %1Error opening %1QNetworkAccessCacheBackend(5:>@@5:B=K9 URI: %1Invalid URI: %1QNetworkAccessDataBackendf#40;Q==K9 C75; =5>6840==> ?@5@20; A>548=5=85 4;O %13Remote host closed the connection prematurely on %1QNetworkAccessDebugPipeBackend.H8:0 A>:5B0 4;O %1: %2Socket error on %1: %2QNetworkAccessDebugPipeBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessDebugPipeBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3C#Cannot open %1: Path is a directoryQNetworkAccessFileBackend,H81:0 >B:@KB8O %1: %2Error opening %1: %2QNetworkAccessFileBackend.H81:0 GB5=8O 87 %1: %2Read error reading from %1: %2QNetworkAccessFileBackend`0?@>A =0 >B:@KB85 D09;0 2=5 D09;>2>9 A8AB5<K %1%Request for opening non-local file %1QNetworkAccessFileBackend,H81:0 70?8A8 2 %1: %2Write error writing to %1: %2QNetworkAccessFileBackendZ52>7<>6=> >B:@KBL %1: #:070= ?CBL : :0B0;>3CCannot open %1: is a directoryQNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 703@C7:8 %1: %2Error while downloading %1: %2QNetworkAccessFtpBackendBH81:0 2 ?@>F5AA5 >B3@C7:8 %1: %2Error while uploading %1: %2QNetworkAccessFtpBackendb!>548=5=85 A %1 =5 C40;>AL: B@51C5BAO 02B>@870F8O0Logging in to %1 failed: authentication requiredQNetworkAccessFtpBackendD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkAccessFtpBackend.>ABC? 2 A5BL >B:;NGQ=.Network access is disabled.QNetworkAccessManager8$>=>2K5 70?@>AK =54>?CAB8<K.Background request not allowed. QNetworkReplyLH81:0 703@C7:8 %1  >B25B A5@25@0: %2)Error downloading %1 - server replied: %2 QNetworkReply,H81:0 A5B52>9 A5AA88.Network session error. QNetworkReply258725AB=K9 ?@>B>:>; %1Protocol "%1" is unknown QNetworkReply,@5<5==0O >H81:0 A5B8.Temporary network failure. QNetworkReply0>H81:0 70?CA:0 4@0925@0.backend start error. QNetworkReplyD>4E>4OI89 ?@>:A8-A5@25@ =5 =0945=No suitable proxy foundQNetworkReplyHttpImpl"?5@0F8O >B<5=5=0Operation canceledQNetworkReplyHttpImpl"?5@0F8O >B<5=5=0Operation canceledQNetworkReplyImpl45:>@@5:B=0O :>=D83C@0F8O.Invalid configuration.QNetworkSession> >C<8=3 ?@5@20= 8;8 =52>7<>65=.'Roaming was aborted or is not possible.QNetworkSessionPrivateImpl\"@51C5<0O >?5@0F8O =5 ?>445@68205BAO A8AB5<>9.7The requested operation is not supported by the system.QNetworkSessionPrivateImpl`!5AA8O 1K;0 ?@5@20=0 ?>;L7>20B5;5< 8;8 A8AB5<>9..The session was aborted by the user or system.QNetworkSessionPrivateImpl^52>7<>6=> 8A?>;L7>20BL C:070==CN :>=D83C@0F8N.+The specified configuration cannot be used.QNetworkSessionPrivateImpl458725AB=0O >H81:0 A5AA88.Unknown session error.QNetworkSessionPrivateImpl852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QOCIDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QOCIDriver652>7<>6=> 8=8F80;878@>20BLUnable to initialize QOCIDriver252>7<>6=> 02B>@87>20BLAOUnable to logon QOCIDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QOCIDriver852>7<>6=> A>740BL 2K@065=85Unable to alloc statement QOCIResultj52>7<>6=> ?@82O70BL AB>;15F 4;O ?0:5B=>3> 2K?>;=5=8O'Unable to bind column for batch execute QOCIResultX52>7<>6=> ?@82O70BL @57C;LB8@CNI85 7=0G5=8OUnable to bind value QOCIResultN52>7<>6=> 2K?>;=8BL ?0:5B=>5 2K@065=85!Unable to execute batch statement QOCIResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QOCIResultF52>7<>6=> >?@545;8BL B8? 2K@065=8OUnable to get statement type QOCIResultJ52>7<>6=> ?5@59B8 : A;54CNI59 AB@>:5Unable to goto next QOCIResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QOCIResult>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QODBCDriver,52>7<>6=> A>548=8BLAOUnable to connect QODBCDriver52>7<>6=> A>548=8BLAO  @0925@ =5 ?>445@68205B B@51C5<K9 DC=:F8>=0;EUnable to connect - Driver doesn't support all functionality required QODBCDriver\52>7<>6=> >B:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to disable autocommit QODBCDriverZ52>7<>6=> 2:;NG8BL 02B>7025@H5=85 B@0=70:F89Unable to enable autocommit QODBCDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QODBCDriverQODBCResult::reset: 52>7<>6=> CAB0=>28BL SQL_CURSOR_STATIC 0B@81CB>< 2K@065=85. @>25@LB5 =0AB@>9:8 4@0925@0 ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult:52>7<>6=> ?@82O70BL 7=0G5=85Unable to bind variable QODBCResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QODBCResult452>7<>6=> ?>;CG8BL 40==K5Unable to fetch QODBCResultB52>7<>6=> ?>;CG8BL ?5@2CN AB@>:CUnable to fetch first QODBCResultH52>7<>6=> ?>;CG8BL ?>A;54=NN AB@>:CUnable to fetch last QODBCResultH52>7<>6=> ?>;CG8BL A;54CNICN AB@>:CUnable to fetch next QODBCResultJ52>7<>6=> ?>;CG8BL ?@54K4CICN AB@>:CUnable to fetch previous QODBCResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QODBCResult85 C40;>AL =0G0BL B@0=70:F8NCould not begin transaction QPSQLDriver>5 C40;>AL 7025@H8BL B@0=70:F8NCould not commit transaction QPSQLDriver<5 C40;>AL >B:0B8BL B@0=70:F8NCould not rollback transaction QPSQLDriver,52>7<>6=> A>548=8BLAOUnable to connect QPSQLDriver,52>7<>6=> ?>4?8A0BLAOUnable to subscribe QPSQLDriver*52>7<>6=> >B?8A0BLAOUnable to unsubscribe QPSQLDriver252>7<>6=> A>740BL 70?@>AUnable to create query QPSQLResult@52>7<>6=> ?>43>B>28BL 2K@065=85Unable to prepare statement QPSQLResultCCCCQPageSetupWidget&8F5@> (CC) Cicero (CC)QPageSetupWidget A>1K9CustomQPageSetupWidgetDDDDQPageSetupWidget84> (DD) Didot (DD)QPageSetupWidget $>@<0FormQPageSetupWidgetKA>B0:Height:QPageSetupWidgetN9<K (4<) Inches (in)QPageSetupWidget;L1><=0O LandscapeQPageSetupWidget>;OMarginsQPageSetupWidget8;;8<5B@K (<<)Millimeters (mm)QPageSetupWidget@85=B0F8O OrientationQPageSetupWidget$ 07<5I5=85 AB@0=8F Page LayoutQPageSetupWidget >@O4>: AB@0=8F: Page order:QPageSetupWidget  07<5@ AB@0=8FK: Page size:QPageSetupWidget"!B@0=8F =0 ;8AB5:Pages per sheet:QPageSetupWidget C<030PaperQPageSetupWidget AB>G=8: 1C<038: Paper source:QPageSetupWidget8:0 (P8) Pica (P̸)QPageSetupWidget">G:8 (?B) Points (pt)QPageSetupWidget=86=0OPortraitQPageSetupWidgetP8P̸QPageSetupWidget,5@52Q@=CB0O 0;L1><=0OReverse landscapeQPageSetupWidget(5@52Q@=CB0O :=86=0OReverse portraitQPageSetupWidget(8@8=0:Width:QPageSetupWidget=86=55 ?>;5 bottom marginQPageSetupWidget4<inQPageSetupWidget;52>5 ?>;5 left marginQPageSetupWidget<<mmQPageSetupWidget?BptQPageSetupWidget?@02>5 ?>;5 right marginQPageSetupWidget25@E=55 ?>;5 top marginQPageSetupWidget%1 x %2 4< %1 x %2 in QPageSizeA0A0 QPageSizeA1A1 QPageSizeA10A10 QPageSizeA2A2 QPageSizeA3A3 QPageSizeA3 ExtraA3 Extra QPageSizeA4A4 QPageSizeA4 ExtraA4 Extra QPageSizeA4 PlusA4 Plus QPageSizeA4 SmallA4 Small QPageSizeA5A5 QPageSizeA5 ExtraA5 Extra QPageSizeA6A6 QPageSizeA7A7 QPageSizeA8A8 QPageSizeA9A9 QPageSize ANSI CANSI C QPageSize ANSI DANSI D QPageSize ANSI EANSI E QPageSizeArchitect A Architect A QPageSizeArchitect B Architect B QPageSizeArchitect C Architect C QPageSizeArchitect D Architect D QPageSizeArchitect E Architect E QPageSizeB0B0 QPageSizeB1B1 QPageSizeB10B10 QPageSizeB2B2 QPageSizeB3B3 QPageSizeB4B4 QPageSizeB5B5 QPageSizeB5 ExtraB5 Extra QPageSizeB6B6 QPageSizeB7B7 QPageSizeB8B8 QPageSizeB9B9 QPageSize A>1K9Custom QPageSize,A>1K9 (%1 CC x %2 CC)Custom (%1CC x %2CC) QPageSize,A>1K9 (%1 DD x %2 DD)Custom (%1DD x %2DD) QPageSize,A>1K9 (%1 4< x %2 4<)Custom (%1in x %2in) QPageSize,A>1K9 (%1 << x %2 <<)Custom (%1mm x %2mm) QPageSize,A>1K9 (%1 P8 x %2 P8)Custom (%1pc x %2pc) QPageSize,A>1K9 (%1 ?B x %2 ?B)Custom (%1pt x %2pt) QPageSizeDouble PostcardDouble Postcard QPageSizeEnvelope B4 Envelope B4 QPageSizeEnvelope B5 Envelope B5 QPageSizeEnvelope B6 Envelope B6 QPageSizeEnvelope C0 Envelope C0 QPageSizeEnvelope C1 Envelope C1 QPageSizeEnvelope C2 Envelope C2 QPageSizeEnvelope C3 Envelope C3 QPageSizeEnvelope C4 Envelope C4 QPageSizeEnvelope C5 Envelope C5 QPageSizeEnvelope C6 Envelope C6 QPageSizeEnvelope C65 Envelope C65 QPageSizeEnvelope C7 Envelope C7 QPageSizeEnvelope Chou 3Envelope Chou 3 QPageSizeEnvelope Chou 4Envelope Chou 4 QPageSizeEnvelope DL Envelope DL QPageSizeEnvelope InviteEnvelope Invite QPageSize Envelope ItalianEnvelope Italian QPageSizeEnvelope Kaku 2Envelope Kaku 2 QPageSizeEnvelope Kaku 3Envelope Kaku 3 QPageSize Envelope MonarchEnvelope Monarch QPageSizeEnvelope PRC 1Envelope PRC 1 QPageSizeEnvelope PRC 10Envelope PRC 10 QPageSizeEnvelope PRC 2Envelope PRC 2 QPageSizeEnvelope PRC 3Envelope PRC 3 QPageSizeEnvelope PRC 4Envelope PRC 4 QPageSizeEnvelope PRC 5Envelope PRC 5 QPageSizeEnvelope PRC 6Envelope PRC 6 QPageSizeEnvelope PRC 7Envelope PRC 7 QPageSizeEnvelope PRC 8Envelope PRC 8 QPageSizeEnvelope PRC 9Envelope PRC 9 QPageSize"Envelope PersonalEnvelope Personal QPageSizeEnvelope US 10Envelope US 10 QPageSizeEnvelope US 11Envelope US 11 QPageSizeEnvelope US 12Envelope US 12 QPageSizeEnvelope US 14Envelope US 14 QPageSizeEnvelope US 9 Envelope US 9 QPageSizeEnvelope You 4Envelope You 4 QPageSize4Executive (7.25 x 10.5 4<)Executive (7.25 x 10.5 in) QPageSize.Executive (7.5 x 10 4<)Executive (7.5 x 10 in) QPageSize:Fan-fold German (8.5 x 12 in)Fan-fold German (8.5 x 12 in) QPageSizeFFan-fold German Legal (8.5 x 13 in)#Fan-fold German Legal (8.5 x 13 in) QPageSize8Fan-fold US (14.875 x 11 in)Fan-fold US (14.875 x 11 in) QPageSize(Folio (8.27 x 13 4<)Folio (8.27 x 13 in) QPageSize JIS B0JIS B0 QPageSize JIS B1JIS B1 QPageSizeJIS B10JIS B10 QPageSize JIS B2JIS B2 QPageSize JIS B3JIS B3 QPageSize JIS B4JIS B4 QPageSize JIS B5JIS B5 QPageSize JIS B6JIS B6 QPageSize JIS B7JIS B7 QPageSize JIS B8JIS B8 QPageSize JIS B9JIS B9 QPageSizeLedger / ANSI BLedger / ANSI B QPageSize LegalLegal QPageSizeLegal Extra Legal Extra QPageSizeLetter / ANSI ALetter / ANSI A QPageSizeLetter Extra Letter Extra QPageSizeLetter Plus Letter Plus QPageSizeLetter Small Letter Small QPageSizeNoteNote QPageSizePRC 16KPRC 16K QPageSizePRC 32KPRC 32K QPageSizePRC 32K Big PRC 32K Big QPageSizePostcardPostcard QPageSize QuartoQuarto QPageSizeStatement Statement QPageSizeSuper ASuper A QPageSizeSuper BSuper B QPageSize Tabloid / ANSI BTabloid / ANSI B QPageSizeTabloid Extra Tabloid Extra QPageSize&5B&NoQPlatformTheme&0&YesQPlatformTheme@5@20BLAbortQPlatformTheme@8<5=8BLApplyQPlatformTheme B<5=0CancelQPlatformTheme0:@KBLCloseQPlatformThemeB:;>=8BLDiscardQPlatformTheme!?@02:0HelpQPlatformTheme@>?CAB8BLIgnoreQPlatformTheme&5B 4;O 2A5E N&o to AllQPlatformThemeOKOKQPlatformThemeB:@KBLOpenQPlatformTheme!1@>A8BLResetQPlatformTheme> C<>;G0=8NRestore DefaultsQPlatformTheme>2B>@8BLRetryQPlatformTheme!>E@0=8BLSaveQPlatformTheme!>E@0=8BL 2A5Save AllQPlatformTheme0 4;O &2A5E Yes to &AllQPlatformTheme.>4C;L =5 1K; 703@C65=.The plugin was not loaded. QPluginLoader$58725AB=0O >H81:0 Unknown error QPluginLoaderN%1 C65 ACI5AB2C5B. %>B8B5 70<5=8BL 53>?/%1 already exists. Do you want to overwrite it? QPrintDialogX%1  MB> :0B0;>3. K15@8B5 4@C3>5 8<O D09;0.7%1 is a directory. Please choose a different file name. QPrintDialog&0@0<5B@K << &Options << QPrintDialog&0@0<5B@K >> &Options >> QPrintDialog&5G0BL&Print QPrintDialog1 (1x1)1 (1x1) QPrintDialog16 (4x4)16 (4x4) QPrintDialog2 (2x1)2 (2x1) QPrintDialog4 (2x2)4 (2x2) QPrintDialog6 (2x3)6 (2x3) QPrintDialog9 (3x3)9 (3x3) QPrintDialogA5 AB@0=8FK All Pages QPrintDialog2B><0B8G5A:8 Automatic QPrintDialog4!=87C 225@E, A;520 =0?@02>Bottom to Top, Left to Right QPrintDialog4!=87C 225@E, A?@020 =0;52>Bottom to Top, Right to Left QPrintDialog 'QB=K5 Even Pages QPrintDialogh%1 =54>ABC?5= 4;O 70?8A8. K15@8B5 4@C3>5 8<O D09;0.=File %1 is not writable. Please choose a different file name. QPrintDialog4!;520 =0?@02>, A=87C 225@ELeft to Right, Bottom to Top QPrintDialog4!;520 =0?@02>, A25@EC 2=87Left to Right, Top to Bottom QPrintDialog>:0;L=K9 D09; Local file QPrintDialogOKOK QPrintDialog5GQB=K5 Odd Pages QPrintDialog0@0<5B@K !B@0=8F =0 ;8AB5 8 !?8A>: AB@0=8F =5 <>3CB 8A?>;L7>20BLAO >4=>2@5<5==>. K:;NG8B5 >48= 87 =8E.gOptions 'Pages Per Sheet' and 'Page Set' cannot be used together. Please turn one of those options off. QPrintDialog 5G0BLPrint QPrintDialog"5G0BL 2 D09; ...Print To File ... QPrintDialog&5G0BL 2 D09; (PDF)Print to File (PDF) QPrintDialog4!?@020 =0;52>, A=87C 225@ERight to Left, Bottom to Top QPrintDialog4!?@020 =0;52>, A25@EC 2=87Right to Left, Top to Bottom QPrintDialog`=0G5=85 A =5 <>65B 1KBL 1>;LH5 7=0G5=8O ?>.7The 'From' value cannot be greater than the 'To' value. QPrintDialog4!25@EC 2=87, A;520 =0?@02>Top to Bottom, Left to Right QPrintDialog4!25@EC 2=87, A?@020 =0;52>Top to Bottom, Right to Left QPrintDialog0?8AL D09; PDFWrite PDF file QPrintDialog%1%%1%QPrintPreviewDialog-:A?>@B 2 PDF Export to PDFQPrintPreviewDialog5@20O AB@0=8F0 First pageQPrintPreviewDialog0 2AN AB@0=8FCFit pageQPrintPreviewDialog> H8@8=5 Fit widthQPrintPreviewDialog;L1><=0O LandscapeQPrintPreviewDialog$>A;54=OO AB@0=8F0 Last pageQPrintPreviewDialog$!;54CNI0O AB@0=8F0 Next pageQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page SetupQPrintPreviewDialog$0@0<5B@K AB@0=8FK Page setupQPrintPreviewDialog=86=0OPortraitQPrintPreviewDialog&@54K4CI0O AB@0=8F0 Previous pageQPrintPreviewDialog 5G0BLPrintQPrintPreviewDialog@>A<>B@ ?5G0B8 Print PreviewQPrintPreviewDialog6>:070BL B8BC;L=K5 AB@0=8FKShow facing pagesQPrintPreviewDialog6>:070BL >17>@ 2A5E AB@0=8FShow overview of all pagesQPrintPreviewDialog,>:070BL >4=C AB@0=8FCShow single pageQPrintPreviewDialog#25;8G8BLZoom inQPrintPreviewDialog#<5=LH8BLZoom outQPrintPreviewDialog"0@0<5B@K 7040=8O Job OptionsQPrintPropertiesDialog $>@<0FormQPrintPropertiesWidget!B@0=8F0PageQPrintPropertiesWidget& 07>1@0BL ?> :>?8O<CollateQPrintSettingsOutput&25BColorQPrintSettingsOutput 568< F25B0 Color ModeQPrintSettingsOutput >?88CopiesQPrintSettingsOutput">;8G5AB2> :>?89:Copies:QPrintSettingsOutput "5:CI0O AB@0=8F0 Current PageQPrintSettingsOutput&2CAB>@>==OO ?5G0BLDuplex PrintingQPrintSettingsOutput $>@<0FormQPrintSettingsOutputBB5=:8 A5@>3> GrayscaleQPrintSettingsOutput$> 4;8==>9 AB>@>=5 Long sideQPrintSettingsOutput5BNoneQPrintSettingsOutput0@0<5B@KOptionsQPrintSettingsOutput 0AB@>9:8 2K2>40Output SettingsQPrintSettingsOutput!?8A>: AB@0=8F: Page Set:QPrintSettingsOutput!B@0=8FK A Pages fromQPrintSettingsOutputA5 Print allQPrintSettingsOutput80?07>= ?5G0B8 Print rangeQPrintSettingsOutput 1@0B=K9 ?>@O4>:ReverseQPrintSettingsOutput&K45;5==K9 D@03<5=B SelectionQPrintSettingsOutput&> :>@>B:>9 AB>@>=5 Short sideQPrintSettingsOutput?>toQPrintSettingsOutput&0720=85:&Name: QPrintWidget...... QPrintWidget $>@<0Form QPrintWidget 0A?>;>65=85: Location: QPrintWidgetK2>4 2 &D09;: Output &file: QPrintWidget!&2>9AB20 P&roperties QPrintWidget@>A<>B@Preview QPrintWidget@8=B5@Printer QPrintWidget"8?:Type: QPrintWidgetf5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 22>40 4;O GB5=8O,Could not open input redirection for readingQProcessh5 C40;>AL >B:@KBL ?5@5=0?@02;5=85 2K2>40 4;O 70?8A8-Could not open output redirection for writingQProcessFH81:0 ?>;CG5=8O 40==KE >B ?@>F5AA0Error reading from processQProcess>H81:0 >B?@02:8 40==KE ?@>F5AACError writing to processQProcess(@>3@0<<0 =5 C:070=0No program definedQProcess8@>F5AA 7025@H8;AO A >H81:>9Process crashedQProcess@5 C40;>AL 70?CAB8BL ?@>F5AA: %1Process failed to start: %1QProcessJ@5<O =0 >?5@0F8N A ?@>F5AA>< 8AB5:;>Process operation timed outQProcessRH81:0 2K45;5=8O @5AC@A>2 (A1>9 fork): %1!Resource error (fork failure): %1QProcessB<5=8BLCancelQProgressDialogA5 D09;K (*.*)All files (*.*)QQnxFileDialogHelper"",CANCELQQnxFileDialogHelperOKOKQQnxFileDialogHelperK1>@ D09;0 Pick a fileQQnxFilePickerL=5?@028;L=K9 A8=B0:A8A :;0AA0 A8<2>;>2bad char class syntaxQRegExp@=5?@028;L=K9 A8=B0:A8A lookaheadbad lookahead syntaxQRegExpB=5?@028;L=K9 A8=B0:A8A ?>2B>@5=8Obad repetition syntaxQRegExpL8A?>;L7>20=85 >B:;NGQ==KE 2>7<>6=>AB59disabled feature usedQRegExp,=5:>@@5:B=0O :0B53>@8Oinvalid categoryQRegExp*=5:>@@5:B=K9 8=B5@20;invalid intervalQRegExpD=5:>@@5:B=>5 2>AL<5@8G=>5 7=0G5=85invalid octal valueQRegExpXlookbehind =5 ?>445@68205BAO, A<. QTBUG-2371)lookbehinds not supported, see QTBUG-2371QRegExpB4>AB83=CB> 2=CB@5==55 >3@0=8G5=85met internal limitQRegExp:>BACBAB2C5B ;52K9 @0745;8B5;Lmissing left delimQRegExp$>H81:8 >BACBAB2CNBno error occurredQRegExp"=5>6840==K9 :>=5Funexpected endQRegExp:(*MARK) 4>;65= 8<5BL 0@3C<5=B(*MARK) must have an argumentQRegularExpression$(*VERB) =5 >?>7=0=(*VERB) not recognizedQRegularExpressionR70 (?R 8;8 (?[+-]F8D@K 4>;6=0 A;54>20BL ))(?R or (?[+-]digits must be followed by )QRegularExpressionP3@C??0 DEFINE A>45@68B 1>;55 >4=>9 25B:8*DEFINE group contains more than one branchQRegularExpressionZPCRE =5 ?>445@68205B \L, \l, \N{8<O}, \U 8 \u1PCRE does not support \L, \l, \N{name}, \U, or \uQRegularExpressionXPOSIX-A>@B8@>2:0 M;5<5=B>2 =5 ?>445@68205BAO*POSIX collating elements are not supportedQRegularExpression:;0AAK 8<5=>20==K5 2 AB8;5 POSIX ?>445@6820NBAO B>;L:> 2=CB@8 :;0AA05POSIX named classes are supported only within a classQRegularExpression"\ 2 :>=F5 H01;>=0\ at end of patternQRegularExpressionJ\C =5 4>?CAB8<0 2 ?@>25@:5 lookbehind&\C not allowed in lookbehind assertionQRegularExpression:\N =5 ?>445@68205BAO 2 :;0AA5\N is not supported in a classQRegularExpression$\c 2 :>=F5 H01;>=0\c at end of patternQRegularExpressionL?>A;5 \c 4>;65= A;54>20BL A8<2>; ASCII)\c must be followed by an ASCII characterQRegularExpression70 \g 4>;6=> A;54>20BL G8A;> 8;8 =0720=85/G8A;> 70:;NGQ==>5 2 D83C@=K5/C3;>2K5 A:>1:8 8;8 :02KG:8[\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain numberQRegularExpression70 \k 4>;6=> A;54>20BL =0720=85 70:;NGQ==>5 2 D83C@=K5/C3;>2K5 A:>1:8 8;8 :02KG:8?\k is not followed by a braced, angle-bracketed, or quoted nameQRegularExpression] =54>?CAB8<K9 A8<2>; 40==KE 2 @568<5 A>2<5AB8<>AB8 A JavaScript?] is an invalid data character in JavaScript compatibility modeQRegularExpressionP=C<5@>20==0O AAK;:0 =5 4>;6=0 1KBL =C;Q<%a numbered reference must not be zeroQRegularExpressionr4;O (*ACCEPT), (*FAIL) 8 (*COMMIT) 0@3C<5=BK =5 4>?CAB8<K?an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)QRegularExpression8?>A;5 (?( B@51C5BAO ?@>25@:0assertion expected after (?(QRegularExpressiont7=0G5=85 A8<2>;0 2 ?>A;54>20B5;L=>AB8 \u... A;8H:>< 25;8:>/character value in \u.... sequence is too largeQRegularExpressionz7=0G5=85 A8<2>;0 2 ?>A;54>20B5;L=>AB8 \x{...} A;8H:>< 1>;LH>50character value in \x{...} sequence is too largeQRegularExpression>B@51C5BAO 70:@K20NI0O ) 4;O (?Cclosing ) for (?C expectedQRegularExpressionRCA;>2=0O 3@C??0 A>45@68B 1>;55 42CE 25B>:1conditional group contains more than two branchesQRegularExpressionv>B;8G=K5 8<5=0 4;O ?>4H01;>=>2 A >4=8< =><5@>< =5 4>?CAB8<KBdifferent names for subpatterns of the same number are not allowedQRegularExpression2?>A;5 (?+ B@51C5BAO F8D@0digit expected after (?+QRegularExpressionv=54>?CAB8<0O :>4>20O B>G:0 Unicode (>= 0xd800 && <= 0xdfff)6disallowed Unicode code point (>= 0xd800 && <= 0xdfff)QRegularExpressionB2 :0G5AB25 erroffset ?5@540= NULLerroffset passed as NULLQRegularExpression4=5 C40;>AL 2K45;8BL ?0<OBLfailed to get memoryQRegularExpressionL8<O 3@C??K 4>;6=> =0G8=0BLAO A =5F8D@K&group name must start with a non-digitQRegularExpression6=5A>2<5AB8<0O >?F8O NEWLINEinconsistent NEWLINE optionsQRegularExpressionH2=CB@5==OO >H81:0: ?5@5?>;=5=85 :>40internal error: code overflowQRegularExpressionl2=CB@5==OO >H81:0: 2KE>4 70 ?@545;K >1;0AB8 :><?8;OF88+internal error: overran compiling workspaceQRegularExpressionp2=CB@5==OO >H81:0: @0=55 ?@>25@5==K9 ?>4H01;>= =5 =0945=Binternal error: previously-checked referenced subpattern not foundQRegularExpressionJ2=CB@5==OO >H81:0: =5>6840==K9 ?>2B>@!internal error: unexpected repeatQRegularExpressionr2=CB@5==OO >H81:0: =58725AB=K9 >?:>4 2 find_fixedlength()4internal error: unknown opcode in find_fixedlength()QRegularExpression4=5:>@@5:B=0O AB@>:0 UTF-16invalid UTF-16 stringQRegularExpression4=5:>@@5:B=0O AB@>:0 UTF-32invalid UTF-32 stringQRegularExpression2=5:>@@5:B=0O AB@>:0 UTF-8invalid UTF-8 stringQRegularExpression4=5:>@@5:B=>5 CA;>285 (?(0)invalid condition (?(0)QRegularExpressionj=5:>@@5:B=0O ESC-?>A;54>20B5;L=>ABL 2 :;0AA5 A8<2>;>2*invalid escape sequence in character classQRegularExpressionN=54>?CAB8<K9 480?07>= 2 :;0AA5 A8<2>;>2 invalid range in character classQRegularExpression^?@>25@:0 lookbehind 8<55B =5D8:A8@>20==CN 4;8=C(lookbehind assertion is not fixed lengthQRegularExpressionj=5:>@@5:B=> AD>@<8@>20=0 ?>A;54>20B5;L=>ABL \P 8;8 \pmalformed \P or \p sequenceQRegularExpression`=5:>@@5:B=> AD>@<8@>20=> G8A;> 8;8 8<O ?>A;5 (?("malformed number or name after (?(QRegularExpression>BACBAB2C5B ) missing )QRegularExpression>>BACBAB2C5B ) ?>A;5 :><<5=B0@8Omissing ) after commentQRegularExpression`>BACBAB2C5B >B:@K20NI0O D83C@=0O A:>1:0 ?>A;5 \omissing opening brace after \oQRegularExpressionZ>BACBAB2C5B 7025@H0NI0O ] 4;O :;0AA0 A8<2>;>2)missing terminating ] for character classQRegularExpressionxA;8H:>< 4;8==>5 8<O 2 (*MARK), (*PRUNE), (*SKIP) 8;8 (*THEN):name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)QRegularExpression=5B >H81:8no errorQRegularExpression=5-H5AB=04F0B5@8G=K9 A8<2>; 2 \x {} (>BACBAB2C5B 70:@K20NI0O A:>1:0?)2non-hex character in \x{} (closing brace missing?)QRegularExpression=5-2>AL<5@8G=K9 A8<2>; 2 \o {} (>BACBAB2C5B 70:@K20NI0O A:>1:0?)4non-octal character in \o{} (closing brace missing?)QRegularExpression =5G53> ?>2B>@OBLnothing to repeatQRegularExpression4G8A;> ?>A;5 (?C 1>;LH5 255number after (?C is > 255QRegularExpression(G8A;> A;8H:>< 25;8:>number is too bigQRegularExpressionNG8A;> A;8H:>< 25;8:> 2 :20;8D8:0B>@5 {}number too big in {} quantifierQRegularExpressionJ=5:>@@5:B=K5 G8A;0 2 :20;8D8:0B>@5 {}%numbers out of order in {} quantifierQRegularExpressiond2>AL<8@8G=>5 G8A;> 1>;LH5 \377 (2 @568<5 =5 UTF-8)4octal value is greater than \377 (not in UTF-8 mode)QRegularExpression>A;8H:>< 1>;LH>5 2;>65=85 A:>1>:!parentheses are too deeply nestedQRegularExpression`A;8H:>< 1>;LH>5 2;>65=85 A:>1>: (:>=B@>;L AB5:0)/parentheses are too deeply nested (stack check)QRegularExpressionN=5:>@@5:B=K9 480?07>= 2 :;0AA5 A8<2>;>2%range out of order in character classQRegularExpressionV@5:C@A82=K9 2K7>2 <>65B 70F8:;8BLAO =025G=>&recursive call could loop indefinitelyQRegularExpressionDAAK;:0 =0 =5ACI5AB2CNI89 ?>4H01;>=$reference to non-existent subpatternQRegularExpressionF 53C;O@=>5 2K@065=85 A;8H:>< 25;8:>regular expression is too largeQRegularExpression@?>2B>@ 3@C??K DEFINE =5 4>?CAB8<'repeating a DEFINE group is not allowedQRegularExpressionF=0AB@>9:0 UTF >B:;NG5=0 ?@8;>65=85<*setting UTF is disabled by the applicationQRegularExpression0B@51C5BAO 8<O ?>4H01;>=0subpattern name expectedQRegularExpressionx=0720=85 ?>4H01;>=0 A;8H:>< 25;8:> (>3@0=8G5=> 2 32 A8<2>;0)3subpattern name is too long (maximum 32 characters)QRegularExpressionN?>445@6:0 \P, \p 8 \X =5 A:><?8;8@>20=00support for \P, \p, and \X has not been compiledQRegularExpressionA8=B0:A8G5A:0O >H81:0 2 8<5=8 ?>4H01;>=0 (>BACBAB2C5B ?@87=0: 7025@H5=8O)4syntax error in subpattern name (missing terminator)QRegularExpression\MB0 25@A8O PCRE A>1@0=0 157 ?>445@6:8 PCRE_UCP:this version of PCRE is not compiled with PCRE_UCP supportQRegularExpression^MB0 25@A8O PCRE A>1@0=0 157 ?>445@6:8 PCRE_UTF8;this version of PCRE is not compiled with PCRE_UTF8 supportQRegularExpression@A;8H:>< <=>3> >?5@560NI8E AAK;>:too many forward referencesQRegularExpressionnA;8H:>< <=>3> 8<5=>20=KE ?>4H01;>=>2 (>3@0=8G5=> 10000)*too many named subpatterns (maximum 10000)QRegularExpression^420 8<5=>20==KE ?>4H01;>=0 8<5NB >48=0:>2>5 8<O(two named subpatterns have the same nameQRegularExpression8=58725AB=>5 8<O POSIX :;0AA0unknown POSIX class nameQRegularExpression\=58725AB=K9 =01>@ D;03>2 @53C;O@=>3> 2K@065=8Ounknown option bit(s) setQRegularExpressionP=58725AB=>5 8<O A2>9AB20 ?>A;5 \P 8;8 \p$unknown property name after \P or \pQRegularExpression::@C3;K5 A:>1:8 =5 A>3;0A>20=Kunmatched parenthesesQRegularExpressionRA8<2>; A;54CNI89 70 (? 8;8 (?- =5 >?>7=0=&unrecognized character after (? or (?-QRegularExpression6A8<2>; ?>A;5 (?< =5 >?>7=0= unrecognized character after (?<QRegularExpression6A8<2>; ?>A;5 (?P =5 >?>7=0= unrecognized character after (?PQRegularExpression@A8<2>; A;54CNI89 70 \ =5 >?>7=0= unrecognized character follows \QRegularExpression6H81:0 >B:@KB8O 107K 40==KEError opening databaseQSQLite2Driver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transactionQSQLite2Driver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transactionQSQLite2Driver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transactionQSQLite2Driver<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statementQSQLite2Result<52>7<>6=> ?>;CG8BL @57C;LB0BKUnable to fetch resultsQSQLite2Result6H81:0 70:@KB8O 107K 40==KEError closing database QSQLiteDriver6H81:0 >B:@KB8O 107K 40==KEError opening database QSQLiteDriver852>7<>6=> =0G0BL B@0=70:F8NUnable to begin transaction QSQLiteDriver>52>7<>6=> 7025@H8BL B@0=70:F8NUnable to commit transaction QSQLiteDriver<52>7<>6=> >B:0B8BL B@0=70:F8NUnable to rollback transaction QSQLiteDriver$BACBAB2C5B 70?@>ANo query QSQLiteResultD>;8G5AB2> ?0@0<5B@>2 =5 A>2?0405BParameter count mismatch QSQLiteResult:52>7<>6=> ?@82O70BL ?0@0<5B@Unable to bind parameters QSQLiteResultl52>7<>6=> >4=>2@5<5==> 70?CAB8BL =5A:>;L:> >?5@0B>@>2/Unable to execute multiple statements at a time QSQLiteResult<52>7<>6=> 2K?>;=8BL 2K@065=85Unable to execute statement QSQLiteResult452>7<>6=> ?>;CG8BL AB@>:CUnable to fetch row QSQLiteResult:52>7<>6=> A1@>A8BL 2K@065=85Unable to reset statement QSQLiteResultP!CI5AB2CNI89 D09; %1 70I8IQ= >B 70?8A8 Existing file %1 is not writable QSaveFile<<O D09;0 AAK;05BAO =0 :0B0;>3Filename refers to a directory QSaveFile60?8AL ?@5@20=0 ?@8;>65=85<Writing canceled by application QSaveFile=87Bottom QScrollBar ;52>9 3@0=8F5 Left edge QScrollBar 0 AB@0=8FC 2=87 Page down QScrollBar"0 AB@0=8FC 2;52> Page left QScrollBar$0 AB@0=8FC 2?@02> Page right QScrollBar"0 AB@0=8FC 225@EPage up QScrollBar  ?@02>9 3@0=8F5 Right edge QScrollBar@>:@CB8BL 2=87 Scroll down QScrollBar@>:@CB8BL AN40 Scroll here QScrollBar @>:@CB8BL 2;52> Scroll left QScrollBar"@>:@CB8BL 2?@02> Scroll right QScrollBar @>:@CB8BL 225@E Scroll up QScrollBar 25@ETop QScrollBarR%1: A?5F8D8G5A:89 :;NG UNIX =5 ACI5AB2C5B%1: UNIX key file doesn't exist QSharedMemory$%1: C65 ACI5AB2C5B%1: already exists QSharedMemory,%1: @07<5@ <5=LH5 =C;O%1: create size is less then 0 QSharedMemory"%1: =5 ACI5AB2C5B%1: doesn't exist QSharedMemory%1: >H81:0 ftok%1: ftok failed QSharedMemory.%1: =54>?CAB8<K9 @07<5@%1: invalid size QSharedMemory %1: >H81:0 :;NG0 %1: key error QSharedMemory%1: ?CAB>9 :;NG%1: key is empty QSharedMemory$%1: =5 ?@8;>65==K9%1: not attached QSharedMemory2%1: =54>AB0B>G=> @5AC@A>2%1: out of resources QSharedMemory&%1: 4>ABC? 70?@5IQ=%1: permission denied QSharedMemory>%1: =5 C40;>AL 70?@>A8BL @07<5@%1: size query failed QSharedMemoryV%1: A8AB5<>9 =0;>65=K >3@0=8G5=8O =0 @07<5@$%1: system-imposed size restrictions QSharedMemory8%1: =52>7<>6=> 701;>:8@>20BL%1: unable to lock QSharedMemory6%1: =52>7<>6=> A>740BL :;NG%1: unable to make key QSharedMemoryR%1: =52>7<>6=> CAB0=>28BL :;NG 1;>:8@>2:8%1: unable to set key on lock QSharedMemory:%1: =52>7<>6=> @071;>:8@>20BL%1: unable to unlock QSharedMemory2%1: =58725AB=0O >H81:0 %2%1: unknown error %2 QSharedMemory++ QShortcut(>1028BL 2 871@0==>5 Add Favorite QShortcut"0AB@>9:0 O@:>AB8Adjust Brightness QShortcutAltAlt QShortcut"520O A>DB-:=>?:0Application Left QShortcut$@020O A>DB-:=>?:0Application Right QShortcutF0F8:;5==>5 2>A?@>872545=85 4>@>6:8Audio Cycle Track QShortcut2!;CG09=>5 2>A?@>872545=85Audio Random Play QShortcut0>A?@>872545=85 ?> :@C3C Audio Repeat QShortcut#HQ;Away QShortcut 0704Back QShortcut0704/2?5@Q4 Back Forward QShortcutBackspace Backspace QShortcutBacktabBacktab QShortcut#A8;5=85 10A>2 Bass Boost QShortcut0AK =865 Bass Down QShortcut0AK 2KH5Bass Up QShortcut0B0@5OBattery QShortcut>;C10OBlue QShortcutBluetooth Bluetooth QShortcut =830Book QShortcut1>7@520B5;LBrowser QShortcutCDCD QShortcut0;L:C;OB>@ Calculator QShortcut>72>=8BLCall QShortcut$$>:CA8@>2:0 :0<5@K Camera Focus QShortcut0B2>@ :0<5@KCamera Shutter QShortcut B<5=0Cancel QShortcut5@=89 @538AB@ Caps Lock QShortcutCapsLockCapsLock QShortcut0=0; 2=87 Channel Down QShortcut0=0; 225@E Channel Up QShortcutG8AB8BLClear QShortcutG8AB8BL 70E20B Clear Grab QShortcut0:@KBLClose QShortcut2>4 :>40 Code input QShortcut!>>1I5AB2> Community QShortcut>?8@>20BLCopy QShortcutCtrlCtrl QShortcutK@570BLCut QShortcutDOSDOS QShortcutDelDel QShortcut#40;8BLDelete QShortcutDisplayDisplay QShortcut>:C<5=BK Documents QShortcut=87Down QShortcut72;5GLEject QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutK?>;=8BLExecute QShortcut KE>4Exit QShortcutF%1F%1 QShortcut71@0==>5 Favorites QShortcut$8=0=AKFinance QShortcut 09B8Find QShortcut @KH:0Flip QShortcut ?5@Q4Forward QShortcut3@0Game QShortcut5@59B8Go QShortcut5;Q=0OGreen QShortcut ><>ILGuide QShortcut B1>9Hangup QShortcutHelpHelp QShortcut#AK?8BL Hibernate QShortcutAB>@8OHistory QShortcutHomeHome QShortcut><0H=89 >D8A Home Office QShortcut"><0H=OO AB@0=8F0 Home Page QShortcut>@OG85 AAK;:8 Hot Links QShortcut=D>@<0F8OInfo QShortcutInsIns QShortcutAB028BLInsert QShortcutL#<5=LH8BL O@:>ABL ?>4A25B:8 :;0280BC@KKeyboard Brightness Down QShortcutL#25;8G8BL O@:>ABL ?>4A25B:8 :;0280BC@KKeyboard Brightness Up QShortcut>:;./>B:;. ?>4A25B:C :;0280BC@KKeyboard Light On/Off QShortcut";0280BC@=>5 <5=N Keyboard Menu QShortcut>2B>@=K9 =01>@Last Number Redial QShortcut0?CAB8BL (0) Launch (0) QShortcut0?CAB8BL (1) Launch (1) QShortcut0?CAB8BL (2) Launch (2) QShortcut0?CAB8BL (3) Launch (3) QShortcut0?CAB8BL (4) Launch (4) QShortcut0?CAB8BL (5) Launch (5) QShortcut0?CAB8BL (6) Launch (6) QShortcut0?CAB8BL (7) Launch (7) QShortcut0?CAB8BL (8) Launch (8) QShortcut0?CAB8BL (9) Launch (9) QShortcut0?CAB8BL (A) Launch (A) QShortcut0?CAB8BL (B) Launch (B) QShortcut0?CAB8BL (C) Launch (C) QShortcut0?CAB8BL (D) Launch (D) QShortcut0?CAB8BL (E) Launch (E) QShortcut0?CAB8BL (F) Launch (F) QShortcut >GB0 Launch Mail QShortcut@>83@K20B5;L Launch Media QShortcut ;52>Left QShortcut0<?>G:0 LightBulb QShortcut K9B8 87 A8AB5<KLogoff QShortcut 5@5A;0BL ?8AL<> Mail Forward QShortcut  K=>:Market QShortcut.#A:>@5==>5 ?@>83@K20=85Media Fast Forward QShortcut.>A?@>8725AB8 A;54CNI55 Media Next QShortcut:@8>AB0=>28BL 2>A?@>872545=85 Media Pause QShortcut,0G0BL 2>A?@>872545=85 Media Play QShortcut0>A?@>8725AB8 ?@54K4CI55Media Previous QShortcut0G0BL 70?8AL Media Record QShortcut&5@5<>B0BL 2 =0G0;> Media Rewind QShortcut4AB0=>28BL 2>A?@>872545=85 Media Stop QShortcutAB@5G0Meeting QShortcutMenuMenu QShortcutJ;85=B >1<5=0 <3=>25==K<8 A>>1I5=8O<8 Messenger QShortcutMetaMeta QShortcut$K:;NG8BL <8:@>D>=Microphone Mute QShortcut:#<5=LH8BL 3@><:>ABL <8:@>D>=0Microphone Volume Down QShortcut:#25;8G8BL 3@><:>ABL <8:@>D>=0Microphone Volume Up QShortcut4#<5=LH8BL O@:>ABL <>=8B>@0Monitor Brightness Down QShortcut4#25;8G8BL O@:>ABL <>=8B>@0Monitor Brightness Up QShortcut&5A:>;L:> 20@80=B>2Multiple Candidate QShortcut C7K:0Music QShortcut>8 A09BKMy Sites QShortcut!>740BLNew QShortcut>2>AB8News QShortcut5BNo QShortcutNumNum QShortcut &8D@>2K5 :;028H8Num Lock QShortcutNumLockNumLock QShortcut &8D@>2K5 :;028H8 Number Lock QShortcutB:@KBLOpen QShortcutB:@KBL URLOpen URL QShortcut ?F8OOption QShortcut!B@0=8F0 2=87 Page Down QShortcut!B@0=8F0 225@EPage Up QShortcutAB028BLPaste QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut"5;5D>=Phone QShortcut7>1@065=8OPictures QShortcut>A?@>8725AB8Play QShortcutK:;NG8BL Power Down QShortcut$B:;NG5=85 ?8B0=8O Power Off QShortcut$@54K4CI89 20@80=BPrevious Candidate QShortcut PrintPrint QShortcut5G0BL M:@0=0 Print Screen QShortcut@8=B5@Printer QShortcut@0A=0ORed QShortcut$>2B>@8BL 459AB285Redo QShortcut1=>28BLRefresh QShortcut5@5703@C78BLReload QShortcutB25B8BLReply QShortcut ReturnReturn QShortcut ?@02>Right QShortcut>25@=CBL >:=0Rotate Windows QShortcut!>E@0=8BLSave QShortcut %@0=8B5;L M:@0=0 Screensaver QShortcut$$8:A0F8O ?@>:@CB:8 Scroll Lock QShortcutScrollLock ScrollLock QShortcut >8A:Search QShortcutK1@0BLSelect QShortcutB?@028BLSend QShortcut0AB@>9:8Settings QShortcut ShiftShift QShortcut03078=Shop QShortcut!?OI89 @568<Sleep QShortcut @>15;Space QShortcut&@>25@:0 >@D>3@0D88 Spellchecker QShortcut 0745;8BL M:@0= Split Screen QShortcut&-;5:B@>==0O B01;8FK Spreadsheet QShortcut 568< >6840=8OStandby QShortcutAB0=>28BLStop QShortcut!C1B8B@KSubtitle QShortcut>445@6:0Support QShortcut@8>AB0=>28BLSuspend QShortcut SysReqSysReq QShortcut !8AB5<=K9 70?@>ASystem Request QShortcutTabTab QShortcut0=5;L 7040G Task Panel QShortcut"5@<8=0;Terminal QShortcut @5<OTime QShortcut*!=OBL/?>;>68BL B@C1:CToggle Call/Hangup QShortcutP@8>AB0=>28BL/?@>4>;68BL 2>A?@>872545=85Toggle Media Play/Pause QShortcut=AB@C<5=BKTools QShortcut;02=>5 <5=NTop Menu QShortcutCB5H5AB285Travel QShortcut' =865 Treble Down QShortcut' 2KH5 Treble Up QShortcut2!25@EH8@>:>?>;>A=0O A2O7LUltra Wide Band QShortcut"B<5=8BL 459AB285Undo QShortcut 25@EUp QShortcut 845>Video QShortcut84View QShortcut>;>A>2>9 2K7>2 Voice Dial QShortcut"8H5 Volume Down QShortcutK:;NG8BL 72C: Volume Mute QShortcut @><G5 Volume Up QShortcutWWWWWW QShortcut@>1C645=85Wake Up QShortcutM1-:0<5@0WebCam QShortcut"5A?@>2>4=0O A5BLWireless QShortcut$"5:AB>2K9 @540:B>@Word Processor QShortcut Q;B0OYellow QShortcut0Yes QShortcut#25;8G8BLZoom QShortcut#25;8G8BLZoom In QShortcut#<5=LH8BLZoom Out QShortcut iTouchiTouch QShortcut8"8? 04@5A0 =5 ?>445@68205BAOAddress type not supportedQSocks5SocketEngineP!>548=5=85 =5 @07@5H5=> A5@25@>< SOCKSv5(Connection not allowed by SOCKSv5 serverQSocks5SocketEngine^!>548=5=85 A ?@>:A8-A5@25@>< =5>6840==> 70:@KB>&Connection to proxy closed prematurelyQSocks5SocketEngineN A>548=5=88 A ?@>:A8-A5@25@>< >B:070=>Connection to proxy refusedQSocks5SocketEngineZ@5<O =0 A>548=5=85 A ?@>:A8-A5@25@>< 8AB5:;>Connection to proxy timed outQSocks5SocketEngine,H81:0 A5@25@5 SOCKSv5General SOCKSv5 server failureQSocks5SocketEngineB@5<O =0 A5B52CN >?5@0F8N 8AB5:;>Network operation timed outQSocks5SocketEngineV5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5Proxy authentication failedQSocks5SocketEngine^5 C40;>AL 02B>@87>20BLAO =0 ?@>:A8-A5@25@5: %1Proxy authentication failed: %1QSocks5SocketEngine.@>:A8-A5@25@ =5 =0945=Proxy host not foundQSocks5SocketEngine0H81:0 ?@>B>:>;0 SOCKSv5SOCKS version 5 protocol errorQSocks5SocketEngineB><0=40 SOCKSv5 =5 ?>445@68205BAOSOCKSv5 command not supportedQSocks5SocketEngine!5BL =54>ABC?=0 TTL expiredQSocks5SocketEngineX58725AB=0O >H81:0 SOCKSv5 ?@>:A8 (:>4 0x%1)%Unknown SOCKSv5 proxy error code 0x%1QSocks5SocketEngine0480;>3 A ?@54C?@5645=85< alert messageQSpiAccessibleBridge0=8<0F8O animationQSpiAccessibleBridge?@8;>65=85 applicationQSpiAccessibleBridge?><>I=8: assistantQSpiAccessibleBridge<5=N :=>?:8 button menuQSpiAccessibleBridge0:=>?:0 A 2K?040NI8< <5=Nbutton with drop downQSpiAccessibleBridge8:=>?:0 A 2K?040NI59 B01;8F59button with drop down gridQSpiAccessibleBridge E>;ABcanvasQSpiAccessibleBridge OG59:0cellQSpiAccessibleBridge4803@0<<0chartQSpiAccessibleBridge D;06>: check boxQSpiAccessibleBridgeG0AKclockQSpiAccessibleBridge2K1>@ F25B0 color chooserQSpiAccessibleBridge:>;>=:0columnQSpiAccessibleBridge =0720=85 :>;>=:8 column headerQSpiAccessibleBridge"2K?040NI89 A?8A>: combo boxQSpiAccessibleBridge24>?>;=8B5;L=0O 8=D>@<0F8Ocomplementary contentQSpiAccessibleBridge:C@A>@ <KH8cursorQSpiAccessibleBridge@53C;OB>@dialQSpiAccessibleBridge 480;>3dialogQSpiAccessibleBridge4>:C<5=BdocumentQSpiAccessibleBridgeC@02=5=85equationQSpiAccessibleBridge70?>;=8B5;LfillerQSpiAccessibleBridge"=86=89 :>;>=B8BC;footerQSpiAccessibleBridge D>@<0formQSpiAccessibleBridge @0<:0frameQSpiAccessibleBridge3@0D8:0graphicQSpiAccessibleBridge"@53C;OB>@ @07<5@0gripQSpiAccessibleBridge703>;>2>:headingQSpiAccessibleBridge*2A?;K20NI0O ?>4A:07:0 help balloonQSpiAccessibleBridge<?>;5 4;O 22>40 3>@OG59 :;028H8 hotkey fieldQSpiAccessibleBridge8=48:0B>@ indicatorQSpiAccessibleBridge"=5:>@@5:B=0O @>;L invalid roleQSpiAccessibleBridge=04?8ALlabelQSpiAccessibleBridge :0A:04=0O ?0=5;L layered paneQSpiAccessibleBridge AAK;:0linkQSpiAccessibleBridge A?8A>:listQSpiAccessibleBridgeM;5<5=B A?8A:0 list itemQSpiAccessibleBridgeAB@>:0 <5=Nmenu barQSpiAccessibleBridgeM;5<5=B <5=N menu itemQSpiAccessibleBridge70<5B:0noteQSpiAccessibleBridge 2:;04:0 AB@0=8FKpage tabQSpiAccessibleBridgeA?8A>: 2:;04>: page tab listQSpiAccessibleBridge ?0=5;LpanelQSpiAccessibleBridge?0@03@0D paragraphQSpiAccessibleBridge 2A?;K20NI55 <5=N popup menuQSpiAccessibleBridge(8=48:0B>@ 2K?>;=5=8O progress barQSpiAccessibleBridge AB@0=8F0 A2>9AB2 property pageQSpiAccessibleBridge :=>?:0 push buttonQSpiAccessibleBridge?5@5:;NG0B5;L radio buttonQSpiAccessibleBridge AB@>:0rowQSpiAccessibleBridge=0720=85 AB@>:8 row headerQSpiAccessibleBridge ?>;>A0 ?@>:@CB:8 scroll barQSpiAccessibleBridge A5:F8OsectionQSpiAccessibleBridge@0745;8B5;L separatorQSpiAccessibleBridge?>;7C=>:sliderQSpiAccessibleBridge72C:soundQSpiAccessibleBridge?CAB>5 <5AB>spaceQSpiAccessibleBridgeG8A;>2>5 ?>;5spin boxQSpiAccessibleBridge @0745;8B5;L >:>=splitterQSpiAccessibleBridge AB@>:0 A>AB>O=8O status barQSpiAccessibleBridgeB01;8F0tableQSpiAccessibleBridge B5:ABtextQSpiAccessibleBridge:C@A>@ 2 B5:AB5 text caretQSpiAccessibleBridge AB@>:0 703>;>2:0 title barQSpiAccessibleBridge&?0=5;L 8=AB@C<5=B>2tool barQSpiAccessibleBridge?>4A:07:0tool tipQSpiAccessibleBridge 45@52>treeQSpiAccessibleBridgeM;5<5=B 45@520 tree itemQSpiAccessibleBridge=58725AB=0OunknownQSpiAccessibleBridgeweb-4>:C<5=B web documentQSpiAccessibleBridge`52>7<>6=> ?@54>AB028BL A5@B8D8:0B 157 :;NG0, %1,Cannot provide a certificate with no key, %1 QSslSocketFH81:0 A>740=8O :>=B5:AB0 SSL: (%1)Error creating SSL context (%1) QSslSocket<H81:0 A>740=8O A5AA88 SSL, %1Error creating SSL session, %1 QSslSocket<H81:0 A>740=8O A5AA88 SSL: %1Error creating SSL session: %1 QSslSocket6H81:0 :28B8@>20=8O SSL: %1Error during SSL handshake: %1 QSslSocketTH81:0 703@C7:8 ;>:0;L=>3> A5@B8D8:0B0, %1#Error loading local certificate, %1 QSslSocketFH81:0 703@C7:8 70:@KB>3> :;NG0, %1Error loading private key, %1 QSslSocket"H81:0 GB5=8O: %1Error while reading: %1 QSslSocketT5:>@@5:B=K9 8;8 ?CAB>9 A?8A>: H8D@>2 (%1)!Invalid or empty cipher list (%1) QSslSocket@5 C40;>AL ?@>25@8BL A5@B8D8:0BK!No certificates could be verified QSslSocket5B >H81:8No error QSslSocketh48= 87 A5@B8D8:0B>2 F5=B@0 A5@B8D8:0F88 =5:>@@5:B5=%One of the CA certificates is invalid QSslSocketd0:@KBK9 :;NG =5 A>>B25BAB2C5B >B:@KB><C :;NGC, %1+Private key does not certify public key, %1 QSslSocket>!>548=5=85 TLS/SSL 1K;> 70:@KB>&The TLS/SSL connection has been closed QSslSocket@52KH5=> 7=0G5=85 ?0@0<5B@0 4;8=K ?CB8 ?>;O basicConstraints A5@B8D8:0B0!@>: 459AB28O A5@B8D8:0B0 8ABQ:The certificate has expired QSslSocketR!@>: 459AB28O A5@B8D8:0B0 5IQ =5 =0ABC?8; The certificate is not yet valid QSslSocketf!5@B8D8:0B A0<>?>4?8A0==K9 8 =5 O2;O5BAO 7025@5==K<-The certificate is self-signed, and untrusted QSslSocketV5 C40;>AL @0AH8D@>20BL ?>4?8AL A5@B8D8:0B00The certificate signature could not be decrypted QSslSocketj>;5 notAfter A5@B8D8:0B0 A>45@68B =5:>@@5:B=>5 2@5<O9The certificate's notAfter field contains an invalid time QSslSocketl>;5 notBefore A5@B8D8:0B0 A>45@68B =5:>@@5:B=>5 2@5<O:The certificate's notBefore field contains an invalid time QSslSocket "5:CI89 A5@B8D8:0B 8740B5;O 1K; >B:;>=Q=, B0: :0: =0720=85 8740B5;O 8 A5@89=K9 =><5@ =5 A>2?040NB A 845=B8D8:0B>@>< :;NG0 A5@B8D8:0B0The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate QSslSocket"5:CI89 A5@B8D8:0B 8740B5;O 1K; >B:;>=Q=, B0: :0: =0720=85 B5<K =5 A>2?0405B A =0720=85< 8740B5;O A5@B8D8:0B0The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate QSslSocket0720=85 C7;0 =5 A>2?0405B A 4>?CAB8<K<8 =0720=8O<8 C7;>2 A5@B8D8:0B0GThe host name did not match any of the valid hosts for this certificate QSslSocketH5 C40;>AL =09B8 A5@B8D8:0B 8740B5;O)The issuer certificate could not be found QSslSocketv5 C40;>AL =09B8 A5@B8D8:0B 8740B5;O ;>:0;L=>3> A5@B8D8:0B0LThe issuer certificate of a locally looked up certificate could not be found QSslSocket>!5@B8D8:0B C7;0 2 GQ@=>< A?8A:5#The peer certificate is blacklisted QSslSocket<!5@B8D8:0B =5 1K; ?@54>AB02;5=(The peer did not present any certificate QSslSocket\5 C40;>AL ?@>G8B0BL >B:@KBK9 :;NG A5@B8D8:0B03The public key in the certificate could not be read QSslSocket>@=52>9 A5@B8D8:0B F5=B@0 A5@B8D8:0F88 >B<5G5= =0 >B:;>=5=85 4;O 40==>9 F5;8AThe root CA certificate is marked to reject the specified purpose QSslSocket>@=52>9 A5@B8D8:0B F5=B@0 A5@B8D8:0F88 =5 O2;O5BAO 7025@5==K< 4;O 40==>9 F5;87The root CA certificate is not trusted for this purpose QSslSocket>@=52>9 A5@B8D8:0B F5?>G:8 A5@B8D8:0B>2 A0<>?>4?8A0==K9 8 =5 O2;O5BAO 7025@5==K<KThe root certificate of the certificate chain is self-signed, and untrusted QSslSocket@5:>@@5:B=0O ?>4?8AL A5@B8D8:0B0+The signature of the certificate is invalid QSslSocketh@54AB02;5==K9 A5@B8D8:0B =5?@83>45= 4;O 40==>9 F5;87The supplied certificate is unsuitable for this purpose QSslSocketD5 C40;>AL @0AH8D@>20BL 40==K5: %1Unable to decrypt data: %1 QSslSocketX5 C40;>AL 8=8F80;878@>20BL :>=B5:AB SSL: %1Unable to init SSL Context: %1 QSslSocket<5 C40;>AL 70?8A0BL 40==K5: %1Unable to write data: %1 QSslSocket$58725AB=0O >H81:0 Unknown error QSslSocket4?@>B>:>; =5 ?>445@68205BAOunsupported protocol QSslSocket"0==K5 ?@8;>65=89Application DataQStandardPaths@8;>65=8O ApplicationsQStandardPathsMHCacheQStandardPaths0AB@>9:8 ConfigurationQStandardPaths 01>G89 AB>;DesktopQStandardPaths>:C<5=BK DocumentsQStandardPaths03@C7:8DownloadQStandardPaths (@8DBKFontsQStandardPaths ><0H=89 :0B0;>3HomeQStandardPaths $8;L<KMoviesQStandardPaths C7K:0MusicQStandardPaths7>1@065=8OPicturesQStandardPaths"A?>;=O5<K5 D09;KRuntimeQStandardPaths1I89 :MH Shared CacheQStandardPaths$1I0O :>=D83C@0F8OShared ConfigurationQStandardPaths1I85 40==K5 Shared DataQStandardPaths"@5<5==K9 :0B0;>3Temporary DirectoryQStandardPathsBACBAB2C5B A>AB>O=85 ?> C<>;G0=8N 2 8AB>@8G5A:>< A>AB>O=88 %1+Missing default state in history state '%1' QStateMachinerBACBAB2C5B 8AE>4=>5 A>AB>O=85 2 A>AB02=>< A>AB>O=88 %1,Missing initial state in compound state '%1' QStateMachine~5B >1I53> ?@54:0 C 8AB>G=8:0 8 F5;8 ?5@5E>40 87 A>AB>O=8O %1GNo common ancestor for targets and source of transition from state '%1' QStateMachine$58725AB=0O >H81:0 Unknown error QStateMachine$%1: C65 ACI5AB2C5B%1: already existsQSystemSemaphore"%1: =5 ACI5AB2C5B%1: does not existQSystemSemaphore2%1: =54>AB0B>G=> @5AC@A>2%1: out of resourcesQSystemSemaphore&%1: 4>ABC? 70?@5IQ=%1: permission deniedQSystemSemaphore2%1: =58725AB=0O >H81:0 %2%1: unknown error %2QSystemSemaphore:52>7<>6=> >B:@KBL A>548=5=85Unable to open connection QTDSDriverF52>7<>6=> 8A?>;L7>20BL 107C 40==KEUnable to use database QTDSDriver @>:@CB8BL 2;52> Scroll LeftQTabBar"@>:@CB8BL 2?@02> Scroll RightQTabBarH?5@0F8O A A>:5B>< =5 ?>445@68205BAO$Operation on socket is not supported QTcpServerT5 C40;>AL ?@>G8B0BL >:>=G0=85 87>1@065=8OCould not read footerQTgaFileN5 C40;>AL ?@>G8B0BL 40==K5 87>1@065=8OCould not read image dataQTgaFileB5 C40;>AL ?5@5<5AB8BLAO : 40==K<Could not reset to read dataQTgaFileX5 C40;>AL ?5@5<5AB8BLAO : :>=FC 87>1@065=8O#Could not seek to image read footerQTgaFileL54>?CAB8<0O 3;C18=0 F25B0 87>1@065=8OImage depth not validQTgaFileT5 C40;>AL ?@>G8B0BL 703>;>2>: 87>1@065=8OImage header read failedQTgaFilef5?>445@68205<K9 B8? 87>1@065=8O: =5 TrueVision 2.0-Image type (non-TrueVision 2.0) not supportedQTgaFile@5?>445@68205<K9 B8? 87>1@065=8OImage type not supportedQTgaFile5 C40;>AL ?@>8725AB8 ?5@5<5I5=85 ?> D09;C/CAB@>9AB2C 4;O GB5=8O 87>1@065=8O&Seek file/device for image read failedQTgaFile'B5=85 87 ?>A;54>20B5;L=KE CAB@>9AB2 (=0?@8<5@, 87 A>:5B0) =5 ?>445@68205BAO:Sequential device (eg socket) for image read not supportedQTgaFile$>2B>@8BL 459AB285Redo QUndoGroup>2B>@8BL %1Redo %1 QUndoGroup"B<5=8BL 459AB285Undo QUndoGroupB<5=8BL %1Undo %1 QUndoGroup<?CAB>> QUndoModel$>2B>@8BL 459AB285Redo QUndoStack>2B>@8BL %1Redo %1 QUndoStack"B<5=8BL 459AB285Undo QUndoStackB<5=8BL %1Undo %1 QUndoStack6FSI 5@20O 6QAB:0O 87>;OF8OFSI First strong isolateQUnicodeControlCharacterMenuFAB028BL C?@02;ONI89 A8<2>; Unicode Insert Unicode control characterQUnicodeControlCharacterMenu\LRE 0G0;> 2AB@0820=8O =0?8A0=8O A;520 =0?@02>$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenuVLRI 0G0;> 87>;OF88 =0?8A0=8O A;520 =0?@02>LRI Left-to-right isolateQUnicodeControlCharacterMenuFLRM @87=0: =0?8A0=8O A;520 =0?@02>LRM Left-to-right markQUnicodeControlCharacterMenuRLRO 0G0;> 70<5=K =0?8A0=8O A;520 =0?@02>#LRO Start of left-to-right overrideQUnicodeControlCharacterMenujPDF @87=0: >:>=G0=8O =0?8A0=8O A 4@C38< =0?@02;5=85<PDF Pop directional formattingQUnicodeControlCharacterMenuNPDI >AAB0=>2;5=85 87>;OF88 =0?@02;5=8OPDI Pop directional isolateQUnicodeControlCharacterMenu\LRE 0G0;> 2AB@0820=8O =0?8A0=8O A?@020 =0;52>$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenuVRLI 0G0;> 87>;OF88 =0?8A0=8O A?@020 =0;52>RLI Right-to-left isolateQUnicodeControlCharacterMenuFRLM @87=0: =0?8A0=8O A?@020 =0;52>RLM Right-to-left markQUnicodeControlCharacterMenuRRLO 0G0;> 70<5=K =0?8A0=8O A?@020 =0;52>#RLO Start of right-to-left overrideQUnicodeControlCharacterMenuLZWJ 1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWJ Zero width joinerQUnicodeControlCharacterMenuRZWNJ 5>1J548=ONI89 A8<2>; =C;52>9 H8@8=KZWNJ Zero width non-joinerQUnicodeControlCharacterMenu4ZWSP @>15; =C;52>9 H8@8=KZWSP Zero width spaceQUnicodeControlCharacterMenu'B> MB>? What's This?QWhatsThisAction**QWidget&>?8@>20BL&CopyQWidgetTextControl&AB028BL&PasteQWidgetTextControl&&>2B>@8BL 459AB285&RedoQWidgetTextControl$&B<5=8BL 459AB285&UndoQWidgetTextControl2!:>?8@>20BL &04@5A AAK;:8Copy &Link LocationQWidgetTextControl&K@570BLCu&tQWidgetTextControl#40;8BLDeleteQWidgetTextControlK45;8BL 2AQ Select AllQWidgetTextControl\5 C40;>AL 703@C78BL <>4C;L ?;0BD>@<K direct2d$Cannot load direct2d platform pluginQWindowsDirect2DIntegrationQt =5 <>65B 703@C78BL <>4C;L ?;0BD>@<K direct2d, B0: :0: CAB0=>2;5==0O 25@A8O Direct2D A;8H:>< AB0@0O. 8=8<0;L=K5 B@51>20=8O MB>3> <>4C;O: Windows 7 SP1 A Platform Update. "@51C5BAO Direct2D 25@A88 =5 =865 %1.%2.%3.%4. 5@A8O >1=0@C65==>3> Direct2D: %5.%6.%7.%8.-Qt cannot load the direct2d platform plugin because the Direct2D version on this system is too old. The minimum system requirement for this platform plugin is Windows 7 SP1 with Platform Update. The minimum Direct2D version required is %1.%2.%3.%4. The Direct2D version on this system is %5.%6.%7.%8.QWindowsDirect2DIntegration&025@H8BL&FinishQWizard&!?@02:0&HelpQWizard &0;55&NextQWizard&0;55 >&Next >QWizard< &0704< &BackQWizard B<5=0CancelQWizard>4B25@48BLCommitQWizard@>4>;68BLContinueQWizard >B>2>DoneQWizard 0704Go BackQWizard!?@02:0HelpQWizardx2 >1JO2;5=88 XML B@51CNBAO ?0@0<5B@K encoding 8;8 standaloneYencoding declaration or standalone declaration expected while reading the XML declarationQXmlH>H81:0 2 >1JO2;5=88 2=5H=53> >1J5:B03error in the text declaration of an external entityQXml4>H81:0 @071>@0 :><<5=B0@8O$error occurred while parsing commentQXml0>H81:0 @071>@0 4>:C<5=B0$error occurred while parsing contentQXmlP>H81:0 @071>@0 >1JO2;5=8O B8?0 4>:C<5=B05error occurred while parsing document type definitionQXml.>H81:0 @071>@0 M;5<5=B0$error occurred while parsing elementQXml*>H81:0 @071>@0 AAK;:8&error occurred while parsing referenceQXml8>H81:0 2K720=0 ?>;L7>20B5;5<error triggered by consumerQXml`2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD;external parsed general entity reference not allowed in DTDQXml|2=5H=OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 7=0G5=88 0B@81CB0Gexternal parsed general entity reference not allowed in attribute valueQXmlf2=CB@5==OO AAK;:0 =0 >1I89 >1J5:B =54>?CAB8<0 2 DTD4internal general entity reference not allowed in DTDQXmlD=5:>@@5:B=>5 8<O 48@5:B82K @071>@0'invalid name for processing instructionQXmlB@51C5BAO 1C:20letter is expectedQXmlFC:070=> 1>;55 >4=>3> B8?0 4>:C<5=B0&more than one document type definitionQXml$>H81:8 >BACBAB2CNBno error occurredQXml&@5:C@A82=K5 >1J5:BKrecursive entitiesQXml\2 >1JO2;5=88 XML B@51C5BAO ?0@0<5B@ standaloneAstandalone declaration expected while reading the XML declarationQXml BM3 =5 A>2?0405B tag mismatchQXml$=5>6840==K9 A8<2>;unexpected characterQXml.=5>6840==K9 :>=5F D09;0unexpected end of fileQXmln=5@07>1@0==0O AAK;:0 =0 >1J5:B 2 =5?@028;L=>< :>=B5:AB5*unparsed entity reference in wrong contextQXmlV2 >1JO2;5=88 XML B@51C5BAO ?0@0<5B@ version2version expected while reading the XML declarationQXmlT=5:>@@5:B=>5 7=0G5=85 ?0@0<5B@0 standalone&wrong value for standalone declarationQXmlN%1  =5:>@@5:B=K9 845=B8D8:0B>@ PUBLIC.#%1 is an invalid PUBLIC identifier. QXmlStream`%1  =5 O2;O5BAO :>@@5:B=K< =0720=85< :>48@>2:8.%1 is an invalid encoding name. QXmlStream|%1 =5 O2;O5BAO :>@@5:B=K< =0720=85< >1@010BK205<>9 8=AB@C:F88.-%1 is an invalid processing instruction name. QXmlStream, ?>;CG8;8 ' , but got ' QXmlStream6B@81CB %1 ?5@5>?@545;Q=.Attribute '%1' redefined. QXmlStream<>48@>2:0 %1 =5 ?>445@68205BAOEncoding %1 is unsupported QXmlStreamb1=0@C65=> =5:>@@5:B=> 70:>48@>20==>5 A>45@68<>5.(Encountered incorrectly encoded content. QXmlStream01J5:B %1 =5 >1JO2;5=.Entity '%1' not declared. QXmlStream"@51C5BAO  Expected  QXmlStream8"@51CNBAO A8<2>;L=K5 40==K5.Expected character data. QXmlStream@8H=85 40==K5 2 :>=F5 4>:C<5=B0.!Extra content at end of document. QXmlStreamT5:>@@5:B=>5 >1JO2;5=85 ?@>AB@0=AB20 8<Q=.Illegal namespace declaration. QXmlStream05:>@@5:B=K9 A8<2>; XML.Invalid XML character. QXmlStream*5:>@@5:B=>5 8<O XML.Invalid XML name. QXmlStream>5:>@@5:B=0O AB@>:0 25@A88 XML.Invalid XML version string. QXmlStreamL5:>@@5:B=K9 0B@81CB 2 >1JO2;5=88 XML.%Invalid attribute in XML declaration. QXmlStream>5:>@@5:B=0O A8<2>;L=0O AAK;:0.Invalid character reference. QXmlStream,5:>@@5:B=K9 4>:C<5=B.Invalid document. QXmlStream<5:>@@5:B=>5 7=0G5=85 >1J5:B0.Invalid entity value. QXmlStream`5:>@@5:B=>5 =0720=85 >1@010BK205<>9 8=AB@C:F88.$Invalid processing instruction name. QXmlStream:NDATA 2 >1JO2;5=88 ?0@0<5B@0.&NDATA in parameter entity declaration. QXmlStreamT@5D8:A ?@>AB@0=AB20 8<Q= %1 =5 >1JO2;5="Namespace prefix '%1' not declared QXmlStreamVB:@K20NI89 BM3 =5 A>2?0405B A 70:@K20NI8<. Opening and ending tag mismatch. QXmlStream85>6840==K9 :>=5F 4>:C<5=B0.Premature end of document. QXmlStream:1=0@C65= @5:C@A82=K9 >1J5:B.Recursive entity detected. QXmlStreamd!AK;:0 =0 2=5H=89 >1J5:B %1 2 7=0G5=88 0B@81CB0.5Reference to external entity '%1' in attribute value. QXmlStreamJ!AK;:0 =0 =5>1@01>B0==K9 >1J5:B %1."Reference to unparsed entity '%1'. QXmlStreamd>A;54>20B5;L=>ABL ]]> =54>?CAB8<0 2 A>45@68<><.&Sequence ']]>' not allowed in content. QXmlStreamA524>0B@81CB standalone <>65B ?@8=8<0BL B>;L:> 7=0G5=8O yes 8;8 no."Standalone accepts only yes or no. QXmlStream4"@51C5BAO >B:@K20NI89 BM3.Start tag expected. QXmlStreamA524>0B@81CB standalone 4>;65= =0E>48BLAO ?>A;5 C:070=8O :>48@>2:8.?The standalone pseudo attribute must appear after the encoding. QXmlStream5>6840==>5 ' Unexpected ' QXmlStreamx5>6840==K9 A8<2>; %1 2 ;8B5@0;5 >B:@KB>3> 845=B8D8:0B>@0./Unexpected character '%1' in public id literal. QXmlStream85?>445@68205<0O 25@A8O XML.Unsupported XML version. QXmlStream^1JO2;5=85 XML =0E>48BAO =5 2 =0G0;5 4>:C<5=B0.)XML declaration not at start of document. QXmlStream ) , ConvertAll-0.8.0/translations/qt_sv.qm000066400000000000000000002004731363574405500200260ustar00rootroot000000000000007}D,*i% %Fc60090q0t0055 D<} DI+,=X,S6SvCU]DyKU|#ar)tm}wZ}$}$}$ Z[K<9Q /X\EKuTTi~5kEXU FbDńgA i$x1 \z*2d.U5Zz>mLn*bC;ʴ5qDʴ5Ԅ߄DdF5-F5rWYI IGAsB 5* }$o qeV ڤwu Em EE Ac AcH 35 K!?C bbД b` b` i3$ latN lf | t# tH 1 ?5 (U yt {W > d m| K %'  e  )q */ 7uL =L' B T^ ] `\ ` c( d e P eG f1O} gn{ k,m rD"t x| ~a # 9 I& I, I6 ; o+ 5 J %p* ,Y ,A + ˔K7 P') P O W 68 :/{ f  f CW 4_ s x sE AAT 9 m,l #-t 0N+ E9] L' Lx Mc\; Saa Ve ]$3 f) f)C io> m` w H HB0 $D .@4  i _ j& ΂ J JE t. ķ Ӈ  ̺K{ -DLl k kצ U)Y < 0  Qo  X Q xH[ .. 7F* >T} >Ut >V_ >[ >g, >h > > DT I.C RVID RV~ RV S.ɘ S YH [ j7oA1 p/* . Bc  T2) Tk] T T d 4i ` SV )d 3 .2} .] .l' . .Y . a~ y s  t :bZ ʜ- +>0O 0E ;ɾ; Ptr Pt fe feX g iFC iG^ i` u w wo wՔ w} w}Ǩ w} N WL ^t R X D t5r t5ۯ s6 Z ): HT)gT**'*٫/E)//E|1I_ZjXRuB[ Sa.9?vɅy$~[2SfB&{Ӣ~#ݖ|[yr; Q E-"#$U%4<8%4Iu-vр0i)X001c}2wTD sHJdZL$.c5c5ֳiCyC!{~a`D ExN@@kyjPKt2,wjfqi1 Om %1About %1MAC_APPLICATION_MENU Gm %1Hide %1MAC_APPLICATION_MENUGm vriga Hide OthersMAC_APPLICATION_MENUInstllningar &Preferences...MAC_APPLICATION_MENUAvsluta %1Quit %1MAC_APPLICATION_MENUTjnsterServicesMAC_APPLICATION_MENUVisa allaShow AllMAC_APPLICATION_MENU2%1, %2 r inte definierad%1, %2 not definedQ3Accel4Tvetydigt %1 hanteras inteAmbiguous %1 not handledQ3AccelTa bortDelete Q3DataTable FalsktFalse Q3DataTable InfogaInsert Q3DataTableSantTrue Q3DataTableUppdateraUpdate Q3DataTablep%1 Filen hittades inte. Kontrollera skvg och filnamn.+%1 File not found. Check path and filename. Q3FileDialog&Ta bort&Delete Q3FileDialog&Nej&No Q3FileDialog&OK&OK Q3FileDialog &ppna&Open Q3FileDialog&Byt namn&Rename Q3FileDialog &Spara&Save Q3FileDialog&Osorterad &Unsorted Q3FileDialog&Ja&Yes Q3FileDialogh<qt>r du sker p att du vill ta bort %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialogAlla filer (*) All Files (*) Q3FileDialog Alla filer (*.*)All Files (*.*) Q3FileDialogAttribut Attributes Q3FileDialogTillbakaBack Q3FileDialog AvbrytCancel Q3FileDialog8Kopiera eller ta bort en filCopy or Move a File Q3FileDialogSkapa ny mappCreate New Folder Q3FileDialog DatumDate Q3FileDialogTa bort %1 Delete %1 Q3FileDialogDetaljvy Detail View Q3FileDialogKatalogDir Q3FileDialogKataloger Directories Q3FileDialogKatalog: Directory: Q3FileDialogFelError Q3FileDialogFilFile Q3FileDialogFil&namn: File &name: Q3FileDialogFil&typ: File &type: Q3FileDialogHitta katalogFind Directory Q3FileDialogOtillgnglig Inaccessible Q3FileDialog Listvy List View Q3FileDialogLeta &i: Look &in: Q3FileDialogNamnName Q3FileDialogNy mapp New Folder Q3FileDialogNy mapp %1 New Folder %1 Q3FileDialogNy mapp 1 New Folder 1 Q3FileDialog En katalog upptOne directory up Q3FileDialog ppnaOpen Q3FileDialog ppnaOpen  Q3FileDialog6Frhandsgranska filinnehllPreview File Contents Q3FileDialog<Frhandsgranska filinformationPreview File Info Q3FileDialogUppdat&eraR&eload Q3FileDialogSkrivskyddad Read-only Q3FileDialogLs-skriv Read-write Q3FileDialogLs: %1Read: %1 Q3FileDialogSpara somSave As Q3FileDialogVlj en katalogSelect a Directory Q3FileDialog"Visa &dolda filerShow &hidden files Q3FileDialogStorlekSize Q3FileDialogSorteraSort Q3FileDialog(Sortera efter &datum Sort by &Date Q3FileDialog&Sortera efter &namn Sort by &Name Q3FileDialog,Sortera efter &storlek Sort by &Size Q3FileDialogSpecialSpecial Q3FileDialog6Symbolisk lnk till katalogSymlink to Directory Q3FileDialog.Symbolisk lnk till filSymlink to File Q3FileDialog6Symbolisk lnk till specialSymlink to Special Q3FileDialogTypType Q3FileDialogLsskyddad Write-only Q3FileDialogSkriv: %1 Write: %1 Q3FileDialogkatalogen the directory Q3FileDialog filenthe file Q3FileDialog"symboliska lnken the symlink Q3FileDialog<Kunde inte skapa katalogen %1Could not create directory %1 Q3LocalFs(Kunde inte ppna %1Could not open %1 Q3LocalFs8Kunde inte lsa katalogen %1Could not read directory %1 Q3LocalFsXKunde inte ta bort filen eller katalogen %1%Could not remove file or directory %1 Q3LocalFsJKunde inte byta namn p %1 till %2Could not rename %1 to %2 Q3LocalFs4Kunde inte skriva till %1Could not write %1 Q3LocalFsAnpassa... Customize... Q3MainWindowRada uppLine up Q3MainWindow@tgrden stoppades av anvndarenOperation stopped by the userQ3NetworkProtocol AvbrytCancelQ3ProgressDialogVerkstllApply Q3TabDialog AvbrytCancel Q3TabDialogStandardvrdenDefaults Q3TabDialog HjlpHelp Q3TabDialogOKOK Q3TabDialog&Kopiera&Copy Q3TextEditKlistra &in&Paste Q3TextEdit&Gr om&Redo Q3TextEdit &ngra&Undo Q3TextEditTmClear Q3TextEditKlipp u&tCu&t Q3TextEditMarkera alla Select All Q3TextEdit StngClose Q3TitleBar Stnger fnstretCloses the window Q3TitleBar`Innehller kommandon fr att manipulera fnstret*Contains commands to manipulate the window Q3TitleBarVisar namnet p fnstret och innehller kontroller fr att manipulera detFDisplays the name of the window and contains controls to manipulate it Q3TitleBar4Gr fnstret till helskrmMakes the window full screen Q3TitleBarMaximeraMaximize Q3TitleBarMinimeraMinimize Q3TitleBar2Flyttar fnstret ur vgenMoves the window out of the way Q3TitleBarnterstller ett maximerat fnster tillbaka till normalt&Puts a maximized window back to normal Q3TitleBarLterstller ett minimerat till normaltPuts a minimized back to normal Q3TitleBarterstll nedt Restore down Q3TitleBarterstll uppt Restore up Q3TitleBar SystemSystem Q3TitleBar Mer...More... Q3ToolBar(oknt) (unknown) Q3UrlOperatorProtokollet \"%1\" har inte std fr att kopiera eller flytta filer eller katalogerIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperatorxProtokollet \"%1\" har inte std fr att skapa nya kataloger;The protocol `%1' does not support creating new directories Q3UrlOperatorhProtokollet \"%1\" har inte std fr att hmta filer0The protocol `%1' does not support getting files Q3UrlOperatorpProtokollet \"%1\" har inte std fr att lista kataloger6The protocol `%1' does not support listing directories Q3UrlOperatorhProtokollet \"%1\" har inte std fr att lmna filer0The protocol `%1' does not support putting files Q3UrlOperatorProtokollet \"%1\" har inte std fr att ta bort filer eller kataloger@The protocol `%1' does not support removing files or directories Q3UrlOperatorProtokollet \"%1\" har inte std fr att byta namn p filer eller kataloger@The protocol `%1' does not support renaming files or directories Q3UrlOperator8Protokollet \"%\" stds inte"The protocol `%1' is not supported Q3UrlOperator&Avbryt&CancelQ3Wizard&Frdig&FinishQ3Wizard &Hjlp&HelpQ3Wizard&Nsta >&Next >Q3Wizard< Till&baka< &BackQ3Wizard(Anslutningen nekadesConnection refusedQAbstractSocketHTidsgrnsen fr anslutning verstegsConnection timed outQAbstractSocket(Vrden hittades inteHost not foundQAbstractSocket0Ntverket r inte nbartNetwork unreachableQAbstractSocket0Uttaget r inte anslutetSocket is not connectedQAbstractSocketHTidsgrns fr uttagstgrd verstegsSocket operation timed outQAbstractSocket&Stega uppt&Step upQAbstractSpinBoxStega &nedt Step &downQAbstractSpinBoxAktiveraActivate QApplicationDAktiverar programmets huvudfnster#Activates the program's main window QApplicationVBinren \"%1\" krver Qt %2, hittade Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplication<Inkompatibelt Qt-biblioteksfelIncompatible Qt Library Error QApplication&Avbryt&Cancel QAxSelectCOM-&objekt: COM &Object: QAxSelectOKOK QAxSelect(Vlj ActiveX ControlSelect ActiveX Control QAxSelect KryssaCheck QCheckBox VxlaToggle QCheckBoxAvkryssaUncheck QCheckBox:&Lgg till i anpassade frger&Add to Custom Colors QColorDialog&Basfrger &Basic colors QColorDialog"&Anpassade frger&Custom colors QColorDialog &Grn:&Green: QColorDialog &Rd:&Red: QColorDialog&Mttnad:&Sat: QColorDialog&Ljushet:&Val: QColorDialogAlfa&kanal:A&lpha channel: QColorDialog Bl&:Bl&ue: QColorDialogNya&ns:Hu&e: QColorDialog StngClose QComboBox FalsktFalse QComboBox ppnaOpen QComboBoxSantTrue QComboBoxBKunde inte verkstlla transaktionUnable to commit transaction QDB2Driver$Kunde inte anslutaUnable to connect QDB2DriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QDB2DriverZKunde inte stlla in automatisk verkstllningUnable to set autocommit QDB2Driver2Kunde inte binda variabelUnable to bind variable QDB2Result2Kunde inte kra frgesatsUnable to execute statement QDB2Result.Kunde inte hmta frstaUnable to fetch first QDB2Result,Kunde inte hmta nstaUnable to fetch next QDB2Result4Kunde inte hmta posten %1Unable to fetch record %1 QDB2Result<Kunde inte frbereda frgesatsUnable to prepare statement QDB2ResultAMAM QDateTimeEditPMPM QDateTimeEditamam QDateTimeEditpmpm QDateTimeEditVad r det hr? What's This?QDialog&Avbryt&CancelQDialogButtonBox &Stng&CloseQDialogButtonBox&Nej&NoQDialogButtonBox&OK&OKQDialogButtonBox &Spara&SaveQDialogButtonBox&Ja&YesQDialogButtonBox AvbrytAbortQDialogButtonBoxVerkstllApplyQDialogButtonBox AvbrytCancelQDialogButtonBox StngCloseQDialogButtonBoxFrkastaDiscardQDialogButtonBoxSpara inte Don't SaveQDialogButtonBox HjlpHelpQDialogButtonBoxIgnoreraIgnoreQDialogButtonBoxN&ej till alla N&o to AllQDialogButtonBoxOKOKQDialogButtonBox ppnaOpenQDialogButtonBoxterstllResetQDialogButtonBox0terstll standardvrdenRestore DefaultsQDialogButtonBoxFrsk igenRetryQDialogButtonBox SparaSaveQDialogButtonBoxSpara allaSave AllQDialogButtonBoxJa till &alla Yes to &AllQDialogButtonBoxndringsdatum Date Modified QDirModelSortKind QDirModelNamnName QDirModelStorlekSize QDirModelTypType QDirModel StngClose QDockWidget MindreLessQDoubleSpinBoxMerMoreQDoubleSpinBox&OK&OK QErrorMessage6&Visa detta meddelande igen&Show this message again QErrorMessage,Felskningsmeddelande:Debug Message: QErrorMessagedesdigert fel: Fatal Error: QErrorMessageVarning:Warning: QErrorMessage%1 Katalogen hittades inte. Kontrollera att det korrekta katalognamnet angavs.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 Filen hittades inte. Kontrollera att det korrekta filnamnet angavs.A%1 File not found. Please verify the correct file name was given. QFileDialogJ%1 finns redan. Vill du erstta den?-%1 already exists. Do you want to replace it? QFileDialog&Ta bort&Delete QFileDialog &ppna&Open QFileDialog&Byt namn&Rename QFileDialog &Spara&Save QFileDialogd\"%1\" r skrivskyddad. Vill du ta bort den nd?9'%1' is write protected. Do you want to delete it anyway? QFileDialogAlla filer (*) All Files (*) QFileDialog Alla filer (*.*)All Files (*.*) QFileDialogTr du sker p att du vill ta bort \"%1\"?!Are sure you want to delete '%1'? QFileDialogTillbakaBack QFileDialog:Kunde inte ta bort katalogen.Could not delete directory. QFileDialogSkapa ny mappCreate New Folder QFileDialogDetaljerad vy Detail View QFileDialogKataloger Directories QFileDialogKatalog: Directory: QFileDialog EnhetDrive QFileDialogFilFile QFileDialogFil&namn: File &name: QFileDialogFiler av typen:Files of type: QFileDialogHitta katalogFind Directory QFileDialog FramtForward QFileDialog Listvy List View QFileDialogMin dator My Computer QFileDialogNy mapp New Folder QFileDialog ppnaOpen QFileDialogFrldrakatalogParent Directory QFileDialogSpara somSave As QFileDialog"Visa &dolda filerShow &hidden files QFileDialog OkntUnknown QFileDialogndringsdatum Date ModifiedQFileSystemModelSortKindQFileSystemModelMin dator My ComputerQFileSystemModelNamnNameQFileSystemModelStorlekSizeQFileSystemModelTypTypeQFileSystemModel&Typsnitt&Font QFontDialog&Storlek&Size QFontDialog&Understruken &Underline QFontDialogEffekterEffects QFontDialogT&ypsnittsstil Font st&yle QFontDialogTestSample QFontDialogVlj typsnitt Select Font QFontDialogGenomstru&ken Stri&keout QFontDialogSkr&ivsystemWr&iting System QFontDialogBByte av katalog misslyckades: %1Changing directory failed: %1QFtp(Ansluten till vrdenConnected to hostQFtp.Ansluten till vrden %1Connected to host %1QFtpPAnslutning till vrden misslyckades: %1Connecting to host failed: %1QFtp&Anslutningen stngdConnection closedQFtpLAnslutning vgrades fr dataanslutning&Connection refused for data connectionQFtpHAnslutningen till vrden %1 vgradesConnection refused to host %1QFtp:Anslutningen till %1 stngdesConnection to %1 closedQFtpPSkapandet av katalogen misslyckades: %1Creating directory failed: %1QFtpPNedladdningen av filen misslyckades: %1Downloading file failed: %1QFtp$Vrden %1 hittades Host %1 foundQFtp.Vrden %1 hittades inteHost %1 not foundQFtpVrden hittades Host foundQFtpNListning av katalogen misslyckades: %1Listing directory failed: %1QFtp8Inloggning misslyckades: %1Login failed: %1QFtpInte ansluten Not connectedQFtpTBorttagning av katalogen misslyckades: %1Removing directory failed: %1QFtpLBorttagning av filen misslyckades: %1Removing file failed: %1QFtpOknt fel Unknown errorQFtpPUppladdningen av filen misslyckades: %1Uploading file failed: %1QFtpLTRQT_LAYOUT_DIRECTIONQGuiApplicationOknt fel Unknown error QHostInfo(Vrden hittades inteHost not foundQHostInfoAgentOknd adresstypUnknown address typeQHostInfoAgentOknt fel Unknown errorQHostInfoAgent$Ansluten till vrdConnected to hostQHttp.Ansluten till vrden %1Connected to host %1QHttp&Anslutningen stngdConnection closedQHttp(Anslutningen nekadesConnection refusedQHttp:Anslutningen till %1 stngdesConnection to %1 closedQHttp2HTTP-begran misslyckadesHTTP request failedQHttp$Vrden %1 hittades Host %1 foundQHttp.Vrden %1 hittades inteHost %1 not foundQHttpVrden hittades Host foundQHttp2Ogiltig HTTP chunked bodyInvalid HTTP chunked bodyQHttp.Ogiltig HTTP-svarshuvudInvalid HTTP response headerQHttpLIngen server instlld att ansluta tillNo server set to connect toQHttpBegran avbrtsRequest abortedQHttpHServern stngde ovntat anslutningen%Server closed connection unexpectedlyQHttpOknt fel Unknown errorQHttp$Fel innehllslngdWrong content lengthQHttp:Kunde inte starta transaktionCould not start transaction QIBaseDriver4Fel vid ppning av databasError opening database QIBaseDriverBKunde inte verkstlla transaktionUnable to commit transaction QIBaseDriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QIBaseDriver:Kunde inte allokera frgesatsCould not allocate statement QIBaseResultNKunde inte beskriva inmatningsfrgesats"Could not describe input statement QIBaseResult:Kunde inte beskriva frgesatsCould not describe statement QIBaseResult6Kunde inte hmta nsta postCould not fetch next item QIBaseResult,Kunde inte hitta kedjaCould not find array QIBaseResult.Kunde inte f kedjedataCould not get array data QIBaseResultDKunde inte g frgesatsinformationCould not get query info QIBaseResultDKunde inte f frgesatsinformationCould not get statement info QIBaseResult<Kunde inte frbereda frgesatsCould not prepare statement QIBaseResult:Kunde inte starta transaktionCould not start transaction QIBaseResult6Kunde inte stnga frgesatsUnable to close statement QIBaseResultBKunde inte verkstlla transaktionUnable to commit transaction QIBaseResult*Kunde inte skapa BLOBUnable to create BLOB QIBaseResult2Kunde inte kra frgesatsUnable to execute query QIBaseResult*Kunde inte ppna BLOBUnable to open BLOB QIBaseResult(Kunde inte lsa BLOBUnable to read BLOB QIBaseResult,Kunde inte skriva BLOBUnable to write BLOB QIBaseResult>Inget ledigt utrymme p enhetenNo space left on device QIODevice:Ingen sdan fil eller katalogNo such file or directory QIODevicetkomst nekadPermission denied QIODevice*Fr mnga ppna filerToo many open files QIODeviceOknt fel Unknown error QIODevice0Mac OS X-inmatningsmetodMac OS X input method QInputContext.Windows-inmatningsmetodWindows input method QInputContextXIMXIM QInputContext&XIM-inmatningsmetodXIM input method QInputContextOknt fel Unknown errorQLibrary&Kopiera&Copy QLineEditKlistra &in&Paste QLineEdit&Gr om&Redo QLineEdit &ngra&Undo QLineEditKlipp &utCu&t QLineEditTa bortDelete QLineEditMarkera alla Select All QLineEdit<Kunde inte pbrja transaktionUnable to begin transaction QMYSQLDriverBKunde inte verkstlla transaktionUnable to commit transaction QMYSQLDriver$Kunde inte anslutaUnable to connect QMYSQLDriver:Kunde inte ppna databasen \"Unable to open database ' QMYSQLDriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QMYSQLDriver2Kunde inte binda utvrdenUnable to bind outvalues QMYSQLResult,Kunde inte binda vrdeUnable to bind value QMYSQLResult2Kunde inte kra frgesatsUnable to execute query QMYSQLResult2Kunde inte kra frgesatsUnable to execute statement QMYSQLResult*Kunde inte hmta dataUnable to fetch data QMYSQLResult<Kunde inte frbereda frgesatsUnable to prepare statement QMYSQLResult>Kunde inte terstlla frgesatsUnable to reset statement QMYSQLResult2Kunde inte lagra resultatUnable to store result QMYSQLResultPKunde inte lagra resultat frn frgesats!Unable to store statement results QMYSQLResult%1 - [%2] %1 - [%2] QMdiSubWindow &Stng&Close QMdiSubWindow&Flytta&Move QMdiSubWindowte&rstll&Restore QMdiSubWindow&Storlek&Size QMdiSubWindow StngClose QMdiSubWindow HjlpHelp QMdiSubWindowMa&ximera Ma&ximize QMdiSubWindowMaximeraMaximize QMdiSubWindowMenyMenu QMdiSubWindowMi&nimera Mi&nimize QMdiSubWindowMinimeraMinimize QMdiSubWindowterstll nedt Restore Down QMdiSubWindow&Stanna kvar vers&t Stay on &Top QMdiSubWindow StngCloseQMenuKrExecuteQMenu ppnaOpenQMenu Om QtAbout Qt QMessageBox HjlpHelp QMessageBox Dlj detaljer,,,Hide Details... QMessageBoxOKOK QMessageBox Visa detaljer...Show Details... QMessageBox(Vlj inmatningsmetod Select IMQMultiInputContextFVxlare fr flera inmatningsmetoderMultiple input method switcherQMultiInputContextPluginVxlare fr flera inmatningsmetoder som anvnder sammanhangsmenyn fr textwidgarMMultiple input method switcher that uses the context menu of the text widgetsQMultiInputContextPluginVEtt annat uttag lyssnar redan p samma port4Another socket is already listening on the same portQNativeSocketEngineFrsk att anvnda IPv6-uttag p en plattform som saknar IPv6-std=Attempt to use IPv6 socket on a platform with no IPv6 supportQNativeSocketEngine*Anslutningen vgradesConnection refusedQNativeSocketEngineHTidsgrnsen fr anslutning verstegsConnection timed outQNativeSocketEngineHDatagram fr fr stor fr att skickaDatagram was too large to sendQNativeSocketEngine(Vrden r inte nbarHost unreachableQNativeSocketEngine0Ogiltig uttagsbeskrivareInvalid socket descriptorQNativeSocketEngineNtverksfel Network errorQNativeSocketEngineLTidsgrns fr ntverkstgrd verstegsNetwork operation timed outQNativeSocketEngine0Ntverket r inte nbartNetwork unreachableQNativeSocketEngine(tgrd p icke-uttagOperation on non-socketQNativeSocketEngine Slut p resurserOut of resourcesQNativeSocketEnginetkomst nekadPermission deniedQNativeSocketEngine2Protokolltypen stds inteProtocol type not supportedQNativeSocketEngine8Adressen r inte tillgngligThe address is not availableQNativeSocketEngine&Adressen r skyddadThe address is protectedQNativeSocketEngine:Bindningsadress anvnds redan#The bound address is already in useQNativeSocketEngine@Fjrrvrden stngde anslutningen%The remote host closed the connectionQNativeSocketEngineNKunde inte initiera uttag fr broadcast%Unable to initialize broadcast socketQNativeSocketEngineTKunde inte initiera icke-blockerande uttag(Unable to initialize non-blocking socketQNativeSocketEngineBKunde inte ta emot ett meddelandeUnable to receive a messageQNativeSocketEngine@Kunde inte skicka ett meddelandeUnable to send a messageQNativeSocketEngine"Kunde inte skrivaUnable to writeQNativeSocketEngineOknt fel Unknown errorQNativeSocketEngine2Uttagstgrden stds inteUnsupported socket operationQNativeSocketEngine<Kunde inte pbrja transaktionUnable to begin transaction QOCIDriverBKunde inte verkstlla transaktionUnable to commit transaction QOCIDriver&Kunde inte logga inUnable to logon QOCIDriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QOCIDriver:Kunde inte allokera frgesatsUnable to alloc statement QOCIResultNKunde inte binda kolumn fr satskrning'Unable to bind column for batch execute QOCIResult,Kunde inte binda vrdeUnable to bind value QOCIResult2Kunde inte kra satsfrga!Unable to execute batch statement QOCIResult2Kunde inte kra frgesatsUnable to execute statement QOCIResult0Kunde inte g till nstaUnable to goto next QOCIResult<Kunde inte frbereda frgesatsUnable to prepare statement QOCIResultBKunde inte verkstlla transaktionUnable to commit transaction QODBCDriver$Kunde inte anslutaUnable to connect QODBCDriverKunde inte ansluta - Drivrutinen har inte std fr all ndvndig funktionalitetCUnable to connect - Driver doesn't support all needed functionality QODBCDriver\Kunde inte inaktivera automatisk verkstllningUnable to disable autocommit QODBCDriverXKunde inte aktivera automatisk verkstllningUnable to enable autocommit QODBCDriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QODBCDriverQODBCResult::reset: Kunde inte stlla in \"SQL_CURSOR_STATIC\" som frgesatsattribut. Kontrollera konfigurationen fr din ODBC-drivrutinyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResult2Kunde inte binda variabelUnable to bind variable QODBCResult2Kunde inte kra frgesatsUnable to execute statement QODBCResult.Kunde inte hmta frstaUnable to fetch first QODBCResult,Kunde inte hmta nstaUnable to fetch next QODBCResult<Kunde inte frbereda frgesatsUnable to prepare statement QODBCResultHomeHomeQObjectNamnNameQPPDOptionsModel VrdeValueQPPDOptionsModel<Kunde inte pbrja transaktionCould not begin transaction QPSQLDriverBKunde inte verkstlla transaktionCould not commit transaction QPSQLDriverJKunde inte rulla tillbaka transaktionCould not rollback transaction QPSQLDriver$Kunde inte anslutaUnable to connect QPSQLDriver,Kunde inte skapa frgaUnable to create query QPSQLResult<Kunde inte frbereda frgesatsUnable to prepare statement QPSQLResultLiggande LandscapeQPageSetupWidgetSidstorlek: Page size:QPageSetupWidgetPappersklla: Paper source:QPageSetupWidgetStendePortraitQPageSetupWidgetOknt fel Unknown error QPluginLoaderR%1 finns redan. Vill du skriva ver den?/%1 already exists. Do you want to overwrite it? QPrintDialog$A0 (841 x 1189 mm)A0 (841 x 1189 mm) QPrintDialog"A1 (594 x 841 mm)A1 (594 x 841 mm) QPrintDialog"A2 (420 x 594 mm)A2 (420 x 594 mm) QPrintDialog"A3 (297 x 420 mm)A3 (297 x 420 mm) QPrintDialogDA4 (210 x 297 mm, 8.26 x 11.7 tum)%A4 (210 x 297 mm, 8.26 x 11.7 inches) QPrintDialog"A5 (148 x 210 mm)A5 (148 x 210 mm) QPrintDialog"A6 (105 x 148 mm)A6 (105 x 148 mm) QPrintDialog A7 (74 x 105 mm)A7 (74 x 105 mm) QPrintDialogA8 (52 x 74 mm)A8 (52 x 74 mm) QPrintDialogA9 (37 x 52 mm)A9 (37 x 52 mm) QPrintDialogAlias: %1 Aliases: %1 QPrintDialog&B0 (1000 x 1414 mm)B0 (1000 x 1414 mm) QPrintDialog$B1 (707 x 1000 mm)B1 (707 x 1000 mm) QPrintDialog B10 (31 x 44 mm)B10 (31 x 44 mm) QPrintDialog"B2 (500 x 707 mm)B2 (500 x 707 mm) QPrintDialog"B3 (353 x 500 mm)B3 (353 x 500 mm) QPrintDialog"B4 (250 x 353 mm)B4 (250 x 353 mm) QPrintDialogDB5 (176 x 250 mm, 6.93 x 9.84 tum)%B5 (176 x 250 mm, 6.93 x 9.84 inches) QPrintDialog"B6 (125 x 176 mm)B6 (125 x 176 mm) QPrintDialog B7 (88 x 125 mm)B7 (88 x 125 mm) QPrintDialogB8 (62 x 88 mm)B8 (62 x 88 mm) QPrintDialogB9 (44 x 62 mm)B9 (44 x 62 mm) QPrintDialog$C5E (163 x 229 mm)C5E (163 x 229 mm) QPrintDialog$DLE (110 x 220 mm)DLE (110 x 220 mm) QPrintDialogLExecutive (7.5 x 10 tum, 191 x 254 mm))Executive (7.5 x 10 inches, 191 x 254 mm) QPrintDialogfFilen %1 r inte skrivbar. Vlj ett annat filnamn.=File %1 is not writable. Please choose a different file name. QPrintDialog(Folio (210 x 330 mm)Folio (210 x 330 mm) QPrintDialog*Ledger (432 x 279 mm)Ledger (432 x 279 mm) QPrintDialogDLegal (8.5 x 14 tum, 216 x 356 mm)%Legal (8.5 x 14 inches, 216 x 356 mm) QPrintDialogFLetter (8.5 x 11 tum, 216 x 279 mm)&Letter (8.5 x 11 inches, 216 x 279 mm) QPrintDialogOKOK QPrintDialogSkriv utPrint QPrintDialog*Skriv ut till fil ...Print To File ... QPrintDialogSkriv ut alla Print all QPrintDialog$Skriv ut intervall Print range QPrintDialog,Tabloid (279 x 432 mm)Tabloid (279 x 432 mm) QPrintDialogJUS Common #10 Envelope (105 x 241 mm)%US Common #10 Envelope (105 x 241 mm) QPrintDialoglokalt anslutenlocally connected QPrintDialog okntunknown QPrintDialog StngCloseQPrintPreviewDialogLiggande LandscapeQPrintPreviewDialogStendePortraitQPrintPreviewDialogSorteraCollateQPrintSettingsOutput KopiorCopiesQPrintSettingsOutputSidor frn Pages fromQPrintSettingsOutputSkriv ut alla Print allQPrintSettingsOutput$Skriv ut intervall Print rangeQPrintSettingsOutputVal SelectionQPrintSettingsOutputtilltoQPrintSettingsOutputSkrivarePrinter QPrintWidget AvbrytCancelQProgressDialog ppnaOpen QPushButton KryssaCheck QRadioButton4felaktig teckenklasssyntaxbad char class syntaxQRegExp.felaktig seframtsyntaxbad lookahead syntaxQRegExp4felaktig upprepningssyntaxbad repetition syntaxQRegExp8inaktiverad funktion anvndsdisabled feature usedQRegExp*ogiltigt oktalt vrdeinvalid octal valueQRegExp$ndde intern grnsmet internal limitQRegExp2saknar vnster avgrnsaremissing left delimQRegExp&inga fel intrffadeno error occurredQRegExpovntat slutunexpected endQRegExp4Fel vid ppning av databasError to open databaseQSQLite2Driver<Kunde inte pbrja transaktionUnable to begin transactionQSQLite2DriverBKunde inte verkstlla transaktionUnable to commit transactionQSQLite2DriverJKunde inte rulla tillbaka transaktionUnable to rollback TransactionQSQLite2Driver2Kunde inte kra frgesatsUnable to execute statementQSQLite2Result2Kunde inte hmta resultatUnable to fetch resultsQSQLite2Result8Fel vid stngning av databasError closing database QSQLiteDriver4Fel vid ppning av databasError opening database QSQLiteDriver<Kunde inte pbrja transaktionUnable to begin transaction QSQLiteDriverBKunde inte verkstlla transaktionUnable to commit transaction QSQLiteDriverJKunde inte rulla tillbaka transaktionUnable to rollback transaction QSQLiteDriver6Parameterantal stmmer inteParameter count mismatch QSQLiteResult6Kunde inte binda parametrarUnable to bind parameters QSQLiteResult2Kunde inte kra frgesatsUnable to execute statement QSQLiteResult(Kunde inte hmta radUnable to fetch row QSQLiteResult>Kunde inte terstlla frgesatsUnable to reset statement QSQLiteResultNederkantBottom QScrollBarVnsterkant Left edge QScrollBarRad nedt Line down QScrollBarRada uppLine up QScrollBarSida nedt Page down QScrollBarSida vnster Page left QScrollBarSida hger Page right QScrollBarSida upptPage up QScrollBarPositionPosition QScrollBarHgerkant Right edge QScrollBarRulla nedt Scroll down QScrollBarRulla hr Scroll here QScrollBarRulla vnster Scroll left QScrollBarRulla hger Scroll right QScrollBarRulla uppt Scroll up QScrollBarverkantTop QScrollBar++ QShortcutAltAlt QShortcut BaktBack QShortcutBacksteg Backspace QShortcutBacktabBacktab QShortcutFrstrk bas Bass Boost QShortcutSnk bas Bass Down QShortcutHj basBass Up QShortcutRing uppCall QShortcutCaps Lock Caps Lock QShortcutCapsLockCapsLock QShortcutSammanhang1Context1 QShortcutSammanhang2Context2 QShortcutSammanhang3Context3 QShortcutSammanhang4Context4 QShortcutCtrlCtrl QShortcutDelDel QShortcut DeleteDelete QShortcutNedDown QShortcutEndEnd QShortcut EnterEnter QShortcutEscEsc QShortcut EscapeEscape QShortcutF%1F%1 QShortcutFavoriter Favorites QShortcutVndFlip QShortcut FramtForward QShortcutLgg pHangup QShortcut HjlpHelp QShortcutHomeHome QShortcutHemsida Home Page QShortcutInsIns QShortcut InsertInsert QShortcutStarta (0) Launch (0) QShortcutStarta (1) Launch (1) QShortcutStarta (2) Launch (2) QShortcutStarta (3) Launch (3) QShortcutStarta (4) Launch (4) QShortcutStarta (5) Launch (5) QShortcutStarta (6) Launch (6) QShortcutStarta (7) Launch (7) QShortcutStarta (8) Launch (8) QShortcutStarta (9) Launch (9) QShortcutStarta (A) Launch (A) QShortcutStarta (B) Launch (B) QShortcutStarta (C) Launch (C) QShortcutStarta (D) Launch (D) QShortcutStarta (E) Launch (E) QShortcutStarta (F) Launch (F) QShortcutStarta e-post Launch Mail QShortcutStarta media Launch Media QShortcutVnsterLeft QShortcutMedia nsta Media Next QShortcutMedia spela upp Media Play QShortcut Media fregendeMedia Previous QShortcutMedia spela in Media Record QShortcutMedia stopp Media Stop QShortcutMenyMenu QShortcutMetaMeta QShortcutNejNo QShortcutNum LockNum Lock QShortcutNumLockNumLock QShortcutNumber Lock Number Lock QShortcutppna urlOpen URL QShortcutPage Down Page Down QShortcutPage UpPage Up QShortcut PausePause QShortcut PgDownPgDown QShortcutPgUpPgUp QShortcut PrintPrint QShortcutPrint Screen Print Screen QShortcutUppdateraRefresh QShortcut ReturnReturn QShortcut HgerRight QShortcutScroll Lock Scroll Lock QShortcutScrollLock ScrollLock QShortcutSkSearch QShortcutVljSelect QShortcut ShiftShift QShortcutMellanslagSpace QShortcutAvvaktaStandby QShortcut StoppaStop QShortcut SysReqSysReq QShortcutSystem RequestSystem Request QShortcutTabTab QShortcutSnk diskant Treble Down QShortcutHj diskant Treble Up QShortcutUppUp QShortcutSnk volym Volume Down QShortcutVolym tyst Volume Mute QShortcutHj volym Volume Up QShortcutJaYes QShortcutSida nedt Page downQSliderSida vnster Page leftQSliderSida hger Page rightQSliderSida upptPage upQSliderPositionPositionQSliderLTidsgrns fr ntverkstgrd verstegsNetwork operation timed outQSocks5SocketEngine MindreLessQSpinBoxMerMoreQSpinBox AvbrytCancelQSql2Avbryt dina redigeringar?Cancel your edits?QSqlBekrftaConfirmQSqlTa bortDeleteQSql&Ta bort denna post?Delete this record?QSql InfogaInsertQSqlNejNoQSql&Spara redigeringar? Save edits?QSqlUppdateraUpdateQSqlJaYesQSql6Kunde inte ppna anslutningUnable to open connection QTDSDriver8Kunde inte anvnda databasenUnable to use database QTDSDriverRulla vnster Scroll LeftQTabBarRulla hger Scroll RightQTabBar&Kopiera&Copy QTextControlKlistra &in&Paste QTextControl&Gr om&Redo QTextControl &ngra&Undo QTextControl$Kopiera &lnkplatsCopy &Link Location QTextControlKlipp u&tCu&t QTextControlTa bortDelete QTextControlMarkera alla Select All QTextControl ppnaOpen QToolButton TryckPress QToolButtonHDenna plattform saknar std fr IPv6#This platform does not support IPv6 QUdpSocket Gr omRedo QUndoGroup ngraUndo QUndoGroup <tom> QUndoModel Gr omRedo QUndoStack ngraUndo QUndoStack:Infoga unicode-kontrolltecken Insert Unicode control characterQUnicodeControlCharacterMenu U+202A$LRE Start of left-to-right embeddingQUnicodeControlCharacterMenu U+200ELRM Left-to-right markQUnicodeControlCharacterMenu U+202D#LRO Start of left-to-right overrideQUnicodeControlCharacterMenu U+202CPDF Pop directional formattingQUnicodeControlCharacterMenu U+202B$RLE Start of right-to-left embeddingQUnicodeControlCharacterMenu U+200FRLM Right-to-left markQUnicodeControlCharacterMenu U+202E#RLO Start of right-to-left overrideQUnicodeControlCharacterMenu U+200DZWJ Zero width joinerQUnicodeControlCharacterMenu U+200CZWNJ Zero width non-joinerQUnicodeControlCharacterMenu U+200BZWSP Zero width spaceQUnicodeControlCharacterMenuNederkantBottomQWebPageIgnoreraIgnoreQWebPageIgnorera Ignore Grammar context menu itemIgnoreQWebPageVnsterkant Left edgeQWebPageSida nedt Page downQWebPageSida vnster Page leftQWebPageSida hger Page rightQWebPageSida upptPage upQWebPageterstllResetQWebPageHgerkant Right edgeQWebPageRulla nedt Scroll downQWebPageRulla hr Scroll hereQWebPageRulla vnster Scroll leftQWebPageRulla hger Scroll rightQWebPageRulla uppt Scroll upQWebPage StoppaStopQWebPageverkantTopQWebPage OkntUnknownQWebPageVad r det hr? What's This?QWhatsThisAction**QWidget&Frdig&FinishQWizard &Hjlp&HelpQWizard&Nsta >&Next >QWizard< Till&baka< &BackQWizard AvbrytCancelQWizard HjlpHelpQWizard%1 - [%2] %1 - [%2] QWorkspace &Stng&Close QWorkspace&Flytta&Move QWorkspacete&rstll&Restore QWorkspace&Storlek&Size QWorkspaceA&vskugga&Unshade QWorkspace StngClose QWorkspaceMa&ximera Ma&ximize QWorkspaceMi&nimera Mi&nimize QWorkspaceMinimeraMinimize QWorkspaceterstll nedt Restore Down QWorkspaceSkugg&aSh&ade QWorkspace&Stanna kvar vers&t Stay on &Top QWorkspacekodningsdeklarering eller fristende deklarering frvntades vid lsning av XML-deklareringenYencoding declaration or standalone declaration expected while reading the XML declarationQXmlXfel i textdeklareringen av en extern entitet3error in the text declaration of an external entityQXmlPfel intrffade vid tolkning av kommentar$error occurred while parsing commentQXmlNfel intrffade vid tolkning av innehll$error occurred while parsing contentQXmljfel intrffade vid tolkning av dokumenttypsdefinition5error occurred while parsing document type definitionQXmlLfel intrffade vid tolkning av element$error occurred while parsing elementQXmlNfel intrffade vid tolkning av referens&error occurred while parsing referenceQXml2fel utlstes av konsumenterror triggered by consumerQXmlpextern tolkad allmn entitetsreferens tillts inte i DTD;external parsed general entity reference not allowed in DTDQXmlextern tolkad allmn entitetsreferens tillts inte i attributvrdeGexternal parsed general entity reference not allowed in attribute valueQXmlbintern allmn entitetsreferens tillts inte i DTD4internal general entity reference not allowed in DTDQXmlPogiltigt namn fr behandlingsinstruktion'invalid name for processing instructionQXml&bokstav frvntadesletter is expectedQXmlBfler n en dokumenttypsdefinition&more than one document type definitionQXml&inga fel intrffadeno error occurredQXml&rekursiva entiteterrecursive entitiesQXmlfristende deklarering frvntades vid lsning av XML-deklareringAstandalone declaration expected while reading the XML declarationQXml"tagg stmmer inte tag mismatchQXmlovntat teckenunexpected characterQXml*ovntat slut p filenunexpected end of fileQXmlRotolkad entitetsreferens i fel sammanhang*unparsed entity reference in wrong contextQXmlhversion frvntades vid lsning av XML-deklareringen2version expected while reading the XML declarationQXmlHfel vrde fr fristende deklarering&wrong value for standalone declarationQXmlConvertAll-0.8.0/translations/working/000077500000000000000000000000001363574405500200055ustar00rootroot00000000000000ConvertAll-0.8.0/translations/working/README_it.html000066400000000000000000000300021363574405500223170ustar00rootroot00000000000000 ConvertAll Leggimi

File leggimi per ConvertAll

Convertitore di unità

Scritto da Doug Bell
Version 0.5.0
23 Aprile 2010

Contenuti

Premessa

Perchè scrivere un altro convertitore di unità se ce ne sono già in abbondanza? Perchè non ne ho mai trovato uno organizzato come volevo io.

Con ConvertAll, si possono convertire oltre 500 unità di misura suddivise in classi. Da pollici in sistema metrico, da metri in libbre da Km in miglia nautiche. E moltissimo altro ancora.

Poichè non sono nel business del software, ho voluto che questo programma fosse gratuito per tutti, tanto nella distribuzione quanto nella sua modifica, a patto che non sia mai integrato in programmi a pagamento. Se Vi piace il programma, sentitevi liberi di farlo conoscere agli altri. E fatemi sapere cosa ne pensate -Il mio indirizzo email è doug101 AT bellz DOT org

Caratteristiche

  • L'unità di base per la conversione può essere digitata nei 2 modi (con completamento automatico o selezionandola dall'elenco).
  • Le unità possono essere selezionate utilizzando la relativa sigla o il nome completo.
  • Le unità possono essere combinate con il segno "*" and "/" .
  • Le unità possono essere elevate a potenza con il segno "^" .
  • Anche unità con scala non lineare, quali la temperatura, possono essere convertite.
  • Un elenco di unità può essere filtrata e ricercata
  • I valori numerici possono essere inseriti sia dal lato "From" che da quello "To", permettendo la conversione bidirezionale.
  • Espressioni matematiche di base possono essere inserite al posto dei numeri.
  • Opzioni di controllo della formattazione dei risultati numerici.
  • Il database include oltre 400 unità.
  • Il formato del file dati contenente le unità rende facile aggiungerne altre.
  • Le opzioni da linea di comando sono a disposizione per fare conversioni senza usare l'interfaccia grafica.

Aspetti legali

ConvertAll è un software gratuito; la ridistruzione e la modifica sono consentite nel rispetto della Pubblica Licenza GNU come specificato dalla Free Software Foundation; tanto nella 2° Versione della Licenza, quanto (a vostra discrezione) in quelle successive.

Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA. Per ulteriori informazioni leggete il file LICENZA allegato al programma .

Requisiti di sistema

Linux

ConvertAll richiede le seguenti librerie:

  • Qt (Versione 4.1 o superiore - visitare Trolltech per maggiori informazioni)
  • Python (Versione 2.3 o superiore)
  • PyQt (Version 4.0 o superiore - visitare Riverbank per maggiori informazioni)

Queste librerie sono relativamente recenti - quindi i pacchetti potrebbero non essere disponibili per la vostra distributione. In questo caso, una versione precedente di ConvertAll (0.3.2), che depende ancora da librerie più datate, è tutt'ora disponibile.

Windows

Utilizzando i file forniti con la distribuzione binaria, ConvertAll dovrebbe funzionare su qualsiasi computer con Win 95, 98, NT, 2000, or XP.

Installazione

Linux

Estrarre i sorgenti dal file tar di convertall, cambiare la ConvertAll directory da terminale. Per un' installazione di base, è sufficiente eseguire il seguente comando come root: python install.py

Per visualizzare le opzioni di installazione, usare: python install.py -h

Per installare ConvertAll con un differente prefisso (il default è /usr/local), usare: python install.py -p /prefix/path

Windows

Eseguire semplicemente il file di installazione scaricato (convertall-x.x.x-install.exe). Il programma verrà installato con le sue librerie, e creata l'associatione ai files e ai relativi Tasti di scelta rapida.

Se si ha già installato precedentemente ConvertAll versione 0.3.0 o superiore, si può optare per l'aggiornamento eseguendo convertall-x.x.x-upgrade.exe per aggiornare i files della precedente installazione.

Se si desidera modificare il codice sorgente o scrivere il proprio programma PyQt per Windows, non si deve usare la procedura descritta sopra, ma piuttosto installare Python i binari PyQt. Ora estrarre il codice sorgente e i file dalla versione Linux (convertall tar file) in una directory a piacere ed eseguire il file convertall.py file.

Utilizzo di ConvertAll

Nozioni di base

Digitare il nome di un unità nel campo "From Unit". Non appena è scritta, l'elenco a scorrimento visualizza i nomi di unità per cui c'è corrispondenza.Anche solo la sigla dell'unità permette di usare il tasto return (enter) per selezionare l'unità evidenziata dall'elenco. Naturalmente, cliccando con il mouse su una unità nella lista, la aggiungerà anche nella finestra "edit". È inoltre possibile utilizzare la freccia su e giù per selezionare le unità della lista.

Ripetere la selezione dell'unità nel campo "to". E se, le unità sono compatibili, si vedrà,sotto, la finestra di modifica numerica divenire attiva. Può essere inserito un numero e nell'altra finestra verrà visualizzato il risultato.

Unità combinate

La vera forza di ConvertAll risiede nella sua capacità di combinare unità multiple. Basta digitare le unità con un '*' or a '/' tra loro. Questo permette l'inserimento di unità come "ft*lbf" or "mi/hr". Il simbolo '^' è usato come esponente, come ad esempio "ft^3" o "ft*lbm/sec^2". Esponenti negativi possono essere usati per unità come "sec^-1" (secondi alla meno uno) e simboli di moltiplicazioni e divisioni ("ft*sec^-2" becomes "ft/sec^2").

Le multiplicazioni hanno la priorità sulle divisioni, così "m / sec * hr" vuol dire "m / (sec * hr)". Analogamente, "m / sec / hr" è lo stesso di "m * hr / sec" (ma fa meno confusione).

Il pulsante sotto la lista unità ('X', '/', '^2', '^3') inserirà l'operatore dopo l'unità più vicina al cursore. Il tasto esponente emetterà l'esponente all'unità.

Analogamente, cliccando sull'unità della lista si sostituisce in genere l' unità più vicina al cursore.

Il pulsante "Cancella unità" sotto il pulsante operatore, può essere utilizzato per svuotare la finestra di modifica unità per consentire un nuovo inserimento.

Tasti di scelta rapida

Quando si digita il nome dell'unità, gli spazi sono ignorati, quindi possono essere omessi. Inoltre, è generalmente ignorata la forma plurale del nome dell'unità. Quando si digita un nome parziale dell'unità, esso è sottolineatonella lista, così che la pressione del tasto enter completerà il nome. Anche premendo il tasto TAB si completerà il nome e si passerà al successivo campo.

Il numero da convertire può essere scritto sia nel campo "From" che in quello "To". La nota standard o quella scientifica può essere usata come espressione contenente i normali operatori matematici (+, -, *, /, **), anche le parentesi possono essere digitate.

Ricerca di Unità

La Ricerca di Unità si usa per filtrare le unità, digitando e/o ricercandole con una stringa di testo. Verrà visualizzata una lista separata in una nuova finestra. La lista sarà aggiornata in base al filtro e alla digitazione della stringa di ricerca.

Il pulsante vicino al fondo della finestra di ricerca aggiunge l'unità selezionata all' unità nella finestra principale. Il pulsante "Replace" sostituisce l'unità combinata con la selezione. il pulsante "Insert" canmbia solo la parte della unità combinata che è attiva (nel cursore presente nella finestra principale).

Opzioni

Il pulsante "Opzioni" permette la modifica di alcune impostazioni. Questw sono automaticamente memorizzate, così che ConvertAll si riapra con le nuove modifiche.

Le prime opzioni controllano la visualizzazione dei risultati numerici, compresi l'uso della nota scientifica e il numero degli spazi decimali. Siate cauti nel fissare il numero di cifre decimali al valore più basso, poichè può risultare la perdita della precisione nel risultato. Sei o più decimali sono consigliati (otto è il default).

C'è un'opzione per nascondere i pulsanti di opzione del gestore di testo (x, /, ^2, ^3 e cancellare l'unità). Possono essere nascoste per salvare spazio e la tastiera usata per inserire l'operatore.

I pulsanti sono inoltre inclusi nelle opzioni di dialogo per cambiare il colore campi di testo.

Conversioni Non-Lineari

Per la conversione di alcune unità non lineari, un esempio di esse include le scale Fahrenheit e Celsius delle temperature (a causa di un offset zero point) e all'American Wire Gauge (logaritmica). L'unità non-lineare è etichettata nella colonna dei commenti (presente alla destra della colonna "Type").

Queste unità possono essere convertite solo quando non sono combinate con altre unità o non è presente l'esponente. Diversamente la conversione sarà senza significato.

Command Line Usage

La conversione può essere fatta da linea di comando (console Linux o DOS) senza usare l'interfaccia grafica. Digitare in ordine: il comando ("convertall"), il valore numerico, l'unità di partenza e quella di destinazione (separate da uno spazio) e poi invio per ottenere la conversione. I nomi di unità contenenti uno spazio devono essere dagli apici (le virgolette). In alternativa, per ricerere la richiesta del valore, digitare "convertall -i" da linea di comando.

Terminata la conversione, ConvertAll richiederà un nuovo numero per una nuova conversione dello stesso tipo precedente. Premere "r" per invertire le unità della conversione or "q" per uscire.

Per la lista dettagliata delle opzioni, digitare "convertall -h" da linea di comando.

Cronologia delle revisioni

La Cronologia completa delle revisioni si trova nella versione inglese del file ReadMe file.

Domande, Commenti, Critiche?

Per contatti, il mio indirizzo email è doug101 AT bellz DOT org, sono benvenuti commenti, suggerimenti e avvisi di bugs scoperti. E' possibile visitare periodicamente questo indirizzo per controllare la presenza di aggiornamenti. www.bellz.org

ConvertAll-0.8.0/translations/working/README_xx.html000066400000000000000000000265051363574405500223570ustar00rootroot00000000000000 ConvertAll ReadMe

ReadMe file for ConvertAll

a unit conversion program

Written by Doug Bell
Version 0.5.0
April 23, 2010

Contents

Background

Why write another unit converter? There are plenty of them out there. Well, I couldn't find one that worked quite the way I wanted.

With ConvertAll, you can combine the units any way you want. If you want to convert from inches per decade, that's fine. Or from meter-pounds. Or from cubic nautical miles. The units don't have to make sense to anyone else.

Since I'm not in the software business, I'm making this program free for anyone to use, distribute and modify, as long as it is not incorporated into any proprietary programs. If you like the software, feel free to let others know about it. And let me know what you think - my email address is doug101 AT bellz DOT org

Features

  • The base units for conversion may be either typed (with auto-completion) or selected from a list.
  • Units may be selected using either an abbreviation or a full name.
  • Units may be combined with the "*" and "/" operators.
  • Units may be raised to powers with the "^" operator.
  • Units in the denominator may be grouped with parenthesis.
  • Units with non-linear scales, such as temperature, can also be converted.
  • A unit list may be filtered and searched.
  • Recently used unit combinations may be picked from a menu.
  • Numbers may be entered on either the "From" or the "To" units side, for conversions in both directions.
  • Basic mathematical expressions may be entered in place of numbers.
  • Options control the formatting of numerical results.
  • The unit data includes over 500 units.
  • The format of the unit data file makes it easy to add additional units.
  • Command line options are available to do conversions without the GUI.

Legal Issues

ConvertAll 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. See the LICENSE file provided with this program for more information.

System Requirements

Linux

ConvertAll requires the following libraries:

  • Qt (Version 4.1 or higher - see Trolltech for more information)
  • Python (Version 2.3 or higher)
  • PyQt (Version 4.0 or higher - see Riverbank for more information)

Windows

Using the files provided in the binary distribution, ConvertAll should run on any computer running Win 95, 98, NT, 2000, XP, Vista, or 7.

Installation

Linux

Extract the source files from the convertall tar file, then change to the ConvertAll directory in a terminal. For a basic installation, simply execute the following command as root: python install.py

To see all install options, use: python install.py -h

To install ConvertAll with a different prefix (the default is /usr/local), use: python install.py -p /prefix/path

Windows

Simply execute the downloaded installation file (convertall-x.x.x-install.exe). It will install the program with its libraries and optionally create file associations and shortcuts.

If you wish to modify the source code or write your own PyQt programs for Windows, do not use the above procedure. Instead, you need to install Python and the binary for PyQt. Then extract the source code and data files from the Linux version (convertall tar file) to a directory of your choice and execute the convertall.py file.

Using ConvertAll

Basics

Simply type a unit name in the "From Unit" edit window. As you type, the list below the window will scroll to show unit names which are close matches. Either type the complete unit abbreviation or unit name or hit the return key to use the unit highlighted in the list. Of course, clicking with the mouse on a unit in the list will also add the unit to the edit window. You may also use the up and down arrow keys to select nearby units from the list.

Repeat the unit selection in the "To Unit" edit window. When done, if the units are compatible, you will see the numeric edit windows below the unit lists activate. A number may be entered into either numeric window and the other window will display the conversion result.

Combining Units

The real strength of ConvertAll lies in its ability to combine multiple units. Simply type the unit names with an '*' or a '/' between them. This allows the entry of units such as "ft*lbf" or "mi/hr". The '^' symbol may be used for exponents, such as "ft^3" or "ft*lbm/sec^2". Negative exponents are allowed for units such as "sec^-1" (per second), but may switch the multiplication or division symbol ("ft*sec^-2" becomes "ft/sec^2").

Multiplication and division have the same precedence, so they are evaluated left-to-right. Parenthesis may also be used to group units in the denominator. So "m / sec / kg" can also be entered as "m / (sec * kg)". The version with parenthesis is probably less confusing.

The buttons below the unit lists ('X', '/', '^2', '^3') will also place the operators after the unit nearest to the cursor. The exponent keys will replace the unit's exponent.

Similarly, clicking on a unit from the list generally replaces the unit nearest the cursor.

The "Clear Unit" button below the operator buttons may be used to empty the unit edit window to allow a new unit to be entered.

Shortcuts

When typing unit names, spaces are ignored, so they may be skipped. It is also generally ignored if a plural form of the unit name is typed. When a partially typed unit is highlighted in the list, hitting enter will complete the name. Also, hitting the tab key will complete the name and move to the next entry field.

The "Recent Unit" button opens a menu of recently used units and unit combinations. The current unit combination is replaced with any selections from this menu.

The number to be converted may be entered in either the "From" or "To" unit side. Standard or scientific notation may be used, or an expression including the normal math operators (+, -, *, /, **) and parenthesis may be entered.

Unit Finder

The unit finder can be used to filter units by type and/or search for units using a text string. It displays a separate unit list in a new window. The list will be updated based on the filter and search string entries.

Buttons near the bottom of the finder window add the selected unit to the units in the main window. The "Replace" buttons replace an entire combined unit with the selection. The "Insert" button changes only the part of a combined unit that is active (at the cursor in the main window).

Options

The "Options..." button allows for changing several default settings. These settings are automatically stored so that ConvertAll will re-start with the settings last used.

The first options control the display of numerical results, including the use of scientific notation and the number of decimal places. Be cautious about setting the number of decimal places to a low value, which can result in a significant loss of accuracy. Six places or higher is recommended (eight is the default).

There is an option to set the number of recent units to be saved. Setting it to zero will disable the Recent Unit buttons.

There is an option to hide the operator text option buttons (x, /, ^2, ^3, Clear Unit and Recent Unit). These can be hidden to save space if the keyboard will be used to enter the operators.

Buttons are also included on the options dialog to control the colors of the text fields.

Non-Linear Conversions

The conversion of some units is non-linear. Examples of these include the Fahrenheit and Celsius temperature scales (due to an offset zero point) and the American Wire Gauge (logarithmic). The non-linear units are labeled as such in the comments column (located to the right of the "Type" column).

These units can be converted only when they are not combined with other units or used with an exponential operator. Otherwise the conversion would not be meaningful.

Command Line Usage

Conversions may be done from the command line (Linux or DOS console) without invoking the graphical interface. Enter the command ("convertall" on Linux, "convertall_dos" from the Windows binary), the number, the from unit and the to unit (separated by spaces) to do the conversion. Unit names containing spaces should be surrounded by quotes. Or, to be prompted for each unit entry, use the "-i" option ("convertall -i" on Linux, "convertall_dos -i" from Windows).

After the conversion is done, ConvertAll will prompt for a new number to do the same conversion. Or "n" can be entered to start a new conversion, "r" to reverse the conversion or "q" to quit.

For a more detailed list of options, use the "-h" option ("convertall -h" on Linux, "convertall_dos -h" on Windows).

Revision History

The full revision history can be found in the English version of the ReadMe file.

Questions, Comments, Criticisms?

I can be contacted by email at: doug101 AT bellz DOT org
I welcome any feedback, including reports of any bugs you find. Also, you can periodically check back to www.bellz.org for any updates.

ConvertAll-0.8.0/translations/working/convertall_it.qm000066400000000000000000000136261363574405500232210ustar00rootroot00000000000000 cmdlineZInserisci numero, [n]uovo, [i]nverti o [e]sci,Enter number, [n]ew, [r]everse or [q]uit -> cmdlineHinserisci valore nel campo all'unitEnter to unit -> cmdlineOpzioni:Options:cmdlinehi nomi contenenti spazi vanno inclusi tra virgolette"Units with spaces must be "quoted"cmdlineUtilizzo:Usage:cmdline@converti senza ulteriori promptsconvert without further promptscmdlineFvisualizza questo messaggio ed escidisplay this message and exitcmdlineDall'unit from_unitcmdlineFmodalit linea di comando (non-GUI)'interactive command line mode (non-GUI)cmdlinenumnumcmdline numeronumbercmdlineopzionioptionscmdlineopzioni-qt qt-optionscmdline6Numero di decimali da usareset number of decimals to showcmdlinePmostra risultati in modalit scientifica#show results in scientific notationcmdlineDmostra decimali anche se sono zeri*show set number of decimals, even if zeroscmdlineAll'unitto_unitcmdline&About... &About... convertdlg&Chiudi&Close convertdlgAi&uto...&Help... convertdlg&OK&OK convertdlgOp&zioni... &Options... convertdlgCancella unit Clear Unit convertdlg ColoriColors convertdlg.ConvertAll file LEGGIMIConvertAll README File convertdlg*Cifre dopo la virgolaDecimal places convertdlg<Errore nel database unit -{0}Error in unit data - {0} convertdlgDall'unit From Unit convertdlg2Nessuna unit selezionata No Unit Set convertdlgNumero salvato Number saved convertdlg0File leggimi non trovatoRead Me file not found convertdlgUnit recente Recent Unit convertdlgUnit recenti Recent Units convertdlg(Visualizza risultatoResult Display convertdlg&Colori dello sfondoSet background color convertdlg Colori del testoSet text color convertdlg Insieme di unit Set units convertdlgAll'unitTo Unit convertdlg*Usa colori di sistemaUse default system colors convertdlg$Usa decimali fissiUse fixed decimal places convertdlg*Usa note scientificheUse scientific notation convertdlg${0} unit caricate{0} units loaded convertdlg&Indietro&BackhelpviewA&vanti&ForwardhelpviewA ca&po&HomehelpviewConversione... Converting...numedit*errore di unit - {0}Error in unit data - {0}numedit.Nessun insieme di unit No Unit Setnumedit Insieme di unit Set unitsnumeditFUnit incompatibili ({0} vs. {1})(Units are not compatible ({0} vs. {1})numeditC&ancella&Cancel optiondlg&OK&OK optiondlgPreferenze Preferences optiondlg4Equazione errata per "{0}"Bad equation for "{0}"unitatom("Units.dat" mancanteCan not read "units.dat" fileunitdata8Trovato nome unit duplicatoDuplicate unit names foundunitdata4Equazione errata per "{0}"Bad equation for {0} unitgroupNImpossibile combinare unit non lineariCannot combine non-linear units unitgroup6Definizione unit circolareCircular unit definition unitgroup@Conversione per "{0}" non validaInvalid conversion for "{0}" unitgroupCommentiComments unitlistviewNome Unit Unit Name unitlistviewTipo di Unit Unit Type unitlistviewConvertAll-0.8.0/translations/working/convertall_it.ts000066400000000000000000000541501363574405500232270ustar00rootroot00000000000000 cmdline Usage: Utilizzo: qt-options opzioni-qt -or- (non-GUI): -o- (senza interfaccia grafica): options opzioni number numero from_unit Dall'unità to_unit All'unità Units with spaces must be "quoted" i nomi contenenti spazi vanno inclusi tra virgolette Options: Opzioni: num num set number of decimals to show Numero di decimali da usare show set number of decimals, even if zeros mostra decimali anche se sono zeri display this message and exit visualizza questo messaggio ed esci interactive command line mode (non-GUI) modalità linea di comando (non-GUI) convert without further prompts converti senza ulteriori prompts show results in scientific notation mostra risultati in modalità scientifica Enter from unit -> inserisci valore nel campo dall'unità Enter to unit -> inserisci valore nel campo all'unità Enter number, [n]ew, [r]everse or [q]uit -> Inserisci numero, [n]uovo, [i]nverti o [e]sci show results in engineering notation Units {0} and {1} are not compatible {0} is not a valid unit convertdlg %d units loaded %d unità caricate Error in unit data - %s Errore nel database unità - %s From Unit Dall'unità To Unit All'unità Set units Insieme di unità No Unit Set Nessuna unità selezionata &Close &Chiudi &Unit Finder... &Ricerca unità... &Options... Op&zioni... &Help... Ai&uto... &About... &About... Clear Unit Cancella unità Result Display Visualizza risultato Decimal places Cifre dopo la virgola Use scientific notation Usa note scientifiche Use fixed decimal places Usa decimali fissi Buttons Pulsanti Show operator buttons Visualizza pulsanti operatore Colors Colori Use default system colors Usa colori di sistema Set background color Colori dello sfondo Set text color Colori del testo Read Me file not found File leggimi non trovato ConvertAll README File ConvertAll file LEGGIMI ConvertAll Version %s by %s ConvertAll Versione %s di %s Recent Unit Unità recente Recent Units Unità recenti Number saved Numero salvato Error in unit data - {0} Errore nel database unità -{0} {0} units loaded {0} unità caricate Result Precision Use short representation Use engineering notation Load last units at startup User Interface Show tip at startup ConvertAll Version {0} by {1} Convertall - Tip Combining Units <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> Show this tip at startup &OK &OK Square Cube Multiply Divide Filter List Clear Filter Show operator buttons (1st row) Show unit buttons (2nd row) finddlg Unit Finder Ricerca unità &Filter Unit Types &Filtra per tipo unità &Search String &Ricerca stringa C&lear P&ulisci From Unit Dall'unità &Replace Sos&tituisci &Insert I&nserisci To Unit All' unità Replac&e Sostituis&ci Inser&t Inseri&sci &Close C&hiudi Unit Name Nome Unità Unit Type Tipo di Unità Comments Commenti helpview &Back &Indietro &Forward A&vanti &Home A ca&po Find Find &Previous Find &Next Text string not found numedit Error in unit data - %s errore di unità Converting... Conversione... Units are not compatible (%s vs. %s) Unità incompatibili (%s vs. %s) Set units Insieme di unità No Unit Set Nessun insieme di unità Error in unit data - {0} errore di unità - {0} Units are not compatible ({0} vs. {1}) Unità incompatibili ({0} vs. {1}) optiondlg &OK &OK &Cancel C&ancella Preferences Preferenze unitatom Bad equation for "%s" Equazione errata per "%s" Bad equation for "{0}" Equazione errata per "{0}" unitdata Can not read "units.dat" file "Units.dat" mancante Duplicate unit names found Trovato nome unità duplicato unitgroup Circular unit definition Definizione unità circolare Invalid conversion for "%s" Conversione per "%s" non valida Cannot combine non-linear units Impossibile combinare unità non lineari Bad equation for %s Equazione errata per "%s" Invalid conversion for "{0}" Conversione per "{0}" non valida Bad equation for {0} Equazione errata per "{0}" unitlistview Unit Name Nome Unità Unit Type Tipo di Unità Comments Commenti ConvertAll-0.8.0/translations/working/convertall_xx.ts000066400000000000000000000420321363574405500232460ustar00rootroot00000000000000 cmdline Usage: qt-options -or- (non-GUI): options number from_unit to_unit Units with spaces must be "quoted" Options: num set number of decimals to show show set number of decimals, even if zeros show results in scientific notation show results in engineering notation display this message and exit interactive command line mode (non-GUI) convert without further prompts Enter from unit -> Enter to unit -> Enter number, [n]ew, [r]everse or [q]uit -> Units {0} and {1} are not compatible {0} is not a valid unit convertdlg Error in unit data - {0} {0} units loaded From Unit To Unit Square Cube Multiply Divide Clear Unit Recent Unit Filter List Set units No Unit Set &Close &Options... &Help... &About... Clear Filter Result Precision Decimal places Result Display Use short representation Use fixed decimal places Use scientific notation Use engineering notation Recent Units Number saved Load last units at startup User Interface Show operator buttons (1st row) Show unit buttons (2nd row) Show tip at startup Colors Use default system colors Set background color Set text color Read Me file not found ConvertAll README File ConvertAll Version {0} by {1} Convertall - Tip Combining Units <p>ConvertAll's strength is the ability to combine units:</p><ul><li>Enter "m/s" to get meters per second</li><li>Enter "ft*lbf" to get foot-pounds (torque)</li><li>Enter "in^2" to get square inches</li><li>Enter "m^3" to get cubic meters</li><li>or any other combinations you can imagine</li></ul> Show this tip at startup &OK helpview &Back &Forward &Home Find Find &Previous Find &Next Text string not found numedit Error in unit data - {0} Converting... Units are not compatible ({0} vs. {1}) Set units No Unit Set optiondlg &OK &Cancel Preferences unitatom Bad equation for "{0}" unitdata Can not read "units.dat" file Duplicate unit names found unitgroup Circular unit definition Invalid conversion for "{0}" Cannot combine non-linear units Bad equation for {0} unitlistview Unit Name Unit Type Comments ConvertAll-0.8.0/translations/working/qt_it.qm000066400000000000000000002370511363574405500214740ustar00rootroot00000000000000+O+O81~E@FKH4HYPHݗIJyJHK LDLLPSRTiZr[`0[`"\y{__1?8b .Eڠ$Qo$:,ym XW9Q>2E7E% %G֍Ī֍֍ʨ0d0:T0J00`05ތ D=I DOi+F,>,7F`H5 H5=wH5OH5jVEǏff.8f;*fJ)ff́fglC*<@=P'``7yWi2.behe=ePdįįp~^Qi(4K(4L(5LJ(5L~*y*y*y*TXk*0%*0;+F1+F+Lh+f+fC+z,N++ +=+z,+R+D +X++.+įI+į:+įo+,G8Hw9Hw98I*UI̭J+}J6'J6-J69@J6>J6J6LJ6J6JcbbKQKGLZLL. Lb M5>fMeMNRO|-_PFEzPFEfPFEIQT RTT.Tʴ.TtU|7U}UV1ȯVwV6VUWWTWTX;[X&X˙<XYUYYKZgZV\\]4M\]4\\lG|^v7v f_4Lt5.6CQIAJ[;ɵn1ɵnpɵn}ɵnɵnhɵn&c B{Me5%UT(ŎL*4?tfCCeKD"D1^-MaR?DQfPsloR(Porw^Nc.GS22 {'.?RAiy i{turu |-`1$5~\< yM]`3`_vty/1T W H )wD66^`KT=ɓ~.J1ة EE!39!{8A A^4ДHmMMRE[CEdy I)*/eF7%OZf'f2jCLqPu(޶Vlz~M p$ͮ$ R (`KKh n,q;2-AIxS*YM[YMdh^`i#[xPۊ-.N*]ֹ]II cIII9IIIIuD_iuDhD5o,,,ܢ,=,N]o; ɘem5$@fR fRIN(JUS=c!pSTPqbKV:VfRCo So  Jv`%C&~T3,KN>V|U]o]skc5tFJgUKG%Yصǥ;+itb;WxAWA9\V)sV-%*C-D5C^iƨ^ƨn˾tHҝz qi{է?jZ>f^ ~bI~bO+3/1l4~G6 ? 2[AŜDGZGbNLAUPѧ9vQg`Sn_UwUZwZۯZZ[e]k*IV^n e#i_ihkQRy;~{}u}w}w}w 8xtrvet t«./.D CYt&8tewt_ Fʢ5 ʢd5dddB59rN UdBw} r+k ,D02?6a7DyCU]DuKK\U|arъtz|(^|S}wZ}$״}$D}$ϗ˥ZDmK<:f+·.׳/fUEYXu %5O T=i~ixwmb %h'5kE=15?!?CtIRPXU HLbDYbGzfdgAhISx1 =d 5_z@.c.k҉|>0mZl^n2†5iQ4C u( K 팤  = qV] R ) 7u* ;~h =Y J"% J" Rۮj Uj4 ]^ `o ` b c( d e + eI f1]W f*& gn) k,A rD" t| ̺Y# -DZ0 . kُ k! U)i / 0 z+  _!  hF IR %W I  xHn7 .+q >b >b >c >mt >xI >Z > > ?t| DT I* RVK RV! RV S. SG Sj Yh hۮR| j7oBv p+ . Bt  T2# T T Tv u 4 W S .2 .p . .\ . .ӛ  a ҂ \ w ^ a :bj  r~ +>, ;ɾ K9 Pt' Pt fe fe iFCݾ iH i m9N n u us w2 w wC w}n w} w} |[Z  \p e( % ^ P  UX F X & t5z t5   )- T&gT'U*%*/EI_jK[  aa.:nyGvɅby$~l4Sw^ǗB$rݖ  F"#C$U%4<%4N1cCDHyJdlL$. ]ac5hc5 yCY5C&R&[) F3NA&Bbt2)!ҖU i">Ripristino del dispositivo '%1'Revert back to device '%1' AudioOutputAccessibilit AccessibilityPhonon::Comunicazione CommunicationPhonon:: GiochiGamesPhonon:: MusicaMusicPhonon::Notifiche NotificationsPhonon:: VideoVideoPhonon::8Tipo di sorgente non valido.Invalid source type.Phonon::Gstreamer::MediaObjectUtilizza questo cursore per regolare il volume. La posizione all'estrema sinistra 0%, a destra %1%WUse this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%Phonon::VolumeSliderVolume: %1% Volume: %1%Phonon::VolumeSlider&%1, %2 non definito%1, %2 not definedQ3Accel6Ambiguit di %1 non gestitaAmbiguous %1 not handledQ3AccelEliminaDelete Q3DataTable FalsoFalse Q3DataTableInserisciInsert Q3DataTableVeroTrue Q3DataTableAggiornaUpdate Q3DataTable|%1 File non trovato. Controlla il percorso e il nome del file.+%1 File not found. Check path and filename. Q3FileDialog&Elimina&Delete Q3FileDialog&No&No Q3FileDialog&OK&OK Q3FileDialog &Apri&Open Q3FileDialog&Rinomina&Rename Q3FileDialog &Salva&Save Q3FileDialog&Non ordinati &Unsorted Q3FileDialog&S&Yes Q3FileDialog^<qt>Sei sicuro di voler eliminare %1 "%2"?</qt>1Are you sure you wish to delete %1 "%2"? Q3FileDialog Tutti i file (*) All Files (*) Q3FileDialogAttributi Attributes Q3FileDialogIndietroBack Q3FileDialogAnnullaCancel Q3FileDialog,Copia o sposta un fileCopy or Move a File Q3FileDialog.Crea una nuova cartellaCreate New Folder Q3FileDialogDataDate Q3FileDialogElimina %1 Delete %1 Q3FileDialog"Vista dettagliata Detail View Q3FileDialogCartellaDir Q3FileDialogCartelle Directories Q3FileDialogCartella: Directory: Q3FileDialog ErroreError Q3FileDialogFile Q3FileDialog&Nome file: File &name: Q3FileDialog&Tipo file: File &type: Q3FileDialogTrova cartellaFind Directory Q3FileDialogInaccessibile Inaccessible Q3FileDialogVista a elenco List View Q3FileDialogCerca &in: Look &in: Q3FileDialogNomeName Q3FileDialogNuova cartella New Folder Q3FileDialog"Nuova cartella %1 New Folder %1 Q3FileDialog Nuova cartella 1 New Folder 1 Q3FileDialog"Livello superioreOne directory up Q3FileDialogApriOpen Q3FileDialogRi&caricaR&eload Q3FileDialogSola lettura Read-only Q3FileDialog"Lettura-scrittura Read-write Q3FileDialogLettura: %1Read: %1 Q3FileDialogSalva comeSave As Q3FileDialog*Mos&tra file nascostiShow &hidden files Q3FileDialogDimensioneSize Q3FileDialog OrdinaSort Q3FileDialog Ordina per &data Sort by &Date Q3FileDialog Ordina per &nome Sort by &Name Q3FileDialog,Ordina per dimen&sione Sort by &Size Q3FileDialogSpecialeSpecial Q3FileDialogJCollegamento simbolico a una cartellaSymlink to Directory Q3FileDialog@Collegamento simbolico a un fileSymlink to File Q3FileDialogTipoType Q3FileDialogSola scrittura Write-only Q3FileDialogScrittua: %1 Write: %1 Q3FileDialogla cartella the directory Q3FileDialogil filethe file Q3FileDialog2il collegamento simbolico the symlink Q3FileDialogBImpossibile creare la cartella %1Could not create directory %1 Q3LocalFs*Impossibile aprire %1Could not open %1 Q3LocalFsDImpossibile leggere la cartella %1Could not read directory %1 Q3LocalFs\Impossibile rimuovere il file o la cartella %1%Could not remove file or directory %1 Q3LocalFs>Impossibile rinominare %1 in %2Could not rename %1 to %2 Q3LocalFs.Impossibile scrivere %1Could not write %1 Q3LocalFsPersonalizza... Customize... Q3MainWindow<Operazione fermata dall'utenteOperation stopped by the userQ3NetworkProtocolAnnullaCancelQ3ProgressDialogApplicaApply Q3TabDialogAnnullaCancel Q3TabDialogPredefinitiDefaults Q3TabDialog AiutoHelp Q3TabDialogOK Q3TabDialog &Copia&Copy Q3TextEdit&Incolla&Paste Q3TextEdit &Rifai&Redo Q3TextEditA&nnulla&Undo Q3TextEditPulisciClear Q3TextEdit&TagliaCu&t Q3TextEditSeleziona tutto Select All Q3TextEdit ChiudiClose Q3TitleBar$Chiude la finestraCloses the window Q3TitleBarVContiene comandi per manipolare la finestra*Contains commands to manipulate the window Q3TitleBarVisualizza il nome della finestra e contiene i controlli per manipolarlaFDisplays the name of the window and contains controls to manipulate it Q3TitleBarMassimizzaMaximize Q3TitleBarMinimizzaMinimize Q3TitleBarMinimizza Restore down Q3TitleBarRipristina Restore up Q3TitleBarSistemaSystem Q3TitleBarAltro...More... Q3ToolBar(sconosciuto) (unknown) Q3UrlOperatorIl protocollo %1 non supporta la copia o lo spostamento di file o cartelleIThe protocol `%1' does not support copying or moving files or directories Q3UrlOperator|Il protocollo %1 non supporta la creazione di nuove cartelle;The protocol `%1' does not support creating new directories Q3UrlOperatorhIl protocollo %1 non supporta la ricezione di file0The protocol `%1' does not support getting files Q3UrlOperatorxIl protocollo %1 non supporta l'elencazione delle cartelle6The protocol `%1' does not support listing directories Q3UrlOperator^Il protocollo %1 non supporta l'invio di file0The protocol `%1' does not support putting files Q3UrlOperator~Il protocollo %1 non supporta la rimozione di file o cartelle@The protocol `%1' does not support removing files or directories Q3UrlOperator|Il protocollo %1 non supporta la rinomina di file o cartelle@The protocol `%1' does not support renaming files or directories Q3UrlOperatorFIl protocollo %1 non supportato"The protocol `%1' is not supported Q3UrlOperatorA&nnulla&CancelQ3Wizard &Fine&FinishQ3Wizard Ai&uto&HelpQ3Wizard&Avanti >&Next >Q3Wizard< &Indietro< &BackQ3Wizard*Connessione rifiutataConnection refusedQAbstractSocket Host non trovatoHost not foundQAbstractSocket0Il socket non connessoSocket is not connectedQAbstractSocket8Operazione di socket scadutaSocket operation timed outQAbstractSocket &Seleziona tutto &Select AllQAbstractSpinBox AttivaActivate QApplicationVAttiva la finestra principale del programma#Activates the program's main window QApplication`L'eseguibile %1 richiede Qt %2, trovate Qt %3.,Executable '%1' requires Qt %2, found Qt %3. QApplicationFErrore di libreria Qt incompatibileIncompatible Qt Library Error QApplicationLTRQT_LAYOUT_DIRECTION QApplicationSelezionaCheck QCheckBoxCommutaToggle QCheckBoxDeselezionaUncheck QCheckBoxD&Aggiungi ai colori personalizzati&Add to Custom Colors QColorDialogColori di &base &Basic colors QColorDialog,&Colori personalizzati&Custom colors QColorDialog&Verde:&Green: QColorDialog&Rosso:&Red: QColorDialog &Sat:&Sat: QColorDialog &Val:&Val: QColorDialogCanale a&lpha:A&lpha channel: QColorDialog Bl&u:Bl&ue: QColorDialog T&on:Hu&e: QColorDialog Seleziona colore Select color QColorDialog ChiudiClose QComboBox FalsoFalse QComboBoxApriOpen QComboBoxVeroTrue QComboBox%1: esiste gi%1: already existsQCoreApplication%1: non esiste%1: doesn't existsQCoreApplication*%1: ftok non riuscito%1: ftok failedQCoreApplication*%1: la chiave vuota%1: key is emptyQCoreApplication2%1: risorse insufficienti%1: out of resourcesQCoreApplication&%1: permesso negato%1: permission deniedQCoreApplication@%1: impossibile creare la chiave%1: unable to make keyQCoreApplication2%1: errore sconosciuto %2%1: unknown error %2QCoreApplicationHImpossibile applicare la transazioneUnable to commit transaction QDB2Driver.Impossibile connettersiUnable to connect QDB2DriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QDB2DriverDImpossibile impostare l'autocommitUnable to set autocommit QDB2DriverDImpossibile associare la variabileUnable to bind variable QDB2ResultBImpossibile eseguire l'istruzioneUnable to execute statement QDB2Result>Impossibile recuperare il primoUnable to fetch first QDB2ResultDImpossibile recuperare il prossimoUnable to fetch next QDB2ResultBImpossibile ottenere il record %1Unable to fetch record %1 QDB2ResultBImpossible preparare l'istruzioneUnable to prepare statement QDB2ResultAM QDateTimeEditPM QDateTimeEditam QDateTimeEditpm QDateTimeEditQDialQDialSliderHandle SliderHandleQDialSpeedoMeter SpeedoMeterQDialCompletatoDoneQDialog Cos'? What's This?QDialog&No&NoQDialogButtonBox&OK&OKQDialogButtonBox&S&YesQDialogButtonBoxInterrompiAbortQDialogButtonBoxApplicaApplyQDialogButtonBoxAnnullaCancelQDialogButtonBox ChiudiCloseQDialogButtonBox(Chiudi senza salvareClose without SavingQDialogButtonBox ScartaDiscardQDialogButtonBoxNon salvare Don't SaveQDialogButtonBox AiutoHelpQDialogButtonBox IgnoraIgnoreQDialogButtonBoxN&o a tutti N&o to AllQDialogButtonBoxOKQDialogButtonBoxApriOpenQDialogButtonBoxRipristinaResetQDialogButtonBox:Ripristina valori predefinitiRestore DefaultsQDialogButtonBoxRiprovaRetryQDialogButtonBox SalvaSaveQDialogButtonBoxSalva tuttoSave AllQDialogButtonBoxS &a tutti  Yes to &AllQDialogButtonBox Data di modifica Date Modified QDirModel SpecieKind QDirModelNomeName QDirModelDimensioneSize QDirModelTipoType QDirModel ChiudiClose QDockWidgetAgganciaDock QDockWidget MobileFloat QDockWidgetMenoLessQDoubleSpinBoxPiMoreQDoubleSpinBox&OK QErrorMessage>Mo&stra ancora questo messaggio&Show this message again QErrorMessage&Messaggio di debug:Debug Message: QErrorMessageErrore grave: Fatal Error: QErrorMessageAvviso:Warning: QErrorMessage%1 Cartella non trovata. Verifica che sia stato fornito il nome corretto della cartella.K%1 Directory not found. Please verify the correct directory name was given. QFileDialog%1 File non trovato. Verifica che sia stato fornito il nome file corretto.A%1 File not found. Please verify the correct file name was given. QFileDialog@%1 gi esiste. Vuoi sostituirlo?-%1 already exists. Do you want to replace it? QFileDialogS&cegli&Choose QFileDialog&Elimina&Delete QFileDialog&Nuova cartella &New Folder QFileDialog &Apri&Open QFileDialog&Rinomina&Rename QFileDialog &Salva&Save QFileDialogl%1 protetto da scrittua. Vuoi eliminarlo comunque?9'%1' is write protected. Do you want to delete it anyway? QFileDialog Tutti i file (*) All Files (*) QFileDialogFSei sicuro di voler eliminare '%1'?!Are sure you want to delete '%1'? QFileDialogIndietroBack QFileDialogDImpossibile eliminare la cartella.Could not delete directory. QFileDialog&Crea nuova cartellaCreate New Folder QFileDialog"Vista dettagliata Detail View QFileDialogCartelle Directories QFileDialogCartella: Directory: QFileDialog DiscoDrive QFileDialogFile QFileDialog&Nome file: File &name: QFileDialogFile di tipo:Files of type: QFileDialogTrova cartellaFind Directory QFileDialog AvantiForward QFileDialogVista a elenco List View QFileDialogCerca in:Look in: QFileDialog(Risorse del computer My Computer QFileDialogNuova cartella New Folder QFileDialogApriOpen QFileDialog$Cartella genitriceParent Directory QFileDialogRimuoviRemove QFileDialogSalva comeSave As QFileDialog MostraShow  QFileDialog*Mos&tra file nascostiShow &hidden files QFileDialogSconosciutoUnknown QFileDialog %1 GB%1 GBQFileSystemModel %1 KB%1 KBQFileSystemModel %1 MB%1 MBQFileSystemModel %1 TB%1 TBQFileSystemModel%1 byte%1 bytesQFileSystemModel <b>Il nome "%1" non pu essere utilizzato.</b><p>Prova a utilizzare un altro nome, con meno caratteri e nessun segno di punteggiatura.oThe name "%1" can not be used.

Try using another name, with fewer characters or no punctuations marks.QFileSystemModelComputerQFileSystemModel Data di modifica Date ModifiedQFileSystemModel(Nome file non validoInvalid filenameQFileSystemModel SpecieKindQFileSystemModel(Risorse del computer My ComputerQFileSystemModelNomeNameQFileSystemModelDimensioneSizeQFileSystemModelTipoTypeQFileSystemModelQualunqueAny QFontDatabase AraboArabic QFontDatabase ArmenoArmenian QFontDatabaseBengaleseBengali QFontDatabaseGrassettoBold QFontDatabaseCirillicoCyrillic QFontDatabaseDemi QFontDatabaseDemi grassetto Demi Bold QFontDatabase Devanagari QFontDatabaseGeorgianoGeorgian QFontDatabase GrecoGreek QFontDatabaseGujarati QFontDatabaseGurmukhi QFontDatabase EbreoHebrew QFontDatabaseCorsivoItalic QFontDatabaseGiapponeseJapanese QFontDatabaseKannada QFontDatabaseKhmer QFontDatabaseCoreanoKorean QFontDatabaseLao QFontDatabase LatinoLatin QFontDatabase Malayalam QFontDatabaseMyanmar QFontDatabaseNormaleNormal QFontDatabaseObliquoOblique QFontDatabaseOgham QFontDatabaseOriya QFontDatabase RunicoRunic QFontDatabase&Cinese semplificatoSimplified Chinese QFontDatabaseSinhala QFontDatabaseSimboloSymbol QFontDatabaseSirianoSyriac QFontDatabaseTamil QFontDatabaseTelugu QFontDatabaseThaana QFontDatabaseThaiThai QFontDatabaseTibetanoTibetan QFontDatabase&Cinese tradizionaleTraditional Chinese QFontDatabaseVietnamita Vietnamese QFontDatabase&Carattere&Font QFontDialogDimen&sione&Size QFontDialogS&ottolineato &Underline QFontDialogEffettiEffects QFontDialog(S&tile del carattere Font st&yle QFontDialogEsempioSample QFontDialog&Seleziona carattere Select Font QFontDialogS&barrato Stri&keout QFontDialog(S&istema di scrittuaWr&iting System QFontDialogJCambiamento cartella non riuscito: %1Changing directory failed: %1QFtp(Connessione all'hostConnected to hostQFtp.Connessione all'host %1Connected to host %1QFtpJConnessione all'host non riuscita: %1Connecting to host failed: %1QFtp$Connessione chiusaConnection closedQFtpZConnessione rifiutata per la connessione dati&Connection refused for data connectionQFtpBConnessione all'host %1 rifiutataConnection refused to host %1QFtp.Connessione a %1 chiusaConnection to %1 closedQFtpFCreazione cartella non riuscita: %1Creating directory failed: %1QFtpDScaricamento file non riuscito: %1Downloading file failed: %1QFtp"Trovato l'host %1 Host %1 foundQFtp&Host %1 non trovatoHost %1 not foundQFtpHost trovato Host foundQFtpVElencazione della cartella non riuscita: %1Listing directory failed: %1QFtp0Accesso non riuscito: %1Login failed: %1QFtpNon connesso Not connectedQFtpFRimozione cartella non riuscita: %1Removing directory failed: %1QFtp>Rimozione file non riuscita: %1Removing file failed: %1QFtp$Errore sconosciuto Unknown errorQFtp6Invio file non riuscito: %1Uploading file failed: %1QFtp$Errore sconosciuto Unknown error QHostInfo Host non trovatoHost not foundQHostInfoAgent:Tipo di indirizzo sconosciutoUnknown address typeQHostInfoAgent$Errore sconosciuto Unknown errorQHostInfoAgent0Autenticazione richiestaAuthentication requiredQHttp(Connessione all'hostConnected to hostQHttp.Connessione all'host %1Connected to host %1QHttp$Connessione chiusaConnection closedQHttp*Connessione rifiutataConnection refusedQHttpNConnessione rifiutata (o tempo scaduto)!Connection refused (or timed out)QHttp.Connessione a %1 chiusaConnection to %1 closedQHttp Dati danneggiatiData corruptedQHttp6Richiesta HTTP non riuscitaHTTP request failedQHttpRichiesta una connessione HTTPS, ma il supporto SSL non stato compilato:HTTPS connection requested but SSL support not compiled inQHttpHost %1 trovato Host %1 foundQHttp&Host %1 non trovatoHost %1 not foundQHttpHost trovato Host foundQHttp@L'host richiede l'autenticazioneHost requires authenticationQHttpJContenutoHTTP spezzettato non validoInvalid HTTP chunked bodyQHttpVIntestazione della risposta HTTP non validaInvalid HTTP response headerQHttpTNessun server impostato per la connessioneNo server set to connect toQHttp<Richiesta autenticazione proxyProxy authentication requiredQHttpDIl proxy richiede l'autenticazioneProxy requires authenticationQHttp(Richiesta interrottaRequest abortedQHttp:Negoziazione SSL non riuscitaSSL handshake failedQHttpnIl server ha terminato inaspettatamente la connessione %Server closed connection unexpectedlyQHttp$Errore sconosciuto Unknown errorQHttpDProtocollo specificato sconosciutoUnknown protocol specifiedQHttpHLunghezza del contenuto non correttaWrong content lengthQHttp0Autenticazione richiestaAuthentication requiredQHttpSocketEngineDImpossibile avviare la transazioneCould not start transaction QIBaseDriver>Errore di apertura del databaseError opening database QIBaseDriverHImpossibile applicare la transazioneUnable to commit transaction QIBaseDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QIBaseDriverFImpossibile descrivere l'istruzioneCould not describe statement QIBaseResultVImpossibile recuperare il prossimo elementoCould not fetch next item QIBaseResult<Impossibile trovare il vettoreCould not find array QIBaseResultNImpossibile ottenere il vettore di datiCould not get array data QIBaseResultDImpossibile preparare l'istruzioneCould not prepare statement QIBaseResultFImpossibile iniziare la transazioneCould not start transaction QIBaseResultBImpossibile chiudere l'istruzioneUnable to close statement QIBaseResult.Impossibile creare BLOBUnable to create BLOB QIBaseResult:Impossibile eseguire la queryUnable to execute query QIBaseResult.Impossibile aprire BLOBUnable to open BLOB QIBaseResult0Impossibile leggere BLOBUnable to read BLOB QIBaseResult2Impossibile scrivere BLOBUnable to write BLOB QIBaseResultHNon rimasto spazio sul dispositivoNo space left on device QIODevice,Nessun file o cartellaNo such file or directory QIODevicePermesso negatoPermission denied QIODevice$Troppi file apertiToo many open files QIODevice$Errore sconosciuto Unknown error QIODevice<Metodo di inserimento Mac OS XMac OS X input method QInputContext:Metodo di inserimento WindowsWindows input method QInputContextXIM QInputContext2Metodo di inserimento XIMXIM input method QInputContextMancata corrispondenza dei dati di verifica dell'estensione in '%1')Plugin verification data mismatch in '%1'QLibrary`QLibrary::load_sys: Impossibile caricare %1 (%2)'QLibrary::load_sys: Cannot load %1 (%2)QLibraryvQLibrary::resolve_sys: Simbolo "%1" non definito in %2 (%3)7QLibrary::resolve_sys: Symbol "%1" undefined in %2 (%3)QLibraryfQLibrary::unload_sys: Impossibile rimuovere %1 (%2)+QLibrary::unload_sys: Cannot unload %1 (%2)QLibraryVIl file %1 non un'estensione Qt valida.'The file '%1' is not a valid Qt plugin.QLibraryIl plugin '%1' utilizza librerie QT non compatibili. (%2.%3.%4) [%5]=The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]QLibraryL'estensione %1 utilizza una libreria Qt incompatibile. (Non possibile mischiare librerie di debug e di rilascio.)WThe plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)QLibraryTLa libreria condivisa non stata trovata.!The shared library was not found.QLibrary$Errore sconosciuto Unknown errorQLibrary &Copia&Copy QLineEdit&Incolla&Paste QLineEdit &Rifai&Redo QLineEditA&nnulla&Undo QLineEdit&TagliaCu&t QLineEditEliminaDelete QLineEditSeleziona tutto Select All QLineEdit(%1: Indirizzo in uso%1: Address in use QLocalServer&%1: Errore nel nome%1: Name error QLocalServer&%1: Permesso negato%1: Permission denied QLocalServer2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalServer2%1: Errore di connessione%1: Connection error QLocalSocket2%1: Connessione rifiutata%1: Connection refused QLocalSocket8%1: Datagramma troppo grande%1: Datagram too large QLocalSocket&%1: Nome non valido%1: Invalid name QLocalSocket>%1: Errore di accesso al socket%1: Socket access error QLocalSocket2%1: Errore sconosciuto %2%1: Unknown error %2 QLocalSocketFImpossibile iniziare la transazioneUnable to begin transaction QMYSQLDriverdImpossibile effettuare il commit della transazioneUnable to commit transaction QMYSQLDriver.Impossibile connettersiUnable to connect QMYSQLDriver@Impossibile aprire il database 'Unable to open database ' QMYSQLDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QMYSQLDriver>Impossibile associare il valoreUnable to bind value QMYSQLResultPImpossibile eseguire la query successivaUnable to execute next query QMYSQLResult:Impossibile eseguire la queryUnable to execute query QMYSQLResultBImpossibile eseguire l'istruzioneUnable to execute statement QMYSQLResult6Impossibile ottenere i datiUnable to fetch data QMYSQLResultDImpossibile preparare l'istruzioneUnable to prepare statement QMYSQLResultJImpossibile ripristinare l'istruzioneUnable to reset statement QMYSQLResultFImpossibile memorizzare i risultatiUnable to store result QMYSQLResult(Senza titolo) (Untitled)QMdiArea%1 - [%2] %1 - [%2] QMdiSubWindow&Chiudi&Close QMdiSubWindowS&posta&Move QMdiSubWindow&Ripristina&Restore QMdiSubWindowDimen&sione&Size QMdiSubWindow - [%1]- [%1] QMdiSubWindow ChiudiClose QMdiSubWindow AiutoHelp QMdiSubWindowMassimi&zza Ma&ximize QMdiSubWindowMassimizzaMaximize QMdiSubWindowMenuMenu QMdiSubWindowMi&nimizza Mi&nimize QMdiSubWindowMinizzaMinimize QMdiSubWindow&Ripristina in basso Restore Down QMdiSubWindow,Sempre in &primo piano Stay on &Top QMdiSubWindow ChiudiCloseQMenu EseguiExecuteQMenuApriOpenQMenuB<p>Questo programma utilizza la versione Qt Open Source Edition %1.</p><p>Qt Open Source Edition destinata allo sviluppo di applicazioni Open Source. Per lo sviluppo di applicazioni proprietarie (sorgente chiuso) necessario disporre di una licenza Qt commerciale.</p><p>Vedere <a href="http://www.trolltech.com/company/model/">www.trolltech.com/company/model/</a> per una panoramica del sistema di licenze Qt.</p>|

This program uses Qt Open Source Edition version %1.

Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.

Please see www.trolltech.com/company/model/ for an overview of Qt licensing.

 QMessageBoxl<p>Questo programma utilizza la versione %1 di Qt.</p>'

This program uses Qt version %1.

 QMessageBox$Informazioni su QtAbout Qt QMessageBox AiutoHelp QMessageBox(Nascondi dettagli...Hide Details... QMessageBoxOK QMessageBox$Mostra dettagli...Show Details... QMessageBoxSeleziona IM Select IMQMultiInputContextfUn altro socket gi in ascolto sulla stessa porta4Another socket is already listening on the same portQNativeSocketEngine*Connessione rifiutataConnection refusedQNativeSocketEngine>Connessione fuori tempo massimoConnection timed outQNativeSocketEngineHDatagramma troppo grande per l'invioDatagram was too large to sendQNativeSocketEngine,Host non raggiungibileHost unreachableQNativeSocketEngine@Descrittore di socket non validoInvalid socket descriptorQNativeSocketEngineErrore di rete Network errorQNativeSocketEngineLOperazione di rete fuori tempo massimoNetwork operation timed outQNativeSocketEngine,Rete non raggiungibileNetwork unreachableQNativeSocketEngine*Risorse insufficientiOut of resourcesQNativeSocketEnginePermesso negatoPermission deniedQNativeSocketEngineBTipo di protocollo non supportatoProtocol type not supportedQNativeSocketEngine:L'indirizzo non disponibileThe address is not availableQNativeSocketEngine,L'indirizzo protettoThe address is protectedQNativeSocketEngineLL'indirizzo associato gi utilizzato#The bound address is already in useQNativeSocketEngineRL'host remoto ha terminato la connessione%The remote host closed the connectionQNativeSocketEngineBImpossibile ricevere un messaggioUnable to receive a messageQNativeSocketEngine@Impossibile inviare un messaggioUnable to send a messageQNativeSocketEngine(Impossibile scrivereUnable to writeQNativeSocketEngine$Errore sconosciuto Unknown errorQNativeSocketEngineFOperazione su socket non supportataUnsupported socket operationQNativeSocketEnginebImpossibile aprire %1: il percorso una cartella#Cannot open %1: Path is a directoryQNetworkAccessFileBackendHErrore in fase di apertura di %1: %2Error opening %1: %2QNetworkAccessFileBackend6Errore di lettura da %1: %2Read error reading from %1: %2QNetworkAccessFileBackendXRichiesta di apertura del file non locale %1%Request for opening non-local file %1QNetworkAccessFileBackendJErrore in fase di scrittura di %1: %2Write error writing to %1: %2QNetworkAccessFileBackendJImpossibile aprire %1: una cartellaCannot open %1: is a directoryQNetworkAccessFtpBackendErrore durante lo scaricamento di %1 - il server ha risposto: %2)Error downloading %1 - server replied: %2 QNetworkReply@Il protocollo "%1" sconosciutoProtocol "%1" is unknown QNetworkReply(Operazione annullataOperation canceledQNetworkReplyImplFImpossibile iniziare la transazioneUnable to begin transaction QOCIDriver2Impossibile inizializzareUnable to initialize QOCIDriver(Impossibile accedereUnable to logon QOCIDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QOCIDriver>Impossibile associare il valoreUnable to bind value QOCIResult\Impossibile eseguire l'istruzione di selezione"Unable to execute select statement QOCIResultBImpossibile eseguire l'istruzioneUnable to execute statement QOCIResultBImpossible preparare l'istruzioneUnable to prepare statement QOCIResultdImpossibile effettuare il commit della transazioneUnable to commit transaction QODBCDriver.Impossibile connettersiUnable to connect QODBCDriverImpossibile connettersi - Il driver non supporta tutte le funzionalit richiesteCUnable to connect - Driver doesn't support all needed functionality QODBCDriverJImpossibile disabilitare l'autocommitUnable to disable autocommit QODBCDriverDImpossibile abilitare l'autocommitUnable to enable autocommit QODBCDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QODBCDriverQODBCResult::reset: Impossibile impostare 'SQL_CURSOR_STATIC' come attributo dell'istruzione. Controlla la configurazione del driver ODBCyQODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration QODBCResultDImpossibile associare la variabileUnable to bind variable QODBCResultBImpossibile eseguire l'istruzioneUnable to execute statement QODBCResult>Impossibile recuperare il primoUnable to fetch first QODBCResultDImpossibile recuperare il prossimoUnable to fetch next QODBCResultDImpossibile preparare l'istruzioneUnable to prepare statement QODBCResult$URI non valido: %1Invalid URI: %1QObject>Operazione non supportata su %1Operation not supported on %1QObject6Errore di lettura da %1: %2Read error reading from %1: %2QObject:Errore di scrittura su %1: %2Write error writing to %1: %2QObjectNomeNameQPPDOptionsModel ValoreValueQPPDOptionsModelFImpossibile iniziare la transazioneCould not begin transaction QPSQLDriverBImpossibile appliare l'istruzioneCould not commit transaction QPSQLDriverhImpossibile effettuare il rollback della transazioneCould not rollback transaction QPSQLDriver.Impossibile connettersiUnable to connect QPSQLDriver0Impossibile creare queryUnable to create query QPSQLResultOrizzontale LandscapeQPageSetupWidget$Dimensioni pagina: Page size:QPageSetupWidgetOrigine carta: Paper source:QPageSetupWidgetVerticalePortraitQPageSetupWidgetDL'estensione non stata caricata.The plugin was not loaded. QPluginLoader$Errore sconosciuto Unknown error QPluginLoaderF%1 esiste gi. Vuoi sovrascriverlo?/%1 already exists. Do you want to overwrite it? QPrintDialogT%1 una cartella. Scegli un nome diverso.7%1 is a directory. Please choose a different file name. QPrintDialog&Opzioni << &Options << QPrintDialog&Opzioni >> &Options >> QPrintDialogStam&pa&Print QPrintDialogA0 QPrintDialogA1 QPrintDialogA2 QPrintDialogA3 QPrintDialogA4 QPrintDialogA5 QPrintDialogA6 QPrintDialogA7 QPrintDialogA8 QPrintDialogA9 QPrintDialogAlias: %1 Aliases: %1 QPrintDialogB0 QPrintDialogB1 QPrintDialogB10 QPrintDialogB2 QPrintDialogB3 QPrintDialogB4 QPrintDialogB5 QPrintDialogB6 QPrintDialogB7 QPrintDialogB8 QPrintDialogB9 QPrintDialogC5E QPrintDialogPersonalizzatoCustom QPrintDialogDLE QPrintDialogrIl file %1 non scrivibile. Scegli un nome file diverso.=File %1 is not writable. Please choose a different file name. QPrintDialogLetteraLetter QPrintDialogFile locale Local file QPrintDialog"Stampa su file...Print To File ... QPrintDialog(Stampa su file (PDF)Print to File (PDF) QPrintDialog6Stampa su file (Postscript)Print to File (Postscript) QPrintDialog&connessa localmentelocally connected QPrintDialogsconosciutounknown QPrintDialog ChiudiCloseQPrintPreviewDialogOrizzontale LandscapeQPrintPreviewDialog&Impostazioni pagina Page setupQPrintPreviewDialogVerticalePortraitQPrintPreviewDialog StampaPrintQPrintPreviewDialogMostra pagineShow facing pagesQPrintPreviewDialogJMostra l'anteprima di tutte le pagineShow overview of all pagesQPrintPreviewDialog*Mostra pagina singolaShow single pageQPrintPreviewDialogAvanzateAdvancedQPrintPropertiesWidget ModuloFormQPrintPropertiesWidget PaginaPageQPrintPropertiesWidgetFascicolaCollateQPrintSettingsOutput ColoreColorQPrintSettingsOutputModalit colore Color ModeQPrintSettingsOutput CopieCopiesQPrintSettingsOutput Copie:Copies:QPrintSettingsOutput&Stampa fronte/retroDuplex PrintingQPrintSettingsOutput ModuloFormQPrintSettingsOutputScala di grigio GrayscaleQPrintSettingsOutputLato lungo Long sideQPrintSettingsOutputNessunaNoneQPrintSettingsOutputOpzioniOptionsQPrintSettingsOutput*Impostazioni d'uscitaOutput SettingsQPrintSettingsOutputPagine da Pages fromQPrintSettingsOutputStampa tutto Print allQPrintSettingsOutput(Intervallo di stampa Print rangeQPrintSettingsOutputInversaReverseQPrintSettingsOutputSelezione SelectionQPrintSettingsOutputLato corto Short sideQPrintSettingsOutputatoQPrintSettingsOutput &Nome:&Name: QPrintWidget...... QPrintWidget ModuloForm QPrintWidgetPosizione: Location: QPrintWidget &File di uscita: Output &file: QPrintWidgetP&ropriet P&roperties QPrintWidgetAnteprimaPreview QPrintWidgetStampantePrinter QPrintWidget Tipo:Type: QPrintWidgetAnnullaCancelQProgressDialogApriOpen QPushButtonSelezionaCheck QRadioButton0valore ottale non validoinvalid octal valueQRegExp<delimitatore sinistro mancantemissing left delimQRegExp@non si verificato alcun erroreno error occurredQRegExpfine inattesaunexpected endQRegExpNErrore in fase di apertura del databaseError to open databaseQSQLite2DriverDImpossibile inizare la transazioneUnable to begin transactionQSQLite2DriverDImpossibile applicare l'istruzioneUnable to commit transactionQSQLite2DriverhImpossibile effettuare il rollback della transazioneUnable to rollback TransactionQSQLite2DriverBImpossibile eseguire l'istruzioneUnable to execute statementQSQLite2Result<Impossibile ottenere risultatiUnable to fetch resultsQSQLite2ResultNErrore in fase di chiusura del databaseError closing database QSQLiteDriverNErrore in fase di apertura del databaseError opening database QSQLiteDriverFImpossibile iniziare la transazioneUnable to begin transaction QSQLiteDriverDImpossibile applicare l'istruzioneUnable to commit transaction QSQLiteDriverhImpossibile effettuare il rollback della transazioneUnable to rollback transaction QSQLiteDriverNIl numero dei parametri non corrispondeParameter count mismatch QSQLiteResultBImpossibile associare i parametriUnable to bind parameters QSQLiteResultBImpossibile eseguire l'istruzioneUnable to execute statement QSQLiteResult8Impossibile ottenere la rigaUnable to fetch row QSQLiteResultJImpossibile ripristinare l'istruzioneUnable to reset statement QSQLiteResultIn bassoBottom QScrollBarBordo sinistro Left edge QScrollBarPagina gi Page down QScrollBarPagina sinistra Page left QScrollBarPagina destra Page right QScrollBarPagina suPage up QScrollBarPosizionePosition QScrollBarBordo destro Right edge QScrollBar(Scorrimento in basso Scroll down QScrollBarScorri qui Scroll here QScrollBar,Scorrimento a sinistra Scroll left QScrollBar(Scorrimento a destra Scroll right QScrollBar&Scorrimento in alto Scroll up QScrollBarIn altoTop QScrollBar+ QShortcutAlt QShortcutIndietroBack QShortcut ChiamaCall QShortcutBloc Maiusc Caps Lock QShortcutBlocMaiuscCapsLock QShortcutContesto1Context1 QShortcutContesto2Context2 QShortcutContesto3Context3 QShortcutContesto4Context4 QShortcutCtrl QShortcutCancDel QShortcutCancDelete QShortcutGiDown QShortcutFineEnd QShortcut InvioEnter QShortcutEsc QShortcutEscEscape QShortcutF%1F%1 QShortcutPreferiti Favorites QShortcut AvantiForward QShortcutRiagganciaHangup QShortcut AiutoHelp QShortcutHomeHome QShortcutPagina iniziale Home Page QShortcutIns QShortcutInsInsert QShortcutSinistraLeft QShortcutMenu QShortcutMeta QShortcutNo QShortcutBllocc NumNum Lock QShortcutBlocNumNumLock QShortcut(Blocco tast numerico Number Lock QShortcutApri URLOpen URL QShortcutPag Gi Page Down QShortcut Pag SuPage Up QShortcut PausaPause QShortcut PagGiPgDown QShortcut PagSuPgUp QShortcut StampPrint QShortcutStampa schermo Print Screen QShortcutAggiornaRefresh QShortcut InvioReturn QShortcut DestraRight QShortcutBloc Scorr Scroll Lock QShortcutBlocScorr ScrollLock QShortcut CercaSearch QShortcutSelezionaSelect QShortcut MaiuscShift QShortcut SpazioSpace QShortcut FermaStop QShortcut R sistSysReq QShortcut R sistSystem Request QShortcutTab QShortcutSuUp QShortcutRiduci volume Volume Down QShortcutSilenzia volume Volume Mute QShortcutAumenta volume Volume Up QShortcutSYes QShortcutPagina gi Page downQSliderPagina sinistra Page leftQSliderPagina destra Page rightQSliderPagina suPage upQSliderPosizionePositionQSliderLOperazione di rete fuori tempo massimoNetwork operation timed outQSocks5SocketEnginebConnessione al server Socks5 fuori tempo massimo /Socks5 timeout error connecting to socks serverQSocks5SocketEngineMenoLessQSpinBoxPiMoreQSpinBoxAnnullaCancelQSql.Annullare le modifiche?Cancel your edits?QSqlConfermaConfirmQSqlEliminaDeleteQSql>Eliminare questa registrazione?Delete this record?QSqlInserisciInsertQSqlNoQSql*Salvare le modifiche? Save edits?QSqlAggiornaUpdateQSqlSYesQSqlfImpossibile fornire un certificato senza chiave, %1,Cannot provide a certificate with no key, %1 QSslSocketbErrore in fase di creazione del contesto SSL (%1)Error creating SSL context (%1) QSslSocketdErrore durante la creazione della sessione SSL, %1Error creating SSL session, %1 QSslSocketdErrore durante la creazione della sessione SSL: %1Error creating SSL session: %1 QSslSocketDErrore durante l'handshake SSL: %1Error during SSL handshake: %1 QSslSocket`Errore di caricamento del certificato locale, %1#Error loading local certificate, %1 QSslSocket\Errore di caricamento della chiave privata, %1Error loading private key, %1 QSslSocket:Errore in fase di lettura: %1Error while reading: %1 QSslSocketTLista di cifratura non valida o vuota (%1)!Invalid or empty cipher list (%1) QSslSocketlLa chiave privata non certifica la chiave pubblica, %1/Private key does not certificate public key, %1 QSslSocket>Impossibile scrivere i dati: %1Unable to write data: %1 QSslSocketBImpossibile aprire la connessioneUnable to open connection QTDSDriverDImpossibile utilizzare il databaseUnable to use database QTDSDriver,Scorrimento a sinistra Scroll LeftQTabBar(Scorrimento a destra Scroll RightQTabBar &Copia&Copy QTextControl&Incolla&Paste QTextControl &Rifai&Redo QTextControlA&nnulla&Undo QTextControlBCopia posizione del co&llegamentoCopy &Link Location QTextControl&TagliaCu&t QTextControlEliminaDelete QTextControlSeleziona tutto Select All QTextControlApriOpen QToolButton PremiPress QToolButtonHQuesta piattaforma non supporta IPv6#This platform does not support IPv6 QUdpSocket RifaiRedo QUndoGroupAnnullaUndo QUndoGroup<vuoto> QUndoModel RifaiRedo QUndoStackAnnullaUndo QUndoStack<Impossibile visualizzare l'URLCannot show URL QWebFrameJImpossibile visualizzare il tipo mimeCannot show mimetype QWebFrame$Il file non esisteFile does not exist QWebFramepCaricamento frame interrotto da un cambiamento di regole&Frame load interruped by policy change QWebFrame"Richiest bloccataRequest blocked QWebFrame&Richiesta annullataRequest cancelled QWebFrame %1 (%2x%3 pixel)%1 (%2x%3 pixels)QWebPage,Aggiungi al dizionarioAdd To DictionaryQWebPage2Richiesta HTTP non validaBad HTTP requestQWebPageGrassettoBoldQWebPage(Controlla ortografiaCheck SpellingQWebPageZControlla l'ortografia durante la digitazioneCheck Spelling While TypingQWebPageScegli file Choose FileQWebPage CopiaCopyQWebPageCopia immagine Copy ImageQWebPage$Copia collegamento Copy LinkQWebPage TagliaCutQWebPagePredefinitaDefaultQWebPageDirezione DirectionQWebPageCaratteriFontsQWebPageIndietroGo BackQWebPage Avanti Go ForwardQWebPage IgnoraIgnoreQWebPage Ignora Ignore Grammar context menu itemIgnoreQWebPageCorsivoItalicQWebPage.Nessun file selezionatoNo file selectedQWebPageApri immagine Open ImageQWebPage"Apri collegamento Open LinkQWebPage4Apri in una nuova finestraOpen in New WindowQWebPageIncollaPasteQWebPage Ricerche recentiRecent searchesQWebPageRicaricaReloadQWebPageRipristinaResetQWebPageSalva immagine Save ImageQWebPage*Salva collegamento... Save Link...QWebPageCerca nel WebSearch The WebQWebPage FermaStopQWebPage InviaSubmitQWebPage InviaQSubmit (input element) alt text for elements with no alt, title, or valueSubmitQWebPageQuesto l'indice ricercabile. Digita la parola chiave di ricerca: 3This is a searchable index. Enter search keywords: QWebPageSottolineato UnderlineQWebPageSconosciutaUnknownQWebPage*Analizzatore web - %2Web Inspector - %2QWebPage Cos'? What's This?QWhatsThisAction*QWidget &Fine&FinishQWizard Ai&uto&HelpQWizardAva&nti&NextQWizardAva&nti >&Next >QWizard< &Indietro< &BackQWizardAnnullaCancelQWizardApplicaCommitQWizardContinuaContinueQWizardCompletatoDoneQWizardIndietroGo BackQWizard AiutoHelpQWizardEsciQuitQWizard%1 - [%2] %1 - [%2] QWorkspace&Chiudi&Close QWorkspace&Sposta&Move QWorkspace&Ripristina&Restore QWorkspace&Dimensioni&Size QWorkspace&Srotola&Unshade QWorkspace ChiudiClose QWorkspaceMa&ssimizza Ma&ximize QWorkspaceMi&nimizza Mi&nimize QWorkspaceMinimizzaMinimize QWorkspace&Ripristina in basso Restore Down QWorkspace&ArrotolaSh&ade QWorkspace,Sempre in &primo piano Stay on &Top QWorkspaceperrore nella dichiarazione di testo di un'entit esterna3error in the text declaration of an external entityQXmlbriscontrato errore durante l'analisi del commento$error occurred while parsing commentQXmldriscontrato errore durante l'analisi del contenuto$error occurred while parsing contentQXmlriscontrato errore durante l'analisi della definizione del tipo di documento5error occurred while parsing document type definitionQXmldriscontrato errore durante l'analisi dell'elemento$error occurred while parsing elementQXmlhriscontrato errore durante l'analisi dei riferimenti&error occurred while parsing referenceQXml^nome dell'istruzione di elaborazione non valido'invalid name for processing instructionQXmlXpi di una definizione del tipo di documento&more than one document type definitionQXml@non si verificato alcun erroreno error occurredQXml entit ricorsiverecursive entitiesQXml,tag non corrispondente tag mismatchQXml$carattere inattesounexpected characterQXml$fine file inattesaunexpected end of fileQXmlR%1 un identificatore PUBLIC non valido.#%1 is an invalid PUBLIC identifier. QXmlStreamH%1 un nome di codifica non valido.%1 is an invalid encoding name. QXmlStream, ma ricevuto ' , but got ' QXmlStream*Attributo ridefinito.Attribute redefined. QXmlStream>La codifica %1 non supportataEncoding %1 is unsupported QXmlStreamfRiscontrato contenuto non codificato correttamente.(Encountered incorrectly encoded content. QXmlStream6Entit '%1' non dichiarata.Entity '%1' not declared. QXmlStreamAtteso  Expected  QXmlStreamZContenuto aggiuntivo alla fine del documento.!Extra content at end of document. QXmlStream2Carattere XML non valido.Invalid XML character. QXmlStream(Nome XML non valido.Invalid XML name. QXmlStreamFStringa di versione XML non valida.Invalid XML version string. QXmlStreamZAttributo non valido nella dichiarazione XML.%Invalid attribute in XML declaration. QXmlStream*Documento non valido.Invalid document. QXmlStream<Valore dell'entit non valido.Invalid entity value. QXmlStream^Prefisso di spazio dei nomi '%1' non dichiarato"Namespace prefix '%1' not declared QXmlStream<Fine imprevista del documento.Premature end of document. QXmlStream4Rilevata entit ricorsiva.Recursive entity detected. QXmlStreamZSequenza ']]>' non consentita nel contenuto.&Sequence ']]>' not allowed in content. QXmlStream(Atteso tag iniziale.Start tag expected. QXmlStreamInatteso ' Unexpected ' QXmlStream8Versione XML non supportata.Unsupported XML version. QXmlStreamhLa dichiarazione XML non all'inizio del documento.)XML declaration not at start of document. QXmlStream*%1 un %2 non valido%1 is an invalid %2 QtXmlPatterns@Un commento non pu contenere %1A comment cannot contain %1 QtXmlPatternsRUn commentio non pu terminare con un %1.A comment cannot end with a %1. QtXmlPatterns<La variabile %1 inutilizzataThe variable %1 is unused QtXmlPatterns vuotoempty QtXmlPatternsesattamente uno exactly one QtXmlPatternsuno o pi one or more QtXmlPatternszero o pi zero or more QtXmlPatternszero o uno zero or one QtXmlPatternsSilenziatoMuted VolumeSliderVolume: %1% Volume: %1% VolumeSliderIn bassoBottomWebCore::PlatformScrollbarBordo sinistro Left edgeWebCore::PlatformScrollbarPagina gi Page downWebCore::PlatformScrollbarPagina sinistra Page leftWebCore::PlatformScrollbarPagina destra Page rightWebCore::PlatformScrollbarPagina suPage upWebCore::PlatformScrollbarBordo destro Right edgeWebCore::PlatformScrollbar(Scorrimento in basso Scroll downWebCore::PlatformScrollbarScorri qui Scroll hereWebCore::PlatformScrollbar,Scorrimento a sinistra Scroll leftWebCore::PlatformScrollbar(Scorrimento a destra Scroll rightWebCore::PlatformScrollbar&Scorrimento in alto Scroll upWebCore::PlatformScrollbarIn altoTopWebCore::PlatformScrollbarConvertAll-0.8.0/translations/working/units_xx.dat000066400000000000000000000677711363574405500224020ustar00rootroot00000000000000#***************************************************************************** #units.dat, the units data file, version 0.6.1 # # ConvertAll, a units conversion program # Copyright (C) 2015, Douglas W. Bell # # This is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License, Version 2. This program is # distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. #***************************************************************************** # # Units are defined by an optional quantity and an equivalent unit or unit # combination. A Python expression may be used for the quantity, but is # restricted to using only the following operators: *, /, +, -, **, (, ). # Beware of integer division truncation: be sure to use a float for at least # one of the values. # # The unit type must be placed in square brackets before a set of units. The # first comment after the equivalent unit will be put in parenthesis after the # unit name (usually used to give the full name of an abbreviated unit). The # next comment will be used in the program list's comment column; later # comments and full line comments are ignored. # # Non-linear units are indicated with an equivalent unit in square brackets, # followed by either equations or equivalency lists for the definition. For # equations, two are given, separated by a ';'. Both are functions of "x", the # first going from the unit to the equivalent unit and the second one in # reverse. Any valid Python expression returning a float (including the # functions in the math module) should work. The equivalency list is a Python # list of tuples giving points for linear interpolation. # # All units must reduce to primitive units, which are indicated by an # equivalent unit starting with '!'. A special "unitless" primitve unit # (usualty called "unit") has '!!' for an equivalent unit. Circular references # must also be avoided. # # Primitive units: kg, m, s, K, A, mol, cd, rad, sr, bit, unit # ############################################################################## # # mass units # [mass] kg = ! # kilogram kilogram = kg key = kg # # drug slang hectogram = 100 gram dekagram = 10 gram gram = 0.001 kg g = gram # gram decigram = 0.1 gram centigram = 0.01 gram milligram = 0.001 gram mg = milligram # milligram microgram = 0.001 mg tonne = 1000 kg # # metric metric ton = tonne megagram = tonne kilotonne = 1000 tonne # # metric gigagram = 1e9 gram teragram = 1e12 gram carat = 0.2 gram ct = carat # carat amu = 1.66053873e-27 kg # atomic mass atomic mass unit = amu pound = 0.45359237 kg # # avoirdupois lb = pound # pound # avoirdupois lbm = pound # pound # avoirdupois ounce = 1/16.0 pound # # avoirdupois oz = ounce # ounce # avoirdupois lid = ounce # # drug slang dram = 1/16.0 ounce # # avoirdupois pound troy = 5760 grain lb troy = pound troy # pound troy ounce troy = 1/12.0 lb troy oz troy = ounce troy # ounce troy ton = 2000 lb # # non-metric kiloton = 1000 ton # # non-metric long ton = 2240 lb # # Imperial slug = lbf*s^2/ft stone = 14 lb grain = 1/7000.0 lb pennyweight = 24 grain hundredweight long = 112 lb # # Imperial hundredweight short = 100 lb # # US & Canada solar mass = 1.9891e30 kg # # length / distance units # [length] m = ! # meter meter = m metre = m dm = 0.1 m # decimeter decimeter = dm cm = 0.01 m # centimeter centimeter = cm mm = 0.001 m # millimeter millimeter = mm micrometer = 1e-6 m micron = micrometer nanometer = 1e-9 m nm = nanometer # nanometer dekameter = 10 m hectometer = 100 m km = 1000 m # kilometer kilometer = km megameter = 1000 km angstrom = 1e-10 m fermi = 1e-15 m # # nuclear sizes inch = 2.54 cm in = inch # inch inches = inch mil = 0.001 inch microinch = 1e-6 inch microinches = microinch foot = 12 inch ft = foot # foot feet = foot foot US survey = 1200/3937.0 m yard = 3 ft yd = yard # yard mile = 5280 ft # # statute mile mi = mile # mile # statute mile nautical mile = 1852 m nmi = nautical mile # nautical mile mile US survey = 5280 foot US survey league = 3 mile chain = 66 ft chain US survey = 66 foot US survey link = 0.01 chain fathom = 6 ft rod = 5.5 yard furlong = 40 rod hand = 4 inch cubit = 21.8 inch # # biblical unit point = 1/72.0 inch # # desktop publishing point pica = 12 point caliber = 1.0 inch # # bullet sizes rack unit = 1.75 in # # computing smoot = 67 inch football field = 100 yd marathon = 46145 yd mil Swedish = 10 km versta = 3500 ft # # Russian unit au = 1.49597870691e11 m # astronomical unit astronomical unit = au LD = 384400 km # lunar distance # astronomical lunar distance = LD # # astronomical distance light year = 365.25 light speed * day light minute = light speed * min light second = light speed * s parsec = 3.0856775813e16 m kiloparsec = 1000 parsec megaparsec = 1000 kiloparsec screw size = [in] 0.013*x + 0.06 ; (x - 0.06) / 0.013 \ # # Unified diameters, non-linear AWG Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Dia = [in] 92.0**((36-x)/39.0)/200.0 ; \ 36 - 39.0*log(200.0*x)/log(92.0) \ # # use -1, -2 for 00, 000; non-linear standard gauge = [in] [(-5, .448350), (1, .269010), (14, .0747250), \ (16, .0597800), (17, .0538020), (20, .0358680), \ (26, .0179340), (31, .0104615), (36, .00672525), \ (38, .00597800)] # steel \ # Manufacturers Std. Gauge, non-linear zinc gauge = [in] [(1, .002), (10, .02), (15, .04), (19, .06), \ (23, .1), (24, .125), (27, .5), (28, 1)] \ # # sheet metal thickness, non-linear ring size = [in] 0.1018*x + 1.4216 ; (x - 1.4216) / 0.1018 \ # # US size, circum., non-linear shoe size mens = [in] x/3.0 + 7 + 1/3.0 ; (x - 7 - 1/3.0) * 3 \ # # US sizes, non-linear shoe size womens = [in] x/3.0 + 6 + 5/6.0 ; (x - 6 - 5/6.0) * 3 \ # # US sizes, non-linear # # time units # [time] s = ! # second sec = s # second second = s ms = 0.001 s # millisecond millisecond = ms microsecond = 1e-6 s ns = 1e-9 s # nanosecond nanosecond = ns minute = 60 s min = minute # minute hour = 60 min hr = hour # hour bell = 30 min # # naval definition watch = 4 hour watches = watch day = 24 hr week = 7 day wk = week # week fortnight = 14 day month = 1/12.0 year year = 365.242198781 day yr = year # year calendar year = 365 day decade = 10 year century = 100 year centuries = century millennium = 1000 year millennia = millennium [scheduling] man hour = 168/40.0 hour man week = 40 man hour man month = 1/12.0 man year man year = 52 man week # # temperature # [temperature] K = ! # Kelvin Kelvin = K deg K = K # Kelvin degree Kelvin = K C = [K] x + 273.15 ; x - 273.15 # Celsius # non-linear Celsius = [K] x + 273.15 ; x - 273.15 # # non-linear deg C = [K] x + 273.15 ; x - 273.15 # Celsius # non-linear degree Celsius = [K] x + 273.15 ; x - 273.15 # # non-linear R = 5/9.0 K # Rankine Rankine = R deg R = R # Rankine F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non-linear Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non-linear deg F = [R] x + 459.67 ; x - 459.67 # Fahrenheit # non-linear degree Fahrenheit = [R] x + 459.67 ; x - 459.67 # # non-linear [temp. diff.] C deg = K # Celsius degree Celsius degree = C deg F deg = R # Fahrenheit deg. Fahrenheit degree = F deg # # electrical units # [current] A = ! # ampere ampere = A amp = A milliampere = 0.001 A milliamp = milliampere mA = milliampere # milliampere microampere = 0.001 mA kiloampere = 1000 A kA = kiloampere # kiloampere [charge] coulomb = A*s amp hour = A*hr mAh = 0.001 amp hour # milliamp hour milliamp hour = mAh [potential] volt = W/A V = volt # volt millivolt = 0.001 volt mV = millivolt # millivolt kilovolt = 1000 volt kV = kilovolt # kilovolt [resistance] ohm = V/A milliohm = 0.001 ohm microhm = 0.001 milliohm kilohm = 1000 ohm [conductance] siemens = A/V [capacitance] farad = coulomb/V millifarad = 0.001 farad microfarad = 0.001 millifarad nanofarad = 1e-9 farad picofarad = 1e-12 farad [magn. flux] weber = V*s Wb = weber # weber maxwell = 1e-8 Wb [inductance] henry = Wb/A H = henry # henry millihenry = 0.001 henry mH = millihenry # millihenry microhenry = 0.001 mH [flux density] tesla = Wb/m^2 T = tesla # tesla gauss = maxwell/cm^2 # # molecular units # [molecular qty] mol = ! # mole # gram mole mole = mol # # gram mole gram mole = mol kilomole = 1000 mol kmol = kilomole # kilomole pound mole = mol*lbm/gram lbmol = pound mole # pound mole [size of a mol] avogadro = gram/(amu*mol) # # Illumination units # [lum. intens.] cd = ! # candela candela = cd [luminous flux] lumen = cd * sr lm = lumen # lumen [illuminance] lux = lumen/m^2 footcandle = lumen/ft^2 metercandle = lumen/m^2 [luminance] lambert = cd/(pi*cm^2) millilambert = 0.001 lambert footlambert = cd/(pi*ft^2) # # angular units # [angle] radian = ! rad = radian # radian circle = 2 pi*radian turn = circle revolution = circle rev = revolution # revolution degree = 1/360.0 circle deg = degree # degree arc min = 1/60.0 degree # minute arc minute = arc min min arc = arc min # minute minute arc = arc min arc sec = 1/60.0 arc min # second arc second = arc sec sec arc = arc sec # second second arc = arc sec quadrant = 1/4.0 circle right angle = quadrant gradian = 0.01 quadrant # # solid angle units # [solid angle] sr = ! # steradian steradian = sr sphere = 4 pi*sr hemisphere = 1/2.0 sphere # # information units # [data] bit = ! kilobit = 1000 bit # # based on power of 10 megabit = 1000 kilobit # # based on power of 10 byte = 8 bit B = byte # byte kilobyte = 1024 byte # # based on power of 2 kB = kilobyte # kilobyte # based on power of 2 megabyte = 1024 kB # # based on power of 2 MB = megabyte # megabyte # based on power of 2 gigabyte = 1024 MB # # based on power of 2 GB = gigabyte # gigabyte # based on power of 2 terabyte = 1024 GB # # based on power of 2 TB = terabyte # terabyte # based on power of 2 petabyte = 1024 TB # # based on power of 2 PB = petabyte # petabyte # based on power of 2 kilobyte IEC std = 1000 byte # # based on power of 10 kB IEC std = kilobyte IEC std # kilobyte # based on power of 10 megabyte IEC std = 1000 kB IEC std # # based on power of 10 MB IEC std = megabyte IEC std # megabyte # based on power of 10 gigabyte IEC std = 1000 MB IEC std # # based on power of 10 GB IEC std = gigabyte IEC std # gigabyte # based on power of 10 terabyte IEC std = 1000 GB IEC std # # based on power of 10 TB IEC std = terabyte IEC std # terabyte # based on power of 10 petabyte IEC std = 1000 TB IEC std # # based on power of 10 PB IEC std = petabyte IEC std # petabyte # based on power of 10 kibibyte = 1024 byte KiB = kibibyte # kibibyte mebibyte = 1024 KiB MiB = mebibyte # mebibyte gibibyte = 1024 MiB GiB = gibibyte # gibibyte tebibyte = 1024 GiB TiB = tebibyte # tebibyte pebibyte = 1024 TiB PiB = pebibyte # pebibyte [data transfer] bps = bit/sec # bits / second kbps = 1000 bps # kilobits / sec. # based on power of 10 # # Unitless numbers # [quantity] unit = !! 1 = unit # unit pi = 3.14159265358979323846 unit pair = 2 unit hat trick = 3 unit # # sports dozen = 12 unit doz = dozen # dozen bakers dozen = 13 unit score = 20 unit gross = 144 unit great gross = 12 gross ream = 500 unit percent = 0.01 unit % = percent mill = 0.001 unit [interest rate] APR = [unit] log(1 + x/100) ; (exp(x) - 1)*100 \ # annual % rate # based on continuous compounding [concentration] proof = 1/200.0 unit # # alcohol content ppm = 1e-6 unit # parts per million parts per million = ppm ppb = 1e-9 unit # parts per billion parts per billion = ppb ppt = 1e-12 unit # parts per trillion parts per trillion = ppt karat = 1/24.0 unit # # gold purity carat gold = karat # # gold purity # # force units # [force] newton = kg*m/s^2 N = newton # newton dekanewton = 10 newton kilonewton = 1000 N kN = kilonewton # kilonewton meganewton = 1000 kN millinewton = 0.001 N dyne = cm*g/s^2 kg force = kg * gravity # kilogram f kgf = kg force # kilogram force kilogram force = kg force kp = kg force # kilopond kilopond = kg force gram force = g * gravity pound force = lbm * gravity # # avoirdupois lbf = pound force # pound force # avoirdupois ton force = ton * gravity ounce force = ounce * gravity ozf = ounce force # ounce force tonne force = tonne * gravity # # metric pdl = lbm * ft / sec^2 # poundal # Imperial force poundal = pdl # # Imperial force # # area units # [area] barn = 1e-28 m^2 # # particle physics are = 100 m^2 decare = 10 are dekare = 10 are hectare = 100 are stremma = 1000 m^2 acre = 10 chain^2 section = mile^2 township = 36 section homestead = 160 acre rai = 1600 m^2 # # Thai ngaan = 400 m^2 # # Thai circular inch = 1/4.0 pi*in^2 # # area of 1 inch circle circular mil = 1/4.0 pi*mil^2 # # area of 1 mil circle AWG Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # American Wire Gauge \ # use -1, -2 for 00, 000; non-linear American Wire Gauge Area = [in^2] pi/4*(92.0**((36-x)/39.0)/200.0)**2 ; \ 36 - 39.0*log(200.0*sqrt(x*4.0/pi))/log(92.0) \ # # use -1, -2 for 00, 000; non-linear # # volume units # [volume] cc = cm^3 # cubic centimeter cubic centimeter = cc liter = 1000 cc l = liter # liter litre = liter deciliter = 0.1 liter centiliter = 0.01 liter milliliter = cc ml = milliliter # milliliter microliter = 1e-6 liter dekaliter = 10 liter hectoliter = 100 liter kiloliter = 1000 liter kl = kiloliter # kiloliter megaliter = 1000 kiloliter gallon = 231 in^3 # # US liquid gal = gallon # gallon # US liquid quart = 1/4.0 gallon # # US liquid qt = quart # quart # US liquid pint = 1/2.0 quart # # US liquid pt = pint # pint # US liquid fluid ounce = 1/16.0 pint # # US fl oz = fluid ounce # fluid ounce # US ounce fluid = fluid ounce # # US fluid dram = 1/8.0 fluid ounce # # US minim = 1/480.0 fluid ounce # # US imperial gallon = 4.54609 liter imp gal = imperial gallon # imperial gallon gallon imperial = imperial gallon imperial quart = 1/4.0 imp gal imp qt = imperial quart # imperial quart quart imperial = imperial quart imperial pint = 1/8.0 imp gal imp pt = imperial pint # imperial pint pint imperial = imperial pint imperial fluid ounce = 1/160.0 imp gal imp fl oz = imperial fluid ounce # imperial fluid ounce imperial fluid dram = 1/8.0 imp fl oz imperial minim = 1/480.0 imp fl oz cup = 8 fl oz tablespoon = 1/16.0 cup tbsp = tablespoon # tablespoon teaspoon = 1/3.0 tbsp tsp = teaspoon # teaspoon barrel = 42 gallon bbl = barrel # barrel shot = 1.5 fl oz fifth = 1/5.0 gallon # # alcohol wine bottle = 750 ml magnum = 1.5 liter # # alcohol keg = 15.5 gallon # # beer hogshead wine = 63 gal hogshead beer = 54 gal bushel = 2150.42 in^3 peck = 1/4.0 bushel cord = 128 ft^3 board foot = ft^2*in board feet = board foot # # velocity units # [velocity] knot = nmi/hr kt = knot # knot light speed = 2.99792458e8 m/s mph = mi/hr # miles/hour kph = km/hr # kilometers/hour mach = 340.29 m/s # # speed sound at STP [rot. velocity] rpm = rev/min # rev/min rps = rev/sec # rev/sec # # flow rate units # [fluid flow] gph = gal/hr # gallons/hour gpm = gal/min # gallons/minute cfs = ft^3/sec # cu ft/second cfm = ft^3/min # cu ft/minute lpm = l/min # liter/min [gas flow] sccm = atm*cc/min # std cc/min # pressure * flow sccs = atm*cc/sec # std cc/sec # pressure * flow slpm = atm*l/min # std liter/min # pressure * flow slph = atm*l/hr # std liter/hour # pressure * flow scfh = atm*ft^3/hour # std cu ft/hour # pressure * flow scfm = atm*ft^3/min # std cu ft/min # pressure * flow # # pressure units # [pressure] Pa = N/m^2 # pascal pascal = Pa hPa = 100 Pa # hectopascal hectopascal = hPa kPa = 1000 Pa # kilopascal kilopascal = kPa MPa = 1000 kPa # megapascal megapascal = MPa GPa = 1000 MPa # gigapascal gigapascal = GPa atm = 101325 Pa # atmosphere atmosphere = atm bar = 1e5 Pa mbar = 0.001 bar # millibar millibar = mbar microbar = 0.001 mbar decibar = 0.1 bar kilobar = 1000 bar megabar = 1000 kilobar mm Hg = mm*density Hg*gravity millimeter of Hg = mm Hg torr = mm Hg micron of Hg = micron*density Hg*gravity in Hg = in*density Hg*gravity # inch of Hg inch of Hg = in Hg m water = m*density water*gravity # meter of H2O # fresh water m H2O = m water # meter of H2O # fresh water meter of water = m water # # fresh water in water = in*density water*gravity # inch of H2O # fresh water in H2O = in water # inch of H2O # fresh water inch of water = in water # # fresh water ft water = ft*density water*gravity # feet of H2O # fresh water ft H2O = ft water # feet of H20 # fresh water feet of water = ft water # # fresh water foot of head = ft water # # fresh water ft hd = ft water # foot of head # fresh water psi = lbf/in^2 # pound / sq inch pound per sq inch = psi ksi = 1000 psi # 1000 lb / sq inch # # density units # [density] density water = gram/cm^3 density sea water = 1.025 gram/cm^3 density Hg = 13.5950981 gram/cm^3 density air = 1.293 kg/m^3 # # at STP density steel = 0.283 lb/in^3 # # carbon steel density aluminum = 0.098 lb/in^3 density zinc = 0.230 lb/in^3 density brass = 0.310 lb/in^3 # # 80Cu-20Zn density copper = 0.295 lb/in^3 density iron = 0.260 lb/in^3 # # cast iron density nickel = 0.308 lb/in^3 density tin = 0.275 lb/in^3 density titanium = 0.170 lb/in^3 density silver = 0.379 lb/in^3 density nylon = 0.045 lb/in^3 density polycarbonate = 0.045 lb/in^3 # # energy units # [energy] joule = N*m J = joule # joule kilojoule = 1000 joule kJ = kilojoule # kilojoule megajoule = 1000 kilojoule gigajoule = 1000 megajoule millijoule = 0.001 joule mJ = millijoule # millijoule calorie = 4.1868 J cal = calorie # calorie kilocalorie = 1000 cal kcal = kilocalorie # kilocalorie calorie food = kilocalorie thermie = 1000 kcal Btu = cal*lb*R/(g*K) # British thermal unit British thermal unit = Btu therm = 100000 Btu erg = cm*dyne electronvolt = 1.602176462e-19 J eV = electronvolt # electronvolt kWh = kW*hour # kilowatt-hour kilowatt hour = kWh ton TNT = 4.184e9 J tonne oil equivalent = 41.868 gigajoule tonne coal equivalent = 7000000 kcal # # power units # [power] watt = J/s W = watt # watt kilowatt = 1000 W kW = kilowatt # kilowatt megawatt = 1000 kW MW = megawatt # megawatt gigawatt = 1000 MW GW = gigawatt # gigawatt milliwatt = 0.001 W horsepower = 550 ft*lbf/sec hp = horsepower # horsepower metric horsepower = 75 kgf*m/s ton refrigeration = 12000 Btu/hr # # frequency # [frequency] hertz = unit/sec Hz = hertz # hertz millihertz = 0.001 Hz kilohertz = 1000 Hz kHz = kilohertz # kilohertz megahertz = 1000 kHz MHz = megahertz # megahertz gigahertz = 1000 MHz GHz = gigahertz # gigahertz # # radioactivity # [radioactivity] becquerel = unit/sec Bq = becquerel # becquerel curie = 3.7e10 Bq millicurie = 0.001 curie roentgen = 2.58e-4 coulomb/kg [radiation dose] gray = J/kg Gy = gray # gray centigray = 0.01 Gy rad. abs. dose = 0.01 Gy # # commonly rad sievert = J/kg # # equiv. dose millisievert = 0.001 sievert # # equiv. dose Sv = sievert # sievert # equiv. dose rem = 0.01 Sv # # roentgen equiv mammal millirem = 0.001 rem # # roentgen equiv mammal # # viscosity # [dyn viscosity] poise = g/(cm*s) P = poise # poise centipoise = 0.01 poise cP = centipoise # centipoise [kin viscosity] stokes = cm^2/s St = stokes # stokes centistokes = 0.01 stokes cSt = centistokes # centistokes # # misc. units # [acceleration] gravity = 9.80665 m/s^2 galileo = cm/s^2 [constant] gravity constant = 6.673e-11 N*m^2/kg^2 gas constant = 8.314472 J/(mol*K) # R [fuel consumpt.] mpg = mi/gal # miles/gallon mpg imp = mi/gallon imperial # miles/gallon imp liter per 100 km = [mpg] 3.785411784 / (x * 0.01609344) ; \ 3.785411784 / (x * 0.01609344) # # non-linear [permeability] darcy = 1 cm^2*centipoise/atm/s millidarcy = 0.001 darcy ConvertAll-0.8.0/uninstall.py000077500000000000000000000050721363574405500161760ustar00rootroot00000000000000#!/usr/bin/env python """ **************************************************************************** uninstall.py, Linux uninstall script for ConvertAll Copyright (C) 2013, Douglas W. Bell This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, either Version 2 or any later version. This program is distributed in the hope that it will be useful, but WITTHOUT ANY WARRANTY. See the included LICENSE file for details. ***************************************************************************** """ import sys import os.path import getopt import shutil prefixDir = '/usr/local' progName = 'convertall' def usage(exitCode=2): """Display usage info and exit. Arguments: exitCode -- the code to retuen when exiting. """ global prefixDir print('Usage:') print(' python uninstall.py [-h] [-p dir]') print('where:') print(' -h display this help message') print(' -p dir install prefix [default: {0}]'.format(prefixDir)) sys.exit(exitCode) def removeAll(path): """Remove path, whether it is a file or a directory, print status""" print(' Removing {0}...'.format(path)) try: if os.path.isdir(path): shutil.rmtree(path) elif os.path.isfile(path): os.remove(path) else: print(' not found') return print(' done') except OSError as e: if str(e).find('Permission denied') >= 0: print('\nError - must be root to remove files') sys.exit(4) raise def main(): """Main uninstaller function. """ try: opts, args = getopt.getopt(sys.argv[1:], 'hp:') except getopt.GetoptError: usage(2) global prefixDir for opt, val in opts: if opt == '-h': usage(0) elif opt == '-p': prefixDir = val print('Removing files...') global progName removeAll(os.path.join(prefixDir, 'lib', progName)) removeAll(os.path.join(prefixDir, 'share', 'doc', progName)) removeAll(os.path.join(prefixDir, 'share', progName)) removeAll(os.path.join(prefixDir, 'share', 'icons', progName)) removeAll(os.path.join(prefixDir, 'share', 'icons', 'hicolor', 'scalable', 'apps', progName + '-icon.svg')) removeAll(os.path.join(prefixDir, 'share', 'applications', progName + '.desktop')) removeAll(os.path.join(prefixDir, 'bin', progName)) print('Uninstall complete.') if __name__ == '__main__': main() ConvertAll-0.8.0/win/000077500000000000000000000000001363574405500144015ustar00rootroot00000000000000ConvertAll-0.8.0/win/convertall-all.iss000066400000000000000000000050151363574405500200410ustar00rootroot00000000000000; convertall-all.iss ; Inno Setup installer script for ConvertAll, an RPN calculator ; This will install for all users, admin rights are required. [Setup] AppName=ConvertAll AppVersion=0.8.0 DefaultDirName={pf}\ConvertAll DefaultGroupName=ConvertAll DisableProgramGroupPage=yes OutputDir=. OutputBaseFilename=convertall-0.8.0-install-all PrivilegesRequired=poweruser SetupIconFile=convertall.ico Uninstallable=IsTaskSelected('adduninstall') UninstallDisplayIcon={app}\convertall.exe,0 [Tasks] Name: "startmenu"; Description: "Add start menu shortcuts" Name: "deskicon"; Description: "Add a desktop shortcut" Name: "adduninstall"; Description: "Create an uninstaller" Name: "translate"; Description: "Include language translations" Name: "source"; Description: "Include source code" Name: "portable"; Description: "Use portable config file"; Flags: unchecked [InstallDelete] Type: files; Name: "{app}\library.zip" Type: files; Name: "{app}\python*.zip" Type: files; Name: "{app}\*.pyd" Type: files; Name: "{app}\*.dll" Type: filesandordirs; Name: "{app}\lib" Type: filesandordirs; Name: "{app}\imageformats" Type: filesandordirs; Name: "{app}\platforms" [Files] Source: "convertall.exe"; DestDir: "{app}" Source: "base_library.zip"; DestDir: "{app}" Source: "convertall.exe.manifest"; DestDir: "{app}" Source: "*.dll"; DestDir: "{app}" Source: "*.pyd"; DestDir: "{app}" Source: "PyQt5\*"; DestDir: "{app}\PyQt5"; Flags: recursesubdirs Source: "data\*.dat"; DestDir: "{app}\data" Source: "doc\*.html"; DestDir: "{app}\doc" Source: "doc\LICENSE"; DestDir: "{app}\doc" Source: "icons\*.png"; DestDir: "{app}\icons" Source: "translations\*.qm"; DestDir: "{app}\translations"; Tasks: "translate" Source: "source\*.py"; DestDir: "{app}\source"; Tasks: "source" Source: "source\convertall.pro"; DestDir: "{app}\source"; Tasks: "source" Source: "source\convertall.spec"; DestDir: "{app}\source"; Tasks: "source" Source: "convertall.ico"; DestDir: "{app}"; Tasks: "source" Source: "*.iss"; DestDir: "{app}"; Tasks: "source" Source: "convertall.ini"; DestDir: "{app}"; Tasks: "portable" [Icons] Name: "{commonstartmenu}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "startmenu" Name: "{group}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "startmenu" Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; Tasks: "startmenu" Name: "{commondesktop}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "deskicon" ConvertAll-0.8.0/win/convertall-user.iss000066400000000000000000000050301363574405500202440ustar00rootroot00000000000000; convertall-user.iss ; Inno Setup installer script for ConvertAll, an RPN calculator ; This will install for a single user, no admin rights are required. [Setup] AppName=ConvertAll AppVersion=0.8.0 DefaultDirName={userappdata}\ConvertAll DefaultGroupName=ConvertAll DisableProgramGroupPage=yes OutputDir=. OutputBaseFilename=convertall-0.8.0-install-user PrivilegesRequired=lowest SetupIconFile=convertall.ico Uninstallable=IsTaskSelected('adduninstall') UninstallDisplayIcon={app}\convertall.exe,0 [Tasks] Name: "startmenu"; Description: "Add start menu shortcuts" Name: "deskicon"; Description: "Add a desktop shortcut" Name: "adduninstall"; Description: "Create an uninstaller" Name: "translate"; Description: "Include language translations" Name: "source"; Description: "Include source code" Name: "portable"; Description: "Use portable config file"; Flags: unchecked [InstallDelete] Type: files; Name: "{app}\library.zip" Type: files; Name: "{app}\python*.zip" Type: files; Name: "{app}\*.pyd" Type: files; Name: "{app}\*.dll" Type: filesandordirs; Name: "{app}\lib" Type: filesandordirs; Name: "{app}\imageformats" Type: filesandordirs; Name: "{app}\platforms" [Files] Source: "convertall.exe"; DestDir: "{app}" Source: "base_library.zip"; DestDir: "{app}" Source: "convertall.exe.manifest"; DestDir: "{app}" Source: "*.dll"; DestDir: "{app}" Source: "*.pyd"; DestDir: "{app}" Source: "PyQt5\*"; DestDir: "{app}\PyQt5"; Flags: recursesubdirs Source: "data\*.dat"; DestDir: "{app}\data" Source: "doc\*.html"; DestDir: "{app}\doc" Source: "doc\LICENSE"; DestDir: "{app}\doc" Source: "icons\*.png"; DestDir: "{app}\icons" Source: "translations\*.qm"; DestDir: "{app}\translations"; Tasks: "translate" Source: "source\*.py"; DestDir: "{app}\source"; Tasks: "source" Source: "source\convertall.pro"; DestDir: "{app}\source"; Tasks: "source" Source: "source\convertall.spec"; DestDir: "{app}\source"; Tasks: "source" Source: "convertall.ico"; DestDir: "{app}"; Tasks: "source" Source: "*.iss"; DestDir: "{app}"; Tasks: "source" Source: "convertall.ini"; DestDir: "{app}"; Tasks: "portable" [Icons] Name: "{userstartmenu}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "startmenu" Name: "{group}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "startmenu" Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; Tasks: "startmenu" Name: "{userdesktop}\ConvertAll"; Filename: "{app}\convertall.exe"; \ WorkingDir: "{app}"; Tasks: "deskicon" ConvertAll-0.8.0/win/convertall.ico000066400000000000000000000535561363574405500172640ustar00rootroot00000000000000@@(B6 ^BhS(@ @6!.{[CQ]diouzm ytnic^YRִH;u)[3 !8 4N^elsz y!s"m$f&`(Y*S'D.4  yK;PW^elsz y!s"m$f&`(Y*S+L-F&3qK$?JPW^elsz nW?e.<H#O*S+L-F/?.6P9CJPW^elsz U 1   i!)A/?19//uPQ,<CJPW^elsz B)S/622+$J 5<CJPW^elsz %3 004,% X0,5<CJPW^elsz #5 2*3#Q 0d.5<CJPW^elsz |V#6% d.5<CJPW^elsz +C 6%'ƻ.5;BIPW^eksz D/Zz bBr[+L-F/?19b1*6%. .5" %8  ]dJ,U+L-F/?08\4,6%. .. z PW;._)S+M-F/@#) !4,6&. "/ a?"|K/1h(Z)S+M-F/@f/04,6&. 1  ayz'v`6s&`(Z)S+M-F.?\234,6&.Oh q Gz!s"m$f&`(Z)S+M-F#0#234,6&.j #'& !+iK{OwQuRp(5 b=z!s"m$f&`(Z)S+M-Fj-5234,6&.e5;BIB)= Ld cnz!s"m$f&`(Z)S+M,E\19234,6&. k2;BIPV:_k3w j @z!s"m$f&`(Z)S+M#6&19234,6&. !";BIPW^])Bq~Po d <z!s"m$f&`(Z)S+Mo!+:19234,6&.-b;BIPW^ekm yGb faz!s"m$f&`(Z)S+M\/@19234,6&.-s6BIPV]ekrym d :z!s"m$f&`(Z)S#>(/@19234,6&.-(#BIPV]dkryPs i <z!s"m$f&`(Z)Sv&(>/@19234,6&.-4`BIPV]dkryDb gWz!s"m$f&`(Z)S]-F/@19234,6&.-4{;IPV]dkryd _ 4z!s"m$f&`(Z"E*-F/@19234,6&.-41$IPV]dkryPx n =vz!s"m$f&`(Z|+%C-F/@19234,6&.-4;`IPV]dkry@a iLz t"m$g&`(Z_!+M-F/@19234,6&.-4;">PV]dkry\ \ 1z t"m$g&`"N~,+M-G/@0:234-6&.-4;9%PV]dkryO} v>m t"m$g&`1#G+M-G/@0:234-6&.-4;BaPV]dkry>a jB t"m$g&``$)S+M-G/@0:234-6&.-4;B*@V]dkryS [ - t"m$g!Uz.)S+M-G/@0:234-6&.-4;BB&xV]dkryO @b"m$g6!K)S+M-G/@0:234-6&.-4;BIcU]dkry;b jy:"m$ga'(Z)S+M-G/@0:234-6&.-4;BI2B]dkry|L~ z] -"m ^v/(Z)S+M-G/@0:234-6&.-4;BIK&p]dkryO| zz;a>M(Z)S+M-G/@0:234-6&.-4;BIP#e[dkry8b z]Ab*&`(Z)S+M-G/@0:234-6&.-4;AHO:CdkryyEy zsS &s1&`(Z)S+M-G/@0:234-6&.-4;AHOS'jdkqxNr qQ+S $P(Z)S+M-G/@0:234-6&.-4;AHOV(k`kqx5b [c 7)? (Z)S+M-G/@0:234-6&.-4;AHOVCCkqxu?t  aT7_&(Z)S+M-G/@0:234-6&.-4;AHOV[)gkqxMidF4 '` +B$\(Z)S+M-G/@0:234-6&.-4;AHOV]-qeqx2b,%7 p >Zr t"m$g&`(Z)S+M-G/@0:234-6&.-4;AHOV]MCqp:q G0 Uu{ t"n$g&a'Z)T+M-G/@0:234-6&.-4;AHOV]c)aqL`vHOWCm { t"n$g&a'Z)T+M-G/@0:244-6'--4;AHOV]d-im0c~\{3B n { t"n$g&a'Z)T+M-G/@0:244-6'--4;AHOV]dHJ4ldEm"3 { t"n$g&a'Z)T+M-G/@0:244-6'--4;AHOV]de 5o0^$>Gs { t"n$g&a'Z)T+M-G/@0:244-6'--4;AHOV]d;AWp { t"n$g&a'Z)T+M-G/@0:244-6'--4;AHOV]d5.Agj { t"n$g&a'Z)T+M-G/@0:244-6'-ƽ-4;AHOV]dJ5==w` { t"n$g&a'Z)T+M-G/@0:244-6'+-4;AHOV]dkqx { t"n$g&a'Z)T+M-G/@0:244-6''f,3:AHOV]dkqx { t"n$g&a'Z)T+M-G/@0:244-6' f Z3*3:AHOV\cjqx { t"n$g&a'Z)T+M-G/@0:244-4%R 33:AHOV\cjqx { t"n$g&a'Z)T+M-G/@0:244-%S+:AHOV\cjqx { t"n$g&a'Z)T+M-G/@0:24,&L Z8AHOV\cjqx { t"n$g&a'Z)T+M-G/@0:02wZ$>HOV\cjqx { t"n$g&a'Z)T+M-G/@.8!#U=OV\cjqx { u"n$h&a'[)T+N-G'6ہ UP6Q\cjqx { u"n$h&a'[)T(I1KW04cER\ciotz {vpkfa[UܹK@0cR0??( @ :qOʱ^lxUVC9 wlaT!E3q *:Tbo}fgUI pSS'S,I'1ņ* >/FTbo}fgVJ z K0 Q'0*'9 8FTbo}efWK N4 &#&#Ѽ8FTbo}deXK kB -$8FSao}cdYL s oR6421/.sFMl-%8FLE<RybcZM /v0<# 1%2Y .IbcZM  u8e,I/;# 1 0ab[N  uCU)V,I&/.+1j<Q`a\O }B(e)V,I!)301-6 ~#e}]~_`]P k}!p%c)V,I!)3013FS=\ 4 {^_^Q k}!p%c)V#;*4301%'FSam}]^_R u}!p%c)V20<301%'ESan|u]^_R b}!p%c)V20<301%-=San|r\]`S a}!p%c"G%>0<301%80San|y[\aS yh!q%d;,J0<301%80San|nZ\bT Y!q%d;,J0=301%89Han|jY[cU Y!qU!H,J0=301%8E9an|nYZdV p\D(W,J0=301%8E9an|fYZdV ~OD(W,J0=301%7EEQn|aXYeW |<C(W,J0=301%7ESAnzcVXfX z| LB% ,(W,J0=301%7ESAn^UWFBI,+&\5fw**-' UEZ)!^ **-' aJ{';0'$?:{**-' {y&_&:1(&Lg**-' zy&_%91(+Cg**-' p!S+C1(-?g**-' eO-E1(-?gw**-' f O-E1(-JXm**-' fc 2D-E1(-LUl:.J3 N]%]-E1(-LJC5R)6MV% y&_-E1(-LUU**-' y&_-E2),Lg**-' y&_-E0' Fby4370 q%[)? ConvertAll-0.8.0/win/convertall.ini000066400000000000000000000021421363574405500172520ustar00rootroot00000000000000# Options for the ConvertAll unit conversion program # # All options are set from within the program, # editing here is not recommended # ColorTheme system WindowColor WindowTextColor BaseColor TextColor HighlightColor HighlightedTextColor ButtonColor ButtonTextColor Text-DisabledColor ButtonText-DisabledColor GuiFont # DecimalPlaces 8 Notation general ShowOpButtons yes ShowUnitButtons yes RecentUnits 8 LoadLastUnit no ShowStartupTip yes RemenberDlgPos yes # MainDlgXSize 621 MainDlgYSize 381 MainDlgXPos 320 MainDlgYPos 252 MainDlgTopMargin 31 MainDlgOtherMargin 1 # RecentUnit1 RecentUnit2 RecentUnit3 RecentUnit4 RecentUnit5 RecentUnit6 RecentUnit7 RecentUnit8