Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Languages Laravel Package

rinvex/languages

Laravel package to manage languages and locales in your app. Provides database-backed language records, ISO codes, and helpers for storing, retrieving, and listing available languages across projects, with seamless integration into the Rinvex ecosystem.

View on GitHub
Deep Wiki
Context7

Rinvex Language

Rinvex Language is a simple and lightweight package for retrieving language details with flexibility. A whole bunch of data including name, native, iso codes, language family, language script, language cultures, and other attributes for the 180+ known languages worldwide at your fingertips.

Packagist Scrutinizer Code Quality Travis StyleCI License

Usage

Install via composer require rinvex/languages, then use intuitively:

// Get single language
$english = language('en');

// Get language name: English
echo $english->getName();

// Get language native name: English
echo $english->getNativeName();

// Get language ISO 639-1 code: en
echo $english->getIso6391();

// Get language ISO 639-2 code: eng
echo $english->getIso6392();

// Get language ISO 639-3 code: eng
echo $english->getIso6393();

// Get language script details: {"name": "Latin","iso_15924": "Latn","iso_numeric": "215","direction": "ltr"}
echo $english->getScript();

// Get language script name: Latin
echo $english->getScriptName();

// Get language script ISO 15924 code: Latn
echo $english->getScriptIso15924();

// Get language script ISO numeric code: 215
echo $english->getScriptIsoNumeric();

// Get language script direction: ltr
echo $english->getScriptDirection();

// Get language family details: {"name": "Indo-European","iso_639_5": "ine","hierarchy": "ine"}
echo $english->getFamily();

// Get language family name: Indo-European
echo $english->getFamilyName();

// Get language family ISO 6395 code: ine
echo $english->getFamilyIso6395();

// Get language family hierarchy: ine
echo $english->getFamilyHierarchy();

// Get language scope: individual
echo $english->getScope();

// Get language type: living
echo $english->getType();

// Get language cultures: {"en-US": {"name": "English (United States)","native": "English (United States)"}, {...}}
echo $english->getCultures();

// Get language specific culture: {"name": "English (United States)","native": "English (United States)"}
echo $english->getCulture('en-US');


// Get all languages
$languages = languages();

// Get all language scripts
$language_scripts = language_scripts();

// Get all language families
$language_families = language_families();

// Get languages with where condition (language script: Latin)
$whereLanguages = \Rinvex\Language\LanguageLoader::where('script.name', 'Latin');

Notes:

  • Rinvex Language is framework-agnostic, so it's compatible with any PHP framework whatsoever without any dependencies at all, except for the PHP version itself ^8.0.0. Awesome, huh? :smiley:
  • Rinvex Language provides the global helpers for your convenience and for ease of use, but in fact it's just wrappers around the underlying LanguageLoader class, which you can utilize and use directly if you wish

Features Explained

  • Language data are all stored here: resources/languages.json.
  • name - language english name
  • native - language native name
  • iso_639_1 - two letter code ISO 639-1
  • iso_639_2 - three letter code ISO 639-2
  • iso_639_3 - three letter code ISO 639-3
  • script - language script details
    • name: language script name
    • iso_15924: language script ISO 15924 code
    • iso_numeric: language script ISO numeric code
    • direction: language script writing direction
  • family - language family details
    • name: language family name
    • iso_639_5: three-letter ISO 639-5 code
    • hierarchy: language family hierarchy
  • cultures - list of language cultures
    • key: four-letter language culture code (iso_639_1-iso_3166_1)
    • value: culture object
      • name: language culture name
      • native: language culture native name
  • scope - language scope (like individual or macrolanguage)
  • type - language type (like living or ancient)

Changelog

Refer to the Changelog for a full history of the project.

Support

The following support channels are available at your fingertips:

Contributing & Protocols

Thank you for considering contributing to this project! The contribution guide can be found in CONTRIBUTING.md.

Bug reports, feature requests, and pull requests are very welcome.

Security Vulnerabilities

If you discover a security vulnerability within this project, please send an e-mail to help@rinvex.com. All security vulnerabilities will be promptly addressed.

About Rinvex

Rinvex is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Alexandria, Egypt since June 2016. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.

License

This software is released under The MIT License (MIT).

(c) 2016-2022 Rinvex LLC, Some rights reserved.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity