https://github.com/zencart-ja/zc-v1-...s/japanese.php
Sorry, Updated now.
https://github.com/zencart-ja/zc-v1-...s/japanese.php
Sorry, Updated now.
I seem to be doing something similar, trying to match older Japanese version with English 1.5.4. I am upgrading our store from 1.5.1. Japanese names have many different readings, to get the correct reading the name should have "Kana" fields. The old Japanese ZenCart could do that but I haven't been able to do that with newer versions I modified. Name order is the opposite of English, Family Name First Name. The address order too is different starting with the postal code, prefecture, street address. When the user is in English mode the name and address order should revert and the Kana fields not appear. Have you been able to make any of this work?
When you say that regardiing swtching from japanese to english that the katana fields should "revert" are you. Implying that a customer's name entered with katana should show as english or something? Or which change is expected?
I ask because the customers table which includes the first and last name of the customer only supports entry of one name per customer, not two+ or a translation.
ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...
The Japanese localize script adds 2 fields to the database;
ALTER TABLE address_book ADD entry_firstname_kana varchar(32) NOT NULL default '';
ALTER TABLE address_book ADD entry_lastname_kana varchar(32) NOT NULL default '';
ALTER TABLE customers ADD customers_firstname_kana varchar(32) NOT NULL default '';
ALTER TABLE customers ADD customers_lastname_kana varchar(32) NOT NULL default '';
ALTER TABLE orders ADD customers_name_kana varchar(64) NOT NULL default '';
ALTER TABLE orders ADD delivery_name_kana varchar(64) NOT NULL default '';
ALTER TABLE orders ADD billing_name_kana varchar(64) NOT NULL default '';
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) VALUES ('ふりがなが必要な国', 'FURIKANA_NECESSARY_COUNTRIES', 'Japanese', 'ふりがなが必要な国名をカンマで区切って入力してください', '5', '100', '', now());
There are various changes to the core files too but I can't find them all at the moment.
I tried before to get Kana to work but without luck. Please see my old post:
http://www.zen-cart.com/showthread.p...21#post1244221
Besides the database changes, the customers.php file needs to be changed in a number of places to account for kana fields. Also at least the below files need changing too.
admin\includes\application_top.php
admin\customers.php
includes\modules\pages\account_edit\header_php.php
includes\modules\pages\account_edit\jscript_form_check.php
includes\modules\pages\address_book_process\header_php.php
includes\modules\pages\login\jscript_form_check.php
includes\modules\checkout_new_address.php
includes\modules\create_account.php
includes\templates\template_default\templates\tpl_account_edit_default.php
includes\templates\template_default\templates\tpl_modules_address_book_details.p hp
includes\templates\template_default\templates\tpl_modules_checkout_new_address.p hp
includes\templates\template_default\templates\tpl_modules_create_account.php
includes\application_top.php
In order to get the address format correct the database table "Address_Format" needs to be modified.
Add one row
address_format_id "7"
address_format "$lastname $firstname 様$cr$postcode$cr$state$city$cr$streets$cr$country$cr$telephone$cr$fax"
address_summary "$statename $city"
This is from the 1.5.1 admin/customers.php file, notice about 5 modifications for Kana. Download the Japanese version to better see these changes.
$customers_firstname = zen_db_prepare_input(zen_sanitize_string($_POST['customers_firstname']));
$customers_lastname = zen_db_prepare_input(zen_sanitize_string($_POST['customers_lastname']));
// ->furikana
$customers_firstname_kana = zen_db_prepare_input($_POST['customers_firstname_kana']);
$customers_lastname_kana = zen_db_prepare_input($_POST['customers_lastname_kana']);
// <-furikana
// ->furikana
if (FURIKANA_NESESSARY)
$sql_data_array = array('customers_firstname' => $customers_firstname,
'customers_lastname' => $customers_lastname,
'customers_firstname_kana' => $customers_firstname_kana,
'customers_lastname_kana' => $customers_lastname_kana,
'customers_telephone' => $customers_telephone,
'customers_fax' => $customers_fax,
'customers_email_address' => $customers_email_address,
'customers_group_pricing' => $customers_group_pricing,
'customers_newsletter' => $customers_newsletter,
'customers_email_format' => $customers_email_format,
'customers_authorization' => $customers_authorization,
'customers_referral' => $customers_referral
);
else
$sql_data_array = array('customers_firstname' => $customers_firstname,
'customers_lastname' => $customers_lastname,
'customers_email_address' => $customers_email_address,
'customers_telephone' => $customers_telephone,
'customers_fax' => $customers_fax,
'customers_group_pricing' => $customers_group_pricing,
'customers_newsletter' => $customers_newsletter,
'customers_email_format' => $customers_email_format,
'customers_authorization' => $customers_authorization,
'customers_referral' => $customers_referral
);
// <-furikana
if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $customers_gender;
if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = ($customers_dob == '0001-01-01 00:00:00' ? '0001-01-01 00:00:00' : zen_date_raw($customers_dob));
zen_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int)$customers_id . "'");
$db->Execute("update " . TABLE_CUSTOMERS_INFO . "
set customers_info_date_account_last_modified = now()
where customers_info_id = '" . (int)$customers_id . "'");
if ($entry_zone_id > 0) $entry_state = '';
// ->furikana
if (FURIKANA_NESESSARY)
$sql_data_array = array('entry_firstname' => $customers_firstname,
'entry_lastname' => $customers_lastname,
'entry_firstname_kana' => $customers_firstname_kana,
'entry_lastname_kana' => $customers_lastname_kana,
'entry_street_address' => $entry_street_address,
'entry_postcode' => $entry_postcode,
'entry_city' => $entry_city,
'entry_country_id' => $entry_country_id);
else
$sql_data_array = array('entry_firstname' => $customers_firstname,
'entry_lastname' => $customers_lastname,
'entry_street_address' => $entry_street_address,
'entry_postcode' => $entry_postcode,
'entry_city' => $entry_city,
'entry_country_id' => $entry_country_id);
// <-furikana
// ->furikana
if (FURIKANA_NESESSARY)
$customers = $db->Execute("select c.customers_id, c.customers_gender, c.customers_firstname,
c.customers_lastname, c.customers_dob, c.customers_email_address,
c.customers_firstname_kana, c.customers_lastname_kana,
a.entry_company, a.entry_street_address, a.entry_suburb,
a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id,
a.entry_country_id, c.customers_telephone, c.customers_fax,
c.customers_newsletter, c.customers_default_address_id,
c.customers_email_format, c.customers_group_pricing,
c.customers_authorization, c.customers_referral
from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a
on c.customers_default_address_id = a.address_book_id
where a.customers_id = c.customers_id
and c.customers_id = '" . (int)$customers_id . "'");
else
$customers = $db->Execute("select c.customers_id, c.customers_gender, c.customers_firstname,
c.customers_lastname, c.customers_dob, c.customers_email_address,
a.entry_company, a.entry_street_address, a.entry_suburb,
a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id,
a.entry_country_id, c.customers_telephone, c.customers_fax,
c.customers_newsletter, c.customers_default_address_id,
c.customers_email_format, c.customers_group_pricing,
c.customers_authorization, c.customers_referral
from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a
on c.customers_default_address_id = a.address_book_id
where a.customers_id = c.customers_id
and c.customers_id = '" . (int)$customers_id . "'");
// <-furikana
<?php
// ->furikana
if (FURIKANA_NESESSARY) {
?>
var customers_firstname_kana = document.customers.customers_firstname_kana.value;
var customers_lastname_kana = document.customers.customers_lastname_kana.value;
<?php
}
// <-furikana
?>
<?php
// ->furikana
if (FURIKANA_NESESSARY) {
?>
if (customers_firstname_kana == "" || customers_firstname_kana.length < <?php echo ENTRY_FIRST_NAME_MIN_LENGTH; ?>) {
error_message = error_message + "<?php echo JS_FIRST_NAME_KANA; ?>";
error = 1;
}
if (customers_lastname_kana == "" || customers_lastname_kana.length < <?php echo ENTRY_LAST_NAME_MIN_LENGTH; ?>) {
error_message = error_message + "<?php echo JS_LAST_NAME_KANA; ?>";
error = 1;
}
<?php
}
// ->furikana
?>
<?php
// ->furikana
if (FURIKANA_NESESSARY) {
?>
<tr>
<td class="main"><?php echo ENTRY_FIRST_NAME_KANA; ?></td>
<td class="main">
<?php
if ($error == true) {
if ($entry_firstname_kana_error == true) {
echo zen_draw_input_field('customers_firstname_kana', $cInfo->customers_firstname_kana, zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname_kana', 50)) . ' ' . ENTRY_FIRST_NAME_KANA_ERROR;
} else {
echo $cInfo->customers_firstname_kana . zen_draw_hidden_field('customers_firstname_kana');
}
} else {
echo zen_draw_input_field('customers_firstname_kana', $cInfo->customers_firstname_kana, zen_set_field_length(TABLE_CUSTOMERS, 'customers_firstname_kana', 50), true);
}
?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_LAST_NAME_KANA; ?></td>
<td class="main">
<?php
if ($error == true) {
if ($entry_lastname_kana_error == true) {
echo zen_draw_input_field('customers_lastname_kana', $cInfo->customers_lastname_kana, zen_set_field_length(TABLE_CUSTOMERS, 'customers_lastname_kana', 50)) . ' ' . ENTRY_LAST_NAME_KANA_ERROR;
} else {
echo $cInfo->customers_lastname_kana . zen_draw_hidden_field('customers_lastname_kana');
}
} else {
echo zen_draw_input_field('customers_lastname_kana', $cInfo->customers_lastname_kana, zen_set_field_length(TABLE_CUSTOMERS, 'customers_lastname_kana', 50), true);
}
?></td>
</tr>
<?php
}
?>
<?php
In order to properly sell in the Japanese market these issues need to be resolved, unfortunately I'm not a programmer and it is beyond my skill.
Recently upgraded its website 1.5.5 works far better. Site of Bulgarian and for Auto Accessories http://hopshop.bg/ ... I put my package language 1.3,8 because there is no new language Bulgarian .. Admin me in English .. Where did I find that missing something in the language add or change further for now .. everything is ok .. Thank creators and people who develop ZenCart ...
Bookmarks