Добрый день! Прошу совета по локализации
http://www.icejoomla.com/extensions/icebooking, пробовал переписать языковый файл
http://www.icejoomla.com/downloads/extension-extras, я так понял он просто добавляется в таблицу:
<?php
defined('_JEXEC') or die ( 'Restricted access' );
class LanguageInstaller
{
var $_languageTag = 'en-GB';
var $_context = 'Apartments';
var $positions;
/**
* Install a language into the icebooking database
* @param $db A JDatabase resource
* @return bool True if install successfull
*/
function install(&$database)
{
$query = "REPLACE INTO `#__katla_languages` (`language`, `key`, `value`, `instance`, `position`, `type`, `hidden`) VALUES
('en-GB', 'ITEM', 'Apartment:', 'Order form', '1', '1', 0),
('en-GB', 'AMOUNT', 'Amount:', 'Order form', '1', '1', 0),
('en-GB', 'ARRIVAL', 'Arrival:', 'Order form', '1', '1', 0),
('en-GB', 'DEPARTURE', 'Departure:', 'Order form', '1', '1', 0),
('en-GB', 'ORDER_RECEVICE_FOR', 'Order information', 'Order form', '1', '1', 0),
('en-GB', 'SUBMIT_CONTINUE', 'Continue', 'Order form', '1', '1', 0),
('en-GB', 'FIRSTNAME_REQUIRED', 'Firstname is required', 'Order form', '1', '1', 0),
('en-GB', 'LASTNAME_REQUIRED', 'Lastname is required', 'Order form', '1', '1', 0),
('en-GB', 'PHONE_REQUIRED', 'Phone is required', 'Order form', '1', '1', 0),
('en-GB', 'EMAIL_REQUIRED', 'Email is required', 'Order form', '1', '1', 0),
('en-GB', 'EMAIL_CONFIRMATION_ERROR', 'Email mismatch', 'Order form', '1', '1', 0),
('en-GB', 'SELECT_COUNTRY', 'Country not selected', 'Order form', '1', '1', 0),
('en-GB', 'CITY_REQUIRED', 'City is required', 'Order form', '1', '1', 0),
('en-GB', 'ADDRESS_REQUIRED', 'Address is required', 'Order form', '1', '1', 0),
('en-GB', 'ZIP_REQUIRED', 'Zip is required', 'Order form', '1', '1', 0),
('en-GB', 'ADULTS_REQUIRED', 'There must be one or more', 'Order form', '1', '1', 0),
('en-GB', 'NUMBERS_ONLY', 'Numbers only allowed', 'Order form', '1', '1', 0),
('en-GB', 'EMAIL_INVALID', 'Invalid email address', 'Order form', '1', '1', 0),
('en-GB', 'ERROR_TERMS', 'You must agree to continue', 'Order form', '1', '1', 0),
('en-GB', 'BOOKING_CONTINUE', 'Place booking', 'Order form', '1', '1', 0),
('en-GB', 'ORDER_INFORMATION', 'Order information', 'Order form', '1', '1', 0),
('en-GB', 'CONTACT_INFORMATION', 'Booking details', 'Order form', '1', '1', 0),
('en-GB', 'FIRSTNAME', 'Firstname:', 'Order form', '1', '1', 0),
('en-GB', 'LASTNAME', 'Lastname:', 'Order form', '1', '1', 0),
('en-GB', 'EMAIL', 'Email:', 'Order form', '1', '1', 0),
('en-GB', 'EMAIL_CONFIRMATION', 'Email confirmation:', 'Order form', '1', '1', 0),
('en-GB', 'PHONE', 'Phone:', 'Order form', '1', '1', 0),
('en-GB', 'PHONE2', 'Phone2:', 'Order form', '1', '1', 0),
('en-GB', 'COUNTRY', 'Country:', 'Order form', '1', '1', 0),
('en-GB', 'CITY', 'City:', 'Order form', '1', '1', 0),
('en-GB', 'ADDRESS', 'Address:', 'Order form', '1', '1', 0),
('en-GB', 'ZIP', 'Zip:', 'Order form', '1', '1', 0),
('en-GB', 'MESSAGE', 'Message:', 'Order form', '1', '1', 0),
('en-GB', 'PAID', 'Paid:', 'Other', '1', '1', 0),
('en-GB', 'BOOKING_STATUS', 'Booking status:', 'Order form', '1', '1', 0),
('en-GB', 'ADULTS', 'Adults:', 'Order form', '1', '1', 0),
('en-GB', 'CHILDRENS', 'Childrens:', 'Order form', '1', '1', 0),
('en-GB', 'OTHER_AVAILABLE_ITEMS', 'Other available apartments', 'Order form', '1', '1', 0),
('en-GB', 'ACCEPT_TERMS', 'I accept terms of agreement', 'Order form', '1', '1', 0),
('en-GB', 'AGREE', 'Agree', 'Order form', '1', '1', 0),
('en-GB', 'DISAGREE', 'Disagree', 'Order form', '1', '1', 0),
('en-GB', 'PENDING', 'Pending', 'Order form', '1', '1', 0),
('en-GB', 'CONFIRMED', 'Confirmed', 'Order form', '1', '1', 0),
('en-GB', 'ERROR', 'Oh no! something went wrong, please try again or give us a call.', 'Other', '1', '1', 0),
('en-GB', 'OLD_BROWSER', 'Please update your browser if it does not support javascript!', 'Other', '1', '1', 0),
('en-GB', 'JANUARY', 'January', 'Other', '1', '1', 0),
('en-GB', 'FEBRUARY', 'February', 'Other', '1', '1', 0),
('en-GB', 'MARCH', 'March', 'Other', '1', '1', 0),
('en-GB', 'APRIL', 'April', 'Other', '1', '1', 0),
('en-GB', 'MAY', 'May', 'Other', '1', '1', 0),
('en-GB', 'JUNE', 'June', 'Other', '1', '1', 0),
('en-GB', 'JULY', 'July', 'Other', '1', '1', 0),
('en-GB', 'AUGUST', 'August', 'Other', '1', '1', 0),
('en-GB', 'SEPTEMBER', 'September', 'Other', '1', '1', 0),
('en-GB', 'OCTOBER', 'October', 'Other', '1', '1', 0),
('en-GB', 'NOVEMBER', 'November', 'Other', '1', '1', 0),
('en-GB', 'DECEMBER', 'December', 'Other', '1', '1', 0),
('en-GB', 'MONDAY', 'Monday', 'Other', '1', '1', 0),
('en-GB', 'TUESDAY', 'Tuesday', 'Other', '1', '1', 0),
('en-GB', 'WEDNESDAY', 'Wednesday', 'Other', '1', '1', 0),
('en-GB', 'THURSDAY', 'Thursday', 'Other', '1', '1', 0),
('en-GB', 'FRIDAY', 'Friday', 'Other', '1', '1', 0),
('en-GB', 'SATURDAY', 'Saturday', 'Other', '1', '1', 0),
('en-GB', 'SUNDAY', 'Sunday', 'Other', '1', '1', 0),
('en-GB', 'MONDAY_MIN', 'Mo', 'Other', '1', '1', 0),
('en-GB', 'TUESDAY_MIN', 'Tu', 'Other', '1', '1', 0),
('en-GB', 'WEDNESDAY_MIN', 'We', 'Other', '1', '1', 0),
('en-GB', 'THURSDAY_MIN', 'Th', 'Other', '1', '1', 0),
('en-GB', 'FRIDAY_MIN', 'Fr', 'Other', '1', '1', 0),
('en-GB', 'SATURDAY_MIN', 'Sa', 'Other', '1', '1', 0),
('en-GB', 'SUNDAY_MIN', 'Su', 'Other', '1', '1', 0),
('en-GB', 'SELECT_ITEM', 'Select apartment', 'Module', '2', '1', 0),
('en-GB', 'NIGHTS', 'Nights', 'Module', '2', '1', 0),
('en-GB', 'NIGHT', 'Night', 'Module', '2', '1', 0),
('en-GB', 'CHECK_AVAILABILITY', 'Check availability', 'Module', '2', '1', 0),
('en-GB', 'ERROR_DEPARTURE_BEFORE_ARRIVAL', 'Departure is before arrival', 'Module', '2', '1', 0),
('en-GB', 'ERROR_ARRIVAL_PAST', 'Arrival is in the past', 'Module', '2', '1', 0),
('en-GB', 'ERROR_DEPARTURE_PAST', 'Departure is in the past', 'Module', '2', '1', 0),
('en-GB', 'ERROR_RECHECK_DATES', 'Please recheck dates', 'Module', '2', '1', 0),
('en-GB', 'ARRIVAL', 'Arrival', 'Module', '2', '1', 0),
('en-GB', 'DEPARTURE', 'Departure', 'Module', '2', '1', 0),
('en-GB', 'MORE_INFORMATION', 'More information', 'Availability', '1', '1', 0),
('en-GB', 'BOOK_THIS', 'Book this apartment', 'Availability', '1', '1', 0),
('en-GB', 'ITEM_UNAVAILABLE_TEXT', 'The selected apartment is unavailable, please try selecting other dates for this apartment.', 'Availability', '1', '1', 0),
('en-GB', 'ITEM_BOOKED_MESSAGE', 'Your booking has been reserved, thank you for choosing our services.', 'Availability', '1', '1', 0),
('en-GB', 'CUSTOMER_EMAIL_SUBJECT', 'Your reservation...', 'Emails', '1', '1', 0),
('en-GB', 'CUSTOMER_EMAIL_BODY', '<p>{logo}<br /><br /> {firstname} {lastname}<br />{address}<br />{country}, {city} {zip}<br />Email {email}<br />Telephones: {phone}, {phone2}</p>
<p> </p>
<table border=\"0\">
<tbody>
<tr>
<th style=\"text-align: left; padding-right: 20px;\">Booking ID<br /></th> <th style=\"text-align: left; padding-right: 20px;\">Apartment</th> <th style=\"text-align: left; padding-right: 20px;\">Arrival<br /> </th> <th style=\"text-align: left; padding-right: 20px;\">Departure<br /> </th> <th style=\"text-align: left; padding-right: 20px;\">Price<br /> </th>
</tr>
<tr>
<td style=\"text-align: left; padding-right: 20px;\">{booking_id}</td>
<td style=\"text-align: left; padding-right: 20px;\">{item_booked}</td>
<td style=\"text-align: left; padding-right: 20px;\">{arrival}</td>
<td style=\"text-align: left; padding-right: 20px;\">{departure}</td>
<td style=\"text-align: left; padding-right: 20px;\">{amount_total}<br /></td>
</tr>
</tbody>
</table>
<p><strong> </strong></p>
<p>Thank you for choosing our service! We hope you will enjoy your stay!</p>', 'Emails', '1', '2', 0),
('en-GB', 'SELECT', '- select -', 'Other', '1', '1', 0),
('en-GB', 'GATEWAY_MESSAGE', '', 'Gateway', '1', '2', 0);";
$query = utf8_encode($query);
$database->setQuery($query);
$database->query();
return true;
}
function getTag()
{
return $this->_languageTag;
}
function getContext()
{
return $this->_context;
}
function getPositions()
{
$pos[] = 1;
$pos[] = 2;
return $pos;
}
}
Вместе него переписал всё на русский по типу:
('ru-RU', 'NIGHTS', 'Ночи', 'Module', '2', '1', 0),
('ru_RU', 'NIGHT', 'НОчь', 'Module', '2', '1', 0),
После установки полезли квакозябры с кодировкой по типу (сек), что не так сделал? если щас вручную переправляю на русский то после сохраннния опять в квагозябры, остальные модули и компоненты все нормально воспринимают русский, куда копать?