Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Meertalige website

Pagina: 1
Acties:

  • Hooiopdevork
  • Registratie: December 2008
  • Laatst online: 25-05-2023
Hallo,

Ik ga een meertalige website maken in asp.net. De aangeprezen manier om dit te doen is werken met resource files, iedere taal krijgt dan zijn eigen resource file.
Nu heb ik dit geprobeerd en dit werkt inderdaad wel, alleen is het onderhoud hiervan volgens mij niet zo handig als ik ergens op een pagina een tekst toevoeg, dan moet ik deze vervolgens bij elke resource file(elke taal) toevoegen, is hier geen oplossing voor? Ik ben benieuwd naar jullie ervaringen hiermee. :)

  • mithras
  • Registratie: Maart 2003
  • Niet online
Wij maken onderscheid tussen twee soorten content: statisch en dynamisch. Statische content is niet aan te passen door een gebruiker en staat in een vertaalbestand. De dynamische content is wel door de gebruiker aan te passen en staat in de database.

Een voorbeeld van statische content zijn bijvoorbeeld de labels van een contactformulier (Naam, Emailadres, Bericht, etc). Een voorbeeld van dynamische content is een tekstpagina "about" van een bedrijf.

Wat je nu met resources bedoelt is mij onduidelijk, gezien een xml/ini/yaml file op het filesystem maar een database beide resources zijn. Je resource files zijn je "losse" vertaalbestanden?

Verwijderd

Wij maken meestal gebruik van een soort key voor bepaalde teksten als titels en form labels, deze worden ingeladen afhankelijk van de taal. Een key kan bijvoorbeeld zijn 'title_send_message', die in het nederlands vertaald wordt naar 'Stuur een bericht'.

Indien deze niet aanwezig zijn zal gewoon de key getoond worden ... Er is ook een optie dat indien een key niet gedefinieerd is deze automatisch in de DB gezet wordt zodat er makkelijk te zien is waar er nog geen vertalingen voor aanwezig zijn.

  • defcon84
  • Registratie: September 2009
  • Laatst online: 27-11 10:22

defcon84

Multipass?

Ik gebruik altijd resource files voor dinge die de user niet zelf kan aanpassen.. zoals error msgs, titels, menu, ...

Maar de content steek ik altijd in een database: typisch heb je dan de bijvoorbeeld volgende tabellen:
Language (ID, naam); Products (ID, CategorieID, ...); ProductsContent (ProductID, LanguageID, Naam, ..)

Een aparte tabel voor je vertalingen dus..
Je snapt het wel ^^

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 17-10 16:43
Hooiopdevork schreef op vrijdag 25 februari 2011 @ 07:30:
als ik ergens op een pagina een tekst toevoeg, dan moet ik deze vervolgens bij elke resource file(elke taal) toevoegen, is hier geen oplossing voor? Ik ben benieuwd naar jullie ervaringen hiermee. :)
Je wilt een website maken in meerdere talen maar vind het gek dat je die content dan voor elke taal moet schrijven :/. wait whut??

Of bedoel je dat je ook een common/fallback taal wil?

~ Mijn prog blog!


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 10:23

Haan

dotnetter

Nee, hij zegt dat het bijhouden omslachtig is, omdat je dat voor iedere taal in een aparte resource moet doen (als je de ASP.NET manier van resources gebruikt)

Kater? Eerst water, de rest komt later


  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 28-11 08:35
Je kan hem openen en aanpassen met http://code.google.com/p/simpleresxeditor/downloads/list
Dan krijg je de verschillende resx file's naast elkaar. En hoef je deze niet apart te openen en aan te passen.

  • Hooiopdevork
  • Registratie: December 2008
  • Laatst online: 25-05-2023
@Haan: Dat is inderdaad wat ik bedoel.
@Sven_Vdb: Dat ziet er wel goed uit, deze ga ik eens proberen.

Ik kan er ook voor kiezen om iedere tekst/ woord uit een database te halen maar ik weet niet of dit wel een goed idee is. Bij de opbouw van de pagina moet het systeem dan voor ieder woord of stukje tekst een connectie/query uitvoeren.

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Hoezo? Je kunt toch een cache maken?

Driving a cadillac in a fool's parade.


  • Sven_Vdb
  • Registratie: Januari 2006
  • Laatst online: 28-11 08:35
Voor labels en dergelijke zou ik gewoon vaste resources nemen (resx bestanden) . Voor content kan je dan de database gebruiken.

[ Voor 7% gewijzigd door Sven_Vdb op 25-02-2011 13:03 ]


  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Ik niet... Elke keer als de klant dan een label van naam veranderd wilt hebben, kan ik mooi al die resources bijwerken. Het idee van een CMS is juist dat ze dingen zelf kunnen beheren. Labels die aan de voorkant getoond worden horen door imho ook bij.

Driving a cadillac in a fool's parade.


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 10:23

Haan

dotnetter

kwaakvaak_v2 schreef op vrijdag 25 februari 2011 @ 15:04:
Ik niet... Elke keer als de klant dan een label van naam veranderd wilt hebben, kan ik mooi al die resources bijwerken. Het idee van een CMS is juist dat ze dingen zelf kunnen beheren. Labels die aan de voorkant getoond worden horen door imho ook bij.
Maar wie heeft hier het woord CMS genoemd?

Kater? Eerst water, de rest komt later


  • keesdewit
  • Registratie: December 2003
  • Laatst online: 19-06 20:46
Je kunt zelf een resource provider maken die de vertaal gegevens uit je database laad en cached.

http://msdn.microsoft.com/en-us/library/aa905797.aspx

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Haan schreef op vrijdag 25 februari 2011 @ 15:17:
[...]

Maar wie heeft hier het woord CMS genoemd?
In principe is elke site waar een gebruiker/beheerder dingen kan toevoegen of aanpassen een CMS. Misschien niet in de meer traditonele zin des woords. Maar als er niks te beheren was, had de site net zo goed in notepad gemaakt kunnen worden ipv ASP ;)

Driving a cadillac in a fool's parade.


  • Hooiopdevork
  • Registratie: December 2008
  • Laatst online: 25-05-2023
Zelf een resource provider maken klinkt ook wel mooi, dan moet ik wel even in het cache gebeuren duiken wat dat is dan wel heel belangrijk.
Voordeel hiervan is ook dat ik gewoon een pagina kan maken waarin de teksten beheerd kunnen worden.

  • BlackHawkDesign
  • Registratie: Maart 2005
  • Laatst online: 23-11 20:31
Is het een idee om de labels te beheren in een tabel en bij een update zelf die resources bestanden te genereren? Dan wordt de database niet onnodig belast, maar is het makkelijker te beheren. Je zal dan alleen zon generator moeten schrijven..

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Hallo,

Ik ga een meertalige website maken in asp.net. De aangeprezen manier om dit te doen is werken met resource files, iedere taal krijgt dan zijn eigen resource file.
Nu heb ik dit geprobeerd en dit werkt inderdaad wel, alleen is het onderhoud hiervan volgens mij niet zo handig als ik ergens op een pagina een tekst toevoeg, dan moet ik deze vervolgens bij elke resource file(elke taal) toevoegen, is hier geen oplossing voor? Ik ben benieuwd naar jullie ervaringen hiermee.
Je zult altijd houden dat je in meerdere talen je tekst moet schrijven. De manier waarop je dit vervolgens opslaat en in hoeverre dat geautomatiseerd is kun je wel wat aan doen. Als je gewoon met een simpel formuliertje en afhandeling daarvan door de server je resource files kunt editen scheelt dat al een stuk werk. Heel veel makkelijker zal het nooit worden. Meer talen = meer werk.

Offtopic: Hooiopdevork, neem je niet te veel hooi op je vork ;)

  • keesdewit
  • Registratie: December 2003
  • Laatst online: 19-06 20:46
@hooiopdevork: Met een sqlcachedependency kun je een afhankelijkheid maken tussen je applicatie cache en de sql tabellen: http://msdn.microsoft.com...edependency(v=VS.90).aspx

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

kwaakvaak_v2 schreef op vrijdag 25 februari 2011 @ 17:11:
[...]
... in notepad gemaakt kunnen worden ipv ASP ;)
Dat is geen vergelijking. Je kan ook niet zeggen dat je je vervoersmiddel beter in de garage had kunnen maken ipv een auto :P

If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • NickM89
  • Registratie: November 2007
  • Laatst online: 13-12-2024
Goedemorgen Tweakers,

Grappig om jouw probleem te lezen (niet voor jouw natuurlijk) maar dit heb ik zelf ook ooits eens gehad.
Hier voor heb ik een simpele hobby bob oplossing gemaakt.


-- Directory indeling --
[Main]

- [Dynamic]
- [Taal]
- [Vul hier een taal in]

- [Static]
- [Taal]
- [Vul hier een taal in]

Vervolgens een php script (kan ik het niet eens noemen) gemaakt die de Dynamic content ophaalde door bijv. file_get_content en deze schreef in een html bestand in de static map die vervolgens werd gelezen door de eind gebruiker.

Natuurlijk wel even een selectie form maken welke pagina's je zou willen updaten

Grt. Nick

ps. Lang leven Hobby bob oplossingen
Pagina: 1