이것은 Twig Intl Extension 패키지의 Laravel 포트입니다.
이 패키지는 블레이드 템플릿 또는 Laravel 코드베이스에 도우미 기능을 제공하여 국제화를 신속하게 처리하기 위해 모든 Laravel 기반 애플리케이션에서 사용할 수 있습니다.
작곡가 사용:
composer require bakame/laravel-intl-formatter
기본 구성을 편집하려면 패키지 구성을 애플리케이션 구성 디렉터리에 게시해야 합니다.
php artisan vendor:publish --provider= " BakameLaravelIntl " --tag=config
구성 파일은 애플리케이션 디렉터리의 config/bakame-intl-formatter.php
에 게시됩니다.
사용 가능한 옵션에 대한 개요는 구성 파일을 참조하세요.
패키지가 설치되면 다음과 같은 전역 도우미 기능을 제공합니다.
2자리/5자리 코드가 지정된 국가 이름을 반환합니다.
country name: {{ country_name ( $country , $locale ) } }
echo view ( $ templatePath , [ ' country ' => ' FR ' , ' locale ' => ' NL ' ])-> render ();
// country name: Frankrijk
3자리 코드가 지정된 통화 이름을 반환합니다.
currency name: {{ currency_name ( $currency , $locale ) } }
echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency name: Iene japonês
3자리 코드가 지정된 통화 기호를 반환합니다.
currency symbol: {{ currency_symbol ( $currency , $locale ) } }
echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency symbol: JP¥
3자리 코드가 지정된 통화 기호를 반환합니다.
language name: {{ language_name ( $language , $locale ) } }
echo view ( $ templatePath , [ ' language ' => ' it ' , ' locale ' => ' nl ' ])-> render ();
// language name: Italiaans
3자리 코드가 지정된 통화 기호를 반환합니다.
locale name: {{ locale_name ( $data , $locale ) } }
echo view ( $ templatePath , [ ' data ' => ' sw ' , ' locale ' => ' nl ' ])-> render ();
// locale name: Swahili
식별자가 지정된 시간대 이름을 반환합니다.
timezone name: {{ locale_name ( $data , $locale ) } }
echo view ( $ templatePath , [ ' timezone ' => ' Asia/Tokyo ' , ' locale ' => ' es ' ])-> render ();
// timezone name: hora de Japón (Tokio)
해당 국가 코드의 시간대 식별자를 반환합니다.
country timezones: {{ implde ( " , " , country_timezones ( $country )) } }
$ content = view ( $ templatePath , [ ' country ' => ' CD ' , ' locale ' => ' es ' ])-> render ();
echo $ content , PHP_EOL ; // country timezones: Africa/Kinshasa, Africa/Lubumbashi
숫자를 통화 형식으로 지정합니다.
format currency: {{ format_currency ( $amount , $currency , $attrs , $locale ) } }
$ templateData = [
' amount ' => 100.356 ,
' currency ' => ' USD ' ,
' locale ' => ' ES ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format currency: 100,3 US$
숫자의 형식을 지정합니다.
format number: {{ format_number ( $number , $locale , $attrs ) } }
$ templateData = [
' number ' => 100.356 ,
' locale ' => ' nl ' ,
' style ' => ' spellout ' ,
' type ' => ' double ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format number: honderd komma drie
날짜와 시간의 형식을 지정합니다.
format datetime: {{ format_datetime ( $date , $locale , $timezone , $dateFormat , $timeFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' timeFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format datetime: Alhamisi, 2 Juni 2022 00:00:00 Saa za Afrika ya Kati
날짜/시간의 날짜 부분 형식을 지정합니다.
format date: {{ format_date ( $date , $locale , $timezone , $dateFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' long ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format date: 2 Juni 2022
날짜/시간의 시간 부분 형식을 지정합니다.
format time: {{ format_time ( $date , $locale , $timezone , $timeFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format time: 00:00:00 Saa za Afrika ya Kati
각 함수는 Twig Extra 패키지 필터/함수와 동일한 순서로 동일한 인수를 사용합니다.
함수 호출에 locale
이 지정되지 않은 경우 함수는 사용할 로케일 값으로 IlluminateSupportFacadesApp::currentLocale()
의 결과를 사용합니다.
PHP8+에서는 명명된 매개변수를 사용하여 인수가 많은 경향이 있으므로 함수 사용법을 개선할 수 있습니다.
PHP7.4에서
<?php
echo format_datetime ( ' 2019-08-07 23:39:12 ' , ' fr ' , null , medium', ' medium ' , '' , ' gregorian ' , ' fr ' );
PHP8+에서는
<?php
echo format_datetime (date: ' 2019-08-07 23:39:12 ' , locale: ' fr ' );
기여를 환영하며 전액 적립됩니다. 자세한 내용은 기여 및 행동 강령을 참조하세요.
도서관:
테스트를 실행하려면 프로젝트 폴더에서 다음 명령을 실행하세요.
$ composer test
보안 관련 문제를 발견한 경우 문제 추적기를 사용하는 대신 [email protected]으로 이메일을 보내주세요.
패키지 도우미 기능은 Twig Intl Extension에서 Fabien Potencier가 수행한 이전 작업에서 크게 영감을 받았습니다.
MIT 라이센스(MIT). 자세한 내용은 라이센스 파일을 참조하십시오.