这是东西...我在我的应用中使用的是angular 4模板,它具有良好的翻译服务。 问题是我不知道如何在代码中使用该管道。
在HTML中,只需放入{
"keys": ["shift+ctrl+c"],
"command": "copy_with_spaces",
}
,然后,
该服务转到一些JSON文件以查找文本并进行翻译。
这是我组件中的代码。
class AmazonController extends Controller
{
public function handleBounceOrComplaint(Request $request)
{
Log::info($request->json()->all());
$data = $request->json()->all();
if($request->json('Type') == 'SubscriptionConfirmation')
Log::info("SubscriptionConfirmation came at: ".$data['Timestamp']);
if($request->json('Type') == 'Notification'){
$message = $request->json('Message');
switch($message['notificationType']){
case 'Bounce':
$bounce = $message['bounce'];
foreach ($bounce['bouncedRecipients'] as $bouncedRecipient){
$emailAddress = $bouncedRecipient['emailAddress'];
$emailRecord = WrongEmail::firstOrCreate(['email' => $emailAddress, 'problem_type' => 'Bounce']);
if($emailRecord){
$emailRecord->increment('repeated_attempts',1);
}
}
break;
case 'Complaint':
$complaint = $message['complaint'];
foreach($complaint['complainedRecipients'] as $complainedRecipient){
$emailAddress = $complainedRecipient['emailAddress'];
$emailRecord = WrongEmail::firstOrCreate(['email' => $emailAddress, 'problem_type' => 'Complaint']);
if($emailRecord){
$emailRecord->increment('repeated_attempts',1);
}
}
break;
default:
// Do Nothing
break;
}
}
return Response::json(['status' => 200, "message" => 'success']);
}
}
是的,我把所有需要的东西都放进了模块中,因为它可以在HTML中工作...但是我不知道如何在代码中调用它。
我正在寻找如何解决问题的方法,结果发现:
<span>{{ this.variable | traslate }}</span>
有人知道怎么称呼吗?
答案 0 :(得分:1)
您基本上有 3 choices
如果您完全确定您的翻译文件已经加载,并且您不想在使用语言更改时自动更新翻译,请使用
translate.instant('ID')
如果您不确定加载状态,但不需要更新语言,请使用translate.get('ID')。它为您提供了一个可观察的对象,可在翻译加载后返回翻译并终止该可观察对象。
如果您想不断更新(例如,当一种语言更改时),请使用translate.stream('ID')-它返回一个可观察的内容,并发出翻译更新。如果不需要它,请确保将其丢弃。
这假定您已经在组件中注入了TranslationService作为翻译。
例如
export class AppComponent {
constructor(translate: TranslateService) {
translate.get('hello.world').subscribe((text:string) => {console.log(text});
}
}
您必须在订阅中将转换分配给数据数组