=== AutoCurr ===
Contributors: autocurrteam
Tags: currency, currency converter, exchange rates, localization, shortcode
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.18.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Display prices in your visitor's local currency using a shortcode, with automatic conversion and a readable source-price fallback.

== Description ==

Add a price to shortcode-enabled content:

[autocurr amount="26" currency="EUR"]

AutoCurr uses hosting/CDN country hints, then the browser's regional locale, to
select a supported currency. It displays the source price followed by the
converted price in parentheses. If the target matches the source, or conversion
is unavailable, the source price remains visible.

Free includes automatic conversion, supported fiat currencies and seven-day
successful rate caching. No account or API key is required by default.
AutoCurr Pro is a separate optional add-on with visual Gutenberg authoring.
Free does not require Pro or a license. There is no Free settings screen.

Product information: https://autocurr.com
Documentation: https://autocurr.com/docs/
Contact: hello@autocurr.com

== Installation ==

1. Upload the AutoCurr ZIP through Plugins > Add Plugin > Upload Plugin.
2. Activate AutoCurr.
3. Add [autocurr amount="26" currency="EUR"] in a Shortcode block or other shortcode-enabled content.
4. View the published page. JavaScript and access to the site's REST API are needed for conversion; the source amount is rendered without JavaScript.
5. Review the external-service terms below.

== Frequently Asked Questions ==

= What shortcode attributes are available? =

amount and currency are required. Use an ungrouped numeric amount, for example
26 or 26.50, and a supported ISO currency code. Lowercase codes are normalized.
The optional class attribute accepts CSS class names. Invalid values produce
a concise validation message rather than a fabricated price.

= Why does a price stay in its source currency? =

The visitor may already use that currency, their location may be unresolved,
or JavaScript, REST access or a rate provider may be unavailable. A browser
language without a region does not identify a country reliably.

= How often do rates refresh? =

Successful rates are cached for seven days and fetched again when needed after
expiry. This is not a live trading feed. Failed lookups do not become 1:1 rates.

= Does Free include a visual price editor? =

No. Use shortcodes in Free. Pro adds visual inline Gutenberg authoring.
Previously saved AutoCurr inline/block content retains compatibility rendering.

= Does AutoCurr track visitors? =

AutoCurr has no analytics or telemetry. It does not send visitor IP addresses,
browser details, post content or monetary amounts to rate providers. It does not
call an external geolocation service. Country hints and regional browser locale
are resolved through the site's own REST API.

== External services ==

AutoCurr is a client for the rate services below. Publishing a shortcode enables
on-demand server-side rate requests when a supported conversion is needed and
no fresh cached result is available. No rate request is needed for identical
source and target currencies. Requests use HTTPS and identify AutoCurr and its
version in the User-Agent. Providers can see the web server's outbound IP address;
AutoCurr does not forward the visitor's IP address. Assets are bundled locally.

= Frankfurter =

Default service: Frankfurter v2, using daily reference rates from multiple sources,
not real-time trading rates. Receives the requested source and target currency codes.
No credential is required.
Website: https://frankfurter.dev/
Usage terms and privacy statement: https://frankfurter.dev/#faq
The provider publishes these statements in its FAQ rather than separate policy pages.

= Open Exchange Rates (optional) =

Fallback after the primary provider fails, only when the site administrator has
configured AUTOCURR_OXR_APP_ID server-side. Requests the latest USD-based rate
table and sends that account's App ID; it does not send the visitor's currency
pair or price. Account terms apply.
Website: https://openexchangerates.org/
Terms: https://openexchangerates.org/terms
Privacy: https://openexchangerates.org/privacy

== Screenshots ==

1. An AutoCurr shortcode for an IDR price inside a paragraph in the WordPress editor.
2. The published paragraph displays IDR 46,000 with its converted EUR amount in parentheses. Yellow highlighting is part of the example, not AutoCurr styling.

== Changelog ==

= 1.18.4 =
* Finalize the WordPress.org release candidate with Frankfurter v2, shared fiat currency names and complete service disclosures.

= 1.18.3 =
* Use Frankfurter v2 and add shared names for supported fiat currencies.

= 1.18.2 =
* Remove the obsolete shortcode entry point; use the canonical AutoCurr shortcode.
* Complete plugin identity, license and external-service disclosures for submission review.

= 1.18.1 =
* Include deployment readme metadata and verify it during package builds.
