Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129

    Localizzazione editabile

    Salve,

    ho un progetto bello grosso in cui uso la localizzazione in diverse lingue.
    Ho quindi la mia cartella di App_GlobalResources con i miei file resx per le lingue (risorse.resx, risorse.en-GB.resx, etc...).
    I file di risorse contengono centinaia di chiavi/valore che ovviamente vengono richiamate dalle pagine aspx con sintassi tipo
    codice:
    Resources.risorse.LabelButton1
    .

    Quale è il problema?
    Devo ora permettere al cliente di poter modificare i valori di tali chiavi.
    Considerando che la cartella App_GlobalResources, con la pubblicazione, viene compilata... non ho alcuna minima idea di come poter agire...

    Avete idee che non mi stravolgano il progetto?
    (Ripeto, le chiavi dei file di risorse sono centinaia e molteplici volte vengono richiamate nell'interfaccia)

    Grazie

  2. #2
    Ti riporto un piccolo pezzettino di un articolo che ho scritto proprio ieri a riguardo (caso strano!?):
    3.Memorizzare il contenuto di ogni lingua in file di risorse. Questi dati vengono integrati nell’applicazione stessa quando viene compilata, ne consegue un miglioramento delle performance rispetto al recupero dei dati da un database, ma la distrubuzione e l’assistenza per la configurazione di nuove lingue può rappresentare un problema in quanto fattibile solo da personale con conoscenze tecniche specifiche.
    Siti multilingua con ASP.NET

    Allora.. il tuo file di risorsa è compilato separatamente oppure è stato aggiunto direttamente al progetto come file resx? Purtroppo la modifica dovrebbe comunque stravolgere il progetto per colpa del cliente che delle volte andrebbe chiuso ed imballato in una scatola di accaio e buttato a mare

    Cmq qui c'è un principio di soluzione:
    http://forums.asp.net/t/1152145.aspx

    Spero ti sia di aiuto! In bocca al lupo!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    Allora, grazie per la repentina risposta.

    I file di risorse sono nella cartella App_GlobalResources del mio progetto... e di conseguenza vengono compilati con esso.

    Quel link sul "principio di soluzione" l'avevo già visto: l'editor del file .resx funge, ma ovviamente in run-time in debug, in quanto ho la mia bella cartella App_GlobalResources ed i suoi file facilmente accessibili.
    Nel momento in cui pubblico l'applicazione e cerco di accedere a quei file (ormai compressi in una dll), ottengo: "Impossibile trovare una parte del percorso 'C:\inetpub\wwwroot\MioSito\App_GlobalResources\ri sorse.resx'."

    Cercavo una soluzione del tipo:
    - evitare che i file resx vengano compilati e permetterne la lettura e la modifica...
    - oppure: gestire tutto in un DataBase... e permettere, con una semplice paginetta aspx, la creazione dei .resx partendo dai dati nel DB.

    Tutto questo, magari facendo in modo che comunque le varie etichette siano accessibili con codice tipo: Resources.risorse.LabelX ... o magari, se Resources è parola chiave del sistema, fare un Trova/Sostituisci...

    Spero di essere stato chiaro...

    Comunque grazie...

  4. #4
    Certo natron però per il tuo obiettivo finale è abbastanza complesso agira.

    Ti spiego, il semplice fatto di voler avere accesso alla risorsa in questo modo:
    Resources.risorse.LabelX
    indica l'uso implicito della reflection e di tutto quello che ne consegue, non è per niente facile, dovresti eseguire codice runtime, cioè "GENERARE CODICE IN ALTRO CODICE" e ti assicuro che non è una passeggiata.

    Io capisco il tuo problema dov'è, anzi provo a capire: giustamente tu vorresti trovare una soluzione di questo tipo, che non tocchi l'utilizzo del Resource nella modalità che mi hai descritto per evitare di dover cancellare parecchio codice o mi sbaglio?
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    Utente di HTML.it L'avatar di natron
    Registrato dal
    Apr 2001
    Messaggi
    129
    Il mio fondamentale problema è che nelle mie pagine ho centinaia e centinaia di volte codici tipo:
    codice:
    <asp:TableCell><%=Resources.risorse.LabelName%></asp:TableCell>
    
    ...
    
    ErrorMessage="<%$ Resources: risorse, MsgSearchReservationDate %>"
    
    ...
    
    TextBox textB = new TextBox();
    textB.Text = Resources.risorse.LabelNameDefault;
    quindi cercavo una soluzione indolore (o quasi)...

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Due cose OT:

    1. In questo thread ho appena visto l'avatar PIU' BRUTTO della storia del forum

    2. Roby, "Potrei tranquillamente paragonare la donna ad un software in continua fase di sviluppo". Ma come ti vengono ? (ah no, l'hai copiata, edit )

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.