2009-11-24 10 views
6

Sto sviluppando un sito Web multilingue e la localizzazione viene eseguita principalmente utilizzando i file .resx. Ma ora ho bisogno di abilitare gli utenti con alcune autorizzazioni per modificare i file di risorse online dal sito web. Qualcuno sa di qualsiasi componente esistente per aiutare a raggiungere questo?Componente ASP.NET per modificare file .resx

risposta

6

La cosa migliore che puoi fare è passare a un approccio orientato DB.

Rick Strahl ha questo eccellente articolo: Creating a Data Driven ASP.NET Localization Resource Provider and Editor con codice sorgente gratuito!

Ha anche una funzione Import in modo da non dover ri-tradurre il lavoro svolto finora.

Edit: se ti ostini a modificare i file XML, questo articolo può aiutare: Updatable ASP.NET ResX Resource Provider – yes, it’s possible!

+0

Questi sembrano grandi soluzioni. Grazie! – Farinha

0

Penso che dovresti considerare questo passaggio ancora una volta. Innanzitutto i file resx vengono compilati anziché utilizzati direttamente, quindi qualsiasi modifica richiede la ricompilazione della pagina *. L'altra cosa è che potrebbe essere una seria minaccia per la sicurezza: consente agli utenti di modificare i file nella cartella dell'applicazione.

* - http://msdn.microsoft.com/en-us/library/ekyft91f%28VS.80%29.aspx

+0

Quindi immagino che non c'è modo "pulito" di accedere ai file RESX se non per solo aprirli "vecchia scuola" stile, fare in giro con l'XML, e la scrittura al file system ancora. E poi l'app scoprirà che sono stati modificati e li compila in fase di runtime. Per quanto riguarda il rischio per la sicurezza, i file .resx contengono solo stringhe di traduzione e gli utenti che li modificano necessitano delle autorizzazioni appropriate. Questo mi ha fatto pensare, potrebbe essere fatto un "attacco di iniezione" inserendo del codice in un file .resx? – Farinha

0

Ho appena trovato questo Resource Blender applicazione che è simile a quello che stavo cercando:

ResourceBlender è un'applicazione open source di traduzione e internazionalizzazione che offre un modo semplice per gestire le risorse localizzate per l'inclusione di con diverse applicazioni. Disponibile come applicazione Web ASP.NET e un'applicazione desktop WPF , rende la localizzazione delle applicazioni un gioco da ragazzi. ResourceBlender genera risorse localizzate nei formati diversi da un database centrale per l'inclusione con diverse applicazioni .

caratteristiche principali offerti sono:

  • risorse Esportazione in file resx .NET, Java, .properties GNU .po/gettext, le entità XHTML e altro ancora.
  • Importa/esporta i dati di traduzione come fogli di calcolo XML per rendere più comoda la modifica.
  • Utilizzare un database di traduzione per mantenere le localizzazioni in-sync.
  • Supporta MySQL, SQL Server e SQLite, quindi non è richiesto alcun database esterno.
  • Migrazione da file esistenti .resx o .properties con una procedura guidata di importazione.
  • Facile sia per i traduttori che per i proprietari/amministratori del progetto.
  • Libero e open source.
  • Traduzione automatica automatica con Google Translate.
  • Modelli personalizzati per i formati delle risorse.
Problemi correlati