Создание ресурса с использованием онтологий

Иллюстрации

Показать все

Изобретение относится к системам локализации информационного наполнения и/или программного обеспечения. Техническим результатом является повышение быстродействия за счет упрощения локализации информационного наполнения программных продуктов. Платформа локализации включает: устройства управления ресурсами, множество компонентов локализации, массив онтологии, хранящий информацию онтологии; и компонент обнаружения совпадений в переводах, выполненный с возможностью приема запроса на локализацию и одного или более ресурсов от устройства управления ресурсами, при этом упомянутые один или более ресурсов содержат ресурсы от каждого из множества приложений, предназначенных для локализации, получения доступа к множеству компонентов локализации и массиву онтологии для устранения неоднозначности данных, ассоциированных с конкретными ресурсами, предназначенными для локализации на основании запроса на локализацию, и выбора и вывода локализованных данных от одного или более из множества компонентов локализации на основании предварительно заданных критериев и данных с устраненной неоднозначностью. 3 н. и 11 з.п. ф-лы, 6 ил.

Реферат

УРОВЕНЬ ТЕХНИКИ

Настоящее изобретение касается обработки данных.

Локализация представляет собой процесс изменения продуктов или служб с учетом различий для отдельных рынков сбыта. Самый распространенный пример локализации имеет место, когда приложение создается на исходном языке, а внедряется на рынке сбыта, который использует целевой язык, отличный от языка оригинала. Например, если приложение было создано на английском языке, а затем внедряется в Китае, то оно должно быть локализовано путем перевода разнообразных англоязычных строк и элементов ПИ (пользовательского интерфейса) (меню, пиктограммы и т.д.), программных компонентов и справки пользователя в приложении на китайский язык. Компоновка и стиль ПИ (в том числе тип шрифта, размер, управляющие позиции и т.д.) тоже, вероятно, будут изменены, чтобы соответствовать целевому языку. Конечно, понятие локализации является более широким, чем простое изменение языка. Рынки сбыта, которые используют один и тот же язык, могут выделяться по другим соображениям. Например, приложение может быть "локализовано" для различных возрастных групп. Оно может обладать одной конфигурацией слога языка и визуального представления для взрослых и другой для детей или подростков. Таким образом, локализация осуществляет иллюстративное приспосабливание к широкому спектру различий на отдельных рынках сбыта.

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

Кроме того, все это делается обычно в автономном режиме. Другими словами, автор создает приложение целиком или большую часть компонента, и такой компонент или приложение предоставляется устройству локализации для локализации. Обычный процесс является таким, что взаимодействие устройства локализации с первым автором является минимальным или отсутствует. Это делает его трудным для внесения изменений в первоначальное информационное наполнение, что могло бы облегчить его локализацию. Фактически во многих случаях локализация не выполняется до тех пор, пока весь продукт не будет разработан и не будет принято стратегическое сбытовое решение о распространении этого продукта на другом рынке сбыта, который использует другой язык или отличается в другом отношении. Во всех этих случаях, обычно при разработке приложения проделывается очень небольшая предварительная работа, направленная на локализацию или хотя бы на оптимизацию локализации. Точно так же присутствует очень незначительная поддержка на стадии разработки/создания для разработки приложения или другого продукта/службы, которые будет относительно просто локализовать, даже при том, что создание продукта или службы, которые легко поддаются локализации, не является более сложной, чем создание продукта или службы, которые не являются простыми для локализации.

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

Задача локализации также пропорционально меняется в зависимости от конкретной территории, на которой разрабатывается программное обеспечение. Для разработчиков, которые создают программное обеспечение на территориях, которые имеют большие рынки сбыта, локализация программного обеспечения для других (и, вероятно, более малых) рынков сбыта не является большой необходимостью. Однако если разработчик работает на территории (и использует язык), которая имеет относительно малый рынок сбыта, общая жизнеспособность продукта может зависеть от возможности локализовать этот продукт для языков, используемых на больших рынках сбыта. Это требует от производителей затрачивать чрезмерно большой объем ресурсов на локализацию. Часто это отнимает ресурсы, имеющиеся для разработки.

Другой задачей, связанной с предварительными мерами по локализации, является то, что не было хорошего способа привлечь к работе множество дополнительных источников локализации. Например, широкий спектр поставщиков локализуют свои продукты для различных рынков сбыта. Аналогичные приложения, разработанные различными поставщиками, могут быть применимы для локализации совпадающих, или очень похожих, строк или программного обеспечения для одних и тех же рынков сбыта. Однако в настоящее время не существует подходящего способа для двоих, чтобы заимствовать, или совместно использовать, работу друг друга. Следовательно, имеется много повторяющихся усилий при локализации продуктов.

Более того, существует много различных моделей программирования (таких, как Win32 (32-разрядный интерфейс прикладного программирования для Windows), CLR (Common Language Runtime - общеязыковая исполняющая среда) и написание сценариев для глобальной гипертекстовой сети) с различными типами устройств управления ресурсами, форматов ресурсов и массивов данных. Им необходимы различные синтаксические анализаторы и наборы инструментальных средств для управления локализацией, что приводит к сложным и дорогостоящим процессам и несоответствующему качеству локализации.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

Настоящее изобретение предоставляет систему для обработки данных.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

Фиг. 2 является более детализированной структурной схемой среды выполнения с применением аспектов настоящего изобретения.

Фиг. 3 является блок-схемой, иллюстрирующей общее функционирование платформы (или системы), показанной на Фиг. 2, в которой перевод является недоступным.

Фиг. 4 является блок-схемой, иллюстрирующей функционирование компонента обнаружения совпадений, показанного на Фиг. 2.

Фиг. 5 является более детализированной структурной схемой платформы (или системы) локализации, показанной на Фиг. 2, которая используется в процессе разработки приложения или другого информационного наполнения.

Фиг. 6 является блок-схемой, иллюстрирующей, как продукт может быть разработан, реализуя технологии, которые помогают при последующей локализации в соответствии с одним вариантом осуществления настоящего изобретения.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

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

Фиг. 1 иллюстрирует пример подходящего вычислительного системного окружения 100, в котором может быть реализовано настоящее изобретение. Вычислительное системное окружение 100 является только одним примером подходящего вычислительного окружения и не подразумевает наложения какого-либо ограничения относительно области применения или функциональных возможностей настоящего изобретения. Также вычислительное окружение 100 не должно пониматься как обладающее какой-либо зависимостью или требованиями относительно любого компонента или комбинации компонентов, демонстрирующихся в иллюстративном операционном окружении 100.

Настоящее изобретение действительно для многих других вычислительных системных окружений или конфигураций, общего назначения или специального назначения. Примерами известных вычислительных систем, окружений и/или конфигураций, которые могут быть подходящими для использования с настоящим изобретением, включают в себя, но не ограничиваются этим, персональные компьютеры, обслуживающие компьютеры, переносные или портативные устройства, многопроцессорные системы, микропроцессорные системы, телевизионные приставки, программируемую бытовую электронику, сетевые ПК, мини-компьютеры, универсальные компьютеры, системы телефонной связи, распределенные вычислительные окружения, которые включают в себя любое из вышеупомянутых систем или устройств, и тому подобное.

Настоящее изобретение может быть описано в общем контексте компьютерных исполняемых инструкций, таких как программные модули, исполняемые компьютером. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Настоящее изобретение предназначено для практического использования в распределенных вычислительных окружениях, когда задачи выполняются удаленными обрабатывающими устройствами, которые связаны при помощи сети передачи данных. При распределенном вычислительном окружении программные модули размещаются в компьютерных запоминающих средах и локального и удаленного компьютера, включающих в себя запоминающие устройства хранения.

Что касается Фиг. 1, иллюстративная система для реализации настоящего изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не ограничиваться этим, обрабатывающее устройство 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, в том числе системную память с обрабатывающим устройством 120. Системная шина 121 может быть любого из нескольких типов шинных структур, включающих в себя шину памяти или устройство управления памятью, шину периферийных устройств и локальную шину, использующую любую из множества шинных архитектур. В качестве примера, но не ограничиваясь этим, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA - Industry Standard Architecture), шину микроканальной архитектуры (MCA - Micro Channel Architecture), шину расширенной архитектуры промышленного стандарта (EISA - Enhanced ISA), локальную шину стандарта Ассоциации по стандартам в области видеоэлектроники (VESA - Video Electronics Standards Association) и шину соединения периферийных устройств (PCI - Peripheral Component Interconnect), также известную как шина расширения.

Компьютер 110 обычно включает в себя множество компьютерочитаемых сред. Компьютерочитаемые среды могут быть любыми имеющимися в распоряжении средами, к которым может получить доступ компьютер 110, и включают в себя и энергозависимые и энергонезависимые среды, и съемные и несъемные среды. В качестве примера, но не ограничиваясь этим, компьютерочитаемые среды могут содержать компьютерные запоминающие среды и среды передачи данных. Компьютерные запоминающие среды включают в себя и энергозависимые и энергонезависимые, и съемные и несъемные среды, реализованные для любых способа или технологии хранения информации, такой как компьютерочитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие среды включают в себя, но не ограничиваются этим, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другую технологию памяти, компакт-диски (CD-ROM), цифровые диски универсального назначения (DVD) или другое запоминающее устройство на оптическом диске, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные устройства хранения, или любую другую среду, которая может использоваться для хранения необходимой информации и к которой может получить доступ компьютер 110. Среды передачи данных обычно объединяют компьютерочитаемые инструкции, структуры данных, программные модули или другие данные в модулированный сигнал передачи данных, такой как несущая волна или другой транспортный механизм, и включают в себя любые среды доставки информации. Термин "модулированный сигнал передачи данных" обозначает сигнал, у которого одна или более из его характеристик установлены или изменены таким образом, чтобы закодировать информацию в сигнале. В качестве примера, но не ограничиваясь этим, среды передачи данных включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как звуковые волны, радиочастоты, инфракрасное излучение и другие беспроводные среды. Комбинации любого из вышеупомянутого также должны входить в понятие компьютерочитаемых сред.

Системная память 130 включает в себя компьютерную запоминающую среду в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (БСВВ), содержащая основные процедуры, которые помогают передавать информацию между элементами внутри компьютера 110, например, во время запуска, обычно хранится в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, к которым обрабатывающее устройство 120 получает непосредственный доступ и/или которыми оно в настоящий момент оперирует. В качестве примера, но не ограничиваясь этим, Фиг. 1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и программные данные 137.

Кроме того, компьютер 110 может включать в себя другие съемные/несъемные энергозависимые/энергонезависимые компьютерные запоминающие среды. Только в качестве примера, Фиг. 1 иллюстрирует накопитель 141 на жестком диске, который осуществляет считывание или запись на несъемные, энергонезависимые магнитные среды, накопитель 151 на магнитном диске, который осуществляет считывание или запись на съемный, энергонезависимый магнитный диск 152, и накопитель 155 на оптическом диске, который осуществляет считывание или запись на съемный энергонезависимый оптический диск 156, такой как CD-ROM или другие оптические среды. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие среды, которые могут использоваться в иллюстративном операционном окружении, включают в себя, но не ограничиваются этим, кассеты с магнитной лентой, платы флэш-памяти, цифровые диски универсального назначения, ленту с цифровой видеозаписью, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 141 на жестком диске обычно подсоединяется к системной шине 121 при помощи интерфейса несъемного запоминающего устройства, такого как интерфейс 140, а накопитель 151 на магнитном диске и накопитель 155 на оптическом диске обычно подсоединяется к системной шине 121 посредством интерфейса съемного запоминающего устройства, такого как интерфейс 150.

Накопители и связанные с ними компьютерные запоминающие среды, обсуждаемые выше и проиллюстрированные на Фиг. 1, обеспечивают хранение компьютерочитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На Фиг. 1, например, накопитель 141 на жестком диске проиллюстрирован как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут или совпадать или отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционной системе 144, прикладным программам 145, другим программным модулям 146 и программным данным 147 в данном описании присвоены другие ссылочные значения, чтобы пояснить, что, как минимум, они являются другими копиями.

Пользователь может вводить команды и информацию в компьютер 110 при помощи устройств ввода, таких как клавиатура 162, микрофон 163 и координатно-указательное устройство 161, например манипулятор мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя рычажный указатель, игровой планшет, антенну спутниковой связи, сканирующее устройство или тому подобное. Эти и другие устройства ввода часто соединяются с обрабатывающим устройством 120 при помощи интерфейса 160 пользовательского ввода, который подсоединяется к системной шине, но могут соединяться посредством других интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB - universal serial bus). Монитор 191 или другой тип устройства отображения также соединяется с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 197 и устройство 196 печати, которые могут быть подсоединены при помощи интерфейса 195 периферийных устройств вывода.

Компьютер 110 функционирует в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, переносным устройством, обслуживающим компьютером, маршрутизатором, сетевым ПК, равноправным устройством или другим публичным сетевым узлом и, как правило, включает в себя многие или все элементы, описанные выше касательно компьютера 110. Логические соединения, изображенные на Фиг. 1, включают в себя локальную вычислительную сеть (ЛВС) 171 и глобальную вычислительную сеть (ГВС) 173, но могут также включать в себя другие сети. Такие сетевые окружения являются обычными в офисах, корпоративных вычислительных сетях, внутренних сетях и глобальной сети на базе технологии Интернет.

При использовании в сетевом окружении ЛВС компьютер 110 соединяется с ЛВС 171 при помощи сетевого интерфейса или сопрягающего устройства 170. При использовании в сетевом окружении ГВС компьютер 110, как правило, включает в себя модем 172 или другое средство для установления связи по ГВС 173, такой как Интернет. Модем 172, который может быть внутренним или внешним, может подсоединяться к системной шине 121 через интерфейс 160 пользовательского ввода или по другой подходящей схеме. В сетевом окружении программные модули, изображенные касательно компьютера 110, или их части, могут храниться на удаленном запоминающем устройстве хранения. В качестве примера, но не ограничиваясь этим, Фиг. 1 иллюстрирует удаленные прикладные программы 185 как постоянно хранящиеся на удаленном компьютере 180. Нужно понимать, что показанные сетевые соединения являются иллюстративными и может использоваться другое средство установления соединения между компьютерами.

Фиг. 2 иллюстрирует платформу (или систему) 200 локализации, которая интегрирована в операционную систему 134, показанную на Фиг. 1. Платформа локализации 200 изображена с некоторым количеством различных запоминающих устройств, и нужно понимать, что эти запоминающие устройства могут быть воплощены в любом из множества устройств хранения, которые показаны на Фиг. 1, или в других устройствах хранения. Система 200 изображена во взаимодействии с приложением 202, которое будет подвергаться локализации, и с множеством источников 204 входных данных, которые вводят различные переводы в массивы данных в системе 200 при помощи компонента 205 сбора данных.

Сама система 200 включает в себя устройство 206 управления ресурсами, механизм 208 компоновки, устройство 210 обнаружения совпадений в переводческой памяти (ПП), устройство 212 управления загрузкой, службу 214 обработки данных переводческой памяти (ПП), систему 216 автоматического перевода (АП), фильтры 218, систему 220 сертификации и множество различных массивов данных. Массивы данных, показанные на Фиг. 2, включают в себя массив 222 данных правил применения, локальные и персональные массивы 224 и 226 соответственно, массив 228 данных словаря терминов и массив 230 данных переводов словаря терминов, массив 232 онтологий, переводческую память 234 и массив 236 данных типовых элементов ПИ. В общем случае, правила применения используются ресурсами, чтобы определить связанные с приложением обогащенные данные, в то время как фильтры используются, чтобы гарантировать, что модули (или источники 204 входных данных), вносящие вклад в данные, имеют возможность изменять только данные, внесенные ими, и что все добавленные данные отфильтрованы, исходя из определенных правил. Конечно, массивы данных могут быть сгруппированы, иным образом объединены или разделены, любым заданным способом. Функционирование системы 200 подробно описывается ниже в настоящем описании изобретения со ссылками на Фиг. 2-6. Тем не менее, приведем здесь краткое обсуждение функционирования системы 200 и элементов, показанных на Фиг. 2.

Во время рабочего цикла устройство 206 управления ресурсами загружает ресурсы, относящиеся к приложению 202, в кэш-память 207 (подобные сценарии могут встречаться для информационного наполнения и другого типа локализуемых данных). Кроме того, устройство 206 управления ресурсами принимает заявки на ресурсы от приложения 202. В ответ устройство 206 управления ресурсами сначала загружает строку на языке, который соотносится с языковой настройкой, в настоящее время выбранной платформой 200. Устройство 206 управления ресурсами решает, какой вариант ресурса загрузить, основываясь на множестве критериев, таких как доступность, степень достоверности, пользовательские параметры настройки, и т.д. Устройство 206 управления ресурсами может принять решение вызвать устройство 210 обнаружения совпадений в ПП. Чтобы сделать это, устройство 206 управления ресурсами обращается к устройству 210 обнаружения совпадений в ПП для получения перевода (или локализации) указанного ресурса. Устройство 210 обнаружения совпадений в ПП также может иметь предварительно заполненные данные ресурсов, чтобы предотвратить задержки во время выполнения загрузки ресурсов; предварительно заполненная информация будет помечена метками с соответствующими сведениями, например, исходила ли она от системы 216 АП или от устройства 210 обнаружения совпадений в ПП, степень достоверности ее источника, и т.д. Это обсуждается более подробно ниже. Если устройство 210 обнаружения совпадений в ПП не выдает в результате совпадения для ресурса, устройство 206 управления ресурсами осуществляет каскадный вывод при помощи систем восстановления ресурсов с тем, чтобы перевод мог быть предоставлен на другом запасном языке. Это также описывается более подробно ниже. Кроме того, в одном варианте осуществления, и устройство 206 управления ресурсами, и устройство 210 обнаружения совпадений в ПП обладают системами восстановления. Они могут отличаться друг от друга и, хотя результаты работы устройства 210 обнаружения совпадений в ПП могут влиять на устройство 206 управления ресурсами, устройство 206 управления ресурсами может принять решение о восстановлении без обращения к устройству 210 обнаружения совпадений в ПП.

Нередко изменения, сделанные при локализации строк, приводят к изменениям в элементах отображения, содержащих эти строки. Общие примеры включают в себя потребность в большем пространстве (более длинные строки), изменения в движении диалогового окна (языки с записью справа налево в сравнении с языками с записью слева направо) и т.д. Процесс регулирования может происходить во время локализации и/или во время исполнения. Самым распространенным случаем является, когда требуются перегруппировка и изменение размеров элементов в диалоговом окне, и этот процесс называется автоматической компоновкой. Объем и корректность информации, предоставленной во время процесса создания, будут влиять на результаты, полученные во время исполнения.

Устройство 210 обнаружения совпадений в ПП располагается между различными источниками переводов и устройством 206 управления ресурсами, которое запрашивает о совпадении информационного наполнения (или о переводе на другой язык или об иной локализации). Устройство 210 обнаружения совпадений в ПП производит поиск доступных источников (и тех источников, которые являются надежными для приложения 202), чтобы получить перевод, который имеет наивысшую связанную с ним оценку достоверности.

И опять более подробное обсуждение функционирования устройства 210 обнаружения совпадений в ПП изложено ниже со ссылкой на Фиг. 4. Однако, кратко, устройство 210 обнаружения совпадений в ПП имеет доступ к правилам, связанным с приложением или информационным наполнением 202 в массиве 222 данных правил применения, чтобы гарантировать, что независимо от того, какая локализация возвращается устройству 206 управления ресурсами, это не вызывает сбоя в приложении 202. Устройство 210 обнаружения совпадений в ПП сначала производит поиск в локальном массиве 224 данных и персональном массиве 226 данных, чтобы понять, существует ли уже локализация. Локальный массив 224 данных содержит в себе переводы или другие локализации ресурсов, которые уже были локализованы, на тот случай, если запрос, сделанный устройством 206 управления ресурсами, является таким же, как произведенный ранее.

Устройство 210 обнаружения совпадений в ПП также вызывает службу 214 обработки данных ПП. Служба 214 обработки данных ПП имеет доступ к переводческой памяти 234, которая вмещает переводы или другие локализации широкого множества различных сущностей, таких как распространенные элементы пользовательского интерфейса (ПИ), хранящиеся в массиве 236, а также определенных терминов, хранящихся в словаре 228 терминов, а массив 232 онтологий предоставляет контекстную информацию для приложения 202 и соответствующей предметной области.

Если нет уже существующей локализации или в локальных массивах 224 или 226, или в удаленном массиве 234, устройство 210 обнаружения совпадений в ПП может обратиться к доступной при необходимости системе 216 автоматического перевода (АП) (или к одной из множества доступных систем АП), чтобы выполнить автоматический перевод информационного наполнения, которое нужно локализовать. Решение устройства 210 обнаружения совпадений в ПП вызвать систему 216 АП может основываться на пользовательских настройках, доступности перевода, качестве доступных переводов и предоставленных АП переводов и т.д. Система 216 автоматического перевода, в одном варианте осуществления, является какой-нибудь серийно выпускаемой системой АП и только иллюстративно используется для переводов, если не присутствует совпадений с более высокой степенью достоверности от какого-нибудь из других источников с памятью (таких как служба 214 обработки данных ПП и локальный и персональный массивы 224 и 226 данных). Тот факт, что система 216 АП может быть по существу любой системой АП, или любой системой, способной использовать данные в различных массивах (например, предыдущие переводы) для создания переводов, значительно повышает расширяемость системы, поскольку новые или отличные системы АП легко могут применяться устройством 210 обнаружения совпадений в ПП.

Конечно, расширяемость системы АП является не единственной возможностью расширяемости в системе, а представляет собой только один пример. Некоторые другие примеры расширяемости системы включают в себя программы редактирования при создании информационного наполнения, языковые синтаксические анализаторы, переводческую память от третьей стороны, программы коллективного редактирования, средства создания и разработки, подключение к сетевым службам и т.д. Расширяемость в этих и других областях поддерживается с помощью API (интерфейс прикладного программирования) в платформе 200.

В любом случае каждый из переводческих ресурсов, к которым обращается устройство 210 обнаружения совпадений в ПП, иллюстративно будет предоставляться устройству 210 обнаружения совпадений в ПП с оценкой достоверности (или скоростью перевода, коэффициентом повторного использования или другим подобным критерием), обозначающей достоверность или коэффициент повторного использования, имеющие отношение к запрошенной локализации. Затем устройство 210 обнаружения совпадений в ПП может выбрать локализацию или перевод из надежного источника, который предоставляет перевод, соответствующий самой высокой оценке. После этого переводы загружаются устройством 212 управления загрузкой в локальный массив 224, если они уже не хранятся в нем.

В одном иллюстративном варианте осуществления переводческие входные данные могут предоставляться на различные запоминающие устройства в системе 200 от широкого спектра источников 204 входных данных. Например, поставщики или производители программного обеспечения, разрабатывающие операционные системы, в которые встроена платформа 200 локализации, иллюстративно предоставляют надежные термины на различных запоминающих устройствах. Однако в одном варианте осуществления источники 204 входных данных могут включать в себя неограниченное сообщество и сообщество разработчиков. Неограниченное сообщество позволяет любому, кто выполняет услуги по локализации с использованием системы 200, предоставлять предложенную локализацию части информационного содержимого на соответствующее запоминающее устройство при помощи компонента 205 сбора данных. Также источники 204 входных данных могут включать в себя сообщество разработчиков, которое будет (в противоположность неограниченному сообществу) сохранять переводы, предоставленные только разработчиками, официально признанными таковыми. Таким образом, можно заметить, что платформа 200 дает возможность процессу локализации быть открытым для участия сообщества в очень широких масштабах, а также и настраиваться на гранулированный уровень (например, пользователь решает, что считать надежным, а что нет), удовлетворяющий потребностям пользователя и ожидаемым результатам.

Дополнительно, компонент сбора данных может динамически (во время установки, рабочего цикла, настройки и т.д.) периодически собирать новые данные от множества источников 204 входных данных. Новые данные, конечно, могут быть новыми данными ресурсов, а также и предварительно локализованными данными или данными переводческой памяти для поддержки новых приложений, новых предметных областей и для выполнения автоматического преобразования запущенной на выполнение операционной системы. Это охватывает возможность самостоятельной настройки и точность системы.

Однако конкретный разработчик приложения, системный администратор или пользователь могут пожелать, чтобы только определенная локализация была назначена надежной. Разработчик может, например, не захотеть доверять информационному наполнению локализации от неограниченного сообщества или от сообщества разработчиков, а только от поставщиков производителей ОС. Это дает возможность разработчику или пользователю устанавливать пределы, в которых платформа 200 делает общедоступными задачи локализации для различных источников. Это может быть установлено даже на построчном уровне.

В одном таком варианте осуществления система 200 включает в себя систему 220 сертификации, которая присваивает сертификаты информационному наполнению, предоставленному определенными источниками. При этом разработчик приложения 202 может пожелать, чтобы надежным считалось только информационное наполнение локализации с присвоенным сертификатом. Например, разработчики и другие участники работ могли бы иметь возможность получить право подписывать свое информационное наполнение, которое относится к уровню, на котором они находятся, относительно их приложения. Это означает, что сертификат разработчика приложения помещает этого разработчика на уровень разработчика для этого определенного приложения, а все другие участники работ находятся на один уровень ниже в "других независимых поставщиках", на уровне сообщества или пользователя. Сертификаты могут быть надежными относительно уровня участника работ. Например, заданный производитель мог всегда иметь высший уровень, но ниже этого уровня пользователь может определить надежный уровень и в пределах уровня надежных источников. Указание того, какое информационное наполнение локализации должно быть объявлено надежным каким-либо заданным приложением 202 или каким-либо пользователем, может храниться в массиве 222 данных правил применения. Сертификаты помогают ввести доверительную систему для переводов.

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

Кроме того, нужно заметить, что персональный массив 226 аналогичен локальному массиву 224 в том, что он постоянно хранится в массиве данных пользователя. Однако локальный массив 224 является иллюстративным общесистемным массивом, в то время как персональный массив 226 является массивом, который может использоваться для указания надежного информационного наполнения локализации, соответствующего отдельному пользователю, включающим в себя данные, введенные пользователем для своего собственного персонального использования. Следовательно, каждый отдельный пользователь может идентифицировать различное надежное информационное наполнение локализации. Это информационное наполнение отождествляется с этим отдельным пользователем в персональном массиве 226. Это дает возможность отдельному пользователю дополнительно настроить процесс локализации, помимо настроек, связанных с отдельным приложением. Например, пользователь может сделать изменения в его или ее собственных приложениях, которые необходимы и допустимы для приложения. Также пользователь может в ответ предоставить сообществу для совместного использования локальные или персональные массивы.

В добавление, определенные переводы могут быть заблокированы с тем, чтобы они не изменялись. Это может быть критически важным для того, чтобы избежать возможных намеренно неверных переводов. Наприм