
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
@abpjs/language-management
Advanced tools
ABP Framework language-management components for React - translated from @volo/abp.ng.language-management
Language management UI components for ABP Framework in React
@abpjs/language-management provides language management components for ABP-based React applications. It allows managing languages, cultures, and localization texts through a unified UI.
This package is a React translation of the original @volo/abp.ng.language-management Angular package.
# Using npm
npm install @abpjs/language-management
# Using yarn
yarn add @abpjs/language-management
# Using pnpm
pnpm add @abpjs/language-management
This package requires the following peer dependencies:
npm install @abpjs/core @abpjs/theme-shared react-router-dom
import { LanguagesComponent } from '@abpjs/language-management';
function LanguagesPage() {
return (
<LanguagesComponent
onLanguageCreated={(lang) => console.log('Created:', lang)}
onLanguageUpdated={(lang) => console.log('Updated:', lang)}
onLanguageDeleted={(id) => console.log('Deleted:', id)}
/>
);
}
import { LanguageTextsComponent } from '@abpjs/language-management';
function LanguageTextsPage() {
return (
<LanguageTextsComponent
onLanguageTextUpdated={(params) => console.log('Updated:', params)}
onLanguageTextRestored={(params) => console.log('Restored:', params)}
/>
);
}
import { useLanguages, useLanguageTexts } from '@abpjs/language-management';
function CustomLanguagesView() {
const {
languages,
cultures,
isLoading,
fetchLanguages,
fetchCultures,
createLanguage,
updateLanguage,
deleteLanguage,
setAsDefaultLanguage,
} = useLanguages();
useEffect(() => {
fetchLanguages();
fetchCultures();
}, [fetchLanguages, fetchCultures]);
return (
<ul>
{languages.map(lang => (
<li key={lang.id}>
{lang.flagIcon} {lang.displayName}
{lang.isDefaultLanguage && ' (Default)'}
</li>
))}
</ul>
);
}
Component for managing languages with full CRUD operations.
import { LanguagesComponent } from '@abpjs/language-management';
<LanguagesComponent
onLanguageCreated={(language) => {}}
onLanguageUpdated={(language) => {}}
onLanguageDeleted={(id) => {}}
/>
Props:
| Prop | Type | Required | Description |
|---|---|---|---|
onLanguageCreated | (language: Language) => void | No | Callback when a language is created |
onLanguageUpdated | (language: Language) => void | No | Callback when a language is updated |
onLanguageDeleted | (id: string) => void | No | Callback when a language is deleted |
Component for managing language texts (localization strings).
import { LanguageTextsComponent } from '@abpjs/language-management';
<LanguageTextsComponent
onLanguageTextUpdated={(params) => {}}
onLanguageTextRestored={(params) => {}}
/>
Props:
| Prop | Type | Required | Description |
|---|---|---|---|
onLanguageTextUpdated | (params: LanguageTextUpdateByNameParams) => void | No | Callback when a text is updated |
onLanguageTextRestored | (params: LanguageTextRequestByNameParams) => void | No | Callback when a text is restored |
Hook for managing languages and cultures.
import { useLanguages } from '@abpjs/language-management';
const {
languages, // All languages
totalCount, // Total count for pagination
cultures, // Available cultures
selectedLanguage, // Currently selected language
isLoading, // Loading state
error, // Error message
fetchLanguages, // Fetch languages with optional params
fetchCultures, // Fetch available cultures
getLanguageById, // Get and select a language by ID
createLanguage, // Create a new language
updateLanguage, // Update an existing language
deleteLanguage, // Delete a language
setAsDefaultLanguage, // Set a language as default
setSelectedLanguage, // Set the selected language
reset, // Reset state
} = useLanguages();
Hook for managing language texts.
import { useLanguageTexts } from '@abpjs/language-management';
const {
languageTexts, // Language texts list
totalCount, // Total count for pagination
resources, // Available localization resources
selectedLanguageText, // Currently selected text
isLoading, // Loading state
error, // Error message
fetchLanguageTexts, // Fetch texts with query params
fetchResources, // Fetch available resources
getLanguageTextByName, // Get and select a text by name
updateLanguageTextByName, // Update a text
restoreLanguageTextByName, // Restore a text to default
setSelectedLanguageText, // Set the selected text
reset, // Reset state
} = useLanguageTexts();
Service class for language management API operations.
import { LanguageManagementService } from '@abpjs/language-management';
import { useRestService } from '@abpjs/core';
function MyComponent() {
const restService = useRestService();
const service = new LanguageManagementService(restService);
// Languages
await service.getLanguages();
await service.getLanguageById(id);
await service.createLanguage(data);
await service.updateLanguage(id, data);
await service.deleteLanguage(id);
await service.setAsDefaultLanguage(id);
// Cultures and Resources
await service.getCultures();
await service.getResources();
// Language Texts
await service.getLanguageTexts(params);
await service.updateLanguageTextByName(params);
await service.restoreLanguageTextByName(params);
}
interface Language {
id: string;
cultureName: string;
uiCultureName: string;
displayName: string;
flagIcon: string;
isEnabled: boolean;
isDefaultLanguage: boolean;
creationTime: string;
creatorId: string;
}
interface LanguageText {
resourceName: string;
cultureName: string;
baseCultureName: string;
baseValue: string;
name: string;
value: string;
}
interface Culture {
displayName: string;
name: string;
}
Default route configuration for the language management module:
import { LANGUAGE_MANAGEMENT_ROUTES } from '@abpjs/language-management';
// Use in your router configuration
const routes = [
...LANGUAGE_MANAGEMENT_ROUTES.routes,
// your other routes
];
import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom';
import {
LanguagesComponent,
LanguageTextsComponent
} from '@abpjs/language-management';
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/language-management">
<Route index element={<Navigate to="languages" replace />} />
<Route path="languages" element={<LanguagesComponent />} />
<Route path="texts" element={<LanguageTextsComponent />} />
</Route>
</Routes>
</BrowserRouter>
);
}
This package is part of the ABP React monorepo. Contributions are welcome!
LGPL-3.0 - See LICENSE for details.
FAQs
ABP Framework language-management components for React - translated from @volo/abp.ng.language-management
The npm package @abpjs/language-management receives a total of 10 weekly downloads. As such, @abpjs/language-management popularity was classified as not popular.
We found that @abpjs/language-management demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.