Можно ли перевести города как обычный текст без дублирования какой-либо таблицы в БД и добавить только города и их переводы в .po
вот цикл, чтобы перечислить все города
<select name="sCity" class="selectar" id="Scity">
<option value=""><?php _e('Select a city...')?></option>
<?php foreach($aCities as $city) { ?>
<option value="<?php echo $city['s_name'] ; ?>"><?php echo $city['s_name'] ; ?></option>
<?php } ?>
Я попробовал это, но не сработало
sprintf(__('%s'), $city['s_name']);
Это невозможно перевести, так как в настоящее время в базе данных Osclass нет таблиц для этого.
Чтобы сделать это возможным, вам нужно добавить как минимум две таблицы:
oc_t_city_description
,
oc_t_region_description
Структура этих новых таблиц будет похожа на oc_t_pages_description
,
Что-то вроде fk_i_pages_id
, fk_c_locale_code
, s_title
,
Возможно, вы не захотите спрашивать команду Osclass о Github проекта, отправив вопрос.
—
О вашем тесте:
sprintf(__('%s'), $city['s_name']);
Gettext не выполняет PHP для выполнения перевода, вы просто просите его перевести «% s», а не «Париж», «Лондон» или «Сан-Франциско».
Других решений пока нет …