comecaramelos/i18n-iso-relations
Composer 安装命令:
composer require comecaramelos/i18n-iso-relations
包简介
Composer package for ISO 639-1 (languages) and ISO 3166-1 (countries) relationships with locale generation and validation
README 文档
README
Gestión de relación entre idiomas (ISO 639-1) y países (ISO 3166-1) para generar y validar locales en formato estándar (ej: es_ES, en_AU)
Instalación
composer require comecaramelos/i18n-iso-relations
Uso Básico
Crear instancia desde código de idioma
use ComeCaramelos\I18nIsoRelations\IsoRelations;
$iso = IsoRelations::fromLangCode('es'); // o IsoRelations::fromIso6391('es')
echo $iso->getLocale(); // es_ES
echo $iso->getLangCode(); // es
echo $iso->getCountryCode(); // ES
Crear instancia desde código de país
use ComeCaramelos\I18nIsoRelations\IsoRelations;
$iso = IsoRelations::fromCountryCode('FR'); // o IsoRelations::fromIso31661('FR')
echo $iso->getLocale(); // fr_FR
echo $iso->getLangCode(); // fr
echo $iso->getCountryCode(); // FR
Crear instancia desde locale
use ComeCaramelos\I18nIsoRelations\IsoRelations;
$iso = IsoRelations::create('fr', 'CA'); // o IsoRelations::create('fr_CA')
var_dump($iso->getValidLangCodes()); // array ['en', 'fr']
var_dump($iso->getValidCountryCodes()); // array ['FR', 'CA', 'BE', 'CH', 'LU', 'SN', 'CI', 'CM', 'MA', 'DZ', 'TN']
Datos aleatorios
use ComeCaramelos\I18nIsoRelations\IsoRelations;
// Instancia aleatoria
$iso = IsoRelations::createRandom();
// Valores aleatorios relacionados
$randomLang = $iso->getRandLangCode();
$randomCountry = $iso->getRandCountryCode();
API Completa
Métodos Estáticos
| Método | Alias | Tipo | Descripción |
|---|---|---|---|
create(string $iso6391, ?string $iso31661) | - | class | Crear instancia con ambos códigos individuales o desde un locale |
createRandom() | - | class | Crear instancia aleatoria |
fromIso31661(string $code) | fromCountryCode() | string | Crear instancia desde código ISO 3166-1 |
fromIso6391(string $code) | fromLangCode() | string | Crear instancia desde código ISO 639-1 |
getAllCombinations() | - | array | Obtener todas las combinaciones idioma-país |
getAllIso31661Codes() | - | array | Obtener todos los códigos de país |
getAllIso6391Codes() | - | array | Obtener todos los códigos de idioma |
Métodos de Instancia
| Método | Alias | Descripción |
|---|---|---|
getIso6391() | getLangCode() | Obtener código ISO 639-1 |
getIso31661() | getCountryCode() | Obtener código ISO 3166-1 |
getLocale() | - | Obtener locale en formato {lang}_{COUNTRY} |
getValidIso6391() | getValidLangCodes() | Obtener idiomas válidos para el país actual |
getValidIso31661() | getValidCountryCodes() | Obtener países válidos para el idioma actual |
getRandIso6391() | getRandLangCode() | Obtener idioma aleatorio válido para el país |
getRandIso31661() | getRandCountryCode() | Obtener país aleatorio válido para el idioma |
toArray() | - | Convertir a array |
toJson() | - | Convertir a JSON |
Licencia
MIT
Autor
ComeCaramelos
Cambios Recientes
v1.0.0
- Lanzamiento inicial
comecaramelos/i18n-iso-relations 适用场景与选型建议
comecaramelos/i18n-iso-relations 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 41 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「i18n」 「locale」 「countries」 「localization」 「languages」 「iso-3166-1」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 comecaramelos/i18n-iso-relations 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 comecaramelos/i18n-iso-relations 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 comecaramelos/i18n-iso-relations 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Easy to use i18n translation PHP class for multi-language websites
Package for convenient work with Laravel's localization features
A custom URL rule class for Yii 2 which allows to create translated URL rules
List of all countries with names and ISO 3166-1 codes in all languages and data formats for Laravel
Laravel 5.2 package that provides basic geographical data like Countries, Regions and Cities.
Bureaux A Partager Edit - Parse, validate, manipulate, and display dates in PHP w/ i18n support. Inspired by moment.js
统计信息
- 总下载量: 41
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 34
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-07