Вопрос о локализации PHP

Я создаю продукт С открытым исходным кодом и меня думающий о Локализации, я читал о gettext, но, кажется, существует большая проблема, чтобы заставить это работать в различных системах (серверы, OS и т.д.).

Как Вы обработали бы это? Существует ли безопасный способ помочь gettext работать над несколькими системами? Возможно, это уже?

Отношения из Швеции / Tobias

5
задан sandelius 27 January 2010 в 17:50
поделиться

3 ответа

Если я вас хорошо понимаю, у вас есть свойства зависимости в вашем коде, за этому совпадению, и введите свойства элементов управления календарями в вашем пользовательском управлении. Вы пытаетесь назначить коллекцию отображения различных элементов управления календарями в свойство зависимости того же имени в вашем коде.

Вы можете просто сделать это по строке кода:

Это. Селекцияdates = slavecalendar1.sevatedDates

в соответствующем событии, который зажигает, когда добавляется выбранная дата.

Даже если вы устанавливаете связывание с OnewaytoSource , выставленныеdates = Кусок кода - это задание. Поскольку свойство «Выставлено» не имеет установки, невозможно написать этот кусок кода.

Здесь Вы можете найти ссылку на документацию календаря управления

-121--3418731-

Я рекомендую взглянуть на Zend_Translate , Zend_Locale и Zend_Date . Я только начинаю баллов с ними, но для меня, они уже выглядят как действительно хорошее, чистое и современное решение для интернационализации, в отличие от хаоса, который является GetText.

Введение в Zend_Translate перечислены ряд сильных аргументов, зачем выбрать его (или что-то подобное) по GetText.

В многоязычных приложениях Содержание должно быть переведено в Несколько языков и отображение контента в зависимости от языка пользователя. Папирофон предлагает уже несколько способов обращаться Такие проблемы, однако PHP Раствор имеет некоторые проблемы:

Несвязанный API: нет единого API для другого источника форматы. Использование GetText для Пример очень сложный.

PHP поддерживает только GetText и родной массив: сама PHP предлагает только Поддержка массива или GetText. Все Другие форматы источников должны быть закодированы вручную, потому что нет родных служба поддержки.

Нет обнаружения языка по умолчанию: язык по умолчанию Пользователь не может быть обнаружен без более глубокого знание фона для разные веб-браузеры.

GetText не Безопасен в потоке: библиотека GetText PHP не тема безопасно, и он не должен использоваться в многопоточная среда. Это до проблемы с самой GetText, а не PHP, но это существующая проблема.

6
ответ дан 14 December 2019 в 01:08
поделиться

Zend Framework's Zend_Translate является наиболее гибким, что я видел. Он не обязательно нужен модуль поддержки GetText в стороне PHP, так как он читает сам формат .mo-двоичный формат.

3
ответ дан 14 December 2019 в 01:08
поделиться

Языковые блоки должны быть включены в программу. Они могут быть в базе данных или в XML-файлах. Это позволит добавлять дальнейшие языки в более поздний момент времени.

Тогда все ваше приложение должно сделать, это определить локализацию пользователем и служить подходящим текстом для каждой ситуации.

0
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: