-
Posts
53 -
Joined
-
Last visited
-
Days Won
5
Content Type
Blogs
Gallery
Downloads
Events
Profiles
Forums
Articles
Media Demo
Posts posted by biati
-
-
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 It includes support for English, Spanish and Swedish
- Currency - Up to 168 currencies- Cryptocurrency - Support for up to 5,000 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 mxnImportant
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 hereConfiguration
You can configure the workflow using the new Alfred 5 Workflow Configuration window.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.
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 API Key (Not required)
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. Then simply add the API Key in the workflow configuration window.
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 API Key
You need to get a FREE API Key from https://coinmarketcap.com/api/pricing/ it takes less than a minute. Then simply add the API Key in the workflow configuration window.
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.
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
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 in the Workflow configuration window.
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
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)
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
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)
Cache
The workflow stores some data about currency in the workflow data folder. You can delete the cache by opening Alfred and typing `_caclear`.
Calculate Anything
in Share your Workflows
Posted
Hi vitor, thank you for your input.
I'm searching information about alfred_workflow_data but not sure exactly what you mean, are you referring to the folder stored in ~/Library/Application Support/Alfred/Workflow Data/com.alfred.calculateanything ? if so I've added some validation to make sure it exists and if not then it's created. If this is not what you mean please let me know.
1.- I've adde "in" to the stop words list so now 100km in m works as expected as any other query like 100 usd in eur.
2.- You are right about the decimals, I'm working on that.
3.- Already fixed the calculate set currency symbol
4.- mmm making some tests on this.
Once fetched, the currency is cached for 6 hours and the data is from fixer.io, this is the first time I work with currencies so not sure if 6 hours is a correct amount of time. The data will be fetched again only if a currency conversion is triggered.