8000 GitHub - andreasnicolaou/locale-translator: Translate any locale with the provided pipe or service.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

andreasnicolaou/locale-translator

Repository files navigation

LocaleTranslator

Effortlessly convert ISO 639-1 locale codes (like 'en', 'fr', 'de') into human-readable language names or native names using a simple Angular pipe or service.

GitHub contributors GitHub License GitHub package.json version NPM Downloads

Installation

npm install @andreasnicolaou/locale-translator

1. Import the Module Based on Your Angular Version

🟢 For Angular 15+ (Standalone Projects)

You can directly import the pipe into any standalone component:

import { TranslateLocalePipe } from '@andreasnicolaou/locale-translator';

@Component({
  standalone: true,
  selector: 'your-component',
  imports: [TranslateLocalePipe],
  templateUrl: './your-component.html',
})
export class YourComponent {}

🟠 For Angular <15 or Module-Based Projects

Use the provided LocaleTranslationsModule to wrap the pipe and service:

import { LocaleTranslationsModule } from '@andreasnicolaou/locale-translator';

@NgModule({
  declarations: [],
  imports: [LocaleTranslationsModule],
  exports: [],
})
export class YourModule {}

💡 Note: If you're using Angular 15+ but prefer NgModule-based architecture, you can also use the module wrapper for compatibility.

Use the Service in Your Component (Optional)

import { LocaleTranslationsService, LocaleCode, LocaleType } from '@andreasnicolaou/locale-translator';

export class MyComponent {
  constructor(private readonly localeTranslationsService: LocaleTranslationsService) {
    const locale: LocaleType | undefined = this.localeTranslationsService.getLocale('en');
    console.log(locale); // Logs the name and the nativeName

    const localesMap: Map<LocaleCode, LocaleType> = this.localeTranslationsService.getAll();
    console.log(localesMap); // Logs all available locales
  }
}

API

LocaleTranslationsService

The service provides methods to retrieve locale data and manage translations.

Method Description
getLocale(code: LocaleCode): LocaleType Retrieves the language details for a given locale code. If no translation is found, returns undefined.
getAll(): Map<LocaleCode, LocaleType> Retrieves all language data, where the keys are locale codes, and the values are LocaleType objects.

translateLocale Pipe

The translateLocale pipe is used to translate a locale code into its respective name or native name.

Argument Type Description
code LocaleCode The locale code (e.g., 'en', 'fr'). This argument is required.
native boolean (default: false) If set to true, the pipe will return the native name of the locale.

Usage Examples

The pipe returns the language name by default. To get the native name, pass true as a second argument.

<div>{{ 'en' | translateLocale }}</div>
<div>{{ 'en' | translateLocale:true }}</div>

Contribution

  • Having an issue? or looking for support? Open an issue and we will get you the help you need.
  • Got a new feature or a bug fix? Fork the repo, make your changes, and submit a pull request.

Support this project

If you find this project useful, please star the repo to let people know that it's reliable. Also, share it with friends and colleagues that might find this useful as well. Thank you 😄

About

Translate any locale with the provided pipe or service.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0