This commit is contained in:
SheetJS 2022-05-27 10:08:53 -04:00
parent 630ce0f116
commit 2f357d9e48
5 changed files with 576 additions and 0 deletions

View File

@ -10,6 +10,7 @@ Various spreadsheet file format notes.
- [SpreadsheetML2003](/xlml/README.md)
- [LibreOffice Bugs](/lobugs/README.md)
- [Numbers 3+ (iWork 2013+)](/iwa/README.md)
- [Formula Localization](/fmla/README.md)
Project sponsored by [SheetJS](https://sheetjs.com)

52
fmla/README.md Normal file
View File

@ -0,0 +1,52 @@
# Formula Localization
Excel localizes function names in the user interface but stores the `en-US` form
in XLSX and XLSM files.
## JSON Database
[./table.json](./table.json) is a large JSON object. Each key is a locale id
and each value is an array of names. The arrays are in the same order.
Generating translations is straightforward:
```js
// assuming `data` is the data
> var idx = data.en.indexOf("ECMA.CEILING");
> Object.entries(data).map(([x,y]) => [x,y[idx]]);
[
[ 'ar', 'ECMA.CEILING' ],
[ 'cs', 'ECMA.CEILING' ],
[ 'da', 'ECMA.LOFT' ],
[ 'de', 'ECMA.OBERGRENZE' ],
[ 'el', 'ECMA.CEILING' ],
[ 'en', 'ECMA.CEILING' ],
[ 'en_GB', 'ECMA.CEILING' ],
[ 'es', 'MULTIPLO.SUPERIOR.ECMA' ],
[ 'es_MX', 'MULTIPLO.SUPERIOR.ECMA' ],
[ 'fi', 'ECMA.PYÖRISTÄ.KERR.YLÖS' ],
[ 'fr', 'ECMA.PLAFOND' ],
[ 'fr_CA', 'ECMA.PLAFOND' ],
[ 'he', 'ECMA.CEILING' ],
[ 'hu', 'ECMA.PLAFON' ],
[ 'id', 'ECMA.CEILING' ],
[ 'it', 'ECMA.ARROTONDA.ECCESSO' ],
[ 'ja', 'ECMA.CEILING' ],
[ 'ko', 'ECMA.CEILING' ],
[ 'nl', 'ECMA.AFRONDEN.BOVEN' ],
[ 'no', 'ECMA.AVRUND.GJELDENDE.MULTIPLUM' ],
[ 'pl', 'ECMA.ZAOKR.W.GÓRĘ' ],
[ 'pt', 'ECMA.TETO' ],
[ 'pt_PT', 'ARRED.EXCESSO.ECMA' ],
[ 'ru', 'ECMA.ОКРВВЕРХ' ],
[ 'sk', 'ECMA.CEILING' ],
[ 'sv', 'ECMA.RUNDA.UPP' ],
[ 'th', 'ECMA.CEILING' ],
[ 'tr', 'ECMA.TAVAN' ],
[ 'zh_CN', 'ECMA.CEILING' ],
[ 'zh_TW', 'ECMA.CEILING' ]
]
```
[![Analytics](https://ga-beacon.appspot.com/UA-36810333-1/SheetJS/notes?pixel)](https://github.com/SheetJS/notes)

492
fmla/fmla.lst Normal file
View File

@ -0,0 +1,492 @@
ABS
ACCRINT
ACCRINTM
ACOS
ACOSH
ACOT
ACOTH
ADDRESS
AGGREGATE
AMORDEGRC
AMORLINC
AND
ARABIC
AREAS
ARRAYTOTEXT
ASC
ASIN
ASINH
ATAN
ATAN2
ATANH
AVEDEV
AVERAGE
AVERAGEA
AVERAGEIF
AVERAGEIFS
BAHTTEXT
BASE
BESSELI
BESSELJ
BESSELK
BESSELY
BETA.DIST
BETA.INV
BETADIST
BETAINV
BIN2DEC
BIN2HEX
BIN2OCT
BINOM.DIST
BINOM.DIST.RANGE
BINOM.INV
BINOMDIST
BITAND
BITLSHIFT
BITOR
BITRSHIFT
BITXOR
BYCOL
BYROW
CALL
CEILING
CEILING.MATH
CEILING.PRECISE
CELL
CHAR
CHIDIST
CHIINV
CHISQ.DIST
CHISQ.DIST.RT
CHISQ.INV
CHISQ.INV.RT
CHISQ.TEST
CHITEST
CHOOSE
CLEAN
CODE
COLUMN
COLUMNS
COMBIN
COMBINA
COMPLEX
CONCAT
CONCATENATE
CONFIDENCE
CONFIDENCE.NORM
CONFIDENCE.T
CONVERT
CORREL
COS
COSH
COT
COTH
COUNT
COUNTA
COUNTBLANK
COUNTIF
COUNTIFS
COUPDAYBS
COUPDAYS
COUPDAYSNC
COUPNCD
COUPNUM
COUPPCD
COVAR
COVARIANCE.P
COVARIANCE.S
CRITBINOM
CSC
CSCH
CUBEKPIMEMBER
CUBEMEMBER
CUBEMEMBERPROPERTY
CUBERANKEDMEMBER
CUBESET
CUBESETCOUNT
CUBEVALUE
CUMIPMT
CUMPRINC
DATE
DATEDIF
DATEVALUE
DAVERAGE
DAY
DAYS
DAYS360
DB
DBCS
DCOUNT
DCOUNTA
DDB
DEC2BIN
DEC2HEX
DEC2OCT
DECIMAL
DEGREES
DELTA
DEVSQ
DGET
DISC
DMAX
DMIN
DOLLAR
DOLLARDE
DOLLARFR
DPRODUCT
DSTDEV
DSTDEVP
DSUM
DURATION
DVAR
DVARP
ECMA.CEILING
EDATE
EFFECT
ENCODEURL
EOMONTH
ERF
ERF.PRECISE
ERFC
ERFC.PRECISE
ERROR.TYPE
EUROCONVERT
EVEN
EXACT
EXP
EXPON.DIST
EXPONDIST
F.DIST
F.DIST.RT
F.INV
F.INV.RT
F.TEST
FACT
FACTDOUBLE
FALSE
FDIST
FIELDVALUE
FILTER
FILTERXML
FIND
FINV
FISHER
FISHERINV
FIXED
FLOOR
FLOOR.MATH
FLOOR.PRECISE
FORECAST
FORECAST.ETS
FORECAST.ETS.CONFINT
FORECAST.ETS.SEASONALITY
FORECAST.ETS.STAT
FORECAST.LINEAR
FORMULATEXT
FREQUENCY
FTEST
FV
FVSCHEDULE
GAMMA
GAMMA.DIST
GAMMA.INV
GAMMADIST
GAMMAINV
GAMMALN
GAMMALN.PRECISE
GAUSS
GCD
GEOMEAN
GESTEP
GETPIVOTDATA
GROWTH
HARMEAN
HEX2BIN
HEX2DEC
HEX2OCT
HLOOKUP
HOUR
HYPERLINK
HYPGEOM.DIST
HYPGEOMDIST
IF
IFERROR
IFNA
IFS
IMABS
IMAGINARY
IMARGUMENT
IMCONJUGATE
IMCOS
IMCOSH
IMCOT
IMCSC
IMCSCH
IMDIV
IMEXP
IMLN
IMLOG10
IMLOG2
IMPOWER
IMPRODUCT
IMREAL
IMSEC
IMSECH
IMSIN
IMSINH
IMSQRT
IMSUB
IMSUM
IMTAN
INDEX
INDIRECT
INFO
INT
INTERCEPT
INTRATE
IPMT
IRR
ISBLANK
ISERR
ISERROR
ISEVEN
ISFORMULA
ISLOGICAL
ISNA
ISNONTEXT
ISNUMBER
ISO.CEILING
ISODD
ISOMITTED
ISOWEEKNUM
ISPMT
ISREF
ISTEXT
JIS
KURT
LAMBDA
LARGE
LCM
LEFT
LEN
LET
LINEST
LN
LOG
LOG10
LOGEST
LOGINV
LOGNORM.DIST
LOGNORM.INV
LOGNORMDIST
LOOKUP
LOWER
MAKEARRAY
MAP
MATCH
MAX
MAXA
MAXIFS
MDETERM
MDURATION
MEDIAN
MID
MIN
MINA
MINIFS
MINUTE
MINVERSE
MIRR
MMULT
MOD
MODE
MODE.MULT
MODE.SNGL
MONTH
MROUND
MULTINOMIAL
MUNIT
N
NA
NEGBINOM.DIST
NEGBINOMDIST
NETWORKDAYS
NETWORKDAYS.INTL
NOMINAL
NORM.DIST
NORM.INV
NORM.S.DIST
NORM.S.INV
NORMDIST
NORMINV
NORMSDIST
NORMSINV
NOT
NOW
NPER
NPV
NUMBERVALUE
OCT2BIN
OCT2DEC
OCT2HEX
ODD
ODDFPRICE
ODDFYIELD
ODDLPRICE
ODDLYIELD
OFFSET
OR
PDURATION
PEARSON
PERCENTILE
PERCENTILE.EXC
PERCENTILE.INC
PERCENTRANK
PERCENTRANK.EXC
PERCENTRANK.INC
PERMUT
PERMUTATIONA
PHI
PHONETIC
PI
PMT
POISSON
POISSON.DIST
POWER
PPMT
PRICE
PRICEDISC
PRICEMAT
PROB
PRODUCT
PROPER
PV
QUARTILE
QUARTILE.EXC
QUARTILE.INC
QUOTIENT
RADIANS
RAND
RANDARRAY
RANDBETWEEN
RANK
RANK.AVG
RANK.EQ
RATE
RECEIVED
REDUCE
REGISTER.ID
REPLACE
REPT
RIGHT
ROMAN
ROUND
ROUNDDOWN
ROUNDUP
ROW
ROWS
RRI
RSQ
RTD
SCAN
SEARCH
SEC
SECH
SECOND
SEQUENCE
SERIESSUM
SHEET
SHEETS
SIGN
SIN
SINH
SKEW
SKEW.P
SLN
SLOPE
SMALL
SORT
SORTBY
SQRT
SQRTPI
STANDARDIZE
STDEV
STDEV.P
STDEV.S
STDEVA
STDEVP
STDEVPA
STEYX
STOCKHISTORY
SUBSTITUTE
SUBTOTAL
SUM
SUMIF
SUMIFS
SUMPRODUCT
SUMSQ
SUMX2MY2
SUMX2PY2
SUMXMY2
SWITCH
SYD
T
T.DIST
T.DIST.2T
T.DIST.RT
T.INV
T.INV.2T
T.TEST
TAN
TANH
TBILLEQ
TBILLPRICE
TBILLYIELD
TDIST
TEXT
TEXTJOIN
TIME
TIMEVALUE
TINV
TODAY
TRANSPOSE
TREND
TRIM
TRIMMEAN
TRUE
TRUNC
TTEST
TYPE
UNICHAR
UNICODE
UNIQUE
UPPER
VALUE
VALUETOTEXT
VAR
VAR.P
VAR.S
VARA
VARP
VARPA
VDB
VLOOKUP
WEBSERVICE
WEEKDAY
WEEKNUM
WEIBULL
WEIBULL.DIST
WORKDAY
WORKDAY.INTL
XIRR
XLOOKUP
XMATCH
XNPV
XOR
YEAR
YEARFRAC
YIELD
YIELDDISC
YIELDMAT
Z.TEST
ZTEST

30
fmla/locales.lst Normal file
View File

@ -0,0 +1,30 @@
ar
cs
da
de
el
en
en_GB
es
es_MX
fi
fr
fr_CA
he
hu
id
it
ja
ko
nl
no
pl
pt
pt_PT
ru
sk
sv
th
tr
zh_CN
zh_TW

1
fmla/table.json Normal file

File diff suppressed because one or more lines are too long