Search the Community
Showing results for tags 'calculate'.
Calculate Anything is a workflow for Alfred 4, that uses natural language and is able to calculate multiple things like currency, time, vat, px, em, rem, percentage, and more. Why? There are several conversion workflows out there but I wanted a workflow that worked naturally. For example, you can open Alfred, type `100 + 9` and get a result. No need for keywords or hotkeys -- it just works. With Calculate Anything you can do the same, simply type `100 + 16%`, `100 euros to usd`, `100km to cm` or `100 years to hours` and many more. Features - Natural language - type 100 euros to dollars, 100 euros in usd, 100€ to $, 100eur usd, 100 euros a dolares -- it does not matter, the same result will be displayed - Currency - Up to 168 currencies - Cryptocurrency - Support for 100 cryptocurrencies - Units - 100 kilometers to meters or 100 km to m or simply 100km m - Data Storage - 100 gigabytes in megabytes, 2 gb to mb, 400MiB to kib, 2tb gb, etc. - Percentages - 100 + 16%, 100 - 16%, 40 as a % of 50, 20 is what % of 50, etc. - PX,Em,Rem,Pt - 12px or 12px to em or 12px pt - Time - time +15 years, time now plus 6 hours or convert a timestamp - VAT - value added tax calculations, we all need this - Translations You can create your own translations to display results in your language - Keywords Extend the natural language in the queries so you can type 100 dolares a pesos and the code will see 100usd to mxn Important You will always find the latest version, changelog and updated documentation on Github as is difficult to use the forum to keep track of updates and support. Requirements for Mac OS Monterey Users and up Starting from Mac OS Monterey Apple removed PHP so you have to install it manually, that can easily be done with Homebrew, just open your terminal and paste the commands below: 1.- Install Homebrew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2.- Install PHP brew install php That's it, you need to have the latest version of Alfred and will automatically find the PHP version that you install. Mac OS Big Sur users and below do not need to do anything, your Mac OS already includes PHP. Download Download directly from Github releases page, make sure to download the latest release. Download here Base Configuration There's only one global setting and that's the language. This setting will allow you to type in Alfred using your own language and also will change the notifications and texts. View the Translations section for the available languages. Configure it with: - In Alfred type `ca`, select **Set base language** and choose the language you want to use. You can also type in Alfred `ca lang` Currency You can use natural language or a few characters -- that's all! For example: 100 us dollars in mexican pesos 100 canadian dollars in argentinian peso 100 euros to dollars 100 euros in dollars 100 euros as dollars 100 euros a dolares (you can also write it in your own language) 100 usd to mxn 100 usd mxn 100usd yen 100€ to $ 100 ¥ in € 100¥ € 100eur (if no target the currency will be converted to the base currencies that you configured) You can set a base currencies so if you type for example 120 euros it will be automatically converted to the currencies that you configured. All these examples just work. You can add spaces between the value and the currency or not. If by any chance you don't remember the currency symbol or abbreviation simply type in Alfred ca list and select "List Available Currencies" Currency Modifiers When a result is displayed you can use action modifiers to copy the value in different formats: Return - Press Return to copy the value with format, for example 2,376.54 Command + Return - Press Command + Return to copy the value without formatting, for example 2376.54 Option + Return - Press Option + Return to copy the value of a single unit, for example 23.76 Currency Options By default the workflow will use exchangeratehost api to make the conversion. exchangeratehost only support 32 currencies; if you need support for additional currencies supported by Calculate Anything, you need to get a FREE API Key from https://fixer.io -- it takes less than a minute. The following options are available for the currency. Simply launch Alfred and type ca and select any of the options below. Add base currency - This will become your base currency, if you type `100eur` it will automatically be converted to the currencies you define here. You can define multiple currencies by repeting the process. Delete base currency - If you no longer want a base currency you can select this option to list all configured base currencies, you can delete a currency by simply pressing Return Set currency format - Used to format the converted amount, you will see a list of formats to choose from, simply press return to select a format. Set Fixer API - Set your fixer API Key for support more currencies, after you select this option just copy paste your Key and press Return to save it. Currency Symbols You can also use currency symbols in your query for example 100¥ to € will be converted to 100JPY to EUR, here is a list of available symbols. Please go to the repo description on Github for a full list of supported symbols it's really difficult to write them here in the forum. View Currency Symbols Cryptocurrency Calculate Anything can convert between 5,000 cryptocurrencies and 168 currencies. Again, you can use natural language or simply pass the currency symbol. 2 bitcoin to dollars 0.1 bitcoin in dollars 5 bitcoins in ethereum 1 ethereum to ¥ 10 ethereum in mxn 1eth btc 1btc (If no target the currency will be converted to the base currency that you configured) Cryptocurrency Modifiers When a result is displayed you can use action modifiers to copy the value in different formats: Return - Press Return to copy the value with format, for example 2,376.54 Command + Return - Press Command + Return to copy the value without formatting, for example 2376.54 Option + Return - Press Option + Return to copy the value of a single unit, for example 23.76 Cryptocurrency Options You need to get a FREE API Key from https://coinmarketcap.com/api/pricing/ it takes less than a minute. The following options are available for cryptocurrency. Simply launch Alfred and type ca and select any of the options below. View the configuration section for more info Set Coinmarketcap API - Select this option and paste your API key and press enter to save it. Units You can write your query using natural language or just a few characters. Either way works! 100 kilometers to meters 100 km in meters 100 km m 100km m 100 miles as meters 100miles in meters 100 miles to m 100 ounces to kilograms 100oz to kg 100oz = kg 100oz kg 10 years to months 10years to seconds 1 year to sec 1hr s 10 días a horas (use your own language) If you don't remember the unit abbreviation just simply type the name for example instead of "oz" you can type "ounce" or "ounces" or even use words in your own language for exaple "onza" or "onzas" in spanish. Finally if you still don't remember the unit abbreviation or it's name simply launch Alfred and type ca list and select "List Available Units" you can type to filter, etc. Please go to the repo description on Github for a full list of units it's really difficult to write them here in the forum. View Units Units Modifiers When a result is displayed you can use action modifiers to copy the value in different formats: Return - Press Return to copy the value with format, for example 2,376.54 Command + Return - Press Command + Return to copy the value without formatting, for example 2376.54 Option + Return - Press Option + Return to copy the value of a single unit, for example 23.76 Units Options There are no options available for now. Data Storage You can write your query using natural language or just a few characters. Either way works! 100 gigabytes in megabytes 100 gigas in megas 100 Mebibytes in Kibibytes 100 gb to mb 100gb to kb 100gb mb 400MiB in kib 2tb gb 1b kb Please note, this workflow follows the IEC Standard (International Electrotechnical Commission) as it had been adopted by the IEEE, EU, and NIST. That means that if you type `1MB in KB` you will get `1000 KB` but if you type `1MiB in KiB` you will get `1024 KB`, you can read more about it here https://en.wikipedia.org/wiki/Byte#Multiple-byte_units Do you prefer 1 MB = 1024 KB? No problem, you can configure it, checkout Data Storage Options. Data Storage Modifiers When a result is displayed you can use action modifiers to copy the value in different formats: Return - Press Return to copy the value with format, for example 2,376.54 Command + Return - Press Command + Return to copy the value without formatting, for example 2376.54 Data Storage Options There's no exactly "options" it's more of a way for people to overwrite the conversion and use always the Binary mode so `1 MB = 1024 KB`. To enable this you need to [Set a Workflow Environment Variables](https://www.alfredapp.com/help/workflows/advanced/variables/). The name should be datastorage_force_binary and the value should be true. Percentages You can easily calculate percentages for example: 15% of 50 = 7.50 //7.5 equals to 15% of 50 120 + 30% = 156 //120 plus the 30% of 120 120 plus 30% = 156 //120 plus the 30% of 120 120 - 30% = 84 //120 minus the 30% of 120 120 minus 30% = 84 //120 minus the 30% of 120 30 % 40 = 75% // 30 is 75% of 40. Translations and natural language can also be used 120 más 30% = 156 PX, EM, REM, PT Open Alfred, type `12px` and you'll see the value converted to em, rem and pt. It's that simple. Check the examples below. 12px 12px to em 2 rem 2rem 2rem to pt 12px in em base 17px (use a custom px base or configure it in the workflow) PX, EM, REM, PT Options The following options are available. Simply launch Alfred and type ca and select any of the options below. View the configuration section for more info Set base pixels - custom px base for conversions Time Given its less frequently used, time conversions require the use of the keyword time Gives you the current time time Converts the timestamp to a regular date time 1577836800 Gives you the time from now plus anything you want time +15 days time now plus 3 days Number of days until specified date time days until 31 december The start date of current year time start of year The start date of specified year time start of 2021 The end date of current year time end of year The end date of specified year time end of 2021 It also works in your language time inicio de 2020 time fin de 2020 time dias hasta 31 diciembre Get information about date time 31 December, 2021 18:00:00 time 31/12/2021 18:00:00 time 12/31/2021 18:00:00 Calculate the difference between two dates time 25 December, 2021 - 31 December, 2021 time 31-11-2019 - 21-11-2019 time 11/31/2019 - 11/21/2019 Time Options The following options are available. Simply launch Alfred and type ca and select any of the options below. Set base time zone - Base time zone used to calculate dates in your time zone, search and select your zone from the list and press Return to save it. Add date format - Configure a new date format so the date is displayed the way you want, for example j F, Y, g:i:s a more information about available values for date https://www.php.net/manual/en/function.date.php Delete date format - It will show you a list of configured date formats, simply select the one you want to delete and press Return to remove it VAT (value added tax) With this you can calculate the VAT for a given amount. Like time, VAT is also triggered with a keyword. By default, the keyword is "vat" but you can change the keyword in the workflow. Given the following query vat of 400 (with a 16% VAT configured, a percentage you can configure) Calculate Anything will provide the following conversions: VAT of 400 = 64 (the VAT amount) 400 plus VAT = 464 (the Amount plus VAT) 400 minus VAT = 344.82 (the Amount minus VAT, useful if you have a final amount and want to know the VAT applied) VAT Options The following options are available. Simply launch Alfred and type ca and select any of the options below. Set VAT percentage - for example 21% Configuration You can easily configure the Calculate Anything workflow. Simply open Alfred, type `ca` and you will see a list of all the available options to configure the workflow. You can also filter the options for example launch Alfred and start typing `ca fixer` and you will automatically see the options filtered. To select an option just press Return. Translations Please check the available languages on Github, it's easier to update the information there and also how you can create a translation. Keywords Keywords are words that can be used when writing a query in natural language for example a keyword "ounces" will be converted to "oz", "kilometers" will be converted to "km" or "dollars" will be converted to "USD", "seconds" will become "s" and a large etc. This keywords allows the user to type in a more natural way and in their own language. You can write your own keywords to extend the functionality, please check the information on Github. Stop Words Stop words are words that can be used in the query when using natural language for example "100km to cm" - here the stop word is "to" Stop words are useful for two things: Allows the user to write more naturally and in their own language (e.g 100 dolares a mxn) "a" is the stop word Are used to check if the query has to be processed for example: 100km equals meters if the word "equals" is not registered in the stop_words array then it won't be processed. At the end this stop words are removed so 100km to cm becomes 100km cm. Please take a look at the readme on Github to learn more about this. For Currency, Percentages and Units this workflow will only process the query if it begins with a digit and it has at least 3 characters. Time and VAT have a keyword because those are not often used. Cache The workflow stores some data about currency in the workflow data folder. You can delete the cache by opening Alfred and typing `ca clear`. You can decide between deleting the cache, delete stored settings or both. Updates The workflow will check for updates in the background every 15 days and will notify you when a new update is available. If you want to check for updates manually, launch opening Alfred and type `ca update`.