Locales 的使用顺序到底是什么?我有 3 个属性文件:
Dolphins.properties
name=The Dolphin
age=0
Run Code Online (Sandbox Code Playgroud)
Dolphins_en.properties
name=Dolly
age=4
Run Code Online (Sandbox Code Playgroud)
Dolphins_fr.properties
name=Dolly
Run Code Online (Sandbox Code Playgroud)
我的代码是:
5: Locale fr = new Locale("fr");
6: Locale.setDefault(new Locale("en", "US"));
7: Resource Bundle b = ResourceBundle.getBundle("Dolphins", fr);
8: b.getString("name");
9: b.getString("age");
Run Code Online (Sandbox Code Playgroud)
代码将默认的 Locale 设置为 Dolphins_en 那么为什么它使用 Dolphins.properties 呢?我错过了什么或误解了什么?
提前致谢。
java locale localization resourcebundle internationalization
GetString(IStringLocalizer, String, Object[])我有一个测试类,它在某个时候使用扩展方法本地化字符串
除了测试之外,以下内容将有效
public class ClassToTest
{
private readonly IStringLocalizer<SharedResource> _localizer;
public AnalyticsLogic(IStringLocalizer<SharedResource> localizer)
{
_localizer = localizer;
}
public async Task<string> SomeMethod()
{
return _localizer.GetString("key", DateTime.Today)); // "My Date: 31.10.2018" - will return null when testing
}
public async Task<string> SomeMethod2()
{
return _localizer.GetString("key"); // "My Date: {0:d}"
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我建立测试的方式:
public class ClassToTestTest
{
private readonly ClassToTest _testee;
private readonly Mock<IStringLocalizer<SharedResource>> _localizerMock = new Mock<IStringLocalizer<SharedResource>>();
public ClassToTestTest()
{
_testee = new ClassToTest(_localizerMock.Object);
_localizerMock.Setup(lm => lm["key"]).Returns(new LocalizedString("key", …Run Code Online (Sandbox Code Playgroud) 我认为这是一个简单的修复。
当我print(Bundle.main.localizations),
我得到:
["de", "ar", "en", "es", "it", "Base", "fr", "pt-PT"]
但是,我最近删除了阿拉伯字符串文件并从项目中删除了本地化:
如何删除作为本地化之一的阿拉伯语?从用户的角度来看,我不确定这种情况的后果,并且不希望 iTunesConnect/AppStore 发生任何奇怪的事情,例如以某种方式宣传有可用的阿拉伯语本地化,而实际上没有。
我正在使用react-intl 及其<FormattedMessage />标签。
我想要一个结构化消息,它将根据提供的值选择正确的复数变体,以允许翻译人员使用其语言规则,即,如果他们有“一个”、“两个”、“许多”的不同变体,我不想通过switch仅使用英语规则“零”、“一”和“其他”的语句将其硬编码在应用程序业务逻辑内部。
<FormattedMessage id="myMessage" values={{applesCount: 4, orangesCount: 0, pearsCount: 1}} />I have some apples and some pears应该从以下来源
产生。
由于某些原因,它返回I have some apples, some pears, and some oranges
{applesCount, plural,
zero {{pearsCount, plural,
zero {{orangesCount, plural,
zero {I have no fruit}
other {I have some oranges}
}}
other {{orangesCount, plural,
zero {I have some pears}
other {I have some pears and some oranges}
}}
}}
other {{pearsCount, plural,
zero {{orangesCount, plural,
zero …Run Code Online (Sandbox Code Playgroud) 我在子项目的本地化资源方面遇到问题。
\n主项目(称为 Z)使用子项目(称为 ProjectsModule),子项目有自己的资源。子项目有两个资源文件:
\nStrings.resx\nStrings.pl-PL.resx\nRun Code Online (Sandbox Code Playgroud)\n应用程序正在调试模式下运行,并以波兰语作为当前 UI 区域性。
\n我遇到以下异常:
\nSystem.Windows.Markup.XamlParseException: \'Operacja podawania warto\xc5\x9bci elementu \n\xe2\x80\x9eSystem.Windows.Markup.StaticExtension\xe2\x80\x9d wywo\xc5\x82a\xc5\x82a wyj\xc4\x85tek., numer wiersza 24, pozycja 52.\'\nArgumentException: Obiektu StaticExtension \n\xe2\x80\x9eProjectsModule.Resources.Strings.Projects_Config_Projects\xe2\x80\x9d nie mo\xc5\xbcna rozpozna\xc4\x87 jako wyliczenia, pola \nstatycznego ani w\xc5\x82a\xc5\x9bciwo\xc5\x9bci statycznej.\nRun Code Online (Sandbox Code Playgroud)\n翻译过来,它说:
\n"ProjectsModule.Resources.Strings.Projects_Config_Projects" cannot be recognized as enum, static field\nor static property.\nRun Code Online (Sandbox Code Playgroud)\n当加载窗口的 XAML 时,就会发生这种情况。所以我做了一个测试并修改了窗口的构造函数:
\nStrings.resx\nStrings.pl-PL.resx\nRun Code Online (Sandbox Code Playgroud)\n奇怪的是我得到以下输出:
\nKatalogi projekt\xc3\xb3w\n\'Z.exe\' (CLR v4.0.30319: Z.exe): Loaded \'C:\\WINDOWS\\Microsoft.Net\\assembly\\GAC_MSIL\\System.Xaml.resources\\v4.0_4.0.0.0_pl_b77a5c561934e089\\System.Xaml.resources.dll\'. Module was built without symbols.\nException thrown: \'System.ArgumentException\' in System.Xaml.dll\nException thrown: \'System.Xaml.XamlObjectWriterException\' …Run Code Online (Sandbox Code Playgroud) 我正在使用带有内置 redux 支持的样板 flutter 应用程序模板,以及使用flutter_localizations和intl包的希伯来语 RTL 方向。
整个应用程序以及我创建的每个新小部件都正确地具有本机 RTL 方向性。
我有一个文本输入字段来获取用户电话号码。我希望这个输入字段及其所有样式和内部功能都以 LTR 方式运行。对于我可能有的其他输入字段也是如此,例如电子邮件(始终为英文)。
似乎由 app intl配置确定的整体方向性与我试图“强制”文本字段以专门交换其行为的新方向性小部件之间存在冲突:
child: SizedBox(
width: 250,
child: Directionality(
textDirection: TextDirection.LTR,
child: TextField(
controller: phoneController,
keyboardType: TextInputType.phone,
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
),
),
),
Run Code Online (Sandbox Code Playgroud)
运行此代码会导致以下错误:
lib/modules/login/login_page.dart:54:54: Error: The argument type 'TextDirection/*1*/' can't be assigned to the parameter type 'TextDirection/*2*/'.
- 'TextDirection/*1*/' is from 'package:intl/src/intl/text_direction.dart' ('../../snap/flutter/common/flutter/.pub-cache/hosted/pub.dartlang.org/intl-0.17.0-nullsafety.2/lib/src/intl/text_direction.dart').
- 'TextDirection/*2*/' is from 'dart:ui'.
textDirection: TextDirection.LTR,
^
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?我怎样才能完成所需的行为?
我正在尝试在 Flutter 应用程序中的文件中添加不间断空格arb,但是,我找不到任何方法将 Unicode 字符放入文件中arb。
我需要类似的东西:
{
"@@locale": "en",
"helloWorld": "Hello world!",
}
Run Code Online (Sandbox Code Playgroud)
是否可以将\n除 etc 之外的自定义字符添加到arb文件中?
我想构建一个包含 razor 页面和一些 Blazor 组件的 ASP.NET Razor 应用程序,并根据 URL 中的语言对网站内容进行本地化。
例如,/en/home并且/fr/home将有一个基于语言呈现内容的支持页面。
有什么方法可以实现这个目的呢?
在主方法中设置所有.json文件、文件和初始化后,当我尝试通过调用从终端pubspec创建文件时codegen_loader.g.dartflutter pub run easy_localization:generate时,它无法通过。甚至没有收到错误消息。
下面是命令行的片段:
PS C:\Users\Prosanto\Desktop\Android Dev\localization> flutter pub run easy_localization:generate -h
PS C:\Users\Prosanto\Desktop\Android Dev\localization> flutter pub run easy_localization:generate -S "assets/translations" -O "lib/translations"
PS C:\Users\Prosanto\Desktop\Android Dev\localization>
Run Code Online (Sandbox Code Playgroud)
什么也没发生,任何帮助或建议都是非常有帮助的。
我正在使用 WPML,需要自定义搜索查询(wordpress 的默认搜索在我的情况下不起作用)。假设我的查询是:
"SELECT * FROM wp_posts WHERE post_title LIKE %s% AND [WPML_CURRENT_LANGUAGE_CONDITION]";
请帮我检查一下我应该关心哪张桌子。
谢谢!
localization ×10
flutter ×3
c# ×2
dart ×2
android ×1
arabic ×1
arb ×1
asp.net-core ×1
blazor ×1
icu ×1
ios ×1
java ×1
locale ×1
moq ×1
razor ×1
react-intl ×1
reactjs ×1
resources ×1
translation ×1
unicode ×1
unit-testing ×1
wordpress ×1
wpf ×1
wpml ×1
xcode ×1