Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
mycard
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
syntax_j
mycard
Commits
e676ab65
Commit
e676ab65
authored
Dec 07, 2016
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
783a2327
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
412 additions
and
432 deletions
+412
-432
app/app-detail.component.html
app/app-detail.component.html
+1
-1
app/apps.service.ts
app/apps.service.ts
+3
-0
app/community.component.css
app/community.component.css
+0
-0
app/community.component.html
app/community.component.html
+0
-0
app/community.component.ts
app/community.component.ts
+0
-12
app/lobby.component.ts
app/lobby.component.ts
+9
-1
app/login.component.html
app/login.component.html
+1
-1
app/login.component.ts
app/login.component.ts
+4
-0
app/mycard.component.html
app/mycard.component.html
+1
-1
app/mycard.component.ts
app/mycard.component.ts
+5
-1
app/mycard.module.ts
app/mycard.module.ts
+1
-2
app/settings.sevices.ts
app/settings.sevices.ts
+1
-1
app/ygopro.component.html
app/ygopro.component.html
+1
-1
app/ygopro.component.ts
app/ygopro.component.ts
+6
-5
apps.json
apps.json
+2
-2
candy/index.html
candy/index.html
+2
-2
locale/messages.en-US.xlf
locale/messages.en-US.xlf
+375
-402
No files found.
app/app-detail.component.html
View file @
e676ab65
...
...
@@ -118,7 +118,7 @@
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-secondary"
data-dismiss=
"modal"
>
取消
</button>
<button
i18n
type=
"button"
class=
"btn btn-secondary"
data-dismiss=
"modal"
>
取消
</button>
<button
i18n
id=
"submit"
type=
"submit"
[disabled]=
"!theForm.form.valid"
class=
"btn btn-primary"
>
安装
</button>
</div>
</form>
...
...
app/apps.service.ts
View file @
e676ab65
...
...
@@ -541,6 +541,9 @@ export class AppsService {
app
.
local
=
local
;
this
.
saveAppLocal
(
app
);
app
.
status
.
status
=
"
ready
"
;
if
(
app
.
id
==
'
ygopro
'
)
{
localStorage
.
removeItem
(
'
ygopro-locale
'
)
}
}
catch
(
e
)
{
console
.
log
(
"
exception in doInstall
"
,
e
);
throw
e
;
...
...
app/community.component.css
deleted
100644 → 0
View file @
783a2327
app/community.component.html
deleted
100644 → 0
View file @
783a2327
app/community.component.ts
deleted
100644 → 0
View file @
783a2327
/**
* Created by zh99998 on 16/9/2.
*/
import
{
Component
}
from
"
@angular/core
"
;
@
Component
({
moduleId
:
module
.
id
,
selector
:
'
community
'
,
templateUrl
:
'
community.component.html
'
,
styleUrls
:
[
'
community.component.css
'
],
})
export
class
CommunityComponent
{
}
app/lobby.component.ts
View file @
e676ab65
...
...
@@ -9,6 +9,7 @@ import {DownloadService} from "./download.service";
import
{
Http
,
URLSearchParams
}
from
"
@angular/http
"
;
import
{
shell
}
from
"
electron
"
;
import
WebViewElement
=
Electron
.
WebViewElement
;
import
{
SettingsService
}
from
"
./settings.sevices
"
;
@
Component
({
moduleId
:
module
.
id
,
...
...
@@ -24,7 +25,7 @@ export class LobbyComponent implements OnInit {
currentApp
:
App
;
private
apps
:
Map
<
string
,
App
>
;
constructor
(
private
appsService
:
AppsService
,
private
loginService
:
LoginService
)
{
constructor
(
private
appsService
:
AppsService
,
private
loginService
:
LoginService
,
private
settingsService
:
SettingsService
)
{
}
async
ngOnInit
()
{
...
...
@@ -38,6 +39,13 @@ export class LobbyComponent implements OnInit {
params
.
set
(
'
jid
'
,
this
.
loginService
.
user
.
username
+
'
@mycard.moe
'
);
params
.
set
(
'
password
'
,
this
.
loginService
.
user
.
external_id
.
toString
());
params
.
set
(
'
nickname
'
,
this
.
loginService
.
user
.
username
);
switch
(
this
.
settingsService
.
getLocale
()){
case
'
zh-CN
'
:
params
.
set
(
'
language
'
,
'
cn
'
);
break
;
default
:
params
.
set
(
'
language
'
,
'
en
'
);
}
if
(
this
.
currentApp
.
conference
)
{
params
.
set
(
'
autojoin
'
,
this
.
currentApp
.
conference
+
'
@conference.mycard.moe
'
);
}
...
...
app/login.component.html
View file @
e676ab65
<webview
[src]=
"url"
(will-navigate)=
"return_sso($event.url)"
(did-get-redirect-request)=
"return_sso($event.newURL)"
></webview>
\ No newline at end of file
<webview
[src]=
"url"
(will-navigate)=
"return_sso($event.url)"
(did-get-redirect-request)=
"return_sso($event.newURL)"
(new-window)=
"openExternal($event.url)"
></webview>
\ No newline at end of file
app/login.component.ts
View file @
e676ab65
...
...
@@ -6,6 +6,7 @@ import {LoginService} from "./login.service";
import
*
as
crypto
from
"
crypto
"
;
import
*
as
querystring
from
"
querystring
"
;
import
*
as
url
from
"
url
"
;
import
{
shell
}
from
"
electron
"
;
@
Component
({
moduleId
:
module
.
id
,
...
...
@@ -46,4 +47,7 @@ export class LoginComponent {
this
.
loginService
.
login
(
user
);
}
openExternal
(
url
:
string
)
{
shell
.
openExternal
(
url
);
}
}
app/mycard.component.html
View file @
e676ab65
...
...
@@ -39,4 +39,4 @@
<login
class=
"page"
*ngIf=
"!loginService.logged_in"
></login>
<store
class=
"page"
*ngIf=
"loginService.logged_in"
[hidden]=
"currentPage != 'store'"
></store>
<lobby
class=
"page"
*ngIf=
"loginService.logged_in"
[hidden]=
"currentPage != 'lobby'"
></lobby>
<webview
class=
"page"
*ngIf=
"loginService.logged_in"
[hidden]=
"currentPage != 'community'"
src=
"https://ygobbs.com"
></webview>
<webview
class=
"page"
*ngIf=
"loginService.logged_in"
[hidden]=
"currentPage != 'community'"
src=
"https://ygobbs.com"
(new-window)=
"openExternal($event.url)"
></webview>
app/mycard.component.ts
View file @
e676ab65
import
{
Component
,
Renderer
,
ChangeDetectorRef
,
OnInit
,
ElementRef
,
ViewChild
}
from
"
@angular/core
"
;
import
{
remote
}
from
"
electron
"
;
import
{
remote
,
shell
}
from
"
electron
"
;
import
{
LoginService
}
from
"
./login.service
"
;
const
autoUpdater
:
Electron
.
AutoUpdater
=
remote
.
getGlobal
(
'
autoUpdater
'
);
declare
const
$
:
any
;
...
...
@@ -89,4 +89,8 @@ export class MyCardComponent implements OnInit {
$
(
element
.
nativeElement
).
tooltip
({
placement
:
'
bottom
'
,
container
:
'
body
'
})
}
}
openExternal
(
url
:
string
)
{
shell
.
openExternal
(
url
);
}
}
app/mycard.module.ts
View file @
e676ab65
...
...
@@ -8,7 +8,6 @@ import {StoreComponent} from "./store.component";
import
{
LobbyComponent
}
from
"
./lobby.component
"
;
import
{
AppDetailComponent
}
from
"
./app-detail.component
"
;
import
{
RosterComponent
}
from
"
./roster.component
"
;
import
{
CommunityComponent
}
from
"
./community.component
"
;
import
{
YGOProComponent
}
from
"
./ygopro.component
"
;
import
{
AppsService
}
from
"
./apps.service
"
;
import
{
SettingsService
}
from
"
./settings.sevices
"
;
...
...
@@ -19,7 +18,7 @@ import {DownloadService} from "./download.service";
imports
:
[
BrowserModule
,
FormsModule
,
ReactiveFormsModule
,
HttpModule
],
declarations
:
[
MyCardComponent
,
LoginComponent
,
StoreComponent
,
LobbyComponent
,
CommunityComponent
,
AppDetailComponent
,
RosterComponent
,
YGOProComponent
,
AppDetailComponent
,
RosterComponent
,
YGOProComponent
,
],
bootstrap
:
[
MyCardComponent
],
providers
:
[
...
...
app/settings.sevices.ts
View file @
e676ab65
...
...
@@ -16,7 +16,7 @@ export class SettingsService {
static
defaultLibraries
=
[
{
"
default
"
:
true
,
path
:
path
.
join
(
remote
.
app
.
getPath
(
"
appData
"
),
"
l
ibrary
"
)
path
:
path
.
join
(
remote
.
app
.
getPath
(
"
appData
"
),
"
MyCardL
ibrary
"
)
},
];
libraries
:
Library
[];
...
...
app/ygopro.component.html
View file @
e676ab65
...
...
@@ -27,7 +27,7 @@
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
>
<span
aria-hidden=
"true"
>
×
</span>
</button>
<h4
class=
"modal-title"
id=
"myModalLabel1"
>
单人模式
</h4>
<h4
i18n
class=
"modal-title"
id=
"myModalLabel1"
>
单人模式
</h4>
</div>
<div
class=
"modal-body"
>
<label
i18n
>
选择对手
</label>
...
...
app/ygopro.component.ts
View file @
e676ab65
...
...
@@ -121,9 +121,9 @@ export class YGOProComponent implements OnInit {
}
}
ngOnInit
()
{
async
ngOnInit
()
{
this
.
system_conf
=
path
.
join
(
this
.
app
.
local
!
.
path
,
'
system.conf
'
);
this
.
refresh
();
await
this
.
refresh
();
let
modal
=
$
(
'
#game-list-modal
'
);
...
...
@@ -262,7 +262,7 @@ export class YGOProComponent implements OnInit {
win
.
minimize
();
let
locale
=
this
.
settingsService
.
getLocale
();
if
(
localStorage
.
getItem
(
'
ygopro-locale
'
)
!=
locale
)
{
console
.
log
(
`try convert ygopro locale to
${
locale
}
`
)
console
.
log
(
`try convert ygopro locale to
${
locale
}
`
)
;
try
{
await
new
Promise
((
resolve
,
reject
)
=>
{
let
source
=
fs
.
createReadStream
(
path
.
join
(
this
.
app
.
local
!
.
path
,
'
locales
'
,
locale
,
'
strings.conf
'
));
...
...
@@ -296,7 +296,7 @@ export class YGOProComponent implements OnInit {
reject
(
error
)
});
});
localStorage
.
setItem
(
'
ygopro-locale
'
,
locale
)
localStorage
.
setItem
(
'
ygopro-locale
'
,
locale
)
;
console
.
log
(
`convert ygopro locale to
${
locale
}
success`
)
}
catch
(
error
)
{
console
.
error
(
`convert ygopro locale to
${
locale
}
failed`
,
error
)
...
...
@@ -311,8 +311,9 @@ export class YGOProComponent implements OnInit {
reject
(
error
);
win
.
restore
()
});
child
.
on
(
'
exit
'
,
(
code
,
signal
)
=>
{
child
.
on
(
'
exit
'
,
async
(
code
,
signal
)
=>
{
// error 触发之后还可能会触发exit,但是Promise只承认首次状态转移,因此这里无需重复判断是否已经error过。
await
this
.
refresh
();
resolve
();
win
.
restore
()
})
...
...
apps.json
View file @
e676ab65
...
...
@@ -2052,8 +2052,8 @@
}
},
"version"
:
{
"win32"
:
"1.033.C-
7
"
,
"darwin"
:
"1.033.C-
7
"
"win32"
:
"1.033.C-
8
"
,
"darwin"
:
"1.033.C-
8
"
},
"news"
:
{
"zh-CN"
:
[
...
...
candy/index.html
View file @
e676ab65
...
...
@@ -40,7 +40,7 @@
// candy init
const
params
=
new
URLSearchParams
(
location
.
search
);
Candy
.
View
.
Template
.
Login
.
form
=
'
<form method="post" id="login-form" class="login-form">
'
+
'
<input type="hidden" id="nickname" name="nickname" value="
'
+
params
.
nickname
+
'
"/>
'
+
'
{{#displayUsername}}<input type="hidden" id="username" name="username" value="
'
+
params
.
jid
+
'
"/>
'
+
'
{{#displayDomain}} <span class="at-symbol">@</span>
'
+
'
<select id="domain" name="domain">{{#domains}}<option value="{{domain}}">{{domain}}</option>{{/domains}}</select>
'
+
"
{{/displayDomain}}
"
+
"
{{/displayUsername}}
"
+
'
{{#presetJid}}<input type="hidden" id="username" name="username" value="{{presetJid}}"/>{{/presetJid}}
'
+
'
{{#displayPassword}}<input type="hidden" id="password" name="password" value="
'
+
params
.
password
+
'
"/>{{/displayPassword}}
'
+
'
<input type="submit" class="button" value="{{_loginSubmit}}" /></form>
'
;
;
Candy
.
View
.
Template
.
Login
.
form
=
'
<form method="post" id="login-form" class="login-form">
'
+
'
<input type="hidden" id="nickname" name="nickname" value="
'
+
params
.
nickname
+
'
"/>
'
+
'
{{#displayUsername}}<input type="hidden" id="username" name="username" value="
'
+
params
.
jid
+
'
"/>
'
+
'
{{#displayDomain}} <span class="at-symbol">@</span>
'
+
'
<select id="domain" name="domain">{{#domains}}<option value="{{domain}}">{{domain}}</option>{{/domains}}</select>
'
+
"
{{/displayDomain}}
"
+
"
{{/displayUsername}}
"
+
'
{{#presetJid}}<input type="hidden" id="username" name="username" value="{{presetJid}}"/>{{/presetJid}}
'
+
'
{{#displayPassword}}<input type="hidden" id="password" name="password" value="
'
+
params
.
password
+
'
"/>{{/displayPassword}}
'
+
'
<input type="submit" class="button" value="{{_loginSubmit}}" /></form>
'
;
Candy
.
Util
.
setCookie
(
'
candy-nostatusmessages
'
,
'
1
'
,
365
);
Candy
.
init
(
'
wss://chat.mycard.moe:5280/websocket
'
,
{
...
...
@@ -49,7 +49,7 @@
autojoin
:
params
.
get
(
'
autojoin
'
)
&&
[
params
.
get
(
'
autojoin
'
)],
resource
:
'
mycard-
'
+
Math
.
random
().
toString
().
split
(
'
.
'
)[
1
]
},
view
:
{
assets
:
'
res/
'
,
language
:
'
cn
'
}
view
:
{
assets
:
'
res/
'
,
language
:
params
.
get
(
'
language
'
)
}
});
Candy
.
Core
.
connect
(
params
.
get
(
'
jid
'
),
params
.
get
(
'
password
'
),
params
.
get
(
'
nickname
'
));
...
...
locale/messages.en-US.xlf
View file @
e676ab65
<?xml version="1.0" ?>
<xliff
version=
"1.2"
xmlns=
"urn:oasis:names:tc:xliff:document:1.2"
>
<file
datatype=
"plaintext"
original=
"ng2.template"
source-language=
"zh-CN"
target-language=
"en-US"
>
<body>
<trans-unit
datatype=
"html"
id=
"fbfb7c4354663a67786aa5aee748d1f38b8fe71c"
>
<source>
游戏
</source>
<target>
Library
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c4fc2b3584e7581cddb08bb1ebfa41e601195d5b"
>
<source>
社区
</source>
<target>
Community
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8422ff34db177236e8f54d415b07c972284c36bf"
>
<source>
切换账号
</source>
<target>
Change Account
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1761e51e36b01ae1e0012914bd58aa2a741d0401"
>
<source>
已安装
</source>
<target>
Installed
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"69f3fab778e92fcec3a8c38d53d771a36e6d5230"
>
<source>
推荐
</source>
<target>
Recommend
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"fc570ecca13755cb4a92e7513fbd55c2d412f23c"
>
<source>
迷之物体
</source>
<target>
Something
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0873cd6df2d1f1016e02526aa9ba32415c1a11d8"
>
<source>
东方 Project
</source>
<target>
Touhou Project
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"785db32107cc0b47564b05381a1d782021d77c67"
>
<source>
东方旧作
</source>
<target>
Touhou old series
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"817376261844eb7eb0c035ed0e3fce744a96b6d9"
>
<source>
已安装的运行库
</source>
<target>
Installed Runtime Library
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a8cae935472a05e1c8c9be436bb7b1bdea96a54a"
>
<source>
安装
</source>
<target>
Install
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e6194d8a9c8da57b667847cd80f1da563f2c2b1e"
>
<source>
导入
</source>
<target>
Import
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8bb533b37ee18bf8d09df19b4d7234b38f134909"
>
<source>
正在下载
</source>
<target>
Downloading...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2fe99d94b20d6f8aba7814d8657037ec9d69d36c"
>
<source>
正在安装...
</source>
<target>
Installing...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"bea72fe35b7b9933e126b6ee3a6828c307ccc3d4"
>
<source>
正在卸载...
</source>
<target>
UnInstalling...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e5ee7e692c816893b6fd2f9375e6d8303cd794cd"
>
<source>
等待安装...
</source>
<target>
Pending...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d3852e0147360b29d0d6076e95dd1ad0098a60db"
>
<source>
运行
</source>
<target>
Start
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"67adbad4f646bb8e1c440522bafea8fe5f7e6bfd"
>
<source>
设置
</source>
<target>
Custom
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3d6cad40e26f99e39bc6f5925a890ba83b67ce5b"
>
<source>
联机
</source>
<target>
Network
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"5eadb60473a54773298ee679a4ce6a19d9c2f31c"
>
<source>
复制
</source>
<target>
Copy
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"95d5e106e679433bec012420b1ab9334c294bc7e"
>
<source>
选择服务器
</source>
<target>
Select Server
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"63346eb53d54138db02c1713ae58f73bb1b8786f"
>
<source>
新闻
</source>
<target>
News
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"b1c134df688af90e436e49f6d3e9f6960f9497c6"
>
<source>
了解更多
</source>
<target>
More Info
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3ebbe3f1c691ec3184ac8c7a5f360706501e6b50"
>
<source>
名称
</source>
<target>
Name
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d58ff4f339ad18d82b08fb0615ba8c1cf373a4a2"
>
<source>
操作
</source>
<target>
Action
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e090f6d9d8129a7b8b92387f05f37eb4b44c0b4e"
>
<source>
卸载
</source>
<target>
Uninstall
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8d0792a89fc399aafb40cc1228cb8c04a2056883"
>
<source>
本地文件
</source>
<target>
Local Files
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"628c76783ac32e6c8b2ea9134397b8cb82a82cd6"
>
<source>
浏览本地文件
</source>
<target>
Browse
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"6d582ed48c57c91fc7cf10f36f3869cd33808d1d"
>
<source>
校验完整性
</source>
<target>
Verify integrity
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4809edca33b1a07d7d6e8905287d3825e676f2c8"
>
<source>
安装
<x
id=
"INTERPOLATION"
/>
</source>
<target>
Install
<x
id=
"INTERPOLATION"
/>
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f8e60167c7a0871ccf40ed2a0750311411dfd665"
>
<source>
即将开始安装
<x
id=
"INTERPOLATION"
/>
</source>
<target>
Preparing Installation
<x
id=
"INTERPOLATION"
/>
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"63a6c9b023e9e9f8ddfba70b0e24931008fa2510"
>
<source>
安装位置
</source>
<target>
Path
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0b96c54bf810c6deb2c32253bf16b86d3c90da94"
>
<source>
快捷方式
</source>
<target>
Shortcuts
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8aa0a41ee6809b972d3904d96607ba5e6dc48fd9"
>
<source>
创建 LaunchPad 快捷方式
</source>
<target>
Create Launchpad Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"da32e99069864644f0419f67858d93815e029b02"
>
<source>
创建开始菜单快捷方式
</source>
<target>
Create Start Menu Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d8a2d9a9f8854ad118381e6e30a41dc1959a4f0b"
>
<source>
创建桌面快捷方式
</source>
<target>
Create Desktop Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2ba33dd61b1ac70666322680f248e5336b3ee69a"
>
<source>
依赖:
</source>
<target>
Dependencies
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"def237147323023c1f5ce0579345da19d4707fdb"
>
<source>
卡组
</source>
<target>
Deck
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a842d4536fdee499a55c753c50810254347ced32"
>
<source>
编辑
</source>
<target>
Edit
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"08254f4ac965519b9a0befb43fd82bd6fa72a7af"
>
<source>
删除
</source>
<target>
Delete
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a9f9a37033c904e50f9920798cf02b0f3ccd8270"
>
<source>
刷新
</source>
<target>
Refresh
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"86738bd5d32223ffbb690a7c71360ddf8e7b1b2e"
>
<source>
竞技匹配
</source>
<target>
Ranked Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"37869c115276c5df476f1f5aae75c099ffb35b59"
>
<source>
取消等待
</source>
<target>
Cancel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0bf938a69dc640aba46428d1cbbd2fef34c88daa"
>
<source>
娱乐匹配
</source>
<target>
Unranked Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"19923836b1ae79614782426a7a001d8ccfa27b5c"
>
<source>
创建房间
</source>
<target>
Custom Game
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c54a3c40a2766446dd03b0af75f64055aa404855"
>
<source>
房间列表
</source>
<target>
Game List
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3768b60a7e2625bb1fc2db37eb8c6b8e4bd99101"
>
<source>
单人模式
</source>
<target>
Single Mode
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1e64bb9c96dfc2b9cb03179dd0c9f992e0645e5f"
>
<source>
选择对手
</source>
<target>
Select Opponent
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f6f3be110e7043e3cfe71a7bd75b8b3be79bff5d"
>
<source>
取消
</source>
<target>
Cancel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e35d1bf7c735e8df55a62046cd2d9f820bf5bffd"
>
<source>
游戏标题
</source>
<target>
Title
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4b911deaa4defd0803635012281f3dd1112aabd1"
>
<source>
卡片允许
</source>
<target>
Rule
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"93d3b6bb4f3a66efd8c49f9063f6c8d6a9e959bf"
>
<source>
OCG
</source>
<target>
OCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"150cb34526cf737163beb63ab76e4809ac1367dd"
>
<source>
TCG
</source>
<target>
TCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"be6d109c359b1d11b261280915e6b1706ca3ed9b"
>
<source>
OCG
&
TCG
</source>
<target>
TCG/OCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2a3f48f9ea5e6aae92e249ac2b279dbc07a6127d"
>
<source>
专有卡禁止
</source>
<target>
Unspecified
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d62a2717a0381d996785271c61177711777ba63c"
>
<source>
决斗模式
</source>
<target>
Duel mode
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e436a4a0da03320dc61ba35bfab390ab85a23d0c"
>
<source>
单局模式
</source>
<target>
Single Duel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2cf71acc936cf244cc5862b28efe461e91cb137d"
>
<source>
比赛模式
</source>
<target>
Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c2ed31e132c305b995382adce0f95ccdabadaa21"
>
<source>
TAG
</source>
<target>
TAG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d4038dd5d0e9d5139d425fc7bea40e40d965cc5b"
>
<source>
额外选项
</source>
<target>
Additional Options
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"01cfbee3f1d69f5adae299b7b8c8d75034aef53b"
>
<source>
初始 LP
</source>
<target>
Starting LP
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0d72e50857f1d2504e08f7886d4c9d35a46e3ed9"
>
<source>
初始手牌数
</source>
<target>
Starting Hand
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"88cc5676c5322fd55c1df94ab487359100e6f9dd"
>
<source>
每回合抽卡
</source>
<target>
Draw per Turn
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e405d8c7feb2bed82f3f0667657fa4ab668ae015"
>
<source>
允许启动效果优先权
</source>
<target>
Effect priority during Summon
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"6e7470ddf4c35f6fab39b6ebeadb1780701a5469"
>
<source>
不检查卡组
</source>
<target>
Don't check
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0320acff078b039f2220bb385586cd2e24392bbb"
>
<source>
开局不洗卡组
</source>
<target>
Don't shuffle
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c17e9385db80e1881f37dda25d109b115a2843b3"
>
<source>
查看房间
</source>
<target>
View rooms
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f8ae23b4314929573cf0e815ccc12d70486dd74f"
>
<source>
创建
</source>
<target>
Create
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3872a823a98042e4730861ab6f9344239d9deeb6"
>
<source>
玩家
</source>
<target>
Player
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4baa1360b4d635000fc5e14a6e7376f46ace0bd9"
>
<source>
<x
id=
"INTERPOLATION"
/>
LP
</source>
<target>
<x
id=
"INTERPOLATION"
/>
LP
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1939517ea2b4ff337ce2847302fbcc6f1217d269"
>
<source>
<x
id=
"INTERPOLATION"
/>
初始
</source>
<target>
<x
id=
"INTERPOLATION"
/>
Starting
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a19d6d5a2c74d9df73936a17b5c71b2069051b49"
>
<source>
<x
id=
"INTERPOLATION"
/>
抽卡
</source>
<target>
<x
id=
"INTERPOLATION"
/>
Draw
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"be32d8fb22f36c3b2c1530e91f2ca07d108c8abe"
>
<source>
优先权
</source>
<target>
Priority
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"b5be173f96718dfa737f1da31d9ffab5b803561e"
>
<source>
不检查
</source>
<target>
Don't check
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"517c8b6e5361bc32d7458a1e8b2bdbf09abb6f01"
>
<source>
不洗卡
</source>
<target>
Don't shuffle
</target>
</trans-unit>
</body>
</file>
<?xml version="1.0" ?>
<xliff
version=
"1.2"
xmlns=
"urn:oasis:names:tc:xliff:document:1.2"
>
<file
datatype=
"plaintext"
original=
"ng2.template"
source-language=
"zh-CN"
target-language=
"en-US"
>
<body>
<trans-unit
datatype=
"html"
id=
"fbfb7c4354663a67786aa5aee748d1f38b8fe71c"
>
<source>
游戏
</source>
<target>
Library
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c4fc2b3584e7581cddb08bb1ebfa41e601195d5b"
>
<source>
社区
</source>
<target>
Community
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8422ff34db177236e8f54d415b07c972284c36bf"
>
<source>
切换账号
</source>
<target>
Change Account
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1761e51e36b01ae1e0012914bd58aa2a741d0401"
>
<source>
已安装
</source>
<target>
Installed
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"69f3fab778e92fcec3a8c38d53d771a36e6d5230"
>
<source>
推荐
</source>
<target>
Recommend
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"fc570ecca13755cb4a92e7513fbd55c2d412f23c"
>
<source>
迷之物体
</source>
<target>
Something
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0873cd6df2d1f1016e02526aa9ba32415c1a11d8"
>
<source>
东方 Project
</source>
<target>
Touhou Project
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"785db32107cc0b47564b05381a1d782021d77c67"
>
<source>
东方旧作
</source>
<target>
Touhou old series
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"817376261844eb7eb0c035ed0e3fce744a96b6d9"
>
<source>
已安装的运行库
</source>
<target>
Installed Runtime Library
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a8cae935472a05e1c8c9be436bb7b1bdea96a54a"
>
<source>
安装
</source>
<target>
Install
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e6194d8a9c8da57b667847cd80f1da563f2c2b1e"
>
<source>
导入
</source>
<target>
Import
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8bb533b37ee18bf8d09df19b4d7234b38f134909"
>
<source>
正在下载
</source>
<target>
Downloading...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2fe99d94b20d6f8aba7814d8657037ec9d69d36c"
>
<source>
正在安装...
</source>
<target>
Installing...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"bea72fe35b7b9933e126b6ee3a6828c307ccc3d4"
>
<source>
正在卸载...
</source>
<target>
UnInstalling...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e5ee7e692c816893b6fd2f9375e6d8303cd794cd"
>
<source>
等待安装...
</source>
<target>
Pending...
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d3852e0147360b29d0d6076e95dd1ad0098a60db"
>
<source>
运行
</source>
<target>
Start
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"67adbad4f646bb8e1c440522bafea8fe5f7e6bfd"
>
<source>
设置
</source>
<target>
Custom
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3d6cad40e26f99e39bc6f5925a890ba83b67ce5b"
>
<source>
联机
</source>
<target>
Network
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"5eadb60473a54773298ee679a4ce6a19d9c2f31c"
>
<source>
复制
</source>
<target>
Copy
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"95d5e106e679433bec012420b1ab9334c294bc7e"
>
<source>
选择服务器
</source>
<target>
Select Server
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"63346eb53d54138db02c1713ae58f73bb1b8786f"
>
<source>
新闻
</source>
<target>
News
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"b1c134df688af90e436e49f6d3e9f6960f9497c6"
>
<source>
了解更多
</source>
<target>
More Info
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3ebbe3f1c691ec3184ac8c7a5f360706501e6b50"
>
<source>
名称
</source>
<target>
Name
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d58ff4f339ad18d82b08fb0615ba8c1cf373a4a2"
>
<source>
操作
</source>
<target>
Action
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e090f6d9d8129a7b8b92387f05f37eb4b44c0b4e"
>
<source>
卸载
</source>
<target>
Uninstall
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8d0792a89fc399aafb40cc1228cb8c04a2056883"
>
<source>
本地文件
</source>
<target>
Local Files
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"628c76783ac32e6c8b2ea9134397b8cb82a82cd6"
>
<source>
浏览本地文件
</source>
<target>
Browse
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"6d582ed48c57c91fc7cf10f36f3869cd33808d1d"
>
<source>
校验完整性
</source>
<target>
Verify integrity
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4809edca33b1a07d7d6e8905287d3825e676f2c8"
>
<source>
安装
<x
id=
"INTERPOLATION"
/></source>
<target>
Install
<x
id=
"INTERPOLATION"
/></target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f8e60167c7a0871ccf40ed2a0750311411dfd665"
>
<source>
即将开始安装
<x
id=
"INTERPOLATION"
/></source>
<target>
Preparing Installation
<x
id=
"INTERPOLATION"
/></target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"63a6c9b023e9e9f8ddfba70b0e24931008fa2510"
>
<source>
安装位置
</source>
<target>
Path
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0b96c54bf810c6deb2c32253bf16b86d3c90da94"
>
<source>
快捷方式
</source>
<target>
Shortcuts
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"8aa0a41ee6809b972d3904d96607ba5e6dc48fd9"
>
<source>
创建 LaunchPad 快捷方式
</source>
<target>
Create Launchpad Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"da32e99069864644f0419f67858d93815e029b02"
>
<source>
创建开始菜单快捷方式
</source>
<target>
Create Start Menu Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d8a2d9a9f8854ad118381e6e30a41dc1959a4f0b"
>
<source>
创建桌面快捷方式
</source>
<target>
Create Desktop Shortcut
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2ba33dd61b1ac70666322680f248e5336b3ee69a"
>
<source>
依赖:
</source>
<target>
Dependencies
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f6f3be110e7043e3cfe71a7bd75b8b3be79bff5d"
>
<source>
取消
</source>
<target>
Cancel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"def237147323023c1f5ce0579345da19d4707fdb"
>
<source>
卡组
</source>
<target>
Deck
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a842d4536fdee499a55c753c50810254347ced32"
>
<source>
编辑
</source>
<target>
Edit
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"08254f4ac965519b9a0befb43fd82bd6fa72a7af"
>
<source>
删除
</source>
<target>
Delete
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a9f9a37033c904e50f9920798cf02b0f3ccd8270"
>
<source>
刷新
</source>
<target>
Refresh
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"86738bd5d32223ffbb690a7c71360ddf8e7b1b2e"
>
<source>
竞技匹配
</source>
<target>
Ranked Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"37869c115276c5df476f1f5aae75c099ffb35b59"
>
<source>
取消等待
</source>
<target>
Cancel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0bf938a69dc640aba46428d1cbbd2fef34c88daa"
>
<source>
娱乐匹配
</source>
<target>
Unranked Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"19923836b1ae79614782426a7a001d8ccfa27b5c"
>
<source>
创建房间
</source>
<target>
Custom Game
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c54a3c40a2766446dd03b0af75f64055aa404855"
>
<source>
房间列表
</source>
<target>
Game List
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3768b60a7e2625bb1fc2db37eb8c6b8e4bd99101"
>
<source>
单人模式
</source>
<target>
Single Mode
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1e64bb9c96dfc2b9cb03179dd0c9f992e0645e5f"
>
<source>
选择对手
</source>
<target>
Select Opponent
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e35d1bf7c735e8df55a62046cd2d9f820bf5bffd"
>
<source>
游戏标题
</source>
<target>
Title
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4b911deaa4defd0803635012281f3dd1112aabd1"
>
<source>
卡片允许
</source>
<target>
Rule
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"93d3b6bb4f3a66efd8c49f9063f6c8d6a9e959bf"
>
<source>
OCG
</source>
<target>
OCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"150cb34526cf737163beb63ab76e4809ac1367dd"
>
<source>
TCG
</source>
<target>
TCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"be6d109c359b1d11b261280915e6b1706ca3ed9b"
>
<source>
OCG
&
TCG
</source>
<target>
TCG/OCG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2a3f48f9ea5e6aae92e249ac2b279dbc07a6127d"
>
<source>
专有卡禁止
</source>
<target>
Unspecified
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d62a2717a0381d996785271c61177711777ba63c"
>
<source>
决斗模式
</source>
<target>
Duel mode
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e436a4a0da03320dc61ba35bfab390ab85a23d0c"
>
<source>
单局模式
</source>
<target>
Single Duel
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"2cf71acc936cf244cc5862b28efe461e91cb137d"
>
<source>
比赛模式
</source>
<target>
Match
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c2ed31e132c305b995382adce0f95ccdabadaa21"
>
<source>
TAG
</source>
<target>
TAG
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"d4038dd5d0e9d5139d425fc7bea40e40d965cc5b"
>
<source>
额外选项
</source>
<target>
Additional Options
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"01cfbee3f1d69f5adae299b7b8c8d75034aef53b"
>
<source>
初始 LP
</source>
<target>
Starting LP
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0d72e50857f1d2504e08f7886d4c9d35a46e3ed9"
>
<source>
初始手牌数
</source>
<target>
Starting Hand
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"88cc5676c5322fd55c1df94ab487359100e6f9dd"
>
<source>
每回合抽卡
</source>
<target>
Draw per Turn
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"e405d8c7feb2bed82f3f0667657fa4ab668ae015"
>
<source>
允许启动效果优先权
</source>
<target>
Ignition Priority
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"6e7470ddf4c35f6fab39b6ebeadb1780701a5469"
>
<source>
不检查卡组
</source>
<target>
Don't check
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"0320acff078b039f2220bb385586cd2e24392bbb"
>
<source>
开局不洗卡组
</source>
<target>
Don't shuffle
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"c17e9385db80e1881f37dda25d109b115a2843b3"
>
<source>
查看房间
</source>
<target>
View rooms
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"f8ae23b4314929573cf0e815ccc12d70486dd74f"
>
<source>
创建
</source>
<target>
Create
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"3872a823a98042e4730861ab6f9344239d9deeb6"
>
<source>
玩家
</source>
<target>
Player
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"4baa1360b4d635000fc5e14a6e7376f46ace0bd9"
>
<source><x
id=
"INTERPOLATION"
/>
LP
</source>
<target><x
id=
"INTERPOLATION"
/>
LP
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"1939517ea2b4ff337ce2847302fbcc6f1217d269"
>
<source><x
id=
"INTERPOLATION"
/>
初始
</source>
<target><x
id=
"INTERPOLATION"
/>
Starting
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"a19d6d5a2c74d9df73936a17b5c71b2069051b49"
>
<source><x
id=
"INTERPOLATION"
/>
抽卡
</source>
<target><x
id=
"INTERPOLATION"
/>
Draw
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"be32d8fb22f36c3b2c1530e91f2ca07d108c8abe"
>
<source>
优先权
</source>
<target>
Priority
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"b5be173f96718dfa737f1da31d9ffab5b803561e"
>
<source>
不检查
</source>
<target>
Don't check
</target>
</trans-unit>
<trans-unit
datatype=
"html"
id=
"517c8b6e5361bc32d7458a1e8b2bdbf09abb6f01"
>
<source>
不洗卡
</source>
<target>
Don't shuffle
</target>
</trans-unit>
</body>
</file>
</xliff>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment