An open API service indexing awesome lists of open source software.

https://github.com/mrcoder57/next-i18n-ai


https://github.com/mrcoder57/next-i18n-ai

Last synced: over 1 year ago
JSON representation

Awesome Lists containing this project

README

          

# AI Translation API with Caching

## ๐Ÿš€ Overview

This project provides an AI-powered translation service using the **Gemini API** with **Upstash Redis** caching for optimized performance. It supports multiple language translations with caching to reduce redundant API requests.

## ๐Ÿ›  Features

- ๐ŸŒ AI-powered language translation
- โšก Upstash Redis caching to reduce API calls
- ๐Ÿ” Secure API key usage with `.env` file
- ๐Ÿงช Jest tests for error handling

## ๐Ÿ“ฆ Installation

Clone the repository and install dependencies:

```sh
npm i next-i18n-ai
```

## ๐Ÿ”‘ Environment Variables

Create a `.env` file in the project root and add:

```env
API_KEY=your-gemini-api-key

```

## Usage

```javascript
const { AIClient } = require("next-i18n-ai");
const client = new AIClient({
apiKey: "your-api-key",
provider: "gemini",
});

async function main() {
const translatedText = await client.translate("Hello", "es");
console.log("Translated:", translatedText);
}

main().catch(console.error);
```

## Configuration

Ensure you have a valid API key and provider set up for the translations to work correctly.

### Run Example Translation

```sh
npx tsx ./examples/example.ts
```

## ๐Ÿ“‚ Project Structure

```
โ”œโ”€โ”€ src
โ”‚ โ”œโ”€โ”€ ai-client.ts # Main AIClient with API call & caching logic
โ”‚ โ”œโ”€โ”€ index.ts # Export AIClient
โ”œโ”€โ”€ examples
โ”‚ โ”œโ”€โ”€ example.ts # Example usage
โ”œโ”€โ”€ tests
โ”‚ โ”œโ”€โ”€ ai-client.test.ts # Jest test cases
โ”œโ”€โ”€ .env # Environment variables
โ”œโ”€โ”€ LICENSE # MIT License
โ”œโ”€โ”€ package.json # Project dependencies
โ”œโ”€โ”€ README.md # Project documentation
```

## ๐Ÿงช Running Tests

Run unit tests using Jest:

```sh
npm test
```

## ๐Ÿš€ Deployment

You can deploy this service on **Vercel, Railway, or Fly.io**:

### Deploy with Docker

1. Create a `Dockerfile`:

```dockerfile
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "src/index.js"]
```

2. Build & run:

```sh
docker build -t ai-translation .
docker run -p 3000:3000 ai-translation
```

## ๐Ÿ“œ License

This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for more details.

## ๐Ÿค Contributing

PRs are welcome! Open an issue for discussions or improvements.

## ๐Ÿ“ž Contact

For any queries, reach out to [**Your Name**](mailto\:your-email@example.com).