다국어 웹 사이트 또는 응용 프로그램 개발에서는 일반적으로 다른 언어에 대한 언어 팩 (언어 파일)을 만들어야합니다. 이러한 언어 팩은 키 값 쌍의 형태로 존재하며, 여기서 키는 텍스트의 식별자를 나타내고 값은 특정 변환 내용을 나타냅니다. PHP는 이러한 언어 팩을 처리하는 다양한 방법을 제공하며 Array_fill_keys는 동적으로 키 값 쌍의 어레이를 생성하는 데 도움이되는 매우 실용적인 기능 중 하나입니다. 이 기사는 Array_Fill_Keys를 사용하여 언어 팩의 키 값 구조를 동적으로 설정하는 방법을 살펴 봅니다.
Array_Fill_Keys는 주어진 키 어레이 및 값을 기반으로 새로운 연관 배열을 생성 할 수있는 PHP의 함수입니다. 두 가지 매개 변수를 수용합니다.
키 : 키가 포함 된 배열.
값 : 채워질 값, 생성 된 모든 키는이 값에 해당합니다.
예를 들어, array_fill_keys를 사용하여 언어 패키지의 구조를 채우면 기존 키 목록을 기반으로 언어 패키지 템플릿을 동적으로 생성 할 수 있습니다.
예를 들어 키 값 쌍이 포함 된 간단한 언어 패키지 구조가 있다고 가정합니다.
``환영 '=>'환영 '
'로그인'=> '로그인'
'register'=> 'register'
Array_Fill_Keys를 통해 이러한 키 값 쌍을 동적으로 생성하려고합니다. 먼저 코드 예를 살펴보십시오.
<?php
$keys = ['welcome', 'login', 'register'];
$value = '번역되지 않았습니다'; // 기본값
$lang = array_fill_keys($keys, $value);
print_r($lang);
?>
위의 코드를 실행하면 배열이 생성되고 모든 키는 '번역되지 않은' 에 해당하며 출력은 다음과 같습니다.
Array
(
[welcome] => 번역되지 않았습니다
[login] => 번역되지 않았습니다
[register] => 번역되지 않았습니다
)
이 방법은 다국어 응용 프로그램을위한 예비 언어 패키지 구조를 작성하는 데 매우 적합하며, 그 후 필요에 따라 해당 값을 점차적으로 교체 할 수 있습니다.
언어 패키지를 동적으로 만들어 다른 언어에 따라 채우고 싶다고 가정하십시오. 먼저 Array_Fill_Keys를 통해 언어 패키지의 구조를 초기화 한 다음 언어 전환에 따라 각 키의 값을 바꿀 수 있습니다.
웹 사이트에 영어 (EN)과 중국어 (ZH)의 두 가지 언어가 있다고 가정 해 봅시다. 다음은 Array_Fill_Keys를 사용하여 언어 패키지 템플릿을 초기화하고 다른 언어로 컨텐츠를 동적으로 채우는 방법의 예입니다.
<?php
// 언어 키
$keys = ['welcome', 'login', 'register'];
// 언어 팩 구조를 초기화하십시오,모든 값은입니다 '번역되지 않았습니다'
$lang_en = array_fill_keys($keys, 'Not Translated');
$lang_zh = array_fill_keys($keys, '번역되지 않았습니다');
// 언어에 따라 콘텐츠를 동적으로 채우십시오
$lang_en['welcome'] = 'Welcome';
$lang_en['login'] = 'Login';
$lang_en['register'] = 'Register';
$lang_zh['welcome'] = '환영';
$lang_zh['login'] = '로그인하십시오';
$lang_zh['register'] = '등록하다';
// 영어 및 중국어 팩을 인쇄하십시오
echo "English Language Pack:\n";
print_r($lang_en);
echo "\nChinese Language Pack:\n";
print_r($lang_zh);
?>
위의 코드에서는 먼저 Array_fill_keys를 사용하여 '비 번역' 의 기본값으로 언어 패키지 구조를 초기화합니다. 그런 다음 해당 키 값 쌍이 다른 언어의 번역 내용에 따라 동적으로 수정됩니다. 마지막으로, 우리는 영어와 중국어의 두 가지 언어 팩을 얻었습니다.
English Language Pack:
Array
(
[welcome] => Welcome
[login] => Login
[register] => Register
)
Chinese Language Pack:
Array
(
[welcome] => 환영
[login] => 로그인하십시오
[register] => 등록하다
)
웹 사이트 나 응용 프로그램에 링크 해야하는 텍스트가 많고이 텍스트에 대한 링크가 다른 언어에 따라 다를 수있는 경우 Array_fill_Keys는 URL과 함께 언어 팩을 동적으로 처리하는 데 도움이 될 수 있습니다.
언어에 따라 도메인 이름을 변경 해야하는 링크가 있다고 가정 해 봅시다.
<?php
// 언어 키
$keys = ['homepage', 'about_us', 'contact'];
// 언어 팩 구조를 초기화하십시오,모든 값은입니다默认 URL
$lang_en = array_fill_keys($keys, 'http://example.com');
$lang_zh = array_fill_keys($keys, 'http://example.com');
// 언어에 따른 동적 충전 URL
$lang_en['homepage'] = 'http://m66.net/en/home';
$lang_en['about_us'] = 'http://m66.net/en/about';
$lang_en['contact'] = 'http://m66.net/en/contact';
$lang_zh['homepage'] = 'http://m66.net/zh/home';
$lang_zh['about_us'] = 'http://m66.net/zh/about';
$lang_zh['contact'] = 'http://m66.net/zh/contact';
// 영어 및 중국어 팩을 인쇄하십시오的 URL
echo "English Language Pack URLs:\n";
print_r($lang_en);
echo "\nChinese Language Pack URLs:\n";
print_r($lang_zh);
?>
위의 코드에서는 먼저 URL이 포함 된 언어 패키지 구조를 초기화 한 다음 다른 언어에 따라 URL의 도메인 이름 부분을 수정합니다. 모든 URL은 M66.NET 도메인 이름으로 대체되었습니다.