1. 國際結算的方式和工具主要有哪些
就現在國際形式一般而言,絕大部分進出口商結算都是通過匯款結算、托收結算和信用證結算(當然還有國際保理和福費廷等等,但是用的范圍較小)。
①匯款結算方式
此種方式風險較大,結算的基礎是商業信用,局限性大。一般適用於同一個總部的分公司或子公司之間的貨款結算,或是形成了長期良好信用合作關系的進口商和出口商之間。雖然手續最簡單,銀行手續費最少,但資金負擔不平衡。資金負擔完全由某一方承擔,在貨到付款的情況下是出口商,在預付貨款的情況下則是進口商。結算過程中,雙方均無法獲得貿易融資。
②托收結算方式
托收也是基於商業信用的結算方式。採用托收方式結算利於出口商節約費用,控製成本,但無法控制進口商因破產或倒閉而無力支付貨款的風險;或者是貨物發運後進口地貨價下跌,進口商不願承兌或付款交單,就可能借口貨物規格不符合要求或包裝不良,要求降價;而且在拉美地區習慣上把遠期付款交單按承兌交單方式對待,即進口商承兌遠期匯票後,就立即交單給進口商,出口商很可能面臨財貨兩空的風險。
對於進口商而言雖然可能面臨付款或承兌後憑提單提取的貨物與合同不符或者貨物為次貨假貨等,但在出口商備貨和裝運階段,進口商不必預付貨款、占壓資金,支付貨款後可立即取得單據並處置貨物,獲得短期資金融通。
因此,托收是一種有利於進口商而不利於出口商的結算方式。
③信用證結算方式
此方式是由銀行在一定條件下承擔確定的付款責任,因為銀行的介入有效地解決了賣房擔心不能及時收回貨款和買方不願意預支貨款的矛盾,增加了出口商和進口商的交易安全性,收到了極大的歡迎並隨之有了長足的發展。因此,一般初次交易的雙方或者交易額較大的情況下,進出口商願意選擇信用證方式。
但是近些年來,由於信用證手續復雜,費用較高以及單證不符點無法避免等諸多原因,導致其在全球使用比例下降。以我國為例,出口信用證使用的平均比例僅為三成左右,但進口信用證比例遠高於出口信用證,而且我國每年使用信用證涉及的結算金額是所有結算方式中最高的。
2. 國外有什麼有名的社交軟體
1.嘎嘎,是一款基於國際翻譯的社交移動應用軟體,也是GaGaHi國際交友平台的手機應用軟體。8種語言9種文字讓你與世界每一個人無語言障礙的暢聊,通過嘎嘎讓你結識全球每一個朋友,實時多語言翻譯讓你們彼此走進對方的心靈世界。
2.Twitter(非官方中文慣稱:推特 )是一家美國社交網路(Social Network Service)及微博客服務的網站,是全球互聯網上訪問量最大的十個網站之一。是微博客的典型應用。它可以讓用戶更新不超過140個字元的消息,這些消息也被稱作「推文(Tweet)」。
3.騰訊QQ(簡稱「QQ」)是騰訊公司開發的一款基於互聯網的即時通信(IM)軟體。騰訊QQ支持在線聊天、視頻通話、點對點斷點續傳文件、共享文件、網路硬碟、自定義面板、QQ郵箱等多種功能,並可與多種通訊終端相連。
3. 軟體國際化的dot Net中軟體國際化常用的方法
1. 語言INI配置文件
最常用的一種, 為每種語言單獨配置一個文件,修改語言包時不需要重新編譯軟體。
2. Resource 文件
內容存在於Resource資源文件中, 切換語言時須再次全部獲取一次,修改語言包的時候, 需要重新編譯軟體。
4. 如何使用qt的國際化,本地化支持 步驟
國際化是指在代碼設計上加入能方便的移植到其他國家和地區的特性。而本地化是指將具有國際化支持的代碼翻譯成本國或地區的語言,是本地用戶更容易使用。 I18n是Internationalization的簡寫,l10n是Localization的簡寫。
在Qt中創建可以國際化的代碼
最常見的是將要翻譯的字元串加上tr語句,tr語句的標准語法是:
Context::tr(sourceText,comment), 比如 QString str2 = QTextEdit::'''tr'''(「Letter」,」paper size」);
Context(上下文)和comment(注釋)是可以省略的,它們的意思分別是 Context:用於指明該翻譯文字所在的上下文,一般為類名。因為同樣的一個字串在不同的環境中翻譯出來是不一樣的,比如都是死,皇帝是崩,普通老百姓就是死翹。 comment: 用於指明要翻譯文字的一個注釋。因為作翻譯的可能並不是寫代碼的人。比如spring既有彈簧的意思,又有春天的意思。designer裡面選組建的時候,有一個blue spring(藍色的彈簧)是用於addStretch()的,如果沒加說明,有可能被翻譯成藍色的春天。
在寫代碼的時候,我們可能希望把所有的字元串都放在一個地方,而方便於我們自己集中作改動。真正用到的時候,用一個字元常量指針去訪問。那麼我們可能想到這樣寫代碼
// Wrong,這種實現Qt不認識,無法作翻譯
const char *appName=「OpenDrawer 2D」;
QString translated=tr(appName);
//ok, 需要使用QT_TR_NOOP字串來提醒Qt系統該翻譯的字串
const char *appName=QT_TR_NOOP(「OpenDrawer 2D」);
QString translated=tr(appName);
QT_TR_NOOP的語法是QT_TR_NOOP(sourceText),它還有兩個變體,語法如下
QT_TRANSLATE_NOOP ( context, sourceText )
QT_TRANSLATE_NOOP3 ( context, sourceText, comment )
對應介紹的context和comment,其意思應該不難理解
還有一種情況是在一個字串中有一部分來源於變數。那我們看看兩種正誤的寫法
// wrong 這種寫法無法被正確識別
statusBar()->showMessage('''tr'''(「Host 」 + hostName+「 found」);
//ok 利用了QString的arg()函數。在翻譯時,需保留%1
statusBar()->showMessage('''tr'''(「Host %1 found」).arg(hostName)
在書寫了含可翻譯語句的程序後,我們來看看如何生成翻譯文件
生成翻譯文件
首先要修改.pro工程文件,比如在app.pro里加入
TRANSLATIONS+=app_en.ts app_zh_CN.ts app_zh_TW.ts #後面你可以加你想要翻譯的各種版本
CONFIG += localize_deployment
SYMBIAN_SUPPORTED_LANGUAGES += zh_CN
SYMBIAN_LANG.zh_CN = 31
註:其中SYMBIAN_SUPPORTED_LANGUAGES ,SYMBIAN_LANG.zh_CN 兩行是localize_deployment.prf 中缺少的兩行,簡體中文qs 文件只使用語言代號zh時 與系統解析的" 語言_區域"區域格式不符,請先這樣設置。
然後在shell, 里執行如下語句( 在Qt SDK 中請打開Qt for Desktop的命令行,目前lupdate 命令沒有為Qt for symbian生成的版本)
$ lupdate app.pro
$ linguist app_zh_CN.ts
$linguist app_zh_TW.ts
$ lrelease *.ts
$ lupdate app.pro #會根據.pro里指示的內容,生成app_zh_CN.ts和app_zh_TW.ts $ linguist app_zh_CN.ts 翻譯其中一個文件,linguist是一個圖形化的工具, $linguist app_zh_TW.ts 翻譯另一個, $ lrelease *.ts 將.ts文本文件轉換成.qm二進制文件,會生成app_zh_CN.qm和app_zh_TW.qm,方便應用載入
.ts 是Text String的縮寫;.qm是Qt Message的縮寫所以翻譯文件生成的流程就是 .cpp —> .ts —>.qm lupdate是負責找出qt源代碼中需要翻譯的字元串的。會搜tr/QT_TR_NOOP/QT_TRANSLATE_NOOP /QT_TRANSLATE_NOOP3等語句 linguist是手動翻譯.ts文件的一個工具,真正加入本地語言是在這一步 lrelease是將.ts轉換成.qm的一個工具。需要提醒一下的,lupdate生成的.ts文件不會覆蓋掉已經翻譯過的.ts文件,只會更新其中的內容。所以其名字為languange update
有了翻譯文件,我們看看系統是怎麼載入翻譯文件的。
載入翻譯文件
一個例子,很簡單的說明問題
QTranslator qt_translator;
QTranslator app_translator;
if( usersettings.language == SimpleChinese ) {
// Qt』s own translations
qt_translator.load("qt_zh");
qApp->installTranslator( &qt_translator );
// application translation
app_translator.load("myprogram_zh");
qApp->installTranslator( &app_translator );
}
這里,我們看到有兩個翻譯載入器,其中一個是載入應用程序的翻譯文件,也就是我們在第二個步驟中生成的文件。另外一個是Qt系統的翻譯文件,比如 Qt的版權信息,designer的一些菜單等,名字叫qt_後帶一個語言版本。
有時候我們在系統啟動的時候,就需要判斷本地的語言,然後載入不同的翻譯文件,那麼代碼就是如下結構
QString locale = QLocale::system().name();
QTranslator translator;
translator.load(QString("trollprint_") + locale);
app.installTranslator(&translator);
在pro文件中部署qm文件,使得在symbian系統下能方便的檢索到qm文件,而不用再load方法中設置路徑
symbian: {
addFiles.sources = helloworld_en.ts helloworld_zh_CN.qm helloworld_zh_TW.qm helloworld_zh_HK.qm
addFiles.path = .
DEPLOYMENT += addFiles
}
本地設置的語言,和我們的.qm前面部分並不完全一樣,有一個.qm查詢的過程,假如本地字語言名字是fr_CA.ISO8859-15,載入程序會按照 trollprint_fr_CA.ISO8859-15.qm,trollprint_fr_CA.qm,trollprint_fr.qm順序來載入,如果以上都沒有,將使用默認的語言
一個極其簡單的例子 //main.cpp
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTranslator translator;
translator.load("hellotr_zh");
app.installTranslator(&translator);
QPushButton hello(QPushButton::tr("Hello world!"));
hello.resize(100, 30);
hello.show();
return app.exec();
}
本地化中文常式:File:HelloWorld.zip, 語言代碼可以在ISO 639-1 codes中找到(two-letter ISO 639 language code)。
遠程編譯
遠程編譯需要在pro文件中如下聲明ts qm,否則遠程編譯器找不到 ts和 qm 文件
OTHER_FILES += helloworld_en.ts helloworld_zh_CN.ts helloworld_en.qm helloworld_zh_CN.qm
參見Remote Compiler troubleshooting
相關文檔
Internationalization with Qt
5. 有哪些聊天軟體是國際化的
主要有MSN、ICQ、AIM、Paltalk、Skype。還有一些用的少的,像雅虎通
QQ也可以說是國際通用的,只要在國外下載QQ程序安裝,一樣可以和國內聊天。
6. 外國人都不用微信,QQ,現在用的是什麼
國外的即時聊天工具還是很多的國內其實都是抄別人的,以前有Microsoft的MSN是即時通訊軟體,Skype,ins,和其他的社交平台Facebook,推特等
7. 國際貿易中經常使用的即時通訊工具有哪些
最常用的: Skype,whatsapp
其他還有:viber,line, kakaotalk, wechat, facebook, twitter
8. 大陸能用的國際交友軟體有什麼
1、Skout
SkouT,基於地理位置的社交網,是一款LBS類社交網站,同時也是一款用於「交友與調情」的移動社交軟體,是移動社交的先行者之一。用戶可以在這里發布照片、Flirts Buzz(相當於微博)、免費聊天。
2、LinkedIn
LinkedIn(領英),全球職場社交平台,是一家面向商業客戶的社交網路(SNS),成立於2002年12月並於2003年啟動,於2011年5月20日在美上市,總部位於美國加利福尼亞州山景城。網站的目的是讓注冊用戶維護他們在商業交往中認識並信任的聯系人,俗稱「人脈」。用戶可以邀請他認識的人成為「關系」(Connections)圈的人。
3、Sweetalk
Sweetalk(甜言蜜語)是一款是提供多語言即時翻譯的全球化社交APP。在全球180多個國家和地區建立了伺服器並實現在線互聯,無需VPN鏈接,同時支持Facebook、WeChat和QQ登錄。在聊天中,發送的文字會即時翻譯成他國語言,也可以選擇將語音同聲翻譯成外文發送給對方,隨時隨地和身邊或世界各地的外國人聊天,跨越語言障礙,讓溝通變得更方便。
4、tumblr
Tumblr(/ˈtʌmblər/,中文名:湯博樂)成立於2007年,是目前全球最大的輕博客網站,也是輕博客網站的始祖。Tumblr(湯博樂)是一種介於傳統博客和微博之間的全新媒體形態,既注重表達,又注重社交,而且注重個性化設置,成為當前最受年輕人歡迎的社交網站之一。雅虎公司董事會2013年5月19日決定,以11億美元收購Tumblr。
5、pinterest
Pinterest採用的是瀑布流的形式展現圖片內容,無需用戶翻頁,新的圖片不斷自動載入在頁面底端,讓用戶不斷的發現新的圖片。
Pinterest堪稱圖片版的Twitter,網民可以將感興趣的圖片在Pinterest保存,其他網友可以關注,也可以轉發圖片。索尼等許多公司也在Pinterest建立了主頁,用圖片營銷旗下的產品和服務。
有多家機構稱,在移動互聯網時代,網民在移動設備上更喜歡觀看圖片,Pinterest、Snapchat、Instagram等圖片社交平台受到用戶熱捧,目前市場估值也明顯高於其他「文本」社交網路。
9. 請問現在國際化的聊天工具有哪些(國際化)
msn
10. Java中如何實現程序國際化
1 Java國際化的思路
Java程序的國際化的思路是將程序中的標簽、提示等信息放在資源文件中,程序需要支持哪些國家、語言環境,就對應提供相應的資源文件。資源文件是key-value對,每個資源文件中的key是不變的,但value則隨不同國家、語言改變。
Java程序的國際化主要通過如下三個類完成:
Ø java.util.ResourceBundle:用於載入一個國家、語言資源包。
Ø java.util.Locale:用於封裝一個特定的國家/區域、語言環境。
Ø java.text.MessageFormat:用於格式化帶佔位符的字元串。
為了實現程序的國際化,必須先提供程序所需要的資源文件。資源文件的內容是很多key-value對。其中key是程序使用的部分,而value則是程序界面的顯示字元串。
資源文件的命名可以有如下三種形式:
Ø baseName _ language _country.properties
Ø baseName _language.properties
Ø baseName.properties
其中baseName是資源文件的基本名,用戶可以自由定義。而language和country都不可隨意變化,必須是Java所支持的語言和國家。
2 Java支持的語言和國家
事實上,Java不可能支持所有國家和語言,如需要獲取Java所支持的語言和國家,可調用Locale類的getAvailableLocale方法獲取,該方法返回一個Locale數組,該數組里包含了Java所支持的語言和國家。
下面的程序簡單地示範了如何獲取Java所支持的國家和語言:
public class LocaleList
{
public static void main(String[] args)
{
//返回Java所支持的全部國家和語言的數組
Locale[] localeList = Locale.getAvailableLocales();
//遍歷數組的每個元素,依次獲取所支持的國家和語言
for (int i = 0; i < localeList.length ; i++ )
{
//列印出所支持的國家和語言
System.out.println(localeList[i].getDisplayCountry() + "=" + locale
List[i].getCountry()+ " " + localeList[i].getDisplayLanguage()
+ "=" + localeList[i].getLanguage());
}
}
}
通過該程序,我們就可以獲得Java程序所支持的國家/語言環境。
3 完成程序國際化
對於如下最簡單的程序:
public class RawHello
{
public static void main(String[] args)
{
System.out.println("Hello World");
}
}
這個程序的執行結果也很簡單:肯定是列印出簡單的「Hello World」字元串,不管在哪裡執行都不會有任何改變!為了讓該程序支持國際化,則肯定不能讓程序直接輸出「Hello World」的字元串,這種寫法直接輸出一個字元串常量,永遠不會有任何改變。為了讓程序可以輸出不同的字元串,此處絕不可使用該字元串常量。
為了讓上面輸出的字元串常量可以改變,我們將需要輸出的各種字元串(不同國家/語言環境對應不同的字元串)定義在資源包中。
我們為上面程序提供如下兩個文件:
第一個文件:mess_zh_CN.properties,該文件的內容為:
#資源文件的內容是key-value對。
hello=你好!
第二個文件:mess_en_US.properties,該文件的內容為:
#資源文件的內容是key-value對。
hello=Welcome You!
對於包含非西歐字元的資源文件,Java提供了一個工具來處理該文件:native2ascii,這個工具可以在%JAVA_HOME%/bin路徑下找到。使用該工具的語法格式如下:
native2ascii 源資源文件 目的資源文件
如果我們在命令窗口輸入如下指令:
#使用native2ascii命令處理mess_zh_CN.properties文件,生成aa.properties文件
native2ascii mess_zh_CN.properties aa.properties
上面的命令將生成一個aa.properties文件,該文件才是我們需要的資源文件,該文件看上去包含很多亂碼,其實是非西歐字元的UNICODE編碼方式,這完全正常。將該文件重命名為mess_zh_CN.properties即可。
我們看到這兩份文件文件名的baseName是相同的:mess。前面已經介紹了資源文件的三種命名方式,其中baseName後面的國家、語言必須是Java所支持的國家、語言組合。
將上面的Java程序修改成如下形式:
public class Hello
{
public static void main(String[] args)
{
//取得系統默認的國家/語言環境
Locale myLocale = Locale.getDefault();
//根據指定國家/語言環境載入資源文件
ResourceBundle bundle = ResourceBundle.getBundle("mess" , myLocale);
//列印從資源文件中取得的消息
System.out.println(bundle.getString("hello"));
}
}
上面程序中的列印語句不再是直接列印「Hello World」字元串,而是列印了從資源包中讀取的信息。如果在中文環境下運行該程序,將列印「你好!」;如果我們在「控制面板」將機器的語言環境設置成美國,然後再次運行該程序,將列印「Welcome You!」字元串。
通過上面的簡單程序,我們可以體會到Java程序的國際化是多麼簡單!
從上面程序可以看出:如果我們希望程序完成國際化,只需要將不同國家/語言(Locale)的提示信息分別以不同文件存放。例如簡體中文的語言資源文件就是Xxx_zh_CN.properties文件,而美國英語的語言資源文件就是Xxx_en_US.properties文件。
Java程序國際化的關鍵類是ResourceBundle,它有一個靜態方法:getBundle(String baseName , Locale locale);該方法將根據Locale載入資源文件,而Locale封裝了一個國家、語言,例如簡體中文的環境可以用簡體中文的Locale代表,美國英語的環境可以用美國英語的Locale代表。
從上面資源文件的命名中可以看出,不同語言、國家環境的資源文件的baseName是相同的,即baseName為mess的資源文件有很多個,不同國家、語言環境對應不同的資源文件。
例如通過如下代碼來載入資源文件:
//根據指定國家/語言環境載入資源文件
ResourceBundle bundle = ResourceBundle.getBundle("mess" , myLocale);
上面代碼將會載入baseName為mess的系列資源文件的其中之一,到底載入其中的哪個,則取決於myLocale,對於簡體中文的Locale,則載入mess_zh_CN.properties文件。
一旦載入了該文件後,該資源文件的內容就是多個key-value對,程序就根據key來獲取指定信息,例如獲取key為hello的消息,該消息是「你好!」——這就是Java程序國際化的過程。
如果對於美國英語的Locale,則載入mess_en_US.properties,該文件中的key為hello的消息是「Welcome You!」。
Java程序國際化的關鍵類是ResourceBundle和Locale,ResourceBundle來根據不同Loacle載入語言資源文件,再根據指定key取得已載入語言資源文件中的字元串即可。