Translator Documentation

Everything you need to know about managing translations with Translator. From getting started to advanced API integration.

What is Translator?

Translator is a modern, developer-friendly translation management platform that streamlines the localization process for applications of any size.

Core Features

  • Organize translations

    Create collections for different projects or applications

  • Manage translation keys

    Handle keys and values across multiple languages

  • Team collaboration

    Inline editing with progress tracking

Developer Tools

  • REST API

    Seamless integration with your applications

  • Import/Export

    JSON import and various export formats

  • Progress tracking

    Visual indicators for translation status

Quick Start Guide

1

Create an Account

Sign up for a free account to get started with up to 3 collections and 500 translation keys.

Get Started Free
2

Create Your First Collection

Collections help you organize translations by project, application, or any logical grouping.

  1. Navigate to your dashboard
  2. Click "New Collection"
  3. Enter a name and description
  4. Select the languages you need (you can add more later)
  5. Choose a default language
  6. Click "Create"
3

Add Translation Keys

Translation keys are the identifiers you'll use in your code to reference translated content.

  1. Open your collection
  2. Click "New Term"
  3. Enter a unique key (e.g., "welcome_message")
  4. Optionally add a description
  5. Click on any language tab to start translating

Managing Collections

Collections are the main organizational unit in Translator. Each collection represents a project, application, or logical grouping of translations.

Collection Features

  • Multiple Languages: Add support for any number of languages
  • Default Language: Set a primary language for your collection
  • Search & Filter: Find terms quickly using search and status filters
  • Progress Tracking: Visual indicators show translation completion status

Language Management

  • 40+ Languages: Choose from predefined languages with flag indicators
  • Dynamic Management: Add or remove languages at any time
  • Missing Indicators: Red badge indicators show missing translation counts

Working with Terms

Terms (translation keys) are the building blocks of your translations. Each term can have translations in multiple languages.

Creating Terms

When creating a new term:

  • Key: Use descriptive, hierarchical keys (e.g., "user.profile.save_button")
  • Description: Add context to help translators understand usage
  • Default Value: The system creates an initial translation in your default language

Inline Editing

Translator features powerful inline editing capabilities:

Click Edit translation in place
Enter Save changes
Tab Save and next
Esc Cancel editing

Import & Export

Import Translations

  • JSON Format: Import key-value pairs from JSON files
  • Drag & Drop: Simply drag JSON files to the import area
  • Overwrite Control: Choose to preserve or overwrite existing translations

Export Options

  • JSON Files: Export translations as JSON for each language
  • API Access: Fetch translations programmatically via REST API
  • Real-time Updates: Always get the latest translations

API Authentication

Translator uses API tokens for secure authentication. All API requests require a valid token.

Creating API Tokens

Important

Store your API tokens securely. You won't be able to see them again after creation.

  1. Go to Settings → API Tokens
  2. Click "New Token"
  3. Enter a descriptive name
  4. Copy the generated token immediately

Using API Tokens

Include your API token in the Authorization header of all requests:

Authorization Header
Authorization: Bearer YOUR_API_TOKEN

Collections API

Get All Collections

Retrieve all collections for the authenticated user:

Request
GET http://translator-app.com/api/collections
Authorization: Bearer YOUR_API_TOKEN
Response 200 OK
{
  "data": [
    {
      "id": 1,
      "name": "Web App",
      "description": "Main web application translations",
      "languages": ["en", "es", "fr"],
      "default_language": "en",
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  ]
}

Translations API

Get Translations for a Collection

Retrieve all translations for a specific collection and language:

Endpoint Pattern
GET http://translator-app.com/api/collections/{language}/{collection_name}.json
Example Request
GET http://translator-app.com/api/collections/en/web-app.json
Authorization: Bearer YOUR_API_TOKEN
Response 200 OK
{
  "welcome_message": "Welcome to our application!",
  "user.profile.save_button": "Save Profile",
  "user.profile.cancel_button": "Cancel",
  "navigation.home": "Home",
  "navigation.about": "About"
}

Code Examples

JS
JavaScript/Node.js

// Fetch translations
async function getTranslations(language, collection) {
  const response = await fetch(`http://translator-app.com/api/collections/${language}/${collection}.json`, {
    headers: {
      'Authorization': 'Bearer YOUR_API_TOKEN',
      'Content-Type': 'application/json'
    }
  });

  if (!response.ok) {
    throw new Error('Failed to fetch translations');
  }

  return await response.json();
}

// Usage
const translations = await getTranslations('en', 'web-app');
console.log(translations.welcome_message);

PHP
PHP

// Using cURL
function getTranslations($language, $collection, $apiToken) {
    $url = "http://translator-app.com/api/collections/{$language}/{$collection}.json";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Authorization: Bearer ' . $apiToken,
        'Content-Type: application/json'
    ]);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

// Usage
$translations = getTranslations('en', 'web-app', 'YOUR_API_TOKEN');
echo $translations['welcome_message'];

PY
Python

import requests

def get_translations(language, collection, api_token):
    url = f"http://translator-app.com/api/collections/{language}/{collection}.json"
    headers = {
        'Authorization': f'Bearer {api_token}',
        'Content-Type': 'application/json'
    }

    response = requests.get(url, headers=headers)
    response.raise_for_status()

    return response.json()

# Usage
translations = get_translations('en', 'web-app', 'YOUR_API_TOKEN')
print(translations['welcome_message'])

Best Practices

  • Cache Translations: Cache API responses to reduce API calls and improve performance
  • Handle Errors: Always implement proper error handling for API requests
  • Use HTTPS: All API calls should use HTTPS for security
  • Rate Limiting: Respect rate limits and implement retry logic
  • Token Security: Store API tokens securely and never expose them in client-side code

Support & Community

Need help? We're here to support you every step of the way.

Documentation

Comprehensive guides, API reference, and best practices to help you get the most out of Translator.

Email Support

Get personalized help from our support team. We typically respond within 24 hours.

support@example.com