Автор Тема: Проблем при превод на php framework  (Прочетена 660 пъти)

koleto

  • Участник
  • *****
  • Публикации: 48
  • Distribution: Ubuntu
  • Window Manager: Gnome
    • Профил
    • WWW
Здравейте. Започнах да превеждам езиковите файлове на един страхотен php framework - Yii. Това са файлове, който се генерира от компонента yiic message, в които се съдържат събрани низове от сорс кода с цел превод и локализация.

Проблема е че стигнах до следната дилема - имаме съобщението '{attribute} is invalid.', което трябва да бъде преведено. На английски казваме username is invalid или password is invalid, но на български казваме потребителското име е невалидНО, паролата е невалидНА, email-a е невалидЕН. Различното окончание създава проблем текста да се преведе с едно изречение. Как ще стане по добре, да напиша някакъв клас специално за български или да направя следното - 'полето {attribute} е невалидно'. Така ще стане 'полето потребителско име е невалидно', 'полето парола е недалидно' и т.н. Проблема не съществува само при тази сигуация, а и при:
Код
GeSHi (PHP):
  1.  '{attribute} must be repeated exactly.'

Тук ми се струва много тъпо да кажем 'Полето {attribute} трябва да бъде повторено точно'. Ама мнооого тъпо. Та клас ли да пиша или как според вас ще стане най-добре?
Активен

Поражение не съществува, докато човек не се признае за победен!

tyuio

  • Гост
Re: Проблем при превод на php framework
« Отговор #1 -: Юли 24, 2009, 10:14 »
че в какъв файл се съдържа превода че да ползваш класове? Не са ли просто променливи ?
Активен

neter

  • Global Moderator
  • Участник
  • *****
  • Публикации: 2180
  • Distribution: Debian, CentOS, FreeBSD
  • Window Manager: KDE, LXDE
    • Профил
    • WWW
Re: Проблем при превод на php framework
« Отговор #2 -: Юли 24, 2009, 10:16 »
Винаги е за предпочитане да не променяш кода на софтуера, който превеждаш, тъй като разлики в кода на софтуера при различните преводи могат да доведат само до главоболия и неочаквани резултати. Стринговете в превода трябва да отговарят на броя (и горе-долу на дължината) на стринговете в основния език на софтуера (който, в случая, е английският). По-късно ще разгледам самия framework, за да видя как точно стоят нещата, но ето ти едни предложения за превод:
Цитат
{attribute} is invalid.
Грешка в {attribute}.
Цитат
{attribute} must be repeated exactly.
Моля, повторете {attribute} точно!
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

koleto

  • Участник
  • *****
  • Публикации: 48
  • Distribution: Ubuntu
  • Window Manager: Gnome
    • Профил
    • WWW
Re: Проблем при превод на php framework
« Отговор #3 -: Юли 24, 2009, 13:12 »
Като казах да напиша клас, имах предвид да направя производен клас на класа, който отговаря за съобщенията, който да бъде с допълнителни методи за българския език и той да поеме функциите на основния. Не е много трудно. А самия файла изглежда ето така:

Код
GeSHi (PHP):
  1. return array (
  2.  '"{path}" is not a valid directory.' => '"{path}" не е валидна директория',
  3.  '< Previous' => '< Предишно',
  4.  '<< First' => '<< Първо',
  5.  .....
  6.  .....
  7.  '{attribute} must be a number.' => '{attribute} трябва да е число',
  8.  '{attribute} must be an integer.' => '{attribute} трябва да бъде цяло число',
  9.  '{attribute} must be repeated exactly.' => '',
  10.  '{attribute} must be {type}.' => '{attribute} трябва да бъде от тип {type}',
  11.  ....
  12.  ....
  13. );
  14.  

Начина, който предложи neter наистина ми допада. Мерси много за идеята.
Активен

Поражение не съществува, докато човек не се признае за победен!

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Framework  за трафик контрол
Общ форум
VladSun 0 402 Последна публикация Апр 26, 2007, 03:59
от VladSun
Как да направим собствен mvc framework с php
Web development
Vladev 0 519 Последна публикация Юни 07, 2007, 23:34
от Vladev
Framework (symfony) полза
Общ форум
borovaka 0 91 Последна публикация Юни 27, 2010, 00:56
от borovaka