Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
June 01, 2011 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Hi I'm a newbie with big ambitions! (Sorry, got spoiled by C#) Anyhow I'm toying with a D learning project and there are 2 .NET feature that will be welcome in this D project: 1. internationalization. the app will contains a bunch of simple UIs and I was wondering how I would go on internationalizing the application. I.e. embed multiple "resource" for different languages in the EXE and show the appropriate ones for the target / running computer 2. I'd like a part of my library (in progress) to read / write some arbitrary settings. I was thing to use something akin to the DataContractSerialization we have in .NET where I could define a few classes with attribute [DataContract] class Root { [DataMember] public int Prop1 { get; set; } [DataMember] public B PropB { get; set; } } [DataContract] class B { [DataMember] public string Name { get; set; } } a reader / writer class can turn this class (using the atributes) into text (XML, JSON, I don't care) and back from text into object instance How would I implement something similar in D? Is there already a library doing it? |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lloyd Dupont | I found half the answer to question 1 (internationalization) I still dunno how to get the local language (I guess I'll have to find the win32 method which return it) but I found how to do the resources!! (using mixins) what do you think? === D file === string[string][string] lang; mixin(import("lang.txt")); mixin(import("lang.fr.txt")); === lang.txt == lang["en"] = [ "start" : "start", "quit" : "quit", ]; === lang.fr.txt lang["fr"] = [ "start" : "demarrer", "quit" : "quitter", ]; ============ "Lloyd Dupont" wrote in message news:is5cs7$128p$1@digitalmars.com... Hi I'm a newbie with big ambitions! (Sorry, got spoiled by C#) Anyhow I'm toying with a D learning project and there are 2 .NET feature that will be welcome in this D project: 1. internationalization. the app will contains a bunch of simple UIs and I was wondering how I would go on internationalizing the application. I.e. embed multiple "resource" for different languages in the EXE and show the appropriate ones for the target / running computer 2. I'd like a part of my library (in progress) to read / write some arbitrary settings. I was thing to use something akin to the DataContractSerialization we have in .NET where I could define a few classes with attribute [DataContract] class Root { [DataMember] public int Prop1 { get; set; } [DataMember] public B PropB { get; set; } } [DataContract] class B { [DataMember] public string Name { get; set; } } a reader / writer class can turn this class (using the atributes) into text (XML, JSON, I don't care) and back from text into object instance How would I implement something similar in D? Is there already a library doing it? |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lloyd Dupont | On 2011-06-01 14:51, Lloyd Dupont wrote: > Hi I'm a newbie with big ambitions! (Sorry, got spoiled by C#) > > Anyhow I'm toying with a D learning project and there are 2 .NET feature > that will be welcome in this D project: > > 1. internationalization. > the app will contains a bunch of simple UIs and I was wondering how I > would go on internationalizing the application. I.e. embed multiple > "resource" for different languages in the EXE and show the appropriate > ones for the target / running computer > > > 2. I'd like a part of my library (in progress) to read / write some > arbitrary settings. I was thing to use something akin to the > DataContractSerialization we have in .NET > where I could define a few classes with attribute > > [DataContract] > class Root > { > [DataMember] > public int Prop1 { get; set; } > [DataMember] > public B PropB { get; set; } > } > > [DataContract] > class B > { > [DataMember] > public string Name { get; set; } > } > > a reader / writer class can turn this class (using the atributes) into > text (XML, JSON, I don't care) and back from text into object instance > How would I implement something similar in D? Is there already a library > doing it? For the serialization you could have a look at Orange: http://www.dsource.org/projects/orange Don't know if it works with the latest compilers, it's been a while since I updated the code. I'm also in the middle of complete rewrite of the library. At lease you can perhaps find some ideas. -- /Jacob Carlborg |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | Awesome! WIll take a look at it tonight! Thanks for the link! :) "Jacob Carlborg" wrote in message news:is5msf$1lt0$1@digitalmars.com... On 2011-06-01 14:51, Lloyd Dupont wrote: > Hi I'm a newbie with big ambitions! (Sorry, got spoiled by C#) > > Anyhow I'm toying with a D learning project and there are 2 .NET feature > that will be welcome in this D project: > > 1. internationalization. > the app will contains a bunch of simple UIs and I was wondering how I > would go on internationalizing the application. I.e. embed multiple > "resource" for different languages in the EXE and show the appropriate > ones for the target / running computer > > > 2. I'd like a part of my library (in progress) to read / write some > arbitrary settings. I was thing to use something akin to the > DataContractSerialization we have in .NET > where I could define a few classes with attribute > > [DataContract] > class Root > { > [DataMember] > public int Prop1 { get; set; } > [DataMember] > public B PropB { get; set; } > } > > [DataContract] > class B > { > [DataMember] > public string Name { get; set; } > } > > a reader / writer class can turn this class (using the atributes) into > text (XML, JSON, I don't care) and back from text into object instance > How would I implement something similar in D? Is there already a library > doing it? For the serialization you could have a look at Orange: http://www.dsource.org/projects/orange Don't know if it works with the latest compilers, it's been a while since I updated the code. I'm also in the middle of complete rewrite of the library. At lease you can perhaps find some ideas. -- /Jacob Carlborg |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | I'm looking! mm... how do I download the repository!?! :~ "Jacob Carlborg" wrote in message news:is5msf$1lt0$1@digitalmars.com... For the serialization you could have a look at Orange: http://www.dsource.org/projects/orange Don't know if it works with the latest compilers, it's been a while since I updated the code. I'm also in the middle of complete rewrite of the library. At lease you can perhaps find some ideas. -- /Jacob Carlborg |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lloyd Dupont | You need mercurial and do 'hg clone http://hg.dsource.org/projects/orange' from the command line. |
June 01, 2011 Re: 2 question: internationalization and serialization | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic Attachments:
| Andrej Mitrovic wrote: > You need mercurial and do 'hg clone http://hg.dsource.org/projects/orange' from the command line. Or you can just click on the "zip", "gz" or "bz2" button at the top of http://hg.dsource.org/projects/orange if you do not care about the history. Jerome -- mailto:jeberger@free.fr http://jeberger.free.fr Jabber: jeberger@jabber.fr |
Copyright © 1999-2021 by the D Language Foundation