Browse Source

add content language selection #14

main
ghost 1 year ago
parent
commit
0d840a5ab5
  1. 23
      src/app/controller/page.php
  2. 24
      src/app/view/theme/default/page/form/description.phtml
  3. 104
      src/config/locales.json
  4. 1
      src/public/assets/theme/default/css/common.css

23
src/app/controller/page.php

@ -46,9 +46,32 @@ class AppControllerPage @@ -46,9 +46,32 @@ class AppControllerPage
public function renderFormDescription()
{
// Prepare locales
$locales = [];
foreach (Environment::config('locales') as $key => $value)
{
$locales[$key] = (object)
[
'key' => $key,
'value' => $value[0],
'active' => false !== stripos($_SERVER['HTTP_ACCEPT_LANGUAGE'], $key) ? true : false,
];
}
// Init form
$form = (object)
[
'locale' => (object)
[
'error' => [],
'values' => $locales,
'attribute' => (object)
[
'value' => null,
'placeholder' => _('Page content language'),
]
],
'title' => (object)
[
'error' => [],

24
src/app/view/theme/default/page/form/description.phtml

@ -13,6 +13,30 @@ @@ -13,6 +13,30 @@
<h1><?php echo _('Submit') ?></h1>
</div>
<form class="margin-t-8" name="submit" method="post" enctype="multipart/form-data" action="page/form">
<div class="margin-b-16">
<label for="locale">
<?php echo _('Content language') ?>
</label>
<sub class="opacity-0 parent-hover-opacity-09"
title="<?php echo $form->locale->attribute->placeholder ?>">
<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" fill="currentColor" class="bi bi-info-circle-fill" viewBox="0 0 16 16">
<path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/>
</svg>
</sub>
<select class="width-100 margin-t-8" type="text" name="locale" id="locale">
<?php foreach ($form->locale->values as $locale) { ?>
<?php if ($locale->active) { ?>
<option value="<?php echo $locale->key ?>" selected="selected">
<?php echo $locale->value ?>
</option>
<?php } else { ?>
<option value="<?php echo $locale->key ?>">
<?php echo $locale->value ?>
</option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="margin-b-16">
<label for="title">
<?php echo _('Title') ?>

104
src/config/locales.json

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
{
"af_ZA":
"af-ZA":
[
"Afrikaans",
"Afrikaans"
@ -9,77 +9,77 @@ @@ -9,77 +9,77 @@
"العربية",
"Arabic"
],
"bg_BG":
"bg-BG":
[
"Български",
"Bulgarian"
],
"ca_AD":
"ca-AD":
[
"Català",
"Catalan"
],
"cs_CZ":
"cs-CZ":
[
"Čeština",
"Czech"
],
"cy_GB":
"cy-GB":
[
"Cymraeg",
"Welsh"
],
"da_DK":
"da-DK":
[
"Dansk",
"Danish"
],
"de_AT":
"de-AT":
[
"Deutsch (Österreich)",
"German (Austria)"
],
"de_CH":
"de-CH":
[
"Deutsch (Schweiz)",
"German (Switzerland)"
],
"de_DE":
"de-DE":
[
"Deutsch (Deutschland)",
"German (Germany)"
],
"el_GR":
"el-GR":
[
"Ελληνικά",
"Greek"
],
"en_GB":
"en-GB":
[
"English (UK)",
"English (UK)"
],
"en_US":
"en-US":
[
"English (US)",
"English (US)"
],
"es_CL":
"es-CL":
[
"Español (Chile)",
"Spanish (Chile)"
],
"es_ES":
"es-ES":
[
"Español (España)",
"Spanish (Spain)"
],
"es_MX":
"es-MX":
[
"Español (México)",
"Spanish (Mexico)"
],
"et_EE":
"et-EE":
[
"Eesti keel",
"Estonian"
@ -89,77 +89,77 @@ @@ -89,77 +89,77 @@
"Euskara",
"Basque"
],
"fa_IR":
"fa-IR":
[
"فارسی",
"Persian"
],
"fi_FI":
"fi-FI":
[
"Suomi",
"Finnish"
],
"fr_CA":
"fr-CA":
[
"Français (Canada)",
"French (Canada)"
],
"fr_FR":
"fr-FR":
[
"Français (France)",
"French (France)"
],
"gl_ES":
"gl-ES":
[
"Galego (Spain)",
"Galician (Spain)"
],
"he_IL":
"he-IL":
[
"עברית",
"Hebrew"
],
"hi_IN":
"hi-IN":
[
"हि",
"Hindi"
],
"hr_HR":
"hr-HR":
[
"Hrvatski",
"Croatian"
],
"hu_HU":
"hu-HU":
[
"Magyar",
"Hungarian"
],
"id_ID":
"id-ID":
[
"Bahasa Indonesia",
"Indonesian"
],
"is_IS":
"is-IS":
[
"Íslenska",
"Icelandic"
],
"it_IT":
"it-IT":
[
"Italiano",
"Italian"
],
"ja_JP":
"ja-JP":
[
"日本語",
"Japanese"
],
"km_KH":
"km-KH":
[
"ភរ",
"Khmer"
],
"ko_KR":
"ko-KR":
[
"한국어",
"Korean"
@ -169,107 +169,107 @@ @@ -169,107 +169,107 @@
"Latina",
"Latin"
],
"lt_LT":
"lt-LT":
[
"Lietuvių kalba",
"Lithuanian"
],
"lv_LV":
"lv-LV":
[
"Latviešu",
"Latvian"
],
"mn_MN":
"mn-MN":
[
"Монгол",
"Mongolian"
],
"nb_NO":
"nb-NO":
[
"Norsk bokmål",
"Norwegian (Bokmål)"
],
"nl_NL":
"nl-NL":
[
"Nederlands",
"Dutch"
],
"nn_NO":
"nn-NO":
[
"Norsk nynorsk",
"Norwegian (Nynorsk)"
],
"pl_PL":
"pl-PL":
[
"Polski",
"Polish"
],
"pt_BR":
"pt-BR":
[
"Português (Brasil)",
"Portuguese (Brazil)"
],
"pt_PT":
"pt-PT":
[
"Português (Portugal)",
"Portuguese (Portugal)"
],
"ro_RO":
"ro-RO":
[
"Română",
"Romanian"
],
"ru_RU":
"ru-RU":
[
"Русский",
"Russian"
],
"sk_SK":
"sk-SK":
[
"Slovenčina",
"Slovak"
],
"sl_SI":
"sl-SI":
[
"Slovenščina",
"Slovenian"
],
"sr_RS":
"sr-RS":
[
"Српски / Srpski",
"Serbian"
],
"sv_SE":
"sv-SE":
[
"Svenska",
"Swedish"
],
"th_TH":
"th-TH":
[
"ไทย",
"Thai"
],
"tr_TR":
"tr-TR":
[
"Türkçe",
"Turkish"
],
"uk_UA":
"uk-UA":
[
"Українська",
"Ukrainian"
],
"vi_VN":
"vi-VN":
[
"Tiếng Việt",
"Vietnamese"
],
"zh_CN":
"zh-CN":
[
"中文 (中国大陆)",
"Chinese (PRC)"
],
"zh_TW":
"zh-TW":
[
"中文 (台灣)",
"Chinese (Taiwan)"

1
src/public/assets/theme/default/css/common.css

@ -48,6 +48,7 @@ a:active h2 { @@ -48,6 +48,7 @@ a:active h2 {
}
input,
select,
textarea {
background: #5d627d;
color: #ccc;

Loading…
Cancel
Save