Comments (5)
Mmmm... i don't think it will produce the right pot entry unless it's static text. Depending on what you insert as a parameter then the syntax would change for some languages (for example languages where nouns have gender). Translators would need more context to translate appropiately.
If you are planning on putting constant variables anyways why would you need to parametize it?
from i18n.
Sorry, maybe I've not explained properly. When I said:
__("Hello {0}!", "juan") or __("you've earned {0} point of {1}", 1, 10)
I've try to say:
__("Hello {0}!", session["name"])
__("you've earned {0} point of {1}", pointsEarned, TotalPoints)
These are not constant variables...
I've dealed with this in other platforms and of course, always translators need a good context to translate any string appropiately....
Best
Juan
from i18n.
Seems like a good idea. xgettext will pick up okay the __() function calls with more than one argument, so it should work fine.
As to what gettext/PO best practice is for what you want, can't comment but there is stuff in the spec on how to do it.
from i18n.
There is stuff in the spec about plurals which I don't think this library supports right now.
from i18n.
Here's quite a nice example of a localized and parameterized HTML 'title' attribute being generated using razor and i18n v2.0:
using (Html.BeginForm("ExternalSignin", "Account", new { ReturnUrl = ViewBag.ReturnUrl })) {
@Html.AntiForgeryToken()
<fieldset>
<legend>[[[Sign in using another service]]]</legend>
@foreach (AuthenticationClientData p in Model) {
<button
class="low"
type="submit"
name="provider"
value="@p.AuthenticationClient.ProviderName"
@_("Sign up or in using your {0} account", "title", p.DisplayName)
>@p.DisplayName</button>
}
</fieldset>
}
And for fun, an alternative way of doing the same thing using the proposed 'nugget' feature:
using (Html.BeginForm("ExternalSignin", "Account", new { ReturnUrl = ViewBag.ReturnUrl })) {
@Html.AntiForgeryToken()
<fieldset>
<legend>[[[Sign in using another service]]]</legend>
@foreach (AuthenticationClientData p in Model) {
<button
class="low"
type="submit"
name="provider"
value="@p.AuthenticationClient.ProviderName"
title="@string.Format("[[[Sign up or in using your %0 account|||{0}]]]", p.DisplayName)"
>@p.DisplayName</button>
}
</fieldset>
}
Note that this is in the v2.0 branch, not master at the moment.
from i18n.
Related Issues (20)
- where to find i18n.PostBuild.exe? HOT 4
- could not translate when using combine string (javascript) HOT 4
- After using PostBuild.exe, my translations stay between exclamations HOT 1
- null check missing for httpcontext.response.contenttype HOT 1
- HTML markup in a formatted string displays as text HOT 1
- Javascript localization in MVC 5 project HOT 2
- Contribution support HOT 1
- Translate Password error messages? HOT 4
- Problem when displaying Spanish "ñ" character HOT 5
- Http Custom errors no longer work when i18n.LocalizingModule is added to modules HOT 5
- Javascript localization not working because browser cache HOT 1
- Arabic and French translation doesn't get replaces in javascript files
- where is i18n.LanguageHelpers.ParseAndTranslate? HOT 3
- Announcing release 2.1.16 HOT 1
- only every other nugget in messages.po is being translated HOT 4
- 2.1.16 doesn't translate some items HOT 4
- Announcing release 2.1.17
- vb.net issues HOT 4
- problem with axd file
- Issues with rendering special character inside i18n translation jQuery Rails HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i18n.