translate-easy
TypeScript icon, indicating that this package has built-in type declarations

1.4.6 • Public • Published

Translate Easy

Translate Easy simplifies the process of translating text within React applications by providing a flexible set of components and hooks.

Installation

You can install Translate Easy via npm or yarn:

npm install translate-easy

or

yarn add translate-easy

Usage

Translate Component

The Translate component translates text based on the selected language.

import { Translate } from 'translate-easy';

// Basic usage
<Translate>Hello, world!</Translate>

// Usage with specific translations
<Translate translations={{ 'ar': 'مرحبا بالعالم', 'fr': 'Bonjour le monde!' }}>Hello, world!</Translate>

useTranslate Hook

The useTranslate hook is used to translate text dynamically within components.

import React from 'react';
import { useTranslate as t } from 'translate-easy';

const MyComponent = () => {
  return (
    <input placeholder={t("Enter your name", { ar: "ادخل اسمك" })} />
  );
};

export default MyComponent;

Parameters

  • text: string - The text to translate.
  • translations: { [key: string]: string } (Optional) - Custom translations for the current language.

Returns

string: The translated text.

Default Values

  • text: The original text if no translation is available.
  • translations: An empty object if no custom translations are provided.
  • selectedLanguage: English (code: "en", name: "English")
  • developmentLanguage: English (code: "en", name: "English")
  • languages: Array of default languages:
    [
      { code: "ar", name: "العربية", isRtl: true },
      { code: "en", name: "English" },
      { code: "fr", name: "Français" },
      { code: "es", name: "Español" },
      { code: "de", name: "Deutsch" },
      { code: "hi", name: "हिन्दी" },
      { code: "it", name: "Italiano" },
      { code: "ja", name: "日本語" },
      { code: "ko", name: "한국어" },
      { code: "zh-CN", name: "中文(简体)" },
      { code: "zh-TW", name: "中文(繁體)" },
    ]
  • userSelectedLanguage: English (code: "en", name: "English")
  • jsonFiles: undefined
  • useGoogleTranslate: true

LanguageProvider Component

The LanguageProvider component manages language settings and provides language context to child components.

Props

  • children: ReactNode - The children components.
  • languages: Language[] (Optional) - An array of available languages.
  • useGoogleTranslate: boolean (Optional) - Whether to use Google Translate for translation. Default is true.
  • userSelectedLanguage: Language (Optional) - The language selected by the user during runtime. Default is English ({ code: "en", name: "English" }).
  • developmentLanguage: Language (Optional) - The language used during development. Default is English ({ code: "en", name: "English" }).
  • jsonFiles: { [key: string]: string } (Optional) - Bath to the JSON files for translations.

Example

import React from 'react';
import { LanguageProvider } from 'translate-easy';

const App = () => {
  return (
    <LanguageProvider>
      {/* Your app components */}
    </LanguageProvider>
  );
};

export default App;

API Reference

useTranslate

Hook for translating text based on the selected language.

Parameters

  • text: string - The text to translate.
  • translations: { [key: string]: string } (Optional) - Custom translations for the current language.

Returns

string: The translated text.

Translate Component

Component for translating text based on the selected language.

Props

  • children: string - The text to be translated.
  • translations: { [key: string]: string } (Optional) - Optional translations for specific languages.

Contribution

Contributions are welcome! To contribute to Translate Easy, follow these steps:

  1. Fork the repository.
  2. Create your feature branch: git checkout -b feature/MyFeature.
  3. Commit your changes: git commit -m 'Add some feature'.
  4. Push to the branch: git push origin feature/MyFeature.
  5. Submit a pull request.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.4.60latest

Version History

VersionDownloads (Last 7 Days)Published
1.4.60
1.4.50
1.4.40
1.4.30
1.4.20
1.4.10
1.4.00
1.3.90
1.3.80
1.3.70
1.3.60
1.3.50
1.3.40
1.3.30
1.3.20
1.3.10
1.3.00
1.2.290
1.2.281
1.2.271
1.2.260
1.2.251
1.2.240
1.2.230
1.2.220
1.2.210
1.2.201
1.2.190
1.2.180
1.2.170
1.2.160
1.2.150
1.2.140
1.2.130
1.2.120
1.2.110
1.2.100
1.2.90
1.2.80
1.2.70
1.2.60
1.2.50
1.2.40
1.2.30
1.2.20
1.2.11
1.2.00
1.1.00
1.0.91
1.0.80
1.0.70
1.0.60
1.0.50
1.0.40
1.0.20
1.0.10
1.0.00

Package Sidebar

Install

npm i translate-easy

Weekly Downloads

6

Version

1.4.6

License

ISC

Unpacked Size

44.7 kB

Total Files

17

Last publish

Collaborators

  • osama2002