BR112021004569A2 - ajustar dinamicamente cadeias de caracteres de texto com base no feedback de tradução de máquina - Google Patents
ajustar dinamicamente cadeias de caracteres de texto com base no feedback de tradução de máquina Download PDFInfo
- Publication number
- BR112021004569A2 BR112021004569A2 BR112021004569-4A BR112021004569A BR112021004569A2 BR 112021004569 A2 BR112021004569 A2 BR 112021004569A2 BR 112021004569 A BR112021004569 A BR 112021004569A BR 112021004569 A2 BR112021004569 A2 BR 112021004569A2
- Authority
- BR
- Brazil
- Prior art keywords
- string
- text
- text string
- translated
- length
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
O método implementado por computador divulgado pode incluir acessar uma cadeia de caracteres de texto que inclui caracteres escritos em um primeiro idioma. O método pode em seguida incluir a tradução da cadeia de caracteres de texto em diferentes idiomas usando tradução de máquina. O método pode incluir a seguir identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta e uma cadeia de caracteres mais longa. O método também pode incluir o cálculo de uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto e no comprimento de cadeia de caracteres traduzida mais longo. Além disso, o método pode incluir a aplicação dinâmica da taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada possa ser ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada. O método também pode incluir a apresentação da cadeia de caracteres de texto ajustada na interface de usuário. Vários outros métodos, sistemas e meio legível por computador também são divulgados.
Description
[0001] Este pedido reivindica prioridade do Pedido Não Provisório US nº 16/289.999, intitulado "Ajustar dinamicamente cadeias de caracteres de texto com base no feedback de tradução de máquina" e foi depositado em 11 de setembro de 2018, que reivindica o benefício do Pedido Provisório US nº 62/729.912, que é intitulado "TÉCNICAS PARA GERAR CONTEÚDO LOCALIZADO PARA EXIBIÇÃO" e foi depositado em 1 de março de 2019, todo o conteúdo do qual é incorporado neste documento por referência.
[0002] As interfaces de usuário permitem que os usuários interajam com aplicativos baseados em software. Essas interfaces de usuário geralmente incluem elementos de interface como janelas, menus, botões, links, caixas de entrada de texto, ou outros elementos que permitem aos usuários interagir com o aplicativo de software subjacente. Muitos aplicativos de software são desenvolvidos e produzidos para um público mundial. Como tal, o texto associado aos elementos de interface de usuário é frequentemente traduzido em diferentes idiomas para acomodar os usuários que falam esses idiomas. Muitas vezes, durante a tradução, as cadeias de caracteres de texto que cabem em uma determinada caixa de texto ou outro elemento de interface de usuário não cabem mais nesse elemento no idioma traduzido.
[0003] Da mesma forma, os desenvolvedores de interface de usuário de aplicativo de software frequentemente adicionam espaço extra dentro dos elementos de interface de usuário (normalmente 30% de espaço extra) para permitir a expansão durante a tradução. No entanto, a aplicação de uma taxa de expansão estática normalmente não funciona bem para todos os idiomas ou para todos os elementos de interface de usuário. Por exemplo, em alguns casos, uma cadeia de caracteres de texto traduzida pode realmente ser menor que o texto original ou pode ser maior do que uma expansão de 30% forneceria. Como tal, a aplicação de uma taxa de expansão estática pode levar a problemas adicionais de interface de usuário ao fornecer a interface de usuário em outros idiomas.
[0004] Como será descrito em mais detalhes abaixo, a presente divulgação descreve métodos e sistemas que ajustam dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada gerada especificamente para essa cadeia de caracteres em um idioma alvo no qual a cadeia de caracteres deve ser traduzida.
[0005] Em um exemplo, um método implementado por computador para ajustar dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada pode incluir acessar uma cadeia de caracteres de texto que inclui caracteres escritos em um primeiro idioma. O método pode em seguida incluir a tradução da cadeia de caracteres de texto acessada em diferentes idiomas usando tradução de máquina. O método pode incluir ainda a identificação, entre as cadeias de caracteres de texto traduzidas, de uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo. O método também pode incluir o cálculo de uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado. Além disso, o método pode incluir a aplicação dinâmica da taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada possa ser ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada. O método pode então incluir a apresentação da cadeia de caracteres de texto ajustada na interface de usuário.
[0006] Em alguns exemplos, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser calculada e aplicada dinamicamente conforme a cadeia de caracteres de texto é inserida por um usuário. Em alguns exemplos, apresentar a cadeia de caracteres de texto ajustada na interface de usuário pode incluir ainda determinar quais caracteres na cadeia de caracteres de texto acessada são vogais e pode adicionar vogais adicionais em cada vogal identificada na cadeia de caracteres de texto ajustada. Em alguns exemplos, um número suficiente de vogais adicionais pode ser adicionado à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[0007] Em alguns exemplos, apresentar a cadeia de caracteres de texto ajustada na interface de usuário pode incluir ainda adicionar palavras adicionais à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada. Em alguns exemplos, apresentar a cadeia de caracteres de texto ajustada na interface de usuário pode incluir ainda remover palavras ou caracteres da cadeia de caracteres de texto ajustada para contrair a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[0008] Em alguns exemplos, apresentar a cadeia de caracteres de texto ajustada na interface de usuário pode incluir ainda adicionar espaços adicionais entre os caracteres da cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[0009] Em alguns exemplos, o método pode incluir ainda receber uma entrada indicando um segundo idioma especificado para o qual a cadeia de caracteres de texto acessada deve ser traduzida, traduzir a cadeia de caracteres de texto acessada para o segundo idioma usando tradução de máquina, e apresentar a cadeia de caracteres de texto ajustada no segundo idioma na interface de usuário, permitindo que a interface de usuário seja verificada no segundo idioma.
[00010] Em alguns exemplos, um usuário desenvolvendo vários aspectos da interface de usuário pode implementar o ajuste de comprimento de cadeia de caracteres personalizado enquanto desenvolve a interface de usuário. Em alguns exemplos, o usuário pode ver, para cada recurso de interface de usuário, se esse recurso de interface de usuário é apresentado corretamente em um idioma especificado. Em alguns exemplos, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser aplicada dinamicamente à medida que um usuário fornece texto para elementos de interface de usuário.
[00011] Além disso, um sistema correspondente para ajustar dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada pode incluir vários módulos armazenados na memória, incluindo um módulo de acesso de cadeia de caracteres configurado para acessar uma cadeia de caracteres de texto que inclui caracteres escritos em um primeiro idioma. O sistema também pode incluir um tradutor de máquina configurado para traduzir a cadeia de caracteres de texto acessada em diferentes idiomas usando tradução de máquina. O sistema pode incluir ainda um módulo de identificação de comprimento de cadeia de caracteres configurado para identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo. Além disso, o sistema pode incluir uma calculadora de ajuste de cadeia de caracteres configurada para calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado. O sistema também pode incluir um módulo de ajuste de cadeia de caracteres configurado para aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada é ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada. O sistema também pode incluir um módulo de apresentação configurado para apresentar a cadeia de caracteres de texto ajustada na interface de usuário.
[00012] Em alguns exemplos, a cadeia de caracteres de texto ajustada pode incluir marcadores de limite visíveis na interface de usuário. Em alguns exemplos, o sistema pode ainda digitalizar capturas de tela de interface de usuário para os marcadores de limite para detectar automaticamente o recorte da cadeia de caracteres de texto ajustada. Em alguns exemplos, o sistema pode inserir marcadores intermediários na cadeia de caracteres de texto ajustada indicando a cadeia de caracteres mais curta identificada, a cadeia de caracteres mais longa identificada, a cadeia de caracteres de texto do primeiro idioma ou o comprimento recomendado pela taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[00013] Em alguns exemplos, sinais diacríticos podem ser adicionados aos caracteres da cadeia de caracteres de texto ajustada para fornecer uma tensão vertical à interface de usuário. Em alguns exemplos, o sistema pode fazer uma captura de tela da interface de usuário para uma construção de software da interface de usuário e enviar a captura de tela para um usuário de garantia de qualidade para validar a construção de software.
[00014] Em alguns exemplos, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser específica para o primeiro idioma. Em alguns exemplos, acessar a cadeia de caracteres de texto que inclui caracteres escritos em um primeiro idioma pode incluir realçar a cadeia de caracteres de texto e alterar para uma fonte especificada, de modo que a fonte aplique a taxa de ajuste de comprimento de cadeia de caracteres personalizada à cadeia de caracteres de texto acessada.
[00015] Em alguns exemplos, o método descrito acima pode ser codificado como instruções legíveis por computador em um meio legível por computador. Por exemplo, um meio legível por computador pode incluir uma ou mais instruções executáveis por computador que, quando executadas por pelo menos um processador de um dispositivo de computação, podem fazer o dispositivo de computação acessar uma cadeia de caracteres de texto que inclui caracteres escritos em um primeiro idioma, traduzir a cadeia de caracteres de texto acessada em diferentes idiomas usando tradução de máquina, identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo, calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado, aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizado, e apresentar a cadeia de caracteres de texto ajustada na interface de usuário.
[00016] Características de qualquer uma das modalidades aqui descritas podem ser usadas em combinação umas com as outras de acordo com os princípios gerais aqui descritos. Estas e outras modalidades, características e vantagens serão mais completamente compreendidas após a leitura da seguinte descrição detalhada em conjunto com os desenhos e reivindicações anexos.
[00017] Os desenhos anexos ilustram uma série de modalidades exemplares e são parte do relatório descritivo. Juntamente com a descrição a seguir, esses desenhos demonstram e explicam vários princípios da presente divulgação.
[00018] A FIG. 1 ilustra um ambiente de computação no qual modalidades aqui descritas podem ser implementadas.
[00019] A FIG. 2 ilustra um diagrama de fluxo de um método exemplar para ajustar o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[00020] A FIG. 3 ilustra uma modalidade na qual os comprimentos de cadeia de caracteres traduzidas mais curtos e mais longos são calculados.
[00021] A FIG. 4 ilustra vários caracteres que podem ser usados ao projetar uma interface de usuário.
[00022] A FIG. 5 ilustra uma modalidade na qual marcadores indicando cadeias de caracteres traduzidas mais curtas e mais longas são inseridos.
[00023] A FIG. 6 ilustra uma modalidade alternativa na qual marcadores indicando as cadeias de caracteres traduzidas mais curtas e mais longas são inseridos.
[00024] A FIG. 7 ilustra uma modalidade na qual uma taxa de ajuste de comprimento de cadeia de caracteres personalizada é aplicada ao texto em uma interface de usuário.
[00025] A FIG. 8 ilustra uma modalidade na qual a linguagem de marcação subjacente é implementada para apresentar o texto que foi ajustado usando uma taxa de ajuste de comprimento de cadeia de caracteres personalizada.
[00026] A FIG. 9A ilustra uma modalidade de uma interface de usuário na qual o texto é recortado em pelo menos um local.
[00027] A FIG. 9B ilustra uma modalidade da interface de usuário na qual o texto não é mais recortado.
[00028] Ao longo dos desenhos, descrições e caracteres de referência idênticos indicam elementos semelhantes, mas não necessariamente idênticos. Embora as modalidades exemplares aqui descritas sejam suscetíveis a várias modificações e formas alternativas, modalidades específicas foram mostradas a título de exemplo nos desenhos e serão descritas em detalhes neste documento. No entanto, as modalidades exemplares aqui descritas não se destinam a ser limitadas às formas particulares divulgadas. Em vez disso, a presente divulgação cobre todas as modificações, equivalentes e alternativas dentro do escopo das reivindicações anexas.
[00029] A presente divulgação é geralmente direcionada para ajustar dinamicamente o comprimento de cadeia de caracteres de texto em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada. Conforme observado acima, as interfaces de usuário e seus elementos constituintes são frequentemente traduzidos para diferentes idiomas. Por exemplo, em uma interface de usuário para um telefone móvel, vários botões, menus ou outros elementos podem ser traduzidos de um idioma base para um novo idioma. Em alguns casos, o texto traduzido no novo idioma pode ser mais longo ou mais curto do que no idioma base. Em sistemas tradicionais, um desenvolvedor de software trabalhando em uma interface de usuário normalmente criaria a interface de usuário em um idioma base (por exemplo, inglês) e em seguida adiciona uma taxa de expansão estática de 30% para deixar espaço para tradução em outros idiomas que normalmente usam mais palavras ou usam palavras mais longas para transmitir o mesmo significado.
[00030] Por exemplo, as frases em alemão e grego geralmente ocupam muito mais espaço do que as frases em inglês que transmitem o mesmo significado. Outros idiomas como tailandês ou chinês, podem ocupar um espaço muito menor para transmitir o significado pretendido de uma palavra ou frase. Da mesma forma, as palavras ou frases inseridas pelo desenvolvedor podem parecer muito diferentes na interface de usuário depois que essas palavras ou frases são traduzidas. Isso pode levar a muitos problemas diferentes, incluindo texto recortado ou abreviado, texto que parece muito grande ou muito pequeno para um determinado elemento de interface de usuário, texto que cobre um gráfico ou imagem, ou texto que simplesmente parece pouco profissional em uma interface produzida profissionalmente. Pelo menos alguns desses problemas podem ser evitados usando as modalidades aqui descritas.
[00031] Em uma modalidade, por exemplo, um método ou sistema pode ser projetado para calcular um comprimento de cadeia de caracteres personalizado para qualquer dado elemento em uma interface de usuário usando uma taxa de ajuste de comprimento de cadeia de caracteres personalizada. A taxa de ajuste de comprimento de cadeia de caracteres personalizada pode analisar as informações de texto traduzido de uma variedade de idiomas diferentes para determinar a melhor forma de ajustar o texto base escrito no idioma original. Então, em vez de finalizar a construção de um software naquele idioma base e enviá-lo para tradução humana, o desenvolvedor de interface de usuário pode ver como o texto provavelmente será expandido ou contraído nos idiomas traduzidos em tempo real, enquanto o desenvolvedor está trabalhando na interface de usuário.
[00032] Por exemplo, em uma modalidade da presente divulgação, um desenvolvedor de software ou outro usuário (por exemplo, um criador de conteúdo amador) pode inserir uma palavra ou frase de texto ao projetar a interface de usuário. Em seguida, nos antecedentes, os sistemas aqui descritos podem acessar a palavra ou frase, fornecer essa cadeia de caracteres de texto a um tradutor de máquina e em seguida determinar entre várias cadeias de caracteres de texto traduzidas diferentes, qual idioma resultou na tradução mais curta e qual idioma resultou na tradução mais longa. Depois disso, o sistema pode usar as traduções mais curtas e mais longas para calcular uma taxa de ajuste de cadeia de caracteres de texto personalizada. Se o idioma base for um idioma que tende a traduções mais longas, por exemplo, o comprimento de cadeia de caracteres de texto pode ser reduzido. Se o idioma base for um idioma que tende a traduções mais curtas, a cadeia de caracteres de texto pode ser estendida.
[00033] A expansão e a contração podem acontecer de várias maneiras incluindo adicionar ou remover espaços, adicionar ou remover vogais, adicionar ou remover consoantes, adicionar ou remover caracteres especiais, ou adicionar ou remover outros caracteres que adicionam ou removem espaço da cadeia de caracteres de texto original. Essa expansão ou contração pode ocorrer dinamicamente conforme o desenvolvedor está aplicando o texto na interface de usuário (por exemplo, depois que cada palavra ou frase é inserida pelo desenvolvedor). Da mesma forma, o desenvolvedor pode ser capaz de ver uma imagem precisa de como o tamanho da cadeia de caracteres de texto ficaria na interface de usuário em uma variedade de idiomas diferentes. Usando essas informações, o desenvolvedor (ou outro usuário) pode fazer alterações na cadeia de caracteres de texto ou fazer alterações na interface de usuário para acomodar melhor o texto fornecido.
[00034] A seguir irá descrever, com referência às FIGS. 1-9B, descrições detalhadas de vários métodos e sistemas para ajustar dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada. A FIG. 1 ilustra um ambiente de computação 100 que inclui um sistema de computador 101. O sistema de computador 101 pode ser substancialmente qualquer tipo de sistema de computador, incluindo um sistema de computador local ou um sistema de computador distribuído (por exemplo, nuvem). O sistema de computador 101 pode incluir pelo menos um processador 102 e pelo menos alguma memória de sistema
103. O sistema de computador 101 pode incluir módulos de programa para realizar uma variedade de funções diferentes. Os módulos do programa podem ser baseados em hardware, software ou podem incluir uma combinação de hardware e software. Cada módulo de programa pode usar hardware e/ou software de computação para realizar funções especificadas, incluindo aquelas descritas abaixo.
[00035] Por exemplo, o módulo de comunicação 104 pode ser configurado para se comunicar com outros sistemas de computador. O módulo de comunicação 104 pode incluir qualquer meio de comunicação com ou sem fio que pode receber e/ou transmitir dados para ou de outros sistemas de computador. Estes meios de comunicação podem incluir rádios de hardware incluindo, por exemplo, um receptor baseado em hardware 105, um transmissor baseado em hardware 106 ou um transceptor baseado em hardware combinado capaz de receber e transmitir dados. Os rádios podem ser rádios WIFI, rádios celulares, rádios Bluetooth, rádios de sistema de posicionamento global (GPS), ou outros tipos de rádios. O módulo de comunicação 104 pode ser configurado para interagir com bancos de dados, dispositivos de computação móvel (como telefones celulares ou tablets), incorporados ou outros tipos de sistemas de computação.
[00036] O sistema de computador 101 pode incluir ainda um módulo de acesso de cadeia de caracteres 107. O módulo de acesso de cadeia de caracteres 107 pode ser configurado para acessar cadeias de caracteres de texto, como cadeia de caracteres de texto 122. A cadeia de caracteres de texto 122 pode incluir uma única palavra, uma frase ou uma pluralidade de palavras e/ou frases. A cadeia de caracteres de texto 122 pode ser escrita em qualquer idioma base e pode incluir substancialmente qualquer número de caracteres 123. A cadeia de caracteres de texto 122 pode ser recebida de um usuário 121, de um aplicativo de software, de outra entidade, ou de um armazenamento de dados local ou distribuído como o armazenamento de dados 125. Uma vez que o módulo de acesso à cadeia de caracteres 107 acessou a cadeia de caracteres de texto, o módulo de acesso da cadeia de caracteres pode fornecer a cadeia de caracteres de texto ao tradutor de máquina 108. O tradutor de máquina 108 pode usar um ou mais algoritmos de tradução de máquina 109 para traduzir a cadeia de caracteres de texto 122 de um primeiro idioma para diferentes idiomas. De fato, o tradutor de máquina 108 pode ser configurado para traduzir cada cadeia de caracteres em substancialmente qualquer número de idiomas diferentes.
[00037] Em alguns casos, a tradução de máquina pode ocorrer automaticamente à medida que cada palavra é inserida por um usuário. Por exemplo, se o usuário 121 for um desenvolvedor de software ou provedor de conteúdo amador trabalhando em uma interface de usuário para um aplicativo de software, o usuário pode inserir palavras que devem ser integradas à interface de usuário (por exemplo, como opções de menu ou rótulos de botão ou descrições textuais, etc.). Conforme o usuário 121 insere essas palavras, o tradutor de máquina 108 pode traduzir essas palavras em um ou mais idiomas especificados. Em outros casos, o tradutor de máquina pode ser configurado para aguardar até que uma frase ou palavra completa seja inserida e em seguida realizar a tradução. Este recurso pode ser configurado nas configurações e pode ser ajustado pelo usuário 121 conforme desejado.
[00038] Após a tradução de máquina ser concluída, a cadeia de caracteres de texto traduzida 110 pode ser fornecida ao módulo de identificação de comprimento de cadeia de caracteres 111. O módulo de identificação de comprimento de cadeia de caracteres 111 pode acessar cada cadeia de caracteres traduzida e determinar o comprimento dessa cadeia de caracteres. Assim, por exemplo, se a cadeia de caracteres de texto 122 fosse traduzida em 25 idiomas diferentes, o módulo de identificação de comprimento de cadeia de caracteres 111 pode determinar o comprimento de cada cadeia de caracteres de texto traduzida 110 e determinar qual tem o comprimento de cadeia de caracteres mais curto 112 e qual tem o comprimento de cadeia de caracteres mais longo 113. Esta determinação pode ser feita com base no número de caracteres em cada cadeia de caracteres de texto traduzida
110 ou com base em quanto espaço os caracteres ocupam quando exibidos na tela.
[00039] Uma vez que a cadeia de caracteres de comprimento mais curto 112 e a comprimento de cadeia de caracteres mais longo 113 foram identificadas, a calculadora de ajuste de cadeia de caracteres 114 pode calcular uma taxa de ajuste de comprimento de cadeia de caracteres 115 que é personalizada para a cadeia de caracteres de texto 122. Em alguns casos, a taxa de ajuste de comprimento de cadeia de caracteres 115 pode ser correlacionada diretamente ao comprimento da cadeia de caracteres traduzida mais longa
113. Como tal, a cadeia de caracteres de texto 122, quando ajustada por esta taxa, pode ser igual em comprimento à cadeia de caracteres traduzida mais longa 113. Isso garantiria que, independentemente do idioma usado para a interface de usuário, cada uma das cadeias de caracteres de texto traduzidas caberia respectivamente no elemento de interface de usuário atribuído sem resultar em recortes ou outros problemas desagradáveis. Em outros casos, a taxa de ajuste de comprimento de cadeia de caracteres 115 pode ser baseada em uma distância que é menor que o comprimento total da cadeia de caracteres traduzida mais longa 113. Isso pode ser útil se determinados idiomas forem omitidos nas traduções da construção final de software, ou se o desenvolvedor estiver buscando uma solução que funcione para a maioria dos idiomas mas potencialmente não para todos os idiomas.
[00040] Uma vez que a taxa de ajuste de comprimento de cadeia de caracteres 115 foi determinada para a cadeia de caracteres de texto 122, o módulo de ajuste de cadeia de caracteres 115 pode ajustar a cadeia de caracteres de texto
122 de acordo com a taxa de ajuste de comprimento de cadeia de caracteres 115. O ajuste pode incluir expandir a cadeia de caracteres de texto adicionando caracteres extras (por exemplo, vogais, consoantes, números, etc.), adicionando espaços extras, ou adicionando outros símbolos ou caracteres à cadeia de caracteres de texto 122. Alternativamente, o ajuste pode incluir contrair a cadeia de caracteres de texto removendo caracteres (por exemplo, vogais, consoantes, números, etc.), removendo espaços extras, ou removendo outros símbolos ou caracteres da cadeia de caracteres de texto 122. Por conseguinte, o módulo de ajuste de cadeia de caracteres 116 pode expandir ou contrair a cadeia de caracteres de texto 122 de uma variedade de maneiras diferentes de acordo com a taxa de ajuste de comprimento de cadeia de caracteres 115 determinada.
[00041] Uma vez que a cadeia de caracteres de texto 122 foi ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres 115, o módulo de apresentação 118 pode apresentar a cadeia de caracteres de texto ajustada 117 na interface de usuário 120. O usuário 121 pode então ver a palavra ou frase inicialmente inserida na cadeia de caracteres de texto 122, mas a cadeia de caracteres de texto pode ser expandida ou contraída de acordo com a taxa de ajuste de comprimento de cadeia de caracteres
115. Estas modalidades serão explicadas mais abaixo em relação ao método 200 da FIG. 2.
[00042] A FIG. 2 é um diagrama de fluxo de um método implementado por computador exemplar 200 para ajustar dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada. As etapas mostradas na FIG. 2 pode ser realizado por qualquer código executável por computador adequado e/ou sistema de computação, incluindo sistema de computador 101 ilustrado na FIG. 1. Em um exemplo, cada uma das etapas de método mostradas na FIG. 2 pode representar um algoritmo cuja estrutura inclui e/ou é representada por várias sub-etapas, exemplos dos quais serão fornecidos em mais detalhes abaixo.
[00043] Conforme ilustrado na FIG. 2, na etapa 210, um ou mais dos sistemas aqui descritos podem acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma. Por exemplo, a cadeia de caracteres de texto que acessa o módulo 107 pode acessar a cadeia de caracteres de texto 122. A cadeia de caracteres de acesso ao módulo 107 pode acessar a cadeia de caracteres de texto 122 a partir de uma variedade de fontes incluindo o usuário 121 e/ou armazenamento de dados 125. O módulo de acesso de cadeia de caracteres 107 pode acessar a cadeia de caracteres de texto 122 um caractere por vez, uma palavra por vez, uma frase por vez, um parágrafo por vez, etc. Cada palavra ou frase acessada pelo módulo de acesso de cadeia de caracteres 107 pode ser traduzida para um ou mais idiomas diferentes usando tradução de máquina na etapa 220.
[00044] Por exemplo, o tradutor de máquina 108 pode implementar um ou mais algoritmos de tradução 109 para traduzir a cadeia de caracteres de texto 122 em diferentes idiomas. Na maioria dos exemplos aqui, o inglês é usado como o idioma base. No entanto, será entendido que qualquer idioma pode ser o idioma base a partir do qual as cadeias de texto 110 traduzidas são produzidas. A Figura 3, por exemplo,
ilustra um exemplo de uma cadeia de caracteres de texto em inglês 301 que é traduzido por máquina 302 em vários idiomas diferentes. Na FIG. 3, a frase “O nome de conta ou a senha estão incorretos. Por favor, tente novamente." é traduzido automaticamente para 26 idiomas diferentes de árabe (ar) para chinês (zh-TW). Mais ou menos linguagens podem ser usadas em qualquer implementação.
[00045] Uma vez que a cadeia de caracteres de texto 122 foi traduzida, o módulo de identificação de comprimento de cadeia de caracteres 111 da FIG. 1 pode determinar a cadeia de caracteres traduzida 110 com o comprimento mais curto. Nesse caso, a menor cadeia de caracteres traduzida em chinês (zh-CN). A maior cadeia de caracteres traduzida 113 é o grego (el), representado pela linha 305. A linha 303 pode representar o comprimento da frase em inglês, e a linha 304 pode representar uma expansão baseada em porcentagem, estática (por exemplo, 30%). Como pode ser visto, uma expansão baseada em porcentagem, estática resultaria em texto recortado para alemão (de), grego (el) e inglês estendido (en-XA). Por conseguinte, ao realizar a tradução de máquina, os sistemas neste documento podem determinar um cenário de pior caso para cada cadeia de caracteres de texto 122 e podem planejar com antecedência para isso. Assim, por exemplo, ao alterar a interface de usuário para acomodar a cadeia de caracteres traduzida mais longa 113, o desenvolvedor pode ser capaz de garantir que problemas associados a uma cadeia de texto traduzida excessivamente longa possam ser evitados.
[00046] Por exemplo, porque o usuário 121 (por exemplo, um desenvolvedor) sabe quanto tempo provavelmente terá a cadeia de caracteres traduzida mais longa (permitindo alguma variação entre o texto traduzido por máquina e o texto finalizado, traduzido por humanos), ele ou ela pode projetar os elementos de interface de usuário para acomodar o comprimento de cadeia de caracteres mais longo. Em última análise, na maioria dos casos, cada cadeia de caracteres provavelmente será traduzida por humanos antes que a interface de usuário final seja compilada e lançada, o que pode resultar em um comprimento de cadeia de caracteres ainda maior. Como tal, pelo menos em alguns casos, o desenvolvedor pode adicionar espaço de buffer adicional dentro do elemento de interface de usuário para uma cadeia de caracteres mais longa, traduzida por humanos. Em alguns casos, o desenvolvedor também pode planejar cadeias de caracteres traduzidas mais curtas. Por exemplo, se um usuário grego estava desenvolvendo uma interface de usuário em grego (normalmente um dos idiomas com as cadeias de caracteres de texto traduzidas mais longas), a maioria ou todas as cadeias de caracteres de texto traduzidas podem voltar do tradutor de máquina 108 mais curtas do que a cadeia de caracteres de texto grego original. Por conseguinte, em tais casos, a taxa de ajuste de comprimento de cadeia de caracteres 115 pode indicar que as cadeias de texto devem ser contraídas pelo menos em algum grau para melhor representar a maioria das línguas traduzidas.
[00047] Voltando ao método 200 da FIG. 2, na etapa 230, o módulo de identificação de comprimento de cadeia de caracteres 111 da FIG. 1 pode identificar, entre as cadeias de caracteres de texto traduzidas 110, uma cadeia de caracteres mais curta 112 tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa 113 tendo o comprimento de cadeia de caracteres traduzida mais longo. A calculadora de ajuste de cadeia de caracteres 114 pode então calcular, na etapa 240, uma taxa de ajuste de comprimento de cadeia de caracteres personalizada 115 para ajustar o comprimento da cadeia de caracteres de texto acessada 122 com base no comprimento de cadeia de caracteres traduzida mais curto identificado 112 e no comprimento de cadeia de caracteres traduzida mais longo identificado 113. O módulo de ajuste de cadeia de caracteres 116 pode então aplicar dinamicamente, na etapa 250, a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada 115 para a cadeia de caracteres de texto acessada 122. Como tal, o comprimento da cadeia de caracteres de texto acessada 122 pode ser ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada. O módulo de apresentação 118 pode, então apresentar, na etapa 260, a cadeia de caracteres de texto ajustada 117 na interface de usuário 120.
[00048] A cadeia de caracteres de texto ajustada 117 pode assumir uma variedade de formas diferentes. Como mostrado na FIG. 4, por exemplo, a cadeia de caracteres de texto ajustada 117 pode usar um conjunto personalizado de caracteres. Além dos caracteres do alfabeto inglês padrão (ou como uma alternativa aos mesmos), um conjunto correspondente de caracteres personalizados em minúsculas 401A pode ser implementado. Um conjunto em maiúsculas de caracteres personalizados 401B também pode estar na cadeia de caracteres de texto ajustada 117. Os caracteres personalizados 401A/401B podem incluir diacríticos que aparecem acima, abaixo ou dentro de caracteres do alfabeto inglês tradicional. Esses diacríticos incluem linhas, curvas, pontos ou outras formas que são incorporadas ou anexadas aos caracteres do alfabeto inglês. Esses diacríticos podem servir para expandir a cadeia de caracteres de texto ajustada 117, tanto verticalmente quanto horizontalmente. Esses caracteres personalizados podem ser implementados em cadeias de caracteres de texto da interface de usuário, incluindo menus, cabeçalhos, botões, listas suspensas ou outros elementos de interface de usuário. Os caracteres personalizados 401A/401B podem ser usados além dos caracteres de alfabeto inglês tradicional ou como uma alternativa aos caracteres de alfabeto inglês tradicional.
[00049] Por exemplo, como mostrado na FIG. 5, a frase “O nome de conta ou a senha estão incorretos. Por favor, tente novamente." (501) pode ser inserido como cadeia de caracteres de texto 122 da FIG. 1. Esta cadeia de caracteres de texto 501 pode ser traduzida automaticamente e as cadeias de caracteres de texto traduzidas resultantes 110 podem ser analisadas para diferentes comprimentos de cadeia de caracteres. A cadeia de caracteres de texto 122 pode então ser ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres calculada 115, conforme determinado na maneira descrita acima no método 200 da FIG. 2. A cadeia de caracteres ajustada resultante 117 pode aparecer na interface de usuário 120 de uma maneira semelhante à mostrada na FIG. 5. Por exemplo, a cadeia de caracteres de texto ajustada 502 pode incluir um ou mais caracteres personalizados 401A/401B da FIG. 4. A cadeia de caracteres de texto ajustada 502 também pode incluir caracteres extras para expandir a cadeia de caracteres de texto. Na cadeia de caracteres de texto ajustada 502, por exemplo, o módulo de ajuste de cadeia de caracteres 116 adicionou uma vogal extra para cada vogal presente na cadeia de caracteres de texto original 501. Pelo menos em algumas modalidades, adicionar uma vogal extra para cada vogal atualmente presente pode expandir a cadeia de caracteres de texto o suficiente para atender a taxa de ajuste de comprimento de cadeia de caracteres determinada 115.
[00050] Em alguns casos, a cadeia de caracteres de texto ajustada 502 pode incluir marcadores 503 e 504 que indicam o comprimento da tradução de máquina mais curta e o comprimento da cadeia de caracteres em inglês original, respectivamente. Assim, a seta para baixo 503 pode indicar, dentro da cadeia de caracteres de texto ajustada 502, onde a menor cadeia de caracteres de texto traduzida por máquina terminaria, e a seta para cima 504 pode indicar, dentro da cadeia de caracteres de texto ajustada 502, onde a cadeia de caracteres de texto original em inglês 501 terminaria se não fosse pelas vogais adicionadas que expandem o comprimento da cadeia de caracteres de texto ajustada. Outros marcadores também podem ser usados, como um marcador para indicar o comprimento da tradução de máquina mais longa em relação à cadeia de caracteres de texto ajustada 502. Adicionar vogais à cadeia de caracteres de texto (junto com caracteres diacríticos) pode permitir que a cadeia de caracteres de texto ajustada 502 permaneça legível enquanto ainda a expande de acordo com a taxa de ajuste de comprimento de cadeia de caracteres 115. Manter a cadeia de caracteres de texto ajustada 502 legível pode ser vantajoso para garantir que os desenvolvedores usem as modalidades aqui a longo prazo.
[00051] Outros exemplos de expansão da cadeia de caracteres de texto original são ilustrados na FIG. 6. Por exemplo, a mesma cadeia de caracteres de texto “O nome de conta ou a senha estão incorretos. Por favor, tente novamente." (601) pode ser ajustado usando consoantes extras em vez de adicionar vogais extras. Por exemplo, conforme mostrado na cadeia de caracteres de texto ajustada 602, cada consoante pode ter uma consoante extra próxima a ela. Isso pode ser usado para expandir a cadeia de caracteres de texto original 602 para uma versão mais longa que seja mais representativa de idiomas traduzidos mais longos, idiomas traduzidos como alemão ou grego. Da mesma forma, o desenvolvedor de interface de usuário pode ser capaz de ver imediatamente que uma determinada cadeia de caracteres de texto é muito longa para um determinado elemento de interface de usuário. Ou, o desenvolvedor pode ser capaz de ver que uma determinada cadeia de caracteres de texto pode ser muito mais curta quando traduzida e pode fazer alterações na cadeia de caracteres de texto ou na interface de usuário. Outros meios de ajustar o comprimento da cadeia de caracteres de texto 122 podem incluir adicionar palavras adicionais à cadeia de caracteres de texto ou adicionar as palavras no final da cadeia de caracteres, adicionar caracteres ou símbolos adicionais dentro ou no início ou no final da cadeia de caracteres de texto, alterar o tamanho de fonte, adicionar imagens ou símbolos, ou adicionar ou remover outros elementos para expandir ou contrair a cadeia de caracteres de texto. Ao ver o tamanho de cadeia de caracteres ajustado, o desenvolvedor (ou outro usuário) pode ter uma ideia informada de como a cadeia de caracteres ficará quando for formalmente traduzida para outros idiomas.
[00052] Em alguns casos, como observado acima, as cadeias de caracteres de texto 122 podem ser ajustadas (por exemplo, expandidas) e/ou modificadas para incluir diacríticos ou outros caracteres instantaneamente. Assim, conforme o usuário insere uma palavra ou frase, por exemplo, essa palavra ou frase pode ser alterada dinamicamente dentro da interface de usuário 120 para incluir caracteres ou espaços adicionais, de acordo com a taxa de ajuste de comprimento de cadeia de caracteres calculada 115 para essa palavra. Em algumas modalidades, o desenvolvimento de interfaces de usuário com esse recurso habilitado pode ser a configuração padrão. Assim, os desenvolvedores ou outros usuários que trabalham em interfaces de usuário que provavelmente serão traduzidas em vários idiomas podem saber, para cada palavra ou frase, se essa palavra ou frase caberá em seu elemento de interface de usuário projetado. Em algumas modalidades, a calculadora de ajuste de cadeia de caracteres 114 pode olhar para o comprimento de cadeia de caracteres traduzida mais curto, o comprimento de cadeia de caracteres traduzida mais longo ou um comprimento de cadeia de caracteres intermediário determinado pela adição de caracteres ou palavras à cadeia de caracteres de texto original, e em seguida determinar a taxa de ajuste de comprimento de cadeia de caracteres ideal 115 para essa cadeia de caracteres de texto modificada. Em alguns casos, uma taxa de expansão pode ser aplicada à cadeia de caracteres com base na cadeia de caracteres de texto traduzida mais longa. Em outros casos, uma taxa de expansão mais curta pode ser aplicada, dependendo das preferências de usuário, dependendo dos idiomas selecionados para tradução, dependendo das restrições do elemento de interface de usuário, ou outros fatores.
[00053] Depois que uma taxa de ajuste de comprimento de cadeia de caracteres 115 foi calculada para a cadeia de caracteres de texto 122, o módulo de ajuste de cadeia de caracteres 116 pode adicionar caracteres ou remover caracteres da cadeia de caracteres de texto para ajustá-la de acordo com a taxa determinada. Nos casos em que a cadeia de caracteres de texto 122 deve ser expandida, um certo número de vogais pode ser adicionado, por exemplo. Nos casos em que adicionar uma vogal adicional para cada vogal atualmente presente na cadeia de caracteres de texto original 122 é insuficiente para expandir a cadeia de caracteres de texto pela quantidade indicada na taxa calculada, vogais adicionais, consoantes, espaços ou outros caracteres podem ser adicionados para corresponder à taxa 115. Assim, dependendo da taxa calculada 115, um conjunto personalizado de caracteres pode ser adicionado à cadeia de caracteres de texto 122 para expandir a cadeia de caracteres de texto de modo que represente pelo menos algumas das cadeias de caracteres de texto traduzidas geradas pelo tradutor de máquina 108.
[00054] Ao adicionar vogais, consoantes ou espaços, o módulo de ajuste de cadeia de caracteres 116 pode implementar uma ou mais regras, algoritmos ou configurações para garantir que a cadeia de caracteres de texto ajustada 117 seja legível pelo usuário 121. Em alguns casos, adicionar uma mistura de caracteres aleatórios pode tornar a cadeia de caracteres de texto ajustada 117 ilegível ou pelo menos muito difícil de ler. Ao adicionar vogais adicionais ou adicionar consoantes adicionais, a cadeia de caracteres de texto ajustada 117 pode permanecer legível pelo usuário. Isso pode permitir que o usuário use as cadeias de caracteres de texto ajustadas 117 em todo o processo de desenvolvimento como um processo padrão sem que o usuário sinta que precisa alternar constantemente entre a cadeia de caracteres de texto original 122 e a cadeia de caracteres de texto ajustada 117. Manter o texto expandido (ou contraído) legível pode tornar os recursos aqui descritos utilizáveis por desenvolvedores ou outros usuários diariamente.
[00055] A Figura 7, por exemplo, ilustra um exemplo de interface de usuário que permite aos usuários selecionar um vídeo para assistir. O vídeo principal, “Moana”, é mostrado com destaque na parte superior da imagem. O texto para o título de filme 701, bem como a descrição que o acompanha é mostrado em formato de texto ajustado com várias vogais e sinais diacríticos em muitos dos caracteres. Outras imagens ou logotipos não podem ser ajustados, como a classificação do filme (PG), tempo de execução (1h 48m), informações de qualidade de vídeo (HD), informações de som surround (5.1), ou outros elementos de interface de usuário. Por conseguinte, um desenvolvedor que trabalha em vários aspectos da interface de usuário pode implementar um sistema que realiza o método 200 da FIG. 2 dinamicamente enquanto o desenvolvedor está trabalhando na interface de usuário. O desenvolvedor pode portanto ser capaz de ver facilmente como o texto traduzido ficaria se ocupasse todo o espaço estendido indicado pela cadeia de caracteres de texto ajustada. O desenvolvedor pode portanto ser capaz de ver, para cada recurso, se aquele recurso aparecerá corretamente em outros idiomas enquanto ainda visualiza o texto no idioma nativo do usuário, embora de uma forma ajustada. Esse ajuste de cadeia de caracteres de texto dinâmico pode ser aplicado a títulos e descrições de texto (por exemplo, 701), a texto próximo ou sobreposto a elementos gráficos como 702, ou a outros elementos na tela.
[00056] Assim, por exemplo, o desenvolvedor pode ser capaz de ver, dentro de um determinado elemento de interface de usuário ou gráfico, se a cadeia de caracteres de texto ajustada 117 é cortada, ou se o texto ajustado é executado em outro elemento de interface de usuário, ou se o texto ajustado cobre parte de uma imagem ou gráfico. Independentemente de quais problemas surjam, o desenvolvedor pode ser capaz de ver os problemas antes de passar pelo tempo e custo da tradução humana e pode ser capaz de consertar os problemas antes mesmo de enviar o código para uma construção. Além disso, deve-se observar que o desenvolvedor pode usar substancialmente qualquer tipo de dispositivo eletrônico ou plataforma para desenvolver a interface de usuário. Na verdade, as modalidades aqui descritas podem funcionar em substancialmente qualquer tipo de dispositivo eletrônico ou plataforma, incluindo telefones celulares, centros de jogos, televisores, ou outras plataformas, etc.
[00057] Em algumas modalidades, o sistema de computador 101 da FIG. 1 pode receber uma entrada indicando um segundo idioma especificado para o qual a cadeia de caracteres de texto acessada 122 deve ser traduzida. O tradutor de máquina 108 pode então traduzir a cadeia de caracteres de texto acessada 122 para o idioma especificado usando tradução de máquina. Esta cadeia de caracteres traduzida 110 pode então ser apresentada no idioma especificado na interface de usuário 120. Neste ponto, a cadeia de caracteres traduzida pode não ser ajustada pelo módulo de ajuste de cadeia de caracteres 116; em vez disso, a cadeia de caracteres traduzida pode ser apresentada na interface de usuário 120 diretamente em sua forma traduzida por máquina, permitindo que o desenvolvedor ou outro usuário verifique a interface de usuário no idioma especificado. O mesmo poderia ser realizado para muitos idiomas diferentes, talvez em sucessão, um após o outro. Assim, se um desenvolvedor quiser verificar um determinado idioma específico ou conjunto de idiomas para garantir que o texto nesse idioma não seja recortado ou ultrapasse seus limites, o desenvolvedor pode selecionar esse idioma ou conjunto de idiomas e o sistema de computador 101 pode traduzir e apresentar essa cadeia de caracteres de texto traduzida 110 na interface de usuário
120. Em alguns casos, o sistema de computador 101 pode gerar adicionalmente uma cadeia de caracteres de texto ajustada 117 como uma substituição para a cadeia de caracteres de texto traduzida especificada. Como tal, o desenvolvedor pode ser capaz de alternar entre a cadeia de caracteres de texto traduzida por máquina e a cadeia de caracteres de texto ajustada gerada 117 dentro da interface de usuário. Alternar entre essas cadeias de caracteres pode dar ao desenvolvedor uma ideia ainda melhor de como o idioma especificado ou conjunto de idiomas provavelmente aparecerá na interface de usuário 120.
[00058] Um sistema correspondente para ajustar dinamicamente o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada também pode ser fornecido. O sistema pode incluir o seguinte: pelo menos um processador físico (por exemplo, 102 da FIG. 1), memória física (por exemplo, 103) compreendendo instruções executáveis por computador que, quando executadas pelo processador físico, fazem com o processador físico: acessar uma cadeia de caracteres de texto 122 que inclui um ou mais caracteres 123 escritos em um primeiro idioma, traduzir a cadeia de caracteres de texto acessada em um ou mais idiomas diferentes usando tradução de máquina, identificar, entre as cadeias de caracteres de texto traduzidas 110, uma cadeia de caracteres mais curta 112 tendo o comprimento de cadeia de caracteres traduzido mais curto e uma cadeia de caracteres mais longa 113 tendo o comprimento de cadeia de caracteres traduzido mais longo, calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada 115 para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado, aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada 115 para a cadeia de caracteres de texto acessada 112 para ajustar dinamicamente o comprimento da cadeia de caracteres de texto acessada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada, e em seguida apresentar a cadeia de caracteres de texto ajustada 117 na interface de usuário
120.
[00059] Em algumas modalidades, ao desenvolver uma interface de usuário, um desenvolvedor ou outro usuário pode fornecer uma cadeia de caracteres de texto com a estrutura circundante fornecida por uma linguagem de marcação. Por exemplo, como mostrado na FIG. 8, um desenvolvedor pode fornecer uma entrada 801 com palavras ou frases que devem ser apresentadas de acordo com uma ou mais tags de linguagem de marcação de hipertexto (HTML). O sistema de computador 101 pode analisar a entrada, determinar qual parte da entrada é texto que será visível na interface de usuário e determinar qual parte é linguagem de marcação. O sistema de computador 101 pode então aplicar dinamicamente uma taxa de ajuste de cadeia de caracteres calculada 115 para as palavras que serão visíveis na interface de usuário 120. Assim, como pode ser visto na saída 802, o texto da entrada “Programas de TV e filmes adicionados no último dia.” é estendido pela adição de uma vogal para cada vogal presente na cadeia de caracteres de texto original em 801. Como pode ser visto mais adiante, o texto com variáveis também pode ser implementado em uma interface de usuário. As modalidades aqui podem ser projetadas para ignorar variáveis, ignorar texto de linguagem de marcação, e ignorar outro texto que pode ser confuso se ajustado. Como tal, na FIG. 8, apenas o texto que é visível na interface de usuário é expandido de acordo com a taxa de ajuste de cadeia de caracteres calculada 115.
[00060] Usando as modalidades aqui, os desenvolvedores que trabalham em uma interface de usuário podem determinar facilmente quando uma cadeia de caracteres de texto funcionará dentro de uma interface de usuário e quando causará problemas. Conforme ilustrado na FIG. 9A, por exemplo, uma interface de usuário 901 apresentada em um primeiro idioma (inglês) pode incluir um botão de interface de usuário 903A que diz "Sim, obter notificações". Se o usuário selecionar esse botão, o usuário provavelmente receberá notificações para a série de TV selecionada. Quando o texto da interface de usuário é traduzido para um idioma diferente (por exemplo, alemão na interface de usuário 902), o texto no botão 903B parece se encaixar corretamente, mas a frase traduzida “Lassen Sie Sich nichts ent…” 904A foi cortada. O desenvolvedor pode ter a opção de fazer alterações na interface de usuário para abrir espaço para a cadeia de caracteres de texto mais longa. Como tal, depois de fazer alterações, na FIG. 9B a cadeia de caracteres de texto “Lassen Sie sich nichts entgehen” 904B está totalmente visível.
[00061] Em alguns casos, o texto ajustado pode incluir marcadores de limite que são visíveis na interface de usuário. Por exemplo, como mostrado nas FIGS. 5-8, a cadeia de caracteres de texto ajustada pode estar entre colchetes (por exemplo, “[]” ou “{}”) ou outros marcadores de limite semelhantes. Esses marcadores de limite podem ajudar o desenvolvedor a saber onde a cadeia de caracteres de texto ajustada 117 começa e termina. A partir desses colchetes, o desenvolvedor pode deduzir se toda a cadeia de caracteres de texto ajustada está visível ou não. Em alguns casos, um marcador de limite especificado pode ser implementado no início e no final de cada cadeia de caracteres de texto ajustada. Depois que a construção da interface de usuário foi compilada, um algoritmo ou módulo de aprendizado de máquina pode tirar capturas de tela da interface de usuário e pode procurar os marcadores de limite especificados (por exemplo, colchetes). Dessa forma, um sistema automatizado pode ser capaz de escanear a interface de usuário para detectar automaticamente quando o texto foi recortado se o colchete aberto estiver visível, mas o colchete fechado estiver ausente. Em outras modalidades, o sistema automatizado pode ser configurado para fazer uma captura de tela da interface de usuário em uma determinada construção de software e enviar a captura de tela a um usuário de garantia de qualidade para inspecionar visualmente e validar a construção de software. O usuário de garantia de qualidade pode procurar marcadores de limite para ajudar a determinar se algum texto está faltando para uma compilação de software de um determinado idioma.
[00062] O sistema também pode inserir marcadores intermediários na cadeia de caracteres de texto ajustada além ou como uma alternativa aos marcadores de limite. Os marcadores intermediários (por exemplo, 503, 504 da FIG. 5) podem identificar a cadeia de caracteres mais curta, a cadeia de caracteres mais longa, o comprimento da cadeia de caracteres de texto original no idioma base, ou o comprimento recomendado pela taxa de ajuste de comprimento de cadeia de caracteres personalizada após realizar as traduções de máquina e comparação dos comprimentos das cadeias de caracteres traduzidas. Esses marcadores intermediários podem ajudar o desenvolvedor a saber como as cadeias de caracteres de texto podem parecer em outros idiomas, ou pelo menos quanto tempo as cadeias de caracteres podem ter quando traduzidas. Em alguns casos, a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada para a cadeia de caracteres de texto 122 pode ser específica para o idioma original. Assim, se o desenvolvedor estiver trabalhando em chinês, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser específica para chinês, e se o desenvolvedor estiver trabalhando em grego, alemão, inglês ou algum outro idioma, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser específica para aquele idioma. Assim, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode fornecer resultados diferentes com base no idioma original usado e nos idiomas para os quais a cadeia de caracteres de texto deve ser traduzida. Além disso, as limitações e os projetos da interface de usuário também podem limitar o quanto a taxa de ajuste de comprimento de cadeia de caracteres personalizada é permitida para expandir uma determinada cadeia de caracteres de texto. Em tais casos, a taxa de ajuste de comprimento de cadeia de caracteres personalizada pode ser reduzida para cumprir as restrições da interface de usuário.
[00063] Em alguns casos, as modalidades aqui (incluindo potencialmente o método 200 da FIG. 2) podem ser realizadas aplicando uma fonte para uma cadeia de caracteres de texto. Por exemplo, o usuário 121 pode acessar ou fornecer a cadeia de caracteres de texto 122 que inclui um ou mais caracteres 123 escritos em um idioma original. O usuário pode então destacar a cadeia de caracteres de texto 122 e alterar a fonte da cadeia de caracteres de texto para uma fonte diferente, e personalizada. A fonte personalizada pode aplicar dinamicamente uma taxa de ajuste de comprimento de cadeia de caracteres calculada à cadeia de caracteres de texto acessada para ajustar a cadeia de caracteres de texto na maneira descrita acima. O ato de aplicar a fonte pode iniciar cada uma das etapas no método 200, incluindo a realização de tradução de máquina no texto destacado, identificar comprimentos de cadeia de caracteres traduzidas, calcular uma taxa de ajuste de comprimento de cadeia de caracteres, ajustar a cadeia de caracteres e em seguida apresentar a cadeia de caracteres ajustada na nova fonte personalizada. Como tal, esta fonte personalizada pode aplicar dinamicamente uma taxa de ajuste de comprimento de cadeia de caracteres calculada e pode adicionar caracteres, espaços ou outros símbolos adicionais para ajustar a cadeia de caracteres de texto na maneira prescrita. Além disso, a fonte personalizada pode alterar os caracteres para incluir diacríticos para mostrar como o texto pode aparecer em outros idiomas. Além disso, o usuário 121 pode ser capaz de digitar nesta fonte personalizada. À medida que cada palavra é inserida e traduzida, a taxa de ajuste calculada pode ser aplicada à palavra dinamicamente. Consequentemente, o usuário 121 pode ser capaz de ver em tempo real como uma determinada cadeia de caracteres de texto aparece em sua forma ajustada à medida que a digita.
[00064] Um meio legível por computador não transitório também pode ser fornecido. O meio legível por computador não transitório pode incluir uma ou mais instruções executáveis por computador que, quando executadas por pelo menos um processador de um dispositivo de computação, fazer o dispositivo de computação acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma, traduzir a cadeia de caracteres de texto acessada em um ou mais diferentes idiomas usando tradução de máquina, identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo, calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado, aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizado, e apresentar a cadeia de caracteres de texto ajustada na interface de usuário.
[00065] Por conseguinte, as modalidades neste documento podem ser implementadas para ajustar dinamicamente uma cadeia de caracteres de texto em uma interface de usuário. A cadeia de caracteres de texto ajustada pode ser expandida ou contraída para representar como o texto ficaria se fosse traduzido para outro idioma. Isso pode ajudar um desenvolvedor de interface de usuário a saber como projetar vários elementos de interface de usuário. Se os elementos de interface de usuário, por exemplo, forem muito pequenos para caber em uma parte do texto, uma vez que o texto foi traduzido, o desenvolvedor pode alterar o texto de entrada ou pode alterar a interface de usuário para acomodar a cadeia de caracteres de texto traduzida. Assim, desta maneira, um desenvolvedor de interface de usuário pode economizar tempo e evitar o desperdício de esforço gasto em elementos de interface de usuário que podem, em última instância, precisar ser alterados (talvez pós-construção) para corrigir um problema que poderia ter sido resolvido visualizando a cadeia de caracteres de texto ajustada na interface de usuário na maneira aqui descrita.
[00066] Conforme detalhado acima, os dispositivos e sistemas de computação descritos e/ou ilustrados neste documento representam amplamente qualquer tipo ou forma de dispositivo ou sistema de computação capaz de executar instruções legíveis por computador, como aquelas contidas nos módulos descritos neste documento. Em sua configuração mais básica, esses dispositivos de computação podem incluir, cada um, pelo menos um dispositivo de memória e pelo menos um processador físico.
1. Um método implementado por computador para ajustar o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada, o método compreendendo: acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma; traduzir a cadeia de caracteres de texto acessada em um ou mais idiomas diferentes usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres customizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada; e apresentar a cadeia de caracteres de texto ajustada na interface de usuário.
2. Método implementado por computador, de acordo com a reivindicação 1, em que a taxa de ajuste de comprimento de cadeia de caracteres personalizada é calculada e aplicada dinamicamente conforme a cadeia de caracteres de texto é inserida por um usuário.
3. Método implementado por computador, de acordo com a reivindicação 1, em que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda: determinar quais caracteres na cadeia de caracteres de texto acessada são vogais; e adicionar uma ou mais vogais adicionais em cada vogal identificada na cadeia de caracteres de texto ajustada.
4. Método implementado por computador, de acordo com a reivindicação 3, em que um número suficiente de vogais adicionais é adicionado à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
5. Método implementado por computador, de acordo com a reivindicação 1, em que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda adicionar uma ou mais palavras adicionais à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
6. Método implementado por computador, de acordo com a reivindicação 1, em que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda remover uma ou mais palavras ou caracteres da cadeia de caracteres de texto ajustada para contrair a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
7. Método implementado por computador, de acordo com a reivindicação 1, em que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda adicionar uma ou mais consoantes adicionais à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
8. Método implementado por computador, de acordo com a reivindicação 1, compreendendo ainda: receber uma entrada indicando um segundo idioma especificado para o qual a cadeia de caracteres de texto acessada deve ser traduzida; traduzir a cadeia de caracteres de texto acessada para o segundo idioma usando tradução de máquina; e apresentar a cadeia de caracteres de texto ajustada no segundo idioma na interface de usuário, permitindo que a interface de usuário seja verificada no segundo idioma.
9. Método implementado por computador, de acordo com a reivindicação 1, em que um usuário que desenvolve um ou mais aspectos da interface de usuário implementa o ajuste de comprimento de cadeia de caracteres personalizado durante o desenvolvimento da interface de usuário.
10. Método implementado por computador, de acordo com a reivindicação 1, em que o usuário vê, para cada recurso de interface de usuário, se esse recurso de interface de usuário é apresentado corretamente em um idioma especificado.
11. Método implementado por computador, de acordo com a reivindicação 1, em que a taxa de ajuste de comprimento de cadeia de caracteres personalizada é aplicada dinamicamente quando um usuário fornece texto para um ou mais elementos de interface de usuário.
12. Um sistema que compreende: pelo menos um processador físico, memória física que compreende instruções executáveis por computador que, quando executadas pelo processador físico, fazem o processador físico: acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma; traduzir a cadeia de caracteres de texto acessada em um ou mais diferentes idiomas usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizado; e apresentar a cadeia de caracteres de texto ajustada em uma interface de usuário.
13. Sistema, de acordo com a reivindicação 12, em que a cadeia de caracteres de texto ajustada inclui um ou mais marcadores de limite visíveis dentro da interface de usuário.
14. Sistema, de acordo com a reivindicação 13, em que compreende ainda a digitalizar uma ou mais capturas de tela da interface de usuário para os marcadores de limite para detectar automaticamente o recorte da cadeia de caracteres de texto ajustada.
15. Sistema, de acordo com a reivindicação 12, compreendendo ainda inserir um ou mais marcadores intermediários na cadeia de caracteres de texto ajustada indicando pelo menos um dos seguintes: a cadeia de caracteres mais curta identificada, a cadeia de caracteres mais longa identificada, a cadeia de caracteres de texto escrita no primeiro idioma, ou o comprimento recomendado pela taxa de ajuste de comprimento de cadeia de caracteres personalizada.
16. Sistema, de acordo com a reivindicação 12, em que um ou mais diacríticos são adicionados a um ou mais caracteres da cadeia de caracteres de texto ajustada, fornecendo uma tensão vertical à interface de usuário.
17. Sistema, de acordo com a reivindicação 12, compreendendo ainda: tirar uma captura de tela da interface de usuário para pelo menos uma construção de software da interface de usuário; e enviar a captura de tela para um usuário de garantia de qualidade para validar a construção de software.
18. Sistema, de acordo com a reivindicação 12em a taxa de ajuste de comprimento de cadeia de caracteres personalizada é específica para o idioma alvo.
19. Sistema, de acordo com a reivindicação 12, em que acessar a cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma compreende destacar a cadeia de caracteres de texto e alterar para uma fonte especificada, de modo que a fonte aplique a taxa de ajuste de comprimento de cadeia de caracteres personalizada à cadeia de caracteres de texto acessada.
20. Um meio legível por computador não transitório compreendendo uma ou mais instruções executáveis por computador que, quando executadas por pelo menos um processador de um dispositivo de computação, fazer o dispositivo de computação: acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma; traduzir a cadeia de caracteres de texto acessada em um ou mais diferentes idiomas usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres personalizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizado; e apresentar a cadeia de caracteres de texto ajustada em uma interface de usuário.
[00067] Em alguns exemplos, o termo "dispositivo de memória" geralmente se refere a qualquer tipo ou forma de dispositivo ou meio de armazenamento volátil ou não volátil capaz de armazenar dados e/ou instruções legíveis por computador. Em um exemplo, um dispositivo de memória pode armazenar, carregar e/ou manter um ou mais dos módulos descritos neste documento. Exemplos de dispositivos de memória incluem, sem limitação, memória de acesso aleatório (RAM), memória somente leitura (ROM), memória flash, unidades de disco rígido (HDDs), unidades de estado sólido (SSDs), unidades de disco óptico, caches, variações ou combinações de um ou mais do mesmo, ou qualquer outra memória de armazenamento adequada.
[00068] Em alguns exemplos, o termo "processador físico" geralmente se refere a qualquer tipo ou forma de unidade de processamento implementada em hardware capaz de interpretar e/ou executar instruções legíveis por computador. Em um exemplo, um processador físico pode acessar e/ou modificar um ou mais módulos armazenados no dispositivo de memória descrito acima. Exemplos de processadores físicos incluem, sem limitação, microprocessadores, microcontroladores, unidades de processamento central (CPUs), matrizes de portas programáveis em campo (FPGAs) que implementam processadores softcore, circuitos integrados específicos de aplicação (ASICs), partes de um ou mais dos mesmos, variações ou combinações de um ou mais do mesmo, ou qualquer outro processador físico adequado.
[00069] Embora ilustrados como elementos separados, os módulos descritos e/ou ilustrados neste documento podem representar porções de um único módulo ou aplicativo. Além disso, em certas modalidades, um ou mais desses módulos podem representar um ou mais aplicativos de software ou programas que, quando executados por um dispositivo de computação, podem fazer com que o dispositivo de computação realize uma ou mais tarefas. Por exemplo, um ou mais dos módulos descritos e/ou ilustrados neste documento podem representar módulos armazenados e configurados para serem executados em um ou mais dos dispositivos ou sistemas de computação descritos e/ou ilustrados neste documento. Um ou mais desses módulos também podem representar a totalidade ou partes de um ou mais computadores de uso especial configurados para realizar uma ou mais tarefas.
[00070] Além disso, um ou mais dos módulos descritos neste documento podem transformar dados, dispositivos físicos e/ou representações de dispositivos físicos de uma forma para outra. Por exemplo, um ou mais dos módulos recitados neste documento podem receber texto que deve ser ajustado, transformar o texto, produzir um resultado da transformação para gerar uma taxa de ajuste de texto, usar o resultado da transformação para ajustar o texto, e armazenar o resultado da transformação para uso na interface de usuário. Adicionalmente ou alternativamente, um ou mais dos módulos recitados neste documento podem transformar um processador, memória volátil, memória não volátil e/ou qualquer outra parte de um dispositivo de computação físico de uma forma para outra, executando no dispositivo de computação, armazenando dados no dispositivo de computação e/ou de outra forma interagindo com o dispositivo de computação.
[00071] Em algumas modalidades, o termo "meio legível por computador" geralmente se refere a qualquer forma de dispositivo, transportador ou meio capaz de armazenar ou transportar instruções legíveis por computador. Exemplos de mídia legível por computador incluem, sem limitação, mídia do tipo de transmissão, como ondas portadoras, e mídia do tipo não transitória, como mídia de armazenamento magnético (por exemplo, unidades de disco rígido, unidades de fita e disquetes), mídia de armazenamento óptico (por exemplo, Discos Compactos (CDs), Discos de Vídeo Digital (DVDs) e discos BLU-RAY), mídia de armazenamento eletrônico (por exemplo, unidades de estado sólido e mídia flash) e outros sistemas de distribuição.
[00072] Os parâmetros do processo e a sequência das etapas descritas e/ou ilustradas neste documento são dados apenas a título de exemplo e podem ser variados conforme desejado. Por exemplo, embora as etapas ilustradas e/ou descritas neste documento possam ser mostradas ou discutidas em uma ordem particular, essas etapas não precisam necessariamente ser realizadas na ordem ilustrada ou discutida. Os vários métodos exemplares descritos e/ou ilustrados neste documento também podem omitir uma ou mais das etapas descritas ou ilustradas neste documento ou incluir etapas adicionais além daquelas divulgadas.
[00073] A descrição anterior foi fornecida para permitir que outros técnicos no assunto utilizem melhor vários aspectos das modalidades exemplares divulgadas neste documento. Esta descrição exemplar não se destina a ser exaustiva ou a ser limitada a qualquer forma precisa divulgada. Muitas modificações e variações são possíveis sem se afastar do espírito e do escopo da presente divulgação. As modalidades aqui divulgadas devem ser consideradas em todos os aspectos ilustrativas e não restritivas. Deve ser feita referência às reivindicações anexas e seus equivalentes na determinação do escopo da presente divulgação.
[00074] Salvo indicação em contrário, os termos "conectado a" e "acoplado a" (e seus derivados), conforme usados no relatório descritivo e nas reivindicações, devem ser interpretados como permitindo a conexão direta e indireta (ou seja, por meio de outros elementos ou componentes). Além disso, os termos "um" ou "uma", conforme usados no relatório descritivo e nas reivindicações, devem ser interpretados como significando "pelo menos um de". Finalmente, para facilidade de uso, os termos "incluindo" e "tendo" (e seus derivados), conforme usados no relatório descritivo e nas reivindicações, são intercambiáveis e têm o mesmo significado que a palavra "compreendendo".
Claims (20)
1. Método implementado por computador para ajustar o comprimento de cadeia de caracteres em uma interface de usuário de acordo com uma taxa de ajuste de comprimento de cadeia de caracteres personalizada, o método caracterizado pelo fato de que compreende: acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma; traduzir a cadeia de caracteres de texto acessada em uma pluralidade de idiomas diferentes usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres customizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada como os caracteres da cadeia de caracteres de texto são acessados e traduzidos; e apresentar a cadeia de caracteres de texto ajustada na interface de usuário.
2. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a taxa de ajuste de comprimento de cadeia de caracteres personalizada é calculada e aplicada dinamicamente conforme a cadeia de caracteres de texto é inserida por um usuário.
3. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda: determinar quais caracteres na cadeia de caracteres de texto acessada são vogais; e adicionar uma ou mais vogais adicionais em cada vogal identificada na cadeia de caracteres de texto ajustada.
4. Método implementado por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que um número suficiente de vogais adicionais é adicionado à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
5. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda adicionar uma ou mais palavras adicionais à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
6. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda remover uma ou mais palavras ou caracteres da cadeia de caracteres de texto ajustada para contrair a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
7. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar a cadeia de caracteres de texto ajustada na interface de usuário compreende ainda adicionar uma ou mais consoantes adicionais à cadeia de caracteres de texto ajustada para expandir a cadeia de caracteres de texto ajustada de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada.
8. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda: receber uma entrada indicando um segundo idioma especificado no qual a cadeia de caracteres de texto acessada deve ser traduzida; traduzir a cadeia de caracteres de texto acessada para o segundo idioma usando tradução de máquina; e apresentar a cadeia de caracteres de texto ajustada no segundo idioma na interface de usuário, permitindo que a interface de usuário seja verificada no segundo idioma.
9. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que um usuário que desenvolve um ou mais aspectos da interface de usuário usa o ajuste de comprimento de cadeia de caracteres personalizado durante o desenvolvimento de um ou mais elementos da interface de usuário.
10. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a interface de usuário mostra, para cada recurso de interface de usuário, se esse recurso de interface de usuário é apresentado corretamente em um idioma especificado.
11. Método implementado por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a taxa de ajuste de comprimento de cadeia de caracteres personalizada é aplicada dinamicamente quando um usuário fornece texto para um ou mais elementos de interface de usuário.
12. Sistema, caracterizado pelo fato de que compreende: pelo menos um processador físico; memória física que compreende instruções executáveis por computador que, quando executadas pelo processador físico, fazem o processador físico: acessar uma cadeia de caracteres de texto que inclui uma pluralidade de caracteres escritos em um primeiro idioma; traduzir a cadeia de caracteres de texto acessada em um ou mais idiomas diferentes usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres customizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada como os caracteres da cadeia de caracteres de texto são acessados e traduzidos; e apresentar a cadeia de caracteres de texto ajustada em uma interface de usuário.
13. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a cadeia de caracteres de texto ajustada inclui um ou mais marcadores de limite visíveis dentro da interface de usuário.
14. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que compreende ainda digitalizar, pelo sistema, uma ou mais capturas de tela da interface de usuário para os marcadores de limite para detectar automaticamente o recorte da cadeia de caracteres de texto ajustada.
15. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende ainda inserir um ou mais marcadores intermediários na cadeia de caracteres de texto ajustada indicando pelo menos um dos seguintes: a cadeia de caracteres mais curta identificada, a cadeia de caracteres mais longa identificada, a cadeia de caracteres de texto escrita no primeiro idioma, ou o comprimento recomendado pela taxa de ajuste de comprimento de cadeia de caracteres personalizada.
16. Sistema, de acordo com a reivindicação 12,
caracterizado pelo fato de que um ou mais diacríticos são adicionados a um ou mais caracteres da cadeia de caracteres de texto ajustada, fornecendo uma tensão vertical à interface de usuário.
17. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende ainda: tirar uma captura de tela da interface de usuário para pelo menos uma construção de software da interface de usuário; e enviar a captura de tela para um usuário de garantia de qualidade para validar a construção de software.
18. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a taxa de ajuste de comprimento de cadeia de caracteres personalizada é específica para o idioma alvo.
19. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que acessar a cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma compreende destacar a cadeia de caracteres de texto e mudar para uma fonte especificada, de modo que a alteração na fonte aplique a taxa de ajuste de comprimento de cadeia de caracteres personalizada à cadeia de caracteres de texto acessada.
20. Meio legível por computador não transitório, caracterizado pelo fato de que compreende uma ou mais instruções executáveis por computador que, quando executadas por pelo menos um processador de um dispositivo de computação, fazem o dispositivo de computação: acessar uma cadeia de caracteres de texto que inclui um ou mais caracteres escritos em um primeiro idioma;
traduzir a cadeia de caracteres de texto acessada em uma pluralidade de idiomas diferentes usando tradução de máquina; identificar, entre as cadeias de caracteres de texto traduzidas, uma cadeia de caracteres mais curta tendo o comprimento de cadeia de caracteres traduzida mais curto e uma cadeia de caracteres mais longa tendo o comprimento de cadeia de caracteres traduzida mais longo; calcular uma taxa de ajuste de comprimento de cadeia de caracteres customizada para ajustar o comprimento da cadeia de caracteres de texto acessada com base no comprimento de cadeia de caracteres traduzida mais curto identificado e no comprimento de cadeia de caracteres traduzida mais longo identificado; aplicar dinamicamente a taxa de ajuste de comprimento de cadeia de caracteres personalizada calculada à cadeia de caracteres de texto acessada, de modo que o comprimento da cadeia de caracteres de texto acessada seja ajustado dinamicamente de acordo com a taxa de ajuste de comprimento de cadeia de caracteres personalizada como os caracteres da cadeia de caracteres de texto são acessados e traduzidos; e apresentar a cadeia de caracteres de texto ajustada em uma interface de usuário.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862729912P | 2018-09-11 | 2018-09-11 | |
US62/729,912 | 2018-09-11 | ||
US16/289,999 US11126799B2 (en) | 2018-09-11 | 2019-03-01 | Dynamically adjusting text strings based on machine translation feedback |
US16/289,999 | 2019-03-01 | ||
PCT/US2019/044740 WO2020055521A1 (en) | 2018-09-11 | 2019-08-01 | Dynamically adjusting text strings based on machine translation feedback |
Publications (1)
Publication Number | Publication Date |
---|---|
BR112021004569A2 true BR112021004569A2 (pt) | 2021-06-08 |
Family
ID=67587971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112021004569-4A BR112021004569A2 (pt) | 2018-09-11 | 2019-08-01 | ajustar dinamicamente cadeias de caracteres de texto com base no feedback de tradução de máquina |
Country Status (7)
Country | Link |
---|---|
US (1) | US11126799B2 (pt) |
EP (1) | EP3850529A1 (pt) |
AU (1) | AU2019341037B2 (pt) |
BR (1) | BR112021004569A2 (pt) |
CA (1) | CA3102012A1 (pt) |
MX (1) | MX2021001948A (pt) |
WO (1) | WO2020055521A1 (pt) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397600B2 (en) * | 2019-05-23 | 2022-07-26 | HCL Technologies Italy S.p.A | Dynamic catalog translation system |
US11295081B1 (en) * | 2019-09-27 | 2022-04-05 | Amazon Technologies, Inc. | Systems, methods, and apparatuses for controlling output length in neural machine translation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6024571A (en) * | 1996-04-25 | 2000-02-15 | Renegar; Janet Elaine | Foreign language communication system/device and learning aid |
US7581169B2 (en) | 2005-01-14 | 2009-08-25 | Nicholas James Thomson | Method and apparatus for form automatic layout |
US7865353B2 (en) * | 2005-03-22 | 2011-01-04 | Fuji Xerox Co., Ltd. | Translation device, image processing device, translation method, and recording medium |
US20070143662A1 (en) * | 2005-12-15 | 2007-06-21 | Microsoft Corporation | Inserting user interface elements into native applications |
US20080059877A1 (en) | 2006-08-29 | 2008-03-06 | David Brookler | Method for automatically adjusting the components of a screen region to maintain layout integrity in multiple languages |
US8135574B2 (en) * | 2007-11-15 | 2012-03-13 | Weikel Bryan T | Creating and displaying bodies of parallel segmented text |
JP2009193283A (ja) * | 2008-02-14 | 2009-08-27 | Fuji Xerox Co Ltd | 文書画像処理装置、及び文書画像処理プログラム |
US8913188B2 (en) * | 2008-11-12 | 2014-12-16 | Cisco Technology, Inc. | Closed caption translation apparatus and method of translating closed captioning |
US8484562B2 (en) | 2010-06-25 | 2013-07-09 | Apple Inc. | Dynamic text adjustment in a user interface element |
US20160048307A1 (en) | 2011-09-23 | 2016-02-18 | Zynga Inc. | Systems and methods dynamic localization of a client device |
US20130138421A1 (en) | 2011-11-28 | 2013-05-30 | Micromass Uk Limited | Automatic Human Language Translation |
US9639528B1 (en) | 2016-01-29 | 2017-05-02 | Sap Se | Translation-based visual design |
-
2019
- 2019-03-01 US US16/289,999 patent/US11126799B2/en active Active
- 2019-08-01 CA CA3102012A patent/CA3102012A1/en active Pending
- 2019-08-01 AU AU2019341037A patent/AU2019341037B2/en active Active
- 2019-08-01 EP EP19752621.3A patent/EP3850529A1/en active Pending
- 2019-08-01 BR BR112021004569-4A patent/BR112021004569A2/pt unknown
- 2019-08-01 WO PCT/US2019/044740 patent/WO2020055521A1/en unknown
- 2019-08-01 MX MX2021001948A patent/MX2021001948A/es unknown
Also Published As
Publication number | Publication date |
---|---|
WO2020055521A1 (en) | 2020-03-19 |
AU2019341037A1 (en) | 2020-12-17 |
MX2021001948A (es) | 2021-04-19 |
AU2019341037B2 (en) | 2023-12-21 |
CA3102012A1 (en) | 2020-03-19 |
US20200279021A1 (en) | 2020-09-03 |
US11126799B2 (en) | 2021-09-21 |
EP3850529A1 (en) | 2021-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844463B (zh) | 基于视觉相似性的字体替换 | |
US10949230B2 (en) | Language lists for resource selection based on language text direction | |
KR102224759B1 (ko) | 컴퓨터 애플리케이션에 대한 언어 번역 현지화를 위한 기법 | |
JP6916155B2 (ja) | 多言語植字の表示方法、表示装置、端末及びコンピュータ読み取り可能な記憶媒体 | |
US8522132B2 (en) | Widget behavior customization via cascaded style sheets | |
US20120072831A1 (en) | Method for creating a multi-lingual web page | |
US20150324336A1 (en) | Content localization | |
US9639528B1 (en) | Translation-based visual design | |
US9286273B1 (en) | Method and system for implementing a website builder | |
US11403078B2 (en) | Interface layout interference detection | |
US11675963B2 (en) | Suggestion techniques for documents to-be-translated | |
US20170315982A1 (en) | Method, device and mobile terminal for webpage text parsing | |
US20150088487A1 (en) | Techniques for transliterating input text from a first character set to a second character set | |
US9141867B1 (en) | Determining word segment boundaries | |
Harb et al. | Responsive web design | |
CN111124481A (zh) | 网页应用程序的安装包生成方法、装置、存储介质及设备 | |
BR112021004569A2 (pt) | ajustar dinamicamente cadeias de caracteres de texto com base no feedback de tradução de máquina | |
US10366142B2 (en) | Identifier based glyph search | |
WO2013066610A1 (en) | Rendering texts on electronic devices | |
KR102531507B1 (ko) | 정보 출력 방법, 장치, 기기 및 저장 매체 | |
US20210192138A1 (en) | Method and device for generating modified statement | |
US20180032753A1 (en) | Privacy protection in network input methods | |
US9594737B2 (en) | Natural language-aided hypertext document authoring | |
US20150324073A1 (en) | Displaying aligned ebook text in different languages | |
US9665546B1 (en) | Real-time web service reconfiguration and content correction by detecting in invalid bytes in a character string and inserting a missing byte in a double byte character |