Compartilhando cursos de eLearning localizadas em toda a mídia social via Adobe Captivate

Adobe Captivate é uma ferramenta de aprendizagem electrónico que pode ser usado para demonstrações de software autor, simulações de software, e randomizados testes em swf e formato HTML que podem ser convertidos e enviados para sites de hospedagem de vídeo. Este conteúdo pode ser compartilhado através do Facebook e Twitter para fazer eLearning uma tarefa muito simples e interessante. Adobe Captivate é enviado em 7 local - Inglês, Francês, Alemão, Japonês, Espanhol, Coreano e Português mas os cursos e demonstrações podem ser criados em outras línguas também e podemos compartilhar esses cursos localizados muito facilmente. Conseguir um conteúdo on-line em língua nativa define os alunos livres de sua dependência em Inglês locale.

Criação de cursos de eLearning localizadas

Abaixo guia de passos que como é simples de compartilhar suas criações de alta qualidade e demonstrações no YouTube e ainda através do Twitter / Facebook via Adobe Captivate 7 mesmo sem ter muito conhecimento prévio do produto. Ele também irá destacar algumas das questões triviais, mas importante, que pode impedir que os usuários compartilhem conteúdo em Inglês, bem como localidades não-inglês. Esta solução pode ser útil para muitos criadores de conteúdo nativas.

1. Lançamento Captivate e selecione Vídeo de demonstração ou Software de Simulação de Arranque página. Software de simulação registra eventos como clique do mouse, entrada de teclado, e eventos do sistema e criar slides de acordo. Vídeo de demonstração permite criar um único vídeo que pode ser publicado diretamente para o arquivo mp4.

111

2. Selecione o aplicativo ou área da tela que você quer demonstrar e selecionar predefinições padrão para iDevices(iphone, ipad), YouTube ou personalizá-lo conforme exigência. Selecione o modo panorâmico para focar áreas de tela manualmente / automaticamente com o movimento do mouse.

2

3. Selecione o botão "Configurações" e vá em Preferências Globais. E selecione o idioma no qual você deseja gerar as legendas. As legendas são gerados automaticamente em caso de simulações de software que ajudam na orientação ao longo da formação. Captivate permite a criação de legendas em vários locais na lista. Eles podem ser editados manualmente, se necessário.

3

11 As legendas podem ser gerados em qualquer um dos idiomas selecionados pelo usuário.

4. Adicionar narração em áudio para a sua demonstração através da selecção do dispositivo de entrada de áudio do. Sistema de áudio podem ser adicionados, bem como para os projetos junto com a narração.

4

5. Depois de todas as configurações, clique botão de gravação. Adicionar narração e manter demonstrando seu projeto. Depois de ícone da bandeja conclusão bater END ou clique na barra de tarefas do sistema.

6. O vídeo é reproduzido antes de você e não há opção de editá-lo, mas se ele está devidamente registrado basta clicar em "YouTube". Clique no ícone de pasta para publicá-lo localmente como um arquivo mp4. (Isso pode ser compartilhado como um arquivo independente, bem) . Você pode ajustar a relação de aspecto, qualidade, FPS neste fluxo de trabalho. Mesmo depois de receber uma loja de cópia em sua máquina cativar pergunta sobre YouTube publicar bem.

5

6

Modo de Edição: Se o vídeo precisa de alguma correção clique em "Editar" e modificar o vídeo. Corte de vídeo adicional, zoom em áreas importantes, desdobramento de vídeo em duas partes, inserir objetos, inserir outro PIP (picture in picture) vídeo é possível no modo de edição.

Cursos de partilha no YouTube, Facebook & Twitter

1. Publicar no YouTube:

Se você já tiver uma conta do YouTube, introduzir as suas credenciais e aceitar o contrato de licença e fazer login no YouTube.

Para novos usuários sem conta YouTube, clique sobre o novo usuário e você será redirecionado para página de inscrição para o Google. Crie sua conta e após a criação bem sucedida voltar logo para o Adobe Vídeo Editor e inserir os seus dados. Muitas vezes os usuários enfrentam um problema que, mesmo após a criação bem-sucedida de conta que eles não são capazes de se identificar e enfrentar um erro que o nome de usuário / senha especificada incorreta embora no YouTube que pode logar com as mesmas credenciais.

7

8

A questão é que cada nova conta no YouTube precisa de verificação. Sem conta que está sendo verificado que você não pode fazer o upload do seu vídeo. Para verificar a conta você pode criar seu canal do YouTube ou verificar através de seu telefone.(Isso se aplica a Adobe criador Video Presenter bem)

Depois de ter logado adicionar uma descrição para o seu vídeo e marcá-lo na categoria adequada público / privado e UPLOAD! Você pode ver mais longe você vídeo no YouTube ou copiar link para compartilhar com os colegas.

2. Publicar no Facebook e Twitter

Para compartilhar o curso on Facebook / twitter verificar respectivos botões e POST.

9

Às vezes usuário pode enfrentar um diálogo em branco ou uma caixa de diálogo dizendo que ocorreu um erro interno quando eles postam vídeo no Twitter ea questão não é facilmente isolado. Mesmo reiniciar / republicar não leva a qualquer sucesso.

10

A razão por trás disso é uma questão oAuth. Temos de garantir que data e hora do sistema está em sincronia com o Twitter do. Twitter retorna o tempo atual na “Data” Cabeçalho HTTP com cada solicitação. Se o seu pedido não devido a uma incompatibilidade de data e hora, usar esse tempo para determinar o delta entre o relógio do sistema e seu relógio do servidor e ajustar seus selos oAuth_time para solicitações subseqüentes de acordo. Então tudo que você precisa fazer é verificar que a hora do sistema é definido mesmo que por fuso horário correto e você não tiver modificado. Para, por exemplo. Se o fuso horário é (EUA e Canadá) Hora do Leste, em seguida, seu tempo de sistema deve ser o mesmo como o tempo atual de que a região só mais o twitter não vai voltar seu pedido. E você vai ter erro interno. Esse problema pode ocorrer com pessoas que seguem diferentes localidades que podem definir sua zona para outra região e hora do sistema para sua própria região. Pode referir-se https://dev.twitter.com/discussions/204 para mais detalhes.

(Também aplicável ao criador de vídeo Adobe apresentador.)

Ao seguir os passos acima, os alunos agora podem usar suas próprias contas no Facebook / Twitter para saber mais por se matricular nestes cursos. Vai ser uma grande experiência para aprender através de portais de redes sociais . Então comece a gravar e compartilhar seus projetos em Adobe Captivate e compartilhá-los em todo o mundo para se conectar com mais e mais pessoas e incentivar eLearning – a prática de aprendizagem mais rápida e eficiente.

Adobe Flash – Criação de Conteúdo & Diretrizes de localização

Este artigo foi escrito originalmente em Inglês. Texto em outros idiomas é fornecido através de tradução automática.

1. Objetivo deste documento
Este blog é um resultado de um extenso estudo realizado para identificar as melhores práticas na localização de conteúdo Flash baseado em.

Localizando conteúdo estruturado através de ferramentas de gerenciamento de tradução (como SDL WorldServer) pode ser um processo simples. No entanto conteúdos não estruturados, como o texto que aparece em vídeos em Flash não é fácil. Para adicionar a ele, monitoramento da eficiência dos lingüística se torna ainda mais difícil para conteúdo não-estruturado.

O blog cobre todos os aspectos da localização do Flash incluindo a criação do conteúdo Inglês do jeito certo; de modo que ela se torna localização “amigável ". Isso deve resultar em redução de custos e tempo; que é multiplicado pelo número de línguas-alvo deve render dividendos suficientes.

2. Extração de texto a partir de uma animação em Flash

A dificuldade de localização do Flash animação depende do nível de globalização da fonte – geralmente Inglês animações em Flash. Durante o processo de localização, todo o texto localizável é extraído da animação fonte, substituídos por versões localizadas e strings localizadas são modificadas de acordo com as guias de estilo- escolha, incluindo o tamanho da fonte, família etc. Ocasionalmente texto localizável não está incluído nas camadas de texto, mas apresentados como gráficos. Portanto, a animação fonte tem que ser fixado em primeiro lugar para tê-lo pronto para a localização. Como primeiro passo do Flash localização animação é extrair todo o texto localizável da animação. Isso é possível utilizando ferramentas comerciais como "ferramenta de localização Flash" ou fonte de renomeação. Fla arquivo para o arquivo zip. (apenas mudar a extensão de. fla para. zip) e extrair todos os arquivos. xml a partir de "biblioteca" subpasta do zip.. Veja a figura 1 e Figura 2 para mais detalhes.


Figura 1 - Lista de Flash arquivo com subpasta BIBLIOTECA

Figura 2 -. Lista de camadas de texto em formato xml armazenado na subpasta biblioteca de um arquivo Flash

Formato Flash nativo é um arquivo zip com estrutura definida. Ter um conhecimento baisc de que permite que sejam facilmente extrair todas as camadas de texto da animação. Uma vez feito, a única tarefa continua para localizar o texto dentro dos arquivos extraídos. xml e fornecer os tradutores com. ini (se a tradução está a ser concluída usando CAT Trados). Camadas de texto em arquivos XML pode ser encontrado rodeado por <caracteres>Seu texto</caracteres> Tags XML.
As lojas XML as informações sobre o tamanho da fonte, família e estilo (Além de armazenar o texto localizável). A maioria desta informação como a família da fonte pode ser facilmente modificado para todo o texto se fonte de origem não suporta o alfabeto do idioma alvo. Para mais detalhes sobre o Flash arquivo XML por favor veja a Figura 8.

Best Practice # 1:
Nunca modifique os textos dentro de camadas de texto com a ajuda do script de ação. Vai ser difícil de compreender roteiro.

3. Pseudo localização
"Localização Pseudo" é um processo para garantir a animação está pronto para localização e todos os textos localizáveis ​​está nas camadas de texto apenas. Durante este processo, todas as cordas atualmente contido em camadas de texto (.xml) são substituídos por pré-definida cadeia, por exemplo. por "X". Arquivos originais. Xml na subpasta BIBLIOTECA são substituídos por outros modificados e quando essa ação é concluída, render.swf deve ser reproduzida em Flash player. Ao jogar estes processa é possível localizar qualquer texto restante que não foi pseudo localizada por várias razões.
Texto originalmente presente nas camadas de texto é exibido como "X" neste renderização. No caso de haver ainda qualquer texto legível, geralmente, vem de vídeo embutido, gráficos ou um script de ação. Pode-se encontrar exemplo de localização pseudo na Figura 3, Figura 4 e Figura 5.

Figura 3 – Exemplo de localização pseudo. Todas as seqüências, exceto “O que há de novo” foram alteradas para “X”. “O que há de novo” é uma gráfica em animação em Flash e, portanto, não podem ser facilmente editadas.

Figura 4 – Imagem mesmo, como na Figura “3″ mas agora localizada em russo. Como você pode ver também “O que há de novo” está corretamente localizado. Neste caso fonte foi fixada e localizáveis ​​textos gráficos foram atualizados para as camadas de texto.

Figura 5 – Outro exemplo de localização pseudo. Bem apresentado é um screenshot de um aplicativo e o único texto editável está no canto superior direito. Neste caso específico, Decidiu-se não a fingir-lo e deixá-lo em Inglês, como o tamanho da fonte era muito pequena

Best Practice # 2:
Aplicar localização Pseudo para descobrir não whichis qualquer texto localizável em camadas de texto dentro do Flash projeto. Se o seu projeto foi globalizado, desde a forma ideal, localisation pseudo pode ser skiped.

 

4. Camadas de texto em animação em Flash
Há muitas maneiras para inserir texto em animação em Flash. Por exemplo, evitar a inserção de texto gráfico (letras como objetos gráficos) e trabalhar com camadas de texto apenas. Se este for o caso, Não quebre o texto em várias cadeias, e mantê-lo em uma única cadeia, se as exigências específicas. Qualquer separação de substrings múltiplos resultará segmentação intext dentro. Arquivo xml e pode levar à perda de contexto durante a tradução e localização, portanto, incorreto dele é substring.
Na Figura 6 e Figura 7, pode-se encontrar texto "Os clientes fiéis como você economizar com o preço de atualização especial. Adobe Photoshop Elements & Adobe Premiere Elements é agora um perfeito 10!"
Esta frase é separado em duas camadas diferentes do texto. Tal separação resultará em segmentação de strings no arquivo xml. Bem e tradutor vê-los como duas cordas separadas, sem qualquer relação entre eles, veja a Figura 8.

Figura 6 – "Os clientes fiéis como você economizar com o preço de atualização especial. Adobe Photoshop Elements & Adobe Premiere Elements é agora um perfeito 10!"Separação de texto em duas substrings. Nesta figura, a primeira parte é visível.

Figura 7 – Segunda parte do texto "Os clientes fiéis como você economizar com o preço de atualização especial. Adobe Photoshop Elements & Adobe Premiere Elements é agora um perfeito 10!"

Figura 8 – Representação de substrings no arquivo xml.. Cada substring está incluído no <DOMStaticText> dentro de tag. arquivo xml.

Não é recomendado para dividir uma string em substrings mais curtos, mas sim mantê-los em uma camada de texto, sempre que possível. As vantagens desta abordagem são:
1. String localizada é bem ordenada para que substrings localizadas não precisam ser revisados ​​pelo falante nativo após a localização e postprocess.
2. Cadeia não é dividido em substrings mais curtas dentro. Arquivo xml.
A versão atual do Flash permite aos autores manter cordas com a família de fonte diferente, cor, estilo, tamanho etc. em uma camada de texto. Adicionalmente, não há necessidade para separá-los em várias camadas de texto. Mantendo strings em uma camada de texto ajuda os tradutores e engenheiros de localização para gastar menos tempo na tradução e pós-processamento de seqüências localizadas na animação. Ele também diminui a chance de questões relacionadas à ordem das palavras. Na Figura 9 você pode encontrar exemplo de cadeia complexa (parte do texto está em amarelo com fonte maior) em uma camada de texto.

Figura 9 – Seqüência complexa de uma camada de texto apenas. Não há necessidade de colocar o texto em amarelo em uma camada de texto separado. Com o Flash de hoje você pode criar tais seqüências complexas.

Melhor Prática #3:
Manter o número de camadas de texto dentro de projeto do Flash o mais baixo possível. Se qualquer formatação de texto é necessária, fazê-lo apenas uma camada de texto (, tanto quanto possível).

 

5. Vídeos incorporados
Muitas vezes, Animações em Flash pode conter vídeos incorporados. Estes vídeos incorporados podem ser facilmente encontrados em Flash biblioteca de objetos sob o título "Vídeo incorporado" tipo, por favor veja a Figura 10.
Se houver quaisquer segmentos a ser localizado dentro de vídeos incorporados e apenas de render o foi fornecido, será muito difícil e tempo para localizar tais cordas. Em casos especiais, quando o vídeo é cuidadosamente analisado, algum texto pode ser "falsificado" com pequeno esforço.
Contudo, texto animado (Figura 11) ou um estático com fundo em movimento é quase impossível para editar e para localizar este tipo de fonte é necessário gastar muitas horas para falsos apenas um ou dois segundos do render final. A fonte simplesmente precisa ser recriado o que aumenta o colector de esforço.
Com o arquivo editável vídeo um projeto pode modificar todas as camadas de texto dentro de vídeo embutido e preparar versões localizadas desses vídeos.

Figura 10 – O vídeo incorporado “soccer.flv” com seqüência de caracteres localizável animado

Figura 11 – Exemplo de texto localizável dentro do vídeo incorporado impossível de falsificar, texto é animado

Best Practice #4:
Vídeos incorporados com textos localizáveis ​​no projeto do Flash aumentar o tempo e esforço para colector de localização.
A melhor maneira de fazer é extrair todo o texto do vídeo, localizá-lo, substituir todos os textos localizáveis ​​e criar renderização localizada primeira. Sem arquivo de vídeo editável, a única (pungente) opção é tentar texto falso dentro de vídeo embutido, que é geralmente impossível. Então NÃO incorporar text / ativos em vídeos se você quiser localizá-lo. Fornecer bens e vídeo separetely vez.

6. Capturas de tela Animações
Pode-se também criar uma animação flash dentro do projeto de uma série de screenshots. Veja o exemplo da série de imagens na Figura 12 e Figura 13. Texto nas imagens são os localizáveis ​​e uma fonte. Psd com camada de texto editável precisa ser criado inicialmente. Uma vez concluída eo texto está substituído com uma versão localizada, screenshooting da série localizada pode ser realizada.
Se você tem o código fonte editável. Psd disponível, forneça ao seu engenheiro de localização. Além disso, efeitos de texto usados ​​no Flash localizada serão idênticas às do Flash fonte.

Figura 12 – Série Screenshot. Você pode ver os dois pré-visualização da tela e também seqüência de imagens na timeline do Flash

Figura 13 – Fim da série de tela na animação em Flash. Texto “O Big …” é animado dentro da série e cada imagem acrescenta uma letra do texto na animação.

Best Practice # 5: Para qualquer Localizable texto dentro de alguns gráficos (texto gráfico), é importante para fornecer ativos de origem inglesa. Se bem-fonte editável não é fornecido, tem que ser re-criado por fornecedor de localização primeiro a ser capaz de substituir o texto por uma versão localizada e criar renda para o Flash projeto. Durante a re-criação de ativos de origem editável alguns efeitos podem ser supervisionado e, portanto, perdeu na versão localizada.

 

7. Botões & Camadas ativos
É vital para manter todos os botões com textos localizáveis ​​como tipo "Movie Clip" no projeto do Flash e não usar mistura de tipos diferentes de Flash para simular a funcionalidade do botão. Se a funcionalidade do botão consiste em mais tipos de Flash, é muito provável que, durante o processamento pós, os engenheiros podem usar inadvertidamente alinhamento incorreto desses objetos em relação uns aos outros dentro de determinado período de. Como resultado, isso levará a um impacto funcional no arquivo flash, e, em alguns casos, rending ele corromper
Um exemplo de botão corrompido é descrito na Figura 14. Aqui o botão consiste em um texto gráfico na caixa amarela e camada ativa (mostrado como uma moldura azul) que desempenha papel de área "clicável". Você pode observar que a caixa não está alinhado com camada ativa e do lado esquerdo desse botão não será clicável. Adicionalmente, lado direito contém uma área sobreposta que é ativo, que não está correto.

Figura 14 – Botão corrompido “O que há de novo”. Camada ativa (moldura azul) não está alinhado com caixa amarela.

Criação de botões como "Clipe de Filme" vai evitar problemas semelhantes em animações Flash. Às vezes, modificação do script de ação atribuída é necessário, bem.

Best Practice #5:
Camadas de ativos fora do botão em Flash pode levar a desalinhamentos em versão localizada do Flash. Exige uma vez para redimensionar botão e objetos da camada de ativos a cada mudança no não. de caracteres de texto no botão. Botões criada corretamente eliminar os riscos potenciais de desalinhamento e diminuir o número de botão re-colas por um número significativo.

 

8. Vacilante
Em alguns players em Flash, texto localizada podem apresentar “Flickering efeito "ou seja, texto é movido por um ou um pixel para a esquerda poucos, direito, cima ou para baixo quando o cursor é passado sobre ele. Veja a figura 15 para mais detalhes.

Figura 15 – A tremulação em detalhes - a imagem é composta de duas imagens da mesma peça re-capturados depois de alguns segundos mais tarde para ver se muda a posição do pixel

A única maneira de corrigir a "cintilação" A questão é converter as camadas de texto dentro de projeto do Flash localizada em curvas e processar em formato final. Texto gráfico (curvas) não mostra o “Flickering efeito "mais

Best Practice #6:
Cintilação efeito é visível em alguns jogadores apenas. É recomendado o uso de jogadores Flash sem cintilação efeito. Caso contrário, camadas de texto localizados têm que ser convertidos em curvas antes da renderização em formato final. Quando multiplicado pelo número de línguas-alvo, esforço vai passar a ser enorme.

 

9. Agradecimentos / Créditos

Este documento foi elaborado a partir de um estudo independente feito no Photoshop Elements 11 por James Skrabal & Petr Knápek de Morávia, e Akulaa Agarwal & Manish Kanwal da Adobe.

Por favor, note que ele pode ser aplicado a todos os projetos Adobe / Adobe não exigindo a localização de texto e outros ativos em arquivos Flash. Para quaisquer questões, sinta-se livre para chegar aos Akulaa Agarwal(akulaa@adobe.com) e Manish Kanwal (mkanwal@adobe.com).

Publicação global com Adobe Digital Publishing Suite

Este artigo foi escrito originalmente em Inglês. Texto em outros idiomas é fornecido através de tradução automática.

Publicação digital é um negócio global

Publicação digital está pegando em todo o mundo, como catálogo internacional, editoras de revistas e livros estão cada vez mais produzir versões digitais de suas publicações, em um número crescente de idiomas.

Adobe Digital Publishing Suite (DPS) oferece aos editores digitais com a capacidade de criar conteúdo multilíngüe para o gozo de seus leitores internacionais. Este artigo fornece algumas informações básicas sobre a criação de publicações multilingues com DPS.

Localização de conteúdos: região específica vs específicos do idioma

Região específica publicações levar a marca principal (da revista, varejista, etc), mas são personalizados para uma região ou país indivíduo. No caso de revistas, artigos são escritos por autores locais, muitas vezes abordando temas e pessoas de importância local.

Linguagem específica, publicações versões traduzidas de uma única fonte de conteúdo. Os artigos e os autores são os mesmos, a única coisa que muda é o idioma do conteúdo.

Apresentando o conteúdo traduzido

Com linguagem de publicações específicas, existem algumas maneiras diferentes de apresentar o conteúdo traduzido, o que pode afetar as decisões de layout.

O tipo mais comum de apresentação é linguagem única, onde cada versão de idioma da publicação está disponível para download como um aplicativo separado.

Aplicações multilíngües pode conter dois ou mais conjuntos de traduções do conteúdo original. As traduções podem ser apresentadas através de alternância ou lado-a-lado.
Com o alternância aproximação, os leitores podem navegar entre o conteúdo escrito em diferentes línguas, pressionando a 'mudar idioma'.

O efeito alternância artigo fornece uma experiência de usuário suave, mas requer trabalho adicional (I.E. scripting) nos bastidores para que isso aconteça.

O lado-a-lado abordagem coloca as traduções ao lado do outro, normalmente com tipos de letra diferentes, tamanhos e cores.

Criação de conteúdo em diferentes línguas

No núcleo do fluxo de trabalho DPS é o Adobe InDesign, que permite a criação de texto em vários idiomas. A versão mais recente do produto (CS6) está disponível em 3 proporcionando sabores diferentes níveis de suporte ao idioma:

  • InDesign CS 6.0 - Fornece suporte núcleo de digitação para uma ampla gama de línguas, incluindo aquelas escritas em certa não-ocidentais de scripts. É localizada em Inglês e 16 outras línguas europeias.
  • InDesign CS 6.0 'CCJK’ - Além disso para o conjunto de núcleo de características tipográficas, fornece tipográfico, grade de layout e características de grade de quadros para a edição de texto do Leste Asiático. É localizada em chinês simplificado, Tradicional Chinesa, Japonês e coreano.
  • InDesign CS 6.0 'ME’ - Além disso para o conjunto de núcleo de características tipográficas, esta versão oferece suporte completo para idiomas bidirecionais, como o árabe, Hebraico, Obter, e urdu. Saiba mais sobre os recursos do Oriente Médio aqui. A versão ME está disponível em interfaces de usuário em inglês e francês.

As capacidades lingüísticas de InDesign estão bem documentados em páginas de Ajuda do produto, e em artigos escritos por especialistas do InDesign vários. Abaixo estão alguns tópicos específicos do idioma que podem ajudar na criação de conteúdo multilíngüe no InDesign:

Criação de conteúdo localizável

Na edição digital multilingue, um aspecto crítico da autoria de conteúdo - independentemente do idioma é escrito originalmente em – é o de assegurar que é localizável, I.E, que ele pode ser facilmente adaptado para (um)outra língua(s). Abaixo estão algumas diretrizes para a criação de conteúdo localizável no InDesign:

  • Permitir a expansão do texto - Comprimento da palavra varia consideravelmente de uma língua para outra. Por exemplo, Frases alemãs e finlandesas são em média mais de Inglês. Também, Fontes asiáticas exigem mais espaço vertical de fontes latinas, a fim de tornar certos símbolos complexos claramente. Assim, é importante manter algum espaço de buffer ao redor do texto para que as traduções podem se encaixar muito bem.
  • Aplicar estilos – É fundamental que toda a formatação de texto é baseada nos estilos, uma vez que garante a formatação consistente em todas as línguas, e permite facilmente mudar as fontes para idiomas cujos caracteres não são suportados pela fonte do documento de origem.
  • Imagens de link - Imagens vinculadas são muito mais fáceis de gerir durante a tradução
  • Ligue quadros de texto – Isto irá assegurar texto continuará a fluir bem depois é traduzido.

Mais orientações sobre possibilidade de localização de conteúdo com o InDesign será fornecido em um post futuro.

Localizando o conteúdo

Localização de arquivos InDesign é normalmente realizada por agências de tradução profissionais, que lidam com exportação IDML (InDesign Markup Language) arquivos em sistemas de gestão comercial de tradução (TMS). Ben Cornelius’ artigo fornece uma boa visão geral do processo.

Também, alguns fabricantes estão começando a oferecer maneiras novas e inovadoras para localizar o conteúdo do InDesign, tal como 1i0′s one2edit ferramenta WYSIWYG.

Mas, independentemente da forma como o conteúdo é localizado, é muito importante que o trabalho abrangente: tudo, incluindo não só o texto do artigo, mas também títulos, legendas, cabeçalhos, rodapés, notas de rodapé, e arte, devem ser traduzidos ou adaptados.

Para a cobertura máxima, até mesmo recursos de mídia, tais como clips de áudio ou vídeo, deve ser legendado e traduzido, ou dublados.

Abaixo estão alguns exemplos de localidade sensíveis convenções – datas e horários – que precisam ser adaptados para cada região.

Publicando o conteúdo: DPS opções multilingues

A maior parte do processo de publicação de conteúdo localizado ou multilingue com DPS não é diferente de qualquer conteúdo Inglês ou único idioma, que é descrito aqui.

Mas, existem algumas opções disponíveis em vários idiomas.

Para publicações escritas em idiomas bidirecionais, como o árabe, Obter, Urdu e hebraico, leitores esperam ser capaz de roubar páginas, movendo o dedo da esquerda para a direita (isto é, na direcção oposta do que numa publicação Inglês), assim vinculativo borda direita é necessário.

Para fazer ativar esse recurso, no Digital Publishing Suite, selecionar Encadernação borda direita no Folio Producer página.

Você também pode definir isso em No InDesign, selecionando o Encadernação borda direita caixa de seleção na Folio Properties diálogo.

3eesho é um bom exemplo de uma publicação bi-direcional criado com DPS.

Língua codificação

Marcando sua publicação com informações sobre o idioma lhe permitirá ser pesquisados ​​por linguagem de lojas virtuais. Isso pode ser feito durante a construção do seu aplicativo visualizador, no Viewer Builder:

As versões localizadas e disponibilidade

O Digital Publishing Suite interface de usuário está localizada em Inglês (Reino Unido, EUA), Francês, Alemão, Italiano, Espanhol, e japonês.

DPS única edição Está disponível em os EUA, Canadá, e México. A disponibilidade é esperada para este ano na Austrália, Áustria, Bélgica, Bulgária, Chipre, República Checa, Dinamarca, Estônia, Finlândia, França, Alemanha, Grécia, Hungria, Irlanda, Itália, Japão, Letónia, Lituânia, Luxemburgo, Malta, Nova Zelândia, Noruega, Polônia, Portugal, Romênia, Eslováquia, Eslovénia, África do Sul Holanda, Espanha, Suécia, Suíça, e do Reino Unido.

Exemplos de publicações multilíngues criados com Adobe Digital Publishing Suite

Confira muitos exemplos de publicações digitais multilingues criados com Adobe Digital Publishing Suite visitando o Digital Publishing galeria.

Série Mitos Sobre Globalização – Mito 1: Globalização = Internacionalização = Localização = Tradução

Este artigo foi escrito originalmente em Inglês. Texto em outros idiomas é fornecido através de tradução automática.


Provavelmente, o maior equívoco que encontramos ao falar com alguns colegas de fora da equipe de globalização da Adobe é que “Globalização”, “Internacionalização” e ”Localização” significam a mesma coisa, e essa coisa é de alguma forma relacionada com algo qualquer um pode entender: Tradução.

Não podemos culpar os nossos colegas por tais crenças equivocadas, já que estes termos têm sido usados ​​e abusados ​​por gerações.

Provavelmente não ajuda que também existem termos em uso, tais como “Culturalização”, “World-Readiness”, ”Glocalização”, “Transliteração”, “Transcrição”, “Localizability”, e “Japonização”.

O fato de cada um destes terem abreviaturas correspondentes (por exemplo. G11n, I18n, L10n, T9n, C13n, L12y) e também grafias diferentes (“Globalisation”, “Internationalisation”, “Localisation”, e assim por diante) apenas ajuda a tornar a coisa toda mais assustadora e confusa para os "civis".

Este artigo pretende esclarecer essas diferenças, e fornecer uma melhor compreensão dos vários passos que compõem o software globalização.

Esclarecendo a terminologia

Vamos concentrar nossas explicações em torno de alguns termos básicos fundamentais que geram mais confusão. Uma coisa a ter em conta é que, embora o significado de algumas tarefas, como a "tradução’ e 'localização’ são padrão na indústria, alguns outros termos como "globalização’ e 'internacionalização’ não são. As definições dadas aqui são os predominantes (que usamos na Adobe).

Internacionalização (comumente abreviada como I18n) é um exercício de engenharia focada em generalizar um produto de modo que ele pode lidar com vários idiomas, scripts e convenções culturais (moeda, regras de classificação, formatos de número e de datas ...) sem a necessidade de redesign. Internacionalização, por vezes referido como world-readiness, pode ser dividida em dois conjuntos de atividades: enablement e localizability.

Localização (L10n) é o processo de adaptação de um produto ou serviço para a aparência e experiência de um determinado idioma, cultura, e local desejado “look-and-feel ". Traduzindo interface de usuário do produto é apenas uma etapa do processo de localização. Redimensionando Caixas de diálogo, botões e guias de paleta para acomodar cordas mais traduzidos também faz parte da localização.

Tradução (T9N) é simplesmente a conversão do significado do texto em uma língua para outra. Em um produto de software, o conteúdo que é traduzido são a interface de usuário, documentação, colaterais de embalagem e comercialização. A maioria da tradução é feita por profissionais, embora nos últimos anos, algumas empresas começaram a explorar o uso de 'community'-tradução, e tradução automática.

Globalização (G11N) refere-se a uma ampla gama de processos de engenharia e desenvolvimento de negócios necessárias para preparar e lançar produtos e atividades da empresa em todo o mundo. As atividades de engenharia globalização são compostas de internacionalização e localização, enquanto as atividades de desenvolvimento de negócios foco em gestão de produtos, financeiro, marketing e aspectos jurídicos.

World-Readiness é um termo equivalente à Globalização, mas é mais frequentemente usado no contexto de internacionalização.

Como eles se relacionam entre si

O diagrama simplificado abaixo ilustra a relação entre os principais atividades relacionadas à globalização .

Em síntese, no contexto de software:

  • Tradução é uma parte do Localização
  • Internacionalização é um pré-requisito de Localização
  • Internacionalização e Localização são partes Globalização
  • Globalização inclui muitas atividades relacionadas aos negócios fora do próprio produto.

Uma analogia na vida real

Ainda com dificuldade para entender? Vamos fazer uma analogia com um produto com o qual todo mundo está familiarizado : um automóvel.

O Toyota Corolla é um dos carros mais bem sucedidos de todos os tempos. Mais de 30 um milhão deles foram vendidos no mundo. Mas, não se seus fabricantes não tivessem adotado os princípios básicos da globalização nos anos 60, o Corolla dificilmente seria conhecido fora do Japão hoje.

Assim, para alcançar tal sucesso,, a Toyota teve que:

  • aceitar no início a idéia de que eles queriam alcançar mercados fora do Japão. Eles montaram uma rede mundial de comercialização no país, organização de vendas e suporte ao cliente. (Globalização)
  • Projetar e desenvolver um carro que poderia ser facilmente adaptado para outros mercados geográficos com custo mínimo e esforço (Internacionalização)
  • Adaptar carros para mercados geográficos específicos. Por exemplo, para os EUA, Canadá e grande parte da Europa, o volante e pedais foram facilmente movida para o lado esquerdo do carro sem alterações estruturais. (Localização)
  • Fornecer manuais de instruções na língua do mercado. (Tradução)


Exemplo de localização de uma interface de automóvel

Onde está o problema

Então, qual é o impacto dessa generalização '’ de terminologia para o processo de globalização de software?

O principal problema é que a maioria das equipes de produtos olhar a globalização como um processo único e monolítico que ocorre algum tempo depois da concepção e implementação do produto Inglês, e de propriedade de uma única equipe (a "Globalização’ equipe). Essa mentalidade incentiva uma “throw-over-the-wall” abordagem que muitas vezes resulta em:

  • Engenharia núcleo adicional e esforço de teste para resolver questões de internacionalização crítico foi encontrado no final da programação
  • Engenharia de localização adicional e esforço de teste manualmente para lidar com questões localizability
  • Maior número de defeitos do produto
  • Atrasos no cronograma
  • Experiência mais pobre cliente

Usando a analogia do automóvel na seção anterior, um “throw-over-the-wall” abordagem significaria que, para adaptar um Toyota Corolla projetado para clientes japoneses ao mercado americano, engenheiros seria necessário para mover o motor ou o sistema de suspensão, a fim de mover o volante e os pedais a partir do lado direito para o lado esquerdo do carro – uma operação dispendiosa e demorada.


Internacionalização ajuda a evitar que este

A história curta (pontos a lembrar)

  • Globalização, internacionalização e localização são atividades relacionadas, mas diferentes, realizadas por equipes diferentes em fases diferentes de desenvolvimento de produto
  • Incorporar globalização em seu pensamento o mais cedo possível. Começe durante o design. Pergunte a si mesmo: que os mercados em todo o mundo que eu estou visando a curto prazo e longo prazo? O que esses clientes precisam? Se você só pensar em mercados de hoje você vai ignorar a globalização.
  • Implementar um produto internacionalizado, mesmo se você não acha que vai vender fora os EUA. ou a não-Inglês de língua clientes, porque esta decisão pode facilmente mudar e, em seguida, as alterações vão ser muito caro. Se o seu produto é successul em um mercado, você provavelmente terá grandes oportunidades de negócios no exterior. Assim, plano para ela.
  • A internacionalização deve ser realizada principalmente pelo produto da equipe de engenharia do núcleo. Faça isso uma vez, fazê-lo direito, em seguida, entregá-la a localização.
  • O processo de localização será muito mais fácil e mais barato se o produto é bem internacionalizado.

As corporações mais bem sucedidas globais instilado globalização como parte de todos os seus funcionários’ “DNA”. Para que uma equipe da empresa ou produto para ser bem sucedido internacionalmente, primeiro deve haver uma decisão consciente de executivos eo buy-in de todos os envolvidos na concepção e desenvolvimento de um produto de software para ir internacional. Isto significa que, a menos que o produto e toda a infraestrutura em torno dela não estão prontos para capitalizar as oportunidades presentes em um mercado internacional, o potencial de receita global do produto nunca será plenamente alcançado, ou a um custo proibitivo somente.

Ver também

Série Mitos Sobre Globalização – Mito 2: Este produto é apenas para o U.S.

 

Invocando UTI a partir de aplicativos Adobe AIR (Parte 2): usando o Flash Builder 4.6

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Em meu artigo anterior http://blogs.adobe.com/globalization/invoking-icu-from-adobe-air-applications-2, eu demonstrei o use das extensões de AIR3 ActionScript nativa característica de invocar UTI de um aplicativo AIR. Eu usei as ferramentas de desenvolvedor AIR para compilar e criar vários componentes. Neste artigo, Eu demonstro o mesmo usando a versão pré-lançamento do Adobe Flash Builder 4.6. É muito mais simples de fazer isso no Flash Builder evitando a linha de comando complicado.

A versão pré-lançamento do Adobe Flash Builder4.6 tem uma nova versão do Flex SDK 4.5.2, que tem AIR3 integrada. Faça o download do arquivos de exemplo da seguinte forma.

Você vai precisar do software a seguir para construir uma extensão da UTI para a plataforma AIR.

1 Extensão UTI Edifício para Adobe AIR

Adobe AIR extensões nativas t, também conhecido como 'ane' ou 'ANE "os processos foram arquivados pacotes. Estes consistem em

  • Classes wrapper ActionScript pôr em DLLs externas
  • O DLLs externas
  • Detalhes do arquivo XML descrevendo de DLLs externas

Os arquivos arquivados ANE são usados ​​apenas como bibliotecas SWC na integração em um aplicativo AIR. Em outras palavras, ANE arquivo é uma biblioteca e tem público ActionScript APIs.

Cobrindo todos os detalhes sobre a extensão ActionScript é demais para este artigo no blog, mas eu vou explicar os passos para criar esse exemplo e executar. Abaixo estão as etapas seqüenciais e comandos.

1.1 DLL Edifício do Windows Extensão AIR UTI

1) A pasta AirIcuExtensionWin tem o estúdio Visual solução "AirIcuExtension.sln '. Abrir esta em MS VS2010.

2) O AIRIcuExtension.cpp arquivo tem o código necessário necessário para fazer a interface com o Adobe AIR 3. Tem também as rotinas wrapper chamar funções C UTI.

3) Este é um projeto DLL ea saída de construção é AirIcuExtension.dll

1.2 Edifício ActionScript Biblioteca em FB 4.6

1.2.1 A construção da biblioteca ActionScript

Criar um novo projeto de biblioteca ActionScript e nomeá-la AirIcuExtension. Ver o projeto de biblioteca baixado ActionScript FB4.6.

1.2.2 Embalagem extensão nativa ActionScript

Para um pacote ANE, você ainda precisa fazê-lo na linha de comando. FB 4.6 não tem ainda uma característica de gerar ANES no IDE.

Abra o bin AirIcuExtension.swc é um arquivo zipado. Abri-lo usando WinRAR ou WinZip programa e extrair o library.swf arquivo no pacote para o swc AirIcuExtension bin pasta.

A pasta src resources contém o arquivo extension.xml, AirIcuExtension.dll e UTI dlls icudt48dll, icuuc48dll, icuio48.dll e icuin48.dll. O arquivo external.xml define os detalhes biblioteca externa para AIR runtime.

Para simplificar, coloque o AirIcuExtension.dll, UTI dlls e arquivos em extension.xml AirIcuExtension bin pasta. Todos esses arquivos são compactados em um arquivo zipado chamado AiricuExtension.ane usando o seguinte comando.

C:\FB4.6 SDKs bin adt-package-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo ane AirIcuExtension.ane extension.xml-swc AirIcuExtension.swc-plataforma Windows x86-library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Utilização Adobe FlashBuilder4.6 ou C:\FB4.6 SDKs bin ter tomado programa, pode-se gerar um certificado AIR.

A saída é um arquivo AirIcuExtension.ane no AirIcuExtension bin pasta.

1.3 Construindo o AirIcuExtensionTest.mxml Programa de teste

Agora que nós construímos e embalados o pacote de extensão nativa AiricuExtension.ane, estamos prontos para usar esse e chamar os serviços de UTI em um programa de teste.

A pasta AirIcuExtensionTest src contém o arquivo de teste AirIcuExtensionTest.mxml. O arquivo descritor AirIcuExtensionTest-app.xml tem os detalhes de extensão nativa.

Flash Builder 4.6 tem um novo recurso para ligar aplicações Flash com arquivos ANE. Como você vê a partir do comando FB4.6 propriedades do projeto "Flex Build Path", há uma nova guia para Native Extensions. Utilização 'Ed Lane' botão, adicione o arquivo presente na pasta AirIcuExtension.ane AirIcuExtension / bin, como mostrado abaixo.

Veja também o comando 'Pacote Construindo Flex' nas propriedades do projeto, há uma nova guia para Extensão nativa. Por favor, certifique-se que a caixa de seleção é AiricuExtension Em.

A saída de arquivos swf AirIcuExtensionTest.swf é colocado na pasta bin-debug.

1.4 Construir pacote AIR para executar AirIcuExtensionTest

O passo final é para empacotar o AirIcuExtensionTest acima. Swf e arquivos AirIcuExtension.ane em uma pasta executável AIR. Podemos fazer isso em FB4.6 agora, em vez de usar a linha de comando tedioso.

  • IN FB4.6, selecione AiricuExtensionProject e executar o comando menu Project->Exportação de Lançamento Construir ...
  • Na caixa de diálogo que se seguiu, escolher Assinado instalador nativo botão de rádio. Só podemos criar instaladores nativos, como estamos usando OS específicos pacote ANE.
  • Na tab Native Extensions tab, certifique-se que a checkbox AirIcuExtension.ane esteja selecionada.
  • Terminar de criar a versão de compilação depois de entrar as credenciais certificado correto AIR.

A saída do comando acima é um instalador AirIcuExtensionTest.exe. Ao executá-lo, você pode instalar o programa de teste.

2 Conclusão

Este exemplo ilustra como invocar ICU do ActionScript. A AIR extensão UTI é fácil de construir usando os próximos AdobeFlash Builder 4.6 lançamento. ANE é um ótimo recurso para os desenvolvedores AIR e aplicações AIR pode fazer uso da plataforma ou UTI desde serviços de globalização.

Formatação com calendários alternativos no Flex

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Datas podem ser formatadas em vários calendários no Flex SDK. Vamos explorar como isto funciona..

O Flex SDK permite que você formate uma data determinada em "calendários alternativos", além do calendário Gregoriano. A convenção de indústria se refere a todos os calendários não-gregorianos como calendários alternativos. Para usar um calendário alternativo, é necessário um pouco de cuidado no seu aplicativo Flex.

Tipos de calendários

Antes de analizar-mos os usos de calendário alternativo no Flex SDK, vamos dar uma olhada em alguns calendários do mundo para que você se familiarize com toda essa conversa sobre calendários. Por favor, esteja ciente de, que só posso descrever os usos básicos de alguns calendários alternativos comuns. Há complexidades com cada um dos calendários que não estão sendo explicitamente indicadas. Recomendo que você investigue mais antes de usá-los.

Calendário gregoriano

Este é o calendário mais sistemas oferecem como padrão. Você provavelmente conhece este calendário, mas já aqui estão algumas das características: Há sempre 12 meses em um ano e cada mês tem 28 para 31 dia. O número de dias em cada um dos meses são fixadas (30 ou 31 dia) except for the second month (Fediairo), que inclui 28 (não salto de anos-) or 29 days (anos bissextos). O número de dias em um ano é fixo (365 or 366 days). (Fevereiro), que inclui 28 (não salto de anos-) ou 29 dia (anos bissextos). O número de dias em um ano é fixo (365 ou 366 dia).

Calendário islâmico (Calendário Hijri)

Calendário islâmico é um dos calendários lunares. Há sempre doze meses, um ano. Cada mês tem ei-ther 29 ou 30 dia. Início de um mês é determinado observando a fase da lua (Religioso islâmico oulendar). Devido a esta natureza, não é muito possível prever as datas com o calendário religioso islâmico. Por uma questão de conveniência, existe a variante do calendário, Calendário civil islâmica, que determina as datas por meio de algum cálculo puramente matemático. Calendário civil islâmicos podem não ser precisos para eventos religiosos. Número de dias em um ano é 354 ou 355 dia. Por isso, o ano calendário islâmico e, no ano calendário gregoriano não são sincronizados.

Calendário japonês

Calendário japonês é muito semelhante com o calendário gregoriano. A diferença é a parte era e no ano. O calendário gregoriano tem vindo a utilizar o nome era mesmo para o passado 2,000 anos (AD; D.C.). Há também BC (Antes de Cristo) anos era, mas BC não são por apoiada por praticamente todos os aplicativos de calendário. Por outro lado, Calendário japonês era muda de nome quando há novo imperador. Portanto, a cada dez para um casal de 10 anos, existem novas eras. *1

*1 Antes da 1868, a mudança de nome era foram mais freqüentes, uma era durou apenas tão baixo quanto dois anos. Mas assim como o BC em gregoriano, não há muita demanda para ser capaz de lidar com as eras mais antigas em aplicações de hoje calendário.

Há muito mais tipos de calendários no mundo, mas eu espero que você tenha algumas idéias de como calendários podem variar.

Como usar os calendários alternativo no Flex SDK

Agora vamos olhar para o uso de calendários alternativos. Como você usa o calendário diferente do gregoriano no SDK do Flex? O um-ponder é usar a identificação de localidade.

A identificação de localidade pode opcionalmente conter tag calendário. Por exemplo:

ID locais Significado
a-IN Árabe usado na Arábia Saudita
ar-SA @ = calendário islâmico Árabe usado na Arábia Saudita. Calendário islâmico
pt-BR @ = calendário islâmico Inglês usado nos E.U.A.. Calendário islâmico.

Quando você precisa formatar uma data em um calendário alternativo, a tag calendário pode ser anexado à identificação de localidade. Aqui está um exemplo:

import spark.formatters.DateTimeFormatter;
private function calendarDemo():void
{
    var d:Date = new Date(2011, 9, 15);
    var dtf:DateTimeFormatter = new DateTimeFormatter();
    dtf.dateStyle = "long";
    dtf.timeStyle = "none";
 
    dtf.setStyle("locale", "en-US");
    trace("(1) " + dtf.format(d));
 
    dtf.setStyle("locale", "ar-SA");
    trace("(2) " + dtf.format(d));
 
    dtf.setStyle("locale", "ja-JP");
    trace("(3) " + dtf.format(d));
 
    dtf.setStyle("locale", "en-US@calendar=islamic");
    trace("(4) " + dtf.format(d));
 
    dtf.setStyle("locale", "ar-SA@calendar=islamic");
    trace("(5) " + dtf.format(d));
 
    dtf.setStyle("locale", "en-US@calendar=japanese");
    trace("(6) " + dtf.format(d));
 
    dtf.setStyle("locale", "ja-JP@calendar=japanese");
    trace("(7) " + dtf.format(d));
}

Aqui está o resultado você pode obter.

Por favor note que o resultado pode variar de acordo com as plataformas em tempo de execução.

Limitações que você deve estar ciente de

Existem casais de limitações no atual Flash Player e Flex SDK para suporte de calendário alternativo.

  1. A classe Date pode lidar com datas apenas Gregorian.
  2. A classe DateTimeFormatter faísca pode formatar um objeto Date, mas característica de análise (traduzindo um Gregorian formatado ou não-gregoriano seqüência de data em um objeto Date) não está disponível. Inglês seqüência de data gregoriano pode ser analisado através do construtor da classe Date em algum grau.
  3. A disponibilidade de suporte alternativo Calendário e seu comportamento é dependente de plataforma. Por favor, verifique a plataforma se o apoio de calendário alternativo é importante para a sua aplicação.

Se você gostaria de saber mais sobre calendários alternativos, as entradas de calendário no Wikipedia é uma boa fonte.

Invocando UTI a partir de aplicativos Adobe AIR

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Adobe Flash e AIR são plataformas ubíquas para desenvolver aplicações de internet rica. O Flash é usado para aplicativos baseados em navegador e AIR é utilizada para desenvolver aplicações de plataforma nativa. Ambas as plataformas têm apoio considerável para a globalização. Recursos de globalização habilitação como formatação do locale / parsing, colação, case transforms, localização e multi-lingual de processamento de texto são suportados por ambas as plataformas. Mas alguns recursos mais globalização como a normalização de texto, Transliteração, Unicode propriedades de caracteres, conversões de codificação, detecções charset, Utilitários seqüência de caracteres Unicode etc ainda estão desaparecidas no Adobe AIR e plataformas em Flash. Uma das principais razões para não adicionar todos esses recursos dentro das plataformas Adobe tempo de execução é o tamanho do software.

Para superar o problema limitação de tamanho, Adobe AIR e Flash pode chamar os serviços de bibliotecas dinâmicas externas por meio do ActionScript. Existem algumas bibliotecas conhecidas externo, que tem suporte a globalização ricos, como UTI, GNU glib, Verisign IDN biblioteca para citar alguns. Felizmente a próxima Adobe AIR 3.0 (agora disponível como Adobe pré-lançamento) tem um recurso maravilhoso chamado ActionScript extensões nativas, que é cerca de interface de programação ActionScript para uma biblioteca de código nativo como o MS Windows DLL, Os X FrameWork, Android JAR ou biblioteca compartilhada ou iOS biblioteca estática. Por favor, consulte Adobe AIR3 site beta http://labs.adobe.com/technologies/flashplatformruntimes/air3/ sobre como baixar e participar do Adobe AIR de pré-lançamento. Por favor, tome nota que este recurso é _somente_ extensões nativas disponíveis no Adobe AIR plataforma, não na plataforma Flash.

Neste blog, Eu demonstrei a amostra (Baixar air_icu ) aplicação para invocar UTI de um aplicativo Adobe AIR na plataforma Windows. Os leitores são advertidos de que este é apenas software amostra ilustração e por nenhum software de qualidade dos meios de produção. Por isso os leitores devem exibir discrição no uso deste software como é. O exemplo ilustra UTI quebra de palavra, quebrando sentença, utf-conversão e verificação de propriedade de caracteres Unicode.

Você vai precisar do software a seguir para construir uma extensão da UTI para a plataforma AIR.

1 Extensão UTI Edifício para Adobe AIR

Adobe AIR extensões nativas t, também conhecido como 'ane' ou 'ANE "os processos foram arquivados pacotes. Estes consistem em

  • Classes wrapper ActionScript pôr em DLLs externas
  • O DLLs externas
  • Detalhes do arquivo XML descrevendo de DLLs externas

Os arquivos arquivados ANE são usados ​​apenas como bibliotecas SWC na integração em um aplicativo AIR. Em outras palavras, ANE arquivo é uma biblioteca e tem público ActionScript APIs.

Cobrindo todos os detalhes sobre a extensão ActionScript é demais para este artigo no blog, mas eu vou explicar os passos para criar esse exemplo e executar. Abaixo estão as etapas seqüenciais e comandos.

1.1 DLL Edifício do Windows Extensão AIR UTI

1) A pasta AirIcuExtensionWin tem o estúdio Visual solução "AirIcuExtension.sln '. Abrir esta em MS VS2010.

2) O AIRIcuExtension.cpp arquivo tem o código necessário necessário para fazer a interface com o Adobe AIR 3 beta 2. Tem também as rotinas wrapper chamar funções C UTI.

3) Este é um projeto DLL ea saída de construção é AirIcuExtension.dll

1.2 Edifício ActionScript Biblioteca

1) Construa a biblioteca ActionScript usando o comando abaixo.

C:\Flex4.5.1 bin compc.exe-source-path src-incluem-classes com.adobe.extensions.AirIcuExtension-library-path externo C:\air3_beta2 frameworks libs ar airglobal.swc saída-bin AirIcuExtension.swc

O AirIcuExtension.as arquivo na pasta src com adobe extensions tem o AirIcuExtension public class que chama as rotinas de UTI. Nesta amostra, chamando breaker sentença UTI, disjuntor está, normalizador, utf-conversão e de propriedade de caracteres Unicode foram ilustradas.

1.3 Embalagem extensão nativa ActionScript

Abra o bin AirIcuExtension.swc é um arquivo zipado. Abri-lo usando WinRAR ou WinZip programa e extrair o library.swf arquivo no pacote para o swc AirIcuExtension / bin pasta.

A pasta src resources contém o arquivo extension.xml, AirIcuExtension.dll e UTI dlls icudt48dll, icuuc48dll, icuio48.dll e icuin48.dll. O arquivo external.xml define os detalhes biblioteca externa para AIR runtime.

Para simplificar, coloque o AirIcuExtension.dll, UTI dlls e arquivos em extension.xml AirIcuExtension bin pasta. Todos esses arquivos são compactados em um arquivo zipado chamado AiricuExtension.ane usando o seguinte comando.

C:\air3_beta2 bin adt-package-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo ane AirIcuExtension.ane extension.xml-swc AirIcuExtension.swc-plataforma Windows x86-library.swf AirIcuExtension.dll icudt48.dll icuin48.dll icuio48.dll icuuc48.dll

Utilização Adobe FlashBuilder4.x ou C:\air3_beta2 bin ADT programa, pode-se fazer um certificado AIR.

A saída é um arquivo AirIcuExtension.ane no AirIcuExtension / bin pasta.

1.4 Construindo o AirIcuExtensionTest.mxml Programa de teste

Agora que nós construímos e embalados o pacote de extensão nativa AiricuExtension.ane, estamos readu usar isso e chamar os serviços de UTI em um programa de teste.

O AirIcuExtensionTest pasta src contém o arquivo de teste AirIcuExtensionTest.mxml. O arquivo descritor AirIcuExtensionTest-app.xml tem os detalhes de extensão nativa. Usando o compilador mxml, AirIcuExtensionTest.swf é construído da seguinte maneira no AirIcuExtensionTest pasta.

C:\Flex4.5.1 bin compc.exe mxmlc configname = ar-external-library-path .. AirIcuExtension bin AirIcuExtension.ane saída-bin-debug AirIcuExtensionTest.swf — src AirIcuExtensionTest.mxml

A saída de arquivos swf AirIcuExtensionTest.swf é colocado na pasta bin-debug.

1.5 Construir pacote AIR para executar AirIcuExtensionTest

O passo final é para empacotar o AirIcuExtensionTest acima. Swf e arquivos AirIcuExtension.ane em uma pasta executável AIR. Execute o seguinte comando

C:\air3_beta2 bin adt-package-XnoAneValidate-storetype pkcs12-storepass <senha> -Keystore <Certificado de AIR> -tsa nenhum alvo-bundle AirIcuExtensionTest.air AirIcuExtensionTest-app.xml AirIcuExtensionTest.swf-extdir .. .. AirIcuExtension bin

A saída do comando acima é uma pasta AirIcuExtensionTest.air. Dentro da pasta, lá é AirIcuExtensionTest.exe. Você pode executar e ver o resultado.

2 Conclusão

Este exemplo ilustra como invocar ICU do ActionScript. A AIR extensão UTI é fácil de construir usando o à disposição do público Adobe Flex SDK e AIR3 Beta 2 SDKs. Será muito mais fácil fazer tudo isso no futuro Adobe Flash Builder IDE usando GUI. As vantagens deste recurso são

  • AIR desenvolvedores que procuram desenvolver os pedidos internacionais para desktop ou móvel têm o poder de UTI na mão. Muitas características Unicode, conversões de codificação, IDN conversão utilitários, processamento de strings, transforma e muitas características mais internacional pode ser facilmente codificado.
  • A extensão de UTI materna, uma vez construída pode ser usado qualquer desenvolvedor qualquer, pois é uma biblioteca.
  • O Actionscript APIs chamando UTI podem ser codificados utilizando as mesmas assinaturas como UTI C API. Isso elimina a curva de aprendizagem.
  • Desde UTI é em código nativo, desempenho não seja comprometida.
  • Uma vez que é UTI, os desenvolvedores podem esperar da cruz-plataforma comportamento em programas AIR.
  • Uma vez que a extensão é uma biblioteca AIR, Atualizações de UTI pode ser facilmente re-embalados para o arquivo ane.

No futuro, uma vez AIR3 é liberado, um total de extensão desenvolvido na UTI nativa com definições adequadas API será um grande projeto de globalização.

A auto-complete leve ActionScript exemplo com uma trie

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.


Auto-completar funcionalidade é amplamente utilizado através da internet e aplicativos móveis. Um monte de sites e aplicativos tentar completar a sua entrada, logo que você começa a digitar. Neste post, Gostaria de introduzir um simples ActionScript solução de auto-completar usando estrutura de dados trie.

Uma trie é uma árvore ordenada estrutura de dados que é usado para armazenar uma matriz associativa. Todos os descendentes de um nó têm um prefixo comum da seqüência associada a esse nó, ea raiz é associado com a string vazia. A partir do nó raiz, você pode verificar se uma palavra existe na trie facilmente por ponteiros seguintes correspondentes às letras na palavra-alvo. Trie é uma conhecida estrutura de dados em ciência da computação; você pode encontrar informações detalhadas sobre trie através Wikipedia.

Aqui está uma aplicação simples em ActionScript trie:

/**
* Uma estrutura de dados simples para armazenar e procurar palavras.
* @ See http://en.wikipedia.org / wiki / Trie para obter detalhes adicionais.
*/

public class Trie {
private var _rootKeys:Array;
public function Trie():void {
_rootKeys=[];
}

/**
* Retornar uma lista de palavras que têm o prefixo dado.
*/

public function get(prefix:String):Array {
var results:Array=[];
var letter:String=prefix.substr(0,1);
var root:TrieNode=_rootKeys[letter];
if (root) {
getWordList(prefix, 1, root, results);
}
return results;
}

/**
* Adicionar uma palavra para o objeto que pode ser comparada como um prefixo.
*/

public function add(word:String):void {
var letter:String=word.substr(0,1);
var root:TrieNode=_rootKeys[letter];


if (!root) {
root=createNode(letter);
_rootKeys[letter]=root;
}
insertWord(word, 1, root);
}


private function traverse(root:TrieNode, results:Array, prefix:String):void {
if(root.children) {
for each( var c:TrieNode in root.children ) {
var node:TrieNode = c as TrieNode;
if( node.word ) {
results.push( prefix + node.value);
}
traverse(node, results, prefix+node.value );
}
}
}


private function getWordList(prefix:String,
position:uint,
root:TrieNode,
results:Array):void {
var letter:String=prefix.substr(position,1);
var child:TrieNode=root.children[letter];
if (!letter || !child) {
return;
}


if ( position<(prefix.length-1) ) {
getWordList(prefix, ++position, child, results);
}else {
if (!child.word) {
traverse( child, results, prefix);
}
}

}


private function insertWord(word:String,
position:uint,
root:TrieNode):void {
var letter:String=word.substr(position,1);
if (position==word.length || !letter) {
return;
}


var child:TrieNode=root.children[letter];
if (! child) {
child=createNode(letter);
root.children[letter]=child;
}


if (position==word.length-1) {
child.word=true;
} else {
insertWord(word, ++position, child);
}
}


private function createNode(letter:String):TrieNode {
return new TrieNode(letter,false);
}
}

Como criar um DateChooser localizada na sua app Flex

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

 

Xie Canino

Por padrão, o DateChooser em Flex mostra a interface do usuário Inglês. Você precisa definir o dayNames e propriedades MonthNames a seqüências localizadas de forma que ele mostra o idioma que deseja. Mas você sabe que todos esses nomes localizados estão disponíveis no pacote flash.globalization? Veja como obter os nomes localizados.

Primeiro, criar um objeto DateTimeFormatter com a localidade que você está interessado no <fx:Script> seção

Alternativamente, se você se sentir mais confortável com a MXML ActionScript, você pode usar um DateTimeFormatter MXML no <fx:Declarações> seção.

Segundo, criar uma função para conversão de tipo vectorToArray na <fx:Script> seção, vamos explicar um pouco mais na próxima etapa.

Terceiro, na sua <mx:DateChooser> componente, definir o dayNames e propriedades MonthNames.


E já que você está usando o enums DateTimeNameStyle, que deseja importar-los em <fx:Script>

Aqui, o getWeekdayNames e métodos getMonthNames dar os nomes localizados como um vetor de string. E função vectorToArray é usado para convertê-los em conjunto antes de atribuir-lhes o DateChooser. O método getFirstWeekday dá o primeiro dia da semana para a localidade. Por exemplo, muitos locais europeus utilizam segunda-feira como o primeiro dia em vez de domingo.

É isso aí. Agora execute seu aplicativo e você verá a interface do usuário DateChooser está mostrando em chinês.

Alterar a localidade para Inglês Britânico (en-GB) e árabe, Arábia Saudita (a-IN) para ver como o locale muda o primeiro dia da semana.

Acho que isso não economizar tempo de codificar? Tal como:

É verdade se você só precisa localizado para o seu idioma. Mas imagine que você precisa para localizar em vários idiomas, ou línguas que você não conhece, ou você quer linguagem selecionável por usuários em tempo de execução. Usando flash.globalization é mais escalável.

Para saber mais recursos fornecidos pelo pacote flash.globalization, confira a documentação da API do ActionScript.

Classificação strings em um local sensível à maneira

Este artigo foi escrito originalmente em Inglês. Textos em outros idiomas foram fornecidos via tradução automática.

Nesta seção, você vai aprender como classificar strings em um local sensível à maneira.

Antes Flash Player 10.1 foi lançado, a classificação em AS3 API estava usando uma forma independente da localidade, o que significa as APIs não são ciente locale. Isto não é user-friendly para usuários internacionais que não usam o Inglês como sua primeira língua / só. Vejamos o seguinte exemplo de código para alguns dados chineses:

Se usar as APIs do Flash Player 10.0 e mais cedo para classificar as cordas:

Na realidade, o resultado de saída está em ordem ponto de código Unicode simples para a classificação convencional, que não é correto para os usuários chineses.

Com o Flash Player 10.1, podemos facilmente classificar strings em um local sensível à maneira com a classe flash.globalization.collator nova. Para lidar com cadeias de classificação e pesquisa, pacote fornece flash.globalization .* classe Collator. Esta classe realiza sensíveis à localidade cadeia classificação e pesquisa, ou você pode dizer, que permite a realização de cadeia classificação e pesquisa em diferentes idiomas.

No exemplo a seguir, temos instanciar um objeto Collator com um local específico. Então nós temos chamado o método compare da classe Collator para executar uma sensíveis à localidade de classificação cadeia. O método de classificação retorna um valor negativo se o argumento primeira corda é menor que o segundo, um valor positivo se o argumento primeira corda é maior que o segundo e 0 se o argumento primeira corda é igual ao segundo.

Agora, o resultado de saída parece ótimo para os usuários chineses.

Se você quiser saber mais sobre o Flash Player 10.1 API globalização, por favor verifique o seguinte pacote:

flash.globalization