mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Merge pull request #830 from WladmirJunior/i18n/pt-br-panels
pt-BR: translate the panels below the menu bar
This commit is contained in:
commit
a1516b11ad
1 file changed
+459
-3
@@ -19,7 +19,7 @@ use std::fmt::Display;
|
||||
use std::sync::OnceLock;
|
||||
|
||||
thread_local! {
|
||||
/// The resolved interface language ("en", "ja", "zh-hans", "zh-hant", "uk"); "en" until the first
|
||||
/// The resolved interface language ("en", "ja", "zh-hans", "zh-hant", "uk", "pt-br"); "en" until the first
|
||||
/// frame sets it.
|
||||
static CURRENT: Cell<&'static str> = const { Cell::new("en") };
|
||||
}
|
||||
@@ -44,11 +44,13 @@ fn catalog(language: &str) -> Option<&'static Index> {
|
||||
static HANS: OnceLock<Index> = OnceLock::new();
|
||||
static HANT: OnceLock<Index> = OnceLock::new();
|
||||
static UK: OnceLock<Index> = OnceLock::new();
|
||||
static PT_BR: OnceLock<Index> = OnceLock::new();
|
||||
let (index, rows) = match language {
|
||||
"ja" => (&JA, JAPANESE),
|
||||
"zh-hans" => (&HANS, SIMPLIFIED_CHINESE),
|
||||
"zh-hant" => (&HANT, TRADITIONAL_CHINESE),
|
||||
"uk" => (&UK, UKRAINIAN),
|
||||
"pt-br" => (&PT_BR, PORTUGUESE),
|
||||
_ => return None,
|
||||
};
|
||||
Some(index.get_or_init(|| rows.iter().copied().collect()))
|
||||
@@ -2144,6 +2146,440 @@ const UKRAINIAN: &[(&str, &str)] = &[
|
||||
("Project", "Проєкт"),
|
||||
];
|
||||
|
||||
// Brazilian Portuguese.
|
||||
const PORTUGUESE: &[(&str, &str)] = &[
|
||||
(" OK ", " OK "),
|
||||
(" Delete ", " Excluir "),
|
||||
(" Open Auto-Save ", " Abrir salvamento automático "),
|
||||
("(missing)", "(ausente)"),
|
||||
("360 View Orientation", "Orientação da vista 360°"),
|
||||
("3:2 Pulldown: {}", "Pulldown 3:2: {}"),
|
||||
(
|
||||
"A clean-room, open-source compositor for motion graphics and visual effects: native on macOS, Windows and Linux, and in the browser. Part of the ArtCraft family of creative apps.",
|
||||
"Um compositor de código aberto, desenvolvido em clean-room, para motion graphics e efeitos visuais: nativo no macOS, Windows e Linux, e no navegador. Parte da família de aplicativos criativos ArtCraft.",
|
||||
),
|
||||
("About EffectCraft", "Sobre o EffectCraft"),
|
||||
("About...", "Sobre..."),
|
||||
("Active Camera", "Câmera ativa"),
|
||||
("Adapt Feature On Every Frame", "Adaptar o recurso em cada quadro"),
|
||||
("Adaptive Sample Limit:", "Limite de amostras adaptativas:"),
|
||||
("Add Animator", "Adicionar animador"),
|
||||
("Add Comment", "Adicionar comentário"),
|
||||
("Add Formatting", "Adicionar formatação"),
|
||||
("Add Group", "Adicionar grupo"),
|
||||
("Add Mirror", "Adicionar espelho"),
|
||||
("Add Selected As", "Adicionar selecionados como"),
|
||||
("Add a comment", "Adicionar um comentário"),
|
||||
("Add a shape, fill, stroke or path operation", "Adicionar uma forma, preenchimento, traço ou operação de caminho"),
|
||||
("Add to Composition", "Adicionar à composição"),
|
||||
("Add to Favorites", "Adicionar aos favoritos"),
|
||||
("Add:", "Adicionar:"),
|
||||
("Adjust Exposure (stops)", "Ajustar exposição (stops)"),
|
||||
("Adjust composition duration to the time span of the selected layers", "Ajustar a duração da composição ao intervalo de tempo das camadas selecionadas"),
|
||||
("Advanced 3D", "3D avançado"),
|
||||
("Align Layers to:", "Alinhar camadas a:"),
|
||||
("All six face cameras turn together; the scene is not changed.", "As seis câmeras das faces giram juntas; a cena não é alterada."),
|
||||
("Anchor:", "Âncora:"),
|
||||
("Aperture", "Abertura"),
|
||||
("Apply Dimensions:", "Aplicar dimensões:"),
|
||||
("Apply Motion To:", "Aplicar movimento a:"),
|
||||
("Arrange", "Organizar"),
|
||||
("Assign", "Atribuir"),
|
||||
("Auto", "Automático"),
|
||||
("Auto-saves", "Salvamentos automáticos"),
|
||||
("Back", "Voltar"),
|
||||
("Background Color:", "Cor do plano de fundo:"),
|
||||
("Blend Mode:", "Modo de mesclagem:"),
|
||||
("Blending Mode", "Modo de mesclagem"),
|
||||
("Blur", "Desfoque"),
|
||||
("Blur Level", "Nível de desfoque"),
|
||||
("Browser Storage", "Armazenamento do navegador"),
|
||||
("Browse…", "Procurar…"),
|
||||
("Brush Dynamics", "Dinâmica do pincel"),
|
||||
("Caching frames…", "Armazenando quadros em cache…"),
|
||||
("Cancel", "Cancelar"),
|
||||
("Casts Shadows", "Projeta sombras"),
|
||||
("Change Renderer…", "Alterar renderizador…"),
|
||||
(
|
||||
"Changing a shortcut creates a custom preset; the default stays as it is.",
|
||||
"Alterar um atalho cria uma predefinição personalizada; a padrão permanece como está.",
|
||||
),
|
||||
("Channel", "Canal"),
|
||||
("Channel:", "Canal:"),
|
||||
("Chapter:", "Capítulo:"),
|
||||
("Choose...", "Escolher..."),
|
||||
("Classic 3D", "3D clássico"),
|
||||
("Clear", "Limpar"),
|
||||
("Clear list", "Limpar lista"),
|
||||
("Click a key to see its commands.", "Clique em uma tecla para ver seus comandos."),
|
||||
("Click adds a point (½ height = no change)", "Clique adiciona um ponto (½ altura = sem alteração)"),
|
||||
("Click adds a point; drag one off to remove", "Clique adiciona um ponto; arraste um para fora para remover"),
|
||||
("Click to make this viewer active", "Clique para tornar este visualizador ativo"),
|
||||
("Click to reveal the expression in the timeline", "Clique para revelar a expressão na linha do tempo"),
|
||||
("Click to show the active composition here", "Clique para mostrar a composição ativa aqui"),
|
||||
("Click, then click in the Composition panel", "Clique e depois clique no painel Composição"),
|
||||
("Clone Options", "Opções de clone"),
|
||||
("Clone Source Overlay:", "Sobreposição da origem do clone:"),
|
||||
("Close", "Fechar"),
|
||||
("Close Panel", "Fechar painel"),
|
||||
("Close tutorial", "Fechar tutorial"),
|
||||
("Color", "Cor"),
|
||||
("Color Depth: {}", "Profundidade de cor: {}"),
|
||||
("Color:", "Cor:"),
|
||||
("Colour map", "Mapa de cores"),
|
||||
("Columns", "Colunas"),
|
||||
("Comment:", "Comentário:"),
|
||||
("Community", "Comunidade"),
|
||||
("Composition", "Composição"),
|
||||
("Composition Mini-Flowchart", "Minifluxograma da composição"),
|
||||
("Composition Name:", "Nome da composição:"),
|
||||
("Composition Settings ▸ 3D Renderer", "Configurações da composição ▸ Renderizador 3D"),
|
||||
("Composition Settings…", "Configurações da composição…"),
|
||||
("Composition marker bin: drag a marker to the time ruler", "Compartimento de marcadores da composição: arraste um marcador para a régua de tempo"),
|
||||
("Cone Angle", "Ângulo do cone"),
|
||||
("Cone Feather", "Suavização do cone"),
|
||||
("Constrain Proportions", "Restringir proporções"),
|
||||
("Continuous (Lock Outgoing to Incoming)", "Contínuo (travar saída na entrada)"),
|
||||
("Cue Point", "Ponto de cue"),
|
||||
("Current Render", "Renderização atual"),
|
||||
("Darker", "Mais escuro"),
|
||||
("Default Output:", "Saída padrão:"),
|
||||
("Default: {}", "Padrão: {}"),
|
||||
("Defaults", "Padrões"),
|
||||
("Delete", "Excluir"),
|
||||
("Delete Selected Points", "Excluir pontos selecionados"),
|
||||
("Delete selected project items", "Excluir itens de projeto selecionados"),
|
||||
("Delete this template", "Excluir este modelo"),
|
||||
("Depth of Field", "Profundidade de campo"),
|
||||
("Discord", "Discord"),
|
||||
("Distribute Layers:", "Distribuir camadas:"),
|
||||
("Don't Recover", "Não recuperar"),
|
||||
("Don't Save", "Não salvar"),
|
||||
("Double-click a layer to open it in the Layer panel", "Clique duas vezes em uma camada para abri-la no painel Camada"),
|
||||
("Double-click footage in the Project panel to open it here", "Clique duas vezes em uma mídia no painel Projeto para abri-la aqui"),
|
||||
("Double-click to edit the comment", "Clique duas vezes para editar o comentário"),
|
||||
("Download", "Baixar"),
|
||||
(
|
||||
"Drag properties here from the timeline,\nor use Animation > Add Property to Essential Graphics.",
|
||||
"Arraste propriedades da linha do tempo para cá,\nou use Animação > Adicionar propriedade aos Gráficos essenciais.",
|
||||
),
|
||||
("Drag to change", "Arraste para alterar"),
|
||||
("Drag to create a guide", "Arraste para criar uma guia"),
|
||||
("Drag to slip the source", "Arraste para deslizar a origem"),
|
||||
("Drop Frame", "Drop frame"),
|
||||
("Duplicate", "Duplicar"),
|
||||
("Duration:", "Duração:"),
|
||||
("Edit Gradient…", "Editar gradiente…"),
|
||||
("Edit Target: {}", "Editar destino: {}"),
|
||||
("Edit in the Timeline", "Editar na linha do tempo"),
|
||||
("EffectCraft didn't quit normally last time.", "O EffectCraft não foi encerrado normalmente da última vez."),
|
||||
("Effects & Presets options", "Opções de Efeitos e predefinições"),
|
||||
("Effects: {}", "Efeitos: {}"),
|
||||
("Empty folder", "Pasta vazia"),
|
||||
("Enable Depth of Field", "Ativar profundidade de campo"),
|
||||
("Enable Expression", "Ativar expressão"),
|
||||
("Enhance", "Aprimorar"),
|
||||
("Essential Properties — {}", "Propriedades essenciais: {}"),
|
||||
("Event", "Evento"),
|
||||
("Export Template…", "Exportar modelo…"),
|
||||
("Export...", "Exportar..."),
|
||||
("Expression Language Menu", "Menu de linguagem de expressão"),
|
||||
("Expression pick whip: drag onto a property", "Pick whip de expressão: arraste até uma propriedade"),
|
||||
("Expression:", "Expressão:"),
|
||||
("Eyedropper: click, then click in the Composition panel", "Conta-gotas: clique e depois clique no painel Composição"),
|
||||
("Falloff", "Atenuação"),
|
||||
("Falloff Distance", "Distância de atenuação"),
|
||||
("Favorites", "Favoritos"),
|
||||
("Field Render: {}", "Renderização de campos: {}"),
|
||||
("Figures", "Numerais"),
|
||||
("Fill Target", "Destino do preenchimento"),
|
||||
("Finished", "Concluído"),
|
||||
("Flowchart: {}", "Fluxograma: {}"),
|
||||
("Focus Distance", "Distância de foco"),
|
||||
("Follow Feature Rotation and Scale", "Acompanhar rotação e escala do recurso"),
|
||||
("Footage: {}", "Mídia: {}"),
|
||||
("Format: {}", "Formato: {}"),
|
||||
("Frame Aspect Ratio: {}", "Proporção do quadro: {}"),
|
||||
("Frame Blending: {}", "Mesclagem de quadros: {}"),
|
||||
("Frame Rate:", "Taxa de quadros:"),
|
||||
("Frame Render Time {}ms", "Tempo de renderização do quadro {}ms"),
|
||||
("Frame Target:", "Destino do quadro:"),
|
||||
("Grab bag", "Lista"),
|
||||
("Grid", "Grade"),
|
||||
("Guide Layers: {}", "Camadas de guia: {}"),
|
||||
("Guides", "Guias"),
|
||||
("Height:", "Altura:"),
|
||||
("Hide This", "Ocultar isto"),
|
||||
("Histogram", "Histograma"),
|
||||
("Hold In Place", "Manter no lugar"),
|
||||
("Home", "Início"),
|
||||
("If Confidence is Below", "Se a confiança for inferior a"),
|
||||
("Import", "Importar"),
|
||||
("Import and Add to Composition", "Importar e adicionar à composição"),
|
||||
("Import...", "Importar..."),
|
||||
("Imported media", "Mídia importada"),
|
||||
("Influence:", "Influência:"),
|
||||
("Install from File…", "Instalar a partir de arquivo…"),
|
||||
("Intensity", "Intensidade"),
|
||||
("Inverted", "Invertido"),
|
||||
("Join the ArtCraft community on Discord", "Entre na comunidade ArtCraft no Discord"),
|
||||
("Key: {}", "Tecla: {}"),
|
||||
("LEARN", "APRENDER"),
|
||||
("Label", "Rótulo"),
|
||||
("Label Colors and Names:", "Cores e nomes dos rótulos:"),
|
||||
("Label:", "Rótulo:"),
|
||||
("Latest auto-save: {}", "Último salvamento automático: {}"),
|
||||
("Layer", "Camada"),
|
||||
("Layer controls", "Controles da camada"),
|
||||
("Layer {}", "Camada {}"),
|
||||
("Layer:", "Camada:"),
|
||||
("Layer: {}", "Camada: {}"),
|
||||
("Learn", "Aprender"),
|
||||
("Leave all attributes in \"{}\"", "Manter todos os atributos em \"{}\""),
|
||||
("Licence: {}", "Licença: {}"),
|
||||
("Ligatures", "Ligaduras"),
|
||||
("Light Type", "Tipo de luz"),
|
||||
("Lighter", "Mais claro"),
|
||||
("Link Selected Property", "Vincular propriedade selecionada"),
|
||||
("Lock Aspect Ratio to {}", "Travar proporção em {}"),
|
||||
("Lock to Zoom", "Travar no zoom"),
|
||||
("Locked: {} — {}", "Travado: {} / {}"),
|
||||
("Log:", "Registro:"),
|
||||
("Loop (Trace Path)", "Laço (traçar caminho)"),
|
||||
("MIT OR Apache-2.0 • Fonts: Inter, JetBrains Mono (OFL)", "MIT OU Apache-2.0 • Fontes: Inter, JetBrains Mono (OFL)"),
|
||||
("Magnification ratio popup", "Menu de proporção de ampliação"),
|
||||
("Make Comp Size", "Ajustar ao tamanho da composição"),
|
||||
("Masks", "Máscaras"),
|
||||
("Maximize Panel", "Maximizar painel"),
|
||||
("Media Replacement", "Substituição de mídia"),
|
||||
("Mesh:", "Malha:"),
|
||||
("Diameter:", "Diâmetro:"),
|
||||
("Method Used: {} Average Error: {} pixels", "Método usado: {} Erro médio: {} pixels"),
|
||||
("Models folder: {}", "Pasta de modelos: {}"),
|
||||
("Modifiers:", "Modificadores:"),
|
||||
("More", "Mais"),
|
||||
("More ArtCraft apps", "Mais aplicativos ArtCraft"),
|
||||
("More tutorials", "Mais tutoriais"),
|
||||
("Motion Blur", "Desfoque de movimento"),
|
||||
("Motion Blur: {}", "Desfoque de movimento: {}"),
|
||||
("Motion Sketch: drag to record", "Motion Sketch: arraste para gravar"),
|
||||
("Move Down", "Mover para baixo"),
|
||||
("Move Up", "Mover para cima"),
|
||||
("Move to Project Root", "Mover para a raiz do projeto"),
|
||||
("Name", "Nome"),
|
||||
("Name:", "Nome:"),
|
||||
("Navigation", "Navegação"),
|
||||
("New", "Novo"),
|
||||
("New Comp from Selection", "Nova composição a partir da seleção"),
|
||||
("New Duration:", "Nova duração:"),
|
||||
("New composition name:", "Nome da nova composição:"),
|
||||
("New from Render Queue item:", "Novo a partir do item da fila de renderização:"),
|
||||
("New from Template", "Novo a partir de modelo"),
|
||||
("Next", "Próximo"),
|
||||
("Nice work. Pick another tutorial on the Home screen's Learn tab.", "Bom trabalho. Escolha outro tutorial na guia Aprender da tela Início."),
|
||||
(
|
||||
"No VR environments yet. Create one with Composition ▸ VR ▸ Create VR Environment…",
|
||||
"Nenhum ambiente de RV ainda. Crie um com Composição ▸ RV ▸ Criar ambiente de RV…",
|
||||
),
|
||||
("No audio layer selected", "Nenhuma camada de áudio selecionada"),
|
||||
("No background jobs running", "Nenhuma tarefa em segundo plano em execução"),
|
||||
("No composition markers", "Nenhum marcador de composição"),
|
||||
("No contributor data was built into this copy.", "Nenhum dado de colaboradores foi incluído nesta cópia."),
|
||||
("No device list from this host; the system default output is used.", "Este host não forneceu lista de dispositivos; a saída padrão do sistema é usada."),
|
||||
("No layer selected", "Nenhuma camada selecionada"),
|
||||
("No matching effects or presets", "Nenhum efeito ou predefinição correspondente"),
|
||||
("No matching fonts", "Nenhuma fonte correspondente"),
|
||||
("No model credits were built into this copy.", "Nenhum crédito de modelos foi incluído nesta cópia."),
|
||||
("No nested compositions", "Nenhuma composição aninhada"),
|
||||
("No shortcut", "Sem atalho"),
|
||||
("No unlocked layer selected", "Nenhuma camada desbloqueada selecionada"),
|
||||
("No video", "Sem vídeo"),
|
||||
("None", "Nenhum"),
|
||||
("Not applied: tick it in the list to add it.", "Não aplicado: marque-o na lista para adicioná-lo."),
|
||||
("Not assigned", "Não atribuído"),
|
||||
(
|
||||
"Note: Shadows are only cast from layers with Cast Shadows enabled.",
|
||||
"Observação: as sombras só são projetadas por camadas com Projetar sombras ativado.",
|
||||
),
|
||||
("Notify", "Notificar"),
|
||||
("OK", "OK"),
|
||||
("Offset:", "Deslocamento:"),
|
||||
("On ({}) stop:", "Ao parar ({}):"),
|
||||
("One-Node Camera", "Câmera de um nó"),
|
||||
("Opacity:", "Opacidade:"),
|
||||
("Open Composition", "Abrir composição"),
|
||||
("Open Last Saved Project", "Abrir último projeto salvo"),
|
||||
("Open New Composition", "Abrir nova composição"),
|
||||
("Open Output", "Abrir saída"),
|
||||
("Open a composition to build Essential Graphics", "Abra uma composição para criar Gráficos essenciais"),
|
||||
("Open a composition to see its scopes", "Abra uma composição para ver seus scopes"),
|
||||
("Open a composition to track motion.", "Abra uma composição para rastrear movimento."),
|
||||
("Opus Tuning: {}", "Ajuste do Opus: {}"),
|
||||
("Original Duration:", "Duração original:"),
|
||||
("Output Cycle: {}", "Ciclo de saída: {}"),
|
||||
("Output To:", "Saída para:"),
|
||||
("Parameter Name:", "Nome do parâmetro:"),
|
||||
("Parent pick whip: drag onto a layer", "Pick whip de pai: arraste até uma camada"),
|
||||
("Pixel Aspect Ratio:", "Proporção de pixel:"),
|
||||
("Playing on Video Preview", "Reproduzindo na visualização de vídeo"),
|
||||
("Post-Render Action: {}", "Ação pós-renderização: {}"),
|
||||
("Preserve frame rate when nested or in render queue", "Preservar a taxa de quadros quando aninhada ou na fila de renderização"),
|
||||
("Preserve resolution when nested", "Preservar a resolução quando aninhada"),
|
||||
("Preset", "Predefinição"),
|
||||
("Preset:", "Predefinição:"),
|
||||
("Presets", "Predefinições"),
|
||||
("Previous", "Anterior"),
|
||||
("Primary:", "Primário:"),
|
||||
("Process Before Match", "Processar antes de corresponder"),
|
||||
("Profile: {}", "Perfil: {}"),
|
||||
(
|
||||
"Project color depth: click to cycle 8/16/32 bpc, Alt-click for Project Settings",
|
||||
"Profundidade de cor do projeto: clique para alternar entre 8/16/32 bpc, Alt+clique para Configurações do projeto",
|
||||
),
|
||||
("Project: {}", "Projeto: {}"),
|
||||
("Projects", "Projetos"),
|
||||
("Property pick whip: drag onto a property", "Pick whip de propriedade: arraste até uma propriedade"),
|
||||
("Protected Region", "Região protegida"),
|
||||
("Proxy Use: {}", "Uso de proxy: {}"),
|
||||
("Push All to Comp", "Enviar tudo para a composição"),
|
||||
("Radius", "Raio"),
|
||||
("Rate Control: {}", "Controle de taxa: {}"),
|
||||
("Recent", "Recentes"),
|
||||
("Recording", "Gravando"),
|
||||
("Remove", "Remover"),
|
||||
("Rename", "Renomear"),
|
||||
("Render: {} ms • UI {} fps{}", "Renderização: {} ms • IU {} fps{}"),
|
||||
("Renderer:", "Renderizador:"),
|
||||
("Request Persistent Storage", "Solicitar armazenamento persistente"),
|
||||
("Reset", "Redefinir"),
|
||||
("Reset Labels", "Redefinir rótulos"),
|
||||
("Reset Preset", "Redefinir predefinição"),
|
||||
("Reset to Default", "Redefinir para o padrão"),
|
||||
("Reset to Saved Layout", "Redefinir para o layout salvo"),
|
||||
("Resolution/Down Sample Factor Popup", "Menu de resolução/fator de redução de amostragem"),
|
||||
("Restore Panel Size", "Restaurar tamanho do painel"),
|
||||
("Reverse the order", "Inverter a ordem"),
|
||||
("Revert All", "Reverter tudo"),
|
||||
("Roman Hanging Punctuation", "Pontuação romana suspensa"),
|
||||
("Roving:", "Roving:"),
|
||||
("Ruler zero point (drag to move, double-click to reset)", "Ponto zero da régua (arraste para mover, clique duas vezes para redefinir)"),
|
||||
("Rulers", "Réguas"),
|
||||
("Run", "Executar"),
|
||||
("Sample Format: {}", "Formato da amostra: {}"),
|
||||
("Samples Per Frame:", "Amostras por quadro:"),
|
||||
("Save from #{}", "Salvar a partir de #{}"),
|
||||
("Saved {}", "{} salvo"),
|
||||
("Script… (⌘/Ctrl+Enter runs)", "Script… (⌘/Ctrl+Enter executa)"),
|
||||
("Search commands or shortcuts", "Pesquisar comandos ou atalhos"),
|
||||
("Select", "Selecionar"),
|
||||
("Select a command to change its shortcut.", "Selecione um comando para alterar seu atalho."),
|
||||
("Select a layer to see its effects", "Selecione uma camada para ver seus efeitos"),
|
||||
("Select a layer to see its properties", "Selecione uma camada para ver suas propriedades"),
|
||||
("({}) Selected Objects", "({}) objetos selecionados"),
|
||||
(
|
||||
"Select a layer with a mask or shape path (or the path property), or Puppet pins.",
|
||||
"Selecione uma camada com máscara ou caminho de forma (ou a propriedade de caminho), ou pinos de Puppet.",
|
||||
),
|
||||
("Select a text layer", "Selecione uma camada de texto"),
|
||||
("Select an item in the Project panel", "Selecione um item no painel Projeto"),
|
||||
("Select animated properties to show them in the Graph Editor", "Selecione propriedades animadas para exibi-las no Editor de gráficos"),
|
||||
(
|
||||
"Select the leader pin, then Shift-click the pins that should trail it (hair, cloth, tails)",
|
||||
"Selecione o pino líder e depois Shift+clique nos pinos que devem segui-lo (cabelo, tecido, caudas)",
|
||||
),
|
||||
("Set Ground Plane and Origin", "Definir plano do solo e origem"),
|
||||
("Set Paint Colors to Black and White (D)", "Definir cores de pintura como preto e branco (D)"),
|
||||
("Settings", "Configurações"),
|
||||
("Settings Name:", "Nome das configurações:"),
|
||||
("Shadow Darkness", "Escuridão da sombra"),
|
||||
("Shadow Diffusion", "Difusão da sombra"),
|
||||
("Shadows", "Sombras"),
|
||||
("Shape…", "Forma…"),
|
||||
("Show", "Exibir"),
|
||||
("Show Layer Name", "Exibir nome da camada"),
|
||||
("Show Source Name", "Exibir nome da origem"),
|
||||
("Show me", "Mostre-me"),
|
||||
("Show:", "Exibir:"),
|
||||
("Shutter Angle:", "Ângulo do obturador:"),
|
||||
("Shutter Phase:", "Fase do obturador:"),
|
||||
("Size", "Tamanho"),
|
||||
("Skip", "Ignorar"),
|
||||
("Snapping", "Ajuste magnético"),
|
||||
("Snapping options", "Opções de ajuste magnético"),
|
||||
("Snapshot", "Instantâneo"),
|
||||
("Solo Supported Properties", "Solo de propriedades suportadas"),
|
||||
("Solo Switches: {}", "Chaves de solo: {}"),
|
||||
("Sort", "Ordenar"),
|
||||
("Spacing:", "Espaçamento:"),
|
||||
("Spatial Interpolation:", "Interpolação espacial:"),
|
||||
("Speed:", "Velocidade:"),
|
||||
("Start Timecode:", "Timecode inicial:"),
|
||||
("Start: {} Duration: {}", "Início: {} Duração: {}"),
|
||||
("Step {} of {}: {}", "Etapa {} de {}: {}"),
|
||||
("Stop {} at {}°", "Parada {} em {}°"),
|
||||
("Stored in: {}", "Armazenado em: {}"),
|
||||
("Stretch", "Esticar"),
|
||||
("Stretch Factor:", "Fator de esticamento:"),
|
||||
("Stylistic Sets", "Conjuntos estilísticos"),
|
||||
("Subpixel Positioning", "Posicionamento em subpixel"),
|
||||
("Swap Paint Colors (X)", "Trocar cores de pintura (X)"),
|
||||
("System Default", "Padrão do sistema"),
|
||||
("Table", "Tabela"),
|
||||
("Template name", "Nome do modelo"),
|
||||
("Template: {}\n{}", "Modelo: {}\n{}"),
|
||||
("Temporal Interpolation:", "Interpolação temporal:"),
|
||||
("The Media Browser is not available here (use File ▸ Import)", "O Media Browser não está disponível aqui (use Arquivo ▸ Importar)"),
|
||||
("The OpenEXR layer shown in red, green, blue and alpha", "A camada OpenEXR exibida em vermelho, verde, azul e alfa"),
|
||||
("The render queue is empty.", "A fila de renderização está vazia."),
|
||||
("This ScriptUI panel has closed", "Este painel ScriptUI foi fechado"),
|
||||
("This change will create a new solid for this layer.", "Esta alteração criará um novo sólido para esta camada."),
|
||||
("Time", "Tempo"),
|
||||
("Time Stretch…", "Esticamento de tempo…"),
|
||||
("Time:", "Tempo:"),
|
||||
("Time: {}", "Tempo: {}"),
|
||||
("Title/Action Safe", "Área segura de título/ação"),
|
||||
("Title/action safe", "Área segura de título/ação"),
|
||||
("Toggle Switches / Modes", "Alternar chaves / modos"),
|
||||
("Track Name:", "Nome da faixa:"),
|
||||
(
|
||||
"Trained models are available in the desktop app; the browser uses the classic engine.",
|
||||
"Os modelos treinados estão disponíveis no aplicativo para desktop; o navegador usa o mecanismo clássico.",
|
||||
),
|
||||
("Transform", "Transformar"),
|
||||
("Transparency grid", "Grade de transparência"),
|
||||
("Tutorial complete", "Tutorial concluído"),
|
||||
("Two-Node Camera", "Câmera de dois nós"),
|
||||
("Type", "Tipo"),
|
||||
("Type a command or effect…", "Digite um comando ou efeito…"),
|
||||
("URL:", "URL:"),
|
||||
("Undock Panel", "Desencaixar painel"),
|
||||
("Unlink {}", "Desvincular {}"),
|
||||
(
|
||||
"Use this option to place the currently selected layers together into a new intermediate composition.",
|
||||
"Use esta opção para colocar as camadas selecionadas juntas em uma nova composição intermediária.",
|
||||
),
|
||||
("VR Environments", "Ambientes de RV"),
|
||||
("Value:", "Valor:"),
|
||||
("Variable Font Axes", "Eixos da fonte variável"),
|
||||
("Video Codec: {}", "Codec de vídeo: {}"),
|
||||
("View:", "Exibição:"),
|
||||
("Welcome to EffectCraft", "Boas-vindas ao EffectCraft"),
|
||||
("Width:", "Largura:"),
|
||||
("You can undo this.", "Você pode desfazer isto."),
|
||||
("Your changes will be lost if you don't save them.", "Suas alterações serão perdidas se você não as salvar."),
|
||||
("Zoom", "Zoom"),
|
||||
("built-in", "integrado"),
|
||||
("frames per second", "quadros por segundo"),
|
||||
("template name", "nome do modelo"),
|
||||
("{} contributors · {} commits", "{} colaboradores · {} commits"),
|
||||
("{} x {}, {}MB per 8bpc frame", "{} x {}, {}MB por quadro de 8 bpc"),
|
||||
("{} — coming soon", "{} em breve"),
|
||||
("{} — double-click to open, {}-click to reveal", "{}: clique duas vezes para abrir, {}+clique para revelar"),
|
||||
("⌘/Ctrl-drag a pin to record its motion", "⌘/Ctrl+arraste um pino para gravar seu movimento"),
|
||||
("▣ {}", "▣ {}"),
|
||||
("⚠ {} is used by:", "⚠ {} é usado por:"),
|
||||
];
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
@@ -2237,7 +2673,14 @@ mod tests {
|
||||
const UNITS: &[&str] = &[" px", "%", "·", "s", "ms", "°", "fps", " bpc", " mm", " s", " %", " pixels"];
|
||||
|
||||
fn catalogs() -> Vec<(&'static str, &'static str)> {
|
||||
JAPANESE.iter().copied().chain(SIMPLIFIED_CHINESE.iter().copied()).chain(TRADITIONAL_CHINESE.iter().copied()).chain(UKRAINIAN.iter().copied()).collect()
|
||||
JAPANESE
|
||||
.iter()
|
||||
.copied()
|
||||
.chain(SIMPLIFIED_CHINESE.iter().copied())
|
||||
.chain(TRADITIONAL_CHINESE.iter().copied())
|
||||
.chain(UKRAINIAN.iter().copied())
|
||||
.chain(PORTUGUESE.iter().copied())
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// A row that translates nothing, repeats a source string, or changes the number of values the
|
||||
@@ -2248,7 +2691,7 @@ mod tests {
|
||||
let hant: Vec<&str> = TRADITIONAL_CHINESE.iter().map(|(en, _)| *en).collect();
|
||||
assert_eq!(hans, hant, "the two Chinese catalogs list different source strings");
|
||||
// Japanese and Ukrainian may lag the Chinese catalogs: a missing row falls back to English.
|
||||
for (name, cat) in [("Japanese", JAPANESE), ("Ukrainian", UKRAINIAN)] {
|
||||
for (name, cat) in [("Japanese", JAPANESE), ("Ukrainian", UKRAINIAN), ("Brazilian Portuguese", PORTUGUESE)] {
|
||||
let extra: Vec<&str> = cat.iter().map(|(en, _)| *en).filter(|en| !hans.contains(en)).collect();
|
||||
assert!(extra.is_empty(), "the {name} catalog lists source strings the Chinese ones don't: {extra:?}");
|
||||
}
|
||||
@@ -2293,6 +2736,19 @@ mod tests {
|
||||
assert_eq!(tr("Composition Name:"), "Composition Name:");
|
||||
}
|
||||
|
||||
/// Brazilian Portuguese panels translate, fill values in order and keep project content.
|
||||
#[test]
|
||||
fn brazilian_portuguese_panels_translate_and_keep_project_content() {
|
||||
set_current("pt-br");
|
||||
assert_eq!(tr("Composition Name:"), "Nome da composição:");
|
||||
assert_eq!(tr("Cancel"), "Cancelar");
|
||||
assert_eq!(tr("my layer.mp4"), "my layer.mp4");
|
||||
assert_eq!(tr_args("Step {} of {}: {}", &[&1, &3, &"Colour"]), "Etapa 1 de 3: Colour");
|
||||
assert_eq!(tr(" OK "), " OK ");
|
||||
set_current("en");
|
||||
assert_eq!(tr("Cancel"), "Cancel");
|
||||
}
|
||||
|
||||
/// Values fill the placeholders in order, and a missing value is dropped instead of panicking.
|
||||
#[test]
|
||||
fn tr_args_fills_values_in_order() {
|
||||
|
||||
Reference in new issue
Block a user