标签: localization

用于创建 unicode 字符的 SendInput 序列失败

我正在使用需要将击键发送到第三方应用程序的屏幕键盘。它们在 Windows XP 上运行。需要支持美国英语键盘上不可用的一小组字符(例如“\xc3\xa5”或\xc3\xb1)。在查看 SendInput 后​​,似乎最安全的事情是将字符的十六进制 unicode 值作为击键序列发送。我编写的代码发送“Alt”和“Add”按键按下事件,然后发送与 Alt 键 ORed 的四字符 unicode 序列的按键按下和向上事件,最后发送“Add”和“Alt”按键按下事件。在我的 C# 测试应用程序中。我正在使用 KeyPreview,果然,所有事件都会通过,但我得到的只是一声蜂鸣声,没有字符。我通过手动输入击键捕获了相同的信息,KeyPreview 信息相同,并且出现了字符。

\n\n

可以这样使用SendInput吗?我没有使用钩子来检查数据,但我看到帖子表明 SendInput 事件附加了某种“注入”标志,也许这会导致序列失败?

\n\n

此演示代码成功发送按键事件,但旨在生成 unicode 字符的一系列按键事件失败。

\n\n
    private const uint KEYEVENTF_KEYDOWN = 0x0000;\n    private const uint KEYEVENTF_EXTENDEDKEY = 0x0001;\n    private const uint KEYEVENTF_KEYUP = 0x0002;\n\n    private const int INPUT_KEYBOARD = 1;\n\n    [DllImport ("user32.dll", SetLastError = false)]\n    static extern IntPtr GetMessageExtraInfo ();\n\n    [DllImport ("user32.dll", SetLastError = true)]\n    static extern uint SendInput (uint nInputs, [MarshalAs (UnmanagedType.LPArray, SizeConst = 1)] INPUT[] pInputs, int …
Run Code Online (Sandbox Code Playgroud)

c# keyboard unicode localization keyboard-events

0
推荐指数
1
解决办法
3121
查看次数

默认区域设置和数字格式

您好,我正在努力格式化数字,如 NumberFormat.getInstance() 的文档所述。(Windows 7、NetBeans、Java 7)

我首先进入区域设置并删除了英语、英语键盘和所有内容。我把它全部设置为法语和法国。我什至重新启动了我的电脑。我的代码是:

System.setProperty("user.language", "fr");
System.setProperty("user.country", "FR");
System.setProperty("user.language.display", "fr");
System.setProperty("user.country.display", "FR");
System.setProperty("user.language.format", "fr");
System.setProperty("user.country.format", "FR");
Locale locale = new Locale("French", "France");
Locale.setDefault(locale);
Locale.setDefault(Locale.Category.DISPLAY, locale);
Locale.setDefault(Locale.Category.FORMAT, locale);
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
System.out.println(nf.format(4.5));
Run Code Online (Sandbox Code Playgroud)

尽管如此,程序还是打印了“4.5”。我不明白,对于法国法国来说,这应该是“4,5”。我还需要做什么?

java localization

0
推荐指数
1
解决办法
4339
查看次数

Knplabs 可翻译:如何通过可翻译字段查找条目?

我有一个具有 Knp Doctrine 行为可翻译和可拖拽的实体。一切工作正常,因此当我创建或更新条目时,标题生成的每种语言都会有一个别名。

问题是我如何找到翻译后的条目?

这将引发错误“没有字段‘slug’”:

$this->getDoctrine()->getRepository('AcmeTestBundle:News')->findOneBySlug($slug);
Run Code Online (Sandbox Code Playgroud)

localization symfony doctrine-orm

0
推荐指数
1
解决办法
2725
查看次数

在 Azure 搜索上使用多种语言进行搜索

我有一个数据库,其中包含项目的关键字,以及它们在不同语言中的本地化(目前支持大约 30 种不同的语言)(如果该项目有的话)。我希望能够使用 Azure 搜索来搜索这些项目。但是,我不确定如何设置索引架构。在这种情况下,我想到了两种解决方案:

要么我会

1) 每种语言都有不同的索引,并使用该语言的分析器来分析该索引。稍后,当我想使用该索引进行搜索时,我还需要检测来自用户的查询语言,然后搜索与该语言对应的索引。

或者

2)有一个单一的索引,其中包含与项目的不同本地化相对应的许多字段。Azure 搜索支持在搜索时设置语言优先级,因此了解用户的语言可能会派上用场,但不一定是必须的。

我对这个东西有点陌生,所以任何指针、链接、想法等都会有巨大的帮助,即使它不能直接回答问题。

search localization azure azure-cognitive-search

0
推荐指数
1
解决办法
859
查看次数

Xcode 8 生成 .strings 文件

我正在尝试设置我的 Xcode 项目,以生成我相信我想要翻译成的每种语言的 XLIFF,以发送到翻译服务以翻译我的应用程序。我正在尝试遵循本教程,但我仍然在努力。

当添加要翻译成故事板的语言时,创建了一个 .strings 文件,并从故事板中取出所有文本并将其放入 .strings 文件中,并自动完成这一切。

现在我正在尝试让它适用于我的 Swift 文件中的字符串。例如,我将其更改"Error"NSLocalizedString("error", tableName: nil, bundle: Bundle.main, value: "Error", comment: "Error Alert Controller Title")我的代码。

问题是它不会.strings像故事板那样创建任何文件。因此,当它尝试访问时,Editor > Export For Localization它会给我一个错误提示Localization failed to read a strings file

有想法该怎么解决这个吗?我假设我可以手动创建.strings文件,但这似乎是一个巨大的痛苦,并且似乎应该有一种更简单的方法。

xcode localization internationalization ios swift

0
推荐指数
1
解决办法
2161
查看次数

为 Android 应用程序启用多语言支持

我正在开发一个android应用程序,它应该支持英语和阿拉伯语。我已经做了一个。创建了英语和阿拉伯语的值文件夹并更新了使用的字符串。b. 创建一个用于本地化的应用程序类 c.实现了Activity中点击按钮的代码

查看我的申请文件

我的应用程序.java

import android.app.Application;
import android.content.Context;
import android.content.res.Configuration;
import java.util.Locale;
public class MyApp extends Application{
    @Override
    public void onCreate() {
        super.onCreate();
    }

    public static void setLocaleAr (Context context){
        Locale locale = new Locale("ar");
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        context.getApplicationContext().getResources().updateConfiguration(config, null);
    }

    public static void setLocaleEn (Context context){
        Locale locale = new Locale("en_US");
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        context.getApplicationContext().getResources().updateConfiguration(config, null);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的活动类使用按钮单击

MainActivity.java

    import android.app.Activity;
    import android.content.Intent;
    import android.content.res.Configuration; …
Run Code Online (Sandbox Code Playgroud)

multilingual android localization

0
推荐指数
1
解决办法
1540
查看次数

Apple Watch 上的默认本地化语言错误

我在 Apple Watch 本地化方面遇到问题:默认语言不起作用!

(..取消 XCode 10.0、Swift4.2、iOS12 和 WatchOS4.2)

在我的代码中,我将英语设置为默认语言。另外,我将德语定义为本地化。对于这两种语言,一切正常,并且根据 iPhone 设置的设置(即英语或德语),Apple Watch 会反映这些语言。

但如果我将 iPhone 语言设置为法语(并且区域也设置为法国),那么情况会变得很糟糕,然后手表上的所有内容都会以德语显示(而不是默认语言英语!!)。

这肯定是一个错误,并且对全世界的用户来说都非常烦人。

关于如何克服这个问题有什么想法吗?

请参阅此处的一些图片,说明 WatchKit 应用程序内部的本地化:

在此输入图像描述

这里是 WatchKit 扩展:

在此输入图像描述

以及 info.plist 条目:

在此输入图像描述

localization swift apple-watch watchkit watchos-5

0
推荐指数
1
解决办法
1149
查看次数

如何获取我的 iOS 应用程序的本地化语言?

我想添加一个功能来更改应用程序内的应用程序语言(独立于 iPhone 语言)。

为了显示可用的语言,我想获取支持的本地化语言列表并使其动态化,而不是对它们进行硬编码。然后,每次我添加新的本地化语言时,它都会自动添加到可用语言列表中。

有什么办法可以做到这一点吗?

localization ios swift

0
推荐指数
1
解决办法
534
查看次数

flutter_localizations 包获取设备语言而不是 languageCode

我正在尝试根据用户位置显示应用程序内容。为此,我试图从他们的国家/地区获取语言代码,但它不起作用。检索到的语言代码对应于设备语言而不是国家/地区。

我这样做:

@override
  Widget build(BuildContext context) {
    return ScopedModel<UserModel>(
        model: UserModel(),
        child: ScopedModelDescendant<UserModel>(builder: (context, child, snapshot) {
          return MaterialApp(
            title: "APP",
            debugShowCheckedModeBanner: false,
            localizationsDelegates: [
              GlobalMaterialLocalizations.delegate,
              GlobalWidgetsLocalizations.delegate,
            ],
            supportedLocales: allTranslations.supportedLocales(),
          );
        }));
  }
Run Code Online (Sandbox Code Playgroud)

其中我的supportedLocales是包含所有国家/语言代码的列表:

Iterable<Locale> supportedLocales() => [
    const Locale('ar','AE'),
    const Locale('ar','BH'),
    const Locale('ar','DZ'),
    const Locale('ar','EG'),
    const Locale('ar','IL'),
    const Locale('ar','IQ'),
    const Locale('ar','JO'),
    const Locale('ar','KW'),
    const Locale('ar','LB'),
    const Locale('ar','LY'),
    const Locale('ar','MA'),
    const Locale('ar','MR'),
    const Locale('ar','OM'),
    const Locale('ar','PS'),
    const Locale('ar','QA'),
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取正确的语言代码来执行此操作:

String language = Localizations.localeOf(context).languageCode;
Run Code Online (Sandbox Code Playgroud)

但该方法始终忽略位置并采用设备默认语言:(

例如:我的朋友住在巴西,他的设备使用 en-CA 语言,但他看不到巴西内容,因为语言代码始终是“en”而不是“pt”。

localization dart flutter

0
推荐指数
1
解决办法
4508
查看次数

Flutter ARB 本地化抛出“getter was called on null”错误

按照官方国际化教程的提示,我The getter was called on null在尝试使用从 ARB 文件自动生成的翻译引擎 ( AppLocalizations.of(context).helloWrold) 时得到了:

import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';

class Login extends StatelessWidget {
  final loginAction;
  final String loginError;

  const Login(this.loginAction, this.loginError);

  @override
  Widget build(BuildContext context) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        RaisedButton(
          onPressed: () {
            loginAction();
          },
          child: Text(AppLocalizations.of(context).helloWorld),
        ),
        Text(loginError ?? ''),
      ],
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

localization dart flutter

0
推荐指数
1
解决办法
462
查看次数