Способ и система для создания, хранения, управления и потребления специфичных культуре данных

Иллюстрации

Показать все

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

Реферат

Описание

Область техники, к которой относится изобретение

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПОДРОБНОЕ ОПИСАНИЕ ИЛЛЮСТРАТИВНЫХ

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

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

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

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

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

Со ссылкой на фиг. 1, примерная система для реализации изобретения включает в себя вычислительное устройство общего применения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не в качестве ограничения, процессор 120, системную память 130 и системную шину 121, которая соединяет различные системные компоненты, в том числе системную память, с процессором 120. Системная шина 121 может быть любой из некоторых типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, использующей любую из многообразия шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину ассоциации по стандартизации в области видеотехники (VESA) и шину соединения периферийных компонентов (PCI), также известную как мезонинная (Mezzanine) шина.

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

Системная память 130 включает в себя компьютерные запоминающие носители в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ) 131 и оперативное запоминающее устройство (ОЗУ) 132. Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 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). Монитор 191, или другой вид устройства визуального отображения, также соединен с системной шиной 121 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть подключены через интерфейс 195 периферийного вывода.

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

Когда используется в сетевой среде LAN, компьютер 110 подключен к LAN 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде WAN, персональный компьютер 110 типично включает в себя модем 172 или другое средство для установления соединений через WAN 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 переводческой памяти (TM), систему 216 машинного перевода (MT), фильтры 218, систему 220 сертификатов и множество разных информационных хранилищ. Информационные хранилища, показанные на фиг. 2, содержат информационное хранилище 222 прикладных правил, локальное и приватное (частное) хранилища 224 и 226 соответственно, информационное хранилище 228 терминологической базы и информационное хранилище 230 перевода терминологической базы, онтологическое хранилище 232, переводческую память 234 и информационное хранилище 236 общих элементов UI. Вообще, прикладные правила используются в ресурсах, чтобы указывать имеющие отношение к приложению ценные данные, в то время как фильтры используются для того, чтобы гарантировать, что объекты (или источники 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, которая содержит переводы или другие локализации широкого многообразия различных вещей, таких как общие элементы пользовательского интерфейса (UI), сохраненные в хранилище 236, а также определенные термины, сохраненные в базе 228 терминов, а онтологическое хранилище 232 предоставляет контекстную информацию для приложения 202 и ассоциативно связанной области знаний.

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

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

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

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

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

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

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

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

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

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

Как только блок 210 поиска соответствий ТМ получает требуемую локализацию для запроса от администратора 206 ресурсов, он применяет фильтры 218 и прикладные правила из хранилища 222. Фильтры, в качестве иллюстрации, определяют термины, которые не должны размещаться в каком бы то ни было контенте локализации на любом заданном языке. Например, некоторые пользователи могут пожелать фильтровать непристойные термины или любой другой спорный контент. Поэтому фильтры 218 применяются перед использованием локализованного контента, запрошенного администратором 206 ресурсов. Будет отмечено, что применение фильтров (также как и любого другого вида проверки